verilog中timescale
生活随笔
收集整理的這篇文章主要介紹了
verilog中timescale
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. `timescale
`timescale是Verilog中的預編譯指令,指定位于它后邊的module的時間單位和時間精度,直到遇到新的`timescale指令或者`resetall指令。它的語法如下:
`timescale time_unit / time_precision假如我們延時x個時間單位,那延時的總時間time = x*time_unit,但最后真正延時的時間是根據time_precision對time進行四舍五入后的結果,如下面的代碼所示。
1 `timescale 100ns / 10ns // 時間單位100ns,時間精度10ns 2 module tb; 3 reg [4:0] set; 4 parameter d1 = 20, 5 d2 = 1.5, 6 d3 = 1.54, 7 d4 = 1.55; 8 9 initial begin 10 #d1 set = 0; // real_delay = round(20*100) = 2000ns, 以10ns為精度做四舍五入 11 #d2 set = 1; // real_delay = round(1.5*100) = 150ns 12 #d3 set = 2; // real_delay = round(1.54*100) = 150ns 13 #d4 set = 3; // real_delay = round(1.55*100) = 160ns 14 end 15 16 endmodule注意事項:?
1)時間單位和時間精度只能是1、10和100這三種整數,單位有s、ms、us、ns、ps和fs;?
2)時間精度必須小于等于時間單位
2. `timescale時間精度對仿真時間的影響
`timescale的時間精度設置是會影響仿真時間的,如下面幾種設置。最后一種設置可能是第一種的一倍還多,并且占用更多的內存,所以如果沒有必要,應盡量將時間精度設置得更大一些。
1 `timescale 1ns / 1ns 2 `timescale 1ns / 100ps 3 `timescale 1ns / 10ps 4 `timescale 1ns / 1ps?轉載至:https://blog.csdn.net/qq_16923717/article/details/81099833
轉載于:https://www.cnblogs.com/yuandonghua/p/10444305.html
總結
以上是生活随笔為你收集整理的verilog中timescale的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Link Cut Tree学习笔记
- 下一篇: JS如何设置获取盒模型对应的宽高