一种软硬件协同仿真的验证平台及其构建方法.pdf

上传人:奻奴 文档编号:1566197 上传时间:2018-06-25 格式:PDF 页数:10 大小:1.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310082569.2

申请日:

2013.03.14

公开号:

CN103150441A

公开日:

2013.06.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/50申请日:20130314|||公开

IPC分类号:

G06F17/50

主分类号:

G06F17/50

申请人:

中山大学

发明人:

陈弟虎; 郑洪滨; 刘倾瑞; 涂玏

地址:

510275 广东省广州市新港西路135号

优先权:

专利代理机构:

广州嘉权专利商标事务所有限公司 44205

代理人:

方振昌

PDF下载: PDF下载
内容摘要

本发明公开了一种软硬件协同仿真的验证平台及其构建方法,该验证平台包括测试信息获取模块、硬件模型生成模块、软硬件接口层生成模块、第一计算模块、第二计算模块以及判断结果输出模块。该方法包括:对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译后,得到基于SystemC的周期精度的硬件模型;生成软硬件接口层;通过生成的软硬件接口层调用所述的硬件模型进而对测试信息进行处理;调用功能函数对测试信息进行处理;判断第一计算处理结果和第二计算处理结果是否一致。本发明提高了高层次综合设计的仿真验证效率,而且还能检验高层次综合工具的正确性。本发明广泛应用于系统级设计中。

权利要求书

权利要求书一种软硬件协同仿真的验证平台构建方法,其特征在于:该方法包括:
对输入的测试信息进行获取;
对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型这一步骤,其具体为:
   对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:
判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。
根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述的功能函数为基准函数或者由用户设计的功能函数。
根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。
一种软硬件协同仿真的验证平台,其特征在于:包括:
测试信息获取模块,用于对输入的测试信息进行获取;
硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
软硬件接口层生成模块,用于根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
第二计算模块,用于调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断结果输出模块,用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。
根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的功能函数为基准函数或者由用户设计的功能函数。
根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。

说明书

