verilog中的延时问题
时间:10-02
整理:3721RD
点击:
verilog中的延时(#time)是不可以综合的,但是下面的代码中的延时却是有作用的,怎样解释?
module ver(
//output
out1,
out2,
//input
a,
b
);
output out1;
output out2;
input a;
input b;
reg out1;
reg out2;
always @(a or b)
begin
out1=a;
#10 out2=b;
end
endmodule
module ver(
//output
out1,
out2,
//input
a,
b
);
output out1;
output out2;
input a;
input b;
reg out1;
reg out2;
always @(a or b)
begin
out1=a;
#10 out2=b;
end
endmodule
It's just for RTL level dynamic simulation, and it will be ignored by synthesizer
仿真的时候延时都是有用的,综合的时候延时就会被忽略掉...
虽然功能上#10是有效的,而且不可忽略!但是综合成电路的时候,#10应该是没有对应的电路的!
#10 是不可综合的语法
这是用来仿真的
#可以仿真,不可综合
可编译,可仿真,但被综合其忽略。综合后用生成的网表和SDF做个后仿真,就发现差别了
这是告诉你接口信息,相对于模拟实际的输出情况
仅用于仿真,实际中延时需要靠走线 或实际的逻辑单元
可以这么写,综合时会被忽略
看了大家的回帖,学习到不少东西啊
仿真专用的
顺便说一句:回去记得看书
