A
anand
Guest
Hi,
I am new to RTL modeling, and I was reading some RTL files where the
designer had
statements like
always @(posedge clk or negedge reset_n)
begin
if (~reset_n) begin
s_en_d <= #1 1'b0;
s_en_pulse <= #1 1'b0;
sbusy_d <= #1 1'b0;
end
else begin
s_en_pulse <= #1 s_en && ~i2s_en_d;
sbusy_d <= #1 sbusy;
end
end
I am totally confused. I thought that in RTL designs that you actually
synthesize should not have # delays inserted since the Synopsys
compiler will ignore them.
Question is, if the Syn compiler will eventually ignore the # delays,
then why bother adding it in the RTL when all you can do is observe
this "phantom delay" in simulation?
Is there any value in observing deleays in simulation? A real world
code example would be appreciated.
-Thanks
I am new to RTL modeling, and I was reading some RTL files where the
designer had
statements like
always @(posedge clk or negedge reset_n)
begin
if (~reset_n) begin
s_en_d <= #1 1'b0;
s_en_pulse <= #1 1'b0;
sbusy_d <= #1 1'b0;
end
else begin
s_en_pulse <= #1 s_en && ~i2s_en_d;
sbusy_d <= #1 sbusy;
end
end
I am totally confused. I thought that in RTL designs that you actually
synthesize should not have # delays inserted since the Synopsys
compiler will ignore them.
Question is, if the Syn compiler will eventually ignore the # delays,
then why bother adding it in the RTL when all you can do is observe
this "phantom delay" in simulation?
Is there any value in observing deleays in simulation? A real world
code example would be appreciated.
-Thanks