一种软硬件协同设计的验证方法和装置制造方法及图纸

技术编号:14874611 阅读:141 留言:0更新日期:2017-03-23 22:17
本发明专利技术适用于集成电路技术领域,提供了一种软硬件协同设计的验证方法,以解决纯软件运行方式处理时间长,并且限制了CPU运行效率的问题。所述方法包括:读取待测试数据;对所述待测试数据进行硬件运算,获取运算结果;将所述运算结果与预置结果进行对比,并输出对比结果,所述对比结果用于验证软硬件协同设计的准确性。通过本发明专利技术,将可综合部分映射到特殊硬件元件来进行硬件加速,从而减少运行时间,提高CPU的运行效率,减轻CPU的运行负担。

【技术实现步骤摘要】

本专利技术涉及集成电路
,尤其涉及一种软硬件协同设计的验证方法和装置
技术介绍
硬件/软件协同设计已成为当今超大规模集成电路(VeryLargeScaleIntegration,VLSI)设计中极其重要的环节。由于集成电路(IntegratedCircuit,IC)晶体管数量的增长势不可挡,大多数的IC目前含微型处理器、存储器、接口和专用的硬件加速器,但是提供单一的知识产权核(intellectualpropertycore,IP核)不再足以应对不断增长的片上系统(SystemonaChip,SoC)设计和集成挑战,于是出现了可配置片上系统(ConfigurableSystemonaChip,CSoC)。目前,进行硬件/软件协同设计存在的主要问题是很多基准套件,都只停留在软件开发部分,即只是把可综合部分和不可综合部分用主函数连接起来用纯软件方式运行。纯软件运行会花费大量的时间进行数据处理和运算,限制中央处理器(CentralProcessingUnit,CPU)的运行效率,增加CPU的运行负担。
技术实现思路
本专利技术的目的在于提供一种软硬件协同设计的验证方法和装置,旨在解决现有纯软件方式运行运行时间长,并且限制CPU运行效率,增加CPU运行负担的问题。本专利技术第一方面,提供一种软硬件协同设计的验证方法,包括:读取待测试数据;对所述待测试数据进行硬件运算,获取运算结果;将所述运算结果与预置结果进行对比,并输出对比结果,所述对比结果用于验证软硬件协同设计的准确性。本专利技术第二方面,提供一种软硬件协同设计的验证装置,包括:读取模块,用于读取待测试数据;处理模块,用于对所述待测试数据进行硬件运算,获取运算结果;对比输出模块,用于将所述运算结果与预置结果进行对比,并输出对比结果,所述对比结果用于验证软硬件协同设计的准确性。本专利技术与现有技术相比存在的有益效果是:本专利技术提供的技术方案通过将待测试数据发送到特殊硬件元件来进行硬件加速(Hardwareacceleration),减少了运行时间,并使CPU可以有时间处理其他任务,提高了CPU的运行效率,减轻了CPU的负担。附图说明图1是本专利技术实施例一提供的软硬件协同设计的验证方法的流程图;图2是本专利技术实施例二提供的软硬件协同设计的验证方法的流程图;图3是本专利技术实施例三提供的软硬件协同设计的验证方法的流程图;图4是本专利技术实施例三提供的软硬件协同设计的验证方法中基准套件结构框架示意图;图5是专利技术实施例三提供的软硬件协同设计的验证方法中Sobel滤波器的示意图;图6是专利技术实施例三提供的软硬件协同设计的验证方法中对基准的各种不同IP核采用纯软件电路版本和本专利技术基准电路版本的运行时间对比图;图7是本专利技术实施例四提供的软硬件协同设计的验证装置的组成示意图;图8是本专利技术实施例五提供的软硬件协同设计的验证装置的组成示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合具体附图对本专利技术的实现进行详细的描述。实施例一:图1示出了本专利技术实施例一提供的软硬件协同设计的验证方法的流程,具体包括步骤S101至S103,详述如下:S101、读取待测试数据。测试设备读取待测试数据,该待测试数据可以但不限于包括:文档数据、图片数据。通过运行待测试数据,根据待测试数据的运行结果,可以对硬件加速运算的正确性进行测试。S102、对待测试数据进行硬件运算,获取运算结果。硬件加速通常比软件算法的效率要高,因此利用硬件模块来代替软件算法以充分利用硬件所固有的快速特性。硬件模块为将标准检查程序(Benchmark)映射到CSoC的可重配置结构,将读取到的待测试数据发送到硬件模块进行运算,并获取硬件模块返回的运算结果。S103、将运算结果与预置结果进行对比,并输出对比结果,对比结果用于验证软硬件协同设计的准确性。预置结果是待测试数据通过纯软件方式运行后的黄金输出结果,黄金输出结果是采用纯软件方式模拟出的硬件处于性能最佳状态时运行待测试数据可以获得的运行结果。将步骤S102得到的运算结果与黄金输出结果进行对比,判断二者的误差是否超过预置的误差范围,以判断硬件运算后输出的运算结果是否正确,从而验证软硬件协同设计的准确性。若步骤S102得到的运算结果与黄金输出结果的误差不超过预置的误差范围,则可以判断硬件运算后输出的运算结果正确,软硬件协同设计具有较高的准确性,符合预期;否则,判断硬件运算后输出的运算结果不正确,软硬件协同设计的准确性不高,存在缺陷,需要修正。本实施例中,通过将待测试数据发送到硬件模块进行硬件加速,减少了运行时间,并使CPU可以有时间处理其他任务,提高了CPU的运行效率,减轻了CPU的负担。实施例二:图2示出了本专利技术实施例二提供的软硬件协同设计的验证方法的流程,具体包括步骤S201至S203,详述如下:S201、读取待测试数据。测试设备读取待测试数据,该待测试数据可以但不限于包括:文档数据、图片数据。通过运行待测试数据,根据待测试数据的运行结果,可以对硬件加速运算的正确性进行测试。S202、通过基准套件对待测试数据进行硬件运算,获取运算结果。基准套件是进行基准测试(BenchmarkTest,BMT)的测试套件,通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试,并将服务于同一个测试目的或同一运行环境下的一系列测试用例有机的组合起来。将基准套件直接映射到CSoC,完成对待测试数据的硬件运算,并获取硬件运算的结果。S203、将运算结果与预置结果进行对比,并输出对比结果,对比结果用于验证软硬件协同设计的准确性。预置结果是待测试数据通过纯软件方式运行后的黄金输出结果,黄金输出结果是采用纯软件方式模拟出的硬件处于性能最佳状态时运行待测试数据可以获得的运行结果。将步骤S202得到的运算结果与黄金输出结果进行对比,判断二者的误差是否超过预置的误差范围,以判断硬件运算后输出的运算结果是否正确,从而验证软硬件协同设计的准确性。若步骤S202得到的运算结果与黄金输出结果的误差不超过预置的误差范围,则可以判断硬件运算后输出的运算结果正确,软硬件协同设计具有较高的准确性,符合预期;否则,判断硬件运算后输出的运算结果不正确,软硬件协同设计的准确性不高,存在缺陷,需要修正。本实施例中,通过直接映射到CSoC的基准套件完成对待测试数据的硬件运算,实现硬件加速,减少了运行时间,并使CPU可以有时间处理其他任务,提高了CPU的运行效率,减轻了CPU的负担。实施例三:图3示出了本专利技术实施例三提供的软硬件协同设计的验证方法的流程,具体包括S301至S303,详述如下:S301、读取待测试数据。测试设备读取待测试数据,该待测试数据可以但不限于包括:文档数据、图片数据。通过运行待测试数据,根据待测试数据的运行结果,可以对硬件加速运算的正确性进行测试。S302、通过基准套件的不可综合部分控制基准套件的可综合部分,执行对待测试数据的硬件运算,获取运算结果。基准套件包括不可综合部分和可综合部分。具体地,不可综合部分通本文档来自技高网...
一种软硬件协同设计的验证方法和装置

