zoukankan      html  css  js  c++  java
  • 异步复位,同步释放

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

    ·1、同步复位

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

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

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

    2、异步复位

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

    现象

    always @(posedge clk or negedge rst_n)
    begin
        if(!rst_n)
            a <= 1'd0;
        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 <= 1'd0;
        else
            a <= b;
    end

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

  • 相关阅读:
    HTML学习基础(一)
    初识C#
    SQL小知识
    jQuery(四)
    jQuery(三)
    认识jQuery(二)
    认识Jquery
    初识Javascript
    初识HTML
    博客,你好!
  • 原文地址:https://www.cnblogs.com/bixiaopengblog/p/7536243.html
Copyright © 2011-2022 走看看