自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PoPo's Blog

IC硅农~记录学习

  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 PCIe学习笔记(2)错误处理和AER/DPC功能

处理器上错误通常可分为detected和undetected error。Undetected errors可能变得良性(benign),也可能导致系统故障如silent data corruptions (SDC)。Detected errors则又可分为correctable errors (CE) 和uncorrectable errors (UCE)。PCIe定义了两种错误报告范式:基线功能和高级错误报告功能(AER)。本文介绍PCIe错误定义及AER/DPC功能。

2024-02-19 14:10:49 1617

原创 PCIe学习笔记(1)Hot-Plug机制

PCIe hot-plug是一种支持在不关机情况下从支持的插槽添加或删除设备的功能,PCIe架构定义了一些寄存器以支持原生热插拔。

2024-02-07 16:00:49 1361

原创 使用Verdi分析波形的一些小技巧(2)

本文继续整理一些使用Verdi分析波形的小技巧。

2022-10-14 09:47:40 6770 1

原创 VCS后仿调试记录(Pre-PR)

在项目搭建和调试后仿环境时做了很多工作,因此希望总结一下使用VCS做芯片后仿的步骤和遇到的一些主要问题。芯片后仿真又可分为PR前仿真(综合后)和PR后仿真(布局布线后),本文记录Pre-PR仿真的部分。

2022-05-02 23:02:11 7630 3

原创 CPU仿真环境中的printf实现

在包含CPU的仿真环境中,如果要在C程序测试中通过打印做一些调试,通常需要重新实现printf函数。本文介绍了在Linux系统、嵌入式系统及在CPU仿真环境中的printf实现。

2022-04-18 18:07:06 2446

原创 远程桌面连接和防火墙设置

分享windows自带远程桌面连接使用和防火墙设置方法。

2022-03-21 17:14:21 10417

原创 使用VCS和Verdi的UPF低功耗仿真流程

目前的SOC芯片很多都做了低功耗设计,现有降低功耗的技术方法有很多,为验证越来越复杂的功率体系结构、多电压域等设计,通常需要使用带UPF的低功耗仿真(Power-Aware Simulation)。

2022-02-24 14:36:06 8242 3

原创 Synopsys验证VIP学习笔记(6)检查和打印信息控制

在使用VIP时,出于对仿真性能和环境效率的考虑,可以关闭VIP中的一些检查和打印信息。当然,屏蔽的前提是确认过这些检查或打印信息是不被需要的或已实现的。

2021-12-06 12:48:16 4877 11

原创 Synopsys验证VIP学习笔记(5)重写VIP中的系统常数

