专栏首页Lauren的FPGAVivado综合属性:ASYNC_REG

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 条评论
登录 后参与评论

相关文章

  • xilinx verilog 语法技巧

    在Vivado Design Suite中,Vivado综合能够合成多种类型的属性。在大多数情况下,这些属性具有相同的语法和相同的行为。

    FPGA开源工作室
  • wujian100——FPGA综合实现

    最后就可以生成 bit 流文件。而且小编还看到 Slack 恰好为 0 ,的确是 ”绝了“。

    瓜大三哥
  • Vivado设计中小知识

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。

    FPGA技术江湖
  • Vivado综合属性:MARK_DEBUG

    在使用Vivado Logic Analyzer(类似于ISE时代的ChipScope)时,常常会碰到的一个情形是想要观测的信号在综合后的网表中名字发生了变化而...

    Lauren的FPGA
  • Vivado综合属性:USE_DSP

    在Vivado中,默认情况下用HDL描述的乘法、乘加、乘减、乘累加以及预加相乘最终都会映射到DSP48中,但是加法、减法和累加运算则会用常规的逻辑资源即查找表、...

    Lauren的FPGA
  • Vivado综合属性:SRL_STYLE

    SRL_STYLE用于管理综合工具如何推断SRL(移位寄存器)。XilinxFPGA中,SLICEM中的LUT是可以配置为SRL的。SRL相应的代码如下。

    Lauren的FPGA
  • Vivado综合属性:MAX_FANOUT

    高扇出信号可能会因为布线拥塞而导致时序问题,常用的方法是通过寄存器复制以降低扇出,这可通过综合属性MAX_FANOUT实现。

    Lauren的FPGA
  • Vivado综合属性:EXTRACT_ENABLE和EXTRACT_RESET

    EXTRACT_ENABLE可控制寄存器是否使用使能信号,当其为”yes”时,使能端口被使用;否则,当其为”no”时,使能端口将恒高。

    Lauren的FPGA
  • Vivado综合属性:RAM_STYLE和ROM_STYLE

    在Xilinx FPGA中既可以采用分布式资源(查找表)也可以采用BRAM实现存储单元。对于手工编写的HDL代码所描述的RAM,在默认情况下,Vivado会通过...

    Lauren的FPGA

扫码关注云+社区

领取腾讯云代金券