AHB-SRAMC项目(基于UVM)
文章平均质量分 80
IC_SH
分享一些个人所得,工作期间,不定时更新。
展开
-
UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)
1.我们将driver的所有信号都完善,并且在reset_phase执行reset_do()命令,对所有信号进行上电复位的初始化。完善好的driver代码如下:2.monitor代码编写:在编写monitor的时候,采用了和编写driver不同的方式,这种方式实现起来相对简单一些,具体思路就是控制好每个时钟上升沿是否检测地址、控制信号以及数据信号,如果检测到了,就将数据打包入m_trans内,然后打印到控制台上。由于比较简单,就不多赘述了。直接上代码.原创 2021-09-14 11:46:00 · 4906 阅读 · 22 评论 -
UVM自学笔记:项目之四(重难点)——具有AHB二级流水特性的高适用性driver的编写(考虑到hready为低情况)
1. driver写功能编写,为了验证driver的功能我们同时需要完善sequence、sequence_item、env、testcase以及模拟DUT行为的Slave_module1.1 interface的编写:interface如下,在driver,monitor和slave_module的clocking_block中声明好各自信号的方向。1.2 driver写功能编写:1.2.1 初始main_phase代码:Driver 通过79行代码get到seq传来的r...原创 2021-09-09 12:16:16 · 5685 阅读 · 10 评论 -
UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台
创建如下所示的目录结构:2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下原创 2021-09-04 14:43:09 · 8172 阅读 · 15 评论 -
UVM项目之二:验证计划的编写
AHB_SRAMC验证计划1.文档信息1.1版本 版本 日期 描述 作者 V1.0 2021/8/14 从sramc_top层直接验证 Zhangshuhuai V2.0 2021/8/24 内部模块ahb_slave_if的验证 Zhangshuhuai原创 2021-08-25 20:31:12 · 8808 阅读 · 0 评论 -
UVM项目自学笔记之一:阅读design specification
目录一、IC验证流程二、design specification一、IC验证流程在此次UVM项目中,笔者将使用UVM的平台架构和编码风格实现AHB—SRAMC的验证工作。将IC验证的整个流程划分为如下阶段,并按照流程完成整个项目:1.阅读design specification,目的:(1)学习设计的架构:包括整个soc架构,待验的IP架构(2)掌握设计功能:对功能的理解和把握至关重要,这影响了我们整个验证的正确性(3)数据流向:掌握接口的数据流向,了解该使用什么...原创 2021-08-25 20:04:57 · 3637 阅读 · 2 评论