您的位置 首页 汽车

FPGA开发技巧之同步复位与异步复位的了解

FPGA开发技巧之同步复位与异步复位的理解-前两天和师兄讨论了一下design rule其中提到了同步异步复位的比较这个常见问题,据说也是IC公司经常问到的一面试题。

前两天和师兄评论了一下design rule其间提到了同步异步复位的比较这个常见问题,听说也是IC公司常常问到的一面试题。后来在网上看了些相关材料,总算在这一点有了比较明晰的感念,眼看就要实习了,只怕同学们面试时阴沟里翻船,特此将这个问题总结如下(假如你对:你在规划中怎么复位?为什么这样复位?这两个问题概念明晰,本贴能够略过)一、概念:同步复位:便是指复位信号只需在时钟上升沿到来时,才干有用,不然无法完结对体系的复位作业。用verilog描绘如下:always @ (posedge clk)begin if (!Rst_n) … end异步复位:它是指不管时钟沿是否到来,只需复位信号有用,就对体系进行复位。用Verilog描绘如下:always @ (posedge clk or negedge Rst_n)begin if (!Rst_n) …end二、各自的优缺陷:1. 同步复位的长处大概有3条:a. 有利于仿真器的仿真。b. 能够使所规划的体系成为的同步时序电路,这便大大有利于时序剖析,并且归纳出来的一般较高。c. 因为他只需在时钟有用电平到来时才有用,所以能够滤除高于时钟频率的毛刺。缺陷:a. 复位信号的有用时长有必要大于时钟周期,才干真正被体系辨认并完结复位使命。一起还要考虑,比如:clk skew组合逻辑途径延时,复位延时等要素。b. 因为大多数的逻辑器材的方针库内的DFF都只需异步复位端口,所以,假使选用同步复位的话,归纳器就会在寄存器的数据输入端口刺进组合逻辑,这样就会消耗较多的逻辑资源。2. 异步复位长处也有三条,都是相对应的a. 大多数方针器材库的都有异步复位端口,因而选用异步复位能够节约资源。b. 规划相对简略。c. 异步复位信号辨认便利,并且能够很便利的运用FPGA的大局复位端口GSR。缺陷:a. 在复位信号开释(release)的时分简单呈现问题。详细便是说:假使复位开释时恰恰在时钟有用沿邻近,就很简单使寄存器输出呈现亚稳态,然后导致亚稳态。b. 复位信号简单遭到毛刺的影响。三、总结及引荐复位办法: 所以说,一般都引荐运用异步复位,同步开释的办法,并且复位信号低电平有用。这样就能够一举两得了。也便是上文中所说的:“异步复位,同步开释”。这就结合了两边面的长处,很好的克服了异步复位的缺陷(因为异步复位的问题首要呈现在复位信号开释的时分,详细原因可见上文)。 详细完成并不难,这儿列出一种办法:那便是在异步复位键后加上一个所谓的“reset synchronizer”,这样就能够使异步复位信号同步化,然后,再用通过处理的复位信号去作用体系,就能够确保比较稳定了。reset sychronizer的代码如下: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} = 2b0; else {rst_n,rff1} = {rff1,1b1}; endendmodule我们能够看到,这便是一个dff,异步复位信号直接接在它的异步复位端口上(低电平有用),然后数据输入端rff1一向为高电平1。假使异步复位信号有用的话,触发器就会复位,输出为低,然后复位后继体系。可是,又因为这归于时钟沿触发,当复位信号开释时,触发器的输出要推迟一个时钟周期才干康复成1’,因而使得复位信号的开释与时钟沿同步化。此外,还有一种办法更为直接,便是直接在异步复位信号后加一个触发器,然后用D触发器的输出作为后级体系的复位信号,也能到达相同的作用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/179597.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部