自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【Verdi】使用技巧

Verdi 操作技巧(总线拆分,逻辑运算)

2022-10-19 10:15:36 1411

原创 Verilog中文件的读取和写入操作($readmemb $fopen $fwrite $fclose )

目录 读取:$readmemb/readmemh 写入:$open->$write->$close

2022-04-02 22:40:23 6093

原创 面试准备---信号的跨时钟域同步问题

【参考文档】:FPGA中的亚稳态 、跨时钟域处理3大方法包含知识点:D触发器、异步fifo、格雷码、亚稳态、建立和保持时间D触发器【参考文档】如何理解D触发器_mkelehk的专栏-CSDN博客_d触发器建立保持时间建立时间Tst 是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间保持时间Tht是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间否则数据将不能在这个时钟上升沿打入到触发器中...

2021-10-08 23:41:36 569

原创 8 UVM序列2---sequencer&sequence、sequencer的层次化

目录1 sequencer和sequencesequence和item的发送发送序列的相关宏sequencer仲裁机制Sequencer的锁定机制2 sequence的层次化Hierarchical SequcenceVirtual SequenceLayering Sequence1 sequencer和sequencesequence和item的发送sequence挂载到sequencer上可以使用方法也可使用`uvm_do宏来实现,但根本的基础还是相应.

2021-09-15 22:26:14 629

原创 7 UVM序列1---Sequence&Item、Sequencer&Driver

目录1 新手上路序列间互动继承关系总结2 Sequence&Itemuvm_sequence_itemFlat sequenceHierarchical Sequence3 Sequence&Driver双方端口和方法实例(过程分析 通信时序 握手建议)传输分析:通信时序握手建议:1 新手上路序列间互动事务的传输需要通过以下几个核心类来实现:uvm_sequence_item uvm_sequenceuvm_...

2021-09-13 20:13:55 1491

原创 4 UVM结构2---环境的构建

目录1 UVM结构回顾uvm_topuvm_test构建环境的主要组件2 环境的集成方案方案介绍总结:相比于sv验证环境,uvm环境复用的优势3 构建环境的内径单元组件的自闭性回归创建通信端口连接顶层配置1 UVM结构回顾uvm_topuvm_top是uvm_root类的唯一实例,是uvm世界的“一”。它由uvm创建和管理,所在的域是uvm_pakg。uvm_top是所有test组件的顶层uvm_top提供一系列方法来控制仿真,例如phas

2021-09-08 15:30:39 544

原创 3 UVM结构1---组件家族

1 组件家族2 uvm_driver3 uvm_monitor4 uvm_sequencer5 uvm_scoreboard6 uvm_env7 uvm_test

2021-09-07 17:14:01 464

原创 2 UVM世界观2

1 核心基类UVM中的类最初都是从UVM_void根类继承而来,除了事务接口(transaction interface)类继承于uvm_port_base,其他所有的类都是从uvm_object类一步步继承而来的。uvm_object的核心方法主要提供与数据操作的相关服务,包括copy、clone、compare、print、pack/unpack。域的自动化要想使用UVM_object提供的相关服务和方法,首先应实现域的自动化。通过域的自动化,用户可以在注册UVM类的同时也..

2021-09-03 15:19:06 349

原创 1 UVM世界观1

1 验证方法学概述UVM的优势2 类库地图概述UVM世界3 工厂机制工厂的意义uvm_component和uvm_object工厂提供的便利-create4 覆盖方法工厂提供的便利--overrideset_type_override() 和 set_inst_override()覆盖实例...

2021-09-01 19:55:36 421

原创 SV基础知识7---面向对象的高级技巧

类型转换 虚方法 对象拷贝 回调函数 参数化的类

2021-08-20 21:40:33 1311

原创 SV基础知识3---Class类和Package

类和对象的概述类和对象类是将相同的个体抽象出来的描述方式,对象是实体,具有相同属性和功能的对象就属于同一类。类的定义核心就是属性声明和方法定义,所以类是数据和方法的自洽体,既可以保存数据又可以处理数据,这是类与结构体在数据保存上最重要区别。面向对象OOP的基本概念(三要素:封装、继承、多态)验证为什么要用OOP,创建对象(实例说明,对象的销毁)句柄的使用(创建对象、使用对象中的成员变量和方法、深复制和浅复制)、静态变量和静态方法类的成员protected和loca

2021-08-17 10:06:47 4334

原创 SV基础知识6---覆盖率收集

1覆盖率的类型(概述 覆盖率反馈回路 代码覆盖率 断言覆盖率 漏洞率曲线 功能覆盖率)概述覆盖率是衡量验证完备性的一个通用词语,用来衡量设计中已经被测部分和未测部分的比例,通常被定义为已达到所需验证部分的百分比。 覆盖率工具会在仿真过程中收集信息,进行处理得到覆盖率报告,再根据报告找出覆盖之外的盲区,修改现有测试用例或者创建新的测试用例来填补这些盲区,这个过程可以一直迭代进行,直到达到目标覆盖率代码覆盖率代码覆盖率用于衡量你执行了多少设计代码,关注点在设计代码上,而不是测试平...

2021-08-16 16:12:29 9394

原创 SV基础知识4----随机化和约束

1 随机约束和分布为什么需要随机和约束随着芯片体积的增大,复杂度日益提高,定向测试已无法满足验证的需求,随机测试的比例逐渐提高。定向测试只能找到你认为可能存在的缺陷,而随机测试可以找到连你都没有想到的缺陷。若只有随机没有约束,那么会产生很多无效和非法的激励。随机的对象不只是一个数据,而是有联系的变量集。通常这些变量会封装在一个数据类中,同时需要在类中声明数据之间的约束关系。约束不但可以指定数据的取值范围,还可以指定数据的随机权重分布。随机的内容器件配置:寄存器和系统信号 环境配置:随.

2021-08-10 15:53:42 11552 2

原创 SV基础知识5---线程与线程间的通信

1 线程的使用线程就是独立运行的程序。verilog中对initial语句块主要有两种分组方式:begin ...end:中的语句顺序执行fork...join中的语句以并发方式执行2 线程的控制在sv中,新增了fork...join_any fork...join_none 语句,其区别如下图wait fork 和 disable forkwait fork :等待所有子线程结束disable 线程名:指定需要停止的线程disable fo...

2021-08-09 11:00:32 4796

原创 SV基础知识2---接口及应用

1 接口 1.1 接口是什么接口(interface)是连接设计和测试平台的一个"插排",可以用作设计,也可用作验证;如图:1.2 接口的优势将有关信号封装在同一个接口中,对于设计和验证环境都便于维护和使用。 interface是SV中唯一的硬件和软件环境的媒介交互。 接口可以例化,使得对于多组相同的总线,在例化和使用时变得更加灵活。1.3 接口的使用 在inteface端口列表中只需定义时钟、复位等公共信号,或者不定义任何端口,推荐使用logic定义变...

2021-07-27 09:00:04 2402

原创 Verilog 学习笔记(简化版)

1.综合和仿真1.1 综合将 Verilog 代码转成网表(实际电路)的过程称为综合,实现这一过程的工具就是综合器。1.2 仿真在综合前, 设计师可以在电脑里通过仿真软件对代码进行仿真测试, 检测出 BUG 并将其解决,最后再将程序烧写进芯片中。仿真代码只求产生最真实的激励,无需关注是否可综合成电路。1.3可综合与不可综合简单来说,“综合”要做的事情有:编译 rtl 代码,从库里选择用到的门器件,把这些器件按照“逻辑”搭建成“门”电...

2021-07-17 15:24:06 1068

空空如也

空空如也

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

TA关注的人

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