数字IC验证学习(一)
一、数据类型
1、logic
logic类型只能有一个驱动。使用wire和reg的地方均可使用logic,但如双向总线等有多个驱动的地方,则不可使用logic。
2、二值逻辑
对于二值逻辑变量与DUT中的四值逻辑变量连接时,如果DUT中产生了X和Z,会被转换成双状态值。使用($isunknown)操作符,可以在表达式的任意位出现X或Z的时候返回1。用来检查未知值的传播。
3、定宽数组
多维数组的foreach循环,以两维数组为例:foreach(md[i,j])。
数组下标和位下标可以同时使用。
需要等待数组中的变化(@ event)时,必须使用合并数组。
4、动态数组
只要基本数据类型相同,定宽数组和动态数组之间就可以相互赋值,在元素数目相同的情况下,可以把动态数组的值复制到定宽数组。
5、队列
队列的常量初始化中,无需使用单引号。
对于一些非合并的数据类型(非连续存放),需要使用单引号进行标量初始化赋值;对于合并的数据类型(连续存放),不需要使用单引号进行标量初始化赋值
队列中的元素是连续存放的,队头或队尾存取数据非常方便,常用来作为FIFO。
6、数组的方法
1)缩减
sum,product,and,or,xor
对于定宽数组、动态数组、队列和关联数组,从其中随机取数可以使用$urandum_range($size(array)-1);特别地,队列和动态数组可以使用$urandum_range($array.size()-1)。
2)定位
min,max,unique
find:使用with来限定条件;还有find_index,find_first,find_first_index,find_last,find_last_index(返回索引的方法,返回值类型为int)
3)排序
改变了原始的数组,reverse,sort,rsort,shuffle,其中sort和rsort可以带with进行条件选择
7、结构
可以将结构定义为合并结构:typedef struct packed {bit[7:0] r,g,b;} pixel_p_s;
如果需要经常对整个结构体进行复制,那么,合并结构的效率会高一点;但是,对于合并结构中尺寸不规则的元素进行读写,需要移位和屏蔽操作,代价很高。
8、枚举
枚举默认值为从0开始递增的整数,默认类型为int。
可以指定枚举值,如:typedef enum {INIT, DECODE =2 , IDLE} fsmtype_e;
9、字符串
string用来保存长度可变的字符串,结尾不带标识符null
二、过程块和方法
1、函数和任务
参数的默认值和方向为logic输入。
允许不带ref进行数组参数的传递,这时数组会被复制到堆栈区,代价很大。
ref参数在任务里可以修改变量而且修改结果对调用它的函数随时可见。
数字IC验证学习(一)相关推荐
- 数字ic验证学习ing
为什么我要学完数字后端学验证呢? 不过是因为在找实习的时候发现,后端的岗位比较少少,而且笔试面试的时候,发现,大厂比较喜欢综合的人才. 总之,为了增强竞争力,多学一点没坏处! 学习的课程: 路科验证V ...
- 数字IC验证学习(二)
- 数字IC设计学习笔记_Formality 形式验证
数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...
- 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- 【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- FPGA可以转行数字IC验证吗?
近期在知乎上看到过一个问答"入职做fpga,后续是否还可以转数字ic设计或者DFT?"浏览量高达24,361,看来有很多小伙伴关心这个问题,今天就来和大家唠一唠FPGA转行的问题. ...
- 【数字IC验证快速入门】45、UVM项目实践之APB_SPI(13)UVM 验证方法学总结
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- 【数字IC验证快速入门】11、Verilog TestBench(VTB)入门
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- 【数字IC验证快速入门】22、SystemVerilog项目实践之AHB-SRAMC(2)(AHB协议基本要点)
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
最新文章
- sublime text3 前端插件介绍
- Eclipse中新建WEB项目,JSP页面报错。
- oracle ora 00279,ORA-01245、ORA-01547错误的解决
- java基础将一个int数组转换成一个字符串
- 突出重围:Oracle 10.2.0.5应用SCN补丁解决DB Link预警实践
- 私服采集,在线添加系统!
- as, idea 出现 Gradle's dependency cache may be corrupt 错误分析
- HP WebInspect 软件 简介
- 电商平台电子面单打印对接
- 怎样才能画好古代汉服?画好古代汉服有哪些技巧?
- DPI与DFI技术分析
- 使用EndNote X9自动生成毕设论文的参考文献
- 多台路由器堆叠_双网多网叠加教程
- centos图像界面和dos界面之间切换
- 一篇文让你秒懂CDN
- 偏微分方程的MATLAB解法
- C# MD5加密 解密
- pu是什么单位(pu革是什么材料)
- 接口自动化测试框架-完整测试用例模板
- LTE搜网注册流程(日志)