在Verilog HDL 模型中,所有时延都用单位时间表述。使用`timescale编译器指令将时间单位与实际时间相关联。该指令用于定义时延的单位和时延精度。`timescale编译器指令格式为:` timescale time_unit / time_precision 。其中,time_unit 和time_precision 由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。

例1:`timescale 1ns/100ps  表示时延单位为1ns, 时延精度为100ps。`timescale 编译器指令在模块说明外部出现, 并且影响后面所有的时延值。

例2:


`timescale 1ns/ 100ps

MODULE AndFunc (Z, A, B);

OUTPUT Z;

input A, B;

and # (5.22, 6.17 ) Al (Z, A, B);

//规定了上升及下降时延值。

endMODULE


编译器指令定义时延以ns为单位,并且时延精度为1/10 ns(100 ps)。因此,时延值5.22对应5.2 ns, 时延6.17对应6.2 ns。如果用`timescale 10ns/1ns  程序指令代替上例中的编译器指令,那么5.22对应52ns, 6.17对应62ns。

Tips:在编译过程中,`timescale指令影响这一编译器指令后面所有模块中的时延值,直至遇到另一个`timescale指令或`resetall指令。当一个设计中的多个模块带有自身的`timescale编译指令时将发生什么?在这种情况下,模拟器总是定位在所有模块的最小时延精度上,并且所有时延都相应地换算为最小时延精度。

另: 注意使用timescale时,前面为" ` ",体现在键盘上为数字键“1”前的按键,否则,编译时会出现以下问题:


** Error: src/counter16_tb.v(6): near "'t": Illegal base specifier in numeric constant.

** Error: src/counter16_tb.v(6): near "'t":  expecting: LIBRARY CONFIG
** Error: src/counter16_tb.v(6): Expecting numeric digits.


TestBench中的timescale 时间延迟与时间精度相关推荐

  1. verilog中的timescale用法

    timescale是Verilog HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真时的时间单位和时间精度.格式如下: `timescale 仿真时间单位/时间精度 注意:用于说明仿真时间单位 ...

  2. verilog中的timescale用法(转)

    /*********************************************************************/ 作者:IT小方 来源:CSDN 原文:https://b ...

  3. 关于`timescale命令的作用以及时间精度的理解

    1.什么是`timescale命令 `timescale命令绝大部分人都不陌生,多多少少都见过,但仍然存在许多我们需要注意的地方. `timescale命令是用来说明该命令后的模块的时间单位和时间精度 ...

  4. systemverilog中的时间单位和时间精度

    1. `timescale `timescale是systemverilog/verilog的预编译指令.指定位于该语句后面的time scope (module/program/package/in ...

  5. verilog 中的 timescale

    原文链接:https://blog.csdn.net/qq_16923717/article/details/81099833 timescale 的语法 timescale 是 Verilog 中的 ...

  6. mysql修改时间精度_Mysql时间精度丢失问题

    这两天发现一个问题,在数据库中使用了DateTime(3)类型的字段,但是发现本地的ide中入库的数据,所有的毫秒数为000,只能精确到秒,但是dev环境的服务器却是可以精确到正常的毫秒数.由于代码包 ...

  7. Linux获取纳秒级时间,WINDOW和LINXU下获取纳秒级时间精度

    WINDOWS下的实现 这一篇介绍Windows SDk中提供的时间函数.两种时间系统之间没有本质区别(事实上CRT时间是用Windows时间实现的,当然这是说的VC实现),同样提供本地时间和UTC时 ...

  8. 关于Linux nanosleep函数时间精度的测试

    时钟机制是驱动Linux内核运转的核心组件,他的工作方式有两种,periodic(周期性的)和NO_HZ_FULL(IDLE).在不同的模式下,时钟周期的精度是不同的,下面做实验验证一下. 测试用例: ...

  9. C++中 struct tm 和 time_t 时间和日期的使用方法

    1.概念       在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方.       下面主要介绍在C/C++中时间和日期的使用方法.     ...

最新文章

  1. CodeGen按钮循环
  2. opengl 创建context_OpenGL学习笔记1-创建窗口,绘制三角形
  3. 码农们不得不重视的问题
  4. C# WinForm 窗体标题栏 不可见
  5. linux中的查找文件夹
  6. 对抗训练浅谈:意义、方法和思考(附Keras实现)
  7. AtCoder Grand Contest 025
  8. 如何使用JavaScript访问对象的键中有空格的对象?
  9. matlab 机器学习相关函数、api
  10. 若想活得洒脱,就要学会看开
  11. Java判断是否为素数
  12. vue实现微信分享链接 生成卡片
  13. 概率论 参数估计与假设检验 区分及例子
  14. 2021/1/16-每日三题第23弹:skr小机灵鬼儿 ?你知道 JavaScript 中的原型和原型链是什么吗 ???
  15. 如何获取一个基因家族的所有小麦基因
  16. 大数据三维可视化展示系统的应用分析
  17. NMAD-2.14b1安装
  18. shiro 权限框架
  19. linux下安装 postgresql 14
  20. [喜闻乐见]期末尻♂总结

热门文章

  1. 6-7 判断回文字符串
  2. python分两列输出_python分两列输出
  3. JS事件代理(也称事件委托)是什么,及实现原理
  4. 20分钟降服Linux三剑客老大awk,让人拍案叫绝
  5. Java 贪吃的大嘴
  6. 算法提高(VIP)——贪吃的大嘴
  7. 【财务分析】-----背景+分析方法
  8. Curator之Recipes之选举
  9. html简单边框制作--特效文字制作及代码,一、 教你制作漂亮的HTML代码特效贴
  10. VRML---第四章第一部分(空间背景)