- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 systemverilog内timeformat说明
其中,“units_number”表示打印时间单位,范围为0~-15;它们对应单位如下表所示。默认值为`timescalse所设置的仿真timeunit。“precision_number” 是在打印时间值时,小数点后保留的位数。其默认值为0。“suffix_string” 是在时间值后面打印的一个后缀字符串。默认值为空字符串。“MinFieldWidth” 是时间值字符串与后缀字符的总长度的最小长度,若字符串不足这个长度,则在这部分字符串之前补空格。默认值为20。
2023-04-21 10:45:25
813
原创 一个简单的uvm_reg_model及其相关function介绍
其中uvm_reg_field是寄存器内的域,在ral_reg_CFG_1内包含两个域,分别为CFG_1_0和CFG_1_1。
2023-04-19 18:10:56
724
原创 gvim插件
The NERD tree - A tree explorer plugin for navigating the filesystem : vim onlinehttps://www.vim.org/scripts/script.php?script_id=1658neocomplcache - Ultimate auto completion system for Vim : vim onlinehttps://www.vim.org/scripts/script.php?script_id
2023-04-19 14:27:58
300
原创 搭建一个UVM环境(一) 基本验证环境
一个简单的UVM环境示例,包括所有UVM组件、makefile和其他相关文件;按照这个示例可以很简单的搭建一个自己的UVM环境
2022-05-31 21:20:58
1223
原创 PCIe Flow Control规则
Flow Control分类flow control将TLPs分为下面3类,它们的credit分别处理。 Posted Requests(P) MEM_WR、Messages Non-Posted Requests(NP) MEM_RD、IO_RD、CFG_RD、IO_WR、CFG_WR Completions(CPL) CPL、CPLD 对于每类TLP,Header和Data
2022-05-27 18:25:27
3080
原创 PCIe功耗管理(三)ASPM机制
通常情况下,处于D0状态的设备会保持其Upstream链路处于L0状态;而ASPM为D0状态定义了一种协议,可以将链路置于低功耗状态,同时指示另一端同样及那个第功耗。ASPM可以动态降低链路功耗,实现比只有软件控制更细致的电源管理。相关寄存器Link Control Register寄存器: 寄存器域 描述 Active State Power Management (ASPM) Control 00b:关闭ASP...
2022-04-13 16:31:03
13932
原创 PCIe功耗管理(二)PM_PME机制
PM_PME由Function生成,作为请求 PM 状态更改的一种方式。 PME通常用于从低功耗状态恢复系统或单个功能。PM_PME可以分为两个部分:Wake和发送PM_PME;链路wakeup向平台发送信号以重建设备电源和参考时钟。有两类wakeup机制:Beacon和WAKE#。Beacon机制:利用带内信号执行wakeup功能;Wake#机制:利用边带信号执行wakeup功能;PME事件关闭电源和参考时钟前,RC或Switch必须广播PME_Turn_Off Message;若接收到PM
2022-04-13 16:15:46
4748
原创 Systemverilog里面include的使用
include就是将文件中的内容原样复制到include位置,下面给出一个简答的例子:task01.sv(后面被include文件)文件如下:$display("task01");task02.sv(后面被include文件)文件如下:$display("task02");task03.sv(后面被include文件)文件如下:`include "task01.sv"$display("task03");顶层文件测试文件include_test.svprogram include_t
2021-11-17 10:19:41
4906
原创 $test$plusargs和$value$plusargs的使用
$test$plusargs和$value$plusargs作为进行Verilog和SystemVerilog仿真运行时调用的系统函数,可以在仿真命令直接进行赋值,并且不局限于不同仿真器对于参数在仿真命令中定义格式不同的限制,也避免了调换参数带来的频繁编译等问题。使用这两条函数对于搭建测试平台有一定的便利。写一个简单得测试程序plus_test.sv如下:program plus_test; bit [9:0] task_num; initial begin $value
2021-11-15 17:30:28
2438
原创 搭建一个SV验证环境(1)
创建transactiontransaction是验证平台内传输信息的基本单元,transaction会将信息从一个验证组件发送到另一个验证组件里面;transaction结构通常与协议帧结构相关;在这里我们定义一个最简单的帧,帧包含header、payload以及crc;class simple_packet ; rand bit [31:0] header; rand bit [ 7:0] payload []; rand bit [31:0] payload_len ;
2021-11-06 16:52:20
7931
原创 PCIE事务顺序
事务顺序规则不同VC事务之间是没有顺序要求的。本节只讨论相同VC事务间的顺序要求。利用下表描述各个事务间的顺序要求,其中ROW表示先发出的事务、COL表示后发出的事务。Yes表示前面事务被blocked,后面事务需要先执行;Y/N表示在一定条件下,后面的事务可以先执行;No表示不允许后面的事务先执行。A2a :当Relaxd Ordering Attribute为0表示事务必须顺序执行。A2b :当Relaxd Ordering Attribute为1表示事务允许不顺序执行。A5,A6a:端点、S
2021-10-22 11:02:59
749
原创 AHB总线介绍及其时序图
AHB总线简介 AHB是新一代的AMBA总线,旨在解决高性能可综合设计的要求。它是一种高性能的系统总线,能够支持多总线master,提供高带宽操作。AMBA AHB实现高性能、高时钟频率系统所需的功能,包括:突发传输 拆分transactions 当时钟周期mater切换 单时钟沿操作 non-tristate实现 更宽的数据总线配置(64/128位)。 AHB总线和ASB/APB可以通过bridge有效连接,这使得现有的设计能够轻松集成;AHB设计可能包含一个或者多个...
2021-09-09 19:17:53
17081
原创 verdi简单使用方法
kdb选项kdb选项是vcs选项,在进行vcs仿真时可以加入kdb选项;加入kdb选项后,vcs仿真会生成verdi的库文件,通常库文件为sim.daidir,库文件里面包含相应代码信息;利用库文件verdi可以快捷打开rtl代码而不需要重新编译;verdi打开代码办法verdi -dbdir simv.daidir &verdi可以直接通过以上指令打开rtl代码;verdi直接打开波形及其相关rtl代码verdi -ssf filename.fsdbVerdi可以直
2021-08-25 15:25:54
17965
原创 UVM report机制
UVM report基础UVM report机制是UVM控制信息打印的机制。UVM用户通常同过调用以下打印宏来打印信息:UVM主要打印宏 打印宏 打印严重性 UVM_INFO 普通打印,不会计数或直接退出仿真;可以通过参数控制verbosity控制打印与否 UVM_WARING 警告型打印;无论什么verbisity都会打印 UVM_ERROR 出错型打印;当UVM_ERROR到达一定个数会直接退出仿真 UVM_FATAL 严重错误打印,直接退出仿真
2020-11-15 15:55:48
665
原创 uvm_cmdline_processer介绍
目录概述主要函数介绍get_argsget_plusargsget_uvm_argsget_arg_matchsget_arg_value/ get_arg_valuesnew概述uvm_cmdline_processor为给定仿真提供了命令行传递参数的接口。在object构造过程中,存储命令行参数信息的数据structures就会生成。初始化时会创建一个名为<uvm_cmdline_proc>的全局变量,该变量可用于访问命令行信息。uvm_cm.
2020-11-14 15:29:05
2294
原创 sequence的仲裁机制
UVM支持同一时刻在同一个sequencer上启动多个sequence。同一个sequencer上的多个sequence可以设置优先级,优先级高的sequence优先发送transaction。
2020-02-02 19:19:28
646
gvim插件,包括nerdtree、neocomplcache和visualmark
2023-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人