现在的项目中需要设计一个上升沿检测电路,被检测信号为异步信号,应该怎样设计才能规避毛刺、亚稳态等问题?如果用如下的方法: always@(posedge clk or negedge rst) begin
if(!negedge rst) begin
reg1 <= 1'b0;
reg2 <= 1'b0;
end
else begin
reg1 <= data_in;
reg2 <= reg1;
end
end
assign data_out = reg1 & ~reg2;
这种设计即经典的两级同步方法,在异步设计中常用 ,可以保证reg2处于非亚稳态,但reg1仍有可能处于亚稳态,因此是否需要在reg1前再增加一级DFF呢?