UVM1.1实战:模型构建与源码剖析
需积分: 48 49 浏览量
更新于2024-08-10
收藏 3.1MB PDF 举报
"模型的建立-uvm1.1应用指南及源代码分析"
在UVM1.1框架中,模型的建立是构建虚拟硬件平台的关键步骤,特别是对于寄存器模型的创建。本节以`uvm_reg_field`加入到`uvm_reg`为例,深入解析模型建立的过程。
在描述中,我们看到一个名为`my_reg`的类扩展自`uvm_reg`。`my_reg`类包含一个随机化字段`data`,它是`uvm_reg_field`类型的。在`build()`函数中,`data`字段被创建并配置。`configure()`方法用于设定字段的属性,如父级(parent)、大小(size)、最低有效位(lsb_pos)、访问类型(access)、是否易失(volatile)、复位值(reset value)、是否有复位(has_reset)、是否可随机化(is_rand)以及是否可以单独访问(individually accessible)。
`new`函数是构造函数,用于初始化`uvm_reg`对象。在`uvm_reg`的`new`函数中,检查了位宽(n_bits)是否为0,如果是,则抛出错误并将其设置为1。此外,还设置了其他内部变量,如是否具有覆盖率支持(m_has_cover),原子操作数组(m_atomic),已使用的位数(m_n_used_bits),锁定状态(m_locked),是否正忙(m_is_busy)以及是否由字段锁定(m_is_locked_by_field)。
标签中的"UVM 源代码"、"factory机制"、"register_model"和"sequence机制"表明本指南可能涵盖了UVM组件的工厂机制,如何构建寄存器模型,以及序列(sequence)在UVM测试平台中的使用。
在UVM中,工厂机制允许动态地创建和实例化类,使得组件的实例化可以在运行时根据配置进行。这对于创建可配置和可重用的验证环境至关重要。寄存器模型(register_model)是硬件接口的软件表示,它定义了如何访问和操作硬件寄存器。序列(sequence)是UVM中用于生成激励的机制,它们定义了一组操作的顺序和时间关系,这些操作通常在验证环境中驱动DUT(Design Under Test)。
这份指南通过具体的代码示例和详细的解释,帮助读者理解UVM1.1中如何建立模型,尤其是寄存器模型,并可能涉及更高级的主题,如工厂机制和序列的使用。作者张强强调了书中可能存在的不足,但他的目标是分享学习UVM的经验,希望能对其他学习者有所帮助。
2018-09-11 上传
2022-04-18 上传
2014-09-12 上传
2016-11-17 上传
2021-08-10 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
李禾子呀
- 粉丝: 26
- 资源: 2万+
最新资源
- freemarker中文手册
- 关于公平的竞赛评卷系统的研究
- NS2实例,Tcl语法
- ArcDGis9.2 系列产品介绍及开发
- 基于工作流的信息管理系统研究
- php常用算法(doc)
- 展望系统辨识(Perspectives on System Identification, by Ljung, 2008)
- 2009年信息系统项目管理师考试大纲
- 网管手册:三十五例网络故障排除方法
- 中望CAD2008标准教程
- ajax实战中文版.pdf
- C++ Templates 全览.pdf
- 串口通信编程大全.pdf
- 史上最全电脑键盘每个键的作用
- JavaScript.DOM编程
- Microsoft Visio详尽教程.pdf