目录
一、XPM_CDC_ARRAY_SINGLE
Parameterized Macro: Single-bit Array Synchronizer
MACRO_GROUP: XPM
MACRO_SUBGROUP: XPM_CDC
Families: 7 series, UltraScale, UltraScale+
简介
该宏从源时钟域合成了一组单比特信号到目标时钟域。 为了正确操作,输入数据必须由目标时钟进行两次或更多次采样。您可以定义用于同步器的寄存器级数。在进行同步之前,可以使用可选的输入寄存器来在源时钟域中注册输入。还可以启用仿真功能,以生成报告有关宏的潜在误用的消息。 注意:该宏期望源数组的每一位都是独立的,并且没有需要保留的已定义关系。如果数组的每一位都有需要保留的关系,请使用XPM_CDC_HANDSHAKE或XPM_CDC_GRAY宏。
Port Description
port | IO | Width | Domain | Sense | Handling if | Function |
est_clk | I | 1 | NA | EDGE | Active | 目标时钟域的时钟信号 |
dest_out | O | WIDTH | dest_clk | NA | Active | 将src_in同步到目标时钟域。此输出已使用时钟打拍 |
src_clk | I | 1 | NA | EDGE | 0 | 当SRC_I_REG=0时不使用。如果SRC_I_REG=1,则为src_in的输入时钟信号 |
src_in | I | WIDTH | src_clk | NA | Active | 要同步到目标时钟域的输入单比特数组。假定数组的每一位都与其他位无关。这反映在应用于此宏的约束中。 为了在两个时钟域之间无损传输二进制值,请改用XPM_CDC_GRAY宏 |
参数属性:
attribute | Type | Allowed | Default | Description | |
DEST_SYNC_FF | DECIMAL | 2to10 | 4 | 用于在目标时钟域中同步信号的寄存器级数 | |
INIT_SYNC_FF | DECIMAL | 0,1 | 0 |
1-启用在同步寄存器上的行为仿真初始化值。 | |
SIM_ASSERT_CHK | DECIMAL | 0,1 | 0 |
1-启用仿真消息报告。 与潜在误用相关的消息将会报告。 | |
SRC_I_REG | DECIMAL | 1,0 | 1 |
1-使用src_clk对输入(src_in)进行一次寄存 | |
WIDTH | DECIMAL | 1to1024 | 2 | 单比特数组(src_in)的宽度,将在目标时钟域中同步。 |
二、XPM_CDC_ASYNC_RST
Parameterized Macro: Asynchronous Reset Synchronizer
MACRO_GROUP: XPM
MACRO_SUBGROUP: XPM_CDC
Families: 7 series, UltraScale, UltraScale+
简介
此宏将异步复位信号同步到目标时钟域。结果的复位输出将确保在与输入异步断言,但输出的去除将始终与目标时钟域同步。 您可以定义复位信号的极性以及在断言时宏的最小输出脉冲宽度。后者通过定义同步器中使用的寄存器级数来控制。 注意:最小输入脉冲断言取决于寄存器的复位或设置引脚的建立和保持要求。请查看针对目标架构的相应DC和AC切换特性数据表。
port
Port | IO | Width | Domain | Sense | Handling if | Function |
dest_arst | O | 1 | NA | Active | dest_clk | 源异步复位信号 src_arst 同步到目标时钟域。 此输出已寄存。 注意:信号异步断言,但与 dest_clk 同步去除。复位信号的宽度至少为 (DEST_SYNC_FF * dest_clk) 周期。 |
dest_clk | I | 1 | NA | EDGE | Active | 目标时钟 |
src_arst | I | 1 | NA | NA | Active | 源异步复位信号 |
参数属性:
attribute | Type | Allowed | Default | Description |
DEST_SYNC_FF | DECIMAL | 2to10 | 4 | 用于在目标时钟域中同步信号的寄存器级数。此参数还确定了断言的复位信号的最小宽度。 |
INIT_SYNC_FF | DECIMAL | 0,1 | 0 |
1-启用同步寄存器上的行为仿真初始化值。 |
RST_ACTIVE_HIGH | DECIMAL | 0,1 | 0 | 定义异步复位信号的极性。 • 0-低电平有效的异步复位信号 • 1-高电平有效的异步复位信号 |
三、XPM_CDC_GRAY
ParameterizedMacro:SynchronizerviaGrayEncoding
MACRO_GROUP: XPM
MACRO_SUBGROUP:XPM_CDC
Families:7series,UltraScale,UltraScale+
简介
该宏使用Gray编码将来自源时钟域的二进制输入同步到目标时钟域。为了正确操作,目标时钟必须对输入数据进行两次或更多次采样。 此模块接收输入的二进制信号,将其转换为Gray编码并进行寄存,将其同步到目标时钟域,然后将其重新转换为二进制信号。您可以定义在同步器中使用的寄存器级数。还可以启用仿真功能,以生成消息来报告对该宏的潜在误用。 由于该宏使用Gray编码,因此提供给该宏的二进制值必须仅递增或递减一次,以确保要同步的信号具有仅相差一位的两个连续值。这将确保对Gray编码总线的无损同步。如果二进制值的行为与Gray编码不兼容,使用XPM_CDC_HANDSHAKE宏或其他同步数据到目标时钟域的替代方法。 还提供了一个额外选项(SIM_LOSSLESS_GRAY_CHK),用于在发现任何二进制输入值违反Gray编码规则(连续两个值仅递增或递减一次)时报告错误消息。
注意:当在设计中使用XPM_CDC_GRAY模块并运行report_cdc时,此模块中的同步器会报告为CDC-6类型的警告,具有ASYNC_REG属性。可以安全地忽略此警告,因为同步的总线是gray编码的。 应该运行report_cdc以确保识别CDC结构并且没有生成关键警告,还要验证dest_clk是否可以对src_in_bin[n:0]进行两次或更多次采样。
四、XPM_FIFO_ASYNC
ParameterizedMacro:AsynchronousFIFO
MACRO_GROUP: XPM
MACRO_SUBGROUP:XPM_FIFO
Families:7series,UltraScale,UltraScale+
五、XPM_FIFO_SYNC
ParameterizedMacro:SynchronousFIFO
MACRO_GROUP: XPM
MACRO_SUBGROUP:XPM_FIFO
Families:7series,UltraScale,UltraScale+
原文链接:https://blog.csdn.net/qq_41305217/article/details/132927188
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41305217/article/details/132927188