论文部分内容阅读
随着微处理器硬件规模和复杂度的增长,功能测试已成为设计流程的瓶颈。指令集体系结构划分了整个计算机系统的软件和硬件,是处理器的核心,指令集的测试自然也成为微处理器验证最重要的一部分。RISC作为目前处理器架构的主流技术,其指令集测试已成为处理器设计的主要耗时阶段之一。因此针对RISC指令集自动化测试系统的研究对提高处理器开发效率、缩减开发周期具有重要意义。在深入研究RISC指令集结构和已有自动化测试方法的基础之上,结合自研处理器核自身特点,建立RISC指令集自动化测试系统。该系统主要包括测试规划自动生成、测试用例自动生成、静态编译、测试报告自动生成四个部分。根据自研RISC处理器核的需求、指令集特点,采用等价类划分和边界值分析的方法提取参数约束条件,进一步规划测试点,最终实现指令集测试规划的自动生成。测试规划自动生成模块不仅提高了测试的完备性而且避免了不少人为因素产生的错误。测试用例自动生成模块通过分析测试用例,规范测试用例组成结构,将一个完整的测试用例划分成多个规范的测试点。将单独一个测试点又归纳成数据准备、待测指令、结果对比三个模块。分模块生成测试点,最终由多个测试点构成一个完整的测试用例。测试用例自动生成模块主要规范了测试用例,减少了测试人员编写测试代码的工作量,避免手工编写产生的不必要的错误。测试用例生成之后需要编译得到处理器可以识别的二进制代码,因此静态编译模块的主要功能是将汇编代码转换成二进制形式。此外还包括代码格式检查、代码行数统计的功能。测试报告生成模块分别读取测试平台输出结果文件和预期值文件做对比,完成测试报告。这一模块能够直接定位出错位置,完全规避了人工对比波形数据的过程,对于提高测试效率有明显的效果。本文利用搭建的自动化测试系统完成了单指令测试和指令相关性测试,分析了自动化测试系统的效率和测试用例的完备性。传统测试方法完成一版逻辑测试最少需要一周时间,而自动化测试系统只需要1~2天就可以完成一版逻辑测试。测试点覆盖的完备性相对传统测试方式提高了20%~30%甚至更高。该系统在保证测试效率的前提下,可以有效地提高测试点的完备性。