说明书一种软硬件协同仿真的验证平台及其构建方法
技术领域
本发明涉及数字处理技术,尤其涉及一种针对高层次综合硬件电路设计的软硬件协同仿真的验证平台及其构建方法。
背景技术
技术词解释:
Binary Decision Diagram:二叉判定图,简称为BBD
Boolean Satisfiability Problem:布尔可满足问题,简称为SAT
SystemC:其是一种能同时实现高层次的软件和硬件描述的系统级设计语言
在基于寄存器传输级(RTL)的设计中,业界通常使用基于Binary Decision Diagram(BBD)、Boolean Satisfiability Problem(SAT)等形式的验证方法来验证RTL与网表(netlist)、RTL与RTL以及网表与网表设计的等价性以确保设计的正确性。然而,随着设计的复杂性以及芯片容量的增加,基于寄存器传输级的设计已经不能满足时间到市场(time‑to‑market)的需求了,因此系统级的设计开始盛行并开始取代传统的基于寄存器传输级的设计。但是由于系统级设计与寄存器传输级设计存在许多难以克服的鸿沟,例如接口的时序差异、系统级与寄存器传输级在内部状态的差异以及操作位宽的差异,因此,基于BDD或者SAT这种静态的形式验证方法并不适用于寄存器传输级与系统级设计的等价性验证,也就是说在系统级的设计中,系统级设计与寄存器传输级设计之间的功能性等价验证平台并不完善。另外,系统级设计与寄存器传输级设计之间的功能性等价验证有助于早期地发现高层次综合工具中存在的漏洞,也有助于生成正确的硬件电路。因此一种系统级设计与寄存器传输级设计之间的功能性等价验证平台是迫切需要解决的技术问题。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能够对利用高层次综合工具设计的硬件电路进行验证的,以及软硬件协同仿真的验证平台构建方法。本发明的另一目的是提供一种能够对利用高层次综合工具设计的硬件电路进行验证的,以及软硬件协同仿真的验证平台。
本发明所采用的技术方案是:一种软硬件协同仿真的验证平台构建方法,该方法包括:
对输入的测试信息进行获取;
对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
进一步,所述对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型这一步骤,其具体为:
对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
进一步,所述判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:
判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。
进一步,所述的功能函数为基准函数或者由用户设计的功能函数。
进一步,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。
本发明所采用的另一技术方案是:一种软硬件协同仿真的验证平台,包括:
测试信息获取模块,用于对输入的测试信息进行获取;
硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
软硬件接口层生成模块,用于根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
第二计算模块,用于调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断结果输出模块,用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
进一步,所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
进一步,所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。
进一步,所述的功能函数为基准函数或者由用户设计的功能函数。
进一步,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。 
本发明的有益效果是:由于本发明的方法利用了基于SystemC的周期精度的硬件模型,以及能够自动生成软硬件接口层,因此加速了仿真的速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,另外,通过使用本发明的方法还能用以检测高层次综合工具的正确性,这样为硬件电路的设计工作节省了许多的麻烦。
本发明的另一有益效果是:由于本发明的验证平台利用了基于SystemC的周期精度的硬件模型,以及能够自动生成软硬件接口层,因此加速了验证平台的仿真速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,另外,通过使用本发明的验证平台还能够用以检测高层次综合工具的正确性,这样为硬件电路的设计工作带来了便利。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种软硬件协同仿真的验证平台构建方法的方法步骤图;
图2是本发明一种软硬件协同仿真的验证平台结构示意图。
具体实施方式
由图1所示,一种软硬件协同仿真的验证平台构建方法,该方法包括:
对输入的测试信息进行获取;
对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
进一步作为优选的实施方式,所述的功能函数为基准函数或者由用户设计的功能函数。对于所述的基准函数,其行为功能是确定无误的,而对于由用户设计的功能函数,由于其是由用户设计的,因此其行为功能不一定是确定无误的。
进一步作为优选的实施方式,所述对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型这一步骤,其具体为:
对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
进一步作为优选的实施方式,所述判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:
当高层次综合工具是设计完备无误的,并且所述的功能函数为由用户设计的功能函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,也就是说,用户设计的功能函数是有误的。例如,用户在设计功能函数时,使用了未定义的变量从而导致了未定义的行为,这样就会使得高层次综合工具不能综合出等价的电路,因此通过使用本发明来验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性,用户就能快速地了解到自己设计的功能函数是否有误的,而若有误,那么用户就会对自己设计的功能函数进行修改。由此可得,这样能够大大提高了利用高层次综合工具设计硬件电路的效率,为用户利用高层次综合工具设计硬件电路带来了极大的便利。
另外,当所述的功能函数为基准函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,而由于所述的功能函数为基准函数,并且基准函数的行为功能是准确无误的,因此,此时就能判断出高层次综合工具是有问题的。
进一步作为优选的实施方式,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。
根据上述可得的本发明方法,其具体实施的步骤如下:
S1、对输入的测试信息进行获取。
S2、对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。所述的硬件模型模拟了寄存器传输级硬件设计的行为,并且具有与寄存器传输级硬件设计一致的周期,因此所述的硬件模型可以仿真寄存器传输级硬件设计的行为。
S3、根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层,进而使软件程序能够调用所述的硬件模型。所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信,同时负责软件程序和硬件模型之间的执行调度管理,并且所述的软硬件接口层不仅可支持基本的访存操作,而且所述的软硬件接口层还能够支持高级访存操作。
另外,所述的软硬件接口层解决了软件接口与硬件接口不一样的矛盾。由于硬件接口对硬件的位数,接口的握手协议都有一定的要求,而软件的输入输出位数是基于设计语言的内置类型而定,比如C具有char(8位)、int(32位)与long long(64位)等内置类型,而且软件接口并无握手协议,因此,所述的软硬件接口层可隔离了软件与硬件通信的矛盾使得软件程序可以通过软硬件接口层来访问调用硬件模型。而所述的软硬件接口层和所述的硬件模型则组成软硬件协同仿真模型。
S4、软件程序通过生成的软硬件接口层调用所述的硬件模型,即软件程序通过运行软硬件协同仿真模型,进而对测试信息进行处理,并得到第一计算处理结果;
S5、软件程序调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果,步骤S4中所述的软件程序和步骤S5中所述的软件程序为同一软件程序;
S6、判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路实现的功能与功能函数实现的功能是一致的,即由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。而若高层次综合工具是设计完备的,并且所述的功能函数是有用户设计的,那么当第一计算处理结果和第二计算处理结果不一致时,则表明用户设计的功能函数是有误的。而若所述的功能函数为基准函数,由于基准函数是确定无误的,那么当第一计算处理结果和第二计算处理结果不一致时,则表明高层次综合工具是有问题的。
由上述可得,通过使用本发明的方法,能够加速验证平台仿真的速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,而且还能检测高层次综合工具是否存在漏洞。另外上述的步骤S1只要设置在步骤S4之前即可,也就是说上述的步骤S1可设置在步骤S3和步骤S4之间。
由图2所示,一种软硬件协同仿真的验证平台,包括:
测试信息获取模块,用于对输入的测试信息进行获取;
硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;
软硬件接口层生成模块,用于根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;
第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;
第二计算模块,用于调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;
判断结果输出模块,用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。
进一步作为优选的实施方式,所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。
进一步作为优选的实施方式,所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。
进一步作为优选的实施方式,所述的功能函数为基准函数或者由用户设计的功能函数。
当高层次综合工具是设计完备无误的,并且所述的功能函数为由用户设计的功能函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,也就是说,用户设计的功能函数是有误的。例如,用户在设计功能函数时,使用了未定义的变量从而导致了未定义的行为,这样就会使得高层次综合工具不能综合出等价的电路,因此通过使用本发明来验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性,用户就能快速地了解到自己设计的功能函数是否有误的,而若有误,那么用户就会对自己设计的功能函数进行修改。由此可得,这样能够大大提高了利用高层次综合工具设计硬件电路的效率,为用户利用高层次综合工具设计硬件电路带来了极大的便利。
另外,当所述的功能函数为基准函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,而由于所述的功能函数为基准函数,并且基准函数的行为功能是准确无误的,因此,此时就能判断出高层次综合工具是有问题的。
进一步作为优选的实施方式,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。
上述本发明的方法部分中所提到的所有技术特征均适用于本发明的系统部分中。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

