CN112836455B - 一种soc仿真方法及系统 - Google Patents
一种soc仿真方法及系统 Download PDFInfo
- Publication number
- CN112836455B CN112836455B CN202110073146.9A CN202110073146A CN112836455B CN 112836455 B CN112836455 B CN 112836455B CN 202110073146 A CN202110073146 A CN 202110073146A CN 112836455 B CN112836455 B CN 112836455B
- Authority
- CN
- China
- Prior art keywords
- soc
- software model
- interface
- fpga
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 35
- 230000010354 integration Effects 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000013461 design Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012827 research and development Methods 0.000 abstract description 6
- 238000005096 rolling process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于芯片领域,本发明提供一种SOC仿真方法及系统,其系统包括:FPGA系统、软件模型系统;所述FPGA系统通过第一连接接口、第二连接接口与所述软件模型系统连接集成为SOC仿真系统;所述SOC仿真系统,基于第一SOC架构,对待开发IP进行高层次语言的建模,集成、联调仿真、验证,以生成第二SOC架构;基于所述第二SOC架构,对待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构。通过FPGA系统和软件模型系统的结合,使得可以在早期进行基于新IP的系统级软硬件验证,提高研发效率,在后期通过架构滚动验证,提高研发成功率。
Description
技术领域
本发明涉及芯片领域,尤指一种SOC仿真方法及系统。
背景技术
在开发设计SOC芯片时,通常需要在FPGA平台上进行前期的软硬件系统验证。而对于项目中新设计的IP模块,则往往先通过高层次的仿真语言进行建模仿真,例如基于Matlab的算法仿真、基于C的算法仿真和基于SystemC的TLM事务级仿真,最后进行RTL代码实现和仿真验证。
现有技术的方法使得FPGA平台上,无法在早期就集成新的IP进行软硬件验证,进而导致了项目研发时间的增加。
发明内容
本发明提供一种SOC仿真方法及系统,解决了上述问题。本发明提供的技术方案如下:
一种SOC仿真系统,包括:FPGA系统、软件模型系统;
所述FPGA系统通过第一连接接口、第二连接接口与所述软件模型系统连接集成SOC仿真系统;
所述SOC仿真系统,基于第一SOC架构,对待开发IP进行高层次语言的建模,集成、联调仿真、验证,以生成第二SOC架构;基于所述第二SOC架构,对待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构。
进一步优选地,所述FPGA系统,包括:
总线转换接口,用于将所述FPGA系统通过总线访问所述待开发IP的总线访问信号,转换为ETH/USB/UART的接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述软件模型系统;接收所述软件模型系统返回的所述待开发IP的软件模型数据或状态信号的数据包;
接口转换总线,用于将所述ETH/USB/UART接口接收到的数据包转换为所述FPGA系统的总线数据,以传输至所述FPGA系统的处理器。
进一步优选地,所述FPGA系统,还包括:
处理器,用于集成已开发IP至所述FPGA系统,接收软件调试bin文件,对所述第一SOC架构进行联调仿真;
所述处理器,还用于集成所述待开发IP的软件模型,接收软件调试bin文件和所述待开发IP的软件模型数据,对所述第二SOC架构进行联调仿真。
所述处理器,还用于集成所述待开发IP的RTL模型,接收软件调试bin文件和所述待开发IP的RTL模型数据,对所述第三SOC架构进行联调仿真。
进一步优选地,所述软件模型系统,包括:
待开发IP的软件模型,用于实现待开发IP的功能算法计算,并根据所述接口访问信号返回数据或状态信号;
软件模型转接口,用于将所述待开发IP的返回数据或状态信号转换为ETH/USB/UART接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述FPGA系统;接收所述FPGA系统发送给所述待开发IP的软件模型的总线访问数据包;
接口转软件模型,用于将所述ETH/USB/UART接口接收到的FPGA总线访问数据包转换为所述待开发IP的软件模型接收的访问信息。。
一种SOC仿真方法,包括:
根据SOC设计规格要求,将已有RTL代码的IP,集成开发为第一SOC架构;
通过开发新IP的软件模型,集成连接到第一SOC架构,并进行联调仿真、验证,以生成第二SOC架构;
通过开发新IP的RTL模型,集成连接到第二SOC架构,对进行联调仿真、验证,以形成第三SOC架构。
进一步优选地,在所述通过SOC仿真系统对第一SOC架构进行联调仿真、验证,以生成第二SOC架构之前,还包括:
设计包括已开发IP的第一SOC架构;
基于所述已开发IP的RTL模块,将所述已开发IP集成至FPGA系统;
对所述待开发IP进行软件建模,以生成所述软件模型系统中待开发IP的软件模型;
对所述第一SOC架构进行软件开发,以得到软件调试bin文件。
进一步优选地,所述通过SOC仿真系统对第一SOC架构进行联调仿真、验证,以生成第二SOC架构,包括:
通过第一连接接口、第二连接接口将基于第一SOC架构的FPGA系统与所述软件模型系统连接集成为基于第二SOC架构的SOC仿真系统;
当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述待开发IP的软件模型数据发送至所述FPGA系统;
通过所述基于第二SOC架构的SOC仿真系统及软件调试,对所述第二SOC架构进行联调仿真和验证。
进一步优选地,所述当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述待开发IP的软件模型数据发送至所述FPGA系统,包括:
通过所述FPGA系统的总线转换接口将所述FPGA系统通过总线访问所述待开发IP的总线访问信号,转换为第一连接接口的访问信号;
通过所述FPGA系统的第一连接接口将所述待开发IP的接口访问信号发送到所述软件模型系统;
通过所述软件模型系统的第二连接接口发送所述待开发IP的软件模型数据至所述FPGA系统的第一连接接口;
通过所述FPGA系统的第一连接接口接收所述软件模型系统返回的所述待开发IP的数据和状态信号,并传输至所述FPGA系统的接口转换总线;
通过所述FPGA系统的接口转换总线将所述待开发IP的软件模型的数据和状态信号转换为所述FPGA系统的处理器接收的总线数据和状态信号。
进一步优选地,所述通过所述SOC仿真系统基于所述第二SOC架构,对所述待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构,包括:
通过所述软件模型系统对所述待开发IP进行RTL建模,以生成待开发IP的RTL模块;
集成所述FPGA系统和所述待开发IP的RTL模块,对所述第三SOC架构进行联调仿真、验证。
进一步优选地,所述通过所述软件模型系统对所述待开发IP进行RTL建模,以生成待开发IP的RTL模块,包括:
将基于第二SOC架构的软件直接移植到基于第三SOC架构的SOC仿真系统;
将基于第二SOC架构的软件模型进行数据比对,验证基于第三SOC架构的RTL模型。
本发明提供的一种SOC仿真方法及系统,至少具有以下有益效果:
1)通过FPGA系统和软件模型系统的结合,使得可以在早期进行基于新IP的系统级软硬件验证,避免导致研发效率低下。
2)通过集成已有IP,快速生成FPGA系统。
3)通过新IP的软件建模,具有比RTL更早的建模实现时间。
4)通过在后期的架构滚动验证,提高研发成功率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明:
图1是本发明中一种SOC仿真系统的示意图;
图2是本发明中待开发SOC的示意图;
图3是本发明中一种SOC仿真系统的示意图;
图4是本发明中一种SOC仿真系统的示意图;
图5是本发明中一种SOC仿真方法的示意图;
图6是本发明中一种SOC仿真方法的示意图;
图7是本发明中一种SOC仿真方法的示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本文中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
需要说明的是,在本发明中,FPGA:现场可编程门阵列。软件模型:通过软件方式,对硬件模块行为进行建模。
实施例一
本实施例提供一种SOC仿真系统的一个实施例,包括:FPGA系统10、软件模型系统20。
所述FPGA系统10通过第一连接接口、第二连接接口与所述软件模型系统10连接集成SOC仿真系统。
所述SOC仿真系统,基于第一SOC架构,对待开发IP进行高层次语言的建模,集成、联调仿真、验证,以生成第二SOC架构;基于所述第二SOC架构,对待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构。
在本实施例中,本发明在FPGA内集成了已有IP模块的基础上,通过在FPGA系统内新增总线与接口之间的转换、形成新的FPGA系统。
同时,在PC主机侧,基于PC接口库,增加对应的接口转新IP的模块,与新IP的软件模型一起形成新的软件仿真系统。两者通过接口连接通信,形成了基于FPGA和新IP软件模型的SOC仿真系统。
与现有单纯的FPGA系统或单纯的软件模型系统相比,该系统具有以下优点:通过集成已有IP,快速生成FPGA系统;通过新IP的软件建模,具有比RTL更早的实现时间;FPGA系统和软件模型系统的结合,使得可以更早的进行基于新IP的系统级软硬件验证。
实施例二
基于上述实施例,在本实施例中与上述实施例相同的部分就不一一赘述了,本实施例提供一种SOC仿真系统,具体包括FPGA系统和软件模型系统。
所述FPGA系统,包括:
总线转换接口,用于将所述FPGA系统通过总线访问所述待开发IP的总线访问信号,转换为ETH/USB/UART的接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述软件模型系统;接收所述软件模型系统返回的所述待开发IP的软件模型数据或状态信号的数据包;
接口转换总线,用于将所述ETH/USB/UART接口接收到的数据包转换为所述FPGA系统的总线数据,以传输至所述FPGA系统的处理器。
示例性的,所述FPGA系统集成已有RTL模块、总线转换接口、接口转换总线、连接接口。
集成已有RTL模块:包括已实现的CPU、IP、总线等,设置对应的memory map、中断、时钟、复位等。
集成总线转换接口:总线类型可选择支持AXI、AHB、APB等,接口类型可选择支持PC上常见的接口类型,包括ETH、USB或UART等接口,用于将通过总线访问新IP的访问转换为通过ETH、USB或UART接口发送到PC的数据。
集成接口转换总线:总线类型可选择支持AXI、AHB、APB等,接口类型可选择支持PC上常见的接口类型,包括ETH、USB或UART等接口,用于将PC上的软件模型发送的数据和中断等信号,通过ETH、USB或UART接口发送到FPGA。
连接接口,可根据系统需要选择ETH、USB、或UART。
在本实施例中,通过将基于RTL实现的已有IP模块和基于上层软件建模实现的新IP模块组合成一个FPGA和软件模型的异构系统,从而在SOC开发的更早阶段,就可以进行系统级的软硬件仿真与验证。
实施例三
基于上述实施例,在本实施例中与上述实施例相同的部分就不一一赘述了,本实施例提供一种SOC仿真系统,具体包括FPGA系统和软件模型系统。
所述FPGA系统,还包括:
处理器,用于集成已开发IP至所述FPGA系统,接收软件调试bin文件,对所述第一SOC架构进行联调仿真;
所述处理器,还用于集成所述待开发IP的软件模型,接收软件调试bin文件和所述待开发IP的软件模型数据,对所述第二SOC架构进行联调仿真。
所述处理器,还用于集成所述待开发IP的RTL模型,接收软件调试bin文件和所述待开发IP的RTL模型数据,对所述第三SOC架构进行联调仿真。
优选地,所述软件模型系统,包括:
待开发IP的软件模型,用于实现待开发IP的功能算法计算,并根据所述接口访问信号返回数据或状态信号;
软件模型转接口,用于将所述待开发IP的返回数据或状态信号转换为ETH/USB/UART接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述FPGA系统;接收所述FPGA系统发送给所述待开发IP的软件模型的总线访问数据包;
接口转软件模型,用于将所述ETH/USB/UART接口接收到的FPGA总线访问数据包转换为所述待开发IP的软件模型接收的访问信息。
实施例四
基于上述实施例,在本实施例中与上述实施例相同的部分就不一一赘述了,本实施例提供一种SOC仿真系统,具体包括:
FPGA系统
集成已有RTL模块:包括已实现的CPU、IP、总线等,设置对应的memory map、中断、时钟、复位等。
集成总线转换接口:总线类型可选择支持AXI、AHB、APB等,接口类型可选择支持PC上常见的接口类型,包括ETH、USB或UART等PC常用接口,用于将通过总线访问新IP的访问转换为通过ETH、USB或UART接口发送到PC的数据。
集成接口转换总线:总线类型可选择支持AXI、AHB、APB等,接口类型可选择支持PC上常见的接口类型,包括ETH、USB或UART等接口,用于将PC上的软件模型发送的数据和中断等信号,通过ETH、USB或UART接口发送到FPGA。
连接接口,可根据系统需要选择ETH、USB、或UART。
软件模型系统
连接接口,可根据系统需要选择ETH、USB、或UART。
接口转软件模型:将通过连接接口接收到的总线访问数据转换为新IP的软件模型的输入数据。
软件模型转接口:将新IP的软件模型的输出数据和中断信号转换为连接接口数据。
新IP的软件模型:新开发的IP的软件模型,根据输入信号返回对应的数据,返回数据将通过软件模型转接口,再发送给连接接口到达FPGA。
实施例五
本实施例提供一种SOC仿真方法的一个实施例,如图5所示,包括:
S100通过SOC仿真系统对第一SOC架构进行开发、联调仿真、验证,以生成第二SOC架构。
S200通过所述SOC仿真系统基于所述第二SOC架构,对待开发IP进行建模、集成、联调仿真以形成第三SOC架构。
实施例六
基于上述实施例,在本实施例中与上述实施例相同的部分就不一一赘述了,本实施例提供一种SOC仿真方法的一个实施例,如图6所示,包括:
优选地,在S100所述通过SOC仿真系统对第一SOC架构进行联调仿真、验证,以生成第二SOC架构之前,还包括:
S001设计包括已开发IP和待开发IP的第一SOC架构。
S002基于所述已开发IP的RTL模块,将所述已开发IP集成至FPGA系统。
S003对所述待开发IP进行软件建模,以生成所述软件模型系统中待开发IP的软件模型.
S004对所述第一SOC架构进行软件开发,以得到所述第一SOC架构的bin文件。
优选地,所述通过SOC仿真系统对第一SOC架构进行联调仿真、验证,以生成第二SOC架构,包括:
当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述待开发IP的软件模型数据发送至所述FPGA系统。
通过所述软件模型系统和所述FPGA系统,对所述第一SOC架构进行联调仿真和验证。
优选地,所述当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述待开发IP的软件模型数据发送至所述FPGA系统,包括:
通过所述FPGA系统的总线转换接口将所述FPGA系统通过总线访问所述待开发IP的总线访问信号,转换为第一连接接口的访问信号;
通过所述FPGA系统的第一连接接口将所述待开发IP的接口访问信号发送到所述软件模型系统;
通过所述软件模型系统的第二连接接口发送所述待开发IP的软件模型数据至所述FPGA系统的第一连接接口;
通过所述FPGA系统的第一连接接口接收所述软件模型系统返回的所述待开发IP的数据和状态信号,并传输至所述FPGA系统的接口转换总线;
通过所述FPGA系统的接口转换总线将所述待开发IP的软件模型的数据和状态信号转换为所述FPGA系统的处理器接收的总线数据和状态信号。
优选地,所述通过所述SOC仿真系统基于所述第二SOC架构,对所述待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构,包括:
通过所述软件模型系统对所述待开发IP进行RTL建模,以生成待开发IP的RTL模块;
集成所述FPGA系统和所述待开发IP的RTL模块,对所述第三SOC架构进行联调仿真、验证。
优选地,所述通过所述软件模型系统对所述待开发IP进行RTL建模,以生成待开发IP的RTL模块,包括:
将基于第二SOC架构的软件直接移植到基于第三SOC架构的SOC仿真系统;
将基于第二SOC架构的软件模型进行数据比对,验证基于第三SOC架构的RTL模型。
实施例七
本实施例提供一种SOC仿真方法的一个实施例,如图7所示,包括:
利用上述SOC仿真系统实施本实施例中的一种SOC仿真方法,具体使用方法包括:
1、根据所要设计的SOC规格设计SOC架构1。
具体的,SOC的架构一般是根据应用需求确定的一个包含主要IP模块的总体框图,设计步骤就是分析项目需求,设计框图。
2、将已有RTL的IP集成到FPGA系统。
具体的,各个已有IP通常都有标准的总线接口和信号接口,通过这些接口将已有IP互相连接在一起就是集成,将集成后的RTL代码进行编译综合生成逻辑bit文件后,下载到FPGA内运行。
3、将需要新设计的IP进行软件建模。
具体的,建模方式有多种,例如编写Matlab程序,编写C代码程序,或者编写SystemC代码程序等。
其中,程序的内容要根据IP的功能确定,比如通信编码、译码等。
4、针对SOC架构进行软件开发。
具体的,SOC架构中一般有一种或多种处理器,此处的软件是指运行在这些处理器中的软件,开发的步骤一般是先建立编译环境,再开发或移植boot启动代码并进行编译,最后再开发或移植OS并进行编译。将编译生成的bin文件下载或烧写到芯片中就可以使处理器运行这些代码。
其中,步骤2、3、4可由不同的工程师同时进行。
5、FPGA系统与软件模型系统集成及软件联调仿真。
具体的,联调仿真是指将集成IP后编译的逻辑bit文件下载到FPGA,将软件开发的boot程序和OS驱动程序下载到FPGA内的内存中,在驱动支持下,通过本实施例提出的方法与位于主机内的模型程序进行连接通信,组成一个更大的系统,将上述文件一起进行的调试。
6、验证完成得到SOC架构2。
具体的,通过联调仿真,就可以验证FPGA与软件模型组成的系统功能是否正确。如果有问题,则会进行修改,然后重新进行联调仿真,如此反复,直到满足设计要求。这个过程就是基于FPGA的验证。
7、根据软件模型进行新IP的RTL建模。
8、将新IP的RTL模块集成到FPGA系统,再进行软件联调仿真。
9、验证完成得到SOC架构3。
由以上步骤可知,经过验证的SOC架构3就是与SOC设计规格对应架构。
具体的,架构2即第二SOC架构为:经过FPGA+软件模型方法验证的架构,软件模型对应的是新的IP的C代码形态或matlab形态,需要根据软件模型,使用Verilog开发新IP的RTL形态。
这样做的原因是使用C或者matlab是高层语言,方便开发核心算法模型,而RTL不方便进行算法实现。
在本实施例中,通过在FPGA系统内新增总线与接口之间的转换、形成新的FPGA系统,同时在PC主机侧基于PC接口库,增加对应的接口转新IP的模块,与新IP的软件模型一起形成新的软件仿真系统。两者通过接口连接通信,形成了基于FPGA和新IP软件模型的仿真系统。
同时,这种仿真系统能够通过集成已有IP,快速生成FPGA系统;通过新IP的软件建模,具有比RTL更早的实现时间;FPGA系统和软件模型系统的结合,使得可以更早的进行基于新IP的系统级软硬件验证。同时,在后期通过架构滚动验证,也提高了研发成功率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的设备和方法,可以通过其他的方式实现。示例性的,以上所描述的系统实施例仅仅是示意性的,示例性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,示例性的,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种SOC仿真系统,其特征在于,包括:FPGA系统、软件模型系统;
所述FPGA系统通过第一连接接口、第二连接接口与所述软件模型系统连接集成为SOC仿真系统;
所述SOC仿真系统,基于第一SOC架构,对待开发IP进行高层次语言的建模,集成、联调仿真、验证,以生成第二SOC架构;具体包括:通过第一连接接口、第二连接接口将基于第一SOC架构的FPGA系统与所述软件模型系统连接集成为基于第二SOC架构的SOC仿真系统;当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述待开发IP的软件模型数据发送至所述FPGA系统;通过所述基于第二SOC架构的SOC仿真系统及软件调试,对所述第二SOC架构进行联调仿真和验证;所述第一SOC架构集成已有RTL代码的IP;
所述SOC仿真系统,还基于所述第二SOC架构,对待开发IP进行RTL建模、集成、联调仿真以形成第三SOC架构,具体包括:通过所述软件模型系统对所述待开发IP进行RTL建模,以生成待开发IP的RTL模块;集成所述FPGA系统和所述待开发IP的RTL模块,对所述第三SOC架构进行联调仿真、验证。
2.根据权利要求1所述的SOC仿真系统,其特征在于,所述FPGA系统,包括:
总线转换接口,用于将所述FPGA系统通过总线访问所述待开发IP的总线访问信号,转换为ETH/USB/UART的接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述软件模型系统;接收所述软件模型系统返回的所述待开发IP的软件模型数据或状态信号的数据包;
接口转换总线,用于将所述ETH/USB/UART接口接收到的数据包转换为所述FPGA系统的总线数据,以传输至所述FPGA系统的处理器。
3.根据权利要求1所述的SOC仿真系统,其特征在于,所述FPGA系统,还包括:
处理器,用于集成已开发IP至所述FPGA系统,接收所述第一SOC架构的bin文件和所述待开发IP的软件模型数据,对所述第一SOC架构进行联调仿真;
所述处理器,还用于基于所述待开发IP的软件模型数据,对所述第二SOC架构进行联调仿真。
4.根据权利要求2所述的SOC仿真系统,其特征在于,所述软件模型系统,包括:
待开发IP的软件模型,用于实现待开发IP的算法计算,并根据所述接口访问信号返回数据或状态信号;
软件模型转接口,用于将所述待开发IP的返回数据或状态信号转换为ETH/USB/UART接口访问信号和数据包;
ETH/USB/UART接口,用于将ETH/USB/UART的接口访问信号和数据包发送到所述FPGA系统;接收所述FPGA系统发送给所述待开发IP的软件模型的总线访问数据包;
接口转软件模型,用于将所述ETH/USB/UART接口接收到的FPGA总线访问数据包转换为所述待开发IP的软件模型接收的访问信息。
5.一种SOC仿真方法,其特征在于,包括:
根据SOC设计规格要求,将已有RTL代码的IP,集成开发为第一SOC架构;
通过开发新IP的软件模型,集成连接到第一SOC架构,并进行联调仿真、验证,以生成第二SOC架构,具体包括:通过第一连接接口、第二连接接口将基于第一SOC架构的FPGA系统与软件模型系统连接集成为基于第二SOC架构的SOC仿真系统;当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述新IP的软件模型数据发送至所述FPGA系统;通过所述基于第二SOC架构的SOC仿真系统及软件调试,对所述第二SOC架构进行联调仿真和验证;
通过开发新IP的RTL模型,集成连接到第二SOC架构,对进行联调仿真、验证,以形成第三SOC架构,具体包括:通过所述软件模型系统对所述新IP进行RTL建模,以生成所述新IP的RTL模块;集成所述FPGA系统和所述新IP的RTL模块,对所述第三SOC架构进行联调仿真、验证。
6.根据权利要求5所述的SOC仿真方法,其特征在于,在所述通过开发新IP的软件模型,集成连接到第一SOC架构,并进行联调仿真、验证,以生成第二SOC架构之前,还包括:
设计包括已开发IP的第一SOC架构;
基于所述已开发IP的RTL模块,将所述已开发IP集成至FPGA系统;
对所述新IP进行软件建模,以生成所述软件模型系统中所述新IP的软件模型;
对所述第一SOC架构进行软件开发,以得到所述第一SOC架构的bin文件。
7.根据权利要求6所述的SOC仿真方法,其特征在于,所述当所述软件模型系统与所述FPGA系统通信时,通过所述软件模型系统将所述新IP的软件模型数据发送至所述FPGA系统,包括:
通过所述FPGA系统的总线转换接口将所述FPGA系统通过总线访问所述新IP的总线访问信号,转换为第一连接接口的访问信号;
通过所述FPGA系统的第一连接接口将所述新IP的接口访问信号发送到所述软件模型系统;
通过所述软件模型系统的第二连接接口发送所述新IP的软件模型数据至所述FPGA系统的第一连接接口;
通过所述FPGA系统的第一连接接口接收所述软件模型系统返回的所述新IP的数据和状态信号,并传输至所述FPGA系统的接口转换总线;
通过所述FPGA系统的接口转换总线将所述新IP的软件模型的数据和状态信号转换为所述FPGA系统的处理器接收的总线数据和状态信号。
8.根据权利要求7所述的SOC仿真方法,其特征在于,所述通过所述软件模型系统对所述新IP进行RTL建模,以生成新IP的RTL模块,包括:
将基于第二SOC架构的软件直接移植到基于第三SOC架构的SOC仿真系统;
将基于第二SOC架构的软件模型进行数据比对,验证基于第三SOC架构的RTL模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110073146.9A CN112836455B (zh) | 2021-01-20 | 2021-01-20 | 一种soc仿真方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110073146.9A CN112836455B (zh) | 2021-01-20 | 2021-01-20 | 一种soc仿真方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112836455A CN112836455A (zh) | 2021-05-25 |
CN112836455B true CN112836455B (zh) | 2023-11-10 |
Family
ID=75928906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110073146.9A Active CN112836455B (zh) | 2021-01-20 | 2021-01-20 | 一种soc仿真方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112836455B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004178267A (ja) * | 2002-11-27 | 2004-06-24 | Sony Corp | メモリ回路生成方法および装置、メモリ回路、回路モデル検証方法および装置、回路モデル生成方法および装置 |
CN1609862A (zh) * | 2004-11-19 | 2005-04-27 | 华南理工大学 | 基于pci总线的ip核仿真验证平台及其验证方法 |
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN102508753A (zh) * | 2011-11-29 | 2012-06-20 | 青岛海信信芯科技有限公司 | Ip核验证系统 |
CN103777992A (zh) * | 2012-10-18 | 2014-05-07 | 北京临近空间飞行器系统工程研究所 | 跨异构操作系统的一种i/o密集型协同交互仿真方法 |
CN207096986U (zh) * | 2017-08-24 | 2018-03-13 | 航天中认软件测评科技(北京)有限责任公司 | 软硬件协同仿真的系统 |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN110765715A (zh) * | 2019-11-21 | 2020-02-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 |
-
2021
- 2021-01-20 CN CN202110073146.9A patent/CN112836455B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004178267A (ja) * | 2002-11-27 | 2004-06-24 | Sony Corp | メモリ回路生成方法および装置、メモリ回路、回路モデル検証方法および装置、回路モデル生成方法および装置 |
CN1609862A (zh) * | 2004-11-19 | 2005-04-27 | 华南理工大学 | 基于pci总线的ip核仿真验证平台及其验证方法 |
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN102411535A (zh) * | 2011-08-02 | 2012-04-11 | 上海交通大学 | 导航SoC芯片仿真、验证和调试平台 |
CN102508753A (zh) * | 2011-11-29 | 2012-06-20 | 青岛海信信芯科技有限公司 | Ip核验证系统 |
CN103777992A (zh) * | 2012-10-18 | 2014-05-07 | 北京临近空间飞行器系统工程研究所 | 跨异构操作系统的一种i/o密集型协同交互仿真方法 |
CN207096986U (zh) * | 2017-08-24 | 2018-03-13 | 航天中认软件测评科技(北京)有限责任公司 | 软硬件协同仿真的系统 |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN110765715A (zh) * | 2019-11-21 | 2020-02-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu芯片渲染输出单元性能仿真方法及平台 |
Non-Patent Citations (1)
Title |
---|
SOC验证平台的联合架构设计;汪洋;耿相铭;;信息技术(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112836455A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508753B (zh) | Ip核验证系统 | |
Cesario et al. | Component-based design approach for multicore SoCs | |
CN100399341C (zh) | 一种矢量模式软硬件协同仿真/验证方法 | |
US8205174B2 (en) | Integrated circuit modeling method and framework tool | |
US20110307847A1 (en) | Hybrid system combining TLM simulators and HW accelerators | |
US20020183956A1 (en) | Testing compliance of a device with a bus protocol | |
US20220292248A1 (en) | Method, system and verifying platform for system on chip verification | |
US20060236300A1 (en) | Automatically boosting the software content of system LSI designs | |
CN116414526B (zh) | 一种基于虚拟机的仿真装置和方法 | |
US7212961B2 (en) | Interface for rapid prototyping system | |
CN115688676A (zh) | 基于tlm的gpu联合仿真系统 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN115496034A (zh) | 多模式gpu联合仿真系统 | |
CN102184290B (zh) | 嵌入式微处理器的周期精确和位精确系统级模型构建方法 | |
Nicolescu et al. | Validation in a component-based design flow for multicore SoCs | |
CN115686655A (zh) | 用于gpu ip验证的联合仿真系统 | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
CN112836455B (zh) | 一种soc仿真方法及系统 | |
CN101281507A (zh) | Usb接口型dsp实时仿真开发系统 | |
CN112162879A (zh) | 一种实时多核dsp软件的日志系统 | |
Dhanwada et al. | Transaction-level modeling for architectural and power analysis of PowerPC and CoreConnect-based systems | |
CN113496108A (zh) | 一种应用于仿真的cpu模型 | |
Lin et al. | Full system simulation and verification framework | |
Yeh et al. | Enabling TLM-2.0 interface on QEMU and SystemC-based virtual platform | |
Kissler et al. | A Generic Framework for Rapid Prototyping of System-on-Chip Designs. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |