System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种时钟驱动的软硬件联合仿真方法、系统及存储介质技术方案_技高网

一种时钟驱动的软硬件联合仿真方法、系统及存储介质技术方案

技术编号:40348542 阅读:6 留言:0更新日期:2024-02-09 14:33
本发明专利技术涉及芯片技术领域,具体公开了一种时钟驱动的软硬件联合仿真方法、系统及存储介质,其中系统包括时钟驱动软件模型,连接控制模块,软硬件交互模块和硬件设计模块;连接控制模块用于控制时钟驱动软件模型,硬件设计模块和软硬件交互模块的启动和连接;软硬件交互模块包括软件到硬件方向的N个接口模块SW2HW_INF,以及M个硬件到软件方向的接口模块HW2SW_INF,接口模块SW2HW_INF和接口模块HW2SW_INF用于在时钟驱动软件模型和硬件设计模块之间传输数据。采用本发明专利技术的技术方案能够将软件设计的仿真模型与硬件设计联合仿真,统一仿真环境,提升硬件调试效率,降低软件开发人员开发难度。

【技术实现步骤摘要】

本专利技术涉及芯片,特别涉及一种时钟驱动的软硬件联合仿真方法、系统及存储介质


技术介绍

1、随着芯片制造工艺的提升,芯片的规模越来越大,设计难度也越来越高,因此芯片的仿真验证也越来越复杂。通常芯片的仿真验证需要硬件设计人员和软件建模人员相互配合进行。一般硬件的设计调试环境使用vcs等仿真器,而软件建模人员则通常在c语言等高级语言环境下工作。同时硬件的设计一般是基于时钟驱动的,而软件建模则习惯使用事件驱动的设计思维。

2、上述软硬件开发人员由于开发环境不同和设计思维不同,一方面降低了硬件设计迭代的效率,增加了调试难度;另一方面,也增加了软件设计人员的学习成本和集成难度。因此,当芯片规模越来越大,功能越来越复杂已成为趋势时,开发一套软硬件相结合的开发和调试环境是提升芯片开发效率的关键手段。

3、在专利“集成电路验证方法、代码生成方法、系统、设备和介质”(cn 113343629 a)中公开了一种在system verilog(sv)语言环境中调试c语言的方法和系统。在c语言中的生成存储被存储在哈希数组中的通用数据包的通用类;在c语言中生成对哈希数组的控制函数;在c语言中生成定义c语言仿真验证模型计算的回调队列,以便调用控制函数,通用类中还包括回调队列接口,被生成为自动运行用于集成电路验证的回调队列;在c语言中生成c语言dpi和在sv语言中生成sv语言dpi,使得两个dpi交换数据。该专利提高它们之间交互的效率能够降低芯片验证成本,加速验证的收敛;但该专利并没有对软件模型进行统一的开发组件规范说明,缺乏时钟驱动的软硬件接口,难以高效的对软硬件进行整合。

4、在专利“一种用python建立参考模型提高自动化验证平台效率的方法”(cn108829382a)中公开了一种用python建立参考模型提高自动化验证平台效率的方法。该专利通过c程序作为中间层,通过c/python api使得c程序可以调用python参考模型,再通过systemverilog dpi调用中间层的c接口程序,从而实现systemverilog验证平台调用python的目的。该专利技术使得可以用python语言编写参考模型,并在验证平台中实时动态地调用python参考模型。使得python程序可以作为验证平台中的参考模型,大大提升了验证的效率和质量,减少了验证成本;但是该专利技术使用的python语言在大规模复杂模型中存在执行效率不如c语言的问题,同时也缺少一种时钟驱动的软件模型开发标准,难以高效的将软硬件整合。

5、在专利“一种快速定位芯片验证中bug的方法”(cn 114330223 a)中公开了一种利用dpi接口进行快速debug的方法。该专利技术根据设计内部数据包格式编写数据采集逻辑,将节点监测组件编写的数据采集通过dpi-c接口形式,将算法封装成一个接口函数送到验证平台里,以把算法编译成执行文件,平台编译的时候把库文件装载进去,把整个设计进行分段比对。该专利技术可以帮助设计人员快速准确的确定缺陷的位置,极大地提高了验证效率,加快验证收敛速度;但是该专利技术缺乏软件模型,同时软硬件开发环境不统一,尽管可以提升定位bug的效率,但是难以解决软硬件协同开发效率低下的问题。

6、综上,现有软硬件仿真方案通常采用作为独立开展的两部分工作的技术路线,这样的技术路线一方面会影响硬件设计人员对硬件设计的迭代速度,降低硬件调试效率;另一方面也会要求软件设计人员需要较为清晰的了解硬件工作原理,提高了软件设计人员的学习和开发难度。

7、为此,需要一种将软件设计的仿真模型与硬件设计联合仿真,统一仿真环境,提升硬件调试效率,降低软件开发人员开发难度的时钟驱动的软硬件联合仿真方法、系统及存储介质。


技术实现思路

1、本专利技术的目的之一在于,提供了一种时钟驱动的软硬件联合仿真系统,能够将软件设计的仿真模型与硬件设计联合仿真,统一仿真环境,提升硬件调试效率,降低软件开发人员开发难度。

2、为了解决上述技术问题,本申请提供如下技术方案:

3、一种时钟驱动的软硬件联合仿真系统,包括时钟驱动软件模型,连接控制模块,软硬件交互模块和硬件设计模块;

