自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 UVM_10:开发VIP的流程

VIP是植入验证平台,帮助搭建验证平台,用于检查协议操作和接口的。

2022-07-06 15:14:45 1555 1

原创 UVM_9:代码可重用性callback机制

在UVM验证平台,callback机制的最大用处就是提高验证平台的可重用性;增加或者修改UVM组件的操作,增加新的功能,不需要创建复杂的OOP层次结构;还可以用于构建异常的测试案例。 VIP开发者预留callback接口,VIP使用者使用该接口。...

2022-07-06 15:00:33 439

原创 UVM_8:寄存器模型RAL

寄存器模型作为验证的重要部分,通过使用寄存器模型对总线做访问,代替直接从总线访问寄存器,寄存器模型与寄存器保持同步,通过寄存器模型更新寄存器,提高了测试用例的复用性。提供了后门访问寄存器的方式,从而不耗时地访问寄存器的值。...

2022-07-06 14:46:06 1284

原创 UVM_7:Sequence机制

根据sequence在使用过程中的问题,依次介绍它的关键点。内容包含:从driver中剥离激励产生功能Sequence的启动与执行Sequence的仲裁机制在同一个sequencer中启动多个sequencesequencer的lock操作sequencer的grab操作sequence的有效性Sequence相关宏及实现Virtual sequence...

2022-07-06 12:15:16 1405

原创 UVM_6:事务级建模TLM通信

TLM是一种基于事务(Transaction)的通信方式,通常在高抽象级语言,例如SystemC、SV/UVM中作为模块间的通信方式。TLM通信保证了相邻组件间的通信不再通过显式句柄引用,而是独立于组件的通信方式,为验证组件的复用提供了很好地封闭性。仿真速度是TLM对项目进度的最大贡献,同时TLM传输中的事务又可以保证足够大的信息量和准确性。...

2022-07-05 21:52:56 958 1

原创 UVM_5:Config机制

config作为UVM的重要机制,用于配置资源信息。

2022-07-05 20:19:36 373

原创 UVM_4:Factory机制

工厂是为了更方便地替换验证环境中的实例或者注册了的类型,同时工厂的注册机制也带来了配置的灵活性。

2022-07-05 19:52:47 218

原创 UVM_3:Phase机制--验证平台运行

phase使验证平台运行层次化,不单单是对于各个phase的先后顺序,而且处于同一phase中的层次化组件之间的phase也有先后关系,如,先组件实例化再连接。

2022-07-05 19:09:58 511

原创 UVM_2:uvm_component与uvm_object

UVM 中的类包含环境组件类和事务类。UVM 中的component类包含uvm_agent、uvm_driver、uvm_monitor、uvm_scoreboard、uvm_env、uvm_test;其余的都是object类,包含uvm_sequencer、uvm_sequencer_item、uvm_component、uvm_transaction等。...

2022-07-05 18:33:30 1209

原创 UVM_1:UVM介绍

UVM是IC验证方法学的一种,可以结合验证语言SystemVerilog使用。主要结合验证平台搭建和测试用例编写进行介绍。(最近在学UVM相关内容,整理笔记仅供参考)

2022-07-05 18:21:29 4655

原创 SystemVerilog面向对象编程

面向对象编程作为systemVerilog的关键,包含类的封装、继承和多态。将方法封装在类中供对象调用,通过类的继承可以实现基类和派生类中方法的调用和覆盖,从而在不同的子类中实现所需功能。声明数据成员和方法成员,并封装在类中,供对象调用其中方法。类作为封装容器来定义和储存。类的继承比如,共有属性的大类cat和具有特定属性的小类black_cat、white_cat使用extends来继承;若子类重新定义了函数,在其内部通过super索引父类的同名函数。在父类和子类中可以定义相同的变量和...

2022-07-05 17:11:55 779

原创 SystemVerilog接口

接口是连接设计-验证平台、模块-模块的线网集合,可以看成是一组线网的封装。接口内置参数、常量、变量、结构、函数、任务、initial块、always块、连续赋值语句以及断言,可以定制化编辑用于不同连接、收集覆盖率等。使用interface连接可以将设计和测试分开。......

2022-07-05 12:14:18 1261

