|
|
| | -文章搜索 - 最新文章 - | |
第2814篇:FPGA设计中对输入信号寄存的研究(转) |
| 发布时间:2006年8月7日 点击次数:666 |
| 来源: 作者: |
一般来说,在全同步设计中,如果信号来自同一时钟域,各模块的输入不需要寄存。只要满足建立时间,保持时间的约束,可以保证在时钟上升沿到来时,输入信号已经稳定,可以采样得到正确的值。但是如果模块需要使用输入信号的跳变沿(比如帧同步信号),千万不要直接这样哦。 always @ (posedge inputs) begin ... end 2.所有信号都需要寄存两拍吗 如果这个输入信号来自异步时钟域(比如FPGA芯片外部的输入),必须寄存两拍。第一拍将输入信号同步化,同步化后的输出可能带来建立/保持时间的冲突,产生亚稳态。需要再寄存一拍,减少(注意是减少)亚稳态带来的影响。 如果这个输入信号来自于同一时钟域且需要用到跳变沿,需要寄存一拍。否则时序报告多半会报clock skew > data delay,造成建立/保持时间的冲突。 总而言之,三条原则: 1.全局时钟的跳变沿最可靠。 2.来自异步时钟域的输入需要寄存一次以同步化,再寄存一次以减少亚稳态带来的影响。 3.不需要用到跳变沿的来自同一时钟域的输入,没有必要对信号进行寄存。 4.需要用到跳变沿的来自同一时钟域的输入,寄存一次即可。 给出一个verilog模板: always @ (posedge Clk) //不对输入信号进行寄存 begin if (inputs) begin ... end ... end always @ (posedge Clk) //对输入信号寄存一拍 begin inputs_reg <= inputs; if (inputs_reg == 1''b0 && inputs == 1''b1) begin ... end ... end always @ (posedge Clk) //对输入信号寄存两拍 begin inputs_reg1 <= inputs; inputs_reg2 <= inputs_reg1; if (inputs_reg1 == 1''b1 && inputs_reg2 == 1''b0) begin ... end ... end |
|
|
|
|
[EDA/IC设计] 相关文章: 英飞凌凭借业界首款双频段RF-CMOS收发器芯片成功打入超宽带市场简介: 昨日,全球通信芯片领先供应商英飞凌科技股份公司宣布已成功完成一款具备双频段超宽带(Ultra-Wideband)射频(RF)收发器芯片的定型工作。这项突破是以该公司成熟的低功耗CMOS工艺为基础,为各类移动终端如手机、个人数字助理(PDA)、可携式摄像机、数码相机和MP3播放器,提供高速通讯系統单芯片 (system-on-chip) 之优化的集成解决方案。据IMS Research的市场研究,仅2010年一年,就有约1.2亿部手机配以超宽带技术。未来,超宽带(UWB...... 石英晶体元器件技术的发展及应用 压控晶体振荡器选用中的几个问题 移位寄存器的电路描述 8位数据锁存器的电路描述 |
|
|
|