浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《实战篇》

本文介绍了在芯片验证过程中遇到的timeunit/timeprecision问题,通过实例展示了不同timescale设置如何影响仿真结果。文章通过四个代码修改步骤揭示了timescale设置的层级关系,并解释了为何顶层模块的timescale设定会覆盖内部类的设定。最后提出了timescale调试的相关技巧。
摘要由CSDN通过智能技术生成

【timeunit/timeprecision 的坑】

上篇文章,我们一字一句的分析了语法书的介绍,今天列举一个小例子,这个实际中确实遇到过该问题带来的麻烦,耗费了一番功夫找出原因。今天分享给大家!为大家遇到该问题,快速找出bug定位,提供少许帮助。话不多说了,正题!

先看下面的一个例子。

tb_top.sv:

`timescale 10ps/1ps
module tb_top();

timeunit 1ns ;// 此处使用timeunit进行单位定义
timeprecision 1ps ;// 此处使用timeprecision 进行精度定义

reg clk,rst;

initial begin clk = 0; forever #5 clk = ~ clk;end
initial begin rst = 1'b0; #10 rst = 1; end

initial begin
run_test("helloworld_test") ;
end

initial begin
$fsdbDumpfile("tb_top.fsdb");
$fsdbDumpvars(0,"tb_top");
end
endmodule

uvm_helloworld.sv:

`ifndef HELLO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

那么菜

你的鼓励和批评是我最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值