验证人员在进行验证特性梳理时,入口文档一般包括需求规格说明书、总体方案书、基本协议文本。其中需求规格说明书会详细说明出当前版本芯片所支持的功能有哪些,这些功能将是我们验证特性列表中不可缺少的一部分;总体方案书里将对对应模块的时钟、memory、接口时序等信息进行描述;基本协议文本能够帮助我们极大的理解待验证对象的细节,部分内容可能在当前版本芯片不被支持,而协议文本内容将详细的描述各功能处理细节或者原理,这些内容都将帮助我们更好的梳理验证特性、分解随机变量和规划测试用例。
scramble模块验证特性表
参考前述文档scramble模块代码端口和PCIE2.0 DATA SCRAMBLING协议内容,scramble模块验证特性梳理如下所示。
1.模块功能部分
模块功能验证特性梳理可根据协议和总体方案书/需求规格说明书获取,对于示例的scramble模块,我们则根据协议进行梳理。描述一般为陈述句,支持xxx。
2.接口部分
模块的接口部分是验证人员需要密切关注的一个方面,往往其输入接口所描述的输入数据范围可以直接理解成我们随机环境的最终结果,引导着我们进行随机的方向,不然验证人员设立了一堆随机变量,目的是什么呢?即将最终随机值赋值到输入接口。
以scramble模块输入接口datak为例,其含义为“指示字节数据为K字符”,那么我们可以联想到什么是K字符?是否还包括其它字符?因为在建立随机阶段,对于输入数据内容,我们可以由两种思维方式,一为8bit输入数据随机,而后根据协议内容将各8bit数据与各字符比较,进而得出当前数据是否为K字符或者其它字符;二为先根据协议内容,制定枚举类型D字符、K字符、SKIP字符,而后进行8bit数据随机。则输入接口datak的赋值0或者1将根据8bit数据是否为K字符进行选择。