TCJJ

导航

2021年3月4日

SV_15_Hierarchy

摘要: 摘要:Verilog中除全局的系统任务和函数外,所有的数据、函数和任务都在模块中。Verilog模块也可以包含其他模块的实例,并且任何未实例化的模块都位于顶层,另外模块的层次结构通常是任意的,在维护端口列表上无疑会花费大量的精力。 SV对verilog的一个重要增强是可以通过模块端口(包括网络)来传 阅读全文

posted @ 2021-03-04 12:46 TCJJ 阅读(169) 评论(0) 推荐(0)

SV_14_Assertions

摘要: 摘要:断言验证是指使用断言语言来指定设计中的预期行为,以及相对于验证中的设计来评估断言的工具。 ABV:基于断言的验证运行设计工程师在设计过程中获取验证信息,还支持内部状态、数据路径和错误先决条件覆盖分析; 一个 简单例子就是FIFO的判断空满; HDL可以编写断言,但其形式是很复杂的; 1. 断言 阅读全文

posted @ 2021-03-04 10:59 TCJJ 阅读(332) 评论(0) 推荐(0)

2021年3月3日

SV_13_Program Block

摘要: 摘要:verilog中的module用于描述 硬件,它可以始终包含initial和assign语句。SV引入了program,其中包含了完整的测试平台 。 1。 program与module program 的目的: 为testbench提供接入点; 创建了一个域来封装program的数据、任务和函 阅读全文

posted @ 2021-03-03 14:58 TCJJ 阅读(131) 评论(0) 推荐(0)

SV_12_Clocking Block

摘要: 摘要:SV添加了一个时钟块,用于识别时钟信号,实现计时和同步需求 。 输入采样 同步事件 同步驱动 1. input and output skew 通常在基于周期的代码设计和验证中,输入在时钟边沿采样,输出在时钟边沿驱动; 如果指定了skew,则输入在时钟skew时间之前采样,输出在时钟skew之 阅读全文

posted @ 2021-03-03 14:22 TCJJ 阅读(1268) 评论(0) 推荐(0)

SV_12_Interprocess Communication

摘要: 摘要:高级且易于使用的同步和通信机制对于控制用于为复杂系统或高度反应性的测试台架建模的动态流程之间发生的交互类型至关重要。 verilog提供了-> 和 @ ,但仅局限于静态对象,无法处理动态对象; SV提供了以下三种方式用于进程键通信: semapgore mailbox events 1 Sem 阅读全文

posted @ 2021-03-03 13:41 TCJJ 阅读(114) 评论(0) 推荐(0)

SV_11_随机约束

摘要: 摘要:约束驱动的测试生产允许用户为功能验证自动生成测试,随机测试比传统的、直接的测试方法更有效,随机测试可以找到直接测试难以覆盖的内容。SV允许用户声明随机约束,由求解器处理约束,生产满足约束的随机值。 verilog使用$random产生随机整数,默认32位; SV添加了rand变量、randc变 阅读全文

posted @ 2021-03-03 10:36 TCJJ 阅读(594) 评论(0) 推荐(0)

2021年2月28日

SV_10_面向对象编程(OOP)的类

摘要: 摘要:SV引入了面向对象的类数据;类允许通过对象句柄动态地创建、删除、赋值和访问对象,类提供了继承和抽象类建模,从而为对象带来了多态性。 Objects Object members Constructors Static class members Assignments Inheritance 阅读全文

posted @ 2021-02-28 08:09 TCJJ 阅读(198) 评论(0) 推荐(0)

2021年2月27日

SV_9_Task and Function

摘要: 摘要:本节主要讲述任务和函数以及参数传递的内容。 1.任务和函数 任务和函数与verilog中相同,但SV增加了在静态任务和函数中声明自动变量以及在自动任务和函数中声明静态变量的能力 1.1 task 端口默认为输入,除非声明为其他类型; 数据类型默认为logic,除非声明为其他类型; 可以存在多个 阅读全文

posted @ 2021-02-27 21:51 TCJJ 阅读(245) 评论(0) 推荐(0)

SV_8_Processes

摘要: 摘要:在一个组合逻辑建模的always块中,忘记一个其他块会导致意外的锁存。为了避免这种错误,SV添加了专门的always_comb和always_latch块来表明设计意图,还增加了一个always_iff块来指示顺序逻辑。 静态进程:always,initial, fork...join; 动态 阅读全文

posted @ 2021-02-27 18:55 TCJJ 阅读(71) 评论(0) 推荐(0)

SV_7_Procedural Statements And Control Flow

摘要: 摘要:本章主要介绍过程控制语句与控制流的一下方法 Procedural statement: initial:在仿真的一开始使用,只执行一次; final:在仿真结束前执行,SV新增的内容; always:always_comb, always_latch, always_ff, SV新增的内容; 阅读全文

posted @ 2021-02-27 16:53 TCJJ 阅读(73) 评论(0) 推荐(0)

1