本發明專利技術公開了一種基于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所述的方法,其特征在于,所述帶有特...
【專利技術屬性】
技術研發人員:馮元輝,李立,
申請(專利權)人:湖南泛聯新安信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。