首页 百科知识 层次化结构的验证平台

层次化结构的验证平台

时间:2022-10-16 百科知识 版权反馈
【摘要】:就如设计是设计组件构成的一个网络,验证平台是验证组件构成的一个网络。AVM验证平台是层次化的结构。同心结构的验证平台如图2-2所示。事务处理器在验证平台中的任务即使将事务交易数据流转化为管脚级行为或者反过来,将管脚级行为转换为事务交易数据。监视器是被动的,也就是说它不影响DUT的运行。分析组件接收在验证平台发生的各种信息,并利用这些信息来确定测试的正确性和完整性。

2.3 层次化结构的验证平台

就如设计是设计组件构成的一个网络,验证平台是验证组件构成的一个网络。AVM定义验证组件,以及它们的结构和接口。这一节我们介绍AVM的组件。

AVM验证平台是层次化的结构。最底层是DUT,一个带管脚接口、RTL级的器件。再上一层就是事务处理器(transactor),也就是在事务级转换和管脚级之间做转换的一种组件。在事务处理器之上的组件就是全部事务级的组件了。图2-1展示了验证平台的层次化结构。左边表示层次的名字,右边列出了该层上组件的类型。垂直方向箭头表示层次之间的直接通信。例如,控制层和分析、运作,还有事务处理层通信,而不直接和DUT通信。

img41

图2-1 层次化AVM验证平台架构

你可以把验证平台看作验证组件的一个同心结构,最里层一圈映射到底层,最外层一圈映射到顶层。这样通过网表类型的图型可以更容易理解层次之间的关系。同心结构的验证平台如图2-2所示。

img42

图2-2 同心结构的验证平台

2.3.1 事务处理器(Transactor)

事务处理器在验证平台中的任务即使将事务交易数据流转化为管脚级行为或者反过来,将管脚级行为转换为事务交易数据。事务处理器的特点是至少有一个管脚级的接口和一个事务级的接口。事务处理器有不同用途、层次和类型,这里主要讨论监视器、驱动器和响应器。

监视器(Monitor)

监视器就是监控总线。它监视管脚并将其行为转换为事务交易。监视器是被动的,也就是说它不影响DUT的运行。

驱动器(Driver)

驱动器将事务交易数据流转变为管脚级的驱动。

响应器(Responder)

响应器很像驱动器,但它是被动对管脚的动作做出响应而不是主动发起驱动。

2.3.2 运作组件(Operational component)

运作组件是提供给运行DUT所需要的一套组件。运作组件负责为DUT生成交易事务。它们都是事务级组件,只有事务级接口。不同的器件、生成相应的激励的方式也会不一样。下面会看到三种常用的环境组件:激励生成器,主器件(Master)和从器件(Slave)。

激励生成器(Stimulus Generator):激励生成器为受激励的DUT产生交易事务数据流。激励生成器可以是随机的、定向的或定向随机的。它们可以自由运行,也可以被控制。它们可以独立,也可以同步使用。最简单的激励生成器是随机化请求对象的内容,然后将该对象传送到驱动器。

场景生成器(scenario generator):是激励生成器的一种形式。它产生定向的或定向随机序列以便在DUT上执行一个特定的功能或运行一个特殊的场景,而不仅仅是产生随机请求信息流

主器件(Mastors):主器件是一个双向组件,它发出请求并接收响应。主器件可以激发各种活动。正如场景生成器一样,它们可以发送单个随机事务交易数据,或者定向的或定向随机事务交易数据。主器件通过其响应来确定其下一阶段的动作。

从器件(Slaves):从器件向主器件一样,也是双向组件。它们接受请求并回复响应(而主器件是发送请求和接收响应)。

img43

图2-3 主器件和从器件

2.3.3 分析组件(Analysis component)

分析组件接收在验证平台发生的各种信息,并利用这些信息来确定测试的正确性和完整性。两种常见的分析组件是记分板和覆盖率统计器。

记分板(Scoreboard)

记分板用来确定DUT的正确性。记分板监控进出DUT的信息,并确定DUT对激励是否发出了正确响应。

覆盖率统计器(Coverage Collector)

覆盖率统计器是对事件计数。它深入交易事务数据流,统计交易事务或交易事务中的各个部分。其目的就是确定仿真的完整性。覆盖率统计器中计数的特定事件与设计和特定的测试有关。覆盖率统计器计数的一般事件包括原始的事务交易、在地址特定段发生的事务交易、协议错误等,不胜枚举。

覆盖率统计器的计数也可作为完整性检查的一部分。例如,覆盖率统计器可以记录一个被跟踪数据的运行平均值和标准偏差。它也能记录错误或正确事务交易的比例。

2.3.4 控制器

控制器包含所有测试进程和各种行为的组合。典型的控制器接收来自记分板和覆盖率统计器的信息,并将信息传送到运作组件。

例如,一个控制器可以启动运行激励生成器,然后等待来自于覆盖率统计器的信号通知它测试何时结束。然后,控制器就会停止激励生成器运行。这个过程可能会有很多具体的变化形式。一种情况就是,控制器给激励生成器提供一套初始约束,然后开始运行激励生成器。当信息包类型比例达到某一特定值时,覆盖率统计器就会给控制器发送信号。控制器接着会给激励生成器发送一套新的约束,而不是马上终止其运行。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