Advanced FPGA Design Architecture,Implementation and Optimization学习之复位电路


在日志http://www.cnblogs.com/qiweiwang/archive/2011/03/07/1975932.htmlhttp://www.cnblogs.com/qiweiwang/archive/2010/11/25/1887888.html中,我们已经讨论过复位电路的设计。

1.完全异步复位的问题

完全异步复位在确立和释放触发器时都是异步的,这里异步复位指的是复位连线到触发器的异步复位引脚的情况。此外,复位的确立和释放是没有任何时钟的背景下执行的。

   1:  module resettff
   2:  (
   3:      output   reg oData,
   4:      input        iclk,iRst_n,
   5:      input        iData
   6:  );
   7:  
   8:  always @ (posedge iclk,negedge iRst_n)
   9:  if(!iRst_n)
  10:      oData  <= 1'b0;
  11:  else
  12:     oData   <= iData;
  13:  endmodule

上面描述的电路最大问题是多半时间它会工作。但是,周期性复位释放的沿将十分接近下一个时钟沿,并与复位恢复时间冲突。这个复位恢复时间是一类在触发器上建立时序的条件,它定义复位释放和下一个上升时钟沿之间的时间量。

当复位在时钟上升沿之前适当的时刻被释放时,复位恢复条件被满足,如上图所示。

下图说明了复位恢复时间冲突,在输出端引起不稳定和一系列不可预测的行为。

重要的是要特别注意:复位恢复时间冲突只出现在复位释放的时刻,而不是出现在确立的时刻

2.完全同步复位的问题

完全同步复位的代码是类似于对异步数据信号的双触发技术。

1:  module   resetsync
2:  (   
3:      output   reg oData,   
4:      input        iclk,iRst_n,  
5:      input        iData   
6:  );   
7:      
8:  always @ (posedge iclk)   
9:  if(!iRst_n)  
10:      oData  <= 1'b0;  
11:  else  
12:     oData   <= iData;  
13:  endmodule
同步复位总是满足复位恢复时间,但是对复位的确立时间不敏感。
在时钟运行足够慢的情况下(或者时钟未打开),由于在复位信号确立期间不存在时钟的上升沿,复位没有被捕获,其结果是在这个状态的触发器从不复位。
完全同步复位可能捕获不到复位信号本身取决于时钟的特性。

3.异步确立同步释放的复位

复位电路中的寄存器是通过外部信号异步复位,全部功能寄存器中同时复位,这个与时钟异步发生,时钟不需要在复位的时间运行。当外部复位释放,位于这个时钟区域的时钟在功能寄存器脱离复位之前必须触发两次。注意到,功能寄存器只在时钟开始触发和同步已经完成时才脱离复位。

module rstsync
(
    output    reg    sync_rst,
    input                clk,rst_n,
);

reg r1;

always @ (posedge clk,negedge rst_n)
if(!rst_n)
begin
    r1                <= 1'b0;
    sync_rst    <= 1'b0;
end
else
begin
    r1                <=1'b1;
    sync_rst    <=r1;
end

endmodule
优质内容筛选与推荐>>
1、DD_belatedPNG解决IE6不支持PNG透明图片绝佳方案
2、C++函数中那些不可以被声明为虚函数的函数
3、移动互联网app
4、【产品体验】我的森林
5、【转】Loadrunner12的操作步骤


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号