用FPGA来做硬件加速,也有十年的时间了,最近我在回顾这些年的项目经历时,突然有了一个想法
当我们需要在两个模块之间进行数据的传输,并且两个模块的时钟是不同的,当一定数量数据传输时为了避免数据出现丢失
在FPGA开发设计中,我们可能会经历由于资源占用过高的情况,例如BRAM、LUT和URAM等关键资源利用率达到或超过80%
在光纤通信开发中,ibert ip会经常用到,它不但可以用来测试误码,测试眼图,还可以通过调整参数使眼图达到比较理想的状态。
本文我们通过例化Xilinx公司的DDS IP核来产生混频器本振输入频率,并给出Modelsim仿真测试结果。
MIG IP控制器是Xilinx为用户提供的一个用于DDR控制的IP核,方便用户在即使不了解DDR的控制
如果只是纯的.v文件仿真那很容易操作,主要是涉及到IP核,那么就必须要对vivado的IP核的库文件进行编译
在FPGA的设计中的DFX主要是包括可测试性设计和可维护性设计这2大点。最终的目的是快速定位板上问题和后期维护阶段日常巡检诊断。
该系列的第二部分描述了一种可能的双时钟设计的架构。在第三部分中,我们将探索另一种选择双时钟 FIFO 架构
一片RAM中分为许多小格,每一片容量为36k,根据设定的位宽决定了这片RAM可以存放分为几格
本篇文章来源于微信群中的网友,分享下在SpinalHDL里如何丝滑的运行VCS跑Vivado相关仿真。
IBERT ip的设置非常简单,只要设置好serdes管脚对应的信息即可,生成的example直接是可以生成bit
对于搞FPGA的人来说,资源和时序的优化,应该是一个永恒的话题
在本系列的前一部分中,我们看到了如何使用以下方法设计同步 FIFO一个双端口、非寄存输出 RAM。
12.16512G的serdes,一个输入为64bit,输出为64bit的6664B编码的4对serdes例程,参考时钟为122.88MHz
无论是FPGA开发还是芯片开发,其中一个重要的环节就是复位设计,本文主要说明FPGA的复位设计
数组在RTL中映射为memory,一般HLS会自动决定最合适的memory,但也支持通过RESOURCE指令具体的memory实现
研究7系列MMCME2_ADV原语,看能否自己对MMCME2_ADV封装,这样避免工程在不同器件及版本之间切换
满足设计中的时序要求本身可能很困难,所以生成 100% 可重复的时序设计似乎是不可能的。
本文先介绍集中PL与PS的通信方法,然后重点介绍通过DMA实现PS与PL通信。