小编The*_*heo的帖子

在 System-verilog 中将 unsigned int 转换为 Time

我的 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时间尺度的原因是为了让我的模拟更快。非常欢迎其他建议或想法*

system-verilog

1
推荐指数
1
解决办法
9526
查看次数

标签 统计

system-verilog ×1