异步复位、同步释放 采用如下代码可能会更直观一点:
wire sys_rst;
reg tmp_rst1, tmp_rst2;
//产生异步复位、同步释放信号
always @ (posedge clock, negedge reset_n) begin
if (!reset_n)
begin
tmp_rst1 <= 1'b0;
tmp_rst2 <= 1'b0;
end
else
begin
tmp_rst1 <= 1'b1;
tmp_rst2 <= tmp_rst1;
end
end
assin sys_rst = tmp_rst2;
//使用异步复位、同步释放信号
always @ (posedge clock, negedge sys_rst) begin
if (!sys_rst)
data <= 1'b0;
else
data <= 1'b1;
代码参考:https://www.cnblogs.com/yfwblog/p/4793118.html
本文转载,原文请戳这里~