一、数据类型

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验证学习(一)相关推荐

  1. 数字ic验证学习ing

    为什么我要学完数字后端学验证呢? 不过是因为在找实习的时候发现,后端的岗位比较少少,而且笔试面试的时候,发现,大厂比较喜欢综合的人才. 总之,为了增强竞争力,多学一点没坏处! 学习的课程: 路科验证V ...

  2. 数字IC验证学习(二)

  3. 数字IC设计学习笔记_Formality 形式验证

    数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...

  4. 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  5. 【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  6. FPGA可以转行数字IC验证吗?

    近期在知乎上看到过一个问答"入职做fpga,后续是否还可以转数字ic设计或者DFT?"浏览量高达24,361,看来有很多小伙伴关心这个问题,今天就来和大家唠一唠FPGA转行的问题. ...

  7. 【数字IC验证快速入门】45、UVM项目实践之APB_SPI(13)UVM 验证方法学总结

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  8. 【数字IC验证快速入门】11、Verilog TestBench(VTB)入门

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  9. 【数字IC验证快速入门】22、SystemVerilog项目实践之AHB-SRAMC(2)(AHB协议基本要点)

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

最新文章

  1. sublime text3 前端插件介绍
  2. Eclipse中新建WEB项目,JSP页面报错。
  3. oracle ora 00279,ORA-01245、ORA-01547错误的解决
  4. java基础将一个int数组转换成一个字符串
  5. 突出重围:Oracle 10.2.0.5应用SCN补丁解决DB Link预警实践
  6. 私服采集,在线添加系统!
  7. as, idea 出现 Gradle's dependency cache may be corrupt 错误分析
  8. HP WebInspect 软件 简介
  9. 电商平台电子面单打印对接
  10. 怎样才能画好古代汉服?画好古代汉服有哪些技巧?
  11. DPI与DFI技术分析
  12. 使用EndNote X9自动生成毕设论文的参考文献
  13. 多台路由器堆叠_双网多网叠加教程
  14. centos图像界面和dos界面之间切换
  15. 一篇文让你秒懂CDN
  16. 偏微分方程的MATLAB解法
  17. C# MD5加密 解密
  18. pu是什么单位(pu革是什么材料)
  19. 接口自动化测试框架-完整测试用例模板
  20. LTE搜网注册流程(日志)

热门文章

  1. 根据时间变换页面背景
  2. Android 动画效果及Interpolator和AnimationListener的使用
  3. Dreamweaver使用详解
  4. 萨蒂扬软件技术(南京)研发中心”落户高新区
  5. vue-provide/inject轻松实现跨级访问祖先组件
  6. Javascript重温OOP之原型与原型链
  7. Maximum Xor Secondary(单调栈好题)
  8. CSS3:CSS3 文本效果
  9. Django学习笔记第三篇--关于响应返回
  10. Python3经典100道练习题003