CN116384322B - 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 - Google Patents

一种fpga中可编程逻辑模块的连接方法、装置及电子设备 Download PDF

Info

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
Application number
CN202310331240.9A
Other languages
English (en)
Other versions
CN116384322A (zh
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.)
Suzhou Yige Technology Co ltd
Original Assignee
Suzhou Yige Technology Co ltd
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 Suzhou Yige Technology Co ltd filed Critical Suzhou Yige Technology Co ltd
Priority to CN202310331240.9A priority Critical patent/CN116384322B/zh
Publication of CN116384322A publication Critical patent/CN116384322A/zh
Application granted granted Critical
Publication of CN116384322B publication Critical patent/CN116384322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3947Routing global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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技术领域,具体涉及一种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中可编程逻辑模块的连接方法。
CN202310331240.9A 2023-03-30 2023-03-30 一种fpga中可编程逻辑模块的连接方法、装置及电子设备 Active CN116384322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310331240.9A CN116384322B (zh) 2023-03-30 2023-03-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 (1)

Country Link
CN (1) CN116384322B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376116B (zh) * 2023-10-08 2024-05-17 苏州异格技术有限公司 虚拟交换机的配置方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
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 深圳市紫光同创电子有限公司 可编程逻辑器件的线网延迟估算方法、装置、设备及介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Similar Documents

Publication Publication Date Title
US8418115B1 (en) Routability based placement for multi-die integrated circuits
US10242146B2 (en) Method and apparatus for placing and routing partial reconfiguration modules
CN116384322B (zh) 一种fpga中可编程逻辑模块的连接方法、装置及电子设备
US9888065B2 (en) Defragmenting clusters with reserved resources
CN111950225A (zh) 一种芯片布局方法、装置、存储介质和电子设备
CN109739700B (zh) 一种接口测试方法和装置
CN105786603A (zh) 一种基于分布式的高并发业务处理系统及方法
US8473881B1 (en) Multi-resource aware partitioning for integrated circuits
CN109492310A (zh) 一种线路检查的方法及检查装置
CN117236253B (zh) 一种fpga布线方法、装置、计算机设备及存储介质
EP3440571B1 (en) Incrementally distributing logical wires onto physical sockets by reducing critical path delay
CN109598067A (zh) 印刷电路板的布线方法、布线系统、存储介质及电子设备
CN110659061B (zh) Fpga动态重配置方法、装置、设备及可读存储介质
US20130268908A1 (en) Via selection in integrated circuit design
US10769090B2 (en) Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program
JP2021534471A (ja) 回路配線記憶方法、fpgaシステムおよび記憶媒体
Azad et al. SoCDep 2: A framework for dependable task deployment on many-core systems under mixed-criticality constraints
US8762909B1 (en) System and method for automatic timing-based register placement and register location adjustment in an integrated circuit (IC)
CN112183006A (zh) 时延评估方法及装置、可读存储介质
CN109471726B (zh) 一种利用三维模型分配硬件资源的方法及装置
CN112859982B (zh) 用于芯片的自适应电压与频率调节的测试电路的实现方法
CN114268535B (zh) 一种5g切片产品开通方法及装置
CN115809620B (zh) 仿真逻辑系统设计的方法、电子设备和存储介质
CN105450481A (zh) 片上网络的布局优化方法及装置
CN114186521A (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