CN111027266A - 一种多个fpga的设计分割的方法、系统、存储介质及终端 - Google Patents

一种多个fpga的设计分割的方法、系统、存储介质及终端 Download PDF

Info

Publication number
CN111027266A
CN111027266A CN201911239513.7A CN201911239513A CN111027266A CN 111027266 A CN111027266 A CN 111027266A CN 201911239513 A CN201911239513 A CN 201911239513A CN 111027266 A CN111027266 A CN 111027266A
Authority
CN
China
Prior art keywords
library file
user
netlist library
cutting boundary
fpga
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.)
Pending
Application number
CN201911239513.7A
Other languages
English (en)
Inventor
张吉锋
李川
吴滔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
S2C Inc
Original Assignee
S2C Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by S2C Inc filed Critical S2C Inc
Priority to CN201911239513.7A priority Critical patent/CN111027266A/zh
Publication of CN111027266A publication Critical patent/CN111027266A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种多个FPGA的设计分割的方法、系统、存储介质及终端,所述方法包括:根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;通过分析软件来分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的EDIF网表库文件;根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件,可以合理利用FPGA资源,能有效的解决背景技术中的问题。

Description

一种多个FPGA的设计分割的方法、系统、存储介质及终端
技术领域
本发明涉及逻辑设计技术领域,具体为一种多个FPGA的设计分割的方法、系统、存储介质及终端。
背景技术
当前,IC芯片产业飞速发展,需要进行FPGA原型验证的逻辑设计越来越庞大,一颗业界较大规模的FPGA已经难以容纳下所有的芯片的逻辑功能。用户需要设法将大的设计切割为若干个小的设计,配置到多个FPGA中,同时保证运行时整个设计的逻辑功能正确无误,性能达标。通常整个设计分割过程需要考虑到很多的因素和处理工作,非常耗费精力和时间。
而现有技术中,为了解决上述问题,主要通过手动修改设计RTL代码进行分割,分成多个独立的子模块放到每个FPGA里面;通过一些业内公司提供的专用RTL代码分割工具和软件,动态切割及配置用户的设计到多个FPG的过程来实现,但是上述方案由于需要人工操作,操作繁琐且容易出错,需要耗费巨大的时间和精力,另外方案由于运行于特定的RTL编译软件,通常情况下,用户的逻辑设计通常会采用多种不同的RTL编程语言,IP黑盒,外部网表来编写实现,该方案不能支持,或需要对设计做很大的修改才能使用,无法满足使用需求。
发明内容
为了克服现有技术方案的不足,本发明提供一种多个FPGA的设计分割的方法、系统、存储介质及终端,根据用户设定对逻辑设计自动分割,每个分割部分可以配置到单独的一颗FPGA中运行,整个设计的逻辑功能运行正确,同时达到FPGA资源的合理利用,运行期性能达到最优,能有效的解决背景技术提出的问题。
本发明解决其技术问题所采用的技术方案是:
一种多个FPGA的设计分割的方法,包括:
根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
通过分析软件来分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的EDIF网表库文件;
根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
进一步地,所述根据用户选择将用户的逻辑设计编译为统一格式的网表库文件的过程包括:
用户准备好的完整的RTL逻辑代码并选择FPGA型号;
经过EDA专用综合工具处理,产生不同的格式的门电路网表库文件;
对不同种类的门电路网表库文件进行基于模块层次及连线格式的处理、转换,输出统一的EDIF格式的网表库文件。
进一步地,用户设置的分割策略包括按照电路元器件分割和功能设计分割。
进一步地,所述根据分割策略对生成的网表库文件按照分割策略进行切割算法运输,计算得到最优切割边界的过程中,是基于最少互连线切割算法完成的。
进一步地,所述最终切割边界通过计算机分析切割边界处的门电路器件,并根据寄存器触发驱动的原则调整最优切割边界后得到的。
一种多个FPGA的设计分割的系统,包括:
编译模块,用于根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
切割模块,用于用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
边界调整模块,用于分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
转换模块,用于根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的电子设计交换格式EDIF网表库文件,根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
配置生成模块,用于根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法。
本发明提供一种终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的方法。
与现有技术相比,本发明的有益效果是:
本发明对不同的RTL设计进行统一处理,根据用户预先设定的分割策略,对逻辑设计自动分割,每个分割部分可以配置到单独的一颗FPGA中运行,整个设计的逻辑功能运行正确,同时达到FPGA资源的合理利用,运行期性能达到最优,从而方便用户快速方便地开发,设计基于多块FPGA的大容量、复杂程度高的芯片,加快SOC产品的开发流程。
附图说明
图1为本发明的分割方法整体工作过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供了一种多个FPGA的设计分割的方法,包括:
根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
其具体的过程为:
用户准备好的完整的RTL逻辑代码并选择FPGA型号;
经过EDA专用综合工具处理,产生不同的格式的门电路网表库文件;
对不同种类的门电路网表库文件进行基于模块层次及连线格式的处理、转换,输出统一的EDIF格式的网表库文件。
用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
在根据分割策略对生成的网表库文件按照分割策略进行切割算法运输,计算得到最优切割边界的过程中,是基于最少互连线切割算法完成的。
需要说明的是,用户设置的分割策略包括按照电路元器件分割和功能设计分割,用户可以根据设计需求进行选择。
通过分析软件来分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的EDIF网表库文件;
根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
作为优选的技术方案,最终切割边界通过计算机分析切割边界处的门电路器件,并根据寄存器触发驱动的原则调整最优切割边界后得到。
通过本方案,可以支持业界常用的芯片设计RTL编写方式(RTL,IP黑盒,外部网表),将设计逻辑编译成统一的数据格式的网表,根据用户设计的分割策略,对网表就行分割到多个FPGA,保证用户的设计逻辑运行正确,同时运行性能达到最优化,从而方便用户快速方便地开发,设计基于多块FPGA的大容量、复杂程度高的芯片,加快SOC产品的开发流程。
一种多个FPGA的设计分割的系统,包括:
编译模块,用于根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
切割模块,用于用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
边界调整模块,用于分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
转换模块,用于根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的EDIF网表库文件,根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
配置生成模块,用于根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述的方法。所述存储介质包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
本发明的终端,包括处理器及存储器。
所述存储器用于存储计算机程序。优选地,所述存储器包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述终端执行上述的方法。
优选地,所述处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (8)

