那么菜
仗剑天涯,谁来也不怕
展开
-
浅谈芯片验证中的仿真运行之 compilation unit 技术(实践篇)
搭建TB 验证平台中,遇到的编译顺序问题汇总心得。原创 2022-11-29 21:54:07 · 1334 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 命名空间
关键名词解释:编译单元(compilation unit):SystemVerilog 源代码的集合 编译单元域(compilation-unit scope):即编译单元的本地范围,包含其他空间之外的所有声明SystemVerilog有8个命名空间,其中两个为全局,两个为编译单元域内全局,剩余四个为局部,分别如下:定义命名空间(definitions name space),即未被嵌入定义的module, macromodule, primitive, program, interfaces的原创 2022-03-24 11:17:13 · 238 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 compilation unit 技术(理论篇)
systemverilog 是被这么定义和描述的:它是一种硬件描述和验证语言,它继承于IEEE1364-2001,并扩充之,使其具有更高层次的建模能力,更多的被用于验证人员进行硬件的验证。像数据类型、数据结构、接口、对象、数组等,有编程语言,自然少不了编译编程语言的编译工具。目前主流的当属VCS编译和仿真工具,其功能之强大,令人称奇。Systermverilog 语言,支持...原创 2022-01-29 10:41:12 · 1205 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《实战篇》续(二)
浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《实战篇》续(一)_那么菜的博客-CSDN博客在前述一篇文章中,我们从案例中,可以知道如下的空间域下面,在经过timescale 和 timeunit/timeprecision 设置后,整体的时间单位和精度的具体划分如下图所示。但是从这个案例中,我们不妨多想一步:如下图红色圈出的部分,到底是timeunit/timeprecision 和 timescale 谁的设置优先级更高呢?我们上一章节的例子...原创 2022-01-28 17:29:12 · 622 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《实战篇》续(一)
在上面的章节讲述中,我们谈到了一个问题点:由于uvm_helloworld.sv 中的定义class , 处于无人管辖的状态,因为它直接听命于$unit这个终极大boss,如果大boss 很忙,而且class 又比较调皮古怪,经常惹出事情来。好了,大boss 考虑:那我空降一个钦差过去!原创 2022-01-28 13:20:09 · 562 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timescale (2)$timeformat的用法
语法$timeformat的语法如下:$timeformat(units_number, precision_number, suffix_string, minimum_field_wdith);其中:units_number: 是 0 到-15 之间的整数值,表示打印的时间值的单位:0 表示秒,-3 表示毫秒,-6 表示微秒,-9 表示纳秒, -12 表示皮秒, -15 表示飞秒;中间值也可以使用:例如-10表示以100ps为单位。其默认值为`timescalse所设置的仿真时间单位原创 2022-01-07 16:32:31 · 284 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timescale (2)小兵大将
不小看任何一个小问题,有时候,绊住你的可能是一个小小的微不足道。前两小节,我们简略的讲述了timescale 这个关键字,大家觉得怎么样?是不是还算简单。可不要骄傲哦。来道题试试看!原创 2022-01-27 20:03:37 · 842 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timescale (二)典型案例
【VCS中timescale报错案例】最近练习vcs时,发现一个以前没有注意的问题,就是利用vcs编译时,多个模块的摆放顺序会对timescale产生影响。第一张图里面我对多个模块的.v文件进行编译,顺序是aref_cunter.v sdram_aref.v sdram_init.v sdram_rd_wr.v master.v sdram_control_top.v sdram_model_plus.v tb_sdram_control_top.v,timescale 只在tb_sdra.原创 2021-12-28 17:51:51 · 949 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《理论篇》
【打卡日:2022年1月27日】概述前一段时间,稍微浅析一点的总结了一下 timescale、timeformat系统函数在 systernverilog语言中的用法和用途。还有一个关于时间问题的关键字,timeunit & timeprecision 。今天翻了翻<SystermVerilog_3.1a>第Section 18.10 章节,翻译下来大家看看试试。摘录于原文(英文翻译能力不好,怕打扰了原意):语法格式:timeunit 100ps;time原创 2022-01-27 18:58:21 · 524 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timescale (一)基础认知
一,基础知识概览`timescale是Verilog HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真 时的时间单位和时间精度。格式如下:`timescale 仿真时间单位/时间精度注意!!!(1)用于说明仿真时间单位和时间精度的 数字只能是1、10、100,不能为其它的数字。而且,时间精度不能比时间单位还要大。且最多两则一样大。比如:下面定义都是对的`timescale 1ns/1ps`timescale 1ns/1ns`timescale 10ns/...原创 2021-12-28 17:44:32 · 1070 阅读 · 0 评论 -
浅谈芯片验证中的仿真运行之 timeunit/timeprecision用法《实战篇》
上篇文章,我们一字一句的分析了语法书的介绍,今天列举一个小例子,这个实际中确实遇到过该问题带来的麻烦,耗费了一番功夫找出原因。今天分享给大家!为大家遇到该问题,快速找出bug定位,提供少许帮助。原创 2022-01-28 11:45:47 · 713 阅读 · 0 评论