码迷,mamicode.com
首页 > 其他好文 > 详细

异步复位,同步释放

时间:2017-09-17 18:59:27      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:col   image   es2017   释放   span   img   begin   png   定义   

平时接触到的复位有三种,分别是同步复位、异步复位还有异步复位同步释放

·1、同步复位

同步复位里,复位做为使能信号,就不存在因为不满足建立时间而产生的亚稳态,但是如果复位信号有效

周期小于一个时钟周期的话,会出现复位信号采样不到的问题。

always @(posedge clk )
begin
    if(!rst_n)
        a <= 1d0;
    else
        a <= b;
end

 

2、异步复位

 异步复位比同步复位节省资源,但是如果异步复位结束之后,紧跟着一个时钟上升沿,这时候会产生亚稳态

现象

 

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        a <= 1d0;
    else
        a <= b;
end

3、异步复位同步释放

异步复位同步释放:这里我参考CB的书上的定义

技术分享

reg            sys_rst_n            ;

always @(posedge clk)
begin
    sys_rst_n <= rst_n;
end
            

always @(posedge clk or negedge sys_rst_n)
begin
    if(!rst_n)
        a <= 1d0;
    else
        a <= b;
end

第一个always块实现了外部时钟的同步化,第二always块将同步的sys_rst_n做为D触发器的复位端。

异步复位,同步释放

标签:col   image   es2017   释放   span   img   begin   png   定义   

原文地址:http://www.cnblogs.com/bixiaopengblog/p/7536243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!