我是靠谱客的博主 过时汉堡,最近开发中收集的这篇文章主要介绍同步复位,异步复位,异步复位与同步释放项目场景:异步复位:异步复位带来的问题:同步复位:异步复位,同步释放:总结特点:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目场景:

提示:对于FPGA触发器而言,采用异步复位无需增加额外的资源开销。但是异步复位有个致使的缺点:复位信号的释放。
例如:


异步复位:

它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。用Verilog描述如下

module rst( 
	input clk, 
	input rst_n, 
	input data_in, 
	output reg out 
	 ); 
	 
	 
always @ (posedge clk or negedge rst_n) 
         if(!rst_n) out <= 1'b0;    
         else out <= data_in;
         
         
endmodule

在这里插入图片描述

异步复位带来的问题:

如下图所示二级触发器,在正常情况下,一旦复位信号有效,b、c都会清零,但是复位信号的释放时间是不确定的:
如果复位的释放发生在系统时钟的{setup_time,hold_time}之外,那么复位的释放就一切正常;但如果发生在之内,那么时钟信号检测到rst_n就是亚稳态信号,也就不确定是0还是1,此时两个触发器如果对rst_n的值判断不一致(比如b认为是0而继续保持复位而c认为是1释放复位),则系统必然会出问题。两个触发器尚且可能会出现问题,对于较大的系统设计中的千千万万个触发器,其后果会不堪设想。

在这里插入图片描述


同步复位:

顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。。

module rst( 
	input clk, 
	input rst_n, 
	input data_in, 
	output reg out 
	 ); 
	 
	 
always @ (posedge clk ) 
         if(!rst_n) out <= 1'b0;    
         else out <= data_in;
         
         
endmodule 

在这里插入图片描述


异步复位,同步释放:

提示:一般来说,同步系统,都使用异步复位。这是因为同步复位的电路实现,比异步复位的电路实现,要浪费更多电路资源。
未在本模块时钟域做过“异步复位,同步释放”处理的复位信号,提供给本模块做异步复位使用时,都需要做“异步复位,同步释放”处理。常见于系统内两部件不在同一时钟域的情况下。

always @ (posedge clk, negedge rst_async_n)  
if (!rst_async_n) begin   
rst_s1 <= 1'b0;  
rst_s2 <= 1'b0;  
end  
else begin  
rst_s1 <= 1'b1;  
rst_s2 <= rst_s1;  
end  
 
assign rst_sync_n = rst_s2;   
endmodule  

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200919213254387.png#pic_center在这里插入图片描述

总结特点:

各自的优缺点:
1、总的来说,同步复位的优点大概有3条:
   a、有利于仿真器的仿真。
   b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。
   c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。
   他的缺点也有不少,主要有以下几条:
   a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。
   b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。
   
2、对于异步复位来说,他的优点也有三条,都是相对应的:
   a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。
   b、设计相对简单。
   c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。
   缺点:
   a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。
   b、复位信号容易受到毛刺的影响。

最后

以上就是过时汉堡为你收集整理的同步复位,异步复位,异步复位与同步释放项目场景:异步复位:异步复位带来的问题:同步复位:异步复位,同步释放:总结特点:的全部内容,希望文章能够帮你解决同步复位,异步复位,异步复位与同步释放项目场景:异步复位:异步复位带来的问题:同步复位:异步复位,同步释放:总结特点:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部