新闻中心

EEPW首页>模拟技术>设计应用> 基于IDDR的亚稳态问题解决方案介绍

基于IDDR的亚稳态问题解决方案介绍

作者: 时间:2012-08-18 来源:网络 收藏

 只需少量代码

本文引用地址: //m.amcfsurvey.com/article/185903.htm

  在《Virtex-4用户指南》的328~329页,举例说明采用VHDL和Verilog语言编写的原语的例化。以下采用Verilog语言的原码例化的典型实例:

  defparam_INT2.DDR_CLK_EDGE = SAME_EDGE_PIPELINED;

  defparam IDDR_INT2.INIT_Q1 = 1'b1;

  defparam IDDR_INT2.INIT_Q2 = 1'b1;

  defparam IDDR_INT2.SRTYPE = SYNC;

  IDDR IDDR_INT2( .Q1(sync_data),

  .Q2(signal_noload), .C(CLK_2X),

  .CE(1'b1), .D(async_data),.R(), .S());

  在图3中看到全新的布局图。 用这种方法将寄存器链放置在两个单元:前两个寄存器放置在ILOGIC单元中,另一个寄存器则放置在SLICE单元中(这里选择的链具有3个寄存器和2个不同的时钟,其中一个时钟速度是另一个的两倍)。

  图3 显示IDDR替代的同步器链

  整体而言,问题会给设计带来不便,但采用一些快速便捷的解决(如以一种新的方式使用IDDR原语)就能大幅降低设计发生问题的几率。大家应在创建设计时就采用上述方法,而不应事后亡羊补牢,这样就能创建出既能灵活应对亚稳性问题,而且所占面积、性能和成本又得到优化的架构。


上一页 1 2 下一页

关键词:IDDR亚稳态方案

评论


相关推荐

技术专区

关闭