1.一种多个FPGA的设计分割的方法,其特征在于,包括:
根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
通过分析软件来分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的电子设计交换格式EDIF网表库文件;
根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
2.根据权利要求1所述的一种多个FPGA的设计分割的方法,其特征在于:所述根据用户选择将用户的逻辑设计编译为统一格式的网表库文件的过程包括:
用户准备好的完整的寄存器层次转换RTL逻辑代码并选择FPGA型号;
经过EDA专用综合工具处理,产生不同的格式的门电路网表库文件;
对不同种类的门电路网表库文件进行基于模块层次及连线格式的处理、转换,输出统一的EDIF格式的网表库文件。
3.根据权利要求1所述的一种多个FPGA的设计分割的方法,其特征在于:用户设置的分割策略包括按照电路元器件分割和功能设计分割。
4.根据权利要求1所述的一种多个FPGA的设计分割的方法,其特征在于:所述根据分割策略对生成的网表库文件按照分割策略进行切割算法运输,计算得到最优切割边界的过程中,是基于最少互连线切割算法完成的。
5.根据权利要求1所述的一种多个FPGA的设计分割的方法,其特征在于:所述最终切割边界通过计算机分析切割边界处的门电路器件,并根据寄存器触发驱动的原则调整最优切割边界后得到的。
6.一种多个FPGA的设计分割的系统,其特征在于,包括:
编译模块,用于根据用户选择将用户的逻辑设计编译为统一格式的网表库文件;
切割模块,用于用户设置分割策略,根据分割策略对生成的网表库文件按照分割策略进行切割算法运算,计算得到最优切割边界;
边界调整模块,用于分析得到的最优切割边界,并根据所述最优切割边界调整得到最终切割边界;
转换模块,用于根据得到的最终切割边界得到多个FPGA,组合生成单个FPGA的EDIF网表库文件,根据FPGA类型转换为专用门电路网表库文件和相关配置的约束信息;
配置生成模块,用于根据生成的专用门电路网表库文件和相关配置的约束信息,利用EDA专用布线工具处理,生成可配置于FPGA的比特流文件。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
8.一种终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至5中任一项所述的方法。
CN201911239513.7A 2019-12-06 2019-12-06 一种多个fpga的设计分割的方法、系统、存储介质及终端 Pending CN111027266A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911239513.7A CN111027266A (zh) 2019-12-06 2019-12-06 一种多个fpga的设计分割的方法、系统、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911239513.7A CN111027266A (zh) 2019-12-06 2019-12-06 一种多个fpga的设计分割的方法、系统、存储介质及终端

