- 博客(14)
- 收藏
- 关注
原创 systemverilog 中的bind 的使用和语法
下面的例子是把 fpu_props绑定到cpu 上,每个cpu的实例化都会被绑定一个fpu_props,fpu_props实例化的名字是fpu_rules_1。层级结构显示为 cpu0.fpu_rules_1, cpu1.fpu_rules_1...下面的例子是把 fpu_props绑定到cpu 的实例化cpu1 上,层级结构显示为 cpu1.fpu_rules_1。一个参数化的target module, bind file 也是参数化的。(*)通配符代表所有信号的链接。为了设计和验证代码的分离。
2023-07-17 13:01:58 1377 1
原创 验证环境发生卡死(stuck),如何调试
调试方法ctrl+c 进入到ucli 界面输入:run 1ns查看程序运行在哪里?输入:step查看程序的运行。stuck 的原因rtl的组合逻辑形成了闭环,一直在运行,tb的while(1)。UVM_TIMEOUT是仿真时间一直在走,不能退出的stuck,到达设置的仿真时间退出。...
2022-03-17 13:15:41 1422 1
原创 UVM中的TLM机制
一、TLM: transaction level modeling(事务级建模)UVM 中的TLM机制用于transaction在验证环境中的传递, 大致分为两类:1、用于sequencer 和driver中的传递uvm_seq_item_pull_portuvm_seq_item_pul_imp2、用于其他组件(component)之间的传递, eg: monitor 和scoreboarduvm_blocking_put_imp(uvm_imp)uvm_blocking_put_port(
2021-11-17 18:44:42 2587
原创 Ethernet 协议
Ethernet 协议1. Internet 与 Ethernet 协议的关系Internet 将世界各地的计算设备连接起来,其中“连接”需要两部分:物理连接(即硬件连接)和软件连接。物理连接指的就是硬件设备,比如光纤、无线网络信号等;软件连接指的就是各种通信协议。而 Ethernet 是一种局域网协议,所以它是 Internet 的组成部分。2.Ethernet 协议数据包格式Destination/目的字段:标识目标通信方的MAC地址Source/源字段:标识发送端的MAC地址Eth
2021-11-11 17:48:06 916
翻译 纯虚类(virtual class)和纯虚方法(pure virtual function)
具体内容参加绿皮书,virtual methodclass Transaction; rand bit[31:0] src,dst,data[8]; bit[31:0]crc; virtual function void calc_crc(); crc=src^dst^data.xor; endfunctionendclass :Transaction class BadTr extends Transaction; rand bit bad_
2021-11-11 17:10:37 2436
原创 UVM中的sequencer
p_sequencer 与m_sequencer 的关系m_sequencer是在UVM 原码中定义的,p_sequencer 需要我们在代码中进行宏定义才能使用,通过如下定义后, 可以直接引用p_sequencer变量。class er_gtx_ast_seq extends er_ast_transfer_seq; `uvm_object_param_utils(er_gtx_ast_seq) `uvm_declare_p_sequencer(er_ast_sequencer)
2021-10-27 19:35:54 2389 2
原创 通过DPI集成C++ model
DPI:direct program interface在仿真环境中集成C, C++模型是一个遇见的问题,下面展示如何集成C++ model.虽然项目环境是E-language的,但是顶层文件tb.sv 是SV语言,这里是在tb.sv中通过DPI集成C++的方式。在这里插入图片描述...
2021-10-22 19:26:52 799 3
原创 【SV】中$cast 的用法
常见$cast, 但对其功能(向下类型转换)和具体应用场景却一知半解, 现将一点心得记录在此。类型向下转换 :将父类句柄(father_handle) 赋给 扩展类(child_handle)child_handle = father_handle类型向上转换: 将扩展类句柄(child_handle) 赋给 基类(father_handle)father_handle = child_handle下面插入SV绿皮书 8.3.1 中的代码, 又加入了print()来说明virtual
2021-05-14 15:29:05 7441 5
原创 linux 指令汇总
grepgrep -rn “egress_bandwidth” --include tc_2payload1.log > a.loggrep只在当前层级文件搜索,不会查找下级文件夹,*的作用还不知道,但是不加*就会不工作seroiuts00514 [15:44] [verif/enuyesu/sim_ecp] -> grep sunyue *grep: AA: Is a directory//不会向下查找grep -r 会去下级目录查找seroiuts00514 [15:40] [
2021-03-24 16:18:17 124 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人