11 2021 档案

vcs与verdi单步调试, vcs ucli调试hang【IMP】
摘要:资料来源 (1) VCS与verdi联合进行单步调试 | 骏的世界 (lujun.org.cn) (2) 当simulation hang住的时候该怎么办? (qq.com) (3) https://blog.csdn.net/gsjthxy/article/details/107207452 注1 阅读全文

posted @ 2021-11-30 13:03 知北游。。 阅读(2009) 评论(0) 推荐(0) 编辑

2.1-AHB(简介与信号描述)
摘要:资料来源 (1) AHB总线协议(一)_weixin_33875839的博客-CSDN博客 【未阅】 (2) AHB_百度百科 (baidu.com)【未阅】 (3) AHB总线协议(一) - 迈克老狼2012 - 博客园 (cnblogs.com) 【未阅】 (4) AHB总线协议(二) - 迈克 阅读全文

posted @ 2021-11-29 09:45 知北游。。 阅读(891) 评论(0) 推荐(0) 编辑

uvm通信-uvm_barrier & uvm_barrier_pool
摘要:资料来源 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - 1.uvm_barrier (1) UVM提供了一个新的类uvm_barrier用来对多个组件进行同步协调,同时为了解决组件独立运作的封闭性需要,也定义了新的类uvm 阅读全文

posted @ 2021-11-28 18:08 知北游。。 阅读(191) 评论(0) 推荐(0) 编辑

篇2-随机约束问题(不含答案)
摘要:资料来源 (1)公众号-jy是个宝贝; 问题链接: https://mp.weixin.qq.com/s/aKHre4MoKnLHhDWdj3rVAg 随机约束问题(检验熟悉程度) 一、rand和randc的区别?随机化的数据类型是什么样的?如何随机化出X和Z值? 二、const的作用? 三、dis 阅读全文

posted @ 2021-11-28 13:12 知北游。。 阅读(105) 评论(0) 推荐(0) 编辑

篇8-类的一些常见问题(不含答案)
摘要:资料来源 (1)公众号-jy是个宝贝; 公众号原文链接:https://mp.weixin.qq.com/s/MLJt0lcADNysQwog5ETVmQ 公众号参考答案链接:https://mp.weixin.qq.com/s/qkdcKRNhAbywg_rG35IS1w 类的一些常见问题(检验掌 阅读全文

posted @ 2021-11-28 12:52 知北游。。 阅读(71) 评论(0) 推荐(0) 编辑

篇9-verilog例化与sv OOP例化的区别,new函数介绍,对象的解除分配
摘要:资料来源 (1) sv绿皮书; (2) Verilog系列:【59】new的初始化顺序 (qq.com) 1.verilog例化与sv OOP例化的区别 (1).verilog模块是在代码被编译时例化的,而system verilog类是在运行中测试平台需要的时候才被创建; (2).verilog的 阅读全文

posted @ 2021-11-28 12:34 知北游。。 阅读(810) 评论(0) 推荐(0) 编辑

【LSF】如何批量结束计算集群中的任务
摘要:资料来源 (1) 公众号-icsoc; 如何批量结束计算集群中的任务 (1) 问题 目前许多 IC 公司的计算集群都是 LSF 管理的。如何结束批量运行的 EDA 任务?例如运行 PT DMSA 时,会同时提交大量的进程,当运行有错误想中止任务时,在 Terminal 按 ctrl-c 会立即中断 阅读全文

posted @ 2021-11-27 23:03 知北游。。 阅读(549) 评论(0) 推荐(0) 编辑

【linux】如何删除类似.nfs000xxxx的文件
摘要:资料来源 (1) 公众号-icsoc; 如何删除类似.nfs000xxxx的文件 (1) IC 设计一般来说都是在 Linux 服务器上完成的,频繁的启动、结束 EDA 工具,生成、删除临时数据,难免会出现类似 .nfs000xxx 的文件。 (2) 当尝试使用 rm 去删除它时,会有下面的提示: 阅读全文

posted @ 2021-11-27 22:58 知北游。。 阅读(2761) 评论(0) 推荐(0) 编辑

16-在属性中使用形参,在属性中使用局部变量,以及在序列匹配时调用子程序
摘要:资料来源 (1) sv assertion; (2) 硅芯思见:【84】SVA中的形式参数 (qq.com) (3) 硅芯思见:【93】SVA中的局部变量和子程序 (qq.com) 1.在属性中使用形参 (1) 可以用定义形参的方式来重用一些常用的属性. (2) SVA允许使用属性的形参来定义时钟. 阅读全文

