CN117521567A - 电路的混合逻辑综合优化方法、装置及电子设备 - Google Patents
电路的混合逻辑综合优化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117521567A CN117521567A CN202410015539.8A CN202410015539A CN117521567A CN 117521567 A CN117521567 A CN 117521567A CN 202410015539 A CN202410015539 A CN 202410015539A CN 117521567 A CN117521567 A CN 117521567A
- Authority
- CN
- China
- Prior art keywords
- node
- circuit
- nodes
- current
- determining
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000005457 optimization Methods 0.000 title claims abstract description 59
- 238000005192 partition Methods 0.000 claims abstract description 140
- 238000000638 solvent extraction Methods 0.000 claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 16
- 238000012367 process mapping Methods 0.000 claims description 16
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000001308 synthesis method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing 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/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- 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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供了一种电路的混合逻辑综合优化方法、装置及电子设备,方法包括:获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;根据有向无环图的电路深度和电路节点数,确定平均分区大小;遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路;调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;针对每个最终节点分区电路进行优化,得到综合优化电路。本申请可以提高电路整体的优化效果。
Description
技术领域
本申请涉及电路技术领域,尤其是涉及一种电路的混合逻辑综合优化方法、装置及电子设备。
背景技术
在数字集成电路设计流程的逻辑综合中,会将电路的RTL级硬件描述语言转换成一种或多种通用的图结构的逻辑表示方式,目前学术界常用的逻辑表示方式有与非图(And-Inverter Graph, AIG)、多数非图(Majority-Inverter Graph, MIG)、异或与图(Xor-And Graph, XAG)和异或多数图(Xor-Majority Graph, XMG)等,再使用其中一种表示方式对应的优化方法对电路进行优化。很少会将一块电路使用多种表示方式进行表示,再进行优化。该发明就是一种混合表示方式的逻辑综合优化方法。
目前常见的一种混合逻辑综合方法,是首先对电路进行分区,然后对分区的子电路采用不同的逻辑表示方式,分别对分区电路进行优化,最终合并优化后的子电路。该方法中,分区的方式是使用一种固定的分区方法,即,按照预设数量的节点数对电路进行分区,没有根据实际电路的尺寸来动态计算分区的大小;没有对感兴趣的那部分电路做出区别;没有感知电路深度,并没有特别关注关键路径,可能会破坏关键路径的完整性,导致丧失了对关键路径独特优化的机会。
发明内容
本申请的目的在于提供一种电路的混合逻辑综合优化方法、装置及电子设备,基于电路的大小和深度,自适应确定平均分区大小,以及确定多个主输出节点分别对应的关键路径节点集,然后基于关键路径节点集和平均分区大小,进行电路中的关键路径分区,再次分区后对各分区电路进行优化处理,可以提高电路整体的优化效果。
第一方面,本申请提供一种电路的混合逻辑综合优化方法,方法包括:获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;根据有向无环图的电路深度和电路节点数,确定平均分区大小;遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路;调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。
进一步地,上述根据有向无环图的电路深度和电路节点数,确定平均分区大小的步骤,包括:判断电路节点数是否大于预设分区大小的两倍;如果是,将预设分区大小和电路深度中的最大值作为平均分区大小;如果否,将电路深度和1/5的电路节点数中的最大值作为平均分区大小。
进一步地,上述遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集的步骤,包括:以第一个主输出节点为当前输出节点,执行以下层级判断步骤:判断当前输出节点对应的层级是否等于电路深度;如果否,以下一个主输出节点作为当前输出节点,继续执行层级判断步骤;如果是,将当前输出节点作为当前节点,执行以下遍历查找步骤:从当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点;将目标扇入节点作为当前节点,继续执行遍历查找步骤,直到遍历至主输入节点,基于当前输出节点和对应查找到的所有目标扇入节点,确定当前输出节点对应的关键路径节点集。
进一步地,上述从当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点的步骤,包括:将将当前节点对应的多个扇入节点中,层级与当前节点的层级相差为1的扇入节点,确定为目标扇入节点;或者,将当前节点对应的多个扇入节点中,时序裕度最小的扇入节点,确定为目标扇入节点。
进一步地,上述各节点对应的时序裕度的计算过程如下:获取待优化电路对应的设计约束文件;根据设计约束文件中的输入延时和输出延时,确定各主输入节点分别对应的到达时间,和各主输出节点分别对应的需求时间;从主输入节点到主输出节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇入节点分别对应的到达时间,分别计算当前节点的到达时间;将基于多个扇入节点计算出的多个到达时间中的最大到达时间,确定为当前节点的到达时间;从主输出节点到主输入节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇出节点分别对应的需求时间,分别计算当前节点的需求时间;将基于多个扇出节点计算出的多个需求时间中的最小需求时间,确定为当前节点的需求时间;针对每个节点,求取节点分别对应的需求时间和到达时间之间的差值,得到节点对应的时序裕度。
进一步地,上述基于当前输出节点和对应查找到的所有目标扇入节点,确定当前输出节点对应的关键路径节点集的步骤,包括:如果当前输出节点为第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点构成的集合,确定为当前输出节点对应的关键路径节点集;如果当前输出节点不是第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点,去除掉与已经确定出的关键路径节点中重复的节点后的集合,确定为当前输出节点对应的关键路径节点集。
进一步地,上述基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路的步骤,包括:将多个所述主输出节点中的第一个主输出节点对应的关键路径节点集作为当前节点集,执行以下节点判断步骤:判断所述当前节点集是否为最后一个节点集;如果是,将所述当前节点集确定为一个关键路径分区电路;如果否,执行以下节点数量判断步骤:判断所述当前节点集中的节点数量是否不小于所述平均分区大小;如果不小于,将所述当前节点集确定为一个关键路径节点分区电路;继续将下一个主输出节点对应的关键路径节点集重新作为所述当前节点集,继续执行所述节点判断步骤;如果小于,将所述当前节点集,与下一个主输出节点对应的关键路径节点集进行合并;将合并后的节点集重新作为所述当前节点集,继续执行所述节点判断步骤,直到遍历完所有主输出节点对应的关键路径节点集。
进一步地,上述针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路的步骤,包括:针对每个最终节点分区电路,采用多种逻辑表示方式对最终节点分区电路进行表示,针对每种逻辑表示方式,进行不同的工艺无关的优化处理,针对每种优化处理的结果作工艺映射,提取工艺映射后的电路的相关信息,确定最佳优化方式;相关信息包括:电路时延信息和/或电路面积信息;将每个最终节点分区电路对应的最佳优化方式下的优化结果进行合并,得到综合优化电路。
第二方面,本申请还提供一种电路的混合逻辑综合优化装置,装置包括:节点图获取模块,用于获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;分区大小确定模块,用于根据有向无环图的电路深度和电路节点数,确定平均分区大小;关键节点确定模块,用于遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;第一分区模块,用于基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路;第二分区模块,用于调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;优化模块,用于针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。
第三方面,本申请还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面所述的方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面所述的方法。
本申请提供的电路的混合逻辑综合优化方法、装置及电子设备中,首先获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;根据有向无环图的电路深度和电路节点数,确定平均分区大小;遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路;调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。该方式中,基于电路的大小和深度,自适应确定平均分区大小,以及确定多个主输出节点分别对应的关键路径节点集,然后基于关键路径节点集和平均分区大小,进行电路中的关键路径分区,再次分区后对各分区电路进行优化处理,可以提高电路整体的优化效果。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种电路的混合逻辑综合优化方法的流程图;
图2为本申请实施例提供的一种有向无环图的示意图;
图3为本申请实施例提供的一种电路的混合逻辑综合优化装置的结构框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有的一种混合逻辑综合方法中,首先对电路进行分区,然后对分区的子电路采用不同的逻辑表示方式,分别对分区电路进行优化,最终合并优化后的子电路。该方法中,分区的方式是使用一种固定的分区方法,即,对输入电路以预设节点数量做为划分条件,将电路划分为节点数等于2048个节点的分区电路(最后不足2048个的节点的电路做为一个分区电路),再对这些分区电路进行优化。这种技术的缺点在于:
a、分区的大小比较固定,没有根据实际电路的尺寸来动态计算分区的大小。
b、没有对感兴趣的那部分电路做出区别,没有感知深度,并没有特别关注关键路径,可能会破坏关键路径的完整性,导致丧失了对关键路径独特优化的机会。
c、没有感知设计约束文件(synopsys design constraints, SDC)。须考虑到电路的输入到达时间(input arrival time) 和输出需求时间(output require time)等时间约束对实际的电路所带来的影响。
d、采用一种工艺无关的判断方式来判断哪种优化结果最优,仅使用结果中node个数和depth做为指标,这可能与工艺映射后的结果不一致,失去了与工艺库之间的关联性。
基于此,本申请实施例提供一种电路的混合逻辑综合优化方法、装置及电子设备,基于电路的大小和深度,自适应确定平均分区大小,以及确定多个主输出节点分别对应的关键路径节点集,然后基于关键路径节点集和平均分区大小,进行电路中的关键路径分区,再次分区后对各分区电路进行优化处理,可以提高电路整体的优化效果。为便于对本实施例进行理解,首先对本申请实施例所公开的一种电路的混合逻辑综合优化方法进行详细介绍。
图1为本申请实施例提供的一种电路的混合逻辑综合优化方法的流程图,该方法包括以下步骤:
步骤S102,获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;
这里的待优化电路为RTL(Register Transfer Level,寄存器传输级)verilog网表,首先可以将待优化电路转换为前面背景介绍的四种图(AIG,MIG,XAG,XMG)中的任一种,得到有向无环图,本实施例中,将待优化电路转换为AIG逻辑表示方式,得到的有向无环图如图2所示。AIG更容易实现与非门、或非门这样的CMOS工艺,其次,它是同构的,不算反相器的话,只有一种与门,这样能够增加判别关键路径的准确性。
图2中所有节点都称为节点,边即为边。实线边为原边,虚线边为带反相器的边。0为常数节点;1~5为主输入节点(PI);6~11为中间节点;其中9,11因为分别连接到po0,po1中,所以又被称为主输出节点(PO)。
步骤S104,根据有向无环图的电路深度和电路节点数,确定平均分区大小。
以图2所示的有向无环图来说,图中的电路深度为3,电路节点数为12。当然,这只是一个简单的举例,实际应用中,节点数都是比较大的。
上述平均分区大小,是后续对电路进行分区时的一个参考标准,后续分区时需要满足,一个分区电路中的节点数等于或大于该平均分区大小。该步骤中,基于电路深度和电路节点数,确定出自适应的平均分区大小,相比于现在技术中的固定分区大小,当电路规模很大时,固定分区大小可能导致分区个数较多,使得原有的电路逻辑被严重破坏,而采用自适应分区大小,可使电路逻辑不被破坏。
步骤S106,遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;
该步骤确定出的关键路径节点集是为了后续对关键路径进行单独分区,然后对其进行混合的逻辑综合优化,这样便于优化电路的最大深度。
步骤S108,基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路。
该步骤为关键路径分区过程,也就是将有向无环图中的关键路径节点首先进行分区处理。
步骤S110,调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路。
这一步是对非关键路径节点进行分区处理,从而得到多个最终节点分区电路。
步骤S112,针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。
本申请实施例提供的一种电路的混合逻辑综合优化方法中,能够基于电路的大小和深度,自适应确定平均分区大小,以及确定多个主输出节点分别对应的关键路径节点集,然后基于关键路径节点集和平均分区大小,进行电路中的关键路径分区,再次分区后对各分区电路进行优化处理,可以提高电路整体的优化效果。
本申请实施例还提供另一种电路的混合逻辑综合优化方法,该方法在上述实施例的基础上实现;本实施例重点描述平均分区大小确定过程、关键路径节点确定过程、第一分区过程、优化过程。
上述根据有向无环图的电路深度和电路节点数,确定平均分区大小的步骤,包括:
判断电路节点数是否大于预设分区大小的两倍;如果是,将预设分区大小和电路深度中的最大值作为平均分区大小;如果否,将电路深度和1/5的电路节点数中的最大值作为平均分区大小。
具体实施时,上述预设分区大小可以采用默认值常量th,其大小为210;如果电路的大小(即AIG中的节点数)大于2*th,平均分区大小为th和电路深度两者中的最大值;否则,平均分区大小等于五分之一电路大小,此时,如果电路的深度大于平均分区大小,更新平均分区大小为电路深度。
进一步地,上述遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集的步骤,包括:
以第一个主输出节点为当前输出节点,执行以下层级判断步骤:
判断当前输出节点对应的层级是否等于电路深度;如果否,以下一个主输出节点作为当前输出节点,继续执行层级判断步骤;如果是,将当前输出节点作为当前节点,执行以下遍历查找步骤:
从当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点;将目标扇入节点作为当前节点,继续执行遍历查找步骤,直到遍历至主输入节点,基于当前输出节点和对应查找到的所有目标扇入节点,确定当前输出节点对应的关键路径节点集。
进一步地,上述从当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点的步骤,包括:将当前节点对应的多个扇入节点中,层级与当前节点的层级相差为1的扇入节点,确定为目标扇入节点;或者,将当前节点对应的多个扇入节点中,时序裕度最小的扇入节点,确定为目标扇入节点。
进一步地,上述基于当前输出节点和对应查找到的所有目标扇入节点,确定当前输出节点对应的关键路径节点集的步骤,包括:如果当前输出节点为第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点构成的集合,确定为当前输出节点对应的关键路径节点集;如果当前输出节点不是第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点,去除掉与已经确定出的关键路径节点中重复的节点后的集合,确定为当前输出节点对应的关键路径节点集。
首先说明一下几个定义:
节点本身的属性:每一个节点会有代表节点本身的编号,节点所处的垂直位置层级,以及该节点指向的下一层节点(称为扇出节点),指向该节点的上一层级节点(称为扇入节点)。
关键路径:从输入到输出中延时最大的那条路径;
到达时间(arrival time):信号从参考的时间起到达某特点位置的时间;
需求时间(required time):信号到达的最晚的时间;
时序裕度(slack level): 用需要时间减去到达时间得到的结果就是时序裕度(slack level =required time- arrival time)。如果是正数则说明路径延时满足需求,如果是负数则说明延时不满足。
关键路径节点集的确定可以采用如下两种方式:
第一种,在没有sdc constrains设计约束文件的情况下,采用层级判断方式筛选关键路径节点。以图2所示的有向无环图为例进行说明,首先判断第一个主输出节点9对应的层级是否等于电路深度,主输出节点9的层级为3,电路深度也为3,可见二者相等,然后判断主输出节点9对应的两个扇入节点6、8是否层级与主输出节点9的层级相差1,由于节点8的层级为2,节点6的层级为1,这时,就将节点8作为关键路径节点,然后再判断节点8的两个扇入节点3、7是否层级与节点8的层级相差1,显然,节点7满足条件,再将节点7作为关键路径节点,继续判断节点7的两个扇入节点2、4,显然,节点2、4都满足条件,由于节点2、4已经为主输入节点,到这里就停止查找,所以主输出节点9对应的关键路径节点集包括:节点9、8、7、2、4。
然后再以下一个主输出节点11进行和上述节点9相同的判断处理过程,最终也可以确定出关键路径节点集,需要说明的是,主输出节点11对应的初始关键路径节点集中也有节点8,与主输出节点9对应的关键路径节点集中的节点8重复,因此,需要去掉该节点,将剩下的节点作为最终的关键路径节点集。
第二种,在有sdc constrains设计约束文件的情况下,采用时序裕度的判断方式来确定关键路径节点。该方式中,整体节点循环遍历过程与第一种是相同的,不同点只在于判断条件,比如,判断第一个主输出节点9对应的层级是否等于电路深度,主输出节点9的层级为3,电路深度也为3,可见二者相等,然后判断主输出节点9对应的两个扇入节点6、8分别对应的时序裕度谁的小,将时序裕度更小的那个节点确定为关键路径节点,假设计算出节点8的时序裕度更小,则将节点8作为关键路径节点,然后再判断节点8的两个扇入节点3、7分别对应的时序裕度谁的小,依此类推。
这里需要详细说明一下节点的时序裕度的计算方式,上述各节点对应的时序裕度的计算过程如下:
(1)获取待优化电路对应的设计约束文件;根据设计约束文件中的输入延时和输出延时,确定各主输入节点分别对应的到达时间,和各主输出节点分别对应的需求时间;
上述设计约束文件中包含各种时钟,设计规则和输入输出延时的约束信息。根据设计约束文件中的输入延时和输出延时,可以确定各主输入节点分别对应的到达时间,和各主输出节点分别对应的需求时间。具体的,利用文件中的输入延时除以工艺库中ANDgate的delay值,得到主输入节点的到达时间arrival time ;利用文件中的输出延时除以工艺库中AND gate的delay值,得到主输出节点的需求时间require time。
(2)从主输入节点到主输出节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇入节点分别对应的到达时间,分别计算当前节点的到达时间;将基于多个扇入节点计算出的多个到达时间中的最大到达时间,确定为当前节点的到达时间;
比如,在上一步中,得到了如图2中节点1、2、3、4、5分别对应的到达时间,然后利用节点1的到达时间加上一个门的延时就可以得到节点6的到达时间,利用节点2的到达时间加上一个门的延时也可以得到节点6的到达时间;然后比较上述两个到达时间的大小,将较大值作为节点6的到达时间,从主输入节点向主输出节点一层层往上推,可以算出每个节点的到达时间。
(3)从主输出节点到主输入节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇出节点分别对应的需求时间,分别计算当前节点的需求时间;将基于多个扇出节点计算出的多个需求时间中的最小需求时间,确定为当前节点的需求时间;
比如,在(1)中,得到了如图2中节点9、11分别对应的需求时间,然后利用节点9的需求时间减去一个门的延时就可以得到节点8的需求时间,利用节点11的需求时间减去一个门的延时也可以得到节点8的需求时间;然后比较上述两个需求时间的大小,将较小值作为节点8的需求时间,从主输出节点向主输入节点一层层往下推,可以算出每个节点的需求时间。
(4)针对每个节点,求取节点分别对应的需求时间和到达时间之间的差值,得到节点对应的时序裕度。
进一步地,上述基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路的步骤,包括:
将多个所述主输出节点中的第一个主输出节点对应的关键路径节点集作为当前节点集,执行以下节点判断步骤:判断所述当前节点集是否为最后一个节点集;如果是,将所述当前节点集确定为一个关键路径分区电路;如果否,执行以下节点数量判断步骤:判断所述当前节点集中的节点数量是否不小于所述平均分区大小;如果不小于,将所述当前节点集确定为一个关键路径节点分区电路;继续将下一个主输出节点对应的关键路径节点集重新作为所述当前节点集,继续执行所述节点判断步骤;如果小于,将所述当前节点集,与下一个主输出节点对应的关键路径节点集进行合并;将合并后的节点集重新作为所述当前节点集,继续执行所述节点判断步骤,直到遍历完所有主输出节点对应的关键路径节点集。
具体实施时,将第一主输出节点对应的关键路径节点集打包成一个整体,如果该包的大小大于等于平均分区大小,将其作为一个关键路径分区电路,并将其中所有节点固定起来;否则,将该关键路径节点集和下一个关键路径节点集合并为一个整体,直到满足包的大小大于等于平均分区大小,才将其放入一个新的关键路径分区,并固定节点。其中,下一个关键路径节点集合的判断标准是这个节点集合与关键路径节点集连接边的数量,选择数量最大的节点集合做为下一个关键路径节点集合。对最后的关键路径节点集整体,不需要满足条件,自动放入一个新的关键路径分区,并完成固定操作。
在对电路中关键路径节点全部完成收集并分区固定后,调用分区工具kahypar中的分区策略,它会自动对固定起来的节点不改变其分区,对其他非固定节点按平均分区大小划分,得到最终节点分区电路。
进一步地,针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。具体过程如下:
针对每个最终节点分区电路,采用多种逻辑表示方式对最终节点分区电路进行表示,针对每种逻辑表示方式,进行不同的工艺无关的优化处理,针对每种优化处理的结果作工艺映射,提取工艺映射后的电路的相关信息,确定最佳优化方式;相关信息包括:电路时延信息和/或电路面积信息;将每个最终节点分区电路对应的最佳优化方式下的优化结果进行合并,得到综合优化电路。
具体实施时,对每一个分区电路都采用AIG、MIG、XAG和XMG的表达方式表示,并对每一种表达方式的电路根据其表示方式进行不同的工艺无关的优化。最后再对每种工艺无关的优化结果做工艺映射,通过提取工艺映射后电路的延时信息和面积信息以及工艺映射前电路中的节点数量和深度信息来进行权衡哪种表示方式的结果好,最后采用最好的结果做为该分区的结果。合并每个分区的优化的结果,得到最终整个电路的优化结果。
上述权衡指的是工艺映射结果中的电路面积和电路延时的权衡,当前所采用的成本函数是电路延时最小化,电路延时最小的优化结果最好。
本申请实施例提供的电路的混合逻辑综合优化方法,具备以下优点:
1、根据电路的大小,动态自适应计算出一种平均分区大小;
2、感知深度,对电路中的关键路径进行单独分区,便于优化电路的最大深度;
3、感知深度的同时,感知电路的输入的到达时间以及输出的需求时间;
4、采用一种工艺无关结合工艺相关的评估电路结果质量方法。当一个分区电路被表达成AIG、MIG、XAG和XMG并优化后,对优化的结果进行工艺映射,根据工艺映射的延时/面积和映射前节点/深度这些结果来判断电路的优化结果质量;
5、整体上,本申请实施例是在现有的分区方式上,增加了一种预处理关键路径分区的步骤,该方法可以有效地在混合逻辑综合中优化电路深度,并且考虑了工艺映射后的效果,也能有效改善工艺映射后电路的时延。
基于上述方法实施例,本申请实施例还提供一种电路的混合逻辑综合优化装置,参见图3所示,该装置包括:节点图获取模块302,用于获取待优化电路对应的有向无环图;待优化电路为RTL级verilog网表;有向无环图为对待优化电路进行目标逻辑表示转换得到的;分区大小确定模块304,用于根据有向无环图的电路深度和电路节点数,确定平均分区大小;关键节点确定模块306,用于遍历有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;第一分区模块308,用于基于多个主输出节点分别对应的关键路径节点集,以及平均分区大小,确定有向无环图中的关键路径节点分区电路;第二分区模块310,用于调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;优化模块312,用于针对每个最终节点分区电路进行优化,得到待优化电路对应的综合优化电路。
进一步地,上述分区大小确定模块304,用于判断电路节点数是否大于预设分区大小的两倍;如果是,将预设分区大小和电路深度中的最大值作为平均分区大小;如果否,将电路深度和1/5的电路节点数中的最大值作为平均分区大小。
进一步地,上述关键节点确定模块306,用于以第一个主输出节点为当前输出节点,执行以下层级判断步骤:判断当前输出节点对应的层级是否等于电路深度;如果否,以下一个主输出节点作为当前输出节点,继续执行层级判断步骤;如果是,将当前输出节点作为当前节点,执行以下遍历查找步骤:从当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点;将目标扇入节点作为当前节点,继续执行遍历查找步骤,直到遍历至主输入节点,基于当前输出节点和对应查找到的所有目标扇入节点,确定当前输出节点对应的关键路径节点集。
进一步地,上述关键节点确定模块306,用于:将将当前节点对应的多个扇入节点中,层级与当前节点的层级相差为1的扇入节点,确定为目标扇入节点;或者,将当前节点对应的多个扇入节点中,时序裕度最小的扇入节点,确定为目标扇入节点。
进一步地,上述关键节点确定模块306,用于执行各节点对应的时序裕度的计算过程:获取待优化电路对应的设计约束文件;根据设计约束文件中的输入延时和输出延时,确定各主输入节点分别对应的到达时间,和各主输出节点分别对应的需求时间;从主输入节点到主输出节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇入节点分别对应的到达时间,分别计算当前节点的到达时间;将基于多个扇入节点计算出的多个到达时间中的最大到达时间,确定为当前节点的到达时间;从主输出节点到主输入节点方向依次遍历各节点,针对每个当前节点,根据当前节点对应的多个扇出节点分别对应的需求时间,分别计算当前节点的需求时间;将基于多个扇出节点计算出的多个需求时间中的最小需求时间,确定为当前节点的需求时间;针对每个节点,求取节点分别对应的需求时间和到达时间之间的差值,得到节点对应的时序裕度。
进一步地,上述关键节点确定模块306,用于:如果当前输出节点为第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点构成的集合,确定为当前输出节点对应的关键路径节点集;如果当前输出节点不是第一个主输出节点,将当前输出节点和对应查找到的所有目标扇入节点,去除掉与已经确定出的关键路径节点中重复的节点后的集合,确定为当前输出节点对应的关键路径节点集。
进一步地,上述第一分区模块308,用于将多个所述主输出节点中的第一个主输出节点对应的关键路径节点集作为当前节点集,执行以下节点判断步骤:判断所述当前节点集是否为最后一个节点集;如果是,将所述当前节点集确定为一个关键路径分区电路;如果否,执行以下节点数量判断步骤:判断所述当前节点集中的节点数量是否不小于所述平均分区大小;如果不小于,将所述当前节点集确定为一个关键路径节点分区电路;继续将下一个主输出节点对应的关键路径节点集重新作为所述当前节点集,继续执行所述节点判断步骤;如果小于,将所述当前节点集,与下一个主输出节点对应的关键路径节点集进行合并;将合并后的节点集重新作为所述当前节点集,继续执行所述节点判断步骤,直到遍历完所有主输出节点对应的关键路径节点集。
进一步地,上述优化模块312,用于:针对每个最终节点分区电路,采用多种逻辑表示方式对最终节点分区电路进行表示,针对每种逻辑表示方式,进行不同的工艺无关的优化处理,针对每种优化处理的结果作工艺映射,提取工艺映射后的电路的相关信息,确定最佳优化方式;相关信息包括:电路时延信息和/或电路面积信息;以每个最终节点分区电路对应的最佳优化方式,对该最终节点分区电路进行优化处理后,将优化后的各节点分区电路进行合并,得到综合优化电路。
本申请实施例提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种电子设备,如图4所示,为该电子设备的结构示意图,其中,该电子设备包括处理器41和存储器40,该存储器40存储有能够被该处理器41执行的计算机可执行指令,该处理器41执行该计算机可执行指令以实现上述方法。
在图4示出的实施方式中,该电子设备还包括总线42和通信接口43,其中,处理器41、通信接口43和存储器40通过总线42连接。
其中,存储器40可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线42可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线42可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器41读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种电路的混合逻辑综合优化方法,其特征在于,所述方法包括:
获取待优化电路对应的有向无环图;所述待优化电路为RTL级verilog网表;所述有向无环图为对所述待优化电路进行目标逻辑表示转换得到的;
根据所述有向无环图的电路深度和电路节点数,确定平均分区大小;
遍历所述有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;
基于多个所述主输出节点分别对应的关键路径节点集,以及所述平均分区大小,确定有向无环图中的关键路径节点分区电路;
调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;
针对每个最终节点分区电路进行优化,得到所述待优化电路对应的综合优化电路。
2.根据权利要求1所述的方法,其特征在于,根据所述有向无环图的电路深度和电路节点数,确定平均分区大小的步骤,包括:
判断所述电路节点数是否大于预设分区大小的两倍;
如果是,将所述预设分区大小和所述电路深度中的最大值作为平均分区大小;
如果否,将所述电路深度和1/5的电路节点数中的最大值作为平均分区大小。
3.根据权利要求1所述的方法,其特征在于,遍历所述有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集的步骤,包括:
以第一个主输出节点为当前输出节点,执行以下层级判断步骤:
判断所述当前输出节点对应的层级是否等于所述电路深度;如果否,以下一个主输出节点作为所述当前输出节点,继续执行所述层级判断步骤;如果是,将所述当前输出节点作为当前节点,执行以下遍历查找步骤:
从所述当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点;将所述目标扇入节点作为所述当前节点,继续执行所述遍历查找步骤,直到遍历至主输入节点,基于所述当前输出节点和对应查找到的所有目标扇入节点,确定所述当前输出节点对应的关键路径节点集。
4.根据权利要求3所述的方法,其特征在于,从所述当前节点对应的多个扇入节点中,查找满足条件的目标扇入节点的步骤,包括:
将所述当前节点对应的多个扇入节点中,层级与当前节点的层级相差为1的扇入节点,确定为目标扇入节点;
或者,将所述当前节点对应的多个扇入节点中,时序裕度最小的扇入节点,确定为目标扇入节点。
5.根据权利要求4所述的方法,其特征在于,各节点对应的时序裕度的计算过程如下:
获取所述待优化电路对应的设计约束文件;
根据所述设计约束文件中的输入延时和输出延时,确定各主输入节点分别对应的到达时间,和各主输出节点分别对应的需求时间;
从主输入节点到主输出节点方向依次遍历各节点,针对每个当前节点,根据所述当前节点对应的多个扇入节点分别对应的到达时间,分别计算当前节点的到达时间;将基于多个扇入节点计算出的多个到达时间中的最大到达时间,确定为所述当前节点的到达时间;
从主输出节点到主输入节点方向依次遍历各节点,针对每个当前节点,根据所述当前节点对应的多个扇出节点分别对应的需求时间,分别计算所述当前节点的需求时间;将基于多个扇出节点计算出的多个需求时间中的最小需求时间,确定为所述当前节点的需求时间;
针对每个节点,求取所述节点分别对应的需求时间和到达时间之间的差值,得到所述节点对应的时序裕度。
6.根据权利要求3所述的方法,其特征在于,基于所述当前输出节点和对应查找到的所有目标扇入节点,确定所述当前输出节点对应的关键路径节点集的步骤,包括:
如果所述当前输出节点为第一个主输出节点,将所述当前输出节点和对应查找到的所有目标扇入节点构成的集合,确定为所述当前输出节点对应的关键路径节点集;
如果所述当前输出节点不是第一个主输出节点,将所述当前输出节点和对应查找到的所有目标扇入节点,去除掉与已经确定出的关键路径节点中重复的节点后的集合,确定为所述当前输出节点对应的关键路径节点集。
7.根据权利要求1所述的方法,其特征在于,基于多个所述主输出节点分别对应的关键路径节点集,以及所述平均分区大小,确定有向无环图中的关键路径节点分区电路的步骤,包括:
将多个所述主输出节点中的第一个主输出节点对应的关键路径节点集作为当前节点集,执行以下节点判断步骤:
判断所述当前节点集是否为最后一个节点集;如果是,将所述当前节点集确定为一个关键路径分区电路;如果否,执行以下节点数量判断步骤:
判断所述当前节点集中的节点数量是否不小于所述平均分区大小;
如果不小于,将所述当前节点集确定为一个关键路径节点分区电路;继续将下一个主输出节点对应的关键路径节点集重新作为所述当前节点集,继续执行所述节点判断步骤;
如果小于,将所述当前节点集,与下一个主输出节点对应的关键路径节点集进行合并;将合并后的节点集重新作为所述当前节点集,继续执行所述节点判断步骤,直到遍历完所有主输出节点对应的关键路径节点集。
8.根据权利要求1所述的方法,其特征在于,针对每个最终节点分区电路进行优化,得到所述待优化电路对应的综合优化电路的步骤,包括:
针对每个最终节点分区电路,采用多种逻辑表示方式对所述最终节点分区电路进行表示,针对每种逻辑表示方式,进行不同的工艺无关的优化处理,针对每种优化处理的结果作工艺映射,提取工艺映射后的电路的相关信息,确定最佳优化方式;所述相关信息包括:电路时延信息和/或电路面积信息;
将每个最终节点分区电路对应的最佳优化方式下的优化结果进行合并,得到综合优化电路。
9.一种电路的混合逻辑综合优化装置,其特征在于,所述装置包括:
节点图获取模块,用于获取待优化电路对应的有向无环图;所述待优化电路为RTL级verilog网表;所述有向无环图为对所述待优化电路进行目标逻辑表示转换得到的;
分区大小确定模块,用于根据所述有向无环图的电路深度和电路节点数,确定平均分区大小;
关键节点确定模块,用于遍历所述有向无环图中的节点,确定多个主输出节点分别对应的关键路径节点集;
第一分区模块,用于基于多个所述主输出节点分别对应的关键路径节点集,以及所述平均分区大小,确定有向无环图中的关键路径节点分区电路;
第二分区模块,用于调用分区工具对有向无环图中的非关键路径节点进行分区处理,得到最终节点分区电路;
优化模块,用于针对每个最终节点分区电路进行优化,得到所述待优化电路对应的综合优化电路。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015539.8A CN117521567B (zh) | 2024-01-05 | 2024-01-05 | 电路的混合逻辑综合优化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015539.8A CN117521567B (zh) | 2024-01-05 | 2024-01-05 | 电路的混合逻辑综合优化方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117521567A true CN117521567A (zh) | 2024-02-06 |
CN117521567B CN117521567B (zh) | 2024-04-26 |
Family
ID=89766859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410015539.8A Active CN117521567B (zh) | 2024-01-05 | 2024-01-05 | 电路的混合逻辑综合优化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117521567B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182394A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 順序回路の遅延最適化システム |
US5926632A (en) * | 1996-04-11 | 1999-07-20 | Matsushita Electric Industrial Co., Ltd. | Circuit partitioning method, circuit partitioning apparatus, and computer-readable recording medium having thereon circuit partitioning program |
CN101739491A (zh) * | 2008-11-04 | 2010-06-16 | 新思科技有限公司 | 合成期间的拥塞优化 |
US20120131530A1 (en) * | 2010-11-18 | 2012-05-24 | International Business Machines Corporation | Partitioning for hardware-accelerated functional verification |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
US10031986B1 (en) * | 2016-03-31 | 2018-07-24 | Cadence Design Systems, Inc. | System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique |
CN108388147A (zh) * | 2018-02-12 | 2018-08-10 | 中南大学 | 一种实时故障注入时序资源优化方法及其系统 |
US20210406753A1 (en) * | 2020-06-19 | 2021-12-30 | Michele MOSCA | System and Method for Optimizing Quantum Circuit Synthesis |
CN114861579A (zh) * | 2022-05-25 | 2022-08-05 | 上海安路信息科技股份有限公司 | 集成电路中时序瓶颈节点分析和时序优化方法及系统 |
WO2023001192A1 (zh) * | 2021-07-20 | 2023-01-26 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
CN116663464A (zh) * | 2023-08-01 | 2023-08-29 | 上海合见工业软件集团有限公司 | 一种关键时序路径的优化方法及系统 |
US20230385506A1 (en) * | 2022-05-04 | 2023-11-30 | Agilesoda Inc. | Deep reinforcement learning-based integrated circuit design system using partitioning and deep reinforcement learning-based integrated circuit design method using partitioning |
-
2024
- 2024-01-05 CN CN202410015539.8A patent/CN117521567B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182394A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 順序回路の遅延最適化システム |
US5926632A (en) * | 1996-04-11 | 1999-07-20 | Matsushita Electric Industrial Co., Ltd. | Circuit partitioning method, circuit partitioning apparatus, and computer-readable recording medium having thereon circuit partitioning program |
CN101739491A (zh) * | 2008-11-04 | 2010-06-16 | 新思科技有限公司 | 合成期间的拥塞优化 |
US20120131530A1 (en) * | 2010-11-18 | 2012-05-24 | International Business Machines Corporation | Partitioning for hardware-accelerated functional verification |
US10031986B1 (en) * | 2016-03-31 | 2018-07-24 | Cadence Design Systems, Inc. | System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique |
US20180165400A1 (en) * | 2016-12-12 | 2018-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device |
CN108388147A (zh) * | 2018-02-12 | 2018-08-10 | 中南大学 | 一种实时故障注入时序资源优化方法及其系统 |
US20210406753A1 (en) * | 2020-06-19 | 2021-12-30 | Michele MOSCA | System and Method for Optimizing Quantum Circuit Synthesis |
WO2023001192A1 (zh) * | 2021-07-20 | 2023-01-26 | 深圳市紫光同创电子有限公司 | 基于fpga进位链的电路结构优化方法及系统 |
US20230385506A1 (en) * | 2022-05-04 | 2023-11-30 | Agilesoda Inc. | Deep reinforcement learning-based integrated circuit design system using partitioning and deep reinforcement learning-based integrated circuit design method using partitioning |
CN114861579A (zh) * | 2022-05-25 | 2022-08-05 | 上海安路信息科技股份有限公司 | 集成电路中时序瓶颈节点分析和时序优化方法及系统 |
CN116663464A (zh) * | 2023-08-01 | 2023-08-29 | 上海合见工业软件集团有限公司 | 一种关键时序路径的优化方法及系统 |
Non-Patent Citations (3)
Title |
---|
CHUNLIU LIAO, ET: "Improved Depth-Aware Circuit Partitioning for Mixed Logic Synthesis", 2023 INTERNATIONAL SYMPOSIUM OF ELECTRONICS DESIGN AUTOMATION, 14 September 2023 (2023-09-14), pages 170 - 173 * |
储著飞: "基于多逻辑域的逻辑综合研究进展", 微纳电子与智能制造, vol. 3, no. 2, 30 June 2021 (2021-06-30), pages 64 - 73 * |
岑旭梦;王伦耀;夏银水;储著飞;: "Library-free映射在电路面积优化中的应用", 计算机辅助设计与图形学学报, no. 11, 15 November 2017 (2017-11-15), pages 2147 - 2152 * |
Also Published As
Publication number | Publication date |
---|---|
CN117521567B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5805462A (en) | Automatic synthesis of integrated circuits employing boolean decomposition | |
JP3858000B2 (ja) | フィルタリング型アプローチを使用する組合せ回路の検証方法 | |
Liu et al. | PSO-based power-driven X-routing algorithm in semiconductor design for predictive intelligence of IoT applications | |
WO2003107226A1 (en) | Technology dependent transformations in cmos and silicon-on-insulator during digital design synthesis | |
US8397204B2 (en) | System and methodology for development of a system architecture using optimization parameters | |
US8707229B1 (en) | Static analysis of VLSI reliability | |
CN115062570B (zh) | 一种形式验证方法、装置、设备及计算机存储介质 | |
Plaza et al. | Node mergers in the presence of don't cares | |
TW202333082A (zh) | 用於定時分析的基於機器學習的積體電路測試用例選擇 | |
CN112001491A (zh) | 针对处理器确定神经网络架构的搜索方法和装置 | |
Zhou et al. | DALS: Delay-driven approximate logic synthesis | |
US20150033196A1 (en) | Clustering For Processing Of Circuit Design Data | |
JPH06274568A (ja) | 階層図形データの展開方法 | |
US7047510B1 (en) | Method and system for partitioning an integrated circuit design | |
CN116738925B (zh) | 一种fpga详细布局方法及系统 | |
CN117521567B (zh) | 电路的混合逻辑综合优化方法、装置及电子设备 | |
US20090210845A1 (en) | Computer program product, apparatus, and method for inserting components in a hierarchical chip design | |
US7114139B2 (en) | Device and method for floorplanning semiconductor integrated circuit | |
CN116644708B (zh) | 布局布线优化方法、装置、计算机设备和存储介质 | |
US7216317B2 (en) | Hierarchical signal integrity analysis using interface logic models | |
US6792581B2 (en) | Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification | |
US8745567B1 (en) | Efficient apparatus and method for analysis of RTL structures that cause physical congestion | |
JP5510280B2 (ja) | 設計支援装置、設計支援方法および設計支援プログラム | |
CN115618774A (zh) | 映射方法、装置和电子设备 | |
US7398424B2 (en) | False path detection program |
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 |