代码编织梦想

学习完UVM入门课程后,进入到UVM实战阶段,遇到的第一个项目是对APB总线master和slave的验证IP开发。

第一个认识是APBmaster的VIP不是对APB master的验证,而是对master的验证语言实现。在之前的sv和uvm部分学习中,对一个模块的验证是从他的外部接口进行输入和输出对比,按照这个想法,对APBmaster的验证应该是构建硬件master的实际操作对象,生成seq来驱动实际硬件master,并将master硬件在总线上的驱动信号作为checker的输入与预期输入进行对比,从而验证APBmaster是否可以根据上层指令正确的驱动总线信号。但是VIP的用途并不是这样,验证IP用来植入到验证平台中,用来检查协议操作和接口,换句话说,APB master VIP是用来在验证环境中代替APBmaster硬件的,而不是验证APB master。

这一点也在之后的测试用例的实现的以表现,sequence的构建都是围绕master VIP部件,即master部分的driver用来接收seq_item并驱动APB总线的读写行为,而slave部分的driver存在接收seq_item的部分,但并不进行驱动,而是仅进行简单的response转发。关于APB VIP 的测试用例,都是由seq驱动master进行测试。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42001126/article/details/122430962

《uvm实战》学习笔记1_上进的蠢猪的博客-爱代码爱编程

验证平台的组成   激励模块:driver计分板:scoreboard收集DUT输出:monitor预期参考模型:Reference model 其他概念:agent、sequence     1、driver模块 class my_driver extends uvm_driver;    function new(string name =

uvm实战 学习笔记 第一章 与uvm的第一次接触_沈醉不知的博客-爱代码爱编程_uvm实战

现代IC前端设计流程IC流程 IC设计分类 非算法设计 如网络通信协议算法设计 如图形图像处理how 使用C / C++ 建立算法模型(参考模型)设计语言 Verilog(主流) 版本 1995版2001版ps 可验证(initial, task, functio

uvm实例之apb总线_bleauchat的博客-爱代码爱编程

1.定义transaction `ifndef APB_RW_SV `define APB_RW_SV import uvm_pkg::*; //apb_rw sequence item derived from base uvm_sequence_item class apb_rw extends uvm_sequence_item; /

IC验证“UVM验证平台“组成(三)-爱代码爱编程

验证用于找出DUT中的bug,这个过程通常是把DUT放入一个验证平台中来实现的。一个验证平台要实现如下基本功能: 验证平台要模拟DUT的各种真实使用情况,这意味着要给DUT施加各种激励,有正常的激励,也有异常的激励;有这种模 式的激励,也有那种模式的激励。激励的功能是由driver来实现的。 验证平台要能够根据DUT的输出来判断DUT的行为是否与预期相

SVT APB VIP-爱代码爱编程

前言 之前自己做了AHB_APB和APB_UART,深刻认识到agents,就是根据AMBA协议写的,称为VIP。 这篇文章就简单列出APB_VIP的相关介绍。 介绍 APB VIP支持验证SoC设计,其中包括实现APB规范的接口,该VIP可在UVM测试平台中的使用,且可提供: 协议功能和抽象受约束的随机验证功能覆盖可快速创建复杂的测试模块化测试平

APB VIP-爱代码爱编程

APB VIP的开发(含APB 接口断言) APB总线协议详解APB 信号列表APB 状态机读操作(重要)读操作(重要)主要的开发阶段**阶段1——定义APB**阶段2——VIP基本搭建APB VIP覆盖率分析APB 接口断言检查APB接口断言覆盖率 APB总线协议详解 APB 信号列表 由上表可以看出,APB信号主要有系统信号(PCL

VIP开发与发布-爱代码爱编程

一、概述 对于会被经常复用的总线协议或者功能模块,可以针对其开发专用的验证IP(VIP)。对于总线VIP,需要master agent和slave agent,有时也需要Environment去构建多个主端对从端的验证环境。VIP也需要对应的配置对象,即configuration object,同时也需要对应的接口。二、主要的开发阶段 阶段1(定义)

APB协议UVM验证环境的搭建-爱代码爱编程

APB协议UVM验证环境的搭建 一、编译文件 只需编译这两个文件即可 apb_pkg.sv 里面包含了"apb.svh",即编译apb_pkg.sv这个文件的同时,也会编译所需要的所有的头文件。 `ifndef APB_PKG_SV `define APB_PKG_SV package apb_pkg; import uvm_pkg::*;

在SOC环境中,如何实现一个VIP?-爱代码爱编程

VIP根据实现方式不同,分为C侧和V侧,C侧为C语言实现的.h文件,而V侧是HDL实现的.sv文件,VIP的目录结构如下图所示 IP_reg.h中定义了与IP寄存器相关的四个函数,一个是寄存器读写函数,第二个函数是检查寄存器的复位值,这两个函数用于验证IP是否正确地挂载到总线上,另外一个目的是验证RTL实现是否与DOC一致(double chec

apb协议讲解-爱代码爱编程

APB协议讲解 1. APB介绍1.1 APB的产生1.2 APB的功能1.3 APB协议的特点1.4 APB协议的英文文档很短,建议看原文 2. APB协议的信号列表如下图所示(取自APB4协议)3.