posted @ 2021-11-25 16:28 知北游。。 阅读(222) 评论(0) 推荐(0) 编辑

篇15-内建系统函数与disable iff构造
摘要:1.内建系统函数 $onehot(expression)—检验表达式满足“one-hot”,换句话说,就是在任意给定的时钟沿,表达式只有一位为高。 $onehot0(expression)—检验表达式满足“zero one-hot”,换句话说,就是在任意给定的时钟沿,表达式只有一位为高或者没有任何一 阅读全文

posted @ 2021-11-25 16:26 知北游。。 阅读(1063) 评论(0) 推荐(0) 编辑

14-first_match构造/throughout构造/within构造
摘要:资料来源 (1) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) (例子很好) 1.first_match构造 (1) 使用了逻辑运算符(如“and”和“or”)的序列中指定了时间窗,有可能出现同一检验具有多个匹配的情况。“first_match”构造可以确保只用第一次序列匹配,而丢 阅读全文

posted @ 2021-11-25 14:00 知北游。。 阅读(1203) 评论(0) 推荐(0) 编辑

13-and构造/intersect构造/or构造
摘要:资料来源 (1) SVA中的与或非(and_or_not) (qq.com) (2) system verilog assertions应用指南 (3) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) 1.and构造 (1) 二进制运算符“and”可以用来逻辑地组合两个序列。当两个序 阅读全文

posted @ 2021-11-24 22:35 知北游。。 阅读(659) 评论(0) 推荐(0) 编辑

12-重复运算符(连续重复,跟随重复,非连续重复)
摘要:资料来源 (1) 硅芯思见:【87】SVA中的重复运算操作 (qq.com) 1.连续重复(可用于表达式和序列) (1) 信号或者序列将在指定数量的时钟周期内都连续地匹配。信号的每次匹配之间都有一个时钟周期的隐藏延迟。 (2) 连续重复运算符的基本语法:signal or sequence [*n] 阅读全文

posted @ 2021-11-24 22:22 知北游。。 阅读(1167) 评论(0) 推荐(0) 编辑

篇11-$past构造与带时钟门控的$past构造
摘要:1.$past构造 (1) SVA内嵌系统函数“$past”可以得到信号在几个时钟周期之前的值。在默认情况下,它提供信号在前一个时钟周期的值。 (2) 结构的基本语法:$past(signal_name, number of clock cycles) 2.$past构造实例 属性p19检验的是在给 阅读全文

posted @ 2021-11-24 19:29 知北游。。 阅读(725) 评论(0) 推荐(0) 编辑

篇9-ended结构
摘要:1.序列的连接机制 (1) 使用序列起始点作为同步点的连接机制; (2) 使用序列结束点作为同步点的连接机制; 这种机制通过给序列名字追加关键词“ended”来表示。例如,s.ended表示序列的结束点。关键词“ended”保存了一个布尔值,值的真假取决于序列是否在特定的时钟边沿匹配检验。 2.示例 阅读全文

posted @ 2021-11-23 22:27 知北游。。 阅读(233) 评论(0) 推荐(0) 编辑

10-使用参数/选择运算符(?:)/true表达式的sva/system verilog assertion检验器
摘要:资料来源 (1) 硅芯思见:【88】SVA中的条件选择 (qq.com) 1.使用参数的SVA检验器 下图中,实例i1将延迟参数改写为2个时钟周期,而实例i2使用默认的1个时钟周期; 2.使用选择运算符/选择运算符的SVA检验器 注1:条件运算符?:可以在序列sequence和属性property的 阅读全文

posted @ 2021-11-23 17:21 知北游。。 阅读(323) 评论(0) 推荐(0) 编辑

?-sva/system verilog assertion与功能覆盖
摘要:参考资料 (1) 请教一下用assert property和cover property搜集覆盖率有什么不同? - IC验证讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) - (2) sv绿皮书; (3) IEEE system verilog standard; (4) 硅芯思见:【8 阅读全文

posted @ 2021-11-23 16:35 知北游。。 阅读(2561) 评论(0) 推荐(0) 编辑

篇?-将sva/system verilog assertion与设计连接
摘要:1.在模块(module)定义中内建或内联检验器 2.将检验器与模块/模块的实例/一个模块的多个实例绑定 优点:sva检验器与设计代码分离; 2.1检验器模块 2.2bind语法 2.3顶层模块 2.4bind实现 阅读全文

posted @ 2021-11-23 16:16 知北游。。 阅读(173) 评论(0) 推荐(0) 编辑

