前言
仿真中的时间单位/时间精度设置是保证验证环境稳定高效的重要手段,但是很多场景下却常常被忽视。如果没有设置合理的相对统一的时间单位/时间精度,不仅延时、打印等信息会不准确,多模块/环境协同时也会隐藏难以发现的问题。
因此,继续探究仿真中的时间概念,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,这个我们会在后面做细致探究。
相对时间/绝对时间
相对时间就是相对于timeun