VIP通过include文件来定义一些系统约束,可以通过覆盖这些常量来改写一些系统参数,例如,可以增加VIP限制的一些最大延迟值,或调整最大地址宽度、ID宽度等。VIP中的系统常量在 $DESIGNWARE_HOME/vip/svt/amba_svt/latest/sverilog/include 目录下的以下文件中定义:svt_axi_defines.svi顶层include文件,它包含了common_define.svi和port_define.svi文件。此外,在定义了 `SVT_AXI_I

2021-11-15 11:22:05 4945 4

原创 Synopsys验证VIP学习笔记(4)检查AXI的outstanding数

在使用AXI-VIP验证时,需要检查AXI的outstanding数,由于VIP的monitor port本身仅监测单笔burst,而outstanding涉及多笔burst,可以采用回调机制实现:从 svt_axi_port_monitor_callback 类扩展用户自定义回调类 cust_svt_axi_monitor_callback。class cust_svt_axi_monitor_callback extends svt_axi_port_monitor_callback ;

2021-11-04 11:31:31 5863 6

原创 使用Verdi或DVE分析波形的一些小技巧

本文记录使用Verdi或DVE查看Delta Cycle的方法和分享一些分析波形的小技巧。

2021-10-16 17:08:52 33240

原创 Synopsys验证VIP学习笔记(3)总线事务的配置和约束

在使用Synopsys AXI VIP时,需要配置一些信号的属性或定义一些信号的delay,通常可以直接在svt_axi_transaction类中控制。AXI VIP中描述从事务数据的类是svt_axi_slave_transaction,从事务类提供了配置信号数据(如rresp[], bresp, data[])和延迟(如bvalid_delay, addr_ready_delay)的一些属性,大多数属性为public且可随机化,并且仅在配置vip slave agent为active模式时才生效。

2021-09-28 16:13:42 6820 12

原创 Synopsys验证VIP学习笔记(2)Port Monitor用法

Synopsys AXI VIP为master和slave agent中的monitor提供了名为item_started_port和item_observed_port的analysis port,前者仅在总线事务传输开始时发送,后者则在总线事务传输完成后发送完整svt_axi_master_transaction和svt_axi_slave_transaction对象到item_observed_port端口,并且在vip agent为passive和active模式下都有效。

2021-09-26 10:53:25 5512 2

原创 Synopsys验证VIP学习笔记(1)Memory模型用法

Synopsys的VIP(本文以AXI slave为例)提供了由svt_mem类表示的momory模型,在passive模式下其观测值与寄存器模型类似,会基于总线更新,在active模式下则由slave sequence更新。

2021-09-09 19:10:50 11241 10

原创 Linux定时执行脚本用法

验证可能需要定期跑一些回归脚本,Linux其实自带crontab命令用于配置计划任务,以下命令可用于确认和开启该服务。service crond status 查看定时任务服务状态 service crond start 开启服务 service crond stop 关闭服务 service crond restart 重启服务 service crond reload 重新载入配置 crontab命令的基本参数如下:-e  编辑该用户的cron

2021-08-24 17:41:43 850

原创 I2C验证的时序特性问题

I2C通常支持三种速率模式:标准(100kb/s)/快速(400kb/s)/高速模式(3.4Mb/s)。CCI(Camera Control Interface)是为I2C的子集,仅支持标准和快速两种模式,相对速率较低。因此在采用CCI接口时,应考虑I2C的建立保持时间问题。

2021-08-13 18:21:34 5759 7

原创 I2C验证的上拉电路逻辑问题

最近在做I2C的验证,在模拟上拉电阻逻辑时遇到了一些问题,记录本文希望做一个经验总结。 I2C是一种双向二线同步串行总线,拥有一条串行数据线(SDA)和串行时钟线(SCL),支持多主多从,包含冲突检测和仲裁功能,连接到I2C总线上的每个设备都有一个唯一的地址。I2C支持多主多从的能力源于上拉和线与逻辑。

2021-08-10 11:15:07 4556

原创 UVM学习记录4

UVM寄存器模型学习。

2021-05-30 23:47:35 357

原创 UVM学习记录3

通过UVM sequence机制实现不同测试场景。

2021-04-12 22:04:29 336 1

原创 UVM学习记录2

将SV组件替换为UVM组件和实现TLM通信。

2021-03-05 23:29:20 505

原创 UVM学习记录1

记录一些UVM基础机制的学习。

2021-03-03 20:48:16 716 1

原创 Questasim覆盖率数据分析

使用Questasim的一些coverage分析和验证管理方法。

2021-03-02 17:44:36 3923

原创 SV实验4 覆盖率的实现

从验证计划到测试用例的实现,最后到覆盖率的量化,目标是实现尽可能高的代码和功能覆盖率。

2021-03-01 16:55:13 1530

原创 SV实验3 子系统验证和测试点划分

MCDF子系统相比MCDT添加了数据整形、寄存器控制和状态显示功能。整个验证环境各组件之间相互独立,依靠event和mailbox同步和通信。

2021-02-28 20:39:47 1338 1

原创 SV实验2 随机约束、测试控制和环境构建

SV实验3的学习记录,MCDT部分的Testbench已逐渐完整,包含initiator、generator、agent、monitor、checker和test等组件。

2021-02-27 10:16:47 975

原创 SV实验1 基于SV的Testbench

SV实验1和2部分的学习记录,Testbench逐渐由硬件环境转变为软件环境。

2021-02-26 11:44:01 1873

原创 SV实验0 DUT设计描述

MCDF(多通道数据整形器,Multi-Channel Data Formatter)将上行(uplink)多个通道数据经过内部FIFO,并以数据包(data packet)的形式送出。上行和下行数据的接口协议不同;MCDF有寄存器读写接口,可以支持更多控制功能。

2021-02-25 22:40:25 2327

IEEE_Standard_for_UVM-2020_redline.pdf

UVM IEEE标准2020年红线版(含修订标明)

2021-04-03

IEEE_Standard_for_UVM-2020.pdf

UVM IEEE标准2020版本

2021-04-03

uvmgen_userguide.pdf

VCS自带的UVM生成器用户指南

2021-04-01

NVM_Express_Revision_1.3.pdf

NVM_Express_Revision_1.3.pdf

2021-02-25

空空如也

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

TA关注的人

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