一种封装标准协同仿真建模接口的方法和装置与流程

文档序号:11830752阅读:261来源:国知局
一种封装标准协同仿真建模接口的方法和装置与流程

本发明涉及软硬件协同仿真技术领域,特别是涉及一种封装标准协同仿真建模接口的方法和一种封装标准协同仿真建模接口的装置。



背景技术:

随着集成电子电路技术的不断发展,传统的硬件仿效和软件仿真技术已经跟不上现有的大规模集成电子电路设计行业的发展。现有的大规模集成电子电路设计行业花费在仿真上的时间和成本不断增加,迫切需要一种能克服传统的硬件仿效和软件仿真技术缺点的新技术。软硬件协同仿真技术的不断进步,正好克服了传统的硬件仿效和软件仿真技术的缺点,使得仿真时间和成本大为降低。

目前,大规模集成电子电路设计行业普遍采用硬件描述语言设计电子电路。但是,现有的软硬件协同仿真技术还存在以下缺点:没有统一的语言规范,各种硬件描述语言容易造成混乱;接口类型不规范,各个大规模集成电子电路设计不能统一对接SCE-MI(Standard Co-Emulation Modeling Interface,标准协同仿真建模接口)协议标准,导致在推广软硬件协同仿真技术的过程中面临诸多难题。

例如,由于软硬件协同仿真技术需要在更高的抽象层次描述和设计电路,bsv(bluespec-system-verilog)语言作为一种可综合的高级硬件描述语言,在统一接口类型和规范化软硬件协同仿真技术方面,具有其他高级硬件描述语言不具有的优势。但是,由于目前使用现有高级硬件描述语言的人数众多,如果改用bsv语言,又会带来研发成本的增加。



技术实现要素:

鉴于上述问题,本发明实施例的目的在于提供一种封装标准协同仿真建模接口的方法和一种封装标准协同仿真建模接口的装置,以解决现有的软硬件协同仿真技术存在没有统一的语言规范和接口类型不规范的问题。

为了解决上述问题,本发明实施例公开了一种封装标准协同仿真建模接口的方法,包括以下步骤:接收用户待测试设计中的顶层文件,获取所述顶层文件中的各接口信息,并发送所述各接口信息;所述用户待测试设计中的顶层文件通过硬件描述语言设计;接收所述各接口信息,将所述各接口信息解析为对应在bsv语言中表示的各端口信息,根据所述各端口信息实例化所述用户待测试设计,将实例化的所述用户待测试设计封装成对应的bsv文件。

优选地,所述获取所述顶层文件中的各接口信息,并发送所述各接口信息,包括以下步骤:通过第一脚本文件获取所述顶层文件中的所述各接口信息,并发送所述各接口信息;接收所述各接口信息,生成包括所述各接口信息的接口信息文件,并发送所述接口信息文件。

优选地,所述接收所述各接口信息,将所述各接口信息解析为对应在bsv语言中表示的各端口信息,根据所述各端口信息实例化所述用户待测试设计,将实例化的所述用户待测试设计封装成对应的bsv文件,包括以下步骤:接收所述接口信息文件,提取所述接口信息文件中所述各接口信息,生成所述各接口信息中每个所述接口信息对应在bsv语言中表示的各端口信息,发送所述各端口信息;接收所述各端口信息,根据所述各端口信息实例化用户待测试设计中的各模块名称和各接口之间的连接关系,将实例化的所述用户待测试设计封装成对应的bsv文件。

优选地,所述提取所述接口信息文件中所述各接口信息,生成所述各接口信息中每个所述接口信息对应在bsv语言中表示的各端口信息,包括以下步骤:通过第二脚本文件解析所述接口信息文件,提取所述接口信息文件中所述各接口信息,发送所述各接口信息;所述各接口信息包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息和输入输出信号接口信息;接收所述时钟信号接口信息,生成所述时钟信号接口信息对应在bsv语言中表示的时钟信号端口信息;接收所述复位信号接口信息,生成所述复位信号接口信息对应在bsv语言中表示的复位信号端口信息;接收所述握手信号接口信息,生成所述握手信号接口信息对应在bsv语言中表示的握手信号端口信息;接收所述存储器信号接口信息,生成所述存储器信号接口信息对应在bsv语言中表示的存储器信号端口信息;接收所述输入输出信号接口信息,生成所述输入输出信号接口信息对应在bsv语言中表示的输入输出信息端口信息。

