草庐IT

紫光同创FPGA

全部标签

【FPGA/IC】RAM-Based Shift Register Xilinx IP核的使用

前言一般来讲,如果要实现移位寄存器的话,通常都是写RTL用reg来构造,比如1bit变量移位一个时钟周期就用1个reg,也就是一个寄存器FF资源,而移位16个时钟周期就需要16个FF,这种方法无疑非常浪费资源。XilinxFPGA的SLICEM中的一个查找表LUT可以配置为最多移位32个时钟周期的移位寄存器,这比直接用FF来搭省了31个FF资源。这种方法可以通过调用原语SRL16E(最多16个周期)和SRLC32E(最多32个周期)来实现。SRL16E#(.INIT(16'h0000),//Initialcontentsofshiftregister.IS_CLK_INVERTED(1'b0)

基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench

目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述4.1ECG信号的特点与噪声4.2FPGA在ECG信号处理中的应用4.3ECG信号滤波原理4.4心率计算原理4.5FPGA在ECG信号处理中的优势5.算法完整程序工程1.算法运行效果图预览其RTL结构如下:2.算法运行软件版本vivado2019.23.部分核心程序...................................................................//调用心率数据ECG_dataECG_data_u(.i_clk(i_clk),.i_rst(i_rst),.o_dat

HDL & FPGA 学习 - Avlon 总线,从端口传输、主端口传输,单周期、可变周期传输

目录1.1Avlon总线定制外设IP核的框架从端口传输从端口信号类型从端口传输模式列举基本单周期读写传输固定等待周期的读写传输可变等待周期的读写传输(推荐)具有建立时间和保持时间读写传输主端口传输主端口信号类型主端口传输模式列举与参数说明主端口单/可变周期的读传输主端口单/可变周期的写传输其它Avalon传输模式编辑整理by Staok,始于2021.2且无终稿。转载请注明作者及出处。整理不易,请多支持。本文件是“瞰百易”计划的一部分,尽量遵循“二项玻”定则,致力于与网络上碎片化严重的现象泾渭分明!本文系广泛撷取、借鉴和整理,适合刚入门的人阅读和遵守,已经有较多经验的人看一看图个乐,如有错误恭

UDP以太网(1)RTL8201F-phy芯片MDIO接口FPGA配置RMII模式

RTL8201F-phy芯片MDIO接口FPGA配置RMII模式介绍以太网物理层芯片支持10Mbps/100Mbps,支持mii、rmii接口;电路图上配置为RMII接口,寄存器也需要配置。phy芯片使用的是rmii接口,用mdio配置,配置方法比较简单,先看MDIO接口时序:MDC频率最高为2.5Mhz,phy在上升沿锁存MDIO的数据phyaddress是在挂多个phy芯片的时候用来识别phy的,下面看配置寄存器有哪些:PHY配置寄存器每个寄存器都有默认值,不配置也可以运行,当要修改配置或者查看phy发送接收芯片状态的时候就要使用mdio接口。下面是写时序的例程可以参考一下:modulem

【FPGA学习】状态机实现UART通信

文章目录前言一、数据帧结构二、接收模块2.1状态设置2.1状态跳转2.2奇校验2.3数据输出三、发送模块3.1状态跳转3.2数据输出四、顶层模块总结前言  在之前的文章中【FPGA学习】实例一、CycloneIV串口通信(RS232)我们已经能够采用波形图的方法,实现9600bps的Uart通信。近期笔者在整理了状态机和计数器组合的设计方法以后,对状态机的设计又有了新的感悟和体会,所以又把经典的RS232协议拉出来当状态机的例子练手了哈哈哈。数据有效位为8bit,功能上增加了奇校验,并将波特率设置为115200bps,并借助这篇文章梳理一下状态机和计数器组合设计的思路和设计要点,文章奉上:一、

FPGA实现网络弹性和加密安全调研

在Latticesemi公众号提到了FPGA实现网络弹性的5种方式,网络弹性即cyberresilience,感觉与加密安全直接相关。FPGA的优势是灵活性、可编程性和并行处理能力,所以可以通过保护系统和数据免受攻击,从而实现网络弹性。1灵活性:FPGA更新方便这个是常理,就不细研究了。2硬件可信根(HRoT)安全FPGA可以成为高效的HRoT器件硬件可信根:更常见的中文翻译是硬件信任根。信任根是一个不可变的过程或身份,用作信任链中的第一个实体。因此,没有祖先实体可以为信任根的初始代码和数据状态提供可信任的证明(以摘要或其他方式)。换句话说,嵌入式开发人员的信任根是一个不可更改的身份和最小的软

FPGA小白笔记——FPGA简介(学渣版)

目录前言1、FPGA是什么?2、FPGA开发环境2.1  语言环境2.2FPGA开发思路总结前言在专用集成电路(ASIC)领域中,FPGA作为一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。同时FPGA可用于实现硬件灵活定制,能够高效地实现算法加速、数据处理,从而提高系统的性能。1、FPGA是什么?FPGA(全称:FieldProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA是一种完成通用功能的可编程逻辑芯片,即可以对其进行编程实现某种逻辑处理功能。FPGA更偏向

FPGA串口回环实验

1UART串口简介UART(通用异步收发传输器,UniversalAsynchronousReceiver/Transmitter)是一种串行通信接口,它允许计算机或其他数字设备通过串行通信方式发送和接收数据。UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收。 UART在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位。LSB,即最低有效位,指的是一个二进制数字中最右边的那一位,这一位的值代表的是数值中的最小单位。MSB,即最高有效位,指的是一个二进制数字中最左边的那一位,这一位的值决定了整个数值的符号(在有符号数表示中)以及数量级(在无符

平时积累的FPGA知识点(10)

平时在FPGA群聊等积累的FPGA知识点,第10期:41ZYNQ系列芯片的PL中使用PS端送过来的时钟,这些时钟名字是自动生成的吗?解释:是的。PS端设置的是ps_clk,用report_clocks查出来的时钟名变成了clk_fpga_0,要看看BD里跟端口FCLK_CLK0连接的net的名字什么。PS配置中的时钟信号名,在BD里面的输出端口可以再改。42在dsp48e2的数据手册里面,写明了USE_MULT=Multiply的时候,USE_SIMD一定要设置成ONE48。这应该是因为乘法器出来的U,V要在ONE48下相加的原因。但是如果想在SIMD和乘法两个模式之间动态切换,我能否在USE

FPGA 入门 —— RAM(ip 核与原语的使用)

FPGA入门——RAM(ip核与原语的使用)BRAM简介XILINX系列的FPGA,如果想要做一个RAM,有两种方式:1、使用逻辑资源组成分布式RAM,即 DistributedRAM2、使用XILINX专用的BlockRAM,即BRAM前者是由CLB的 SLICEM的LUT组合而成,构成RAM后,可能分布在不同的地方,具有一定的延迟;后者是BlockRAM是内嵌专用的RAM,是XILINX做进FPGA内的专用资源,具有更好的时序性能;这里我们以ZYNQ-7000为例:可以看到红色方框中,标识出了此款FPGA的BRAM资源,我们也可以了解到,一个BRAM资源大小为36Kbits(注意,这里是b