取个名字真难啊啊
这个作者很懒,什么都没留下…
展开
-
SystemVerlag——功能覆盖率
“覆盖率”是衡量设计验证完成程度的一个通用词。随着测试遂步覆盖各种合理的组合,仿真过程会慢慢勾画出你的设计情况。覆盖率工具会在仿真过程中收集信息,然后进行后续处理并得到覆盖率报告。你通过这个报告找出覆盖上的盲区.然后修改现有测试或者创建新测试来填补这些育区。这个过程可以一直迭代进行,直到你对覆盖率满意为止。衡量验证进展的最简易的方式是使用代码覆盖率。这种方式衡量的是多少行代码已经被执行过(行覆盖率),在穿过代码和表达式的路径中有哪些已经被执行过(路径覆盖率).哪些单比特变量的值为0或1(翻转覆盖率),以及状原创 2022-09-26 23:31:33 · 370 阅读 · 0 评论 -
SystemVerlag——面向对象编程的高级技巧
【代码】SystemVerlag——面向对象编程的高级技巧。原创 2022-09-26 23:27:42 · 209 阅读 · 0 评论 -
SystemVerilog——线程以及线程之间的通信
发生器需要创建很多事务并且传递给驱动器的情况下,如果仅仅使用发生器线程去调用驱动器中的任务,那么发生器需要知道到达驱动器任务的层次化路径,这样会降低代码的可重用性。如果正确的总线地址来得足够早,则wait线程先完成,跳出join-any线程,然后disable结束剩余的线程,其中带时延的display线程就没有执行。否则,会一直等到事件被触发为止。如果在某个任务内部禁止该任务,这就像是任务的返回语句,但是这也会停止所有由该任务启动的线程,如果改任务已经被多个线程调用,禁止其中的一个将导致它们全部被禁止。原创 2022-09-26 23:19:13 · 341 阅读 · 0 评论 -
SystemVerilog——随机化
随着设计变得越来越大,要产生一个完整的激励集合来测试设计的功能也变得越来越难。编写定向的测试集来检查所有功能项变得不太可能。解决的办法是采用受约束的随机测试法(CRT)自动产生测试集。准备CRT的环境要比准备定向测试集的环境复杂。简单的定向测试集只需要施加激励,然后人工检查输出结果。正确的输出结果随后可以保存为标准日志文件(golden logfile),用来和今后的仿真结果进行比较,以判断仿真结果的正确性。CRT环境不仅需要产生激励,还需要通过参考模型、传输函数或其他方法预测输出结果。然而,只要准备好了这原创 2022-09-26 19:46:55 · 348 阅读 · 0 评论 -
SystemVerilog——面向对象编程
在SystemVerilog中可以把类定义在program,module,package中,或者在这些块之外的任何地方。类可以在程序和模块中使用。在此之前,可以将程序块当作一个包含了测试代码的模块,它含有一条测试、组成测试平台的对象及创建、初始化并运行测试的初始化块。当创建一个项目的时候,可能需要将每个类保存在独立的文件中。当文件的数目变得太大的时候,可以使用SystemVerilog的包(package)将一组相关的类和类型定义捆绑在一起。例如,可以将所有的SCSI/ATA事务组合到一个包中。原创 2022-09-21 13:54:01 · 180 阅读 · 0 评论 -
SystemVerilog——连接设计和测试平台
验证一个设计需要经过几个步骤:生成输入激励,捕获输出响应,决定对错和衡量进度。但是,首先需要一个合适的测试平台,并将它连接到设计上。测试平台包裹着设计,发送激励并且捕获设计的输出。测试平台组成了设计周围的“真实世界”,模仿设计的整个运行环境。例如,一个处理器模型需要连接到不同的总线和器件,这些总线和器件在测试平台中就被建模成总线功能模型。一个网络设备连接到多个输入和输出数据流,这些数据流根据标准的协议建模。一个视频芯片连接到送入指令的总线,然后根据写入内存模型的数据重建图像。这里的核心概念是除了待测设计(D原创 2022-09-20 14:04:04 · 178 阅读 · 0 评论 -
SystemVerilog——过程语句和子程序
过程语句任务、函数、void函数子程序参数子程序返回return语句从函数中返回一个数组局部数据存储自动存储变量的初始化时间值时间单位和精度时间和变量原创 2022-09-09 08:37:00 · 176 阅读 · 0 评论 -
SystemVerilog验证——数据类型
数据类型内建数据类型logic类型双状态数据类型定宽数组定宽数组的声明和初始化常量数组基本数组操作——for和foreach基本数组操作——复制和比较同时使用位下标和数组下标动态数组队列关联数组链表数组的方法缩减定位排序选择存储类型灵活性存储器用量速度排序typedef创建新的类型struct创建结构类型转换静态转换动态转换流操作符枚举类型字符串和Verilog相比,systemVerilog提供了很多改进的数据结构。虽然其中部分数据结构最初是原创 2022-09-06 08:20:35 · 166 阅读 · 0 评论 -
SystemVerilog验证导论
硬件设计的目的在于创建一个基于设计规范并且能够完成特定任务的设备作为验证工程师的目的是确保该设备能够成功地完成预定地任务作为一个验证工程师,必须核设计者一样阅读硬件规范并且拟定验证计划,然后按照计划,创建测试来检查RTL代码是否准确地实现了所有的特性。如果多人对同一个规范进行解读,那么设计流程可能会出现冗余。作为验证工程师,需要阅读同样的硬件规范并对其含义做出独立的判断,然后利用测试来检查对应的RTL代码是否与你的解读一致。原创 2022-09-05 09:27:57 · 202 阅读 · 0 评论