Publications (1)

Publication Number Publication Date
CN111027266A true CN111027266A (zh) 2020-04-17

Family

ID=70207401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911239513.7A Pending CN111027266A (zh) 2019-12-06 2019-12-06 一种多个fpga的设计分割的方法、系统、存储介质及终端

Country Status (1)

Country Link
CN (1) CN111027266A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084735A (zh) * 2020-09-03 2020-12-15 国微集团(深圳)有限公司 一种基于rtl源码的fpga切割方法及系统
CN112183002A (zh) * 2020-12-02 2021-01-05 上海国微思尔芯技术股份有限公司 一种基于fpga逻辑的软件分割方法
CN112257369A (zh) * 2020-12-21 2021-01-22 上海国微思尔芯技术股份有限公司 一种逻辑设计分割方法及系统
CN112329368A (zh) * 2020-10-30 2021-02-05 盛科网络(苏州)有限公司 自动调整分割方案的方法、设备和存储介质
CN112329367A (zh) * 2020-12-02 2021-02-05 国微集团(深圳)有限公司 一种基于图卷积神经网络的逻辑设计切割方法及系统
CN112416362A (zh) * 2020-12-11 2021-02-26 北京华大九天软件有限公司 一种pdk编译功能的实现方法
CN112486248A (zh) * 2020-11-20 2021-03-12 芯原微电子(上海)股份有限公司 基于多fpga互联的收发信号恢复方法、系统以及终端
CN113255265A (zh) * 2021-06-07 2021-08-13 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113255273A (zh) * 2021-06-07 2021-08-13 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113504463A (zh) * 2021-07-02 2021-10-15 芯启源(上海)半导体科技有限公司 一种fpga原型验证中探针信号复用方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050183055A1 (en) * 2004-02-04 2005-08-18 Nortel Networks Limited Method and apparatus for automating the design of programmable logic devices
CN102789512A (zh) * 2011-05-20 2012-11-21 中国科学院微电子研究所 multi-FPGA系统的EDA工具设计方法和装置
CN106202761A (zh) * 2016-07-15 2016-12-07 中国电子科技集团公司第五十八研究所 用于大容量fpga电路功能仿真的最优网表的生成方法
CN108287932A (zh) * 2017-01-10 2018-07-17 上海复旦微电子集团股份有限公司 一种基于解析方法的总体fpga自动化布局方法
CN109284578A (zh) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 逻辑电路布局布线方法、图形化显示方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050183055A1 (en) * 2004-02-04 2005-08-18 Nortel Networks Limited Method and apparatus for automating the design of programmable logic devices
CN102789512A (zh) * 2011-05-20 2012-11-21 中国科学院微电子研究所 multi-FPGA系统的EDA工具设计方法和装置
CN106202761A (zh) * 2016-07-15 2016-12-07 中国电子科技集团公司第五十八研究所 用于大容量fpga电路功能仿真的最优网表的生成方法
CN108287932A (zh) * 2017-01-10 2018-07-17 上海复旦微电子集团股份有限公司 一种基于解析方法的总体fpga自动化布局方法
CN109284578A (zh) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 逻辑电路布局布线方法、图形化显示方法及其系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047849A1 (zh) * 2020-09-03 2022-03-10 国微集团(深圳)有限公司 一种基于rtl源码的fpga切割方法及系统
CN112084735A (zh) * 2020-09-03 2020-12-15 国微集团(深圳)有限公司 一种基于rtl源码的fpga切割方法及系统
CN112084735B (zh) * 2020-09-03 2023-12-22 深圳国微晶锐技术有限公司 一种基于rtl源码的fpga切割方法及系统
CN112329368A (zh) * 2020-10-30 2021-02-05 盛科网络(苏州)有限公司 自动调整分割方案的方法、设备和存储介质
CN112329368B (zh) * 2020-10-30 2024-04-12 苏州盛科通信股份有限公司 自动调整分割方案的方法、设备和存储介质
CN112486248A (zh) * 2020-11-20 2021-03-12 芯原微电子(上海)股份有限公司 基于多fpga互联的收发信号恢复方法、系统以及终端
CN112183002A (zh) * 2020-12-02 2021-01-05 上海国微思尔芯技术股份有限公司 一种基于fpga逻辑的软件分割方法
CN112329367A (zh) * 2020-12-02 2021-02-05 国微集团(深圳)有限公司 一种基于图卷积神经网络的逻辑设计切割方法及系统
CN112183002B (zh) * 2020-12-02 2021-03-16 上海国微思尔芯技术股份有限公司 一种基于fpga逻辑的软件分割方法
CN112416362A (zh) * 2020-12-11 2021-02-26 北京华大九天软件有限公司 一种pdk编译功能的实现方法
CN112257369A (zh) * 2020-12-21 2021-01-22 上海国微思尔芯技术股份有限公司 一种逻辑设计分割方法及系统
CN113255265A (zh) * 2021-06-07 2021-08-13 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113255273B (zh) * 2021-06-07 2021-10-01 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
WO2022257331A1 (zh) * 2021-06-07 2022-12-15 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113255265B (zh) * 2021-06-07 2021-09-28 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113255273A (zh) * 2021-06-07 2021-08-13 上海国微思尔芯技术股份有限公司 分割及验证方法、装置、电子设备、存储介质
CN113504463A (zh) * 2021-07-02 2021-10-15 芯启源(上海)半导体科技有限公司 一种fpga原型验证中探针信号复用方法