一种软硬件协同仿真的验证平台及其构建方法.pdf_第1页
第1页 / 共10页
一种软硬件协同仿真的验证平台及其构建方法.pdf_第2页
第2页 / 共10页
一种软硬件协同仿真的验证平台及其构建方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种软硬件协同仿真的验证平台及其构建方法.pdf》由会员分享,可在线阅读,更多相关《一种软硬件协同仿真的验证平台及其构建方法.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103150441 A(43)申请公布日 2013.06.12CN103150441A*CN103150441A*(21)申请号 201310082569.2(22)申请日 2013.03.14G06F 17/50(2006.01)(71)申请人中山大学地址 510275 广东省广州市新港西路135号(72)发明人陈弟虎 郑洪滨 刘倾瑞 涂玏(74)专利代理机构广州嘉权专利商标事务所有限公司 44205代理人方振昌(54) 发明名称一种软硬件协同仿真的验证平台及其构建方法(57) 摘要本发明公开了一种软硬件协同仿真的验证平台及其构建方法,该验证平台包括测试信息获取模块。

2、、硬件模型生成模块、软硬件接口层生成模块、第一计算模块、第二计算模块以及判断结果输出模块。该方法包括:对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译后,得到基于SystemC的周期精度的硬件模型;生成软硬件接口层;通过生成的软硬件接口层调用所述的硬件模型进而对测试信息进行处理;调用功能函数对测试信息进行处理;判断第一计算处理结果和第二计算处理结果是否一致。本发明提高了高层次综合设计的仿真验证效率,而且还能检验高层次综合工具的正确性。本发明广泛应用于系统级设计中。(51)Int.Cl.权利要求书2页 说明书6页 附图1页(19)中华人民共和国。

3、国家知识产权局(12)发明专利申请权利要求书2页 说明书6页 附图1页(10)申请公布号 CN 103150441 ACN 103150441 A1/2页21.一种软硬件协同仿真的验证平台构建方法,其特征在于:该方法包括:对输入的测试信息进行获取;对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;调用功能函数,进而对测试信息进行处理,并得到。

