总是锁存器的重置信号的重置类型是什么



我对系统verilog没有太多知识,我有以下问题。

正如我所知,如果重置信号的边沿在始终块的灵敏度列表中被触发,那么该重置信号的重置类型是"异步"我需要知道,always_Locket的重置信号的重置类型是什么?

module test (input in_1,in_2,rst,clk,sig, output reg out_1,out_2,out_3);
always_latch
begin
if(~rst) // what is the reset type of this reset signal.?
out_3 <= 0;
else if(~sig)
out_3 <= in_1;
end
wire x,x2;
second uu(x, x2, rst, clk, sig, out_1);
endmodule
module second(input i_1,i_2,r,c,sig, output reg o_1);
reg z,zz;
always@(negedge c or negedge r)
begin
if(~r) // asynchronous reset type
z <= 0;
else
z <= i_1;
end
always@(posedge c or negedge r)
begin
if(~r)  // asynchronous reset type
zz <= 0;
else
zz <= i_1;
end
endmodule

两个重置都是异步的。因为没有时钟,所以无法在锁存器中进行同步重置。示例中的always_latch构造创建了一个隐式敏感度列表

always @(rst or sig or in_1)

always灵敏度列表具有negedge r的原因是过滤掉r上升沿上的变化。如果你没有这个滤波器,r的上升沿将触发该块,并被视为时钟沿。

最新更新