|
本帖最后由 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,得到一个新的同意的复位信号,应该可以这样说吧。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|