自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 SPI待测设计

文章目录课程目标功能概述拓扑结构数据流APB接口信号接口时序SPI接口信号SPI接口时序中断接口信号及时序寄存器地址列表数据发送寄存器数据接受寄存器共享地址的寄存器控制寄存器从设备选择寄存器时钟分频寄存器配置过程总结四种模式,极性两种,相位两种功能;拓扑;结构;配置;课程目标功能概述拓扑结构SOC APB BUSSPI_clgenAPB interfaceSPI shift数据流APB接口信号接口时序SPI接口信号SPI接口时序中断接口信号及时序

2021-05-17 18:54:35 364

原创 APB_SPIM

文章目录验证功能点的提取SPI协议简介如何快速理解接口协议SPI协议1SPI协议2接口信号多从设备的情况接口时序配置信息配置过程总结验证功能点的提取SPI协议简介功能;拓扑;接口;配置;如何快速理解接口协议SPI协议1全双工:具有同时收发性质;半双工:具有错时收发性质;SPI协议2接口信号多从设备的情况接口时序CPOL 极性:表示初始值;CPHA相位:表示上升沿(0)或下降沿(1)采样;配置信息配置过程总结...

2021-05-17 10:13:21 818 2

原创 验证报告

文章目录一些问题课程内容为什么编写验证报告?工作产品通过状态记录bug的注意内容代码覆盖率功能覆盖率分析验证完备性![在这里插入图片描述](https://img-blog.csdnimg.cn/20210517090512453.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ5NzI2MDkz,size_16,color_FFFFFF,

2021-05-17 09:19:52 1222

原创 AMBA-AHB总线介绍

AMBA:(Advanced microcontroller bus architecture)高级微控制器总线体系;AHB:高级高性能总线,用于高性能、高时钟频率的系统模块,担当高性能系统的中枢总线,支持处理器、片上存储器、片外存储器以及低功耗外设宏功能单元之间的有效连接。典型的AMBA AHB具有以下特点:高性能;通道操作;多总线主机;突发传输;分割传输...

2021-05-11 15:56:39 334

原创 自动生成平台脚本

文章目录生成的前提条件脚本讲解脚本的处理内容函数的定义自动生成平台脚本简介参考文档:《perl:实例精讲》生成的前提条件验证平台具备通用的设计结构:对于uvm来说验证平台具备通用的目录结构验证平台具备通用的脚本需求脚本讲解使用:效果:脚本的处理内容查看脚本函数有哪些::v/^sub/d适用于以sub开头的函数@ 数组$ 变量解析命令行函数并防呆函数的定义...

2021-05-10 15:41:56 759 3

原创 SRAMC spec

SRAMC规范分析AHB-SRAMC这个项目是选取自SOC的一部分,通过AHB总线进行读写操作,包含三个模块:ahb_slave_if模块:产生读写控制信号和sram控制器片选所需的输入信号;sramc_core模块:有两个bank,每个bank包含4块sram。也就是8个sram。每块sram的片选由sramc_csn[3:0]和haddr_r[15]决定;sram_bist模块:具体实现数据的读写功能,其中包含有bist以及dft测试设计;sramc_top模块:作为AHB slav

2021-05-08 11:28:27 584

原创 SV数据类型

变量二值:bit、byte、shortint、int、longint;四值:logic、reg、wirereal支持用户自定义:typedef枚举类型; == enum==数组arraypacked array:带有数组宽度的数组(名前)unpacked array:带有数组维度的数组(名后)multi-dimension array:将合并数组与非合并数组结合起来就是多维数组;动态数组:运行时可以更改的unpacked array;关联数组:数据稀疏的动态数组;队列是一个大小可变

2021-05-08 10:48:48 285

原创 AHB-SRAMC测试案例

文章目录功能点:8/16/32位的读写8位byte读写16位halfword读写32位word读写低功耗bank的选择单周期读写关于busy功能点:8/16/32位的读写;低功耗bank的选择;单周期读写;32位的数据空间;总共10个测试案例,8/16/32位的交替读写与先写后读6个;特殊值(0x55、0xaa、0xff、0x00)的先写后读,3个;bank的选择 1个8/16/32位的读写两种方法;写读交替进行;前一半写后一半读;8位byte读写rand 属性读写;

2021-05-03 19:43:36 3437 6

原创 E课网面试题

E课网面试题1. 项目的流程首先根据spec编写验证计划,重点提取feature list,分析验证平台结构;搭建验证平台:采用从从顶层到底层的搭建方法:test->env->agent(transaction->seq->seqr->driver->monitor)scoreboard;调试平台:编写简单的test,首先调试平台,使平台能够跑起来,并产生正确的结果;编写大量的testcase进行验证:随机案例以及直接测试;2. 项目中soc的架构描述验

2021-05-02 15:51:21 2072

原创 E课网AHB-SRAMC

文章目录验证流程课程内容架构图对DUT spec.的了解需求提取(验证功能点提取)验证流程IPO内容I(输入)1. duv spec.(研制规范、概设,详设,算法文档) 2. 文档需求、代码规范;P(操作)1. 消化理解spec.; 2. 验证需求; 3. 验证计划(包括验证功能点、规划TestCase、TB、UVM、工具及版本、覆盖率模型) 4. 搭建验证环境(transaction、interface、vip…) 5. 验证用例编写,debug,发现rt.

2021-05-01 16:19:40 3996 2

原创 AHB-SRAMC网课设计与验证-1

文章目录课程内容backgroudfeaturesspecarchitectureAHB operation timing课程内容backgroud在一个SOC系统里面,SRAMC是很常见的一部分(图中SMI,system memery)作用是跑程序,数据的数据处理器featuresAMBA 2.0 AHB spec;SRAM seoc系统需求:32/64/128/256空间;支持8/16/32位位宽读写操作;单周期读写(一个周期出现读写两种操作,实际上是pipeline,两

2021-04-26 15:42:46 4690

原创 AHB-SRAMC-类

#mermaid-svg-dllXNGQtAP2vJJuQ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-dllXNGQtAP2vJJuQ .label text{fill:#333}#mermaid-svg-dllXNGQtAP2vJJuQ .node rect,#mermaid-svg-dllXNGQtAP

2021-04-26 10:38:45 759

原创 AHB SRAMC

设计需求支持低功耗(standby状态功耗会降低1000倍);支持单周期读写;能够根据AHB总线的读写宽度进行相应的SRAM位宽选择;能够支持DFT/BIST测试;设计层次结合AHB_if的地址信号进行SRAM的片选,以及读写宽度的选择,从而进行低功耗以及位宽选择的功能的实现;一个两位的多路选择器来实现DFT/BIST测试功能;设计相应的AHB总线实现单周期读写(一个周期内完成读写,使用流水线设计);对于bist/dft的验证bist模块的单独验证:需要一个功能正确的SRAM

2021-04-24 11:36:27 1961 1

原创 2. sequence detector UVM test

一个简单的验证实例DUT序列检测器:当检测到输入为“1011”时,输出为1;Test plan使用UVM进行验证;包含以下几个模块:sequence:产生随机串行输入;driver:接收item并且通过virtual interface输入到DUT中;monitor:捕捉输入与输出的值,创建一个packet并发送到scoreboard;scoreboard:根据输入输出的值检查DUT的正确性;输入的随机数应至少包含以下序列:01101101101010101110011

2021-04-20 18:01:52 357

原创 1. common utils and test structure

www.chipverify.com文章目录前沿UVM common utilitiesbase classes前沿uvm主要思想是通过可跨项目部署的API框架帮助项目的验证开发,是一种可重用和扩展的测试平台结构;UVM common utilitiesbase classesuvm_void:没有任何用途,只作为所有uvm的基类;uvm_root:顶级uvm组件,在运行时自动创建;可使用uvm_top进行访问;父项设置为null的任何组件都将成为uvm_top的的子项;uvm

2021-04-20 15:16:53 187

原创 UVM总结

文章目录概要统一的验证方法学可扩展的UVM验证平台架构标椎化的组件间通信机制定制化的组件执行顺序phase灵活的配置机制标准化的寄存器描述和测试命令行选项概要统一的验证方法学通用验证方法学;CDV格式;分层高度复用的验证平台架构;可扩展的UVM验证平台架构标椎化的组件间通信机制定制化的组件执行顺序phase灵活的配置机制标准化的寄存器描述和测试命令行选项默认仿真超时是9200s...

2021-04-19 16:33:01 475 1

原创 12_RAL

文章目录主要内容验证需要包含寄存器与存储器寄存器抽象层寄存器抽象层的工作原理寄存器模型的构成如何将寄存器模型嵌入测试平台主要内容验证需要包含寄存器与存储器如何在某一情况下,scoreboard查看DUT中某些寄存器的状态或者存储器的值?在scoreboard和virtual sequence中插入触发事件,在某种情况下启动virtual sequence中的寄存器读写sequence,将结果发送给scoreboard。寄存器抽象层是一套数据结构实例化在env,作为平台组件的一部分

2021-04-18 15:21:11 293

原创 UVM_12RAL

文章目录内容寄存器和存储器无寄存器模型使用寄存器模型寄存器抽象类实现的步骤DUV寄存器描述1 创建事务和组件S2 建立寄存器模型寄存器模型基本的数据结构uvm_reg_field字段操作策略4 创建adapter验证环境中例化RALRAL测试案例RAL内建的RAL测试案例进行自动测试内容寄存器和存储器寄存器一定会有,存储器不一定无寄存器模型使用寄存器模型寄存器抽象类前门通过总线真实读写消耗仿真时间,后门通过寄存器镜像读写不消耗仿真时间实现的步骤DUV寄存器描述1 创

2021-04-16 22:26:37 270

原创 11_advanced sequence

文章目录什么是uvm sequence library向uvm sequence library==永久注册==sequence内容uvm sequence libraryvirtual sequence和sequencer什么是uvm sequence library本质是一个sequence包含了一组注册了的sequenceleix对其进行配置,产生一系列的sequence/sequence item特征其他sequence可以向sequence library注册;可

2021-04-13 14:54:18 130

原创 UVM_知识点测试

选择题1 uvm组件间通信时,TIL的连接需放在哪个uvm phase:build:创建并配置验证平台的架构;connectrun:运行仿真report:报告测试案例的仿真结果2 uvm_agent内定义的active mode是:被动操作,仅仅实例化了监视器的配置参数:passive mode模拟DUV的系统接口器件,例化了driver,sequencer和monitor包含配置信息和其他参数;通过TLM连接各个组件并通信;3 uvm_agent内定义的active mode

2021-04-12 17:01:53 4745

原创 UVM_11_virtual sequence and sequencer

文章目录虚序列与序列器管理sequence的执行顺序一个例子virtual sequence/sequencer的作用vertual sequencervirtual seqnencesequence执行管理同步机制 uvm event同步机制 uvm_barrieruvm_pooluvm_event_pool触发triggeruvm_event_pool等待触发保护激励UVM_Pool序列库例子建立序列库使用登记和执行自定义序列库的对象配置问题配置序列库配置序列库的例子工程师自定义虚序列和虚序列器多

2021-04-11 14:59:29 265

原创 UVM_10_component_phase

文章目录phasecommon phaseuvm phasephase 同步phase objection机制超时机制高级特性phase 域phase跳转phase回调获取phase执行次数组件phase的编码原则phase两个domaincommon phaseuvm phase具有pre和post部分common phaseuvm phasephase 同步同名phase以最后结束的为同名phase为结束点。phase objection机制== 所有的run_p

2021-04-11 11:26:55 121

原创 10_UVM callback

文章目录问题:如何改变driver的行为?callback机制如何使用使用实例进一步实现平台的重复使用能力。问题:如何改变driver的行为?uvm的factory机制以及override机制;(过多的扩展引起继承关系的混乱)UVM callback机制callback机制两部分:function或task-回调函数;在一个对象内使用,但在另一个对象内定义;如何使用将UVM callback方法内嵌入组件中;创建一个最基本的uvm callback空壳类;从callb

2021-04-10 14:38:03 243

原创 UVM_8_callback

文章目录增加或修改UVM组件callback四个步骤实现收集覆盖率增加或修改UVM组件callback四个步骤在uvm组件中内嵌callback函数或者任务;登记,嵌入创建一个UVM callback空壳类(facade class)创建空壳从uvm callback 空壳类扩展 uvm callback类;丰富空壳在验证环境中创建并登记uvm callback实例。加入环境实现收集覆盖率...

2021-04-10 10:42:45 120

原创 VCS 编译仿真makefile指令

使用verdi需要加目录库//定义DEFINE = VPD_ON+FSDB_ON//测试模块TEST = base test//种子SEED = $(shell data+%s)断言选项://断言选项ASS_OPTS = -assert enable_diag -debug_all -assert quiet+maxfail=100 +$(DEFINE)覆盖率选项COV_OPTS = -cn line+fsn+tgl+cond+branch+assert编译:vcs -

2021-04-10 09:04:15 854

原创 数字IC验证面试题

文章目录建立时间和保持时间违例的解决方法谈谈对UVM验证方法学的理解UVM有哪些组件UVM组件的常用方法virtual sequencer 和 sequencer的区别,以及为什么用virtual sequencer为什么要有sequence,sequencer以及driver,为什么分开以及这样做的好处assertion分为哪几种,简单描述assertion的用法fifo的空满判断fifo的异步与同步验证的思想debug 的主要手段为什么要避免使用绝对路径,如何避免如何在driver中使用interfac

2021-04-07 13:40:49 9703

原创 9_UVM Analysiscomponent

文章目录两种分析组件为平台添加analysis component两种分析组件reference module;scoreboard;reference module输入来源于monitor;模拟DUT 的行为,产生输出;将期望值发送给scoreboard;scoreboard输入来源于reference module的期望值与slave agent中monitor的值;比较自动进行;一般会将fcoverage嵌入到scoreboard;为平台添加analysis compone

2021-04-07 10:20:52 77

原创 UVM_8_Scoreboard_and_Coverage

文章目录计分板和覆盖率scoreboard简介数据流实现方法计分板参数化数据格式转换乱序比较多流比较功能覆盖率检测内容与验证平台的结构配置信息输入激励正确性计分板和覆盖率scoreboard简介自动比较的验证平台;不同场景的不同计分板;不同验证平台中重复使用;DUV中数据转换;uvm_scoreboard class的扩展功能按照一定的顺序;数据转换;在comparator类中内建了analysis export数据流实现方法计分板参数化数据格式转换乱序

2021-04-07 07:30:34 871

原创 8-UVM TLM机制

文章目录什么是TLM机制为什么要使用TLMUVM TLM 的原理端对端(一组端口两个组件)一对多常用UVM TLM 的端口(port/imp/exp)端对端的port和importexport普通TLM端口的使用方法put模式analysis portput/get方法实现的类,定义的端口是*_imp:put : put方法实现在consumer;get : get方法实现的producer;fifoconsumer和producer类的端口都是port,且实现方法存在于类库;uvm_tl

2021-04-05 21:09:30 634

原创 override机制调试

未将新写入的override文件`include编译顺序不对注册语句不对inst override语句第一项未写双引号替换test文件可以派生于被替换文件也可以派生于uvm_test

2021-03-29 11:36:33 145

原创 UVM-实例调试

搭建一个简单平台每个类都有类继承声明每个类都有注册声明使用component注册:test,env,scoreboard,agent,driver,monitor使用object注册:sequence,sequence_item每个类有new构造器Makefileall: compile simulationcompile:<tab>vcs -sverilog -ntb_opts uvm -timescale=1ns/1ns +define+UVM_NO_DPI &lt

2021-03-28 21:31:39 464

原创 UVM_6 configure机制

文章目录uvm configure机制uvm组件的逻辑层次结构使用逻辑层次配置组件uvm configure机制uvm组件的逻辑层次结构行为描述使用基类:uvm_component具有parent-child逻辑层次结构;提供控制验证流程和配置机制;build final 是自上而下,其他是自下而上;parent-child关系组件显示和查询使用逻辑层次配置组件...

2021-03-28 16:06:31 361

原创 UVM5_sequence机制

文章目录sequence机制sequence概述uvm_sequence class 普通成员执行流程sequence class要求sequence执行start()程序会回调以下程序可以将pre_start和post_start单独写出来,body主体只写方法实现scenario型的sequencesequence的嵌套在测试案例中配置default_sequence利用config机制配置sequence个性化单独配置整体配置通过sequencer配置在agent中配置sequence机制sequ

2021-03-28 16:03:08 856

原创 UVM_7TLM 通信机制

文章目录TLM 通信机制组件接口传统的通信手段uvm 组件之间的通信uvm 1.0Push/put modePull/get modeFIFO modeanalysis portPort pass-throughTLM 2.0常用负载组件同步uvm poolTLM 通信机制组件接口sequence <-> drivermonitor -> collectors(scoreboard,coverage)sequence <->matster传统的通信手段缺

2021-03-28 16:02:55 154

原创 7-uvm sequence 机制

文章目录uvm sequence 机制什么是uvm sequence机制为什么使用uvm sequenceuvm sequence 机制的原理如何实现uvm sequence常用的uvm_do_*宏uvm_do_*宏系列的分解sequence的嵌套sequence的仲裁机制sequence获取响应uvm sequence 机制什么是uvm sequence机制控制和产生一系列事务,并将事务发送给driver的一套机制。功能控制;产生;发送消耗仿真时间,所以用在task phase

2021-03-27 16:52:52 418

原创 6-UVM configuration机制

UVM configuration机制什么是uvm configuration机制是一个强大的属性配置工具1 可以传递值;2 可以传递对象;3 可以传递interface(virtual);特点1 作为半个全局变量,避免全局变量带来的风险;2 高层组件可以通过该机制实现在不改变代码的机制下更改它所含子组件的变量;3 各个层次都可使用;4 支持通配符和正则表达式;5 支持用户自定义的数据类型;6 可以在仿真运行的过程中进行配置;基本原理它的实现由两部分构成1 添加配置资源;

2021-03-27 13:48:36 1500 3

原创 5-UVM信息服务机制

文章目录UVM信息服务机制什么是UVM信息服务机制UVM信息服务机制什么是UVM信息服务机制可显示打印信息在测试的位置;信息过滤;信息安全以及信息等级-

2021-03-26 13:51:47 419 1

原创 将博客搬至CSDN

UI不舒服

2021-03-26 11:59:00 45

原创 4-UVM事务级建模

文章目录UVM事务级建模什么是事务级建模以及事务在uvm平台中的功能从uvm_sequence_item扩展事务uvm field automation机制UVM事务级建模什么是事务级建模以及事务在uvm平台中的功能是一种抽象概念网络数据包;总线事务;指令集;。。。事务是一系列具有一定关系和功能的数据集合;事务是uvm平台信息交互的基本单元;从uvm_sequence_item扩展事务一个事务需要了解的属性源端口;目标端口;包含的具体数据;扩展数据约束是基类数据约

2021-03-26 11:46:01 259

原创 3-UVM factort机制

文章目录UVM factort机制什么是factory机制与基本原理UVM factort机制什么是factory机制与基本原理什么是factory机制?factory机制可以在用户不改变代码的情况下实现不同对象的替换;是UVM的一种数据结构;作用范围为整个平台空间;有且仅有一个实例化对象(单实例类);是一个多态构造器,仅仅使用一个函数让用户实例化很多不同类型的对象;所替换的类型必须由同一个基类扩展而来;UVM factoy机制的原理包含了两张查找表;- 注册表;-

2021-03-26 10:43:38 208

IEEE Standard for UVM-2020.pdf

工具书

2021-04-14

IEEE Standard for Verilog.pdf

工具书

2021-04-14

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

TA关注的人

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