[发明专利]双精度SIMD部件芯片级验证测试激励自动生成方法无效
申请号: | 201110056614.8 | 申请日: | 2011-03-09 |
公开(公告)号: | CN102129407A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 李春江;易会战;赵克佳;杨灿群;黄春;王锋;杜云飞;陈娟;彭林 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 精度 simd 部件 芯片级 验证 测试 激励 自动 生成 方法 | ||
技术领域
本发明涉及处理器设计过程中的芯片级验证,尤其指面向双精度SIMD(单指令多数据)部件进行芯片级验证过程中测试激励的自动生成方法。
背景技术
处理器芯片的集成度越来越大,在处理器中设计实现支持双精度浮点计算的SIMD部件来支持大规模科学和工程计算是一个重要的发展趋势。但是和在处理器中实现支持流媒体计算的SIMD扩展相比,双精度SIMD部件需要设计实现更长字长的短向量寄存器(通常为256位共4个双精度数据)以及相应的支持双精度计算的SIMD指令集。因此双精度SIMD部件使用的寄存器和传统面向流媒体计算的SIMD扩展使用的寄存器不同,数据通路不同,指令集也完全不同,这给验证工作提出了很大的挑战。
处理器的芯片级验证是指在全芯片模拟验证环境中运行测试激励来验证芯片设计的正确性。每个测试激励是一个完整的汇编语言程序,测试激励具有自比较的功能,能自动比较程序的运行结果和预期结果,并根据比较结果进入不同的自陷。
传统SIMD部件的芯片级验证都是由设计和验证人员用汇编语言手工编写芯片级测试激励。这种方法需要大量的人力来开发测试激励,耗费人力物力多,芯片级验证时间长;并且不同处理器实现的SIMD扩展不同,支持双精度浮点计算的SIMD扩展差别就更大,无法重用已有的SIMD部件芯片级验证的测试激励。因此迫切需要双精度SIMD部件芯片级验证测试激励生成的自动化方法。目前还没有公开发表的面向双精度SIMD部件芯片级验证自动生成测试激励的方法。
发明内容
本发明要解决的技术问题是提出一种自动生成双精度SIMD部件芯片级验证测试激励的方法。
本发明的技术方案如下:
第一步,根据所要验证的双精度数据运算类型(如加、减、乘、除等),以及数组长度(记为scale),构造进行双精度数组操作的标准C语言程序foo.c。
foo.c一方面为即将构造的使用双精度SIMD汇编指令的测试激励建立一个正确的模型,该正确的模型是指经过验证正确可信,可以作为正确性对比的参照),一方面为构造测试激励准备原始数据,原始数据包括输入双精度数组以及作为正确结果的双精度数组。
构造foo.c的方法是:
1.1 生成一个空的C语言源程序文件foo.c;
1.2 向foo.c文件中写入标准C语言程序文本,包括如下内容:
1.2.1 包含标准头文件的语句;
1.2.2 全局数组声明语句,包括声明用作输入数据的两个一维双精度数组src1和src2的语句、声明用作保存正确结果的一维双精度数组golden_result的语句,以及声明用作保存计算结果的一维双精度数组result的语句,数组的长度都为scale;src1和src2声明中的数组初值由双精度数据随机生成程序生成;golden_result数组声明中的初始数据根据所要验证的运算类型对两个源数组进行运算得到;
1.2.3 C程序主函数代码:包括对两个输入数组元素进行运算并将结果写入result数组的语句;对golden_result数组元素和result数组元素进行比较并当结果不同时报出警告信息的程序语句。
第二步,基于foo.c以及所要验证的运算,构造作为测试激励的汇编语言源程序simd.s,方法是:
2.1用面向目标处理器的编译器编译foo.c程序,用“-S”编译选项控制编译器将foo.c编译为汇编语言程序文本foo.s,如gcc-S foo.c-o foo.s。
2.2 创建simd.s文件。
2.3 向simd.s文件中写入如下内容:
2.3.1 包含测试激励公共头文件的代码(如#include“hboot.s”);
2.3.2 汇编语言程序文本段声明语句;
2.3.3 将4个数组src1,src2,golden_result和result的基地址写入寄存器的汇编语句;
2.3.4 根据数组长度设置循环控制寄存器初始值的语句;
2.3.5 根据所要验证的运算,写入用SIMD指令进行数组读取和操作的语句;
2.3.6 结果比较语句以及根据比较结果跳转到相应自陷语句的汇编语句;
2.3.7 自陷语句;
2.3.8 数据段声明语句,数据对齐方式为“.align 32”;
2.3.9 foo.s文件中读取的src1、src2、golden_result、result数组数据段的内容。
采用本发明可以达到以下技术效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110056614.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种海上平台用折臂式电缆移动装置
- 下一篇:具有防冻功能的管道堵漏装置