Xilinx XPM

目录

一、XPM_CDC_ARRAY_SINGLE

WIDTH

二、XPM_CDC_ASYNC_RST

三、XPM_CDC_GRAY

​​​​​​​四、XPM_FIFO_ASYNC

​​​​​​​五、XPM_FIFO_SYNC


一、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
Unused

Function

est_clk

I

1

NA

EDGE
_RISING

Active

目标时钟域的时钟信号

dest_out

O

WIDTH

dest_clk

NA

Active

将src_in同步到目标时钟域。此输出已使用时钟打拍

src_clk

I

1

NA

EDGE
_RISING

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
Values

Default

Description

DEST_SYNC_FF

DECIMAL

2to10

4

用于在目标时钟域中同步信号的寄存器级数

INIT_SYNC_FF

DECIMAL

0,1

0

  1. 禁用在同步寄存器上的行为仿真初始化值。

1-启用在同步寄存器上的行为仿真初始化值。

SIM_ASSERT_CHK

DECIMAL

0,1

0

  1. 禁用仿真消息报告。 与潜在误用相关的消息将不会报告。

1-启用仿真消息报告。 与潜在误用相关的消息将会报告。

SRC_I_REG

DECIMAL

1,0

1

  1. 不要对输入(src_in)进行寄存。

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
Unused

Function

dest_arst

O1NAActivedest_clk源异步复位信号 src_arst 同步到目标时钟域。 此输出已寄存。 注意:信号异步断言,但与 dest_clk 同步去除。复位信号的宽度至少为 (DEST_SYNC_FF * dest_clk) 周期。

dest_clk

I

1

NA

EDGE
_RISING

Active

目标时钟

src_arst

I

1

NA

NA

Active

源异步复位信号

参数属性:

attribute

Type

Allowed
Values

Default

Description

DEST_SYNC_FF

DECIMAL

2to10

4

用于在目标时钟域中同步信号的寄存器级数。此参数还确定了断言的复位信号的最小宽度。

INIT_SYNC_FF

DECIMAL

0,1

0

  1. 禁用同步寄存器上的行为仿真初始化值。

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值