菜鸟初入FPGA之异步复位同步释放

来源:本站
导读:目前正在解读《菜鸟初入FPGA之异步复位同步释放》的相关信息,《菜鸟初入FPGA之异步复位同步释放》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《菜鸟初入FPGA之异步复位同步释放》的详细说明。
简介: 针对数字系统的设计,我们经常会遇到复位电路的设计,对初学者来说不知道同步复位与异步复位的区别与联系,本次笔记对这个问题简要的阐述下.

同步复位原理:同步复位只有在时钟沿到来时复位信号才起作用,则复位信号持续的时间应该超过一个时钟周期才能保证系统复位。

异步复位原理:异步复位只要有复位信号系统马上复位

两种方式各有优缺点

下面我们分别看下两种方式的区别

1.同步复位

always@(posedgeclk)//ornegedgerst_nif(!rst_n)b<=1'b0;elseb<=a;

RTL:

菜鸟初入FPGA之异步复位同步释放

2.异步复位

always@(posedgeclkornegedgerst_n)//if(!rst_n)b<=1'b0;elseb<=a;

RTL:

菜鸟初入FPGA之异步复位同步释放

和异步复位相比,同步复位没有用上寄存器的CLR端口,综合出来的实际电路只是把复位信号rst_n作为了输入逻辑的使能信号。那么,这样的同步复位势必会额外增加FPGA内部的资源消耗。

同步复位的好在于它只在时钟信号clk的上升沿触发进行系统是否复位的判断,这降低了亚稳态出现的概率;它的不好上面也说了,在于它需要消耗更多的器件资源,这是我们不希望看到的。

那么我们可以想到能不能把两者结合起来,这样,既解决了同步复位的资源消耗问题,也解决了异步复位的亚稳态问题。

3.异步复位、同步释放

modulesyn_asyn_rst(clk,rst,a,b,c);inputclk;inputrst;inputa;outputregb,c;regrst_n;always@(posedgeclk)rst_n<=rst;always@(posedgeclkornegedgerst_n)//if(!rst_n)b<=1'b0;elseb<=a;always@(posedgeclkornegedgerst_n)//if(!rst_n)c<=1'b0;elsec<=b;endmodule

RTL:

菜鸟初入FPGA之异步复位同步释放

各自的优缺点:

1、总的来说,同步复位的优点大概有3条:

a、有利于仿真器的仿真。

b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。

c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条:

a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。

b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。

2、对于异步复位来说,他的优点也有三条,都是相对应的

a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。

b、设计相对简单。

c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。

缺点:

a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。

b、复位信号容易受到毛刺的影响。

所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。

提醒:《菜鸟初入FPGA之异步复位同步释放》最后刷新时间 2024-03-14 00:55:58,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《菜鸟初入FPGA之异步复位同步释放》该内容的真实性请自行鉴别。