在认识了DUT ctrl_regs的接口定义以及如何进行例化以后,我们接下来就需要考虑如何在testbench中给ctrl_regs添加需要的激励。从下面这张图可以看到,ctrl_regs在MCDF的集成中需要与多个模块进行连接,这些模块包括有: 外部的 时钟复位模块 (Clock Reset) 外部的 控制模块 (Controller) 内部的 Slave ...
在展开验证环境的构建之前,我们需要先了解模块的端口定义以及在SV环境下得例化。在这里, 我们以MCDF(multi-channel data formatter)中的寄存器模块 ctrl_regs 为例,来看看常见的 模块定义 方式有哪些。 模块定义 Verilog 模块定义1 module ctrl_regs1(clk_i,rstn_i, cmd_i,cmd_addr_i,cmd_data_i,cm ...
从这一部分开始我们将进入SystemVerilog的语言学习和应用。 在进入SV(SystemVerilog)之前,如果读者已经学习过Verilog语言,那么对我们接下来的的从Verilog到SV过渡的部分会容易一些;如果读者之前也没有接触过Verilog语言,也不需要担心。我们对于SV的三个篇章将会带你在学习完这三章之后,懂得 如何搭建测试平台、 ...
本节将是我们《验证的结构篇》最后一节,在这一节我们将模拟实际的工作来抛出一系列的问题,希望读者可以主动思考这些问题,我们给出的建议不是最完美的,至少是按照工程项目观点是合理的。如果你能够有更棒的主意,很欢迎你的留言,或者发送至我们的邮箱 rocker.ic@vip.163.com。 项目背景 读者你将是这个设计模块 ...
无论是从实现难度,还是从维护人力上来讲,checker(比较器)都应当是最需要时间投入的验证组件了。之所以这样评估,是因为checker肩负了几乎所有模拟设计行为和功能检查的任务。更细致来看,一个checker的功能包括: 缓存从各个monitor收集到的数据 将DUT输入接口侧的数据汇集给内置的 reference model(参考模型) ...
Monitor(监测器)的主要功能是用来观察DUT的边界或者内部信号,并且经过打包整理传送给其它验证平台的组件 ,例如checker(比较器)。从更多的功能来划分monitor的功能,它们包括有: 观察DUT边界信号 。对于系统信号如时钟,可以监测其频率变化;对于总线信号,可以监测输入总线的传输类型,以及检查输出总线是否符 ...
Stimulator (激励发生器)是验证环境的重要部件,在一些别的场合中,它也被称之为driver(驱动器)、BFM(bus function model,总线功能模型),behavioral(行为模型)或者generators(发生器)。Stimulator的主要职责就是 模拟与DUT相邻设计的接口协议 。与真正的相邻设计相比, stimulator只需要关注与如何模拟接口信 ...
为了模拟实际情景,我们给出将贯穿于SystemVerilog和UVM章节的硬件设计,并且遵循硬件设计描述的方式给出它的功能、时序、寄存器描述、结构。在以后的SV和UVM部分中,我们也将围绕这个硬件设计考虑测试平台的构成。本节对待测设计的描述也将作为第二部分(SV、UVM)的主要实例,日后对测试平台的构建需要经常引用该设计的 ...
测试平台实际上是整个验证系统的总称 ,它包括有验证结构中的各个组件、组件之间的组成关系、测试平台的配置和控制,从更系统的意义来讲,它还包括有编译仿真的流程、结果分析报告和覆盖率检查等。从狭义上讲,我们主要关注验证平台的结构和组件部分,他们从整体上可以产生设计所支持的各种输入,也在此基础上进行设计功 ...
人们对一个行业所产生的偏见多半是由于没有亲身体验过,而在芯片领域验证所接收到的偏见也丝毫不少于其它行业所面临的窘境。 在每次新开学与我的学生们交流的时候,他们对于验证的理解仍然停留在当初学习VHDL或者Verilog所学到的通过一个简易包装的测试盒子,固定的激励源和细致的时序激励调整来测试设计。当我在第一堂课 ...
hebut_wolf
teresa_xie
烽火戏诸侯
京存高性能存储
gratwo
ElectroRent
hirain123
kakaiki
edadoc2013
limubai
twoyyf
小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )
GMT+8, 2024-5-18 08:33 , Processed in 0.027810 second(s), 8 queries , Gzip On, Redis On.