寄存器赋值加延时
时间:10-02
整理:3721RD
点击:
看见过这样的代码:always@(posedge clk or negedge rst_n)
if(!rst_n)
q <= d;
else
q <= #DELAY d;
这里面的#DELAY有什么用啊?是为了保证采样数据的正确吗?
if(!rst_n)
q <= d;
else
q <= #DELAY d;
这里面的#DELAY有什么用啊?是为了保证采样数据的正确吗?
仿真用吧,综合无效
仿真好像也没有用啊?
模拟信号在FPGA内的延迟
好像只有这个功能了,不用可以吗?
仿真时用来模拟线路传输延迟的,综合时会被忽略掉。
去掉也可以,这个应该是为了查看波形方便,如果没加先后关系(posedge clk和q的变化点)波形就看不出来。
没加的话仿真工具也是能够判断先后的。
综合后本身就会产生delay。
那加了,会不会用buffer代替1ns呢?
不会,综合工具会无视这个delay声明的。
3q了
仿真用的,实际物理上无法实现的
