原文链接:https://blog.csdn.net/qq_16923717/article/details/81099833

timescale 的语法

timescale 是 Verilog 中的预编译指令,指定位于它后边的module的时间单位和时间精度,直到遇到新的 timescale 指令或者 resetall 指令。它的语法如下:

`timescale time_unit / time_precision

假如我们延时 x 个时间单位,那延时的总时间 time = x * time_unit, 但最后真正延时的时间是根据 time_precision 对 time 进行四舍五入后的结果,如下面的代码所示。

`timescale 100ns / 10ns           // 时间单位100ns,时间精度10ns
module tb;
reg [4:0] set;
parameter d1 = 20,d2 = 1.5,d3 = 1.54,d4 = 1.55;initial begin#d1   set = 0;      // real_delay = round(20*100)   = 2000ns#d2   set = 1;      // real_delay = round(1.5*100)  = 150ns #d3   set = 2;      // real_delay = round(1.54*100) = 150ns  // 以10ns为精度做四舍五入#d4   set = 3;      // real_delay = round(1.55*100) = 160ns  //  以10ns为精度做四舍五入
endendmodule

注意事项:
1)时间单位和时间精度只能是1、10 和100 这三种整数,单位有s、ms、us、ns、ps 和 fs;
2)时间精度必须小于等于时间单位

timescale 时间精度对仿真时间的影响

timescale 的时间精度设置是会影响仿真时间的,如下面几种设置。最后一种设置可能是第一种的一倍还多,并且占用更多的内存,所以若没有必要,应尽量将时间精度设置得更大一些。

`timescale 1ns / 1ns
`timescale 1ns / 100ps
`timescale 1ns / 10ps
`timescale 1ns / 1ps

verilog 中的 timescale相关推荐

  1. verilog中的timescale用法

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

  2. verilog中的timescale用法(转)

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

  3. verilog中timescale

    1. `timescale `timescale是Verilog中的预编译指令,指定位于它后边的module的时间单位和时间精度,直到遇到新的`timescale指令或者`resetall指令.它的语 ...

  4. verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser

    前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...

  5. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  6. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  7. FPGA之道(36)Verilog中的编译指令

    文章目录 前言 Verilog中的编译指令 define指令 timescale指令 inlcude指令 前言 本文摘自<FPGA之道>,一起来了解下Verilog中的编译指令. Veri ...

  8. Verilog中的条件编译语句 `ifdef、`else、`endif 等

    今天在参考大佬的RS232 Receiver的时候,用到了`ifdef指令,我虽知道它是条件编译指令,但是内容已经忘了差不多了,也不敢胡乱猜测.今天趁此机会总结一下: 一般情况下,Verilog HD ...

  9. Verilog中testbench的设计,文件读取和写入操作

    1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应. 端口分为 input,output 和 inout 类型产生激励信号的时候, input 对应的端口应当 ...

最新文章

  1. AI一分钟 |“最抢手”毕业生排名出炉:清华没进前三?支付宝将支持iPhone X刷脸
  2. 蓝色梦想,再次起航 | 水下目标检测算法比赛正式开赛!
  3. 判断一个字符串中的字符是否唯一
  4. MATLAB教程目录
  5. 4、删除数据表(DORP TABLE语句)
  6. 领扣 LeetCode 42:接雨水(java)(网易有道面试真题)
  7. 面试软件设计人员的方法,附面试题。我的面试注重实效
  8. 闪灵短链-微信QQ域名防拦截系统 v1.0
  9. XCODE快捷键和功能汇总篇(不断更新)
  10. java取负数_[Java] 告别“CV 工程师”码出高效!(基础篇)
  11. OpenCV学习——绘制图像灰色直方图
  12. Unity3D 资源加载 Resources.Load
  13. 解压版tomcat7安装教程
  14. win 10 右键新建offic失效问题
  15. android sd卡 spi,SD卡总结-SPI模式
  16. 转录组测序技术及结果解读(一)——测序样品设置及选择
  17. 应届生面试的5大技巧,附600字自我介绍范文
  18. RFID卡片的扇区与块地址的计算
  19. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  20. Teradata天睿任命王波为大中华区总裁

热门文章

  1. NYOJ 864 统计
  2. hdu 2896 病毒侵袭(AC自动机)
  3. NYOJ 711 最舒适的路线(并查集)
  4. Android的Fragment中onActivityResult不被调用
  5. 对象创建方法,对象的内存分配,对象的访问定位
  6. 【29.70%】【codeforces 723D】Lakes in Berland
  7. php pdo操作数据库
  8. NServiceBus教程-消息传递与处理
  9. 百度地图api应用程序大赛作品
  10. ./configure 参数解析