Vivado综合属性:ASYNC_REG

在异步跨时钟域场合,对于控制信号(通常位宽为1-bit)常使用双触发器方法完成跨时钟域操作,如下图所示。此时对于图中标记的1号和2号触发器需要使用综合属性ASYNC_REG,有两个目的:

-表明1号触发器接收的数据是来自于与接收时钟异步的时钟域

-表明2号触发器是同步链路上的触发器

从而,保证1号、2号触发器在布局时会被放置在同一个SLICE内,减少线延迟对时序的影响。

实际工程中,1号和2号触发器往往被设计者忘记标记ASYNC_REG,一个好的方法是使用Xilinx提供的XPM_CDC模板,相应的代码如下图所示。可以看到这里只需要实例化xpm_cdc_single即可,无需标记ASYNC_REG(该属性已被标记)。上图显示的电路图即为该代码综合后的结果。

打开综合后的设计,执行如下操作可以验证ASYNC_REG已被标记。

结论

-ASYNC_REG用于单bit采用双或多触发器实现异步跨时钟域的场合,此时所有用于同步的触发器都要标记ASYNC_REG。

-可使用Xilinx提供的XPM_CDC模板避免遗忘标记ASYNC_REG

附:XPM_CDC的位置

上期内容:

Vivado OOC综合方式

下期内容:

Vivado综合属性:MAX_FANOUT

本文分享自微信公众号 - Lauren的FPGA(Lauren_FPGA)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券