DSP汇编语言程序验证方法及其装置制造方法及图纸

技术编号:2825884 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种DSP汇编语言程序验证方法及其装置。该DSP汇编语言程序验证装置(100)具有:转换器(2),其用于将DSP汇编语言程序(S0)转换成高级语言的等效功能模型(Sm);高级语言验证单元(2),其用于验证上述高级语言的等效功能模型(Sm)。该DSP汇编语言程序验证方法包括:转换步骤,用于将DSP汇编语言程序转换成高级语言的等效功能模型(Sm);验证步骤,用于验证上述高级语言的等效功能模型(Sm)。

【技术实现步骤摘要】

本专利技术涉及一种DSP技术,尤其是涉及一种DSP技术中对于汇编语言程序的验证方法及其装置。
技术介绍
目前,在嵌入式系统中,DSP(Digital Signal Processor:数据信号处理器)的应用非常广泛。为提高执行效率,往往都使用汇编语言来进行DSP程序编程。而且,对汇编语言程序进行验证时,通常都通过手工编写汇编语言测试程序。由于汇编语言编写难度大,所以往往很难编写出复杂且功能强大的汇编语言测试程序,从而难以发现一些潜在的问题。许多问题往往只能在板级集成测试中、甚至系统级的测试中才能被发现,从而严重影响产品的开发进度。图6示出了传统的DSP汇编语言程序验证方法。如图6所示,首先,手动生成两组测试向量,该两组测试向量分别为对应于待验证的DSP汇编语言程序的输入的第一测试向量和对应于该程序的输出的第二测试向量(步骤S101)。接着,将第一测试向量送入到待验证的DSP汇编语言程序中(步骤S102)。然后,采集执行DSP汇编语言程序的输出结果(步骤S103),并比较判断该DSP汇编语言程序的输出结果和预先生成的第二测试向量是否相同(步骤S104)。如果两者完全相同(在步骤S104中为“是”),则输出“该DSP汇编语言程序正确”(步骤S105),并结束验证。如果两者不相同(在步骤S104中为“否”),则输出“该DSP汇编语言程序不正确”(步骤S106),并结束验证。在这种验证方法中,由于各测试向量是手动预先生成的,而且涉及测试向量的比较判断往往也是手工完成的,所以这种验证方法的执行效率低,也不适合执行大量的测试,因此难以达到足够的覆盖率。
技术实现思路
-->因此,本专利技术是鉴于上述问题而提出的,其目的在于,提供一种对DSP汇编语言程序能够进行详尽的自动化随机测试的功能强大且高效率及高覆盖率的DSP汇编语言程序验证方法及其装置。为了实现上述目的,本专利技术提供一种DSP汇编语言程序验证装置,具有:转换器,其用于将DSP汇编语言程序转换成高级语言的等效功能模型;高级语言验证装置,其用于验证上述高级语言的等效功能模型。而且,上述DSP汇编语言程序验证装置中的转换器具有:文本识别单元,其用于对DSP汇编语言程序中的各源代码分别进行文本识别处理;基本要素提取单元,其从文本识别处理后的各源代码中提取各个基本要素;中间代码生成单元,其根据上述基本要素提取单元所提取的各源代码的基本要素,分别生成与各源代码对应的各个中间代码;链接单元,其将上述各个中间代码链接到一起,形成一个统一的最终中间代码;高级语言代码生成单元,其将链接单元链接生成的最终中间代码映射到高级语言上,从而生成以高级语言表示且能够实现原DSP汇编语言程序的功能的高级语言的等效功能模型。还有,上述DSP汇编语言程序验证装置,还具有语法分析单元,该语法分析单元基于该DSP汇编语言的语法,对文本识别单元识别处理后的各源代码进行语法分析,判断各源代码的合法性,并将判断结果为合法的各源代码输出给上述基本要素提取单元。另外,上述DSP汇编语言程序验证装置中的高级语言验证单元具有:存储模块,其用于存储各种信息;测试约束定义模块,其预先定义上述高级语言的等效功能模型的测试约束,并存储在上述存储模块中;测试向量生成模块,其根据测试约束定义模块所定义的测试约束,自动随机生成测试向量并分别调入到来自上述转换器的高级语言的等效功能模型和预先准备的参考模型中,然后将所生成的测试向量存储在上述存储模块中,其中,上述该参考模型是用于通过其输出来判断高级语言的等效功能模型的输出的正确性的模型;比较判断控制模块,其对于高级语言的等效功能模型和参考模型的执行结果进行比较,并判断两者是否相同,如果两者相同,则判断为高级语言的等效功能模型这次测试合格,并将上述执行结果存储在存储模块中,然后给测试向量生成模块下达指令,以使其继续生成另一组随机的测试向量,重复执行上述过程,直到判断为随机生成且测试合格的测试向量的数目达到测试-->约束的覆盖率要求为止,若判断为已达到覆盖率要求,则下达输出指令;输出模块,其若从比较判断控制模块接收到输出指令,则从存储单元中读取所存储的各种测试相关信息并输出给用户。本专利技术提供还提供一种DSP汇编语言程序验证方法,其特征在于,包括:转换步骤,用于将DSP汇编语言程序转换成高级语言的等效功能模型;验证步骤,用于验证上述高级语言的等效功能模型。而且,上述DSP汇编语言程序验证方法中的上述转换步骤包括:文本识别步骤,对DSP汇编语言程序中的各源代码分别进行文本识别处理;基本要素提取步骤,从识别处理后的各源代码中分别提取这些源代码的各个基本要素;中间代码生成步骤,根据上述基本要素提取步骤所提取的各源代码的基本要素,分别生成与各源代码对应的各个中间代码;链接步骤,将上述各个中间代码链接到一起,形成一个统一的最终中间代码;高级语言代码生成步骤,将链接单元链接生成的最终中间代码映射到高级语言上,从而生成以高级语言表示且能够实现原DSP汇编语言程序的功能的高级语言的等效功能模型。还有,上述DSP汇编语言程序验证方法在文本识别步骤之后且在基本要素提取步骤之前,还包括语法分析步骤,该语法分析步骤基于该DSP汇编语言的语法,对文本识别单元识别处理后的各源代码进行语法分析,判断各源代码的合法性,若判断结果为合法,则进入基本要素提取步骤。另外,上述DSP汇编语言程序验证方法中的上述验证步骤包括:测试约束定义步骤,预先定义并存储上述高级语言的等效功能模型的测试约束;测试向量生成步骤,根据测试约束定义步骤所定义的测试约束,自动随机生成测试向量,并进行存储;测试向量调入步骤,将测试向量生成步骤所生成的测试向量分别调入到在上述的转换步骤所生成的高级语言的等效功能模型和预先准备的参考模型中,然后对所生成的测试向量进行存储,其中,上述该参考模型是用于通过其输出来判断高级语言的等效功能模型的输出的正确性的模型;比较判断控制步骤,对于高级语言的等效功能模型和参考模型的执行结果进行比较,并判断两者是否相同,如果两者相同,则判断为高级语言的等效功能模型这次测试合格,并对上述执行结果进行存储,然后给测试向量生成模块下达指令,以使其继续生成另一组随机的测试向量,重复执行上-->述过程,直到判断为随机生成且测试合格的测试向量的数目达到测试约束的覆盖率要求为止;输出步骤,若判断为已达到覆盖率要求,则读取所存储的各种测试相关信息并输出给用户。上述高级语言可以采用e语言。如上所述,本专利技术在执行验证处理过程中,测试向量的生成、比较判断、存储等都是由装置本身自动进行的,所以测试的执行效率明显高于手工操作的现有技术,实现了验证DSP汇编语言程序的自动化、随机化,因此适于进行大量复杂的测试,从而实现了对DSP汇编语言程序能够进行详尽的自动化随机测试的功能强大且高效率及高覆盖率的DSP汇编语言程序验证方法及其装置。若采用本专利技术的DSP汇编语言程序验证方法及其装置,则能够减少在随后的集成测试中的潜在问题。附图说明图1是本专利技术的DSP汇编语言程序验证装置的结构示意图。图2是本专利技术的DSP汇编语言程序验证装置中的转换器的结构框图。图3是本专利技术的DSP汇编语言程序验证装置中的高级语言验证单元的结构框图。图4是本专利技术的DSP汇编语言程序验证本文档来自技高网...

