CN116384322B - 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 - Google Patents
一种fpga中可编程逻辑模块的连接方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116384322B CN116384322B CN202310331240.9A CN202310331240A CN116384322B CN 116384322 B CN116384322 B CN 116384322B CN 202310331240 A CN202310331240 A CN 202310331240A CN 116384322 B CN116384322 B CN 116384322B
- Authority
- CN
- China
- Prior art keywords
- modules
- programmable logic
- fpga
- signal
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 14
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication 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/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3947—Routing global
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种FPGA中可编程逻辑模块的连接方法、装置及电子设备,当FPGA中存在的不同可编程逻辑模块之间连接时如果存在跨越其他模块的情况,则在其他模块内部重新分配每种信号线的优先级,并按照重新分配后的优先级对每种信号线在其他模块内部进行布局,并最终实现不同可编程逻辑模块之间的连接一致性。因此,通过实施本发明,通过合理地调整分配走线资源,减少了对其他模块内部等有走线资源争夺的模块的性能的影响,保障了FPGA内部不同可编程逻辑模块之间的连接一致性,并最终达到了FPGA内部全局的最佳效果。
Description
技术领域
本发明涉及FPGA技术领域,具体涉及一种FPGA中可编程逻辑模块的连接方法、装置及电子设备。
背景技术
高层走线的质量(RC延迟)比低层的好,但是高层走线的资源比低层的少。可编程逻辑模块CLB是FPGA(Field Programmable Gate Array,现场可编程门阵列)当中的核心模块,会占用大量的优质顶层走线资源,在横跨其他模块(IO,CLK,DSP,BRAM,CFG)时,会大量占用这些模块的高层走线,无法平衡走线资源,导致FPGA内部不同可编程逻辑器件CLB之间连接无法保持一致性。
发明内容
有鉴于此,本发明实施例提供了涉及一种FPGA中可编程逻辑模块的连接方法、装置及电子设备,以解决现有技术中横跨其他模块时,由于无法平衡走线资源导致FPGA内部不同可编程逻辑器件CLB之间连接无法保持一致性的技术问题。
本发明提出的技术方案如下:
第一方面,本发明实施例提供一种FPGA中可编程逻辑模块的连接方法,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;该FPGA中可编程逻辑模块的连接方法包括:获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,所述FPGA中所述可编程逻辑模块的连接结果。
结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
结合第一方面,在第一方面的另一种可能的实现方式中,所述预设插入规则根据所述中继器的制造工艺确定;所述预设位置根据EDA工具计算得到。
结合第一方面,在第一方面的又一种可能的实现方式中,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
第二方面,本发明实施例提供一种FPGA中可编程逻辑模块的连接装置,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;该FPGA中可编程逻辑模块的连接装置包括:获取模块,用于获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;第一判断模块,用于当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;重新分配模块,用于当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;布局模块,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;连接模块,用于基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,所述FPGA中所述可编程逻辑模块的连接结果。
结合第二方面,在第二方面的一种可能的实现方式中,所述装置还包括:第二判断模块,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;插入模块,用于当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
结合第二方面,在第二方面的另一种可能的实现方式中,所述预设插入规则根据所述中继器的制造工艺确定;所述预设位置根据EDA工具计算得到。
结合第二方面,在第二方面的又一种可能的实现方式中,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使所述计算机执行如本发明实施例第一方面及第一方面任一项所述的FPGA中可编程逻辑模块的连接方法。
第四方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机程序,所述处理器通过执行所述计算机程序,从而执行如本发明实施例第一方面及第一方面任一项所述的FPGA中可编程逻辑模块的连接方法。
本发明提供的技术方案,具有如下效果:
本发明实施例提供的FPGA中可编程逻辑模块的连接方法,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;所述方法包括:获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,所述FPGA中所述可编程逻辑模块的连接结果。本发明中当FPGA中存在的不同可编程逻辑模块之间连接时如果存在跨越其他模块的情况,则在其他模块内部重新分配每种信号线的优先级,并按照重新分配后的优先级对每种信号线在其他模块内部进行布局,并最终实现不同可编程逻辑模块之间的连接一致性。因此,通过实施本发明,通过合理地调整分配走线资源,减少了对其他模块内部等有走线资源争夺的模块的性能的影响,保障了FPGA内部不同可编程逻辑模块之间的连接一致性,并最终达到了FPGA内部全局的最佳效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种FPGA中可编程逻辑模块的连接方法的流程图;
图2是根据本发明实施例提供的无优先级分配的CLB连接示意图;
图3是根据本发明实施例提供的按优先级分配后的CLB连接示意图;
图4是根据本发明实施例提供的一种FPGA中可编程逻辑模块的连接装置的结构框图;
图5是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图6是根据本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种FPGA中可编程逻辑模块的连接方法,其中,FPGA集成至少一个可编程逻辑模块(CLB)和走线资源库,每个可编程逻辑模块之间通过走线资源库中包含的信号线连接;如图1所示,该方法包括如下步骤:
步骤101:获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级。
具体地,FPGA内部可编程逻辑模块的数量不是固定的,且对应不同数量的可编程逻辑模块,走线资源库中包含的信号线的数量也不同。进一步,走线资源库中不同信号线的资源也不同。
因此,首先需要确定FPGA内部可编程逻辑模块的数量和走线资源库中信号线的数量,以及获取该走线资源库中每种信号线对应的资源优先级。
步骤102:当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块。
具体地,在FPGA内部连接不同可编程逻辑模块时,如果不同可编程逻辑模块之间的连接需要跨越其他模块(比如IO,CLK,DSP,BRAM,CFG等)才能完成,则无法保障不同可编程逻辑模块之间连接的一致性。
因此,为了保持不同可编程逻辑模块之间连接的一致性,当FPGA内部存在至少两个所述可编程逻辑模块时,首先需要判断不同可编程逻辑模块之间通过信号线连接时是否跨越了其他模块。
步骤103:当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级。
具体地,可编程逻辑模块本身会占用大量的优质顶层走线资源,在横跨其他模块时,会大量占用这些模块的高层走线,影响这些模块的性能,进一步使得不同可编程逻辑模块之间连接无法保持一致性。
因此,当FPGA内部不同可编程逻辑模块之间通过信号线连接时跨越了其他模块时,在其他模块中重新分配每种信号线的第一优先级,并得到每种信号线的第二优先级。
比如,走线资源库中信号线A、B、C的资源优先级为A>B>C,当FPGA内部不同可编程逻辑模块之间通过信号线连接时跨越了其他模块时,在其他模块中将信号线A、B、C的资源优先级重新分配为B>A>C。
步骤104:在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果。
具体地,在其他模块内部将每种信号线按照重新分配后的第二优先级进行布局,并得到对应的布局结果。
步骤105:基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,所述FPGA中所述可编程逻辑模块的连接结果。
具体地,将FPGA内部不同可编程逻辑模块之间跨越其他模块连接时,按照其他模块中每种信号线的布局结果进行顺序连接,得到FPGA中所述可编程逻辑模块的连接结果,该连接结果可以保障不同可编程逻辑模块之间连接的一致性。
本发明实施例提供的FPGA中可编程逻辑模块的连接方法,当FPGA中存在的不同可编程逻辑模块之间连接时如果存在跨越其他模块的情况,则在其他模块内部重新分配每种信号线的优先级,并按照重新分配后的优先级对每种信号线在其他模块内部进行布局,并最终实现不同可编程逻辑模块之间的连接一致性。因此,通过实施本发明,通过合理地调整分配走线资源,减少了对其他模块内部等有走线资源争夺的模块的性能的影响,保障了FPGA内部不同可编程逻辑模块之间的连接一致性,并最终达到了FPGA内部全局的最佳效果。
作为本发明实施例一种可选的实施方式,所述方法还包括:在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
其中,预设插入规则根据中继器的制造工艺确定;预设位置根据EDA工具计算得到。
具体地,当在其他模块内部对每种信号线按照第二优先级进行布局时,如果存在信号线线宽较小且线长较大的情况,为减少资源,在信号线中预设位置处插入中继器(repeater)。其中,具体插入规则,与repeater的制造工艺有关;具体插位可以根据EDA工具自动计算得到。
作为本发明实施例一种可选的实施方式,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
具体地,当FPGA内部不同可编程逻辑模块之间通过信号线连接时跨越了其他模块时,在其他模块中重新分配后,上述四种的优先级为:其他模块的时序关键路径的信号线〉可编程逻辑模块的关键信号线〉可编程逻辑模块的其他信号线〉其他模块的剩余信号线。
其中,可编程逻辑模块的其他信号线可以使用低层的信号。
在一实例中,FPGA内部包括两个可编程逻辑模块CLB,且两个可编程逻辑模块CLB之间连接跨越了其他模块,如图2和3所示,分别提供了无优先级分配的CLB连接示意图和按优先级分配后的CLB连接示意图。
进一步,还在其他模块内部中,在不满足预设要求的走线中插入了repeater。
本发明实施例还提供一种FPGA中可编程逻辑模块的连接装置,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;如图4所示,该装置包括:
获取模块401,用于获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;详细内容参见上述方法实施例中步骤101的相关描述。
第一判断模块402,用于当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;详细内容参见上述方法实施例中步骤102的相关描述。
重新分配模块403,用于当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;详细内容参见上述方法实施例中步骤103的相关描述。
布局模块404,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;详细内容参见上述方法实施例中步骤104的相关描述。
连接模块405,用于基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,所述FPGA中所述可编程逻辑模块的连接结果;详细内容参见上述方法实施例中步骤105的相关描述。
本发明实施例提供的FPGA中可编程逻辑模块的连接装置,当FPGA中存在的不同可编程逻辑模块之间连接时如果存在跨越其他模块的情况,则在其他模块内部重新分配每种信号线的优先级,并按照重新分配后的优先级对每种信号线在其他模块内部进行布局,并最终实现不同可编程逻辑模块之间的连接一致性。因此,通过实施本发明,通过合理地调整分配走线资源,减少了对其他模块内部等有走线资源争夺的模块的性能的影响,保障了FPGA内部不同可编程逻辑模块之间的连接一致性,并最终达到了FPGA内部全局的最佳效果。
作为本发明实施例一种可选的实施方式,所述装置还包括:第二判断模块,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;插入模块,用于当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
作为本发明实施例一种可选的实施方式,所述预设插入规则根据所述中继器的制造工艺确定;所述预设位置根据EDA工具计算得到。
作为本发明实施例一种可选的实施方式,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
本发明实施例提供的FPGA中可编程逻辑模块的连接装置的功能描述详细参见上述实施例中FPGA中可编程逻辑模块的连接方法描述。
本发明实施例还提供一种存储介质,如图5所示,其上存储有计算机程序501,该程序被处理器执行时实现上述实施例中FPGA中可编程逻辑模块的连接方法的步骤。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种电子设备,如图6所示,该电子设备可以包括处理器61和存储器62,其中处理器61和存储器62可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器61可以为中央处理器(Central Processing Unit,CPU)。处理器61还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器62作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器61通过运行存储在存储器62中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的FPGA中可编程逻辑模块的连接方法。
存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器61所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至处理器61。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器62中,当被所述处理器61执行时,执行如图1-3所示实施例中的FPGA中可编程逻辑模块的连接方法。
上述电子设备具体细节可以对应参阅图1至图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种FPGA中可编程逻辑模块的连接方法,其特征在于,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;所述方法包括:
获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;
当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;
当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;
在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;
基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,得到所述FPGA中所述可编程逻辑模块的连接结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;
当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
3.根据权利要求2所述的方法,其特征在于,所述预设插入规则根据所述中继器的制造工艺确定;所述预设位置根据EDA工具计算得到。
4.根据权利要求1所述的方法,其特征在于,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
5.一种FPGA中可编程逻辑模块的连接装置,其特征在于,所述FPGA集成至少一个可编程逻辑模块和走线资源库,每个所述可编程逻辑模块之间通过所述走线资源库中包含的信号线连接;所述装置包括:
获取模块,用于获取所述FPGA内部所述可编程逻辑模块的数量、所述走线资源库中所述信号线的数量以及所述走线资源库中每种所述信号线的第一优先级;
第一判断模块,用于当所述FPGA内部存在至少两个所述可编程逻辑模块时,判断每个所述可编程逻辑模块之间通过所述信号线连接时是否跨越其他模块;
重新分配模块,用于当每个所述可编程逻辑模块之间通过所述信号线连接时跨越所述其他模块时,在所述其他模块内部重新分配每种所述信号线的所述第一优先级,得到每种所述信号线的第二优先级;
布局模块,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局,得到所述其他模块内部每种所述信号线的布局结果;
连接模块,用于基于所述其他模块中每种所述信号线的布局结果,将所述FPGA中每个所述可编程逻辑模块进行连接,得到所述FPGA中所述可编程逻辑模块的连接结果。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述其他模块内部对每种所述信号线按照所述第二优先级进行布局时,判断每种所述信号线的宽度与长度是否满足预设要求;
插入模块,用于当所述信号线的宽度与长度不满足预设要求时,根据预设插入规则在所述信号线中预设位置插入中继器。
7.根据权利要求6所述的装置,其特征在于,所述预设插入规则根据所述中继器的制造工艺确定;所述预设位置根据EDA工具计算得到。
8.根据权利要求5所述的装置,其特征在于,所述走线资源库包括所述其他模块的时序关键路径的信号线、所述可编程逻辑模块的关键信号线、所述可编程逻辑模块的其他信号线和所述其他模块的剩余信号线。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使所述计算机执行如权利要求1至4任一项所述的FPGA中可编程逻辑模块的连接方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机程序,所述处理器通过执行所述计算机程序,从而执行如权利要求1至4任一项所述的FPGA中可编程逻辑模块的连接方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310331240.9A CN116384322B (zh) | 2023-03-30 | 2023-03-30 | 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 |
PCT/CN2023/104630 WO2024198132A1 (zh) | 2023-03-30 | 2023-06-30 | 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310331240.9A CN116384322B (zh) | 2023-03-30 | 2023-03-30 | 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116384322A CN116384322A (zh) | 2023-07-04 |
CN116384322B true CN116384322B (zh) | 2023-11-07 |
Family
ID=86962846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310331240.9A Active CN116384322B (zh) | 2023-03-30 | 2023-03-30 | 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116384322B (zh) |
WO (1) | WO2024198132A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376116B (zh) * | 2023-10-08 | 2024-05-17 | 苏州异格技术有限公司 | 虚拟交换机的配置方法、装置、计算机设备及存储介质 |
CN117807940A (zh) * | 2023-12-29 | 2024-04-02 | 苏州异格技术有限公司 | 芯片的布局设计方法、装置、计算机设备以及芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130413A (zh) * | 2022-09-01 | 2022-09-30 | 深圳市国电科技通信有限公司 | 现场可编程门阵列的拓扑结构设计方法和电子设备 |
CN115758969A (zh) * | 2022-12-01 | 2023-03-07 | 无锡中微亿芯有限公司 | 一种利用内置长线模块实现长距离布线的fpga |
CN115859883A (zh) * | 2022-12-02 | 2023-03-28 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件的线网延迟估算方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6268426B2 (ja) * | 2013-08-30 | 2018-01-31 | 富士通株式会社 | 半導体集積回路の設計方法及びプログラム |
CN103886137B (zh) * | 2014-03-03 | 2017-02-08 | 西安电子科技大学 | 一种实现现场可编程门阵列快速布局布线的方法 |
CN114970421A (zh) * | 2022-05-31 | 2022-08-30 | 京微齐力(北京)科技有限公司 | Fpga的布局方法、装置、设备及存储介质 |
-
2023
- 2023-03-30 CN CN202310331240.9A patent/CN116384322B/zh active Active
- 2023-06-30 WO PCT/CN2023/104630 patent/WO2024198132A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130413A (zh) * | 2022-09-01 | 2022-09-30 | 深圳市国电科技通信有限公司 | 现场可编程门阵列的拓扑结构设计方法和电子设备 |
CN115758969A (zh) * | 2022-12-01 | 2023-03-07 | 无锡中微亿芯有限公司 | 一种利用内置长线模块实现长距离布线的fpga |
CN115859883A (zh) * | 2022-12-02 | 2023-03-28 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件的线网延迟估算方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116384322A (zh) | 2023-07-04 |
WO2024198132A1 (zh) | 2024-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116384322B (zh) | 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 | |
US8418115B1 (en) | Routability based placement for multi-die integrated circuits | |
US10242146B2 (en) | Method and apparatus for placing and routing partial reconfiguration modules | |
CN109739700B (zh) | 一种接口测试方法和装置 | |
US8473881B1 (en) | Multi-resource aware partitioning for integrated circuits | |
CN117236253B (zh) | 一种fpga布线方法、装置、计算机设备及存储介质 | |
CN117149396B (zh) | 一种集群故障转移方法及装置、设备及存储介质 | |
CN117291140B (zh) | 自动布线工具的绕线违例减少方法、装置、存储介质及电子终端 | |
CN110659061A (zh) | Fpga动态重配置方法、装置、设备及可读存储介质 | |
CN115809620B (zh) | 仿真逻辑系统设计的方法、电子设备和存储介质 | |
CN117113900A (zh) | 基于tdm的分割处理方法及装置 | |
CN114268535B (zh) | 一种5g切片产品开通方法及装置 | |
CN109471726B (zh) | 一种利用三维模型分配硬件资源的方法及装置 | |
US8631375B2 (en) | Via selection in integrated circuit design | |
JP7062793B2 (ja) | 回路配線記憶方法、fpgaシステムおよび記憶媒体 | |
Azad et al. | SoCDep 2: A framework for dependable task deployment on many-core systems under mixed-criticality constraints | |
US10769090B2 (en) | Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program | |
US10747932B2 (en) | Smart placement, visualization and optimization methodology for component placement and planning | |
CN116306466B (zh) | 版图布局方法、版图、版图布局装置和电子设备 | |
CN112859982B (zh) | 用于芯片的自适应电压与频率调节的测试电路的实现方法 | |
CN114186521A (zh) | 一种可实现并行布线的fpga设计方法 | |
CN117807940A (zh) | 芯片的布局设计方法、装置、计算机设备以及芯片 | |
CN116306466A (zh) | 一种版图布局方法及版图结构 | |
JP5697102B2 (ja) | 画像処理システムの構成装置および構成方法 | |
CN117783841B (zh) | 一种fpga布线覆盖率测试方法、装置、设备及介质 |
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 |