![](https://img-blog.csdnimg.cn/6495dca57d2844f0857f2300bd52c82c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SystemVerilog
文章平均质量分 89
以绿皮书为蓝本,细致学习SV的验证语言。
CallMeMinxJ
不断学习
展开
-
SV 第五章 面向对象编程基础
对于Verilog和C语言来说,由于他们不是面向对象变成语言,数据的存储往往是分布式的,例如把数据、地址、指令分别保存在不同的数组里面,不利于程序的解读。面向对象变成使得用户可以创建复杂的数据类型,将数据类型紧密地结合在一起,可以在更加抽象的层次建立测试平台和系统级模型。通过调用一个函数来执行一个动作,而不是改变信号的电平。原创 2023-08-12 18:10:52 · 145 阅读 · 0 评论 -
SV 第四章 连接设计和测试平台
验证需要几个步骤,生成输入激励,捕获输出响应,决定对错和衡量进度。首先需要将一个合适的测试平台连接到设计上。测试平台包裹着设计(DUT,Design Under Test),发送激励并捕获设计的输出。原创 2023-08-06 01:53:48 · 285 阅读 · 0 评论 -
SV 第三章 过程语句和子程序
SV在函数定义时改进了函数范围,begin···end变成可有可无的了,使用对应的结束语句对于边界定义已经足够了。原创 2023-07-28 18:26:59 · 216 阅读 · 0 评论 -
SV 第二章 数据类型
即结构体,和C语言中的结构体基本一致。可以利用结构体,将不同的类型封装在一起,成为一种新的类型,如果在声明时,加入packed关键字,说明结构体是压缩的,存储空间之间没有间隙,属于合并结构。如果操作经常是针对结构体内部成员的,那么就应该优先使用非合并结构,尤其是不同元素之间长度不一的时候,对子元素的访问会比较消耗资源,如果经常对结构体的整体进行复制,那么应该使用合并结构,来减少存储空间的占用。} my_union;原创 2023-07-28 18:25:23 · 643 阅读 · 0 评论 -
SV 第一章 验证导论
随机测试包含了测试平台代码和随机的种子。每次仿真都需要选定一个独特的种子,如果使用自燃事件作为种子,依然会引起重复,应该将处理器的名称也加入到种子中,如果是集群几桶中由多核计算机,还是可能会出现两个相同的种子,这时候应该把处理器核的编号也加到种子中去。应该对于整个环境的配置进行随机化,包括仿真的市场、设备的数量,以及他们的配置方式,需要创建约束以确保配置的合法性。随着漏洞出现率的下降,应当闯将新的随即约束去探索新的区域,最后几个漏洞可能只能通过定向测试来发现,但是绝大部分的漏洞都会在随机测试中出现。原创 2023-07-28 18:23:22 · 67 阅读 · 1 评论