具体地,所述端口信息包括端口名称和端口参数。

为了解决上述问题,本发明实施例还公开了一种封装标准协同仿真建模接口的装置,包括:接口信息获取模块,用于接收用户待测试设计中的顶层文件,获取所述顶层文件中的各接口信息,并发送所述各接口信息;所述用户待测试设计中的顶层文件通过硬件描述语言设计;bsv转化模块,用于接收所述各接口信息,将所述各接口信息解析为对应在bsv语言中表示的各端口信息,根据所述各端口信息实例化所述用户待测试设计,将实例化的所述用户待测试设计封装成对应的bsv文件。

优选地,所述接口信息获取模块包括:接口信息获取子模块,用于通过第一脚本文件获取所述顶层文件中的所述各接口信息,并发送所述各接口信息;接口信息文件生成子模块,用于接收所述各接口信息,生成包括所述各接口信息的接口信息文件,并发送所述接口信息文件。

优选地,所述bsv转化模块包括:端口信息生成子模块,用于接收所述接口信息文件,提取所述接口信息文件中所述各接口信息,生成所述各接口信息中每个所述接口信息对应在bsv语言中表示的各端口信息,发送所述各端口信息;bsv文件生成子模块,用于接收所述各端口信息,根据所述各端口信息实例化用户待测试设计中的各模块名称和各接口之间的连接关系,将实例化的所述用户待测试设计封装成对应的bsv文件。

优选地,所述端口信息生成子模块包括:脚本解析单元,用于通过第二脚本文件解析所述接口信息文件,提取所述接口信息文件中所述各接口信息,发送所述各接口信息;所述各接口信息包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息和输入输出信号接口信息;时钟信号端口信息生成单元,用于接收所述时钟信号接口信息,生成所述时钟信号接口信息对应在bsv语言中表示的时钟信号端口信息;复位信号端口信息生成单元,用于接收所述复位信号接口信息,生成所述复位信号接口信息对应在bsv语言中表示的复位信号端口信息;握手信号端口信息生成单元,用于接收所述握手信号接口信息,生成所述握手信号接口信息对应在bsv语言中表示的握手信号端口信息;存储器信号端口信息生成单元,用于接收所述存储器信号接口信息,生成所述存储器信号接口信息对应在bsv语言中表示的存储器信号端口信息;输入输出信号端口信息生成单元,用于接收所述输入输出信号接口信息,生成所述输入输出信号接口信息对应在bsv语言中表示的输入输出信息端口信息。

具体地,所述端口信息包括端口名称和端口参数。

本发明实施例的封装标准协同仿真建模接口的方法和装置,包括以下优点:基于现有的硬件描述语言,获取用户待测试设计中顶层文件中的各接口信息,并将各接口信息解析为对应在bsv语言中表示的各端口信息,以及根据各端口信息实例化用户待测试设计,最后将实例化的用户待测试设计封装成对应的bsv文件。从而在不改变原有硬件描述语言的情况下,通过bsv文件实现用户待测试设计(DUT,Design Under Test)和SCE-MI协议的通信,促进了软硬件协同仿真技术的可重用性。

附图说明

图1是本发明的一种封装标准协同仿真建模接口的方法实施例的步骤流程图;

图2是本发明的一种封装标准协同仿真建模接口的方法具体实施例的步骤流程图;

图3是本发明的一种封装标准协同仿真建模接口的装置实施例的结构框图;

