【芯片验证学习纪实】System Verilog语法(1)
【芯片验证学习纪实】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)相关推荐
- verilog/system verilog语法
1,Verilog有变量类型和线网类型.变量类型比如reg,integer和time.线网类型比如wire,wor,wand等.system verilog使用了Verilog的变量类型:reg,in ...
- 再说System Verilog 与 Verilog 的关系
System Verilog 与 Verilog 的关系 标准 当前的System Verilog标准是由IEEE(国际电子电气工程师协会)和Accellera(基于工业的标准协会)两个国际组织制定的 ...
- [转]verilog语法学习心得
verilog语法学习心得 1.数字电路基础知识: 布尔代数.门级电路的内部晶体管结构.组合逻辑电路分析与设计.触发器.时序逻辑电路分析与设计 2.数字系统的构成: 传感器 AD 数字处理器 D ...
- sv_labs学习笔记——sv_lab1(System Verilog)
sv_labs学习笔记--sv_lab1(System Verilog) 概述 lab1 功能简述 代码分析 仿真精度 理解repeat(15) @(rtr_io.cb); 理解$timeformat ...
- 我的 System Verilog 学习记录(1)
引言 技多不压身,准备开始学一些 System Verilog 的东西,充实一下自己,这个专栏的博客就记录学习.找资源的一个过程,希望可以给后来者一些借鉴吧,IC找工作的都加把油! 本文是准备先简单介 ...
- System Verilog学习小结
System Verilog课程小结 第一周 问题1:设计人员和验证人员他们的协作关系体现在哪些地方? 1.设计人员和验证人员都需要围绕功能描述文档开展工作 2.设计只有经过充分量化验证,才有信心去流 ...
- (31)System Verilog验证计划及策略
(31)System Verilog验证计划及策略 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog验证计划及策略 5)结语 1.2 F ...
- (45)System Verilog 类中变量随机激励约束语法
(45)System Verilog 类中变量随机激励约束语法 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 类中变量随机激励约束语 ...
- sv_labs学习笔记——sv_lab5_上(System Verilog)
本节将介绍lab5的第一部分,主要总结一般设计学习与思考的方式与需要着重学习的点,同时以lab5作为参考,分析数据流流向,验证组件的通信与抽象化,实现的整体思路. sv_labs学习笔记--sv_la ...
最新文章
- 剪切板与正则表达式测试
- 使用Area(区域)会遇到的问题
- IOS关于键盘的弹出和收起
- Java继承-子类不可以继承父类的构造方法
- 使用Sublime Text 2 编辑Markdown
- numpy 1.22.1 基本语法
- 电脑用来测试网段信号的软件,WiFi信号分析仪PC版
- 计算机模块中的画板英文,电脑中将画板导入Mockingbot的方法
- Windows下U盘无法格式化原因及解决办法:Windows无法完成格式化
- 【教程】如何批量获取图片信息,尺寸、大小、路径、文件名,然后导出表格或者txt的文本,下面教你使用方法
- canopen 报文格式_CANopen协议报文处理
- PHP智云全能API接口源码V1.3
- 日文输入手写汉字模式快速切换
- html5相对路径写法,相对路径写法
- javascript短路运算
- 最新斩获2022字节暑期实习生 一二三面(已过|新鲜面经)
- Azure IoT 技术研究系列4
- Python学习:问题 VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a
- python拍七游戏代码_python实现逢七拍腿小游戏的思路详解
- 零基础——java学习路线(下)
热门文章
- 四款图表制作类软件,我最推荐的是?
- 用nodejs中html不显示css,Node.js的为什么页面无法加载css和javascript文件?
- 【FNN预测】基于Jaya优化JAYA前馈神经网络FNN研究附Matlab代码
- Android动画(帧动画、补间动画、属性动画)讲解
- PTA 空心字母金字塔
- 我在网络上看到的PDM的概念、定义、优缺点等相关信息
- 要求车牌所有权,法院怎么判?
- Java 中关于String的空对象(null) ,空值(empty),空格 的总结
- 科普知识普及 - 桥接VS中继
- 火绒自定义规则分享,给你真正的“安全感”