【技术保护点】
一种DSP汇编语言程序验证装置,其特征在于,具有:转换器,其用于将DSP汇编语言程序转换成高级语言的等效功能模型;高级语言验证单元,其用于验证上述高级语言的等效功能模型。

【技术特征摘要】
1.一种DSP汇编语言程序验证装置,其特征在于,具有:转换器,其用于将DSP汇编语言程序转换成高级语言的等效功能模型;高级语言验证单元,其用于验证上述高级语言的等效功能模型。2.如权利要求1所述的DSP汇编语言程序验证装置,其特征在于,上述转换器具有:文本识别单元,其用于对DSP汇编语言程序中的各源代码分别进行文本识别处理;基本要素提取单元,其从文本识别处理后的各源代码中提取各个基本要素;中间代码生成单元,其根据上述基本要素提取单元所提取的各源代码的基本要素,分别生成与各源代码对应的各个中间代码;链接单元,其将上述各个中间代码链接到一起,形成一个统一的最终中间代码;高级语言代码生成单元,其将链接单元链接生成的最终中间代码映射到高级语言上,从而生成以高级语言表示且能够实现原DSP汇编语言程序的功能的高级语言的等效功能模型。3.如权利要求2所述的DSP汇编语言程序验证装置,其特征在于,还具有语法分析单元,该语法分析单元基于该DSP汇编语言的语法,对文本识别单元识别处理后的各源代码进行语法分析,判断各源代码的合法性,并将判断结果为合法的各源代码输出给上述基本要素提取单元。4.如权利要求1至3中任一项所述的DSP汇编语言程序验证装置,其特征在于,上述高级语言是e语言。5.如权利要求1至3中任一项所述的DSP汇编语言程序验证装置,其特征在于,上述高级语言验证单元具有:存储模块,其用于存储各种信息;测试约束定义模块,其预先定义上述高级语言的等效功能模型的测试约束,并存储在上述存储模块中;测试向量生成模块,其根据测试约束定义模块所定义的测试约束,自动随机生成测试向量并分别调入到来自上述转换器的高级语言的等效功能模型和预先准备的参考模型中,然后将所生成的测试向量存储在上述存储模块中,其中,上述该参考模型是用于通过其输出来判断高级语言的等效功能模型的输出的正确性的模型;比较判断控制模块,其对于高级语言的等效功能模型和参考模型的执行结果进行比较,并判断两者是否相同,如果两者相同,则判断为高级语言的等效功能模型这次测试合格,并将上述执行结果存储在存储模块中,然后给测试向量生成模块下达指令,以使其继续生成另一组随机的测试向量,重复执行上述过程,直到判断为随机生成且测试合格的测试向量的数目达到测试约束的覆盖率要求为止,若判断为已达到覆盖率要求,则下达输出指令;输出模块,其若从比较判断控制模块接收到输出指令,则从存储单元中读取所存储的各...

【专利技术属性】
技术研发人员:刘昕
申请(专利权)人:北京天碁科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1