本章介绍另一个开源PSS解析工具zuspec:
zuspec 提供了一组用于处理 actions relationship level 的工具 (ARL) 模型,主要是使用 Accellera 便携式测试和刺激 (PSS) 语言描述的模型。ARL 模型用于为数字设计指定系统级测试。zuspec 具有非常模块化的设计来支持快速探索这种建模方法的应用。
zuspec 组件都是用 C++ 实现的,可通过 C++ API 和 Python API 获得。这样它们就可以通过 Python 集成,但要全速交互是通过 C++ 来实现(感觉有点像gem5的框架设计)。
应用
应用程序是大多数用户体验 zuspec 的方式。应用连接一个或多个 zuspec 组件,以及一些集成代码,以满足特定需求。zuspec主要由parser,solver和generateTest三部分组成; paser负责PSS语法解析,solver负责对约束语法和调度语法做求解,generateTest负责生成指定类型的测试激励。
- zuspec -- 支持代码生成;
- zuspec-SV -- 对 SystemVerilog 测试平台环境的集成支持;
- zuspec-be-sw -- 对 SoC 测试平台环境的集成支持;
前端(Parser)
前端进程和输入描述(例如 PSS 语法),通常目标是填充 zuspec 的 ARL 数据模型,以便进一步处理和评估。
- zuspec-parser -- 基于 ANTLR 的解析器和 Accellera PSS 的 AST(抽象语法树);
- fe-parser -- AST 到 ARL 数据模型转换器;
核心数据模型和评估(Solver)
ARL 模型通常主要是声明性描述。换句话说,他们在很大程度上基于约束。评估工具将数据模型处理执行它并进行优化。
- arl-dm -- 捕获 ARL 建模语义的核心数据模型;
- arl-eval -- 核心评估器,支持对 ARL 模型进行解释性评估;
- vsc-dm -- 约束随机描述的外部数据模型;
- vsc-solvers -- 赋值器使用的约束求解器包;
后端(GenerateTest)
后端将 zuspec

最低0.47元/天 解锁文章
21

被折叠的 条评论
为什么被折叠?



