
本文共 781 字,大约阅读时间需要 2 分钟。
大家好,我是李明,一哥。之前的内容我们介绍了UVM的基本概念,包括它的特点以及UVM为用户提供的资源。现在我们要深入了解UVM验证平台的典型结构。
一般的印象中,UVM验证平台是一个分层结构。图中的每个大块都代表了平台的一部分,这些部分我们称为平台组件。接下来,我们从最底层开始分析。
底层部分是 |_|Agent,包含_driver》、《monitor》和《sequencer》。其中,driver部分负责与测试对象(DUT)进行通信,monitor则负责数据采集和监控。
往上一层是 |_|env(环境),包含多个 Agent、参考模型(Reference Model)以及积分板(Scoreboard)。这一层是平台的核心部分,用于配置和管理多个验证模块。
继续往上是 ||testcase(测试用例),它包含了_RESOURCES]和(env)。这是平台的上层,用于定义具体的测试场景和参数。
最顶层是 |_|top(顶层),包含测试用例以及待测设计(DUT)。这一层是整个验证流程的起点,用于集成测试用例和设计。
在实际应用中,UVM平台的组件可以通过封装( encapsulation》)进行复用。这种特性在处理多模块验证时尤为重要。例如,在芯片级或系统级验证中,往往会有多个模块需要验证。此时,测试平台的结构会发生变化。
新增的模块会被集成到现有的平台中,但保持原有的结构。这意味着,每增加一个模块,平台会增加一个相应的Agent,但其在整体结构上仍与单模块验证保持一致。这体现了UVM平台的高可重用性设计。
具体来说,新的模块会通过_passagate》模式加入到平台中。从图中可以看出,每增加一个模块,平台会新增一个Agent,但其与原有模块的通信通过_passagate》机制实现,本质上并未改变平台整体架构。
本文介绍到这里!未完(待续)…
发表评论
最新留言
关于作者
