-
2022-04-26 16:20:10
同步和异步是针对时钟信号而言的。以时钟上升沿触发的同步复位和异步复位为例。
同步复位需要一个reset的输入,可以规定在reset为1时复位。但在同步复位的条件下,并不是reset变成1之后马上就能复位,而是要等到下一个时钟上升沿,此时才能复位。
异步复位也需要一个reset的输入,我们也规定在reset为1时复位。在异步复位的条件下,reset变成1之后(即reset的上升沿)立刻就能复位,并不需要等到下一个时钟上升沿。
module top_module ( input clk, input areset, // active high asynchronous reset input [7:0] d, output [7:0] q ); always@(posedge clk or posedge areset)begin if(areset) q = 8'b00000000; else q = d; end endmodule
更多相关内容 -
同步复位和异步复位有什么区别?
2020-08-04 13:44:46一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。 -
verilog中同步复位,异步复位,同步释放优缺点以及PLL配置复位设计.docx
2020-04-08 19:15:26verilog中同步复位,异步复位,同步释放优缺点以及PLL配置复位设计 -
verilog同步复位PK异步复位
2020-08-18 06:57:21时钟和复位是FPGA中关键,下面是特权写的,复制以备找工作~~~ -
基础电子中的同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放
2020-11-15 21:26:03一、同步复位与异步复位特点: 同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。 异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。 二、异步... -
同步复位及异步复位设计
2020-11-17 15:32:52到底是采用同步复位还是异步复位,全局复位还是局部复位,是由多方面的因素决定的。但良好的复位设计既可以提高系统的可靠性,又可以节省大量的逻辑资源。在实际应用中,笔者也看到过很多因为复位电路设计问题而导致... -
同步复位,异步复位,异步复位,同步释放
2021-08-05 10:27:36同步复位 同步复位:是指当复位信号发生变化时,并不立即生效,只有当有效时钟沿采样到已变化的复位信号后,才对所有寄存器复位。 同步复位电路如下图所示: always @(posedge clk) begin if(!rst_n) dout <...同步复位
同步复位:是指当复位信号发生变化时,并不立即生效,只有当有效时钟沿采样到已变化的复位信号后,才对所有寄存器复位。
同步复位电路如下图所示:
always @(posedge clk) begin if(!rst_n) dout <= 0; else dout <= din; end
异步复位
异步复位: 无论时钟沿是否到来,只要复位信号有效,就对系统进行复位
always @(posedge clk or negedge rst_n) begin if(!rst_n) dout <= 0; else dout <= din; end
优缺点比较
异步复位,同步释放
什么情况下要用异步复位,同步释放
为了防止复位信号在撤除时产生亚稳态事件。
1)电路目的:防止复位信号撤除时产生亚稳态事件。
2)什么是异步复位和同步释放:是指复位信号是异步有效的,即复位的发生与clk无关。后半句“同步释放”是指复位信号的撤除也与clk无关,但是复位信号是在下一个clk来到后起的作用(释放)。
下面说明一下如何实现异步复位和同步释放的。
异步复位:显而易见,rst_async_n异步复位后,rst_sync_n将拉低,即实现异步复位。
同步释放:这个是关键,看如何实现同步释放,即当复位信号rst_async_n撤除时,由于双缓冲电路(双寄存器)的作用,rst_sync_n复位信号不会随着rst_async_n的撤除而撤除。
假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件,但是加上此电路以后,假设第一级D触发器clk上升沿时rst_async_n正好撤除,则D触发器输出高电平“1”,此时第二级触发器也会更新输出,但是输出值为前一级触发器clk来之前时的Q1输出状态。显然Q1之前为低电平,顾第二级触发器输出保持复位低电平,直到下一个clk来之后,才随着变为高电平。即同步释放。
module reset_gen ( output rst_sync_n, input clk, rst_async_n); reg rst_s1, rst_s2; wire rst_sync_n ; always @ (posedge clk, posedge 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; //注意这里的rst_sync_n才是我们真正对系统输出的复位信号 endmodule
-
同步复位、异步复位、异步复位同步释放
2022-01-04 17:55:391、同步复位 同步复位,即如果复位信号有效,则只能在时钟上升沿让电路复位。 always @ (posedge clk) begin if (!rst_n) xxxx; end 注意:在此always块中,敏感量只有一个,即clk的上升沿,此含义是,只有...目录
1、同步复位
同步复位,即如果复位信号有效,则只能在时钟上升沿让电路复位。
always @ (posedge clk) begin if (!rst_n) xxxx; end
注意:在此always块中,敏感量只有一个,即clk的上升沿,此含义是,只有在clk的上升沿才能执行always块,否则不执行。于是如果复位信号有效,也只能等到clk上升沿才能执行always块,才能使电路复位!
同步复位的优缺点:
2、异步复位
复位信号不受时钟的控制,无论时钟沿是否到来,只要复位信号有效,就会对系统进行复位。
一般让复位信号低电平有效。
always @ (posedge clk or negedge rst_n) begin if (!rst_n) xxxx; else if (xx) begin xxxx; end end
注意:在此always块中,敏感量为两个,一个是clk的上升沿(posedge clk),一个是复位信号rst_n的下降沿(negedge rst_n),当复位信号下降沿出现时,不论clk在什么状态,都执行always块,即复位!
异步复位的优缺点:
3、异步复位同步释放
假设复位信号低电平有效rst_n,当复位信号无效时,也就是复位信号拉高时,即为复位信号的释放。
由于异步复位信号与时钟无必然联系,两者都是独立的,所以复位信号的释放将有一定的概率导致电路出现亚稳态。
所谓异步复位同步释放,就是在rst_n信号为低时,立刻进行复位,而rst_n信号由低到高释放时,为了防止亚稳态的出现,将rst_n信号用DFF向后延一周期,达到与时钟clk边沿同步的目的。
经典的异步复位同步释放代码如下:
module asyn_reset( clk , rst_n , rst_s2 ); input clk ; input rst_n ; output reg rst_s2; reg rst_s1; always @ (posedge clk or negedge rst_n) begin if (!rst_n) begin rst_s1 <= 1'b0; rst_s2 <= 1'b0; end else begin rst_s1 <= 1'b1 ; rst_s2 <= rst_s1 ; end end endmodule
综合出的电路如下:
复位信号拉高,相当于
rst_n
对高电平进行采样;由于异步复位需要在时钟上升沿进行释放,故在
rst_n=1
后,让信号rst_s1
对电平1
进行采样,之后再打一拍到寄存器rst_s2
。相当于高电平被打了两拍才输出到rst_s2
,达到了复位信号的释放与时钟clk
同步的目的。参考文献:
-
同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc
2022-02-11 20:20:57同步复位与异步复位-异步复位和同步复位区别-异步复位同步释放.doc -
如何区分同步复位和异步复位?
2021-01-14 21:56:14如何区分同步复位和异步复位? 如何区分同步复位和异步复位?可以理解为同步复位是作用于状态,然后通过状态来驱动电路复位的吗(这样理解的话,复位键作为激励拉高到响应拉高,是不是最少要2拍啊)? 以上问题...如何区分同步复位和异步复位?
如何区分同步复位和异步复位?可以理解为同步复位是作用于状态,然后通过状态来驱动电路复位的吗(这样理解的话,复位键作为激励拉高到响应拉高,是不是最少要2拍啊)?
以上问题可以理解为:
1、何时采用同步复位,何时采用异步复位;
2、复位电路是用来干嘛的;
3、激励和响应的分析(单拍潜伏期)是否适用于复位逻辑。
详细解释:
1、电路中,何时采用同步或异步,取决于设计者,取决于当前设计电路的需要。一般而言:高速逻辑应该采用同步复位,低速逻辑可以采用异步复位;涉及人机交互的复位,适合异步复位;涉及机器之间的握手交互,应该采用同步;涉及到全局作用域的复位信号,作用于高速逻辑时,应该采用同步复位,作用于低速逻辑时,应该采用异步复位。
2、复位电路是对特定输出信号的初始化,即上电之后,实际电路未工作之前,你希望电路从什么样的原始状态(指所有需要管理的内部信号和外部信号)开始工作,而对这些原始状态的初始化,则是复位电路的职能。
3、激励和响应,应用于同步电路中,相同时钟域的潜伏期分析,根据单拍潜伏期规律(或定律),适合所有信号。但你的问题应该明确:激励是输入,响应是输出。复位信号是输入,是激励,不是响应。
完
后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。
江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!
【QQ交流群】
群号:173560979,进群暗语:FPGA技术江湖粉丝。
多年的FPGA企业开发、培训经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,FPGA技术江湖打造最纯净最专业的技术交流学习平台。
【微信交流群】
现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。
欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式,更多精彩内容等你发现!
-
FPGA的同步复位与异步复位
2022-04-08 17:02:20fpga中的同步复位和异步复位 -
同步复位和异步复位及特点
2020-08-20 09:42:19复位电路是每个数字逻辑电路的重要组成部分之一。复位方式大致分为二类: 同步复位和异步复位 -
同步复位、异步复位、异步复位同步释放笔记
2020-07-31 22:15:45同步复位、异步复位、异步复位同步释放笔记 一般来说,竞争-冒险是由于组合电路竞争冒险产生毛刺,从而影响整个逻辑电路。其实时序电路中也是存在竞争-冒险的,而这一特性主要是由D触发器输入端信号之间的竟争产生的... -
同步复位与异步复位
2021-04-07 11:41:59在FPGA设计中,我们遵循的原则之一是同步电路,即所有电路是在同一时钟下同步地处理数据。这个概念可进一步展开,即不局限于同一时钟,...以复位信号为例,就有同步复位和异步复位之分。我们从HDL代码角度看一下二者的. -
RTL设计中的同步复位与异步复位
2022-01-24 10:57:53RTL设计中的同步复位与异步复位 -
同步复位和异步复位的比较
2020-08-30 15:03:10无论同步还是异步复位,在对触发器时序进行分析的时候,都要考虑复位端与时钟的相位关系。 -
FPGA同步复位、异步复位、异步复位同步释放
2021-08-12 12:06:201、复位的重要性 数字电路中寄存器和 RAM 在上电之后默认的状态和数据是不确定的,如果有复位,我们可以把寄存器 复位到初始状态 0,RAM 的数据可以通过复位来触发 RAM 初始化到全 0。那可能很多人会问为什么是全 0... -
FPGA同步复位与异步复位_领航者开发板
2021-12-31 12:22:53关于FPGA中的同步复位与异步复位,之前从未考虑过两者之间的区别,使用时也是随意使用。本篇笔记主要记录一下二者之间的区别,内容均摘自百度、博客等。 1.同步复位 同步复位就是指复位信号只有在时钟上升沿到来时... -
Verilog中同步复位和异步复位比较
2020-12-19 17:21:00【Verilog】 同步复位和异步复位比较 同步复位 sync 异步复位 async 特点 复位信号只有在时钟上升沿到来时才能有效。 无论时钟沿是否到来,只要复位信号有效,就进行复位。 Verilog描述 ... -
同步复位好还是异步复位好呢?
2021-01-08 14:58:14同步复位 同步复位指的是当时钟上升沿检测到复位信号,执行复位操作,有效的时钟沿是前提。 Verilog 中是这样写的: //input dat; //reg tmp; always @ (posedge clk) begin if(!rst_n) tmp <= 0; else ... -
面试经典问题系列--同步复位与异步复位
2021-09-09 13:17:57最近遇到些复位的问题,在这里整理下有关同步复位、异步复位及异步复位同步释放。 复位目的: 复位的基本目的是使器件进入到可以稳定工作的确定状态。 如避免器件在上电后进入到随机状态导致跑飞了。或者运行... -
FPGA的异步复位与同步复位
2020-03-29 17:06:32FPGA的异步复位与同步复位 博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来投稿,谢谢! 引言 在做FPGA或者数字IC电路设计的时候,无法避免的一个问题就是电路的复位设计,电路的复位方式... -
VHDL同步复位与异步复位
2020-06-04 22:42:02同步复位 只有当“时钟沿”到来时,才能完成复位。 异步复位 无论“时钟沿”是否到来,只要复位信号到来,就完成复位。 Example 以D触发器为例来说明同步复位和异步复位的区别。 code library IEEE; use IEEE.STD_... -
一文搞懂异步复位,同步复位
2022-02-23 21:13:38一文搞懂 异步复位,同步复位说明区别异步复位同步复位实例特别说明 说明 写计数器代码的时候,实现同步高电平有效复位,复位值为0,发现对于复位模棱两可,由此记录下来! 区别 异步复位 复位信号不受时钟影响,... -
Verilog中同步复位与异步复位的区别
2022-04-05 18:39:46同步复位 只有上升沿(posedge clk)一个敏感项 module top_module ( input clk, input areset, // active high synchronous reset input [7:0] d, output [7:0] q ); always @(posedge clk )begin if(reset) ... -
FPGA学习(一)同步复位和异步复位的区别
2022-04-09 15:48:04一、同步复位 定义:从名字来看,同步也就是和时钟同步的关系,一起发生变化。所以同步复位就是只有时钟上升沿到来时,才能产生有效变化;否则,无法产生对系统的复位操作。举个例子如下: //一个高电平有效的... -
单片机与DSP中的基于80C552单片机的多芯片同步复位电路
2020-12-08 11:52:24摘要:首先分析了单片机应用系统的一般复位电路,然后讨论了多芯片系统对复位功能的要求,并针对80C552的特殊复位结构,详细介绍了一种软件、硬件相结合的同步复位电路。 关键词:软件复位;同步;可靠性 引言 ... -
verilog中的同步复位与异步复位
2020-12-26 15:17:56同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下: always @ (posedge clk) begin if (!Rst_n) … end 异步复位:它是指无论时钟...