自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 APB 3

APB协议是AMBA总线协议系列的一部分,其接口简单、功耗较低,常用于连接低带宽的高性能外设,每次数据传输至少需要两个时钟周期,且无法同时进行读写操作。APB作为系统中的从机,可以通过与系统总线相连。可以使用APB协议来访问外围设备的可编程控制寄存器。相较于APB2,APB3新增了两个信号。

2023-07-12 14:06:00 734

原创 同向运算放大器项目总结

DUT是一个同向运算放大器,有三种不同的工作状态,分别为idle、设置放大倍数以及放大。为了验证DUT的完备性,在DUT设计代码中故意设置了bug。通过三个测试用例生成随机激励去验证DUT的三种工作状态。在放大的功能测试中,reference_model调用了DPI接口完成。输入信号输出信号三种工作状态1.idle2.设置放大倍数3.放大4.bug 1.transaction2.base_sequence3.config4.sequence_lib 1.sqr2.dri3.mon4.agent5.refer

2022-06-02 14:55:26 509 2

原创 UVM(三)

除了body外,还会自动调用sequence的pre_body与post_body

2022-06-01 10:48:39 1318

原创 uvm_top,phase

一.top1.使用仿真器进行仿真时,系统进行的第一个module就是top;`timescale 1ns/1ps`include "uvm_macros.svh" //将uvm的参数文件include到环境top文件中(uvm各种宏)import uvm_pkg::*; //导入已经编译好的uvm库文件`include "hello_if.sv"`include "hello_transaction.sv"..........................

2022-05-30 11:27:59 521

原创 field automation,vif

一.field automation二.virtual interface1.UVM中使用virtual interface 来连接验证平台和DUT module中实例化interface直接使用interface名即可,但在class中使用interface必须为virtual interface;interface hello_if(input clk,input rst_n); logic [7:0] data; logic ...

2022-05-30 10:17:04 162

原创 uvm(二)

24.类的继承关系1.uvm_object是UVM中最基本的类,几乎所有的类都继承于它,包括uvm_component2.uvm_component有两大特性是uvm_object所没有的一是通过在new的时候指定parent参数来形成一种树形的组织结构;二是phase的自动执行;25.完整的UVM树1.所有的UVM树的结点都是由uvm_component组成的,只有基于 uvm_component派生的类才可能成为UVM树的结点...

2022-05-25 20:15:12 2034

原创 uvm(一)

1.验证的主要任务1.DUT的行为表现是否与特性列表中要求的一致;2.DUT是否实现了所有特性列表中列出的特性;3.DUT对于异常状况的反应是否与特性列表和设计规格说明书中的一致,如中断是否置起;4.DUT是否足够稳健,能够从异常状态中恢复到正常的工作模式;...

2022-05-24 19:57:00 918

原创 uvm_transaction,uvm_sequence

