本文主要是介绍XPM_CDC_PULSE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MACRO_GROUP: XPM
MACRO_SUBGROUP: XPM_CDC
1、Introduction
此宏将源时钟域中的脉冲同步到目标时钟域。源时钟域中任何大小的脉冲,如果正确启动,将生成单个目标时钟周期大小的脉冲。
为了正确操作,输入数据必须由目标时钟采样两次或两次以上。 可以定义同步器中使用的寄存器级数。可选的源和目的复位信号可用于复位脉冲传输逻辑。还可以启用仿真功能来生成报告宏的任何潜在误用的消息。
这个宏的实现需要一些反馈逻辑。当在没有可选复位信号的情况下仿真宏时,必须始终定义输入脉冲信号(src_pulse),因为没有复位逻辑可以从宏中传播的未定义或“x”中恢复。该宏还要求后续脉冲输入之间的最小间隙如下:
2*(larger(src_clk period, dest_clk period))
最小间隙是在src_ pulse的下降沿与下一个src_pluse的上升沿。这个最小间隙将保证src_pulse的每个上升沿将在目的时钟域中产生一个dest_clk周期大小的脉冲。
当使用可选的复位信号时,src_rst和dest_rst_in必须同时断言至少以下持续时间,以完全复位宏中的所有逻辑:
((DEST_SYNC_FF+2)*dest_clk_period) + (2*src_clk_period)
当复位被断言时,输入脉冲信号不应翻转,输出脉冲信号无效,应被忽略。下面的波形演示了如何复位宏并传输back-to-back 脉冲,同时保持每个脉冲之间的最小间隙。
2、Port Descriptions
3、Design Entry Method
4、Available Attributes
这篇关于XPM_CDC_PULSE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!