【发布时间】:2014-07-21 11:18:00
【问题描述】:
我的 System-Verilog 代码中有很大一部分使用参数来定义不同的等待时间,例如:
int unsigned HALF_SPI_CLOCK = ((SYSTEM_CLK_PERIOD/2)*DIVISION_FACTOR); //DEFINES THE TIME
现在,由于我在文件中定义了时间刻度,我可以直接使用这些参数来引入等待周期:
`timescale 1ns/1ns
initial begin
#HALF_SPI_CLOCK;
end
现在我想在任何地方都有时间指定的延迟。意味着即使我更改时间刻度,模拟仍然会尊重所有时间。我想保留参数,但无论我有等待语句,我都需要指定时间。像
#(HALF_SPI_CLOCK) ns;
但这不被 Modelsim 接受。有没有办法在 System-Verilog 中将参数或无符号整数转换为时间类型的变量?有没有办法指定时间单位?我环顾四周,但找不到任何解决方法。
我想要控制时间并使其独立于timescale is because I intend to change thetimescale 的原因是为了让我的模拟更快。
非常欢迎其他建议或想法*
【问题讨论】:
-
我会考虑在每个模块中使用
timeunit 1ns,这样就不用担心最后一次调用`timescale了。
标签: system-verilog