篇8-sva/system verilog assertion检验器的时序窗口(重叠的时序窗口和无限的时序窗口)
摘要:资料来源 (1) 硅芯思见:【86】SVA中的延迟 (qq.com) 例子: 属性p12检查布尔表达式“a&&b”在任何给定的时钟上升沿为真。如果表达式为真,那么在接下来的1~3个中周期内,信号“c”应该至少在一个时钟周期内为高。 p12实际上以下面三个线程展开。 1.重叠的时序窗口 属性p13与属 阅读全文

posted @ 2021-11-23 16:03 知北游。。 阅读(301) 评论(0) 推荐(0) 编辑

篇7-断言中的执行块(action block)
摘要:1.执行块 (1) SystemVerilog语言被定义成每当一个断言检查失败,模拟器在默认情况下都会打印出一条错误信息。模拟器不需要对成功的断言打印任何东西,可以使用断言陈述中的“执行块”(action block)来打印自定义的成功或失败信息。 (2) 执行块的基本语法如下所示。 (3) 执行块 阅读全文

posted @ 2021-11-23 15:12 知北游。。 阅读(216) 评论(0) 推荐(0) 编辑

6-禁止属性not,蕴含操作符(交叠蕴含与非交叠蕴含)(包含在蕴含中使用if...else结构)
摘要:资料来源 (1)硅芯思见:【95】SVA中的基本元素sequence和蕴含操作 (qq.com) (2)SVA中的与或非(and_or_not) (qq.com) 1.禁止属性 当期望属性为假时,可以采用关键词not,用来表示属性永远不为真. 2.蕴含/implication (1) 蕴含等效于if 阅读全文

posted @ 2021-11-23 13:34 知北游。。 阅读(926) 评论(0) 推荐(0) 编辑

篇5-sva/system verilog assertion中序列/sequence的构建(2)
摘要:1.带形参的序列 通过在序列中定义形参,相同的序列能被重用到设计中具有相似行为的信号上; 2.序列独立于时钟的coding style 2.1序列中指定时钟 2.2属性中指定时钟,序列独立于时钟(可提高基本序列定义的可重用性) 阅读全文

posted @ 2021-11-23 13:25 知北游。。 阅读(155) 评论(0) 推荐(0) 编辑

4-sva/system verilog assertion中序列/sequence的构建(1)(包含$rose,$fell,$stable,$changed等函数)
摘要:资料来源 (1)硅芯思见:【81】SVA中的$rose和$fell (qq.com) (2)硅芯思见:【92】SVA中的内嵌函数 (qq.com) 1.简单序列 序列s1检查信号“a”在每个时钟上升沿都为高电平。如果信号“a”在任何一个时钟上升沿不为高电平,断言将失败。 2.边沿定义的序列以及使用其 阅读全文

posted @ 2021-11-23 12:06 知北游。。 阅读(1388) 评论(0) 推荐(0) 编辑

篇3-【IMP】建立SVA块 (system verilog assertion)
摘要:1.建立SVA块的步骤如下图所示: 注:序列/属性必须被断言,才能发挥作用; 2.序列/sequence的基本语法 篇4-sva中序列的构建(1) - 蚕食鲸吞 - 博客园 (cnblogs.com) 篇5-sva中序列的构建(2) - 蚕食鲸吞 - 博客园 (cnblogs.com) 3.属性/p 阅读全文

posted @ 2021-11-23 11:07 知北游。。 阅读(126) 评论(0) 推荐(0) 编辑

2-【IMP】assertion的作用,特点与分类
摘要:资料来源 (1) 硅芯思见:【82】SVA概述 (qq.com) 1.什么是断言? 断言是设计的属性的描述; 如果一个在模拟中被检查的属性不像我们期望的那样表现,那么这个断言失败; 如果一个被禁止在设计中出现的属性在模拟过程中发生,那么这个断言失败; 2.为什么使用断言? (1) verilog是一 阅读全文

posted @ 2021-11-22 17:02 知北游。。 阅读(292) 评论(0) 推荐(0) 编辑

1-【IMP】sv assertion示例
摘要:1.sv assertion使用 sv assertion的使用涉及以下内容: (1) sv assertion的构建(参考《SystemVerilog Assertions应用指南》一书); (2) sv assertion的放置位置; assertion除了可以放置在module内,也可以放在i 阅读全文

posted @ 2021-11-22 16:20 知北游。。 阅读(839) 评论(0) 推荐(0) 编辑

vcs-编译+仿真+dump波形【IMP】
摘要:资料来源 (1) 公众号-全栈芯片工程师; (2) 公众号-ICer消食片; 注1:VCS仿真分为两步式(编译/compilation+仿真/simulation)和三步式(分析/analysis+细化/elaboration+simulation/仿真); 注2:analysis/分析是三步式fl 阅读全文

