由于DVP模块由cmos产生的像素时钟产驱动,而AXI_stream接口的数据传输由系统时钟驱动,在模块中添加异步fifo保证信号的同步性。使用这个fifo有两个目的: 处理跨时钟域问题。 2.为视频数据输入和AXI_stream 流数据输出的缓冲。 结合数据的有效信号、从机的响应信号来确定异步fifo的读写使能。 xpm_fifo_async_inst ( ....
(* ASYNC_REG = "TRUE" *) reg sync_0, sync_1; 目的是告诉综合工具布线时将这2个寄存器放在一起(即同一个SLICE中),从而减少线延迟对时序的影响。 为避免忘记标记ASYNC_REG,打开Language template -> XPM_CDC -> Single-bit Synchronizer(xpm_cdc_single),见下方代码: 代码语言:javascript 代码运行次数:0...
可以使用tcl语言指定,如: set_property ASYNC_REG TRUE [get_cells [list sync0_reg sync1_reg]] 1. 也可以直接在代码中指定: (* ASYNC_REG = "TRUE" *) (* keep = "true" *)reg sync0_reg, sysnc1_reg; 1. 也可以参考代码模板使用XPM模板进行处理。 多个信号一般是使用FIFO或者握手的方法,这里...
EG.xdc25read_ip $path/src/ip/async_fifo_512x18/async_fifo_512x18.xci26read_ip $path/src/ip/async_fifo_1024x32b/async_fifo_1024x32b.xci27read_ip $path/src/ip/sys_pll/sys_pll.xci 新建以下几个文件夹,而且在每次跑脚本前确保proj文件是空的,否则脚本会报错。 接着打开vivado图形化界面,...
XPM_CDC_SINGLEParameterizedMacro:Single-bitSynchronizer XPM_CDC_SYNC_RSTParameterizedMacro:SynchronousResetSynchronizer XPM_FIFO_ASYNCParameterizedMacro:AsynchronousFIFO XPM_FIFO_AXIFParameterizedMacro:AXI-FullFIFO XPM_FIFO_AXILParameterizedMacro:AXI-LiteFIFO XPM_FIFO_AXISParameterizedMacro:AXIStreamFIFO XPM_FIFO...
实际工程中,1号和2号触发器往往被设计者忘记标记ASYNC_REG,一个好的方法是使用Xilinx提供的XPM_CDC模板,相应的代码如下图所示。可以看到这里只需要实例化xpm_cdc_single即可,无需标记ASYNC_REG(该属性已被标记)。上图显示的电路图即为该代码综合后的结果。
XPM_CDC_HANDSHAKE XPM_CDC_PULSE XPM_CDC_SINGLE XPM_CDC_SYNC_RST XPM_FIFO_ASYNC XPM_FIFO_AXIF XPM_FIFO_AXIL XPM_FIFO_AXIS XPM_FIFO_SYNC XPM_MEMORY_DPDISTRAM XPM_MEMORY_DPROM XPM_MEMORY_SDPRAM XPM_MEMORY_SPRAM XPM_MEMORY_SPROM XPM_MEMORY_TDPRAM XPM_NMU_MM XPM...
XPM_CDC_ARRAY_SINGLE XPM_CDC_ASYNC_RST XPM_CDC_GRAY XPM_CDC_HANDSHAKE XPM_CDC_PULSE XPM_CDC_SINGLE XPM_CDC_SYNC_RST XPM_FIFO_ASYNC XPM_FIFO_AXIF XPM_FIFO_AXIL XPM_FIFO_AXIS XPM_FIFO_SYNC XPM_MEMORY_DPDISTRAM XPM_MEMORY_DPROM XPM_MEMORY_SDPRAM XPM_MEMORY_SPRAM...
图 3-18:在 RTL 代码中指定 UltraRAM (通过 XPM) 上面的示例使用 32 K x 72 内存配置,并使用八个 URAM.为了提高 UltraRAM 的性能,应该在级联链中添加更多的流 水线寄存器.这是通过增加读延迟整数实现的. 如需了解更多在 Vivado 综合中调用 UltraRAM 的信息,请参阅 《Vivado Design Suite 用户指南:综合》(...
图 3-18 : 在 RTL 代码中指定 UltraRAM (通过 XPM) 上面的示例使用 32 K x 72 内存配置,并使用八个 URAM.为了提高 UltraRAM 的性能,应该在级联链中添加更多的流 水线寄存器.这是通过增加读延迟整数实现的. 如需了解有关在 Vivado 综合中调用 UltraRAM 的更多信息,请参阅 《Vivado Design Suite 用户指南:...