同步复位:就是指复位信号只有在时钟上升沿到来时,才能有效,否则,无法完成对系统的复位工作。
~~~verilog
module sync_rst(
input clk_i,
input rst_n,
input din,
output reg dout
);
always @(posedge clk_i) begin
if(!rst_n)
dout <= 0;
else
dout <= din;
end
endmodule
~~~
![](https://img.kancloud.cn/fa/9a/fa9a63388af3b1c5f9a1f1d501836fa3_342x120.png)
异步复位:无论时钟是否到来,主要复位信号有效,就对系统进行复位。
~~~verilog
//Asynchronous Reset
module async_rst(
input clk_i,
input rst_n,
input din,
output reg dout
);
always @(posedge clk_i or negedge rst_n) begin
if(!rst_n)
dout <= 0;
else
dout <= din;
end
endmodule
~~~
![](https://img.kancloud.cn/c6/4e/c64ed77d5270f44a30bcc55b36fc91b9_272x136.png)
## **同步复位异步复位优缺点比较**
**同步复位的优点:**
* 一般能够确保电路是百分之百同步的。
* 确保复位只发生在有效时钟沿,可以作为过滤掉毛刺的手段。
**同步复位的缺点:**
* 复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位。同时还要考虑如:时钟偏移、组合逻辑路径延时、复位延时等因素。
* 由于大多数的厂商目标库内的触发器都只有异步复位端口,采用同步复位的话,就会耗费较多的逻辑资源。
**异步复位优点:**
* 异步复位信号识别方便,而且可以很方便的使用全局复位。
* 由于大多数的厂商目标库内的触发器都有异步复位端口,可以节约逻辑资源。
**异步复位缺点:**
* 复位信号容易受到毛刺的影响。
* 复位结束时刻恰在亚稳态窗口内时,无法决定现在的复位状态是1还是0,会导致亚稳态。
## **异步复位同步释放**
使用异步复位同步释放就可以消除上述缺点。所谓异步复位,同步释放就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。异步复位同步释放的原理图和代码如下:
~~~verilog
1//Synchronized Asynchronous Reset 2
module sync_async_reset (
input clock,
input reset_n,
input data_a,
input data_b,
output out_a,
output out_b
);
reg reg1, reg2;
reg reg3, reg4;
assign out_a = reg1;
assign out_b = reg2;
assign rst_n = reg4;
always @ (posedge clock, negedge reset_n) begin
if (!reset_n) begin
reg3 <= 1'b0;
reg4 <= 1'b0;
end
else begin
reg3 <= 1'b1;
reg4 <= reg3;
end
end
always @ (posedge clock, negedge rst_n) begin
if (!rst_n) begin
reg1 <= 1'b0;
reg2 <= 1'b0;
end
else begin
reg1 <= data_a;
reg2 <= data_b;
end
end
endmodule
~~~
![](https://img.kancloud.cn/75/6d/756dc128819c3feb8687660c727ce01f_789x469.png)
- 空白目录
- 流水线
- 流水线性能测评
- 计算机性能测评
- 流水线设计
- 购物车状态机
- 序列检测器
- 序列检测10010
- 序列检测10010带图
- 反相器
- 计数器
- 分频电路
- 偶数分频
- 奇数分频
- 小数分频
- 同步复位异步释放all
- 对的-异步复位同步释放原理
- 同步复位异步释放
- 异步复位为什么要同步释放 ?
- FPGA-异步复位同步释放 通俗解释
- 同步复位
- 状态机
- 状态机的分类
- 状态机5个要素
- FIFO
- 异步fifo中同步为什么要用两级触发器
- 亚稳态
- 亚稳态的产生机理、消除办法 (可以理解为什么打拍)
- 面向对象思想
- 为什么D触发器有setup time和hold time的要求
- Tsu,Tco,Th,Tpd的概念
- verilog
- 自启动
- 毛刺
- 冯诺依曼