posted @ 2021-11-20 15:06 知北游。。 阅读(6721) 评论(0) 推荐(0) 编辑

7-字符串与$sformatf,$sformat,$psprintf
摘要:资料来源: (1)公众号-杰瑞IC验证; (2)硅芯思见:【97】$sformat()与$psprintf() (qq.com) 1.$sformat & $sformatf 1 //示例1-jerry IC验证; 2 string jerry_string; 3 string jerry_stri 阅读全文

posted @ 2021-11-18 19:09 知北游。。 阅读(6049) 评论(0) 推荐(0) 编辑

篇3-bind(优点,语法及使用示例)
摘要:资料来源 (1) system verilog standard; (2) system verilog-钟文枫; (3) 硅芯思见:【83】断言如何与设计bind (qq.com) (该篇文章有内容错误) 1.bind优点 实现验证和设计的分离,将module或program或interface绑 阅读全文

posted @ 2021-11-18 18:36 知北游。。 阅读(4226) 评论(0) 推荐(0) 编辑

4.3-类:继承的规则(含local/protected概念),对象空间分配,虚方法和多态
摘要:资料来源: (1) system verilog与功能验证-钟文枫(注:关于虚方法和多态的讲解,该本资料最佳); (2) 硅芯思见:【107】SystemVerilog中的多态和虚方法 (qq.com) (3) Verilog系列:【62】local和protected保护类成员 (qq.com) 阅读全文

posted @ 2021-11-18 16:40 知北游。。 阅读(234) 评论(0) 推荐(0) 编辑

篇7-UVM ERROR达到一定数量时结束仿真
摘要:1.UVM_ERROR达到一定数量结束仿真 1.1相关函数 (1) set_report_max_quit_count (2) set_max_quit_count (3) get_max_quit_count 1.2命令行设置 其中,上面的”NO”表示UVM_MAX_QUIT_COUNT的设置值6 阅读全文

posted @ 2021-11-18 14:49 知北游。。 阅读(920) 评论(0) 推荐(0) 编辑

uvm report机制-uvm report info冗余度(设置与重载)与uvm_report_catcher(使用了callback机制)
摘要:资料来源 (1) 《Practical UVM Step by Step with IEEE》 注1: 在打印信息之前,UVM会比较要显示信息的冗余度级别与默认的冗余度阈值。如果小于等于阈值,就会显示,否则不会显示. 1.冗余度阈值(概念与设置) 1.1冗余度阈值相关函数 tb里面可以调用下面函数动 阅读全文

posted @ 2021-11-18 11:16 知北游。。 阅读(2146) 评论(0) 推荐(0) 编辑

[CU]时钟1-可变时钟
摘要:资料来源: (1) 《UVM实战》 1.不同测试用例时钟频率不同,同一测试用例时钟频率保持不变; 1 //my_case0.sv 2 function void my_case0::build_phase(uvm_phase phase); 3 ... 4 uvm_config_db#(real): 阅读全文

posted @ 2021-11-17 20:49 知北游。。 阅读(275) 评论(0) 推荐(0) 编辑

