我的 System-Verilog 代码很大一部分使用参数来定义不同的等待时间,例如:
int unsigned HALF_SPI_CLOCK = ((SYSTEM_CLK_PERIOD/2)*DIVISION_FACTOR); //DEFINES THE TIME
Run Code Online (Sandbox Code Playgroud)
现在,由于我在文件中定义了时间刻度,我可以直接使用这些参数来引入等待周期:
`timescale 1ns/1ns
initial begin
#HALF_SPI_CLOCK;
end
Run Code Online (Sandbox Code Playgroud)
现在我希望各地都有指定时间的延误。意味着即使我更改时间尺度,模拟仍然会尊重所有计时。我想保留参数,但只要有等待语句,我就需要指定时间。就像是
#(HALF_SPI_CLOCK) ns;
Run Code Online (Sandbox Code Playgroud)
但这不被 Modelsim 接受。有没有办法在 System-Verilog 中将参数或 Unsigned int 转换为时间类型的变量?有没有办法指定时间单位?我环顾四周但找不到任何解决方法。我想控制时间并使其独立于timescale is because I intend to change the时间尺度的原因是为了让我的模拟更快。非常欢迎其他建议或想法*