惯性时延:
惯性时延模拟了逻辑门的传播延迟。语法为:
#<延迟值> <表达式>;
例如:
module InertialDelayExample(
input wire a,
input wire b,
output reg result
);
always @(a or b)
#5 result = a & b;
endmodule
在这个例子中,result 的值在输入信号 a 或 b 发生变化后,延迟了5个时间单位后才更新。
传输时延:
传输时延模拟了信号的传播时间,而不考虑逻辑门的延迟。语法为:
#<传播延迟值> <传输延迟值> <表达式>;
例如:
module TransportDelayExample(
input wire a,
input wire b,
output reg result
);
always @(a or b)
#10 result = a & b;
endmodule
在这个例子中,result 的值在输入信号 a 或 b 发生变化后,经过10个时间单位传播时间后立即更新,而不考虑逻辑门的延迟。
请注意,时延值是一个非负整数,用于模拟电路中信号的传播时间。不同的仿真工具可能对时延的处理有一些差异,因此在使用时需要注意仿真工具的文档和规范。
转载请注明出处:http://www.zyzy.cn/article/detail/15093/Verilog