【芯片验证学习纪实】System Verilog语法(1)

继学习了FPGA设计之后,学习IC验证也有一段时间了,学习过程中参考了很多互联网上的优秀资源,在此感谢各位前辈们的无私分享!现在,利用闲暇之余将对自己整个学习过程做个简单的回顾和总结。

首先,在system verilog学习中用到的参考书是绿皮书《system verilog验证——测试平台编写指南》(第二版)。另在回顾时翻阅了相关总结:

https://blog.csdn.net/qq_31935691/article/details/54982105

那么,开始吧。

一、验证导论:
作为一个验证工程师,最重要的原则是“程序漏洞利大于弊”
设计流程:1)阅读硬件规范,解析其中的自然语言表述。2)使用RTL代码之类的机器语言创建相应的逻辑。
验证流程:1)阅读硬件规范,制定验证计划。2)创建测试来检查RTL代码是否实现所有特性。
单一的BFM测试平台:

多个BFM测试平台:

二、数据类型:
1、Logic:任何使用wire或者reg的信号在测试平台是都可使用logic。(注意:对于双向总线的信号不能用logic,只能用wire)
2、双状态数据类型:有利于提高仿真器的性能并减少内存。最简单的双状态类型是bit,无符号的。另外4种带符号位的双状态数据类型:byte、shortint、int、longint。
例:

扩展:对四态信号的检查:($isunknown)
例:对iport信号的检测

3、定宽数组:
例:

如果越界读取数据,则返回元素类型的缺省值,对于logic型的将返回X,对于双状态的则返回0。线网未驱动的输出Z。
4、常量数据:
例:

三、数组操作
1、操作数组的最常见的方式是使用for或foreach循环。Foreach会自动遍历数组中的元素。
例:

2、基本数组操作-复制和比较
例:

标题3、合并数组

例:

四、动态数组
动态数组在声明的时候使用空的下标[]。使用时需调用new[]操作符来分配空间。
例:

五、队列
队列的声明使用带有美元符号的下标:[]。队列元素的编号从0到。
例:

六、数组的排序
例:

七:使用typedef创建新的类型
例:下图的例子可以适应不同的比特位宽。

八、枚举类型
由于宏的范围太大,故出现枚举类型,只能用于本模块中。
例:

【芯片验证学习纪实】System Verilog语法(1)相关推荐

  1. verilog/system verilog语法

    1,Verilog有变量类型和线网类型.变量类型比如reg,integer和time.线网类型比如wire,wor,wand等.system verilog使用了Verilog的变量类型:reg,in ...

  2. 再说System Verilog 与 Verilog 的关系

    System Verilog 与 Verilog 的关系 标准 当前的System Verilog标准是由IEEE(国际电子电气工程师协会)和Accellera(基于工业的标准协会)两个国际组织制定的 ...

  3. [转]verilog语法学习心得

    verilog语法学习心得 1.数字电路基础知识: 布尔代数.门级电路的内部晶体管结构.组合逻辑电路分析与设计.触发器.时序逻辑电路分析与设计 2.数字系统的构成: 传感器  AD  数字处理器  D ...

  4. sv_labs学习笔记——sv_lab1(System Verilog)

    sv_labs学习笔记--sv_lab1(System Verilog) 概述 lab1 功能简述 代码分析 仿真精度 理解repeat(15) @(rtr_io.cb); 理解$timeformat ...

  5. 我的 System Verilog 学习记录(1)

    引言 技多不压身,准备开始学一些 System Verilog 的东西,充实一下自己,这个专栏的博客就记录学习.找资源的一个过程,希望可以给后来者一些借鉴吧,IC找工作的都加把油! 本文是准备先简单介 ...

  6. System Verilog学习小结

    System Verilog课程小结 第一周 问题1:设计人员和验证人员他们的协作关系体现在哪些地方? 1.设计人员和验证人员都需要围绕功能描述文档开展工作 2.设计只有经过充分量化验证,才有信心去流 ...

  7. (31)System Verilog验证计划及策略

    (31)System Verilog验证计划及策略 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog验证计划及策略 5)结语 1.2 F ...

  8. (45)System Verilog 类中变量随机激励约束语法

    (45)System Verilog 类中变量随机激励约束语法 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 类中变量随机激励约束语 ...

  9. sv_labs学习笔记——sv_lab5_上(System Verilog)

    本节将介绍lab5的第一部分,主要总结一般设计学习与思考的方式与需要着重学习的点,同时以lab5作为参考,分析数据流流向,验证组件的通信与抽象化,实现的整体思路. sv_labs学习笔记--sv_la ...

最新文章

  1. 剪切板与正则表达式测试
  2. 使用Area(区域)会遇到的问题
  3. IOS关于键盘的弹出和收起
  4. Java继承-子类不可以继承父类的构造方法
  5. 使用Sublime Text 2 编辑Markdown
  6. numpy 1.22.1 基本语法
  7. 电脑用来测试网段信号的软件,WiFi信号分析仪PC版
  8. 计算机模块中的画板英文,电脑中将画板导入Mockingbot的方法
  9. Windows下U盘无法格式化原因及解决办法:Windows无法完成格式化
  10. 【教程】如何批量获取图片信息,尺寸、大小、路径、文件名,然后导出表格或者txt的文本,下面教你使用方法
  11. canopen 报文格式_CANopen协议报文处理
  12. PHP智云全能API接口源码V1.3
  13. 日文输入手写汉字模式快速切换
  14. html5相对路径写法,相对路径写法
  15. javascript短路运算
  16. 最新斩获2022字节暑期实习生 一二三面(已过|新鲜面经)
  17. Azure IoT 技术研究系列4
  18. Python学习:问题 VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a
  19. python拍七游戏代码_python实现逢七拍腿小游戏的思路详解
  20. 零基础——java学习路线(下)

热门文章

  1. 四款图表制作类软件,我最推荐的是?
  2. 用nodejs中html不显示css,Node.js的为什么页面无法加载css和javascript文件?
  3. 【FNN预测】基于Jaya优化JAYA前馈神经网络FNN研究附Matlab代码
  4. Android动画(帧动画、补间动画、属性动画)讲解
  5. PTA 空心字母金字塔
  6. 我在网络上看到的PDM的概念、定义、优缺点等相关信息
  7. 要求车牌所有权,法院怎么判?
  8. Java 中关于String的空对象(null) ,空值(empty),空格 的总结
  9. 科普知识普及 - 桥接VS中继
  10. 火绒自定义规则分享,给你真正的“安全感”