[发明专利]双精度SIMD部件芯片级验证测试激励自动生成方法无效
申请号: | 201110056614.8 | 申请日: | 2011-03-09 |
公开(公告)号: | CN102129407A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 李春江;易会战;赵克佳;杨灿群;黄春;王锋;杜云飞;陈娟;彭林 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种双精度SIMD部件芯片级验证测试激励自动生成方法,目的是提出一种自动生成双精度SIMD部件芯片级验证测试激励的方法。技术方案为:先根据所要验证的双精度数据运算类型以及数组长度scale,构造进行双精度数组操作的标准C语言程序foo.c,然后基于foo.c以及所要验证的运算,构造作为测试激励的汇编语言源程序simd.s。采用本发明可以自动生成一个汇编语言测试激励simd.s,将simd.s加载到芯片模拟环境中运行,可以执行双精度SIMD指令对处理器的设计进行芯片级验证。本发明可以编程实现,多次运行该程序,输入不同的运算类型和数组长度,即可自动生成多种测试激励,可以极大地减少开发面向双精度SIMD部件进行芯片级验证所需的测试激励的时间。 | ||
搜索关键词: | 精度 simd 部件 芯片级 验证 测试 激励 自动 生成 方法 | ||
【主权项】:
一种双精度SIMD部件芯片级验证测试激励自动生成方法,其特征在于包括以下步骤:第一步,根据所要验证的双精度数据运算类型以及数组长度scale,构造进行双精度数组操作的标准C语言程序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数组声明中的初始数据根据所要验证的运算类型对src1和src2数组进行运算得到;1.2.3 C程序主函数代码:包括对两个输入数组元素进行运算并将结果写入result数组的语句;对golden_result数组元素和result数组元素进行比较并当结果不同时报出警告信息的程序语句;第二步,基于foo.c以及所要验证的运算,构造作为测试激励的汇编语言源程序simd.s,方法是:2.1 用面向目标处理器的编译器编译foo.c程序,用“‑S”编译选项控制编译器将foo.c编译为汇编语言程序文本foo.s;2.2 创建simd.s文件;2.3 向simd.s文件中写入如下内容:2.3.1 包含测试激励公共头文件的代码;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数组数据段的内容。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110056614.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种海上平台用折臂式电缆移动装置
- 下一篇:具有防冻功能的管道堵漏装置