本发明专利技术公开了一种基于FPGA的芯片仿真加速方法和系统,包括主机利用预设的综合工具将用户设计的逻辑电路综合为RTL级表示文件;通过编写处理逻辑,将RTL级表示文件映射为带有特定功能的调试和控制用途的模块,并存储为预设格式的表示文件;获取用来辅助调试的电路模块,结合工具链将预设格式的表示文件生成位流,并下载到仿真加速器的FPGA系统中;在主机中加载加速器控制程序,主机的加速器控制程序通过物理通信方式和仿真加速器交换信号完成对用户设计逻辑的加速仿真。可对任意的用户RTL设计进行仿真,对运行在FPGA中的用户设计进行调试和控制,以及可对调试和控制的多项过程进行加速,调试以及控制灵活且快速高效。调试以及控制灵活且快速高效。调试以及控制灵活且快速高效。
【技术实现步骤摘要】
一种基于FPGA的芯片仿真加速方法和系统
[0001]本专利技术属于电子设计自动化
,特别是涉及一种基于FPGA的芯片仿真加速方法和系统。
技术介绍
[0002]随着片上可编程技术的发展,出现了多种基于FPGA原型系统的验证和仿真技术,这些平台以高于软件模拟几个数量级的速度为规模级以上的设计提供硅前验证服务。
[0003]然而,目前的FPGA原型系统只能提供非常有限的调试能力,用户难以快速检查设计中的问题和执行各种测试。
[0004]另外一些仿真加速器平台无法提供对用户设计的完整控制,不能提供调试和控制操作,或只能提供完全领域和场景特定的系统。因此亟需一种可快速且灵活进行调试和测试的仿真加速方法。
技术实现思路
[0005]针对以上技术问题,本专利技术提供一种基于FPGA的芯片仿真加速方法和系统。
[0006]本专利技术解决其技术问题采用的技术方案是:一种基于FPGA的芯片仿真加速方法,方法包括以下步骤:S100:主机利用预设的综合工具将用户设计的逻辑电路综合为RTL级表示文件;S200:通过编写处理逻辑,将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,并存储为预设格式的表示文件;S300:获取用来辅助调试的电路模块,结合工具链将S200生成的表示文件生成位流,并将位流下载到仿真加速器的FPGA系统中;S400:在主机中加载加速器控制程序,主机的加速器控制程序通过物理通信方式和仿真加速器交换信号完成对用户设计逻辑的加速仿真。
[0007]优选地,预设的综合工具包括FPGA厂商综合工具、开源综合工具、通用综合工具和特定目标的综合工具。
[0008]优选地,预设格式的表示文件包括Verilog表示、EDIF表示、BLIF表示、AIG表示、netlist表示和二进制表示。
[0009]优选地,辅助调试的电路模块包括片内主控模块、片间通信模块、时钟模块、断言支持模块、系统调用支持模块、探针支持模块、AXI交互接口、DMA交互接口和其他外设通信接口。
[0010]优选地,S200中将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,包括:S210:将RTL级表示文件嵌入到仿真加速器提供的主框架电路中;S220:将嵌入到主框架电路中的RTL级表示文件内部的互联有选择性的断开,在断开的位置插入用于调试和控制用途的电路模块,将RTL级表示文件映射为带有特定功能的
调试和控制用途的电路模块;或S230:将嵌入到主框架电路中的RTL级表示文件替换为带有特定功能的调试和控制用途的电路模块。
[0011]优选地,带有特定功能的调试和控制用途的模块中的特定功能包括:控制时钟、执行指令、存储波形、执行断言和修改数据。
[0012]优选地,S400中在主机中加载加速器控制程序,包括:当用户设计的逻辑电路中包括测试驱动代码时,将测试驱动代码通过软件仿真工具编译为运行在主机上的可执行或可解释内容,作为加速器控制程序;当用户设计的逻辑电路中不包括测试驱动代码时,则使用预设的加速器控制程序作为加速器控制程序,其中,预设的加速器控制程序包括与仿真加速器配套的软件仿真程序、仿真加速器控制台程序、使用仿真加速器API编写的其他用户程序。
[0013]优选地,S400中主机的加速器控制程序通过物理通信方式和仿真加速器交换信号,其中,物理通信方法包括Ethernet、PCIe、GTH、同轴电缆、光纤和GPIO,通信过程中所用到的通信协议包括RPC、Socket、中断、DMA、AXI、I2C和SPI。
[0014]优选地,信号包括控制指令和数据指令,控制指令用于设置仿真加速器的执行状态和执行指令,数据指令用于给仿真加速器中运行的被测逻辑电路设置输入激励或读取输出数据。
[0015]一种基于FPGA的芯片仿真加速系统,包括主机和仿真加速器,主机利用预设的综合工具将用户设计的逻辑电路综合为RTL级表示文件;通过编写处理逻辑,将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,并存储为预设格式的表示文件;获取用来辅助调试的电路模块,结合工具链将S200生成的表示文件生成位流,并将位流下载到仿真加速器的FPGA系统中;在主机中加载加速器控制程序,主机的加速器控制程序通过物理通信方式和仿真加速器交换信号完成对用户设计逻辑的加速仿真。
[0016]上述一种基于FPGA的芯片仿真加速方法和系统,可以对任意的用户RTL设计进行仿真,并且支持对运行在FPGA中的用户的设计进行调试和控制,以及可对调试和控制的多项过程进行加速,调试以及控制灵活且快速高效。
附图说明
[0017]图1为本专利技术一实施例中一种基于FPGA的芯片仿真加速方法的流程图;图2为本专利技术一实施例中一种基于FPGA的芯片仿真加速系统的结构框图。
具体实施方式
[0018]为了使本
的人员更好地理解本专利技术的技术方案,下面结合附图对本专利技术作进一步的详细说明。
[0019]在一个实施例中,如图1所示,一种基于FPGA的芯片仿真加速方法,方法包括以下步骤:S100:主机利用预设的综合工具将用户设计的逻辑电路综合为RTL级表示文件。
[0020]具体地,还可以将用户设计的逻辑电路综合为门级表示文件,用户设计的逻辑电
路包括DUT部分,也可以包括TB部分,DUT(即Device Under Test),指的是描述即将生产为硬件实物的被测逻辑电路;TB(即Test Bench),指的是为了测试DUT所编写的测试驱动代码。其中,RTL(Register Transfer Level)表示寄存器转换级电路。
[0021]在一个实施例中,预设的综合工具包括FPGA厂商综合工具、开源综合工具、通用综合工具和特定目标的综合工具。
[0022]S200:通过编写处理逻辑,将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,并存储为预设格式的表示文件。
[0023]在一个实施例中,预设格式的表示文件包括Verilog表示、EDIF表示、BLIF表示、AIG表示、netlist表示和二进制表示。
[0024]具体地,根据工具链最终设计以及根据用户选择,将会以多种格式存储,包括但不限于:私有格式、Structure Verilog、EDIF、BLIF、AIG、BitStream等。
[0025]在一个实施例中,S200中将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,包括:S210:将RTL级表示文件嵌入到仿真加速器提供的主框架电路中;S220:将嵌入到主框架电路中的RTL级表示文件内部的互联有选择性的断开,在断开的位置插入用于调试和控制用途的电路模块,将RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块;或S230:将嵌入到主框架电路中的RTL级表示文件替换为带有特定功能的调试和控制用途的电路模块。
[0026]在一个实施例中,带有特定功能的调试和控制用途的模块中的特定功能包括本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的芯片仿真加速方法,其特征在于,所述方法包括以下步骤:S100:主机利用预设的综合工具将用户设计的逻辑电路综合为RTL级表示文件;S200:通过编写处理逻辑,将所述RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,并存储为预设格式的表示文件;S300:获取用来辅助调试的电路模块,结合工具链将S200生成的表示文件生成位流,并将所述位流下载到仿真加速器的FPGA系统中;S400:在所述主机中加载加速器控制程序,所述主机的加速器控制程序通过物理通信方式和所述仿真加速器交换信号完成对用户设计逻辑的加速仿真。2.根据权利要求1所述的方法,其特征在于,所述预设的综合工具包括FPGA厂商综合工具、开源综合工具、通用综合工具和特定目标的综合工具。3.根据权利要求1所述的方法,其特征在于,所述预设格式的表示文件包括Verilog表示、EDIF表示、BLIF表示、AIG表示、netlist表示和二进制表示。4.根据权利要求1所述的方法,其特征在于,所述辅助调试的电路模块包括片内主控模块、片间通信模块、时钟模块、断言支持模块、系统调用支持模块、探针支持模块、AXI交互接口、DMA交互接口和其他外设通信接口。5.根据权利要求1所述的方法,其特征在于,S200中将所述RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块,包括:S210:将所述RTL级表示文件嵌入到所述仿真加速器提供的主框架电路中;S220:将嵌入到所述主框架电路中的所述RTL级表示文件内部的互联有选择性的断开,在断开的位置插入用于调试和控制用途的电路模块,将所述RTL级表示文件映射为带有特定功能的调试和控制用途的电路模块;或S230:将嵌入到所述主框架电路中的所述RTL级表示文件替换为带有特定功能的调试和控制用途的电路模块。6.根据权利要求1所述的方法,其特征在于,所述带有特...
【专利技术属性】
技术研发人员:冯元辉,李立,
申请(专利权)人:湖南泛联新安信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。