4、连接控制模块用于控制时钟驱动软件模型,硬件设计模块和软硬件交互模块的启动和连接;

5、软硬件交互模块包括软件到硬件方向的n个接口模块sw2hw_inf,以及m个硬件到软件方向的接口模块hw2sw_inf,接口模块sw2hw_inf和接口模块hw2sw_inf用于在时钟驱动软件模型和硬件设计模块之间传输数据。

6、进一步,所述连接控制模块用于编译硬件设计模块,等待硬件设计模块与各个接口模块hw2sw_inf和接口模块sw2hw_inf连接;

7、还用于编译软硬件交互模块中的n个接口模块sw2hw_inf,等待与时钟驱动软件模型和硬件设计模块连接;

8、还用于编译启动时钟驱动软件模型,将时钟驱动软件模型与m个接口模块hw2sw_inf和n个接口模块sw2hw_inf分别相连;

9、还用于编译启动硬件设计模块,将硬件设计模块与m个接口模块hw2sw_inf和n个接口模块sw2hw_inf分别相连;启动仿真。

10、进一步,所述时钟驱动软件模型包括时钟触发模块,f个子功能模块和一个模型调度队列;

11、f个子功能模块按照队列的结构存储在模型调度队列中;

12、时钟驱动软件模型通过时钟触发模块接收来自硬件设计模块的时钟驱动,在每个时钟周期内,轮询一遍模型调度队列中的子功能模块,并为每个子功能模块提供时钟驱动,供子功能模块执行相应的功能。

13、进一步,所述每个子功能模块包括数据读取模块,任务执行模块和数据输出模块;

14、每个子功能模块还包括r个信道channel_rx和t个信道channel_tx;

15、每个信道channel_rx用于存储其他子功能模块发送来的数据分组pkt_in;

16、每个信道channel_tx用于存储子功能模块将要发送给其他子功能模块的数据分组pkt_out;

17、每个数据分组pkt_in和数据分组pkt_out包括控制字段hdr,载荷字段pld和时间戳字段stp;

18、hdr字段用于控制数据分组pkt_in和数据分组pkt_out的目的子功能模块,记录源头子功能模块;

19、pld字段用于记录数据;

20、stp字段用于记录数据分组pkt_in和数据分组pkt_out生成的时钟周期birth_t,以及上一级子功能模块调度的时钟周期sche_t。

21、进一步,所述软硬件交互模块中,接口模块sw2hw_inf中按照队列的格式存储数据分组pkt_sw,数据分组pkt_sw由时钟驱动软件模型生成,通过接口模块sw2hw_inf解析为硬件设计模块可用的硬件信号值,传递给硬件设计模块dut执行;

22、接口模块hw2sw_本文档来自技高网...

【技术保护点】

1.一种时钟驱动的软硬件联合仿真系统,其特征在于,包括时钟驱动软件模型,连接控制模块,软硬件交互模块和硬件设计模块;

2.根据权利要求1所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述连接控制模块用于编译硬件设计模块,等待硬件设计模块与各个接口模块HW2SW_INF和接口模块SW2HW_INF连接;

3.根据权利要求2所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述时钟驱动软件模型包括时钟触发模块,F个子功能模块和一个模型调度队列;

4.根据权利要求3所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述每个子功能模块包括数据读取模块,任务执行模块和数据输出模块;

5.根据权利要求4所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述软硬件交互模块中,接口模块SW2HW_INF中按照队列的格式存储数据分组PKT_SW,数据分组PKT_SW由时钟驱动软件模型生成,通过接口模块SW2HW_INF解析为硬件设计模块可用的硬件信号值,传递给硬件设计模块DUT执行;

6.一种时钟驱动的软硬件联合仿真方法,其特征在于,使用权利要求1-5任一项所述的系统,包括如下内容:

7.根据权利要求6所述的时钟驱动的软硬件联合仿真方法,其特征在于:所述步骤S1中,连接控制模块具体控制步骤包括:

8.根据权利要求7所述的时钟驱动的软硬件联合仿真方法,其特征在于:所述步骤S2中,子功能模块在每个时钟周期t执行步骤包括:

9.根据权利要求8所述的时钟驱动的软硬件联合仿真方法,其特征在于:所述步骤S3中,接口模块SW2HW_INF在每个时钟周期t执行步骤包括:

10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6-10任一项方法的步骤。

...

【技术特征摘要】

1.一种时钟驱动的软硬件联合仿真系统,其特征在于,包括时钟驱动软件模型,连接控制模块,软硬件交互模块和硬件设计模块;

2.根据权利要求1所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述连接控制模块用于编译硬件设计模块,等待硬件设计模块与各个接口模块hw2sw_inf和接口模块sw2hw_inf连接;

3.根据权利要求2所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述时钟驱动软件模型包括时钟触发模块,f个子功能模块和一个模型调度队列;

4.根据权利要求3所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述每个子功能模块包括数据读取模块,任务执行模块和数据输出模块;

5.根据权利要求4所述的时钟驱动的软硬件联合仿真系统,其特征在于:所述软硬件交互模块中,接口模块sw2hw_inf中按照队列的格式存储数据分组pkt_sw,数据分组pkt...

【专利技术属性】
技术研发人员:姜涛元国军王展张佩珩杨帆
申请(专利权)人:中科苏州智能计算技术研究院
类型:发明
国别省市:

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

1