标签:异步 同步 rst0 clk 复位 clock Sys rst cycle
要求:实现一个异步复位,同步释放电路。复位信号低有效。
零、分析
改电路的优点是复位信号不受时钟限制,并且又有效减少了亚稳态发生的概率(如果复位信号在时钟上升沿撤销,则有可能产生亚稳态)。核心思想:寄存器打一拍防止亚稳态。
一、Verilog代码
module Sys_rst (
input clk,
input rst_n,
output reg rst0,
output reg rst1,
output sys_rst
);
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
rst0 <= 1'b0;
rst1 <= 1'b0;
end
else begin
rst0 <= 1'b1;
rst1 <= rst0;
end
end
assign sys_rst = rst1;
endmodule
二、test bench
`timescale 1ns/1ps
module Sys_rst_tb;
parameter clock_cycle = 20;
reg clk;
reg rst_n;
wire rst1;
wire rst0;
wire sys_rst;
initial begin
clk = 0;
rst_n = 1;
#clock_cycle rst_n = 0;
#(clock_cycle/2);
#clock_cycle rst_n = 1;
end
always #(clock_cycle/2) clk = ~clk;
Sys_rst Sys_rst_1(
.clk (clk),
.rst_n (rst_n),
.rst0 (rst0),
.rst1 (rst1),
.sys_rst (sys_rst)
);
endmodule
三、仿真波形
标签:异步,同步,rst0,clk,复位,clock,Sys,rst,cycle 来源: https://blog.csdn.net/bgskip/article/details/121932688
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。