自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SVN is not under version control 问题解决方法【亲测有效】

SVN is not under version control 问题解决方法【亲测有效】

2023-03-09 16:41:49 1741

原创 解决office2010版excel多开自动叠加一个窗口至多个窗口

excel2010窗口多开解决

2022-06-27 10:18:33 3367

转载 coverage merge小技巧

一个coverage merge小技巧分享一个coverage merge小技巧,在群里经常看到有小伙伴问改了代码之后coverage能不能merge。今天带大家来看看这个问题。在下面代码里面有三个实例,分别是dut,cnt1,cnt2.我们生成第一版coverage simv1.vdb然后我们改动arb_module里面的内容,生成第二版的coverage simv2.vdb现在我们merge 看看会发生什么事情。使用urg -dir simv1.vdb simv2.vdb -dbnam

2022-01-14 19:49:51 1675

原创 AMBA AHB总线——介绍与应用

AMBA AHB总线的简介及其简单应用代码实现

2021-12-24 15:23:54 1364

原创 AMBA APB总线——AHB到APB总线转换桥实现

APB介绍以及APB-AHB bridge实现

2021-12-24 15:10:49 3382 1

原创 计算机架构宗师Patterson与Hennessy 演讲实录,ISA指令集架构回顾——未来指令集架构方向,RISC-V与DSA

本文回顾了计算机架构宗师Patterson与Hennessy 演讲实录,介绍了指令集架构的发展史以及未来提高CPU性能的途径。

2021-12-17 20:10:07 918

原创 VCS中VPD的使用简单教程

Dumping VPD文件文章参考:《VCS/VCSi User Guide》文章目录Dumping VPD文件前言一、使用系统任务?1. 是否使能Dumping2. 覆盖VPD文件名3. Dump多维度队列和内存总结前言可使用如下方式产生一个VPD文件:使用系统任务——用于Verilog设计;使用UCLI——用于VHDL、Verilog和混合设计;使用DVE一、使用系统任务?VCS提供如下的Verilog系统任务:是否使能Dumping;覆盖VPD文件;Dum

2021-11-26 15:10:58 3825

原创 芯片设计验证中遇到的VCD、VPD以及EVCD到底是什么?

VCD/VPD/EVCD到底是什么?VCD介绍VPD介绍EVCD介绍提示:文章参考《VCS/VCSi User Guide》文章目录VCD/VPD/EVCD到底是什么?一、VCD是什么?二、VPD是什么?VPD相比VCD的具体优势:三、EVCD是什么?总结一、VCD是什么? VCD——Value Change DumpingVCD是Verilog设计IEEE标准中定义的。通过使用Verilog系统任务 $dumpvars 可以帮助我们使用VCD格式来存储Simulation产生的历

2021-11-26 11:30:14 4397

原创 FIFO深度计算

FIFO深度计算文章目录FIFO深度计算主要方法例子主要方法关键点: 传输的最大package/读时钟速率/写时钟速率。写入最大包的时,FIFO不发生溢出的条件:写入的最大package = FIFO容量 + 读出的数据量读写时间t = 写入的最大package / 写时钟速率读出数据量 = 读时钟速率 × 读写时间t例子一个8bit宽的AFIFO,输入时钟为100MHz,输出时钟为95MHz,设一个package为4Kbit,且两个package之间的发送间距足够大。求A

2021-11-25 13:33:04 643

转载 静态时序分析基础

静态时序分析基础建立时间,保持时间为了确保寄存器在时钟沿稳定采集数据,那么必须要满足寄存器的建立,保持时间要求。建立时间要求:在寄存器有效时钟沿之前至少Tsetup时间,数据必须到达且稳定。如下图所示。保持时间要求:在数据采集有效时钟沿之后,数据必须维持最短Thold时间不变。如下图所示。建立时间裕量计算同步时序电路如下图所示。这里对后面一个寄存器进行建立时间裕量分析。其中寄存器的输出延时为Tcq,即时钟有效沿之后延时Tcq时间,数据才到达寄存器Q端。第一个寄存器有效时钟沿之后Tcq时间

2020-07-23 09:10:14 237

转载 UVM面试题36-55

3 6 、 生成 sequence 时, early randomization 和 late randomization 有什么区别?在early randomization中,先调用randomize()方法对sequence对象进行随机化,然后再使用start_item()来请求对sequencer的访问,如下例所示:task body()assert(req.randomize());start_item(req);//Can consume time based on sequencer

2020-07-03 11:42:33 3154

转载 UVM面试题1-36

1、什么是UVM?它的优势是什么?**UVM(Universal Verification Methodology)**是一个标准化的用于验证设计的方法学。其优势包括:重用性、VIP即插即用、通用性、独立于仿真器、支持CDV(coverage driven verification)、支持CRV(constraint random verification)等等2、uvm_component和uvm_object有什么区别?**uvm_component:**在build_phase之后就一直存在于

