module DFF_ASYNC_RST (Data, Clk, Reset, Q);
input Data, Clk, Reset;
output Q;
parameter U_DLY =1;
reg Q;
always @ (posedge Clk or negedge Reset)
if ( ~Reset)
Q <= #U_DLY 1'b0 ; 这里不懂是什么意思,求解答
else
Q <= #U_DLY Data ;
endmudule
module DFF_ASYNC_RST (Data, Clk, Reset, Q);
input Data, Clk, Reset;
output Q;
parameter U_DLY =1;
reg Q;
always @ (posedge Clk or negedge Reset)
if ( ~Reset)
Q <= #U_DLY 1'b0 ; 这里不懂是什么意思,求解答
else
Q <= #U_DLY Data ;
endmudule
延时 U_DLY 时间后,执行Q <= 1'b0 ;
U_DLY目前设置的是1,这种写法只能用于仿真,实际在FPGA芯片中这些延时会被去掉,
当这样写的时候,在文件开头应该有类似 `timescale 1 ns/1 ns 这样的时间刻度定义,这时候 parameter U_DLY =1;#U_DLY;代表的就是延时1 ns