在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14047|回复: 49

[求助] 关于异步复位讨论

[复制链接]
发表于 2010-4-30 15:32:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
FPGA系统中异步复位会有什么问题吗?是否必须先将复位同步化,再在各模块中使用?
向大家请教一二
发表于 2010-4-30 15:49:03 | 显示全部楼层
这方面的资料比较多,现在一般使用异步复位,同步去复位。
发表于 2010-4-30 16:20:57 | 显示全部楼层
<<Asynchronous & Synchronous Reset>>
 楼主| 发表于 2010-4-30 16:40:10 | 显示全部楼层
现在都用异步复位吗?看来我OUT了啊
能大该讲一下吗?及有什么需要特殊考虑的?与同步复位的忧缺点?
以前疲于应付项目,直接按公司编码规范来做了,而没考虑过原由.出来后才发觉很多问题都似是而非啊 2# eaglelsb
发表于 2010-4-30 16:53:26 | 显示全部楼层
reset的同步异步问题一直是有争议的,各有各的优缺点,所以这也是为什么现在的FPGA和ASIC的cell保留了两种reset方式供designer选择的原因。

basically,从最朴素的观点出发,只要保证你的reset在assert时能reset logic,在de-assert时没有引起flip-flop之间removal快慢造成的复位初始值错误,就好了。
 楼主| 发表于 2010-4-30 18:31:16 | 显示全部楼层
如何读度量这个条件是否满足呢?能否在设计前考虑好呢?
发表于 2010-5-14 16:16:13 | 显示全部楼层
各有优点和缺点
发表于 2010-5-14 16:37:06 | 显示全部楼层
学习了
发表于 2010-5-14 17:19:51 | 显示全部楼层
1、总的来说,同步复位的优点大概有3条:
a、有利于仿真器的仿真。
b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。
c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条:
a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。
b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。
    2、对于异步复位来说,他的优点也有三条,都是相对应的
       a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。
b、设计相对简单。
c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。
缺点:
       a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。
       b、复位信号容易受到毛刺的影响。


推荐的复位方式“异步复位,同步释放”。这就结合了双方面的优点,很好的克服了异步复位的缺点(因为异步复位的问题主要出现在复位信号释放的时候,具体原因可见上文)。
其 实做起来也并不难,我推荐一种我经常使用的方式吧:那就是在异步复位键后加上一个所谓的“reset synchronizer”,这样就可以使异步复位信号同步化,然后,再用经过处理的复位信号去作用系统,就可以保证比较稳定了。reset sychronizer的Verilog代码如下:
module Reset_Synchronizer
(output reg rst_n,
input clk, asyncrst_n);
reg rff1;

always @ (posedge clk , negedge asyncrst_n) begin
    if (!asyncrst_n) {rst_n,rff1} <= 2'b0;
else {rst_n,rff1} <= {rff1,1'b1};
end
endmodule
   大家可以看到,这就是一个dff,异步复位信号直接接在它的异步复位端口上(低电平有效),然后数据输入端rff1一直为高电平‘1’。倘若异步复位信号 有效的话,触发器就会复位,输出为低,从而复位后继系统。但是,又由于这属于时钟沿触发,当复位信号释放时,触发器的输出要延迟一个时钟周期才能恢复成 ‘1’,因此使得复位信号的释放与时钟沿同步化。

通吃上的
 楼主| 发表于 2010-5-14 21:09:45 | 显示全部楼层
多谢指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 23:54 , Processed in 0.205900 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表