关于异步复位,同步释放疑问

2020-02-04 10:28发布


altera官方给出的设计,现有以下疑问,请高手帮忙分析下:

    目的将电路设计成异步复位,但复位信号释放时与CLK同步,目的在复位信号释放时变得与CLK边沿同步,便于分析问题(个人看来无法降低亚稳态发生概率)。如下图中reg4,在reset_n生效时,可同时输出复位reg1,reg2,但同样,reset_n释放可能发生在clk生效时(造成触发器无法判断resetn状态),造成亚稳态,在我看来reg1,reg2发生亚稳态概率一样,因为概率都是受到resetn频率及clk频率影响,而reg4发生亚稳态后,输出状态必定影响到reg1.2的状态,因此多级D触发器于事无补(针对复位情况,如果是数据D经过多级触发器输入当然有作用)。
    另外,有一种说法就是复位发生后,reg4原来输入端为0,因此无论clr端为0或者1,reg4输出均为0,但实际上亚稳态发生与输入D并无关系,输出可能是震荡、毛刺,因此这种说法应该不正确啊。
    求解答。如实实现同步释放的,即怎么实现在clk边沿有效时,才判断resetn信号是否有效,个人认为只要接了触发器clr端,就没法实现同步释放了,因clr复位根本不受clk控制。

QQ图片20160704104520.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
mkapm11
2020-02-04 12:29
waiter 发表于 2016-7-4 11:53
这都是成了经典的教材了的....
首先,复位问题之所以采用同步释放,是因为复位生效后,就算发生亚稳态,也 ...

首先非常感谢回复。
我是个新手,再追问下,按您说的,复位释放同步,即释放相位一致,2级D触发器确实做到了同步退出,相对于异步复位,这个是有区别的,这个我能理解。但单看reg4,可以看成这就完全是一个异步复位电路,因此clr和reset如果不满足一定关系还是一样会引起亚稳态,我想弄清楚的是,假如在clk上升沿到来时reg4无法判断clr端状态,这时候如果reg4输入D端有稳定的数据0,其输出到底是稳定的0,或是由于reg4无法判断clr状态,而导致输出震荡,或是导致触发器不断复位,如果是不断复位确实没有问题,但是如果是输出震荡或者毛刺还是会对后级触发器产生影响的吧,毕竟reg4输出是作为其他触发器的复位信号的,震荡的信号可能被其他触发器错误识别,导致不断复位?

一周热门 更多>