【技术保护点】
一种软硬件协同设计的验证方法,其特征在于,包括:读取待测试数据;对所述待测试数据进行硬件运算,获取运算结果;将所述运算结果与预置结果进行对比,并输出对比结果,所述对比结果用于验证软硬件协同设计的准确性。

【技术特征摘要】
1.一种软硬件协同设计的验证方法,其特征在于,包括:读取待测试数据;对所述待测试数据进行硬件运算,获取运算结果;将所述运算结果与预置结果进行对比,并输出对比结果,所述对比结果用于验证软硬件协同设计的准确性。2.根据权利要求1所述的软硬件协同设计的验证方法,其特征在于,所述对所述待测试数据进行硬件运算包括:通过基准套件对所述待测试数据进行硬件运算。3.根据权利要求2所述的软硬件协同设计的验证方法,其特征在于,所述基准套件包括不可综合部分和可综合部分,则所述通过基准套件对所述待测试数据进行硬件运算包括:通过所述不可综合部分控制所述可综合部分执行对所述待测试数据的硬件运算。4.根据权利要求3所述的软硬件协同设计的验证方法,其特征在于,所述将所述运算结果与预置结果进行对比包括:通过所述不可综合部分执行对所述运算结果与预置结果的对比。5.根据权利要求4所述的软硬件协同设计的验证方法,其特征在于,所述不可综合部分被映射到可配置片上系统CSoC的处理器。6.根据权利要求4所述的软硬件协同设计的验证方法,其特征在...

【专利技术属性】
技术研发人员:许思源叶媲舟黎冰涂柏生
申请(专利权)人:深圳市博巨兴实业发展有限公司
类型:发明
国别省市:广东;44

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

1