IC技术圈
致力于建立知识、人的联系
成员列表
期刊
专栏
招聘
知识付费
搜索
RSS订阅
EDA在线
IC问答
成员出版图书
书单
首页
成员列表
期刊
专栏
招聘
知识付费
搜索
RSS订阅
EDA在线
IC问答
成员出版图书
书单
IC技术圈期刊 文章分类
类别:
FPGA(377)
前端(242)
验证(177)
后端(133)
嵌入式(9)
自动化(24)
模拟(23)
求职就业(164)
管理(12)
软件(27)
按月份
微信公众号:验证芯发现
关注验证语言基础、验证技术和技巧,分享验证相关经验,尝试从多领域交叉的角度发现芯片验证的方方面面。
SystemC Verification Randomization
#验证
#SystemC
#随机约束
SystemC Verification作为SystemC 的验证库,引入约束随机描述,可以实现基于C++/SC的Constraint Rand Verification.
验证芯发现
sv_string | 简单、易用、开源的System-Verilog字符串操作函数库
#验证
#芯片验证
#systemverilog
#string
相比于Python和C++ string丰富的操作方法, systemverilog中string操作方法略显单薄, 仅支持大小写转换和遍历等少量方法。作者借鉴部分python string的操作函数风格, 以及结合常用的一些字符串操作, 开发一个sv_string的开源库, 使用systemverilog编写, 无需DPI和C代码编译, 开箱即用。源码已开源在github, 已经过questasim仿真测试。
验证芯发现
值得一看 | 细说验证中的Memory Allocation Manager
#验证
#UVM_MEM_MAM
#YAMM
#内存管理
#DMA
#SOC
介绍芯片验证中的“内存管理”概念,可以用作数据搬运类验证的地址管理和分配,解决随机重复地址的问题,分享两个常用的库:UVM_MEM_MAM和YAMM。
验证芯发现
使用PlantUml绘制逻辑时序图/波形图
#验证
#时序图
#波形图
#plantuml
Plantuml不仅可以绘制类图,还可以绘制数字电路中的逻辑时序图/波形图,时序描述格式的易用性好,可读性强。Plantuml开源可用,AgileWave已支持PlantUml在线画图,Git源码参见:https://github.com/cc-hook/agileWave
验证芯发现
Class数据封装 | macro_[private/protected/public]_property
#验证
#参数宏
#OOP
面向对象中的数据封装,通常不会直接声明为public,而是声明为private或者protected,并伴随定义public的Set和Get方法,以此限制参数的写入和读取权限。Systemverilog/C++的class中,可以使用参数宏,进行数据和配套操作方法的快速声明。
验证芯发现
Lite PlantUML Parser | UML类图结构解析
#验证
#PlantUML
Lite PlantUML Parser,基于ANTLR实现,编写PlantUML类图的语法解析,将已有的plantuml设计信息提取出来,以便后续开发使用。
验证芯发现
UVM harness:可复用的interface连接方法
#验证
分享一种使用bind和uvm_config进行interface连接复用的方法:UVM harness.
验证芯发现
不该被遗忘的interface class和多重继承
#验证
#SystemVerilog
#interface class
#多重继承
在面向对象的世界里,继承是一个为人所熟知的概念,也是OOP的方法论之一。继承则又可以分为单继承和多重继承。单继承是比较常用的思路,比如经典的继承例子:麻雀类继承于鸟类,鸟类继承于动物类,子类不仅具有父类的属性和方法,同时还有自己的特质。而多继承则是表明子类可以同时具有多个父类,兼具多种“角色”的属性和方法。在SV 2012标准里引入了接口类(interface class)和实现(implements),可以实现多重继承的设计。
验证芯发现
看看这个"UVM陷阱",你是不是也遇到过
#验证
#数字芯片验证
#UVM
一次uvm环境调试中的踩坑记录。
验证芯发现
SystemVerilog,验证与AOP(一)概述
#验证
#SystemVerilog
#AOP
面向切面编程(AOP)是对面向对象编程(OOP)的补充。AOP中关键概念称之为"切面"或者切面扩展,能够改变一个或多个类的行为方法。在SystemVerilog中使用AOP可以更加有效灵活地涉及testcase,减少code lines。AOP主要用于解决,在随机约束的TB中使用OOP难以解决的一些问题:1、上下文相关的行为2、临时性或"需求"外的扩展 3、……
验证芯发现
优化函数传参,花里胡哨的那种
#验证
#传参
任何编程语言中,函数都是进行功能封装,模块化设计的必备手段之一。在Systemverilog中也不例外,SV中有function和task之分,都属于广义上的函数。在函数的设计和编码规范中,我们往往会尽量减少入参的个数,一方面是为了函数的简洁和可读性,另一方面也是对环境质量和仿真性能有所裨益。此前,在验证环境中看到一个对用户开放的API函数,含有多达6个传递参数。便想着,如何能减少函数传递参数的个数?下面是一些粗浅的见解和尝试,分享如下。
验证芯发现