2.1构建-seq的构建步骤
摘要:1.创建user-defined sequence所需做的事情: (1) 从uvm_sequence基类派生sequence类并指明request与response item类型参数; 篇2-seq构建之类的派生(指定参数与否) - 蚕食鲸吞 - 博客园 (cnblogs.com) (2) 采用`u 阅读全文

posted @ 2021-11-17 20:11 知北游。。 阅读(97) 评论(0) 推荐(0) 编辑

篇5-testcase pass的判断
摘要:资料来源: (1) 公众号-杰瑞IC验证 1.统计UVM_FATAL与UVM_ERROR数目 (1) 在uvm_test或env的final_phase里面,检查UVM_ERROR和UVM_FATAL的个数,如果不为0,打印CASE FAIL;否则,打印CASE PASS; (2) 示例中,之所以采 阅读全文

posted @ 2021-11-17 11:30 知北游。。 阅读(312) 评论(0) 推荐(0) 编辑

uvm通信-TLM源码分析(uvm_sqr_if_base,uvm_tlm_if_base,uvm_port_base)
摘要:1.常见两类TLM端口 1.1用于driver和sequencer之间 1.2用于其他component之间 2.uvm_sqr_if_base (1) 这个类没有派生自任何类; (2) 类里面定义了如下几个task/function: get_next_item, try_next_item, i 阅读全文

posted @ 2021-11-16 20:59 知北游。。 阅读(352) 评论(0) 推荐(0) 编辑

uvm通信-uvc通信方式的选择(使用FIFO还是用IMP)
摘要:等效问题: 使用FIFO通信与直接使用uvm_analysis_ap和uvm_analysis_imp的区别? (1) 前者实现scoreboard的主动接收, scoreboard可以按照自己的节奏工作,而不必跟着monitor的节奏. (2) 使用FIFO通信,可以不必在scoreboard中再 阅读全文

posted @ 2021-11-16 20:45 知北游。。 阅读(564) 评论(0) 推荐(0) 编辑

uvm通信-uvc通信方式三之uvm_tlm_fifo & uvm_tlm_analysis_fifo
摘要:注1:采用fifo,用户可以不用定义put/get/write等函数或任务; 1.uvm_tlm_analysis_fifo(参数化的类) (1) uvm_tlm_analysis_fifo中的*_export,虽然名字中有export,但是本质上都是IMP; (2) uvm_tlm_analysi 阅读全文

posted @ 2021-11-16 20:18 知北游。。 阅读(4815) 评论(0) 推荐(1) 编辑

uvm通信-uvc通信方式二之analysis_port/export/imp
摘要:1.analysis端口(ap与imp) (1) analysis_port和analysis_export其实与put和get系列端口类似,都用于传递transaction; (2) 一个analysis_port/analysis_export可以和多个IMP相连进行通信,但是IMP的类型必须是 阅读全文

posted @ 2021-11-16 20:17 知北游。。 阅读(3751) 评论(5) 推荐(0) 编辑

uvm通信-uvc通信方式一之blocking/nonblocking_get/put/transport_port/export/imp
摘要:1.根据阻塞非阻塞,端口可分为uvm_blocking_*,uvm_nonblocking_*与uvm_*; (1) nonblocking端口的所有操作都是非阻塞的,换言之,必须用函数实现,而不能用任务实现; (2) uvm_blocking*只支持阻塞操作,uvm_nonblocking_*只支 阅读全文

posted @ 2021-11-16 19:36 知北游。。 阅读(2556) 评论(0) 推荐(0) 编辑

uvm通信-TLM机制与端口互连
摘要:参考资料: (1) UVM学习笔记--TLM通信_wonder_coole的博客-CSDN博客 1.TLM定义 transaction level modeling(事务级建模); 2.TLM操作(put/get/transport有阻塞和非阻塞之分) (1)put操作:通信的发起者A将一个tran 阅读全文

posted @ 2021-11-16 19:08 知北游。。 阅读(546) 评论(0) 推荐(0) 编辑

uvm通信-UVC间可用的通信方法比较(以monitor和sb为例)
摘要:1.全局变量(以monitor与scoreboard的通信为例) 注1:class之外定义的变量称为全局变量(??); (1)在monitor中对此全局变量进行赋值,在scoreboard中检测此全局变量值的改变; (2)这种方法简单、直接,不过要避免使用全局变量,因为全局变量全局可见,出错后不易定 阅读全文

posted @ 2021-11-16 18:55 知北游。。 阅读(597) 评论(0) 推荐(0) 编辑

篇5-uvm_component/uvm_sequence_item常用函数解读
摘要:资料来源: (1)公众号-杰瑞IC验证; (2) uvm_class_references手册; 1.uvm_component相关函数 1.1.uvm_component中get_name()系列函数 (1) get_name()会打印出”u_jerry_so_cool”(实例名); (2) ge 阅读全文

posted @ 2021-11-16 17:24 知北游。。 阅读(591) 评论(0) 推荐(0) 编辑

篇4-多个uvm_agent情况的处理
摘要:资料来源 (1) 公众号-杰瑞IC验证(https://mp.weixin.qq.com/s/jKTcfn70NjosjElQa4aFFw); 1.agent的完成、宏定义、以及顶层的连接(采用generate) 背景: RTL有多组相同信号接口,写1个agent,然后用该agent例化多个不同名字 阅读全文

posted @ 2021-11-16 17:03 知北游。。 阅读(808) 评论(0) 推荐(0) 编辑

[CU]uvm典型类/function/task-uvm_object & uvm_component
摘要:1.uvm_object (1)几乎所有的类都继承自uvm_object,包括uvm_component. 2.uvm_component 注1:uvm_component具有parent-child关系的特点(层次创建与管理); 注2:uvm_component具有可以相互通信的特点(借助于tlm 阅读全文

posted @ 2021-11-16 15:36 知北游。。 阅读(580) 评论(0) 推荐(0) 编辑

uvm通信-uvm_event & uvm_event_pool & uvm_event_callback
摘要:参考资料 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - (2) 《Practical UVM Step by Step with IEEE》 1.同步的方法 1.1 sv与uvm中同步的方法 (1) 在sv中,用于同步的方 阅读全文

posted @ 2021-11-16 15:07 知北游。。 阅读(3963) 评论(0) 推荐(0) 编辑

uvm通信-seq与uvc的交互/通信
摘要:参考资料 (1) 公众号-杰瑞IC验证; 1. 以sequencer/p_sequencer作为seq与其他uvc沟通的桥梁; 注:p_sequencer也是seq内调用agent中函数的桥梁,通过p_sequencer机制+get_parent()“两步跳跃法”,先获取到seq对应的sequenc 阅读全文

posted @ 2021-11-16 14:37 知北游。。 阅读(1078) 评论(0) 推荐(0) 编辑

篇2-uvm tb的运转&run_test
摘要:参考资料: (1) uvm中run_test | 骏的世界 (lujun.org.cn) (2) 从run_test浅谈Test Bench的启动 (qq.com) 1. run_test (1) run_test是uvm_globals.svh中定义的一个task,用于启动UVM. 2. 调用uv 阅读全文

posted @ 2021-11-16 12:55 知北游。。 阅读(1626) 评论(0) 推荐(1) 编辑

1-uvm_root, uvm_top, uvm_test_top
摘要:参考资料 (1) UVM使用双顶层的用法 | 骏的世界 (lujun.org.cn) 1.UVM的根-uvm_root or uvm_test_top? (1) uvm_test_top实例化时的名字是uvm_test_top,这个名字是由UVM在run_test时自动指定的; (2) uvm_to 阅读全文

posted @ 2021-11-16 11:08 知北游。。 阅读(4997) 评论(1) 推荐(1) 编辑

[CU]objection机制1-objection的作用与特点,objection与phase/set_drain_time的联系,objection的控制与调试
摘要:参考资料: (1) UVM——phase objection · 大专栏 (dazhuanlan.com) (2) 《UVM1.1应用指南及源代码分析》 (3) 《uvm user guide 1.2》chapter 3.11-Managing end of test; (4) 《uvm cookb 阅读全文

posted @ 2021-11-16 10:37 知北游。。 阅读(1845) 评论(0) 推荐(1) 编辑

field_automation机制1-field automation的功能及使用(该篇不涉及UVM源码)
摘要:资料来源 (1) UVM实战-张强; 1.field automation机制常见宏(与常见变量/动态数组/静态数组/队列/关联数组相关宏) 1.1与常见变量相关的uvm_field系列宏 注1:该处的FLAG为UVM_ALL_ON等FLAG; 注2:上述宏分别用于要注册的字段是整数,实数,枚举类型 阅读全文

posted @ 2021-11-16 10:16 知北游。。 阅读(1665) 评论(0) 推荐(1) 编辑

[CU]uvm base test
摘要:资料来源 (1) https://github.com/Practical-UVM-Step-By-Step/Practical-UVM-Step-By-Step (2) 《Practical UVM step by step with IEEE》 1. 测试用例的作用 base_test所做的事情 阅读全文

posted @ 2021-11-15 19:13 知北游。。 阅读(1116) 评论(0) 推荐(1) 编辑

CPU虚拟化,内存虚拟化,IO虚拟化以及虚拟化资料链接
摘要:资料来源 注:该篇文章只是简单整合一下下面的资料; (1) 虚拟化底层技术之——iommu技术综述_weixin_33895657的博客-CSDN博客(☆☆☆☆☆) (2) 还是不理解IOMMU、北桥、PCI的MMIO和ioremap - 内核源码-Chinaunix (3) CPU虚拟化、内存虚拟 阅读全文

posted @ 2021-11-15 19:03 知北游。。 阅读(870) 评论(0) 推荐(0) 编辑

篇1-sv/uvm命令行参数
摘要:参考资料: (1) 公众号-芯片学堂; (2) uvm中获取cmdlind内容 | 骏的世界 (lujun.org.cn) 背景:当在创建动态仿真case时,使用命令行参数可以方便地控制DUT和TB的行为,比如配置寄存器、控制激励的发送数量、打开或关闭某些scoreboard等; 1.sv系统函数( 阅读全文

posted @ 2021-11-15 17:25 知北游。。 阅读(1672) 评论(0) 推荐(0) 编辑

[CU]config_db机制5-uvm_config_db与uvm_resource_db的区别
摘要:1. uvm_config_db与uvm_resource_db的区别与联系 (1) uvm_config_db是从uvm_resource_db派生而来的,它对uvm_resource_db的一些功能进行了扩展,这种扩展主要体现在对资源的写入和读取上. (1.1) 在资源的写入操作上,它重载了uv 阅读全文

posted @ 2021-11-15 16:25 知北游。。 阅读(1320) 评论(0) 推荐(1) 编辑

[CU]config_db机制4-config_db机制的调试
摘要:1.check_config_usage (1) 作用:可以显示出截止到此函数调用时,有哪些参数是被设置过但是却没有被获取过; (2) 使用: 由于config_db的set及get语句一般都用于build_phase阶段,所以此函数一般在connect_phase被调用,也可以在connect_p 阅读全文

posted @ 2021-11-15 16:21 知北游。。 阅读(566) 评论(0) 推荐(0) 编辑

[CU]config_db机制3-uvm_config_db使用注意事项
摘要:注1:该篇文章侧重于config_db机制的使用; 1. config机制成对出现 1.1 简单示例 如在某个case(派生自uvm_test)的build_phase中可以做如下设置: 1 uvm_config_db#(int)::set(this,"env.agent.driver","pre_ 阅读全文

posted @ 2021-11-15 15:30 知北游。。 阅读(1994) 评论(0) 推荐(0) 编辑

[CU]config_db机制2-uvm_resource_pool/uvm_resource/uvm_resource_db/uvm_config_db常用函数
摘要:注1:该篇文章主要涉及config_db机制的一些函数; 1.资源的写入 1.1. uvm_resource_pool 1.1.1. uvm_resource_pool.get 1 class uvm_resource_pool; 2 3 static local uvm_resource_pool 阅读全文

posted @ 2021-11-15 14:18 知北游。。 阅读(843) 评论(0) 推荐(0) 编辑

[CU]config_db机制1-config_db作用,优点及原理
摘要:注1:该篇文章涉及的几个关键类: uvm_resource_pool, uvm_resource & uvm_resource_base, uvm_resource_db & uvm_config_db; 注2:该篇文章主要描述config_db机制原理性的内容; 1. 作用,优点 (1) UVM中 阅读全文

posted @ 2021-11-14 20:23 知北游。。 阅读(1086) 评论(0) 推荐(0) 编辑

1-phase机制的必要性,phase自动执行的原理,phases及执行顺序(内含process知识点)
摘要:参考资料: (1) uvm启动过程及phase机制实现原理介绍_HelloQili的博客-CSDN博客 (2) UVM1.1应用指南及源代码分析-张强 1.phase机制简介 1.1. phase机制的必要性 在不同的时间做不同的事情; 1.2. phase的自动执行(原理) (1) uvm_roo 阅读全文

posted @ 2021-11-14 11:04 知北游。。 阅读(2361) 评论(0) 推荐(0) 编辑

4.2-类中的overwrite,override(多态),抽象类与纯虚函数
摘要:资料来源: (1)公众号-芯片学堂; (2)The UVM Primer; (3)硅芯思见:【118】SystemVerilog没有那么多的OVER overwrite_override_overload (qq.com) 1.overwrite (1)overwrite发生在子类和基类之间,即不同 阅读全文

posted @ 2021-11-12 17:17 知北游。。 阅读(336) 评论(0) 推荐(0) 编辑

4.1-类(类,句柄,this,super)
摘要:资料来源: (1)公众号-芯片学堂; (2)sv绿皮书; (3)The UVM Primer (4)硅芯思见:【124】SystemVerilog中超级英雄super (qq.com) 1.OOP (1) OOP优点:code可重用性,code可维护性,内存管理简化; 2.类 (1)类(class) 阅读全文

posted @ 2021-11-11 17:52 知北游。。 阅读(793) 评论(0) 推荐(0) 编辑

篇?-数据类型转换(隐式转换&显式转换,静态转换&动态转换$cast)
摘要:资料来源: (1)sv绿皮书; (2)公众号-芯片学堂; (3)硅芯思见:【113】SystemVerilog中不同句柄之间的动态类型转换 (qq.com) 1. 隐式转换 (1)隐式和显示类型转换的区分通常在于有没有使用到系统函数或者操作符。 (2)隐式类型转换在SystemVerilog编程中经 阅读全文

posted @ 2021-11-11 17:41 知北游。。 阅读(642) 评论(0) 推荐(0) 编辑

[CU]callback机制2-子类继承父类的callback机制
摘要:背景:对旧的验证平台升级,新旧验证平台基本一致,只是需要扩展my_driver的功能,从其派生出新类new_driver; 此外,旧的验证平台中大量使用了callback机制; 怎么处理才能使原来的callback函数/任务能够用于new_driver中呢? 1 class new_driver e 阅读全文

posted @ 2021-11-11 14:46 知北游。。 阅读(148) 评论(0) 推荐(0) 编辑

篇2-virtual interface
摘要:1.virtual interface的作用 (1) virtual interface实现了验证平台与DUT的连接(在类中不能直接使用interface,只能使用virtual interface.在top_tb这样的module中可以使用interface). 2.virtual interfa 阅读全文

posted @ 2021-11-11 11:00 知北游。。 阅读(745) 评论(0) 推荐(0) 编辑

篇1-interface
摘要:资料来源: (1)公众号-芯片学堂; (2)The UVM Primer; 1.接口的作用与构成 (1)接口将一组信号封装到一起,方便信号在验证环境组件中的连接; (2)接口不只包含一组信号,还可以包含modport,clocking block,parameter,always和initial语句 阅读全文

posted @ 2021-11-10 20:14 知北游。。 阅读(332) 评论(0) 推荐(0) 编辑

篇1-线程和对象的随机化机制
摘要:资料来源: (1)公众号-芯片学堂(芯片学堂的文章很不错); 1.initialize RNG (1)初始化RNG是产生随机数的开始,用来给RNG初始化随机种子。 (2)每一个模块实例(module instance)、接口实例(interface instance)、程序块(program)和包( 阅读全文

posted @ 2021-11-10 16:35 知北游。。 阅读(82) 评论(0) 推荐(0) 编辑

篇3-枚举,结构体,自定义类型
摘要:参考资料: (1)公众号-芯片学堂; (2)sv绿皮书; 1.枚举类型 1.1枚举类型的特点与作用 (1)枚举是一组有限的被赋予了名字的值的集合; (2)默认情况下,集合中元素的数据类型都是int类型,元素值的大小是从0开始的递增关系,如果自增的值与已经定义的值产生冲突,会导致编译不过(元素的数据类 阅读全文

posted @ 2021-11-10 10:59 知北游。。 阅读(212) 评论(0) 推荐(0) 编辑

篇1-门级仿真浅谈
摘要:参考资料: (1)公众号-芯片学堂; (2)公众号-icsoc; 1.门级仿真与RTL仿真 (1)门级仿真的验证对象是门级网表,电路直接使用标准单元库和IP模型(包括Memory、IO、Phy等)进行例化,具备完整的功能和时序行为。门级网表通常指综合后得到的网表(没有时钟树),也可以指布局布线后的网 阅读全文

posted @ 2021-11-09 21:01 知北游。。 阅读(2285) 评论(0) 推荐(1) 编辑

篇2-队列与数组
摘要:参考资料: (1)公众号-芯片学堂; 1.队列的特性 (1)队列是可变长的,有序的,连续存放的同类数据集合; (2)对队列中任意元素的访问以及在队列头和尾进行元素增删操作几乎没有额外的时间开销(但是对队列中间的元素进行增删操作则不然); 2.队列的声明与使用 (1)声明: data_type que 阅读全文

posted @ 2021-11-09 20:43 知北游。。 阅读(202) 评论(0) 推荐(0) 编辑

1-数组(定长数组,动态数组,关联数组,合并数组,非合并数组)
摘要:参考资料: (1).公众号-芯片学堂; (2) system verilog绿皮书; (3) 公众号-jerryIC验证; (4) 硅芯思见:【108】聊点$display的一点事情 (qq.com) (5) Verilog系列:【53】动态数组 (qq.com) (6) 硅芯思见:【128】动态数 阅读全文

posted @ 2021-11-09 20:23 知北游。。 阅读(1898) 评论(0) 推荐(0) 编辑

功能覆盖率之覆盖组简介(coverage group)
摘要:注:功能覆盖率的两个主要部分:采样的数据和数据被采样的时刻; 参考资料: (1) system verilog绿皮书; (2) system verilog standard chapter19; 1.覆盖点与覆盖组 (1) 覆盖点对测试平台中的变量和表达式的数值进行采样; (2) 覆盖组: 囊括同 阅读全文

posted @ 2021-11-08 12:30 知北游。。 阅读(2122) 评论(0) 推荐(0) 编辑

uvm testbench简介(作用,结构以及搭建步骤)
摘要:参考资料: (1) 《uvm cookbook》; (2) 公众号-芯片学堂; (3) 《uvm user guide》; (4) 从run_test浅谈Test Bench的启动 (qq.com) (5) 《practical UVM step by step with IEEE》第二章; 1.u 阅读全文

posted @ 2021-11-03 16:59 知北游。。 阅读(2976) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示