基于SystemVerilog语言的验证方法学(6)
 
- UID
- 1029342
- 性别
- 男
|

基于SystemVerilog语言的验证方法学(6)
3.3XVC管理器(XVC manager) XVC管理器是一个用于高层次XVC之间同步而可选的验证单元。用户可根据系统或一个具体测试对同步或XVC控制机制进行定义。验证环境中只能例化XVC管理器一次;当需要运用多个管理器时则需要在另外一个层次中对他们进行协调管理。
《VMMforSystemVerilog》规范了一个预定义XVC管理器。它用纯文本格式外部配置文件描述测试情节。这些文件重用或根据新的相关需求很方便进行调整。这种通过简单文本输入文件指导测试的能力方式,能使用户在不需要明白验证环境细节情况下快速获得高效测试结果。
对一些重编辑(re-compilation)测试平台单元或运行不同测试情节设计来说,用外部文件对测试情节进行规范的方式减轻了相应需求。有序的规格在复杂系统设计中能有助于减少测试回归(turnaround)次数。图8展示了预定义的XVC管理器结构。

Figure 8 XVC 管理器控制并使测试平台中其他XVC协调工作
|
测试情节的概念基于预定义XVC管理器功能。预定义的XVC管理器指导一个测试情节范围内XVC。一个系统级测试程序能包括一个或更多测试情节。测试情节用于测试一个或多个验证需求。
一个测试程序可以由许多测试情节组成,用于完成一个DUT几个测试需求。测试情节能被用于普通行为序列压缩从而被不同测试程序重用。比如:需要许多XVC配置一个系统的操作能够包含在一个情节中。
用于预定义XVC管理器的测试情节文件在测试运行前就固定了,不能进行动态调整。一个测试程序包括测试情节描述以及关于每个情节执行的顺序信息。情节可能在多种顺序下重复多次。测试程序中执行的每个测试行为在执行第一次行为前由它的目标XVC检查。这个检查主要是防止由于情节文件中的语义或语法错误而在一个长时间运行后而引起仿真终止。
3.4系统级验证环境
对完整验证而言,为达到测试需求的目标,通常习惯是模块或系统是建立一个定制测试平台。然而除非使用一个标准方法,模块级测试平台单元或功能覆盖元素在系统级并不能被方便的重用。
进行系统级验证时一个能较好工作方法是用transactor代替processor(CPU or DSP)。
transactor 直接基于周期精度的机制将激励驱动给系统,而避免程序处理器执行此任务的消耗。transactor提供了一个易控总线主方式。这种方法也避免了一个环境中由于对条件测试而引起错误的主,从总线agent验证。比如:如果一个主(master)或从(slave)总线agent连接有错误,任意一个能屏蔽连接的执行。transactor更容易将系统设计或验证环境中其他事件进行同步。最后,可通过写一个transactor,在一定总线周期范围内,产生更广范围协议值和行为,因而能获得更好功能覆盖。另一方面,transactor不能直接执行编写的CPU或DSP嵌入式代码。因此详细处理器模式通常用于软件驱动,系统级验证环境。《VMMfor SystemVerilog》提供用于设立执行软件集成和验证软硬件交互验证环境。
实际上一个典型SoC项目有几个不同验证环境。对一个给定系统设计,功能验证计划的规范与系统级验证需求一致。用多个不同验证环境达到这些需求相对容易。每个环境与一系列特殊功能验证目标相联系,并为有效的覆盖这些需求而设计。系统级需求的独特正交性(orthogonality)使得用一个单一环境会不必要复杂,由于正交性,不同验证环境实际上可以屏蔽掉一定系统错误配置。
除软件测试环境外,《VMM for SystemVerilog》定义了四种类型验证环境:
""模块互联底层结构环境"预验证模块互联底层结构。验证单元替换与总线接口的外围,主,从设备。这个环境目的是检查数据传输,协议规则,总线执行需求方面,比如时间延迟(latency),带宽等功能的正确性。
""基本集成环境"检查系统中所有I/O口连接关系,翻转正确性。应用集成激励中的首选方法是用验证单元代替大量系统单元来驱动总线事务。集成测试需要明确记录,确保每个模块被正确集成到系统级层次中。系统单元内部功能行为不被验证。
""低层次系统功能环境"覆盖在用处理器(transactor)替代CPU/DSP时不容易观测的功能。这些功能可能包括控制信号监控,复位方式检查,或其他一些对CPU/DSP来说不容易回读,控制的一些功能。与基本集成环境一样,不验证系统单元内部功能行为。
""系统确认环境"确保全面执行需求,比如系统能达到时间延迟(latency)和带宽。这个环境中验证单元驱动或监控系统中所有模块外部接口。如图9所示,只有CPU/DSP由一个处理器(transactor)代替。这个环境中需要提取一个系统级模型进行高效仿真以及一定程度精确性使测试回归时间最小化。

Figure 9 系统确认环境必须高效度量系统执行
|
系统级验证环境应该重用模块级中正确使用过的验证单元。《VMM forSystemVerilog》中验证方法指导方针使得模块和系统级验证环境架构成为可能。所以产生不同模块级验证单元所花费的努力在移植到系统级时就不会白费。
验证单元都按照指导方针进行构造,需要时将很容易在系统级重用。模块级单元在系统级被重新配置,使得他们能在系统级进行相关得更多操作执行。验证单元重配置在模块级和系统级验证中达到不同目的。 |
|
|
|
|
|