4、第二计算处理结果;判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。2.根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型这一步骤,其具体为:对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。3.根据权利要求1所述。

5、一种软硬件协同仿真的验证平台构建方法,其特征在于:所述判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。4.根据权利要求1所述一种软硬件协同仿真的验证平台构建方法,其特征在于:所述的功能函数为基准函数或者由用户设计的功能函数。5.根据权利要求1所述一种软硬件协同仿真的验证平台构建方。

6、法,其特征在于:所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。6.一种软硬件协同仿真的验证平台,其特征在于:包括:测试信息获取模块,用于对输入的测试信息进行获取;硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;软硬件接口层生成模块,用于根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;第二计算模块,用于调。

7、用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;权 利 要 求 书CN 103150441 A2/2页3判断结果输出模块,用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。7.根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。8.根据权利要求6所述一种软硬件协同仿真的验证平台,其特。

8、征在于:所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。9.根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的功能函数为基准函数或者由用户设计的功能函数。10.根据权利要求6所述一种软硬件协同仿真的验证平台,其特征在于:所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。权 利 要 求 书CN 103150441 A1/6页4一种软硬件协同仿真的验证平台。

9、及其构建方法技术领域0001 本发明涉及数字处理技术,尤其涉及一种针对高层次综合硬件电路设计的软硬件协同仿真的验证平台及其构建方法。背景技术0002 技术词解释:Binary Decision Diagram:二叉判定图,简称为BBDBoolean Satisfiability Problem:布尔可满足问题,简称为SATSystemC:其是一种能同时实现高层次的软件和硬件描述的系统级设计语言在基于寄存器传输级(RTL)的设计中,业界通常使用基于Binary Decision Diagram(BBD)、Boolean Satisfiability Problem(SAT)等形式的验证方法来验证。

10、RTL与网表(netlist)、RTL与RTL以及网表与网表设计的等价性以确保设计的正确性。然而,随着设计的复杂性以及芯片容量的增加,基于寄存器传输级的设计已经不能满足时间到市场(time-to-market)的需求了,因此系统级的设计开始盛行并开始取代传统的基于寄存器传输级的设计。但是由于系统级设计与寄存器传输级设计存在许多难以克服的鸿沟,例如接口的时序差异、系统级与寄存器传输级在内部状态的差异以及操作位宽的差异,因此,基于BDD或者SAT这种静态的形式验证方法并不适用于寄存器传输级与系统级设计的等价性验证,也就是说在系统级的设计中,系统级设计与寄存器传输级设计之间的功能性等价验证平台并不完。

11、善。另外,系统级设计与寄存器传输级设计之间的功能性等价验证有助于早期地发现高层次综合工具中存在的漏洞,也有助于生成正确的硬件电路。因此一种系统级设计与寄存器传输级设计之间的功能性等价验证平台是迫切需要解决的技术问题。发明内容0003 为了解决上述技术问题,本发明的目的是提供一种能够对利用高层次综合工具设计的硬件电路进行验证的,以及软硬件协同仿真的验证平台构建方法。本发明的另一目的是提供一种能够对利用高层次综合工具设计的硬件电路进行验证的,以及软硬件协同仿真的验证平台。0004 本发明所采用的技术方案是:一种软硬件协同仿真的验证平台构建方法,该方法包括:对输入的测试信息进行获取;对由功能函数综合。

12、输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;说 明 书CN 103150441 A2/6页5判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。0005 进一步,所述对由功能函数综合输出的寄存器传输级硬件。

13、电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型这一步骤,其具体为:对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。0006 进一步,所述判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件。

14、电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。0007 进一步,所述的功能函数为基准函数或者由用户设计的功能函数。0008 进一步,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。0009 本发明所采用的另一技术方案是:一种软硬件协同仿真的验证平台,包括:测试信息获取模块,用于对输入的测试信息进行获取;硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;软硬件接口层生成模块,用于根据。

15、所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;第二计算模块,用于调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;判断结果输出模块,用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。0010 进一步,所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于S。