Similar Documents

Publication Publication Date Title
CN111027266A (zh) 一种多个fpga的设计分割的方法、系统、存储介质及终端
US7788625B1 (en) Method and apparatus for precharacterizing systems for use in system level design of integrated circuits
CN111125975B (zh) 一种fpga时分复用多路数据传输的方法、存储介质及终端
US10586003B1 (en) Circuit design using high level synthesis and linked hardware description language libraries
WO2020073631A1 (zh) 3d仿真数据的生成方法、系统、计算机存储介质及设备
US7958473B2 (en) Method and computer program for configuring an integrated circuit design for static timing analysis
CN112818457A (zh) 基于cad图纸的bim模型智能生成方法及系统
US9384313B2 (en) Systems and methods for increasing debugging visibility of prototyping systems
CN113255258B (zh) 逻辑综合方法、装置、电子设备及存储介质
CN115392176B (zh) SoC芯片顶层模块集成设计方法及系统
CN114692532A (zh) 芯片系统的集成方法、装置及计算机可读存储介质
US10963613B1 (en) Partial reconfiguration of integrated circuits using shell representation of platform design with extended routing region
US8566768B1 (en) Best clock frequency search for FPGA-based design
US20040088662A1 (en) Timing path detailer
CN117610491A (zh) 一种芯片设计方法、装置、设备及计算机可读存储介质
Redaelli et al. An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi‐Dimensional Reconfigurable Architectures
Wibowo Interoperability of reconfiguring system on FPGA using a design entry of hardware description
CN108334313A (zh) 用于大型soc研发的持续集成方法、装置及代码管理系统
US7389489B1 (en) Techniques for editing circuit design files to be compatible with a new programmable IC
Gharibian et al. Finding system-level information and analyzing its correlation to FPGA placement
Robertson et al. Timing verification of dynamically reconfigurable logic for the Xilinx Virtex FPGA series
Masoumi et al. New tool for converting high-level representations of finite state machines to verilog hdl
CN118394176B (zh) 一种基于Python的时钟网络自动生成的方法和装置
CN114818595B (zh) 芯片模块接口时钟构建方法、装置、存储介质及电子设备
US12093626B2 (en) Selective extraction of design layout

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
CB02 Change of applicant information

Address after: Room 660-12, building 2, 351 GuoShouJing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant after: Shanghai Guowei silcore Technology Co.,Ltd.

Address before: Room 660-12, building 2, 351 GuoShouJing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant before: S2C, Inc.

Address after: Room 660-12, building 2, 351 GuoShouJing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant after: Shanghai Sierxin Technology Co.,Ltd.

Address before: Room 660-12, building 2, 351 GuoShouJing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant before: Shanghai Guowei silcore Technology Co.,Ltd.

CB02 Change of applicant information