- 博客(257)
- 收藏
- 关注

原创 AMBA APB5协议中文版
本文是对AMBA APB5协议的中文翻译。AMBA APB协议技术规范目录AMBA APB协议规范前言关于规范APB版本反馈第一章序言1.1关于PAB协议第二章信号描述2.1 AMBA APB信号第三章3.1 写传输3.2 写选通3.3 读传输3.4 错误响应3.5 保护单元支持3.6 唤醒信号3.7 用户信号第四章 操作状态4.1 操作状态第五章 接口奇偶校验保护5.1 使用奇偶校验保护5.2 接口保护的配置5.3 奇偶校验检查5.4 错误检测行为5.
2021-12-26 18:28:32
2798
原创 UVM中set/get_config_int/string/object与uvm_cofig_int/string/object的使用
uvm_config_int/string/object
2022-07-17 09:19:16
2527
原创 Verilog中reg和SystemVerilog中logic的区别
关于reg和logic的区别,在SystemVerilog验证测试平台编写指南中有所提出
2022-07-10 21:08:54
2721
原创 Cadence中denalirc的用法总结
VIP Run-Time Control (.denalirc) FeaturesProduct Version 11.3August 2016Contents目录
2022-07-10 21:07:45
1541
原创 UVM中设置打印信息的冗余度阈值和重载打印信息的严重性
设置打印信息的冗余度阈值UVM通过冗余度级别的设置提高了仿真日志的可读性。在打印信息之前,UVM会比较要显示信息的冗余度级别与默认的冗余度阈值,如果小于等于阈值,就会显示,否则不会显示。默认的冗余度阈值是UVM_MEDIUM,所有低于等于UVM_MEDIUM(如UVM_LOW)的信息都会被打印出来。...
2022-07-10 21:05:09
2223
原创 UVM中UVM_ERROR到达一定数量后结束
UVM同样支持UVM_ERROR达到一定数量时结束仿真。对于某个测试用例,如果出现了大量的UVM_ERROR,根据这些错误已经可以确定bug所在了,再继续仿真下去意义已经不大,此时就可以结束仿真,而不必等到所有的objection被撤销。...
2022-07-10 21:03:53
3618
原创 JTAG的基础知识
1985年欧洲的制造机构为了对集成电路的测试进行研究,成立了欧洲联合测试行动组织(JETAG:Joint European Test Action Group),后来与北美公司合作在1986年该组织更名为了JTAG(Joint Test Action Group),并且指定了相应的测试标准.该标准于1990年被IEEE 批准为一种国际标准测试协议IEEE1149.1-1990,即测试访问端口和边界扫描结构标准.该标准规定了进行边界扫描所需要的硬件和软件.自从1990 年批准后,IEEE 分别于1993 年和
2022-07-10 21:01:00
6235
原创 UVM中uvm_config_db非直线的设置与获取
通过config_db机制进行设置,称为直线的设置。但是若在其他component,如scoreboard中,对driver的某些变量使用config_db机制进行设置,则称为非直线的设置。
2022-06-26 19:25:44
679
原创 UVM中config_db机制的使用方法
config_db机制用于在UVM验证平台间传递参数。他们通常是成对出现的。set函数时寄信,get函数是收信。
2022-06-26 19:24:51
1686
原创 UVM中uvm_config_db在sequence中的使用
在UVM中使用get_full_name()可以得到一个component的完整路径,同样的,此函数也可以在一个sequence中被调用,尝试在一个sequence的body中调用此函数,并打印出返回值
2022-06-26 19:23:57
4832
1
原创 uvm中的config机制方法总结(二)
在使用uvm_config_db API set/get时,实际发生了如下的后台操作:uvm_config_db::set通过层次和变量名,将这些信息放置到uvm_pkg唯一的全局变量uvm_pkg::uvm_resources。全局变量uvm_resources用来存储和释放配置资源信息(resource information)。uvm_resources是uvm_resource_pool类的全局唯一实例,该实例中有两个resource数组用来存放配置信息,这两个数组中一个由层次名字索引,一个由类
2022-06-26 19:23:01
1263
原创 uvm中的config机制方法总结(一)
在验证环境的创建过程build phase中,除了组件的实例化过程,配置阶段也是必不可少的。为了验证环境的复用性,通过外部的参数配置,使得环境在创建的时候可以根据参数的不同来选择创建的组件、组件的实例个数、组件之间的连接以及组件的运行模式等等。在更细致的环境调节(environment tuning)中,有更多的变量需要配置,例如for-loop的阈值、字符串名称、随机变量的生成比重等等。 无论是配置哪些参数,用户都可以在编译时间或者仿真时间来设置。对于编译时间中要调整这些变量,可以通过修改参数、或者引入预
2022-06-26 19:22:02
870
原创 你的case真的pass了吗?
动态仿真是芯片前端验证最常见的手段,通过给DUT施加激励,然后检查输出结果或者内部行为,确保DUT功能和性能的正确性。验证新手经常犯的一个错误是,看到所有case都PASS就觉得万事大吉。事实上,这个case是真的PASS了吗?有没有可能是出错了没及时报告?或者测试激励根本就没有成功注入,DUT根本就没有动起来或者一直在空转?那么,如何判定一个case是真的PASS了呢?除了人工查看log和确认波形等手段,Q哥今天主要聊一聊如何根据仿真log自动排查各种假PASS的情况...
2022-06-26 19:17:54
575
原创 Reporting Classes中uvm_report_server的get_severity_count和get_server用法
Uvm_report_server是一个全局服务器,它处理由uvm_report_handler生成的所有报告。
2022-06-26 19:16:55
1782
原创 SystemVerilog仿真速率提升
做动态仿真验证通常会遇到要等待仿真结果的情况,特别是在调试某个测试用例的时候。很多时候,工程师们会自然地认为仿真速度大部分依赖于跑仿真任务的服务器本身的性能,以及EDA仿真工具的能力。而实际上,高效的验证环境以及代码质量也是影响仿真速度的关键因素。...
2022-06-26 19:15:41
781
原创 SOC验证环境的启动方式
SOC验证环境一千家公司有一千家公司的做法。那么一个优秀的SOC验证环境应该具备哪些功能呢?首先是SOC验证环境支持C和SV两种下激励的方式。
2022-06-24 19:44:41
3305
原创 AMBA中AXI3与AXI4信号的不同总结
This chapter introduces the AXI interface signals. Most of the signals are required for AXI3 and AXI4implementations of the protocol, and the tables summarizing the signals identify the exceptions
2022-06-19 16:07:41
919
原创 Linux中verilog-mode使用方法总结
Verilog语言有几个设计缺陷,迫使用户输入和维护冗余信息,例如参数列表、灵敏度列表和跨模块连接语句。支持这些信息会导致潜在的错误,缺乏可维护性,以及整体的代码膨胀。
2022-06-18 19:45:16
5995
原创 Verilog中奇偶校验位的计算方法
偶校验: 数据和校验位中1的总数为偶数,则认为数据无误,否则标识数据有误;奇校验: 数据和校验位中1的总数为奇数,则认为数据无误,否则标识数据有误;
2022-06-18 16:52:21
1498
原创 Verilog中$display和$write任务以及格式化输出
($display)自动地在输出后进行换行。($write)则在输出后不换行。如果想在一行里输出多个信息,可以使用($write)。
2022-06-18 16:51:26
7125
原创 【IEEE_Verilog-4.8】整数、实数、时间和实数时间
除了建模硬件之外,变量在HDL模型中还有其他用途。虽然reg变量可以用于一般目的,例如计算特定net变化值的次数,但提供integer和time变量数据类型是为了方便和使描述更文档化。
2022-06-18 16:49:28
1144
原创 tcsh命令行提示符的设置方法
命令行提示符就是在命令行中预先显示的内容,通常显示一些提示信息,如当前目录、登录的用户名、机器名等。csh/tcsh 中设置命令行提示符的方法和其他Shell中类似,就是设置变量prompt的值。
2022-06-18 16:47:36
673
原创 verilog-mode的简要介绍
Verilog-mode.el is the extremely popular free Verilog mode for Emacs which provides context-sensitive highlighting, auto indenting, and provides macro expansion capabilities to greatly reduce Verilog coding time. It supports AUTOs and indentation in Emacs
2022-06-11 20:35:42
2322
1
原创 Linux中shopt的用法
shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。语法shopt(选项)(参数)选项-s:激活指定的shell行为选项;-u:关闭指定的shell行为选项。参数shell选项:指定要操作的shell选项。...
2022-06-11 11:20:09
1234
原创 linux中ctags的使用方法
tags文件(标签文件)是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的"Ctrl+]", 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctr.
2022-06-11 11:18:57
1669
翻译 AMBA5 AXI和ACE协议技术规范中文版-第A4章 事务属性
# A4第A4章 事务属性本章描述了决定一个事务应该如何被系统组件,如缓存、缓冲区和内存控制器处理的属性。它包括以下部分:- 在A4-62页的事务类型和属性- 在A4-63页的AXI3内存属性信号- 在A4-64页的对AXI4内存属性信号的更改- 在A4-69页的内存类型- 在A4-73页的内存不匹配属性- 在A4-74页的事务缓冲区- 在A4-75页的访问权限- 在A4-76页的遗留问题- 在A4-77页的用例## A4.1 事务类型和属性分为以下两种:内存slave内存sla
2022-06-05 18:07:29
1661
1
原创 linux中exec的用法
linux的exec命令其实是bash的一个内建命令,可以通过man builtin页面来查看所有bash内建命令的帮助文档,并且exec还可以用在文件描述符当中。shell中的exec两种用法:1.exec命令;命令代替shell程序,命令退出,shell 退出;比如 exec ls2.exec文件重定向,可以将文件的重定向就看做是shell程序的文件重定向,比如exec 5...
2022-06-04 10:56:20
10256
1
原创 Linux中xargs命令的用法
xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 默认的命令是echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs 是一个强有力的命令,它能够捕获一个命令的输
2022-06-04 10:54:51
1326
原创 linux中time的用法
Linux time命令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。语法```time [options] COMMAND [arguments]```参数:-o 或 --output=FILE:设定结果输出档。这个选项会将 time 的输出写入 所指定
2022-06-04 10:53:44
848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人