timescale是Verilog HDL的时间刻度预编译指令,用于定义模拟模块时的时间单位和时间精度。 格式如下。
` timescale模拟时间单位/时间精度
注:用于说明模拟时间单位和时间精度的数字必须是1、10、100,不能是任何其他数字。 此外,时间精度不能大于时间单位。 最多两个是一样的大小。 例如,以下定义都是正确的。
` timescale 1ns/1ps
` timescale 100ns/100ns
以下定义是错误的:
` timescale 1ps/1ns
时间精度是一个模拟模块时间和延迟的精确程序,例如时间精度定义为10ns,时间序列中的所有延迟最大可精确到10ns,而8ns或18ns是不可能的。 在编译过程中,timescale命令会影响此编译器命令之后的所有模块的延迟值,直到找到另一个timescale命令resetall命令为止。 verilog没有默认的时间比例。 未指定timescale的verilog模块可能会错误地继承以前编译的模块的无效timescale参数。