16、ystemC的周期精度的硬件模型。0011 进一步,所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。0012 进一步,所述的功能函数为基准函数或者由用户设计的功能函数。说 明 书CN 103150441 A3/6页60013 进一步,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。 0014 本发明的有益效果是:由于本发明的方法利用了基于SystemC的周期精度的硬。

17、件模型,以及能够自动生成软硬件接口层,因此加速了仿真的速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,另外,通过使用本发明的方法还能用以检测高层次综合工具的正确性,这样为硬件电路的设计工作节省了许多的麻烦。0015 本发明的另一有益效果是:由于本发明的验证平台利用了基于SystemC的周期精度的硬件模型,以及能够自动生成软硬件接口层,因此加速了验证平台的仿真速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,另外,通过使用本发明的验证平台还能够用以检测高层次综合工具的正确。

18、性,这样为硬件电路的设计工作带来了便利。附图说明0016 下面结合附图对本发明的具体实施方式作进一步说明:图1是本发明一种软硬件协同仿真的验证平台构建方法的方法步骤图;图2是本发明一种软硬件协同仿真的验证平台结构示意图。具体实施方式0017 由图1所示,一种软硬件协同仿真的验证平台构建方法,该方法包括:对输入的测试信息进行获取;对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;通过生成的软硬件接口层调用所述的硬件模型,进而对测试。

19、信息进行处理,并得到第一计算处理结果;调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。0018 进一步作为优选的实施方式,所述的功能函数为基准函数或者由用户设计的功能函数。对于所述的基准函数,其行为功能是确定无误的,而对于由用户设计的功能函数,由于其是由用户设计的,因此其行为功能不一定是确定无误的。0019 进一步作为优选的实施方式,所述对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得。

20、到基于SystemC的周期精度的硬件模型这一步骤,其具体为:对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。0020 进一步作为优选的实施方式,所述判断第一计算处理结果和第二计算处理结果是说 明 书CN 103150441 A4/6页7否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性这一步骤,其具体为:当高层次综合工具是设计完备无误的,并且所述的功能函数为由用户设计的功能函数时,判断第一计算处理结果和第二计算处理结果是。

21、否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,也就是说,用户设计的功能函数是有误的。例如,用户在设计功能函数时,使用了未定义的变量从而导致了未定义的行为,这样就会使得高层次综合工具不能综合出等价的电路,因此通过使用本发明来验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性,用户就能快速地了解到自己设计的功能函数是否有误的,而若有误,那么用户就会对自己设计的功能函数进行修改。由此可得,这样能够大大提高了利用高层次综合工具设计硬件电路的效率,为用户利用高层次。

22、综合工具设计硬件电路带来了极大的便利。0021 另外,当所述的功能函数为基准函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,而由于所述的功能函数为基准函数,并且基准函数的行为功能是准确无误的,因此,此时就能判断出高层次综合工具是有问题的。0022 进一步作为优选的实施方式,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。0023 根据上述可得的本发明方法,其具体实施的步骤如下:S1、。

23、对输入的测试信息进行获取。0024 S2、对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。所述的硬件模型模拟了寄存器传输级硬件设计的行为,并且具有与寄存器传输级硬件设计一致的周期,因此所述的硬件模型可以仿真寄存器传输级硬件设计的行为。0025 S3、根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层,进而使软件程序能够调用所述的硬件模型。所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信,同时负责软件程序和硬件模。

24、型之间的执行调度管理,并且所述的软硬件接口层不仅可支持基本的访存操作,而且所述的软硬件接口层还能够支持高级访存操作。0026 另外,所述的软硬件接口层解决了软件接口与硬件接口不一样的矛盾。由于硬件接口对硬件的位数,接口的握手协议都有一定的要求,而软件的输入输出位数是基于设计语言的内置类型而定,比如C具有char(8位)、int(3 2位)与long long(64位)等内置类型,而且软件接口并无握手协议,因此,所述的软硬件接口层可隔离了软件与硬件通信的矛盾使得软件程序可以通过软硬件接口层来访问调用硬件模型。而所述的软硬件接口层和所述的硬件模型则组成软硬件协同仿真模型。0027 S4、软件程序通。

