摘要:资料来源 (1)《UVM实战-张强》; (2) Verilog系列:【3】文件的IO操作 (qq.com) (3) 《Practical UVM Step by Step with IEEE》 1.UVM_FILE的使用及示例 typedef int UVM_FILE; (1)在uvm_test_b
阅读全文
摘要:资料来源 (1) 硅芯思见:【119】SystemVerilog中的typedef前置声明方式 (qq.com) (2) sv绿皮书; 1.typedef作用 1.1自定义变量类型 1.2解决先使用类,后定义类的编译问题 (1)typedef用于将一些数据类型进行前置声明,这样仿真工具允许该类型的定
阅读全文
摘要:资料来源 (1) Verilog系列:【74】如何$random随机数 (qq.com) 1.$random随机函数 (1)功能:根据指定的种子(可以不指定种子)产生一个有符号的32位整型伪随机数; (2)使用:$random(seed)或$random()或$random;$random(seed
阅读全文
摘要:资料来源 (1) 硅芯思见:【101】如何例化传递interface数组 (qq.com) 1.背景 (1) 进行验证环境搭建时,需要通过interface连接由设计构成的静态世界(static world)和由验证环境构成的动态世界(dynamic world); 注1:static world主
阅读全文
摘要:问题: (1)什么是算法? (2)为什么算法值得研究? 1.算法 (1)定义&作用:算法就是计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出; (2)应用场景举例-排序: 输入: n个数的一个序列<a1, a2, ..., an>; 输出: 输入序列的一个排列<a1', a2
阅读全文
摘要:资料来源: (1) sv绿皮书; (2) 硅芯思见:【115】SystemVerilog中ref不是想用就能用 (qq.com); 1.参数方向简介 (1) Verilog对参数的处理方式比较简单,在子程序的开头把input和inout的值复制给本地变量,在子程序退出时,则复制output和inou
阅读全文
摘要:资料来源: (1) 硅芯思见:【108】聊点$display的一点事情 (qq.com) 1.$display 1.1$display的使用格式 (1) $display(format,p0,p1,...,pn),其中format用于描述输出格式,p0-pn为待display的内容; 1.2$dis
阅读全文
摘要:1.interface的例化 (1)可以通过bind方式实现,详见bind章节; 2.interface资源的存入与取出 (1)可以使用uvm_config_db::set/get或者uvm_resource_db::set/read_by_name; (2)关于存放时,路径层次的一个巧妙的处理(构
阅读全文
摘要:1.波形上显示枚举变量字符 1.1应用场景 需要将枚举类型的变量拉到interface上,但又不想在interface上重新定义enum; 1.2实现方法 (1) 在输出debug interface的uvc里面, 用[127:0]变量存储枚举类型的变量, 如下列黄色部分; (2) 在interfa
阅读全文
摘要:资料来源 (1) VCS user guide; 1.Compile-time Diagnostics 1.1Libconfig Diagnostics 1.2Timescale Diagnostics (1)可以使用vcs -diag timescale使能timescale diagnostic
阅读全文
摘要:资料来源 (1)公众号-芯片学堂; (2)VCS user guide; (3)面试系列:RTL基本知识【1】关于coverage (qq.com) (4) Verdi Coverage User Guide and Tutorial (手册是信息源头) 1.验证覆盖率 (1)验证覆盖率只是为了证明
阅读全文
摘要:斐波那契数列_百度百科 (baidu.com) 斐波那契数列的实现算法 - 代码书生 - 博客园 (cnblogs.com)
阅读全文
摘要:资料来源: (1) The UVM Primer; (2) uvm source code; (3) UVM1.1应用指南及源代码分析; 注1:field automation机制的本质是覆盖了uvm_object类中的m_uvm_field_automation函数,而不是定义了copy等函数,也
阅读全文
摘要:资料来源 (1) The UVM Primer; (2) sv绿皮书; (3) 硅芯思见:【106】SystemVerilog中的浅复制(shallow copy)和深复制(deep copy) (qq.com) 1.copy(要点是需要先例化) (1) copy对象不像想象的那么简单,简单的赋值语
阅读全文
摘要:资料来源: (1) The UVM Primer; 1.验证平台示例 1.1 run_test & uvm_config_db (1)注意下图中,需要import uvm_pkg,需要include uvm相关宏; (2)uvm_config_db的前两个参数为null和*,这意味着整个验证平台都能
阅读全文
摘要:资料来源: (1) The UVM Primer; 1.top-level testbench (1)import类的定义; (2)实例化DUT,BFM,声明testbench class变量; (3)实例化并启动testbench class; 1.1import类的定义(package与impo
阅读全文
摘要:资料来源 (1) The UVM Primer 1.参数化module 2.参数化类+静态变量+静态方法 3.参数化类+非静态变量+非静态方法
阅读全文
摘要:资料来源: (1) The UVM Primer 1.静态变量 1.1静态变量特点 (1)类里面的静态变量与静态方法和全局变量及全局方法较相似,但是相较于全局变量,更容易维护; (2)前面提到过,类只有在实例化时才会分配内存空间,严格地说,并不完全正确;如果类里面有静态变量,当定义类的时候,就会为静
阅读全文
摘要:资料来源 (1) Verilog系列:【2】generate常用用法 (qq.com) 1.1 generate block作用与语法 (1) 作用:写出可配置可综合的RTL,主要用于重复性实例化模块或者有条件地实例化模块; 注1:generate语句在解析阶段对某些语句进行选取或者重复,这些语句可
阅读全文
摘要:资料来源: (1) Vim 配置入门 - 阮一峰的网络日志 (ruanyifeng.com) (2) GVIM abbr使用方法 - 简书 (jianshu.com) (3) (13 条消息) 为什么vim不能兼容tab和空格键来indent? - 知乎 (zhihu.com) (4) Step b
阅读全文