图4是本发明的一种封装标准协同仿真建模接口的装置具体实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种封装标准协同仿真建模接口的方法实施例的步骤流程图,该封装标准协同仿真建模接口的方法具体可以包括如下步骤:

S1,接收用户待测试设计中的顶层文件,获取顶层文件中的各接口信息,并发送各接口信息;用户待测试设计中的顶层文件通过硬件描述语言设计。

具体地,用户在采用硬件描述语言编写用户待测试设计的顶层文件后,将用户待测试设计的顶层文件发送给步骤S1。

具体地,顶层文件中的各接口信息可以包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息、输入输出信号接口信息等。

S2,接收各接口信息,将各接口信息解析为对应在bsv语言中表示的各端口信息,根据各端口信息实例化用户待测试设计,将实例化的用户待测试设计封装成对应的bsv文件。

具体地,端口信息可以包括端口名称、端口参数等,其中,端口参数可以包括端口的数据位宽参数、端口的数据大小参数等。

本发明实施例的封装标准协同仿真建模接口的方法,可以在不改变原有硬件描述语言的情况下,通过转化顶层文件对应的用户DUT为更高抽像层次的bsv文件,实现用户DUT和SCE-MI协议的对接,促进了软硬件协同仿真技术的发展。

在本发明的一个具体实施例中,参照图2,步骤S1中获取顶层文件中的各接口信息,并发送各接口信息,可以包括以下步骤:

S11,通过第一脚本文件获取顶层文件中的各接口信息,并发送各接口信息。

其中,第一脚本文件可以为采用python语言、TCL(Tool Command Language,工具命令语言)语言或shell语言等语言预先编写的脚本文件。

S12,接收各接口信息,生成包括各接口信息的接口信息文件,并发送接口信息文件。

其中,接口信息文件记录全部的接口信息。

在本发明的一个具体实施例中,参照图2,步骤S2可以包括以下步骤:

S21,接收接口信息文件,提取接口信息文件中各接口信息,生成各接口信息中每个接口信息对应在bsv语言中表示的各端口信息,发送各端口信息。

S22,接收各端口信息,根据各端口信息实例化用户待测试设计中的各模块名称和各接口之间的连接关系,将实例化的用户待测试设计封装成对应的bsv文件。

进一步地,在本发明的一个具体实施例中,参照图2,步骤S21中提取接口信息文件中各接口信息,生成各接口信息中每个接口信息对应在bsv语言中表示的各端口信息,可以包括以下步骤:

S211,通过第二脚本文件解析接口信息文件,提取接口信息文件中各接口信息,发送各接口信息;各接口信息包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息和输入输出信号接口信息。

其中,第二脚本文件可以为采用python语言、tcl语言或shell语言等语言预先编写的脚本文件。

S212,接收时钟信号接口信息,生成时钟信号接口信息对应在bsv语言中表示的时钟信号端口信息。

S213,接收复位信号接口信息,生成复位信号接口信息对应在bsv语言中表示的复位信号端口信息。

S214,接收握手信号接口信息,生成握手信号接口信息对应在bsv语言中表示的握手信号端口信息。

S215,接收存储器信号接口信息,生成存储器信号接口信息对应在bsv语言中表示的存储器信号端口信息。

S216,接收输入输出信号接口信息,生成输入输出信号接口信息对应在bsv语言中表示的输入输出信息端口信息。

本发明实施例的封装标准协同仿真建模接口的方法包括以下优点:

基于现有的硬件描述语言,通过第一脚本文件获取用户待测试设计中顶层文件中的各接口信息,并通过第二脚本文件解析各接口信息,根据解析后的接口信息生成对应在bsv语言中表示的端口信息,以及根据各端口信息实例化顶层文件对应的用户待测试设计,将实例化的用户待测试设计封装成对应的bsv文件。从而在不改变原有硬件描述语言的情况下,通过转化顶层文件对应的用户DUT为更高抽像层次的bsv文件,实现了用户DUT和SCE-MI协议的对接,促进了软硬件协同仿真技术的发展。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3,示出了本发明的一种封装标准协同仿真建模接口的装置实施例的结构框图,该封装标准协同仿真建模接口的装置包括:

