【system verilog】继续探究IC前端仿真中的“时间”,timescale,timeunit/timeprecision设置

前言

仿真中的时间单位/时间精度设置是保证验证环境稳定高效的重要手段,但是很多场景下却常常被忽视。如果没有设置合理的相对统一的时间单位/时间精度,不仅延时、打印等信息会不准确,多模块/环境协同时也会隐藏难以发现的问题。

因此,继续探究仿真中的时间概念,timescale,timeunit/timeprecision等。

timeunit/timeprecision

timeunit/timeprecision即仿真时间单位/时间精度,是仿真时间这个维度上两个重要的概念。

时间单位就是作用域对于相对延迟而言,#1时默认延迟的时间,一般而言timeunit的设置对于绝对延迟(#200ns)没有影响,不过VCS有一个意外情况疑似bug;大部分的仿真器默认的timeunit是1ns。

时间精度就是作用域能够感知的最小延时,当timeprecision=1ps时,#0.4ps会被忽略,#0.5ps会被认为#1ps,。

说起timeunit/timeprecision可能还会有点生疏,但是timescale就很熟悉了,`timescale = 1ns/1ps即timeunit=1ns,timeprecision=1ps,这个我们会在后面做细致探究。

相对时间/绝对时间

相对时间就是相对于timeunit为单位的时间,当timeunit=10ns时,#100就是#100*10ns即1000ns;绝对时间就是不想理会当前域的timeunit/timeprecision配置,延时一个绝对时间值,当然timeprecision精度以下的小数值还是会被四舍五入。

当timeunit/timeprecision

  • 4
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼德兰的喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值