
SystemVerilog/Verilog/VHDL/UVM
wonder_coole
半导体行业非IT码农一枚
展开
-
UVM学习笔记--寄存器模型 Register Model
1.寄存器模型( Register model )简介UVM的寄存器模型是一组高级抽象的类,用来对DUT中具有地址映射的寄存器和存储器进行建模。它非常贴切的反映DUT中寄存器的各种特性,可以产生激励作用于DUT并进行寄存器功能检查。通过UVM的寄存器模型,可以简单高效的实现对DUT的寄存器进行前门或后门操作。它本身也提供了一些寄存器测试的sequence,方便用户直接使用。UVM的寄存器模型...原创 2019-06-13 17:43:53 · 33871 阅读 · 10 评论 -
UVM学习笔记--sequence和sequencer
1. UVM sequence机制的意义UVM的sequence机制最大的作用就是将test case和testbench分离开来。 对一个项目而言,testbench是相对稳定的框架,而针对各个module要有不同的测试内容,所以具体的test case 的差异非常大。在UVM中, test和sequence类总是成对出现,实现了testbench和具体的test case的结合。test类...原创 2019-05-29 10:19:44 · 28489 阅读 · 2 评论 -
UVM学习笔记--phase机制
1.UVM phase 概览UVM采用phase机制来自动化运行testbench各个仿真过程。UVM phase支持显示或隐式的同步方案,运行过程中的线程控制和跳转。用户只要把代码填入对应的phase,这些代码就会自动在正确的时间执行。各个phase执行顺序如下图所示:相较于OVM,UVM新增了12个小的task phase,如下图:其中run_phase和uvm新增加的12...原创 2019-05-22 15:57:40 · 17864 阅读 · 3 评论 -
UVM学习笔记--TLM通信
Table of Contents1.TLM简介2.UVM TLM基本概念2.1 TLM 通信常用的的三种传输:Put/Get/Transport2.2 TLM 通信中的三种端口:Port,Export,IMP2.3 Put/Get/Transport等动作的实现2.4 跨层次连接3. 所有常用的一对一Port类型的总结4. Analysis端口(一对多连接)...原创 2019-05-15 19:28:33 · 9424 阅读 · 0 评论 -
UVM学习笔记--build_phase的执行顺序
理解UVM build_phase的执行顺序很重要虽然明白build_phase的执行顺序是由上往下,由根节点到叶子节点,但具体细节还是不清楚,如是在同级的所有节点都先创建完成,在开始下一级节点的创建?还是某个节点一下所有节点都创建完,在创建兄弟节点及其子节点呢?我做了个试验,在每个component的new函数结尾会打印tag是 [new_call]的信息, 在每个build_phase函数...原创 2019-05-10 19:06:33 · 9995 阅读 · 6 评论 -
UVM学习笔记--UVM 基础
1.UVM component相较与UVM object所具有的两大特性:在new时候通过指定parent参数来形成一种树形结构。具有phase的自动执行的特点。原创 2019-05-09 22:40:27 · 1965 阅读 · 0 评论 -
UVM学习笔记--概览
使用UVM的第一条原则:验证平台中所有的组件均应派生自UVM中的类。factory机制:必须用宏 `uvm_component_utils,`uvm_object_utils, `uvm_object_utils_begin … end 注册后才能使用。UVM factory机制会维护一个注册表,用这些宏可以把用户定义的类注册到该表中。在top tb中使用 run_test(“your_t...原创 2019-05-06 16:15:15 · 3467 阅读 · 0 评论 -
SystemVerilog LRM 学习笔记 -- clocking块
1clocking...endclocking块clocking块是SV新feature,主要是为了更好解决testbench和DUT之间的timing和同步建模的问题,可以使user基于clock cycle在更高的抽象层次上写testbench(如“## 3”,表示三个clock)。clocking只能在module/interface/checker/program中声明,不能在fun...原创 2018-09-10 22:46:33 · 25558 阅读 · 2 评论 -
SystemVerilog LRM 学习笔记 -- SV Scheduler仿真调度
1. 为什么要理解scheduler?SystemVerilog是HDVL语言,相较与Verilog,除了面向HW design应用,也为了提高verif的效率。所以其仿真调度算法在向下兼容Verilog的同时,增加了不少新的‘Time region’,以便更好的支持program块等针对验证需求的新特性。SV不同于C/C++等软件语言,为了对硬件进行仿真建模,所以有很多并行的proces...原创 2018-08-29 22:13:49 · 9867 阅读 · 2 评论 -
System Verilog LRM 学习笔记 -- 字面常量
1. 整数型字面常量1.1整数型字面常量表示方法有两种:数字直接表示:会被系统识别为32bit宽的有符号数。 指定size和进制,如12‘hDBA, 有可选的宽度,(’), s/S有符号数指示,和数字组成。 默认是无符号数,只有含s/s符号数指示时被识别为有符号数, 如12‘shDBA.1.2 负数是二进制补码的形式表示1.3 整数型字面常量的补齐和截断,padded to l...原创 2018-08-28 16:43:31 · 1938 阅读 · 0 评论 -
System Verilog LRM 学习笔记 -- 数据类型
一般的SystemVerilog专业书不会全方位细致的讲SV,所以过一遍Accellera的SV LRM还是很有必要的。IEEE SV标准: IEEE 1800-2017 - IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification LanguageAccellera的...原创 2018-08-20 12:38:14 · 5956 阅读 · 1 评论 -
维特比译码器(Viterbi Decoder)硬件架构(三)--硬件结构描述及RTL源代码
1. 综述发展到现在,Viterbi译码器的硬件结构以及很成熟了。这里要描述的Viterbi译码器采用了一个成熟的规整化的硬件的硬件架构,可根据配置寄存器来对LTE,NB-IOT及GSM/GPRS/EDGE中使用的卷积码进行译码。前向回溯的滑窗技术可以减少Path Metric Buffer. 基于可配的网格结构可实现约束长度为4~7,编码效率为1/2,1/3,1/4,1/5,1/6的卷积码的译...原创 2019-06-21 14:35:30 · 3993 阅读 · 4 评论