1. driver
用于向 DUT 输入测试激励,满足 DUT 对时序的要求。典型的 driver 重复地接收数据项并将其驱动给 DUT**。例如, driver 在一段时钟周期中通过控制读/写信号、地址总线和数据总线实现一个写操作。
2. sequencer
用于调度向 DUT 发送激励的顺序,满足 DUT 对不同顺序激励的要求。Sequencer获取用户定义的 sequcence 中数据项的顺序,sequence形成更加结构化和有意义的激励模式,并且支持多个接口之间的同步。Sequence也能够对不同的协议进行分层。
3. monitor
monitor 是一个采样 DUT 输出信号但不驱动 DUT 的被动的实体,同时执行接口协议检查。Monitor 收集数据项,从总线上提取信息并将其转换为可用于其他组件的 transaction或者其他事件信息。
4. agent
sequencer、 driver、 monitor 都是可以单独可重用的,但是为了减少整合以及连接的工作量,UVM 建议环境开发者生成一个更抽象的容器,叫做 agent。验证组件能够包含不止一个 agent,许多 Active agents 激励 DUT,同时另外的 Passive agents响应事务请求。
5. environment
environment(env)是验证组件中最高层级的组件。它包括了一个或多个 agents。Env一般具有配置属性,可以自定义验证环境的拓扑结构和行为。
6.reference model & scoreboard
reference model(参考模型)用于得到输出期望值。如果 reference model 有错误,那么最终比较的结果也是不可信的。Scoreboard:对 DUT 和 reference model 输出的反馈进行比较和统计,得到比对结果。
作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/LkdIyoDEhItfLyf6rnZVoA
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