25、过生成的软硬件接口层调用所述的硬件模型,即软件程序通过运行软硬件协同仿真模型,进而对测试信息进行处理,并得到第一计算处理结果;说 明 书CN 103150441 A5/6页8S5、软件程序调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果,步骤S4中所述的软件程序和步骤S5中所述的软件程序为同一软件程序;S6、判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路实现的功能与功能函数实现的功能是一致的,即由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能。

26、函数是不等价的。而若高层次综合工具是设计完备的,并且所述的功能函数是有用户设计的,那么当第一计算处理结果和第二计算处理结果不一致时,则表明用户设计的功能函数是有误的。而若所述的功能函数为基准函数,由于基准函数是确定无误的,那么当第一计算处理结果和第二计算处理结果不一致时,则表明高层次综合工具是有问题的。0028 由上述可得,通过使用本发明的方法,能够加速验证平台仿真的速度,从而极大提高了高层次综合设计中仿真验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间等价性的效率,而且还能检测高层次综合工具是否存在漏洞。另外上述的步骤S1只要设置在步骤S4之前即可,也就是说上述的步骤S1可设置在步。

27、骤S3和步骤S4之间。0029 由图2所示,一种软硬件协同仿真的验证平台,包括:测试信息获取模块,用于对输入的测试信息进行获取;硬件模型生成模块,用于对由功能函数综合输出的寄存器传输级硬件电路代码进行获取,并对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型;软硬件接口层生成模块,用于根据所述的硬件模型,进而生成与所述硬件模型相适配对应的软硬件接口层;第一计算模块,用于通过生成的软硬件接口层调用所述的硬件模型,进而对测试信息进行处理,并得到第一计算处理结果;第二计算模块,用于调用功能函数,进而对测试信息进行处理,并得到第二计算处理结果;判断结果输出模块,。

28、用于判断第一计算处理结果和第二计算处理结果是否一致,并且根据判断的结果进而验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性。0030 进一步作为优选的实施方式,所述的硬件模型生成模块用于对由功能函数经高层次综合工具综合输出的寄存器传输级硬件电路代码进行获取,并运行开源工具对获取的寄存器传输级硬件电路代码进行反编译,进而得到基于SystemC的周期精度的硬件模型。0031 进一步作为优选的实施方式,所述的判断结果输出模块用于判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存。

29、器传输级硬件电路代码生成的硬件电路与功能函数是不等价的。0032 进一步作为优选的实施方式,所述的功能函数为基准函数或者由用户设计的功能函数。0033 当高层次综合工具是设计完备无误的,并且所述的功能函数为由用户设计的功能函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,说 明 书CN 103150441 A6/6页9则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是不等价的,也就是说,用户设计的功能函数是有误的。例如,用户在设计功能函数时,使用了未定义的变量从而导致了未定义的行为,这。

30、样就会使得高层次综合工具不能综合出等价的电路,因此通过使用本发明来验证由寄存器传输级硬件电路代码生成的硬件电路与功能函数之间的等价性,用户就能快速地了解到自己设计的功能函数是否有误的,而若有误,那么用户就会对自己设计的功能函数进行修改。由此可得,这样能够大大提高了利用高层次综合工具设计硬件电路的效率,为用户利用高层次综合工具设计硬件电路带来了极大的便利。0034 另外,当所述的功能函数为基准函数时,判断第一计算处理结果和第二计算处理结果是否一致,并且当判断的结果为是时,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函数是等价的;反之,则表示由寄存器传输级硬件电路代码生成的硬件电路与功能函。

31、数是不等价的,而由于所述的功能函数为基准函数,并且基准函数的行为功能是准确无误的,因此,此时就能判断出高层次综合工具是有问题的。0035 进一步作为优选的实施方式,所述的软硬件接口层用于对系统总线和通信设备进行了模拟,使软件程序和所述的硬件模型进行通信。0036 上述本发明的方法部分中所提到的所有技术特征均适用于本发明的系统部分中。0037 以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。说 明 书CN 103150441 A1/1页10图1图2说 明 书 附 图CN 103150441 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1