MamBa_24 发表于 2014-3-26 11:03:07

第四章 究竟异步信号,需不需要同步释放?

本帖最后由 MamBa_24 于 2014-3-26 11:03 编辑

接着上一章提及过的亚稳态,我相信,你们都知道亚稳态带来的危害了吧?
下面再用一个简单的例子说明一下:

input clk,
input rst_n,
output sys_rst_n
//------------------------------------------
reg   rst_nr1, rst_nr2;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
rst_nr1 <= 1'b0;
rst_nr2 <= 1'b0;
end
else
begin
rst_nr1 <= 1'b1;
rst_nr2 <= rst_nr1;
end
end
assign sys_rst_n = rst_nr2;

出来的RTL视图如图所示。
这个异步复位同步化,主要说明的是只是异步复位时,当复位信号的由0变到1时出现在clk锁存数据的建立时间(Tsu)或者保持时间(Th)内,clk检测复位信号的状态就会是一个亚稳态。同步化了以后,就解决了异步复位的亚稳态问题。
接下来是项目里面的一个异步信号同步化的例子:


这样的sys_rst_n复位信号,当rst_n撤销时,各级寄存器的复位信号rst_n都由sys_rst_n同步释放。意思即将rst_n同步为sys_rst_n,得到一个新的同意的复位信号,应该可以这样说吧。

hunningtu 发表于 2014-3-26 12:18:26

这个特权书里的复位电路嘛。

MamBa_24 发表于 2014-3-26 12:23:35

hunningtu 发表于 2014-3-26 12:18
这个特权书里的复位电路嘛。

恩恩,看了特权同学的书,有感而发的

RUANJI 发表于 2014-3-26 12:26:55

hunningtu 发表于 2014-3-26 12:18
这个特权书里的复位电路嘛。

又不是特权发明的...电路这种东西,大家都懂的。

RUANJI 发表于 2014-3-26 12:27:16

RUANJI 发表于 2014-3-26 12:26
又不是特权发明的...电路这种东西,大家都懂的。

我说的懂。。不是理解的那种懂。

sungngai 发表于 2014-4-20 14:16:21

我是小白,表示不懂。
第一个图里复位信号释放时触发器rst_nr1有没有亚稳态的问题?
经过第二个触发器后的复位信号是与时钟同沿。但给后级电路的复位端复位的信号不能和时钟接近同时跳变吧(也有亚稳态问题)?
请问这到底是怎么回事?

蓝色风暴@FPGA 发表于 2014-4-24 22:27:12

没必要这样复位,直接搞个计数器,上电后计数1000次,释放复位
页: [1]
查看完整版本: 第四章 究竟异步信号,需不需要同步释放?