开源PSS解析器1

本章介绍另一个开源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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值