自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从0学后仿?

前仿中的bind.sv文件可能会用到dut中的一些信号,到了后仿,这些信号可能会改了名字,此时去编译bind.sv文件就会报错,因为在后仿时,这个信号不存在,那么就需要去将bind文件中的信号替换为后仿中的新的名字,所以可以先在rtl中,前仿的波形中,去追到此信号所在的层次,也就是对应哪个文件夹,确定层次之后,去后仿的波形中去找相应的层次中所对应的信号。

2023-02-28 17:10:39 153

原创 编译/仿真 报错记录

之前编译是通过的,在修改了几个文件中的东西之后,编译报错,但是此test_base文件并未修改,所以去看修改的地方是否有问题,没有问题的话,就去看此文件的上一文件是否有错误。报错行中使用了13行声明的utx_tr,加入了23行的例化后,不再报错。编译通过,仿真报ERROR,如标题。

2023-02-02 17:49:32 446

原创 scoreboard中采到的apb_data总是有两笔

然后去波形中查看,是否写入到正确的地址中,是否只写了一次?check后发现是只写了一次3d,但是此过程中都是用了两拍,两个pclk,所以去看monitor和driver是否在驱动过程中驱动了两次数据,check后发现monitor没问题,而driver中等了两拍,即117行多等了一次,将117注释掉就ok啦。问题:scoreboard中采到的apb_data总是有两笔,即第一笔apb_data是3d,第二笔还是3d.首先将scoreboard中采集apb_data的位置处加打印,将data的值打印出来。

2023-02-01 16:03:39 148

原创 uvm_config_db::get() 与直接get

在环境中创建了一个cfg_global.sv文件,在test_base中将其声明例化,例化方式为type_id::create,接着在build_phase中利用uvm_config_db#(cfg_global)::set(this, "env.agt_apb.mon","cfg",cfg);,便出现了错误,cfg中的参数并没有传过去,是因为上述get的方式错误,其意义是又例化了一个新的cfg,然后get到了,所以相当于有多个cfg了。

2023-01-31 14:25:30 233

原创 ERROR: “abc“should be a valid type.Please declare it virtual if it is an interface

编译报上边的错误,应该是编译顺序出现了错误,也就是包含"abc"的文件1中,只是简单的声明了abc,只是调用,而"abc"所存在的文件2的编译顺序位于文件1之后,此时可以更改两个文件的编译顺序,但此法不推荐,可以在文件中利用typedef声明一个类,即typedef class abc;写的乱七八糟,就当给自己看吧。

2022-08-24 17:56:33 3510 4

原创 RM和scoreboard及field_automation的加入

RM的输出被scoreboard接收,用于和DUT的输出作比较。1. my_transaction的传输1. my_model是从i_agent中获取my_transaction,并将其传递给my_scoreboard这两个组件之间的传输通常用TLM(Transaction Level Modeling,事务级别传输)来实现tranction的通信。1.1如何发送数据?使用uvm_analysis_port在my_monitor中定义如下变量:uvm_analysis_port

2021-12-19 19:47:59 383

原创 UVM中的打印信息

重载打印信息严重性可重用性是UVM的超级特性。1. UVM默认有四种信息严重性UVM_INFO、UVM_WARNING、UVM_ERROR、UVM_FATAL,对应的宏分别为:uvm_info、uvm_warning、uvm_error、uvm_fatal。2. 当uvm_fatal出现时,表示出现致命错误,仿真会立刻停止;当uvm_error达到一定数量时,仿真会结束,达到10个error就停止仿真;set_report_max_quit_count(10)...

2021-12-11 20:18:24 3551

原创 UVM基础知识——各组件

1. UVM是一个以System Verilog类库为主体的验证平台开发框架。也就是基于SV语言写的用于验证的代码库和对应的验证规范。2. UVM验证环境整体结构框架(验证平台要模拟DUT的各种真实使用情况,就要给DUT施加各种激励,激励的功能则是由Driver实现的; 验证平台要根据DUT的输出来判断DUT的行为是否符合预期,这一步就由scoreboard来完成; 判断就需要涉及两方面:判断什么?很明显是判断DUT的输出,另外判断标准是什么?标准通常就是最初想达到的预期。(DUT有自己的一..

2021-12-11 19:54:37 4195

空空如也

空空如也

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

TA关注的人

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