自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alfred的博客

专注于芯片IP级和SOC级验证

  • 博客(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 2615

原创 vim中单词操作方法总结

单词

2022-07-17 17:06:53 1809 1

原创 UVM中的phase机制

phase

2022-07-17 17:05:29 2857

原创 UVM中set/get_config_int/string/object与uvm_cofig_int/string/object的使用

uvm_config_int/string/object

2022-07-17 09:19:16 2136

原创 systemverilog中立即断言和并发断言

assert

2022-07-17 09:17:47 2333

原创 UVM中uvm_event中带参数的用法

uvm_event

2022-07-17 09:16:53 845

原创 Xcelium XRUN用户手册

xrun

2022-07-17 09:05:16 10913 2

原创 Cadence中xrun参数用法总结(持续更新)

xrun

2022-07-17 09:04:06 7931

原创 Verilog中reg和SystemVerilog中logic的区别

关于reg和logic的区别,在SystemVerilog验证测试平台编写指南中有所提出

2022-07-10 21:08:54 2497

原创 Cadence中denalirc的用法总结

VIP Run-Time Control (.denalirc) FeaturesProduct Version 11.3August 2016Contents目录

2022-07-10 21:07:45 1243

原创 UVM中analysis端口的使用方法

uvm_analysis_port

2022-07-10 21:06:30 3694

原创 UVM中设置打印信息的冗余度阈值和重载打印信息的严重性

设置打印信息的冗余度阈值UVM通过冗余度级别的设置提高了仿真日志的可读性。在打印信息之前,UVM会比较要显示信息的冗余度级别与默认的冗余度阈值,如果小于等于阈值,就会显示,否则不会显示。默认的冗余度阈值是UVM_MEDIUM,所有低于等于UVM_MEDIUM(如UVM_LOW)的信息都会被打印出来。...

2022-07-10 21:05:09 2030

原创 UVM中UVM_ERROR到达一定数量后结束

UVM同样支持UVM_ERROR达到一定数量时结束仿真。对于某个测试用例,如果出现了大量的UVM_ERROR,根据这些错误已经可以确定bug所在了,再继续仿真下去意义已经不大,此时就可以结束仿真,而不必等到所有的objection被撤销。...

2022-07-10 21:03:53 3044

原创 UVM中超时退出set_timeout函数

在UVM中通过uvm_root的set_timeout函数可以设置超时时间:

2022-07-10 21:02:22 3786

原创 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 6039

原创 UVM中p_sequencer和m_sequencer的用法及其区别

在sequencer中存在如下成员变量

2022-07-10 20:59:48 1445

原创 UVM中uvm_config_db非直线的设置与获取

通过config_db机制进行设置,称为直线的设置。但是若在其他component,如scoreboard中,对driver的某些变量使用config_db机制进行设置,则称为非直线的设置。

2022-06-26 19:25:44 620

原创 UVM中config_db机制的使用方法

config_db机制用于在UVM验证平台间传递参数。他们通常是成对出现的。set函数时寄信,get函数是收信。

2022-06-26 19:24:51 1501

原创 UVM中uvm_config_db在sequence中的使用

在UVM中使用get_full_name()可以得到一个component的完整路径,同样的,此函数也可以在一个sequence中被调用,尝试在一个sequence的body中调用此函数,并打印出返回值

2022-06-26 19:23:57 4176 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 1109

原创 uvm中的config机制方法总结(一)

在验证环境的创建过程build phase中,除了组件的实例化过程,配置阶段也是必不可少的。为了验证环境的复用性,通过外部的参数配置,使得环境在创建的时候可以根据参数的不同来选择创建的组件、组件的实例个数、组件之间的连接以及组件的运行模式等等。在更细致的环境调节(environment tuning)中,有更多的变量需要配置,例如for-loop的阈值、字符串名称、随机变量的生成比重等等。 无论是配置哪些参数,用户都可以在编译时间或者仿真时间来设置。对于编译时间中要调整这些变量,可以通过修改参数、或者引入预

2022-06-26 19:22:02 765

原创 get_sequencer的用法总结

get_sequencer --- 返回sequence使用的默认sequencer的引用。

2022-06-26 19:18:51 897

原创 你的case真的pass了吗?

动态仿真是芯片前端验证最常见的手段,通过给DUT施加激励,然后检查输出结果或者内部行为,确保DUT功能和性能的正确性。验证新手经常犯的一个错误是,看到所有case都PASS就觉得万事大吉。事实上,这个case是真的PASS了吗?有没有可能是出错了没及时报告?或者测试激励根本就没有成功注入,DUT根本就没有动起来或者一直在空转?那么,如何判定一个case是真的PASS了呢?除了人工查看log和确认波形等手段,Q哥今天主要聊一聊如何根据仿真log自动排查各种假PASS的情况...

2022-06-26 19:17:54 466

原创 Reporting Classes中uvm_report_server的get_severity_count和get_server用法

Uvm_report_server是一个全局服务器,它处理由uvm_report_handler生成的所有报告。

2022-06-26 19:16:55 1527

原创 SystemVerilog仿真速率提升

做动态仿真验证通常会遇到要等待仿真结果的情况,特别是在调试某个测试用例的时候。很多时候,工程师们会自然地认为仿真速度大部分依赖于跑仿真任务的服务器本身的性能,以及EDA仿真工具的能力。而实际上,高效的验证环境以及代码质量也是影响仿真速度的关键因素。...

2022-06-26 19:15:41 637

原创 UVM中uvm_report_enabled的用法

uvm_report_enabled

2022-06-26 19:14:41 521

原创 SOC验证环境的启动方式

SOC验证环境一千家公司有一千家公司的做法。那么一个优秀的SOC验证环境应该具备哪些功能呢?首先是SOC验证环境支持C和SV两种下激励的方式。

2022-06-24 19:44:41 2826

原创 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 790

原创 Linux中verilog-mode使用方法总结

Verilog语言有几个设计缺陷,迫使用户输入和维护冗余信息,例如参数列表、灵敏度列表和跨模块连接语句。支持这些信息会导致潜在的错误,缺乏可维护性,以及整体的代码膨胀。

2022-06-18 19:45:16 5325

原创 Verilog中奇偶校验位的计算方法

偶校验: 数据和校验位中1的总数为偶数,则认为数据无误,否则标识数据有误;奇校验: 数据和校验位中1的总数为奇数,则认为数据无误,否则标识数据有误;

2022-06-18 16:52:21 1376

原创 Verilog中$display和$write任务以及格式化输出

($display)自动地在输出后进行换行。($write)则在输出后不换行。如果想在一行里输出多个信息,可以使用($write)。

2022-06-18 16:51:26 6311

原创 【IEEE_Verilog-4.8】整数、实数、时间和实数时间

除了建模硬件之外,变量在HDL模型中还有其他用途。虽然reg变量可以用于一般目的,例如计算特定net变化值的次数,但提供integer和time变量数据类型是为了方便和使描述更文档化。

2022-06-18 16:49:28 1013

原创 tcsh命令行提示符的设置方法

命令行提示符就是在命令行中预先显示的内容,通常显示一些提示信息,如当前目录、登录的用户名、机器名等。csh/tcsh 中设置命令行提示符的方法和其他Shell中类似,就是设置变量prompt的值。

2022-06-18 16:47:36 571

原创 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 1993 1

原创 Linux中shopt的用法

shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。语法shopt(选项)(参数)选项-s:激活指定的shell行为选项;-u:关闭指定的shell行为选项。参数shell选项:指定要操作的shell选项。...

2022-06-11 11:20:09 1104

原创 linux中ctags的使用方法

tags文件(标签文件)是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的"Ctrl+]", 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctr.

2022-06-11 11:18:57 1524

翻译 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 1502 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 9963 1

原创 Linux中xargs命令的用法

xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 默认的命令是echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs 是一个强有力的命令,它能够捕获一个命令的输

2022-06-04 10:54:51 1033

原创 linux中time的用法

Linux time命令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。语法```time [options] COMMAND [arguments]```参数:-o 或 --output=FILE:设定结果输出档。这个选项会将 time 的输出写入 所指定

2022-06-04 10:53:44 813

空空如也

空空如也

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

TA关注的人

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