2020-07-03 11:42:17 4422 4

转载 UVM面试题(61-65)

61、什么是UVM Call back?uvm_callback 类是用于实现回调(callbacks)的基类,这些回调用于在不更改组件类代码的情况下修改组件的行为。一种常见用法是在driver将激励发送到DUT之前将错误注入到生成的数据包中。以下伪代码显示了如何实现Call back。classPacket_c;byte[4] src_addr, dst_addr;byte[] data;byte[4] crc;endclass//Userdefined callback class exten

2020-06-25 15:40:20 1495 3

转载 UVM面试题(56-60)

56、什么是uvm_config_db?它的作用是什么?UVM configure机制 使用 uvm_config_db 配置数据 支持在不同的测试平台组件之间 共享配置参数 。 任何测试平台组件都可以配置参数,其他组件可以从配置数据库访问这些参数 ,而无需知道其在层次结构中的位置。例如,测试平台顶层可以通过uvm_config_db存储 virtual interface 句柄。然后任何uvm_driver或uvm_monitor组件都可以查询uvm_config_db以获取此virtual inte

2020-06-25 15:26:17 1810

转载 谈谈UVM中事务级建模(TLM)的Analysis Ports 和Exports

前面描述的TLM port都要求在仿真开始之前与一个export正确地连接。如果port未连接,则会从UVM输出一条错误消息,提示你完成连接。当我们构建monitor等组件时,需要一个可以不连接或者连接到多个组件的port。这是因为monitor通常是整个验证环境中的passive components,被动地收集数据事务并将其传递给其他组件而不直接影响激励的生成。UVM中的Analysis ports与常规TLM port类似,但是可以不连接或者连接到任意数量的analysis exports。从c

2020-06-25 15:19:52 597

转载 数字IC验证系列之基本的TLM通信

提高验证生产力的关键之一就是在合适的抽象层次思考问题和完成验证工作,为此UVM提供了事务级别(transaction level)的通信接口(Transaction-Level Modeling,TLM)。在UVM中,Transactions建模了两个组件之间通信所需的信息(变量、约束等等)。下面是一个简单的总线协议事务示例:class simple_trans extends uvm_transaction; rand data_t data; rand addr_t addr; ran

2020-06-25 15:04:35 563

转载 数字IC验证系列之factory &create

在文章数字IC验证系列之config_db&virtual interface中我们已经简单地描述过factory设计模式或者说factory机制,在这篇文章中将阐述factory机制在UVM中的具体应用。在UVM中,我们不应该一直使用new()构造新的components和transactions,而应该从某个查找表中申请创建新的components和transactions,这种创建方式称为factory机制。首先在定义components和transactions的时候同时将其注册到查找表

2020-06-25 14:36:23 346

转载 数字IC验证系列之objection mechanism

UVM中,component的task phase是消耗仿真时间的,各个components的task phase之间需要完成同步。只有在所有components的相同task phase结束之后,才能进入下一个task phase。UVM中通过objection mechanism中的raise/drop objection来控制phase的开始和停止。当仿真器进入某个消耗时间的task phase时,首先会收集所有component**提起(raise)的objection,然后按顺序执行所有com

2020-06-25 11:30:48 379

原创 SystemVerilog中 if...else 和 assertion 的区别

assert一般用与检查函数参数的合法性(有效性)而不是正确性,但是合法的程序并不见得就是正确的程序。

2020-06-25 10:51:03 1607

转载 SystemVerilog和UVM到底是啥关系?

SystemVerilog和UVM到底是啥关系?UVM提供了丰富的基类库和验证方法学,并且被主流的EDA工具、IP供应商和设计公司采用。现在,使用SystemVerilog基本上等同于使用UVM验证。如果你要问我,SystemVerilog和UVM到底是啥关系,我觉得汉字和诗的比喻也许比较恰当。我自然不会说是code language和library的关系,太没有想象空间。当天空下雪了,SystemVerilog+UVM:忽如一夜春风来,千树万树梨花开。Only UVM:thousands of

2020-06-25 10:43:50 3779

转载 UVM-FLM-FIFO

UVM-FLM-FIFO在基本TLM通信put示例中,producer和consumer在同一个进程当中,consumer仅在put()方法调用时才处于活动状态。在许多情况下,可能需要不同速率的组件(components)独立运行,UVM提供了uvm_tlm_fifo通道以支持此类通信。uvm_tlm_fifo,顾名思义就是具有所有TLM接口方法的FIFO,producer可以将transaction放入uvm_tlm_fifo,consumer独立地从fifo获取transaction在上图中c

2020-06-25 10:41:30 737

空空如也

空空如也

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

TA关注的人

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