原创 IC验证:异步FIFO

异步FIFO用来处理跨时钟域的读写,知识点涉及跨时钟域、同步、读写指针、空满判断、格雷码等。异步FIFO由读时钟域、写时钟域、Mermory模块和跨时钟域同步组成。读写指针随着读写操作在内存区域内循环移动。写满:最高位不同,其余位相同(可以理解为,写指针比读指针多跑一圈)读空:所有位相同(可以理解为,读指针赶上写指针)二进制→格雷码:第一位不变,后面每位都是对应二进制码当前位和其左位的异或。为什么使用格雷码?如图红色地址跳变情况,对于二进制第2/3/4位都需要变化,而格雷码只...

2022-06-22 16:56:26 2853

原创 五分频器(Verilog)

奇分频器的设计思路及Verilog代码

2022-06-21 12:03:28 3113

原创 IC设计验证:断言

在数字设计、验证中经常接触的到断言,比如,验证中覆盖率收集就包含:代码覆盖率、功能覆盖率和断言覆盖率。最近正好在学习相关内容,整理笔记仅供参考。断言作为语言本身的组成部分,在功能模拟中不断监视,从而得知设计功能是否正确。可以认为是个“观测员”,可以观测程序的状态,但不会改变代码本身。SystemVerilog中的断言还可以用来提供功能覆盖。相比硬件设计语言Verilog、SV,SVA是一种描述性语言,可以完美的描述时序相关的状况,语言的描述性本质提供了对时间卓越的控制,且语言容易维护,并且提供了内嵌函数,

2022-06-16 16:23:54 3776

原创 队列、定宽数组、关联数组、动态数组(systemVerilog)

在Verilog中可以声明一个数组类型,reg和线网类型还可以具有一个向量宽度。在一个对象名前面声明的尺寸表示向量的宽度,在一个对象名后面声明的尺寸表示数组的深度。在此基础上,SystemVerilog使用不同的术语表示数组:使用“压缩数组(packed array)”这一术语表示在对象名前声明尺寸的数组;使用“非压缩数组(unpacked array)”这一术语表示在对象名后面声明尺寸的数组。压缩数组可以由下面的数据类型组成:bit、logic、reg、wire以及其它的线网类型。无论是压缩数组还是非压缩

2022-06-14 20:06:50 1938 1

原创 Verilog与SystemVerilog中几种不同的端口:wire、reg、logic、input、output、inout、(const)ref

Verilog与SystemVerilog中几种不同的端口,如:wire、reg、logic、input、output、inout、(const)ref。简单介绍几者之间的关系与区别。这也是SystemVerilog与Verilog的一个区别,SystemVerilog中的logic数据类型能够被用来替代Verilog中的reg或wire(具有限制),这就使得能够在一个更高的抽象层次上建模,并且随着设计的不断深入能够加入一些设计细节而不必改变数据类型的声明。logic数据类型不会表示信号的强度也不具有线逻辑

2022-06-14 19:50:30 4727

原创 建立时间与保持时间

在一个同步数字系统中,数据的流动应当以一致的步伐进行,即时间脉冲信号每改变一次,数据能够改变一次。这种运作方式是通过同步的数字电路器件,例如触发器或锁存器来实现的,这类器件以时钟信号为指示将其输入端的数据复制到其输出端。在同步电路中,存在两种时序错误:保持时间违例和建立时间违例。建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的

2022-06-14 19:24:30 2244

原创 IC验证:静态时序分析

静态时序分析是检查IC系统时序是否满足要求的主要手段。以往时序的验证依赖于仿真,采用仿真的方法,覆盖率跟所施加的激励有关,有些时序违例会被忽略。此外,仿真方法效率非常的低,会大大延长产品的开发周期。静态时序分析工具很好地解决了这两个问题。它不需要激励向量,可以报出芯片中所有的时序违例,并且速度很快。(1)系统设计规划(需求分析)(2)RTL设计输入(3)RTL验证(功能仿真)(4)顶层模块集成、验证(SV/VCS/UVM)(5)逻辑综合(6)形式验证(包括门级验证)即综合后仿真(7)静态时序分析

2022-06-14 19:14:39 2115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除