
每日
文章平均质量分 74
BarFin
这个作者很懒,什么都没留下…
展开
-
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 · 581 阅读 · 0 评论 -
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 · 186 阅读 · 0 评论 -
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 · 3270 阅读 · 0 评论 -
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 · 3893 阅读 · 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 · 1728 阅读 · 0 评论 -
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 · 544 阅读 · 0 评论 -
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 · 1235 阅读 · 0 评论 -
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 · 1047 阅读 · 0 评论 -
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 · 299 阅读 · 0 评论 -
2022.5.10
上次老师看到在听歌,叫我少听点网易云,但是孤独的人只是想找类似的心境。今天盲审成绩出了,几家欢喜几家愁,过了的人喜大普奔,终于可以放心的毕业了,没过的凄凄惨惨戚戚,若是格式问题,还好,如果两位老师意见相差太多,可真叫人头大。还有一些出了一半的,估计也很难熬了。实验室的师兄们成绩都很高,均分都在90左右,唯有带我的师兄有些唏嘘。工程能力超强,一个91一个61的分数叫人大跌眼镜,希望他复审顺利,也希望我到时候可以有个好的结果。时隔一年,才算正式开始一点硬件的工作吧,坐一天收效颇微。下半时,李...原创 2022-05-10 21:01:04 · 238 阅读 · 0 评论 -
2022.5.9
看到出盲审结果之前,师兄们在群里讨论,说被毕业搞抑郁了。想想自己,因为毕业选择了留在实验室,没想到却比实习的同志先挂,状态每况愈下,瘦了20斤,两位好友也渐行渐远,只能每天麻痹自己。原创 2022-05-09 21:23:33 · 1184 阅读 · 0 评论