当前位置: 首页 > news >正文

浅谈芯片验证中的仿真运行之 timescale (五)提防陷阱

一 仿真单位 timeunit

我们知道,当我们的代码中写清楚延时语句时,若不指定时间单位,则使用此单位;  例如:   `timescale 1ns/1ps     则 #15  语句表示delay15ns;

 例:如下代码,module a 的timescale是1ns/1ps, module b 是1ps/1ps;   module b中的clk,频率是由输入参数 t 决定的,在module a中例化 b 时,输入参数接 t1,而t1的值是5us。

 那么,我们期望的是inst_b中的clk 是每隔5us 翻转一次,也就是5000 ns翻转一次,然而事实真的如此吗?

通过仿真波形来看,实际上inst_b中的clk 每隔5ns翻转一次。  发生了什么事?  

因为“变量” 是没有单位这个概念的。

在module  a中定义的变量 t1=5us ,在a的timescale 1ns/1ps下,会被解析成5000,原因就是*细节点中提到的,“若指定单位,则仿真工具会转化为当前仿真单位的数值”,当前仿真单位是ns,所以"5us"会被解析成"5000"这个“数”。

然后,会把5000这个数,传给inst_b, 相当于module b中的forever语句变成: forever #5000 clk = ~clk;   然而&#

http://www.lryc.cn/news/406142.html

相关文章:

  • uniapp 重置表单数据
  • 自学YOLO前置知识
  • Ubuntu18.04 编译报错: Could NOT find JNI
  • SQL labs-SQL注入(五,使用sqlmap进行cookie注入)
  • C语言——内存管理
  • Unity UGUI 之 Image和Rawimage
  • Lua 语法学习笔记
  • Prometheus配置alertmanager告警
  • .net core 外观者设计模式 实现,多种支付选择
  • Matlab 命令行窗口默认输出(异常)
  • LeetCode/NowCoder-二叉树OJ练习
  • PSINS工具箱函数介绍——insplot
  • Docker简单快速入门
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 图像物体的边界(200分) - 三语言AC题解(Python/Java/Cpp)
  • 【无人机】低空经济中5G RedCap芯片的技术分析报告
  • MongoDB教程(二十一):MongoDB大文件存储GridFS
  • vue 搜索框
  • 国科大作业考试资料-人工智能原理与算法-2024新编-第五次作业整理
  • C++五子棋(未做完,但能玩,而且还不错)
  • 二分查找代码详解
  • uniapp的h5,读取本地txt带标签的文件
  • 韦东山嵌入式linux系列-具体单板的按键驱动程序(查询方式)
  • 如何使用 API list 极狐GitLab 群组中的镜像仓库?
  • PHP设计模式-简单工厂模式
  • C语言航空售票系统
  • Oracle 19c打Datapatch数据补丁报错处理
  • Linux shell编程学习笔记66:ping命令 超详细的选项说明
  • SSL/TLS和SSL VPN
  • 浅谈WebSerice
  • linux快速入门-学习笔记