我们在进入PSS基础篇之前,有必要先梳理清楚接下来如何学习PSS的标准,使用哪些工具,沿着什么样的学习路径来展开。相比于才推出不久的PSS2.0(页),两年前推出的PSS1.0a版本()页对于初学认识PSS更友好,基本上PSS1.0a已经能够实现从PSS测试意图到外部语言的映射。基于PSS1.0a,现有的工具也均已支持完善,我们将采取以下学习路径:
在PSS基础篇,我们将采用PSS1.0a(PSS2.0支持PSS1.0a)做各个元素的入门讲解和示例。
在PSS基础篇中,我们采用AMIQDVTEclipse工具作为语言工具学习的载体,即不利用任何EDAPSS应用工具,即可以开展PSS语言的学习,这也使得与任何EDA工具和测试平台独立开来。
在PSS应用篇中,我们会结合PSS应用工具(MentorInfact或者CadencePerspec),以及Liezhen自动化验证平台,为读者介绍PSS的入门级应用(IP验证级别)和进阶应用(系统级别)。
在后续的PSS进阶篇中,我们还会继续对比讲解PSS2.0相对于PSS1.0的重要更新内容,并同时将一些PSS在项目中的应用案例,结合PSS模型为读者们展示。
在PSS1.0a标准的章节安排主要包括以下内容:
总述(Overview)
概念定义和缩写(Definitions,acronyms,andabbreviations)
词汇惯例(Lexicalconventions)
建模概念(Modelingconcepts)
执行语义概念(Executionsemanticconcepts)
数据类型(Datatypes)
组件(Components)
动作(Actions)
活动(Activities)
数据流对象(Flowobjects)
资源对象(Resourceobjects)
池(Pools)
随机结构(Randomizationspecificationconstructs)
动作推断(Actioninferencing)
覆盖率结构(Coveragespecificationconstructs)
类型扩展(Typeextension)
包(Package)
测试的实现(Testrealization)
从数据类型一章开始,就进入了PSS的语法核心,一直可以到随机结构这一章。在学习完随机结构以后,就能够着手理解动作推断的机制,而动作推断其实又跟前面部分的篇章“建模概念”、“执行语义概念”均有关。这些内容我们都可以在PSS基础篇中学习,待到了“类型扩展”、“包”和“测试的实现”,它们又跟PSS应用相关,我们将会在PSS应用篇对这些知识内容进行介绍。
因此,较为重要的“建模概念”这一章,我会将它推后置于“动作推断”之后,以便读者们在理解了各个PSS基本语法点以后,能够对PSS建模和由此实现的动作推断有系统认识。
在开始PSS基础篇之前,我先将PSS标准中涉及的关键词汇做中文对照翻译。这些翻译的中文词汇如果有读者认为有更合适贴切的其它译法,也欢迎大家留言,我们将会在后期这些内容出版成册前,做统一替换说明。
PSS标准中的概念词汇表:
动作(action):用以描述某种行为的元素,可用于对PSS模型建模,也可用于组合来描述场景。
活动(activity):对系统场景描述的抽象概括,一般由若干不同的动作按照指定的执行顺序组合而成,在从高层次描述意图的同时,不会对实现层面的细节做太多约束。
单元动作(atomicaction):该类动作属于描述模型和系统的最底层元素,往往与系统的配置操作直接关联映射。
组件(