1.uvm_transaction1.在uvm环境中,所有组件之间的通信都是通过transaction类型连通;2.是UVM中事务的基本类,继承uvm_object 的所有方法外,增加了timing和recording的接口;3.uvm_sequence_item – 用户定义的事务的基类,同时也是uvm_sequence的基类。提供了使用强大sequence机制的基本功能。4.包含内容(成员变量、域的自动化、变量的约束、其他必要内容)5.代码示例`i...

2022-05-23 22:38:05 3040

原创 m_sequencer和p_sequencer

每次重读白皮书,总能看到之前忽视掉的很多,总会有些许收获。1.m_sequencer和p_sequencer1.类型m_sequencer 是每个sequence中都有的默认成员变量,它的类型是uvm_sequencer_base类型,它是指向当前sequence的sequencer句柄;p_sequencer 需要使用`uvm_declare_p_sequencer(my_sequencer)声明,类型是my_sequencer类型(my_sequence...

2022-05-20 00:09:37 3618 1

原创 uvm_env,uvm_test

1.uvm_env1.env集成了其他component,对于简单的模块,一个env就可以组成一个完整的tb。2.env通过配置可以重用于复杂的验证环境,例如agt的active和passive;3.代码示例`ifndef _GUARD_HELLO_ENV_SV_`define _GUARD_HELLO_ENV_SV_ //两句连用,防止重复编译(C语言内容)class hello_env extends uvm_agent; hello_agent

2022-05-18 21:58:03 1555

原创 TLM通信(1.0)

TLM中常见操作以下都以A为“发起者”,B为“接收方”阐述1.putA将Transaction发送给B2.getA向B索取一个Transaction3.transportA先向B发送一个Transaction,再向B索取一个Transactionput、get和transport都有阻塞和非阻塞之分。UVM中的端口注意是UVM中的端口,实际上在TLM中没有定义IMP1.port通信发起方具...

2022-05-17 21:54:35 509

原创 uvm_agent,uvm_scoreboard,reference model

昨天组会时,老师说研二的同学把工作交接一下开始准备找工作。初听时还是很开心的,至少可以光明正大的看点儿uvm。但是细想,每天还得去公司挂机,也得去费尽心思去搞毕设,但是心理上更能接受而已。不过不管怎么样,还是专注把自己手头的工作做好吧,剩下的一半交给天意。1.uvm_agent1.agent 封装了sqr,driver和monitor,并将sqr和driver连接起来;2.agt有两种模式,active和passive;3.代码示例`ifndef _GUARD_HE...

2022-05-15 21:56:09 1135

原创 uvm_driver,uvm_sequencer,uvm_monitor

uvm_driverclass uvm_driver #( type REQ = uvm_sequenve_item, type RSP = REQ) extends uvm_component1.uvm_driver内有两个参数,但一般只需要声明REQ即可2.主要方法get_next_itemtry_next_item通过以上两个方法之一,实现driver向sqr的请求。driver为initiator,sqr为target。get为阻塞方法,try为非

2022-05-12 19:59:53 952

原创 2022.5.11

开摆。1.字符串(%s)module test(); string name = "JoJo"; string name2={name,name}; initial begin $display(name); $display("%s",name); $display(name.toupper); //大写 $display(name.tolower); //小写

2022-05-11 23:42:23 273

原创 2022.5.10

上次老师看到在听歌,叫我少听点网易云,但是孤独的人只是想找类似的心境。今天盲审成绩出了,几家欢喜几家愁,过了的人喜大普奔,终于可以放心的毕业了,没过的凄凄惨惨戚戚,若是格式问题,还好,如果两位老师意见相差太多,可真叫人头大。还有一些出了一半的,估计也很难熬了。实验室的师兄们成绩都很高,均分都在90左右,唯有带我的师兄有些唏嘘。工程能力超强,一个91一个61的分数叫人大跌眼镜,希望他复审顺利,也希望我到时候可以有个好的结果。时隔一年,才算正式开始一点硬件的工作吧,坐一天收效颇微。下半时,李...

2022-05-10 21:01:04 219

原创 2022.5.9

看到出盲审结果之前,师兄们在群里讨论,说被毕业搞抑郁了。想想自己,因为毕业选择了留在实验室,没想到却比实习的同志先挂,状态每况愈下,瘦了20斤,两位好友也渐行渐远,只能每天麻痹自己。

2022-05-09 21:23:33 1126

原创 scoreboard

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-07 21:12:11 578

原创 reference model

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-07 20:50:24 841

原创 monitor——同相运算放大器放大器

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-07 20:19:01 207

原创 Driver——同相运算放大器

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-07 19:54:31 354

原创 Agent——同相运算放大器

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-07 19:37:31 231

原创 sequence

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-06 21:45:09 575

原创 Interface

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-06 14:28:23 434

原创 env——同相运算放大器

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-06 12:12:20 849

原创 DUT——同相运算放大器

基于小豪豪老师讲述的同相运算放大器的uvm项目,加以自己的理解简单阐述,主要目的为了做一个学习记录。参考:https://blog.csdn.net/howard789/article/details/116479260

2022-05-06 10:47:10 2079

原创 SV笔试题1

本专栏基于绿皮书,收集了一些牛客网的sv题目,以绿皮书为参考,给出自己的解答,请大家多多指正。

2022-04-29 19:00:47 1593 1

原创 UVM的其他机制

一. field automation机制1.概述使用 `uvm_field 系列宏注册类中的所有字段(成员变量)。类中的成员变量类型决定了要使用什么样的 `uvm_field 宏:如int型变量,使用`uvm_field_int宏;string型变量,则使用 `uvm_field_string宏等。范式:`define uvm_field_数据类型(变量名,标志位)该机制多用于产生 transaction。使用该机制,我们能够很方便的用 transa...

2022-04-29 17:16:37 1074 1

原创 数字IC笔试题6

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-28 13:36:23 6274 7

原创 数字IC笔试题5

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-27 17:40:47 3751 12

原创 数字IC笔试题4

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-27 10:08:58 3968 11

原创 数字IC笔试题3

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-26 21:42:13 4964 11

原创 time-slot

一.真实时间与仿真时间 仿真器只能最大程度的模仿真实硬件的行为,所以许多并行执行的规则,深究起来也是串行执行,只是在仿真器波形表现上不会有明显差距,很多时候可以通过调度Δcycle来查看。 (这部分luke的课在讲questasim的时候也有提到,有需要的也可以参考该内容) 真实时间:CPU消耗的时间,对应现实生活中的时间 仿真时间:可以看作波形图的时间轴仿真过程中的时间都是由一个个time-slot组成的,由...

2022-04-26 11:57:10 1418 1

原创 Phase机制

一.Phase机制的意义?在不同的时间做不同的事儿,是UVM中phase的设计哲学。phase的自动执行功能极大方便了用户,很大程度上解决了因代码顺序杂乱可能会引发的问题。二.Phase图表主要分为9大phase,其中run_phase又与其他12个小phase并行执行。常用的phase有build_phase,connect_phase,run_phase,report_phase.除了run_phase,其他都是function,不消耗时间;除...

2022-04-25 23:58:05 4838 1

原创 数字IC笔试题2

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-24 21:53:45 9549 23

原创 factory机制

一.利用factory机制可以做什么?引用白皮书中的话,UVM工厂的存在,"是为了更方便的替换验证环境中的实例或者注册了的类型,同时工厂的注册机制也带来了配置的灵活性".利用工厂机制,主要完成完成的工作为以下两点:1.根据类名创建类的实例;2.不对原代码进行改动的前提下,完成类的覆盖;(override--是工厂机制优势最大的体现,实现了代码最大的复用性)二.实现步骤(范式得背)1.注册(必选项)`uvm_component_utils(类名) function ne

2022-04-24 17:40:06 1433 1

原创 跨时钟域处理

建立时间(tsu):触发器时钟信号上升沿到来以前,数据稳定不变的时间;保持时间(th):触发器时钟信号上升沿到来以后,数据稳定不变的时间;tsu和th都是为了可靠地对数据进行采样,时钟边沿触发事件,同步设计时芯片设计的基础。example:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问:触发器D2的建立时间和保持时间应满足什么条件?对于建立时间来说,需满足的关系: Tffpd+Tcom...

2022-04-23 20:01:58 831 1

原创 数字IC笔试题1

题目多为网上转载整理,感谢各位前辈大牛,解答有自己所思,亦有整理而来。

2022-04-21 23:58:58 9363 11

原创 sequence机制

New 与 ::Type_id::create的区别(详见工厂机制) UVM推荐使用内置方法 :: type_id :: create() ,而不是直接调用构造函数new()创建组件或事务对象。create方法在内部调用factory机制以查找所请求创建的类型,然后调用构造函数new()以实际创建一个对象而无需更改任何代码。sequence_item,sequence,sequencer,driver之间的关系sequence_item(封装):只对数据进行封装,不...

2022-04-20 15:52:20 1398 1

原创 有限状态机FSM

根据状态机的输出是否与输入条件有关,将状态机分为:Moore状态机——输入与当前状态有关,与输入条件无关Mealy 状态机——输入与输入条件有关,与当前状态无关FSM的标准:1.稳定性——不会进入死循环,即使进入非设计状态也能很快恢复;2.速度快——满足设计的频率要求;3.面积小——满足设计的面积要求(占用尽可能少的逻辑资源);状态机描述方法:一段式——1个always模块,既包括状态转移也包括状态输入输出;二段式——2个always模块,1个模块采用同步时序描述

2022-04-14 15:42:38 834 1

空空如也

空空如也

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

TA关注的人

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