接口信息获取模块1,用于接收用户待测试设计中的顶层文件,获取顶层文件中的各接口信息,并发送各接口信息;用户待测试设计中的顶层文件通过硬件描述语言设计。

具体地,用户在采用硬件描述语言编写用户待测试设计的顶层文件后,将用户待测试设计的顶层文件发送给接口信息获取模块1。

具体地,顶层文件中的各接口信息可以包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息、输入输出信号接口信息等。

bsv转化模块2,用于接收各接口信息,将各接口信息解析为对应在bsv语言中表示的各端口信息,根据各端口信息实例化用户待测试设计,将实例化的用户待测试设计封装成对应的bsv文件。

具体地,端口信息可以包括端口名称、端口参数等,其中,端口参数可以包括端口的数据位宽参数、端口的数据大小参数等。

在本发明的一个具体实施例中,参照图4,接口信息获取模块1可以包括:

接口信息获取子模块11,用于通过第一脚本文件获取顶层文件中的各接口信息,并发送各接口信息。

其中,第一脚本文件可以为采用python语言、tcl语言或shell语言等语言预先编写的脚本文件。

接口信息文件生成子模块12,用于接收各接口信息,生成包括各接口信息的接口信息文件,并发送接口信息文件。

其中,接口信息文件记录全部的接口信息。

在本发明的一个具体实施例中,参照图4,bsv转化模块2可以包括:

端口信息生成子模块21,用于接收接口信息文件,提取接口信息文件中各接口信息,生成各接口信息中每个接口信息对应在bsv语言中表示的各端口信息,发送各端口信息。

bsv文件生成子模块22,用于接收各端口信息,根据各端口信息实例化用户待测试设计中的各模块名称和各接口之间的连接关系,将实例化的用户待测试设计封装成对应的bsv文件。

进一步地,在本发明的一个具体实施例中,参照图4,端口信息生成子模块21可以包括:

脚本解析单元211,用于通过第二脚本文件解析接口信息文件,提取接口信息文件中各接口信息,发送各接口信息;各接口信息包括:时钟信号接口信息、复位信号接口信息、握手信号接口信息、存储器信号接口信息和输入输出信号接口信息。

时钟信号端口信息生成单元212,用于接收时钟信号接口信息,生成时钟信号接口信息对应在bsv语言中表示的时钟信号端口信息。

复位信号端口信息生成单元213,用于接收复位信号接口信息,生成复位信号接口信息对应在bsv语言中表示的复位信号端口信息。

握手信号端口信息生成单元214,用于接收握手信号接口信息,生成握手信号接口信息对应在bsv语言中表示的握手信号端口信息。

存储器信号端口信息生成单元215,用于接收存储器信号接口信息,生成存储器信号接口信息对应在bsv语言中表示的存储器信号端口信息。

输入输出信号端口信息生成单元216,用于接收输入输出信号接口信息,生成输入输出信号接口信息对应在bsv语言中表示的输入输出信息端口信息。

本发明实施例的封装标准协同仿真建模接口的装置包括以下优点:

基于现有的硬件描述语言,接口信息获取模块1通过第一脚本文件获取用户待测试设计中顶层文件中的各接口信息,bsv转化模块2通过第二脚本文件解析各接口信息,根据解析后的接口信息生成对应在bsv语言中表示的端口信息,以及根据各端口信息实例化顶层文件对应的用户待测试设计,将实例化的用户待测试设计封装成对应的bsv文件。从而在不改变原有硬件描述语言的情况下,通过转化顶层文件对应的用户DUT为更高抽像层次的bsv文件,实现了用户DUT和SCE-MI协议的对接,促进了软硬件协同仿真技术的发展。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种封装标准协同仿真建模接口的方法和一种封装标准协同仿真建模接口的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1