
SV
文章平均质量分 81
ICCJJ
这个作者很懒,什么都没留下…
展开
-
SV_11_随机约束
摘要:约束驱动的测试生产允许用户为功能验证自动生成测试,随机测试比传统的、直接的测试方法更有效,随机测试可以找到直接测试难以覆盖的内容。SV允许用户声明随机约束,由求解器处理约束,生产满足约束的随机值。verilog使用$random产生随机整数,默认32位;SV添加了rand变量、randc变量、randomize()方法以及randomize_mode()的随机开关等。1. 随...原创 2021-03-03 10:36:00 · 1453 阅读 · 0 评论 -
SV_18_System Task and Function
引言:在verilog中已有的系统函数:$display$monitor$finish$readmemh 以及 $readmemb :都是从文件中读取数据,二进制和十六进制的区别$random...SV增添的:array system tasksvariables system tasksassertion system tasksrandom number sys...原创 2021-03-05 15:24:00 · 407 阅读 · 0 评论 -
SV_17_Coverage
引言: 传统的验证质量是借助代码覆盖工具来度量的。代码覆盖率反映了HDL代码的执行程度。代码覆盖工具通常通过插件来跟踪代码执行。代码覆盖工具提供的特性集通常包括行/块覆盖、状态机覆盖、表达式覆盖、事件覆盖和翻转覆盖。传统覆盖对于下面的方面有局限性:验证non-implemented 特性(Overlooking non-implemented features.);验证多个模块...原创 2021-03-05 11:41:00 · 459 阅读 · 0 评论 -
SV_16_interface
摘要:SV最后的特性之一就是interface,interface将端口进行绑定并作为一个单个项目保存,并允许在设计中被实例化,极大地提高了可维护性。1 Interface 接口还包含任务和函数。为了方便主从支持(一个的输入是另一个的输出),接口包含了modport。 1 //+++++++++++++++++++++++++++++++++++++++++++++++++ ...原创 2021-03-04 16:30:00 · 267 阅读 · 0 评论 -
SV_15_Hierarchy
摘要:Verilog中除全局的系统任务和函数外,所有的数据、函数和任务都在模块中。Verilog模块也可以包含其他模块的实例,并且任何未实例化的模块都位于顶层,另外模块的层次结构通常是任意的,在维护端口列表上无疑会花费大量的精力。 SV对verilog的一个重要增强是可以通过模块端口(包括网络)来传递任何数据类型,以及所有的变量类型(包括实数、数组和结构)。1 packages...原创 2021-03-04 12:46:00 · 523 阅读 · 0 评论 -
SV_14_Assertions
摘要:断言验证是指使用断言语言来指定设计中的预期行为,以及相对于验证中的设计来评估断言的工具。ABV:基于断言的验证运行设计工程师在设计过程中获取验证信息,还支持内部状态、数据路径和错误先决条件覆盖分析;一个 简单例子就是FIFO的判断空满;HDL可以编写断言,但其形式是很复杂的;1. 断言的两种形式Immediate Assertions:基于事件语义,与always块...原创 2021-03-04 10:59:00 · 515 阅读 · 0 评论 -
SV_13_Program Block
摘要:verilog中的module用于描述 硬件,它可以始终包含initial和assign语句。SV引入了program,其中包含了完整的测试平台 。1。 program与moduleprogram 的目的:为testbench提供接入点;创建了一个域来封装program的数据、任务和函数;便于资源在Reactive region的调度。program不能包...原创 2021-03-03 14:58:00 · 348 阅读 · 0 评论 -
SV_12_Interprocess Communication
摘要:高级且易于使用的同步和通信机制对于控制用于为复杂系统或高度反应性的测试台架建模的动态流程之间发生的交互类型至关重要。verilog提供了-> 和 @ ,但仅局限于静态对象,无法处理动态对象;SV提供了以下三种方式用于进程键通信:semapgoremailboxevents1 Semaphore旗语用于锁定(资源无法使用)和解锁(资源可以使用)一个公共资源...原创 2021-03-03 13:41:00 · 199 阅读 · 0 评论 -
SV_10_面向对象编程(OOP)的类
摘要:SV引入了面向对象的类数据;类允许通过对象句柄动态地创建、删除、赋值和访问对象,类提供了继承和抽象类建模,从而为对象带来了多态性。ObjectsObject membersConstructorsStatic class membersAssignmentsInheritance and subclassesthis and superData hiding and e...原创 2021-02-28 08:09:00 · 602 阅读 · 0 评论 -
SV_9_Task and Function
摘要:本节主要讲述任务和函数以及参数传递的内容。1.任务和函数任务和函数与verilog中相同,但SV增加了在静态任务和函数中声明自动变量以及在自动任务和函数中声明静态变量的能力1.1 task端口默认为输入,除非声明为其他类型;数据类型默认为logic,除非声明为其他类型;可以存在多个语句,而不用begin end 做开始结尾;利用return语句终止task;wi...原创 2021-02-27 21:51:00 · 639 阅读 · 0 评论 -
SV_8_Processes
摘要:在一个组合逻辑建模的always块中,忘记一个其他块会导致意外的锁存。为了避免这种错误,SV添加了专门的always_comb和always_latch块来表明设计意图,还增加了一个always_iff块来指示顺序逻辑。静态进程:always,initial, fork...join;动态进程:fork...join_any fork...join_any1...原创 2021-02-27 18:55:00 · 315 阅读 · 0 评论 -
SV_7_Procedural Statements And Control Flow
摘要:本章主要介绍过程控制语句与控制流的一下方法Procedural statement:initial:在仿真的一开始使用,只执行一次;final:在仿真结束前执行,SV新增的内容;always:always_comb, always_latch, always_ff, SV新增的内容;task:当task被召唤时执行;function:当function被召唤时执行,并返回一...原创 2021-02-27 16:53:00 · 202 阅读 · 0 评论 -
SV_6_Operators and expressions
摘要:SV的操作符是verilog和c语言的集合;1.Assignment operators(赋值操作符)=+=-=*=/=%=&=|=^=<<=>>=<<<=>>>=赋值操作符在语义上等同于阻塞赋值,任何操作符左边的表达式只计算一次;例子: 1 module assignmen...原创 2021-02-27 09:46:00 · 499 阅读 · 0 评论 -
SV_3_Literal Values
摘要:本章节主要介绍System verilog 中的 literal valuetime valuearray valuestructure valueimprovement to string literals1. integer and logic literals可用如下方法进行赋值:'0 : Set all bits to 0'1: Set all bits...原创 2021-02-26 14:13:00 · 281 阅读 · 0 评论 -
SV_2_verilog基础
1. verilog 的一般设计流程:1. specification(specs)2. high level design3. low level (micro) design4. RTL coding5. verification2. 以一个arbiter为例SpecsTwo agent arbiter;Active hogh asynchronous reset;...原创 2021-02-26 02:12:00 · 281 阅读 · 0 评论 -
SV_1_引言
相比于verilog和VHDL,SV扩展的内容1. 增加了一些类似于C语言的数据类型:int,typedef,struct,union,enum2. 增加了一些动态数据类型:struct,classes,dynamic queues,dynamic arrys3. 加强了对flow的控制:foreach,return,break,continue3. 增加了...原创 2021-02-26 02:09:00 · 165 阅读 · 0 评论 -
SV_5_Data Type2
1. Array数组是所有相同类型变量的集合,并用名称加索引进行访问;在数组名之前声明的为数组宽度,数组名之后的为数组维度;1.1 Packed and unpacked array在SV里packed array指只有在数组名之前做了声明,带有数组宽度的数组, unpacked array 指只有在数组名之后做了声明,带有数组维度的数组; 1 modu...原创 2021-02-27 08:48:00 · 404 阅读 · 0 评论 -
SV_4_Data Type1
摘要:System Verilog 增加了新的数据类型,也对已有的数据类型进行了优化,以提高模拟器运行时的内存使用率;shortint and longint data types;shortreal (real was already defined in verilog) data type;string, handle and class data type;logic ,b...原创 2021-02-26 16:55:00 · 212 阅读 · 0 评论