CN111142874B - Fpga逻辑综合中逻辑平衡控制方法及装置、系统 - Google Patents
Fpga逻辑综合中逻辑平衡控制方法及装置、系统 Download PDFInfo
- Publication number
- CN111142874B CN111142874B CN201911106124.7A CN201911106124A CN111142874B CN 111142874 B CN111142874 B CN 111142874B CN 201911106124 A CN201911106124 A CN 201911106124A CN 111142874 B CN111142874 B CN 111142874B
- Authority
- CN
- China
- Prior art keywords
- logic
- synthesized netlist
- balance
- logic synthesis
- processing device
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了FPGA逻辑综合中逻辑平衡控制方法及装置、系统,包括:后端处理装置读取前端逻辑综合装置生成的综合后网表并判断综合后网表中的逻辑平衡结果与后端需求是否匹配,若否,则生成逻辑平衡导向信息并反馈至前端逻辑综合装置;当接收到逻辑平衡导向信息时,前端逻辑综合装置对综合后网表执行逻辑平衡优化操作以生成新的综合后网表,其中,生成的综合后网表用于提供给后端处理装置。可见,实施本发明能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的优化,提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而提升了设计时序并降低功耗。
Description
技术领域
本发明涉及FPGA技术领域,尤其涉及一种FPGA逻辑综合中逻辑平衡控制方法及装置、系统。
背景技术
通过设计编译和逻辑综合,综合工具可将用户设计转换为对应芯片内部的器件模型,其中,逻辑综合的输入中包含具体的芯片信息,如芯片的型号、芯片的封装类型等,且不同型号的芯片其内部器件模型的类型和数量均不尽相同。因此,逻辑综合不仅要将用户设计转换为芯片内部的器件模型,还需要通过逻辑平衡保证相关器件模型的数量不超过芯片的容量。
在实际应用中,若综合过程中某些类型的器件模型的数量超过了芯片的容量,当前的逻辑平衡方法通常依据其自身对器件网表和寄存器转换级电路(Register TransferLevel,RTL)源码的分析将部分器件模型进行组装或拆分。然而,当前的逻辑平衡方法往往缺少有效的参考依据,导致逻辑平衡的结果难以覆盖所有用户设计,存在逻辑平衡通用性差以及逻辑平衡结果质量差的问题。
发明内容
本发明所要解决的技术问题在于,提供一种FPGA逻辑综合中逻辑平衡控制方法及装置、系统,能够通过后端处理装置的实际需求引导逻辑平衡,提高了逻辑平衡的通用性以及逻辑平衡结果的质量。
为了解决上述技术问题,本发明实施例第一方面公开了一种FPGA逻辑综合中逻辑平衡控制方法,所述方法包括:
后端处理装置读取前端逻辑综合装置生成的综合后网表,并判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配;当判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时,生成逻辑平衡导向信息,并将所述逻辑平衡导向信息反馈至所述前端逻辑综合装置;
当接收到所述后端处理装置反馈的所述逻辑平衡导向信息时,所述前端逻辑综合装置根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表;
其中,所述前端逻辑综合装置生成的所述综合后网表用于提供给所述后端处理装置。
作为一种可选的实施方式,在本发明实施例第一方面中,所述逻辑平衡导向信息包括需要执行所述逻辑平衡优化操作的目标位置和/或对所述目标位置的优化方向。
作为一种可选的实施方式,在本发明实施例第一方面中,所述目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对所述目标位置的优化方向包括所述目标位置处的器件模型的实现方式。
作为一种可选的实施方式,在本发明实施例第一方面中,所述方法还包括:
所述前端逻辑综合装置读取用户设计,对读取到的所述用户设计执行逻辑综合操作得到逻辑综合结果;
所述前端逻辑综合装置判断所述逻辑综合结果中器件模型的总数量是否超过所述用户设计对应芯片的容量;
当判断结果为否时,所述前端逻辑综合装置根据所述逻辑综合结果生成初始提供给所述后端处理装置的综合后网表;
当判断结果为是时,所述前端逻辑综合装置根据预先确定出的逻辑平衡算法对所述逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果,并根据所述优化后的逻辑综合结果生成初始提供给所述后端处理装置的综合后网表。
作为一种可选的实施方式,在本发明实施例第一方面中,所述后端处理装置读取前端逻辑综合装置生成的综合后网表,包括:
所述后端处理装置读取前端逻辑综合装置初始生成的综合后网表;或者,
所述后端处理装置读取前端逻辑综合装置当前生成的综合后网表;
其中,所述前端逻辑综合当前生成的综合后网表是由所述前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的器件模型进行逻辑平衡优化后得到的,所述当前时刻为所述前端逻辑综合装置当前生成综合后网表的时刻。
作为一种可选的实施方式,在本发明实施例第一方面中,所述后端处理装置读取前端逻辑综合装置生成的综合后网表之后,所述方法还包括:
所述后端处理装置对读取到的所述综合后网表执行目标操作,得到与所述目标操作对应的操作结果,并根据与所述目标操作对应的操作结果确定所述后端处理装置的后端需求,并触发执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作;
其中,所述目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
作为一种可选的实施方式,在本发明实施例第一方面中,所述后端处理装置读取前端逻辑综合装置生成的综合后网表之后,所述方法还包括:
所述后端处理装置判断读取到的所述综合后网表是否为有效综合后网表;
当判断出所述综合后网表为所述有效综合后网表时,所述后端处理装置执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作。
作为一种可选的实施方式,在本发明实施例第一方面中,所述后端处理装置判断读取到的所述综合后网表是否为有效综合后网表,包括:
所述后端处理装置确定读取到的所述综合后网表唯一对应的目标标识信息;
所述后端处理装置判断所述目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出所述目标标识信息不为所述标识信息集合中的其中一个时,确定所述综合后网表为有效综合后网表,所述标识信息集合用于存放所述后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
所述后端处理装置判断所述目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出所述目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定所述综合后网表为有效综合后网表。
本发明实施例第二方面公开了一种前端逻辑综合装置,所述前端逻辑综合装置包括:
生成模块,用于生成综合后网表;
检测模块,用于检测是否接收到后端处理装置针对所述生成模块生成的所述综合后网表反馈的逻辑平衡导向信息;
所述生成模块,还用于当所述检测模块检测到所述后端处理装置反馈的所述逻辑平衡导向信息时,根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表;
其中,所述生成模块生成的所述综合后网表用于提供给所述后端处理装置,以触发所述后端处理装置判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,且所述逻辑平衡导向信息是由所述后端处理装置判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时生成的。
作为一种可选的实施方式,在本发明实施例第二方面中,所述逻辑平衡导向信息包括需要执行所述逻辑平衡优化操作的目标位置和/或对所述目标位置的优化方向。
作为一种可选的实施方式,在本发明实施例第二方面中,所述目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对所述目标位置的优化方向包括所述目标位置处的器件模型的实现方式。
作为一种可选的实施方式,在本发明实施例第二方面中,所述前端逻辑综合装置还包括:
逻辑综合模块,用于读取用户设计,对读取到的所述用户设计执行逻辑综合操作得到逻辑综合结果;
容量判断模块,用于判断所述逻辑综合结果中器件模型的总数量是否超过所述用户设计对应芯片的容量;
所述生成模块生成综合后网表的具体方式为:
当所述容量判断模块判断出所述逻辑综合结果中器件模型的总数量未超过所述用户设计对应芯片的容量时,根据所述逻辑综合结果生成初始提供给所述后端处理装置的综合后网表;
当所述容量判断模块判断出所述逻辑综合结果中器件模型的总数量超过所述用户设计对应芯片的容量时,根据预先确定出的逻辑平衡算法对所述逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果,并根据所述优化后的逻辑综合结果生成初始提供给所述后端处理装置的综合后网表。
本发明实施例第三方面公开了一种后端处理装置,所述后端处理装置包括:
读取模块,用于读取前端逻辑综合装置生成的综合后网表;
判断模块,用于判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配;
逻辑平衡导向模块,用于当所述判断模块判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时,生成逻辑平衡导向信息;
反馈模块,用于将所述逻辑平衡导向信息反馈至所述前端逻辑综合装置,以触发所述前端逻辑综合装置根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
作为一种可选的实施方式,在本发明实施例第三方面中,所述逻辑平衡导向信息包括需要执行所述逻辑平衡优化操作的目标位置和/或对所述目标位置的优化方向。
作为一种可选的实施方式,在本发明实施例第三方面中,所述目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对所述目标位置的优化方向包括所述目标位置处的器件模型的实现方式。
作为一种可选的实施方式,在本发明实施例第三方面中,所述读取模块读取前端逻辑综合装置生成的综合后网表的具体方式为:
读取前端逻辑综合装置初始生成的综合后网表;或者,
读取前端逻辑综合装置当前生成的综合后网表;
其中,所述前端逻辑综合当前生成的综合后网表是由所述前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的器件模型进行逻辑平衡优化后得到的,所述当前时刻为所述前端逻辑综合装置当前生成综合后网表的时刻。
作为一种可选的实施方式,在本发明实施例第三方面中,所述后端处理装置还包括:
执行模块,用于在所述读取模块读取前端逻辑综合装置生成的综合后网表之后,对读取到的所述综合后网表执行目标操作,得到与所述目标操作对应的操作结果;
确定模块,用于根据与所述目标操作对应的操作结果确定所述后端处理装置的后端需求,并触发所述判断模块执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配;
其中,所述目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
作为一种可选的实施方式,在本发明实施例第三方面中,所述判断模块,还用于在所述读取模块读取前端逻辑综合装置生成的综合后网表之后,判断读取到的所述综合后网表是否为有效综合后网表;当判断出所述综合后网表为所述有效综合后网表时,执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配。
作为一种可选的实施方式,在本发明实施例第三方面中,所述判断模块判断读取到的所述综合后网表是否为有效综合后网表的具体方式为:
确定读取到的所述综合后网表唯一对应的目标标识信息;
判断所述目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出所述目标标识信息不为所述标识信息集合中的其中一个时,确定所述综合后网表为有效综合后网表,所述标识信息集合用于存放所述后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
判断所述目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出所述目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定所述综合后网表为有效综合后网表。
本发明实施例第四方面公开了另一种前端逻辑综合装置,所述前端逻辑综合装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面公开的FPGA逻辑综合中逻辑平衡控制方法中前端逻辑综合装置所执行的步骤。
本发明实施例第五方面公开了另一种后端处理装置,所述后端处理装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面公开的FPGA逻辑综合中逻辑平衡控制方法中后端处理装置所执行的步骤。
本发明实施例第六方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明实施例第一方面公开的FPGA逻辑综合中逻辑平衡控制方法中前端逻辑综合装置所执行的步骤。
本发明实施例第七方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明实施例第一方面公开的FPGA逻辑综合中逻辑平衡控制方法中后端处理装置所执行的步骤。
本发明实施例第八方面公开了一种FPGA逻辑综合中逻辑平衡控制系统,所述系统包括本发明实施例第二方面公开的前端逻辑综合装置以及本发明实施例第三方面公开的后端处理装置。
与现有技术相比,本发明实施例具有以下有益效果:
实施本发明实施例能够在后端处理装置读取到综合后网表之后判断综合后网表中的逻辑平衡结果是否满足后端需求,若不满足,则向前端逻辑综合装置反馈逻辑平衡导向信息以使前端逻辑综合装置对综合后网表中的逻辑平衡结果进行优化并生成新的综合后网表,这样能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种FPGA逻辑综合中逻辑平衡控制方法的流程示意图;
图2是本发明实施例公开的另一种FPGA逻辑综合中逻辑平衡控制方法的流程示意图;
图3是本发明实施例公开的一种前端逻辑综合装置的结构示意图;
图4是本发明实施例公开的另一种前端逻辑综合装置的结构示意图;
图5是本发明实施例公开的又一种前端逻辑综合装置的结构示意图;
图6是本发明实施例公开的一种后端处理装置的结构示意图;
图7是本发明实施例公开的另一种后端处理装置的结构示意图;
图8是本发明实施例公开的又一种后端处理装置的结构示意图;
图9是本发明实施例公开的一种FPGA逻辑综合中逻辑平衡控制系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种FPGA逻辑综合中逻辑平衡控制方法及装置、系统,能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。以下分别进行详细说明。
请参阅图1,图1是本发明实施例公开的一种FPGA逻辑综合中逻辑平衡控制方法的流程示意图。其中,图1所描述的方法可以应用于EDA开发工具中,该EDA开发工具至少包括前端逻辑综合装置和后端处理装置。如图1所示,该FPGA逻辑综合中逻辑平衡控制方法可以包括以下操作:
101、后端处理装置读取前端逻辑综合装置生成的综合后网表。
本发明实施例中,可选的,后端处理装置读取前端逻辑综合装置生成的综合后网表,可以包括:
后端处理装置接收前端逻辑综合装置发送的综合后网表;或者,
后端处理装置直接或者根据操作人员的拷贝操作/剪切操作从存储有前端逻辑综合装置生成的综合后网表的存储装置中读取前端逻辑综合装置生成的综合后网表;或者,
后端处理装置从存储有前端逻辑综合装置生成的综合后网表的内存数据块中读取前端逻辑综合装置生成的综合后网表,可选的,内存数据块可以为共享内存数据块。
需要说明的是,在后端处理装置接收前端逻辑综合装置发送的综合后网表的实施方式中,前端逻辑综合装置生成综合后网表之后可以直接将生成的综合后网表发送至后端处理装置,也可以根据操作人员触发的发送指令将生成的综合后网表发送至后端处理装置,还可以根据后端处理装置发送的综合后网表获取指令将生成的综合后网表发送至后端处理装置,本发明实施例不做限定。
本发明实施例中,后端处理装置读取到的综合后网表可以是前端逻辑综合装置初始生成的综合后网表(又称初始综合后网表),也可以是前端逻辑综合装置当前生成的综合后网表,其中,前端逻辑综合当前生成的综合后网表是由前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的逻辑平衡结果进行优化后得到的,当前时刻为前端逻辑综合装置当前生成综合后网表的时刻。
102、后端处理装置判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,当步骤102的判断结果为是时,可以结束本次流程;当步骤102的判断结果为否时,可以触发执行步骤103。
本发明实施例中,预先确定出的后端需求可以是由开发人员预先录入至后端处理装置的,也可以是后端处理装置在读取到综合后网表之后自动化分析得到的,本发明实施例不做限定。
103、后端处理装置生成逻辑平衡导向信息,并将逻辑平衡导向信息反馈至前端逻辑综合装置。
104、当接收到后端处理装置反馈的逻辑平衡导向信息时,前端逻辑综合装置根据逻辑平衡导向信息对综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式。这样能够为前端逻辑综合装置提供精确的逻辑平衡优化导向信息,有利于提高逻辑平衡的优化效率以及优化准确率。
进一步可选的,当该逻辑平衡导向信息包括的目标位置有多个时,该逻辑平衡导向信息还可以包括每个目标位置对应的优先级,以便于前端逻辑综合装置在进行逻辑平衡优化时资源不足的情况下根据需要进行优化的每个目标位置对应的优先级确定优先优化的内容。其中,优先级越高,对应目标位置处的待优化内容重要性就越高,在资源不足的情况下,前端逻辑综合装置优先优化优先级较高的目标位置处的待优化内容,以确保对该部分内容进行优化的效率及准确率。
在一个可选的实施例中,在后端处理装置生成逻辑平衡导向信息之后,以及在将逻辑平衡导向信息反馈至前端逻辑综合装置之前,该方法还可以包括以下操作:
后端处理装置对比当前生成的逻辑平衡导向信息与在当前生成逻辑平衡导向信息之前最新生成的逻辑平衡导向信息是否相同,得到对比结果。
本发明实施例中,当对比结果为是时,也即当对比结果表示当前生成的逻辑平衡导向信息与在当前生成逻辑平衡导向信息之前最新生成的逻辑平衡导向信息相同时,可以结束本次流程;当对比结果为否时,也即当对比结果表示当前生成的逻辑平衡导向信息与在当前生成逻辑平衡导向信息之前最新生成的逻辑平衡导向信息不相同时,触发执行上述的将逻辑平衡导向信息反馈至前端逻辑综合装置的步骤。
进一步可选的,当对比结果为是时,后端处理装置也可以执行以下操作:
后端处理装置重新确定后端需求,并触发执行上述步骤102。
又进一步可选的,当对比结果为是时,后端处理装置重新确定后端需求之前,后端处理装置还可以执行以下操作:
后端处理装置判断连续对比当前生成的逻辑平衡导向信息与在当前生成逻辑平衡导向信息之前最新生成且反馈至前端逻辑综合装置的逻辑平衡导向信息相同的对比次数是否超过预设次数阈值,当判断结果为否时,执行上述的重新确定后端需求并触发执行上述步骤102的操作,当判断结果为是时,可以结束本次流程。这样设置对比次数约束条件的方式能够减少后端处理装置多次确定后端需求进而导致的逻辑平衡优化效率低的情况发生。
可见,该可选的实施例能够减少引导前端逻辑综合装置重复执行相同的逻辑平衡优化操作的情况发生,提高了向前端逻辑综合装置反馈的逻辑平衡导向信息的可靠性与准确性,也在一定程度上提高了逻辑平衡优化的效率与准确率。
可见,实施图1所描述的FPGA逻辑综合中逻辑平衡控制方法能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。此外,还能够减少引导前端逻辑综合装置重复执行相同的逻辑平衡优化操作的情况发生,提高了向前端逻辑综合装置反馈的逻辑平衡导向信息的可靠性与准确性,也在一定程度上提高了逻辑平衡优化的效率与准确率,以及通过设置对比次数约束条件的方式能够减少后端处理装置多次确定后端需求进而导致的逻辑平衡优化效率低的情况发生。
实施例二
请参阅图2,图2是本发明实施例公开的另一种FPGA逻辑综合中逻辑平衡控制方法的流程示意图。其中,图2所描述的方法可以应用于EDA开发工具中,该EDA开发工具至少包括前端逻辑综合装置和后端处理装置。如图2所示,该FPGA逻辑综合中逻辑平衡控制方法可以包括以下操作:
201、前端逻辑综合装置读取用户设计,对读取到的用户设计执行逻辑综合操作得到逻辑综合结果。
202、前端逻辑综合装置判断逻辑综合结果中器件模型的总数量是否超过用户设计对应芯片的容量,当步骤202的判断结果为是时,触发执行步骤203;当步骤202的判断结果为否时,触发执行步骤204。
本发明实施例中,逻辑综合结果中器件模型的总数量与前端逻辑综合装置读取到的、用户设计对应芯片的芯片信息相匹配,用户设计对应芯片的芯片信息可以包括芯片的型号和/或芯片的封装类型等。
203、前端逻辑综合装置根据预先确定出的逻辑平衡算法对逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果。
204、前端逻辑综合装置根据逻辑综合结果生成初始提供给后端处理装置的综合后网表。
205、前端逻辑综合装置向后端处理装置提供其生成的综合后网表。
206、后端处理装置读取前端逻辑综合装置生成的综合后网表。
207、后端处理装置判断读取到的综合后网表是否为有效综合后网表,当步骤207的判断结果为是时,触发执行步骤208;当步骤207的判断结果为否时,可以结束本次流程。
需要说明的是,当步骤207的判断结果为是时,后端处理装置也可以触发执行步骤210,本发明实施例不做限定。
作为一种可选的实施方式,后端处理装置判断读取到的综合后网表是否为有效综合后网表可以包括:
后端处理装置确定读取到的综合后网表唯一对应的目标标识信息;
后端处理装置判断目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出目标标识信息不为标识信息集合中的其中一个时,确定综合后网表为有效综合后网表,标识信息集合用于存放后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
后端处理装置判断目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定综合后网表为有效综合后网表。
可见,该可选的实施方式通过对当前读取到的综合后网表进行有效性判断的方式能够减少后端处理装置误读取到重复的综合后网表而导致的重复判断综合后网表中的逻辑平衡结果是否需要进行优化的操作,提高了对读取到的综合后网表中逻辑平衡结果进行优化判断的准确性以及可靠性。
需要说明的是,在另一个实施例中,在执行完毕步骤206之后可以直接触发执行步骤208,也可以直接触发执行步骤210,本发明实施例不做限定。
208、后端处理装置对读取到的综合后网表执行目标操作,得到与目标操作对应的操作结果。
其中,目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
209、后端处理装置根据与目标操作对应的操作结果确定后端处理装置的后端需求。
210、后端处理装置判断综合后网表中的逻辑平衡结果与确定出的后端需求是否匹配,当步骤210的判断结果为是时,可以结束本次流程;当步骤210的判断结果为否时,可以触发执行步骤211。
本发明实施例中,后端处理装置判断综合后网表中的逻辑平衡结果与确定出的后端需求是否匹配也即后端处理装置判断综合后网表中的逻辑平衡结果是否合理,具体为:
后端处理装置判断综合后网表的逻辑平衡结果中局部逻辑电路的实现是否符合后端布局布线的要求和/或是否使得后端布局布线的结果与绕线相匹配和/或是否更有利于提高时序和/或是否有利于降低功耗等,得到判断结果。
其中,若判断结果表示综合后网表中的逻辑平衡结果不合理,则触发执行步骤211。例如:当判断出存储器、乘法器、加法器的实现方式不合理,或者判断出拆分的存储器更适合保留下来,或者判断出原本保留的存储器需要进行拆分等,后端处理装置确定综合后网表中的逻辑平衡结果不合理,若未发现前述情况,则后端处理装置确定综合后网表中的逻辑平衡结果合理。
211、后端处理装置生成逻辑平衡导向信息。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式,例如,对于存储器的实现方式分为块存储器、分布式存储器或寄存器;对于加法器/乘法器的实现方式为通过硬件模块实现或者通过逻辑电路实现。进一步的,逻辑平衡导向信息可以具体为以下两种方式中的其中一种:
一、存储器/乘法器/加法器的实现方式不合理,例如需要用到存储器的位置却用成了分布式存储器或寄存器;
二、存储器/乘法器/加法器的数量超出芯片容量后需要拆分成组合逻辑来实现的器件,例如该保留的器件却被拆分成组合逻辑,又如该拆分成组合逻辑的器件却保留下来并通过硬件模块实现。
可见,本发明实施例能够使前端逻辑综合装置根据逻辑平衡导向信息区分需要拆分成组合逻辑的器件、需要通过硬件模块来实现的器件,并进一步根据逻辑平衡导向信息确定具体使用的硬件模块,为前端逻辑综合装置提供了精确的逻辑平衡优化导向信息。
212、后端处理装置将逻辑平衡导向信息反馈至前端逻辑综合装置。
213、当接收到后端处理装置反馈的逻辑平衡导向信息时,前端逻辑综合装置根据逻辑平衡导向信息对综合后网表执行逻辑平衡优化操作以生成新的综合后网表,并重新触发执行步骤205。
可见,实施图2所描述的FPGA逻辑综合中逻辑平衡控制方法能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。此外,还能够使前端逻辑综合装置根据逻辑平衡导向信息区分需要拆分成组合逻辑的器件、需要通过硬件模块来实现的器件,并进一步根据逻辑平衡导向信息确定具体使用的硬件模块,为前端逻辑综合装置提供了精确的逻辑平衡优化导向信息。此外,还能够根据操作结果智能化分析得到后端需求,为后续判断综合后网表中的逻辑平衡结果是否满足后端需求提供了判断依据,提高了判断综合后网表中的逻辑平衡结果是否满足后端需求的判断结果的准确性。
实施例三
本发明实施例公开了又一种FPGA逻辑综合中逻辑平衡控制方法,该方法应用于EDA开发工具中包括的前端逻辑综合装置中,该方法可以包括以下操作:
前端逻辑综合装置生成综合后网表;
前端逻辑综合装置检测是否接收到后端处理装置针对生成的综合后网表反馈的逻辑平衡导向信息;
当检测到后端处理装置反馈的逻辑平衡导向信息时,前端逻辑综合装置根据逻辑平衡导向信息对综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
其中,前端逻辑综合装置生成的综合后网表用于提供给后端处理装置,以触发后端处理装置判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,且逻辑平衡导向信息是由后端处理装置判断出综合后网表中的逻辑平衡结果与后端需求不匹配时生成的。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式。
在一个可选的实施例中,前端逻辑综合装置还可以执行以下操作:
前端逻辑综合装置读取用户设计,对读取到的用户设计执行逻辑综合操作得到逻辑综合结果;
前端逻辑综合装置判断逻辑综合结果中器件模型的总数量是否超过用户设计对应芯片的容量;
当判断出逻辑综合结果中器件模型的总数量未超过用户设计对应芯片的容量时,前端逻辑综合装置根据逻辑综合结果生成初始提供给后端处理装置的综合后网表;
当判断出逻辑综合结果中器件模型的总数量超过用户设计对应芯片的容量时,前端逻辑综合装置根据预先确定出的逻辑平衡算法对逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果,并根据优化后的逻辑综合结果生成初始提供给后端处理装置的综合后网表。
本发明实施例中,针对前端逻辑综合装置的其它详细描述请参照实施例一及实施例二中的详细描述,本发明实施例不再赘述。
可见,实施本发明实施例能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。
实施例四
本发明实施例公开了又一种FPGA逻辑综合中逻辑平衡控制方法,该方法应用于EDA开发工具中包括的后端处理装置中,该方法可以包括以下操作:
后端处理装置读取前端逻辑综合装置生成的综合后网表;
后端处理装置判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,当判断结果为是时,可以结束本次流程;当判断结果为否时,生成逻辑平衡导向信息,并将逻辑平衡导向信息反馈至前端逻辑综合装置。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式。
在一个可选的实施例中,后端处理装置读取前端逻辑综合装置生成的综合后网表,包括:
后端处理装置读取前端逻辑综合装置初始生成的综合后网表;或者,
后端处理装置读取前端逻辑综合装置当前生成的综合后网表。
其中,前端逻辑综合当前生成的综合后网表是由前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的器件模型进行逻辑平衡优化后得到的,当前时刻为前端逻辑综合装置当前生成综合后网表的时刻。
在另一个可选的实施例中,在读取前端逻辑综合装置生成的综合后网表之后,后端处理装置还可以执行以下操作:
后端处理装置对读取到的综合后网表执行目标操作,得到与目标操作对应的操作结果,并根据与目标操作对应的操作结果确定后端处理装置的后端需求,并触发执行上述的判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作。
其中,目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
在又一个可选的实施例中,在读取前端逻辑综合装置生成的综合后网表之后,后端处理装置还可以执行以下操作:
后端处理装置判断读取到的综合后网表是否为有效综合后网表。
当判断出综合后网表为有效综合后网表时,后端处理装置执行上述的判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作。
在该又一种可选的实施例中,后端处理装置判断读取到的综合后网表是否为有效综合后网表可以包括:
后端处理装置确定读取到的所述综合后网表唯一对应的目标标识信息;
后端处理装置判断目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出目标标识信息不为标识信息集合中的其中一个时,确定综合后网表为有效综合后网表,标识信息集合用于存放后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
后端处理装置判断目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定综合后网表为有效综合后网表。
本发明实施例中,针对后端处理装置的其它详细描述请参照实施例一及实施例二中的详细描述,本发明实施例不再赘述。
可见,实施本发明实施例能够使后端处理装置对读取到的综合后网表进行逻辑平衡优化判断且在判断出综合后网表中逻辑平衡结果不合理时反馈逻辑平衡导向信息以实现对综合后网表中逻辑平衡结果的多次优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。
实施例五
请参阅图3,图3是本发明实施例公开的一种前端逻辑综合装置的结构示意图。如图3所示,该前端逻辑综合装置可以包括:
生成模块301,用于生成综合后网表。
检测模块302,用于检测是否接收到后端处理装置针对生成模块301生成的综合后网表反馈的逻辑平衡导向信息。
生成模块301,还用于当检测模块302检测到后端处理装置反馈的逻辑平衡导向信息时,根据逻辑平衡导向信息对综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
其中,生成模块301生成的综合后网表用于提供给后端处理装置,以触发后端处理装置判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,且逻辑平衡导向信息是由后端处理装置判断出综合后网表中的逻辑平衡结果与后端需求不匹配时生成的。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式。
在另一个可选的实施例中,如图4所示,前端逻辑综合装置还可以包括:
逻辑综合模块303,用于读取用户设计,对读取到的用户设计执行逻辑综合操作得到逻辑综合结果。
容量判断模块304,用于判断逻辑综合结果中器件模型的总数量是否超过用户设计对应芯片的容量。
生成模块301生成综合后网表的具体方式为:
当容量判断模块304判断出逻辑综合结果中器件模型的总数量未超过用户设计对应芯片的容量时,根据逻辑综合结果生成初始提供给后端处理装置的综合后网表;
当容量判断模块304判断出逻辑综合结果中器件模型的总数量超过用户设计对应芯片的容量时,根据预先确定出的逻辑平衡算法对逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果,并根据优化后的逻辑综合结果生成初始提供给后端处理装置的综合后网表。
可见,实施图4所描述的前端逻辑综合装置能够根据后端处理装置反馈的逻辑平衡导向信息实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。
实施例六
请参阅图5,图5是本发明实施例公开的又一种前端逻辑综合装置的结构示意图。如图5所示,该前端逻辑综合装置可以包括:
存储有可执行程序代码的存储器401;
与存储器耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一~实施例三中任一实施例公开的FPGA逻辑综合中逻辑平衡控制方法中前端逻辑综合装置所执行的步骤。
实施例七
请参阅图6,图6是本发明实施例公开的一种后端处理装置的结构示意图。如图6所示,该后端处理装置可以包括:
读取模块501,用于读取前端逻辑综合装置生成的综合后网表。
判断模块502,用于判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配。
逻辑平衡导向模块503,用于当判断模块502判断出综合后网表中的逻辑平衡结果与后端需求不匹配时,生成逻辑平衡导向信息。
可选的,逻辑平衡导向信息包括需要执行逻辑平衡优化操作的目标位置和/或对目标位置的优化方向。进一步可选的,目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对目标位置的优化方向包括目标位置处的器件模型的实现方式。
反馈模块504,用于将逻辑平衡导向信息反馈至前端逻辑综合装置,以触发前端逻辑综合装置根据逻辑平衡导向信息对综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
在一个可选的实施例中,读取模块501读取前端逻辑综合装置生成的综合后网表的具体方式为:
读取前端逻辑综合装置初始生成的综合后网表;或者,
读取前端逻辑综合装置当前生成的综合后网表;
其中,前端逻辑综合当前生成的综合后网表是由前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的器件模型进行逻辑平衡优化后得到的,当前时刻为前端逻辑综合装置当前生成综合后网表的时刻。
在又一个可选的实施例中,如图7所示,该后端处理装置还可以包括:
执行模块505,用于在读取模块501读取前端逻辑综合装置生成的综合后网表之后,对读取到的综合后网表执行目标操作,得到与目标操作对应的操作结果。
确定模块506,用于根据与目标操作对应的操作结果确定后端处理装置的后端需求,并触发判断模块502执行上述的判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配。
其中,目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
在又一个可选的实施例中,判断模块502,还用于在读取模块501读取前端逻辑综合装置生成的综合后网表之后,判断读取到的综合后网表是否为有效综合后网表;当判断出综合后网表为所述有效综合后网表时,执行上述的判断综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配。
在该可选的实施例中,判断模块502判断读取到的综合后网表是否为有效综合后网表的具体方式为:
确定读取到的综合后网表唯一对应的目标标识信息;
判断目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出目标标识信息不为标识信息集合中的其中一个时,确定综合后网表为有效综合后网表,标识信息集合用于存放后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
判断目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定综合后网表为有效综合后网表。
可见,实施图7所描述的后端处理装置能够对多次读取到的综合后网表进行逻辑平衡优化判断且在判断出综合后网表中逻辑平衡结果不合理时反馈逻辑平衡导向信息以实现对综合后网表中逻辑平衡结果的多次迭代优化,不仅提高了逻辑平衡结果优化方式的通用性以及优化效率,还提高了逻辑平衡优化后的结果与后端需求的匹配度,进而有利于提升设计时序并降低功耗。此外,还能够根据操作结果智能化分析得到后端需求,为后续判断综合后网表中的逻辑平衡结果是否满足后端需求提供了判断依据,提高了判断综合后网表中的逻辑平衡结果是否满足后端需求的判断结果的准确性。此外,还通过对当前读取到的综合后网表进行有效性判断的方式能够减少后端处理装置误读取到重复的综合后网表而导致的重复判断综合后网表中的逻辑平衡结果是否需要进行优化的操作,提高了对读取到的综合后网表中逻辑平衡结果进行优化判断的准确性以及可靠性。
实施例八
请参阅图8,图8是本发明实施例公开的又一种后端处理装置的结构示意图。如图8所示,该后端处理装置可以包括:
存储有可执行程序代码的存储器601;
与存储器耦合的处理器602;
处理器602调用存储器601中存储的可执行程序代码,执行本发明实施例一、实施例二或实施例四公开的FPGA逻辑综合中逻辑平衡控制方法中后端处理装置所执行的步骤。
实施例九
请参阅图9,图9是本发明实施例公开的一种FPGA逻辑综合中逻辑平衡控制系统的结构示意图。如图9所示,该FPGA逻辑综合中逻辑平衡控制系统可以包括本发明实施例第五方面公开的前端逻辑综合装置以及本发明实施例第七方面公开的后端处理装置。
实施例十
本发明实施例公开了一种计算机存储介质,计算机存储介质存储有计算机指令,计算机指令被调用时,用于执行本发明实施例一~实施例三中任意一个实施例公开的FPGA逻辑综合中逻辑平衡控制方法中前端逻辑综合装置所执行的步骤。
实施例十一
本发明实施例公开了一种计算机可存储介质,计算机存储介质存储有计算机指令,计算机指令被调用时,用于执行本发明实施例一、实施例二或实施例四中公开的FPGA逻辑综合中逻辑平衡控制方法中后端处理装置所执行的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种FPGA逻辑综合中逻辑平衡控制方法及装置、系统所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (11)
1.一种FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述方法包括:
后端处理装置读取前端逻辑综合装置生成的综合后网表,并判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配;当判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时,生成逻辑平衡导向信息,并将所述逻辑平衡导向信息反馈至所述前端逻辑综合装置;
当接收到所述后端处理装置反馈的所述逻辑平衡导向信息时,所述前端逻辑综合装置根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表;
其中,所述前端逻辑综合装置生成的所述综合后网表用于提供给所述后端处理装置。
2.根据权利要求1所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述逻辑平衡导向信息包括需要执行所述逻辑平衡优化操作的目标位置和/或对所述目标位置的优化方向。
3.根据权利要求2所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述目标位置包括需要拆分的器件模型的位置和/或需要保留的器件模型的位置,对所述目标位置的优化方向包括所述目标位置处的器件模型的实现方式。
4.根据权利要求1-3任一项所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述方法还包括:
所述前端逻辑综合装置读取用户设计,对读取到的所述用户设计执行逻辑综合操作得到逻辑综合结果;
所述前端逻辑综合装置判断所述逻辑综合结果中器件模型的总数量是否超过所述用户设计对应芯片的容量;
当判断结果为否时,所述前端逻辑综合装置根据所述逻辑综合结果生成初始提供给所述后端处理装置的综合后网表;
当判断结果为是时,所述前端逻辑综合装置根据预先确定出的逻辑平衡算法对所述逻辑综合结果中的器件模型进行优化,得到优化后的逻辑综合结果,并根据所述优化后的逻辑综合结果生成初始提供给所述后端处理装置的综合后网表。
5.根据权利要求1-3任一项所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述后端处理装置读取前端逻辑综合装置生成的综合后网表,包括:
所述后端处理装置读取前端逻辑综合装置初始生成的综合后网表;或者,
所述后端处理装置读取前端逻辑综合装置当前生成的综合后网表;
其中,所述前端逻辑综合当前生成的综合后网表是由所述前端逻辑综合装置对在当前时刻之前最新生成的综合后网表中的器件模型进行逻辑平衡优化后得到的,所述当前时刻为所述前端逻辑综合装置当前生成综合后网表的时刻。
6.根据权利要求5所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述后端处理装置读取前端逻辑综合装置生成的综合后网表之后,所述方法还包括:
所述后端处理装置对读取到的所述综合后网表执行目标操作,得到与所述目标操作对应的操作结果,并根据与所述目标操作对应的操作结果确定所述后端处理装置的后端需求作为预先确定出的后端需求,并触发执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作;
其中,所述目标操作包括布局布线操作、时序分析操作、功耗分析操作、局部面积分析操作以及关键路径分析操作中的至少一种。
7.根据权利要求1、2、3或6所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述后端处理装置读取前端逻辑综合装置生成的综合后网表之后,所述方法还包括:
所述后端处理装置判断读取到的所述综合后网表是否为有效综合后网表;
当判断出所述综合后网表为所述有效综合后网表时,所述后端处理装置执行所述的判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配的操作。
8.根据权利要求7所述的FPGA逻辑综合中逻辑平衡控制方法,其特征在于,所述后端处理装置判断读取到的所述综合后网表是否为有效综合后网表,包括:
所述后端处理装置确定读取到的所述综合后网表唯一对应的目标标识信息;
所述后端处理装置判断所述目标标识信息是否为预先确定出的标识信息集合中的其中一个,当判断出所述目标标识信息不为所述标识信息集合中的其中一个时,确定所述综合后网表为有效综合后网表,所述标识信息集合用于存放所述后端处理装置已进行过逻辑平衡优化判断的所有综合后网表的标识信息;或者,
所述后端处理装置判断所述目标标识信息与上一次读取的综合后网表的标识信息是否相同,当判断出所述目标标识信息与上一次读取到的综合后网表的标识信息不相同时,确定所述综合后网表为有效综合后网表。
9.一种前端逻辑综合装置,其特征在于,所述前端逻辑综合装置包括:
生成模块,用于生成综合后网表;
检测模块,用于检测是否接收到后端处理装置针对所述生成模块生成的所述综合后网表反馈的逻辑平衡导向信息;
所述生成模块,还用于当所述检测模块检测到所述后端处理装置反馈的所述逻辑平衡导向信息时,根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表;
其中,所述生成模块生成的所述综合后网表用于提供给所述后端处理装置,以触发所述后端处理装置判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配,且所述逻辑平衡导向信息是由所述后端处理装置判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时生成的。
10.一种后端处理装置,其特征在于,所述后端处理装置包括:
读取模块,用于读取前端逻辑综合装置生成的综合后网表;
判断模块,用于判断所述综合后网表中的逻辑平衡结果与预先确定出的后端需求是否匹配;
逻辑平衡导向模块,用于当所述判断模块判断出所述综合后网表中的逻辑平衡结果与所述后端需求不匹配时,生成逻辑平衡导向信息;
反馈模块,用于将所述逻辑平衡导向信息反馈至所述前端逻辑综合装置,以触发所述前端逻辑综合装置根据所述逻辑平衡导向信息对所述综合后网表执行逻辑平衡优化操作以生成新的综合后网表。
11.一种FPGA逻辑综合中逻辑平衡控制系统,其特征在于,所述系统包括如权利要求9所述的前端逻辑综合装置以及如权利要求10所述的后端处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911106124.7A CN111142874B (zh) | 2019-11-13 | 2019-11-13 | Fpga逻辑综合中逻辑平衡控制方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911106124.7A CN111142874B (zh) | 2019-11-13 | 2019-11-13 | Fpga逻辑综合中逻辑平衡控制方法及装置、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142874A CN111142874A (zh) | 2020-05-12 |
CN111142874B true CN111142874B (zh) | 2022-06-17 |
Family
ID=70517076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911106124.7A Active CN111142874B (zh) | 2019-11-13 | 2019-11-13 | Fpga逻辑综合中逻辑平衡控制方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142874B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541309B (zh) * | 2020-12-18 | 2021-11-26 | 广东高云半导体科技股份有限公司 | 逻辑综合的实现控制方法及装置 |
CN113128149B (zh) * | 2021-04-21 | 2022-02-18 | 无锡中微亿芯有限公司 | 一种针对多裸片fpga的基于功耗的网表分割方法 |
CN114666014B (zh) * | 2022-05-23 | 2022-09-20 | 武汉高德红外股份有限公司 | 一种自适应帧结构数据链传输系统及方法 |
CN115422863B (zh) * | 2022-08-31 | 2023-10-10 | 山东启芯软件科技有限公司 | 一种嵌入式的逻辑优化验证流程框架及验证方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109784A (ja) * | 1999-10-05 | 2001-04-20 | Mitsubishi Electric Corp | 配置配線最適化方法、および装置、ならびに配置配線の最適化に関するプログラムを記録した記録媒体 |
CN105095607B (zh) * | 2015-09-15 | 2019-01-08 | 浪潮(北京)电子信息产业有限公司 | 一种针对asic设计中网表逻辑冗余的优化方法及系统 |
CN110287630A (zh) * | 2019-07-01 | 2019-09-27 | 成都奥卡思微电科技有限公司 | 一种开放的芯片形式验证方法、存储介质、终端和系统 |
-
2019
- 2019-11-13 CN CN201911106124.7A patent/CN111142874B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111142874A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142874B (zh) | Fpga逻辑综合中逻辑平衡控制方法及装置、系统 | |
CN110457868B (zh) | Fpga逻辑综合的优化方法及装置、系统 | |
CN101310255B (zh) | 用于检测处理系统中的存储器装置的配置的方法和设备 | |
US7900182B2 (en) | Method and system for designing an electronic circuit | |
CN111177991B (zh) | Fpga逻辑综合中实现扇出优化的方法及装置、系统 | |
CN111177990B (zh) | Fpga逻辑综合中逻辑优化的实现方法及装置、系统 | |
CN111177989A (zh) | 以布线结果为导向的布局布线控制方法及装置、系统 | |
CN112241614B (zh) | 一种时钟延时链延时的检测方法、系统及电子设备 | |
CN111027267B (zh) | Fpga逻辑综合中加法器优化的实现方法及装置、系统 | |
CN111144056B (zh) | 基于后端需求的技术映射控制方法及装置、系统 | |
CN111143274B (zh) | 以逻辑综合结果为导向的层级结构优化方法及装置、系统 | |
CN113821898A (zh) | 芯片子系统的随机验证方法、装置、设备和存储介质 | |
CN102369524B (zh) | 语言分析装置和语言分析方法 | |
CN111209135A (zh) | 一种日志处理方法及装置 | |
CN111177997B (zh) | 基于时钟频率的布局布线控制方法及装置、系统 | |
CN114020636A (zh) | 一种应用app测试方法、装置、电子设备及存储介质 | |
US11989560B2 (en) | Method and device for executing instructions to perform artificial intelligence | |
US8473887B2 (en) | Event scheduler for an electrical circuit design to account for hold time violations | |
JP3049814B2 (ja) | マイクロコンピュータの言語処理装置 | |
CN111198523A (zh) | 基于结果导向的逻辑推理控制方法及装置、系统 | |
CN111859089B (zh) | 一种用于互联网信息的错词检测控制方法 | |
CN102693325B (zh) | 一种文件存储方法和装置 | |
US7865706B2 (en) | Information processing method and instruction generating method | |
CN111222295B (zh) | 基于布线资源的布局布线控制方法及装置、系统 | |
CN106294207B (zh) | 一种反馈数据的方法、缓存器、控制器及系统 |
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 |