命令格式
`timescale <时间单位>/<时间精度>
时间单位 定义模块中仿真时间和延迟时间的基准单位
时间精度 声明该模块的仿真时间的精确程度
有效数字 1 10 100
有效单位 秒 毫秒 微秒 纳秒 飞秒
注意事项
在同一个设计中,存在多个`timescale命令,则用最小的时间精度值来决定仿真的时间单位
时间精度值不能大于时间单位值
代码举例
`timescale 10ns/1ns
moudle test;
reg set;
parameter d1 = 1.54;
parameter d2 = 1.55;
initial begin
#1 set = 0; //延时一个时间单位10ns
#d1 set = 1; //延时10ns*1.54=15.4ns≈15ns
#d2 set = 0; //延时10ns*1.55=15.5ns≈16ns
end
endmoudle
扩展
目前最新的AMD Ryzen™ 7 9800X3D,基准时钟频率达到了4.7 GHz
时钟频率该如何计算呢
时钟周期(s)=1/时钟频率(Hz)
时钟周期(s) = 1 / 时钟频率(Hz)
时钟周期(s)=1/时钟频率(Hz)
这里补充一下时间的换算以及时钟频率对应的时钟周期
1s=103ms=106μs=109ns=1012ps=1015fs
1s = 10^3ms = 10^6μs = 10^9ns = 10^12ps = 10^15fs
1s=103ms=106μs=109ns=1012ps=1015fs
时钟频率 | 时钟周期 |
---|---|
1GHz | 1ns |
1MHz | 1μs |
1KHz | 1ms |
1Hz | 1s |