0

VHDL中是否有与以下语句等效的Verilog?我有一些需要时间值的通用端口

constant TIME_C : time := 10 ms;

我尝试将此作为猜测,但语法失败。

localparam TIME_C = 10 ms;

'ms' 似乎不是 Verilog 中的保留关键字,但我的 IDE 编辑器将其突出显示为蓝色,所以我在想也许有一种方法......

4

1 回答 1

2

你可以这样做:

`timescale 1ms/1ms

module foo();
  localparam TIME_C = 10;
  ...
endmodule

在 Verilog 中,重要的是要理解表示时间的变量或常量只是没有任何上下文的数值。当前模块的时间刻度决定了如何解释该值。在上面的示例代码中,#TIME_C将创建 10 毫秒的延迟,因为 TIME_C 等于 10,时间刻度为 1 毫秒。

如果您必须向模块的端口提供时间值,请确保您知道模块的时间刻度(如果指定)。

仅供参考,SystemVerilog 添加了一些与指定时间和时间尺度相关的功能。

于 2013-01-02T16:11:17.803 回答