CN115204091A - 库设计以及与电路设计的协同优化 - Google Patents
库设计以及与电路设计的协同优化 Download PDFInfo
- Publication number
- CN115204091A CN115204091A CN202210343987.1A CN202210343987A CN115204091A CN 115204091 A CN115204091 A CN 115204091A CN 202210343987 A CN202210343987 A CN 202210343987A CN 115204091 A CN115204091 A CN 115204091A
- Authority
- CN
- China
- Prior art keywords
- library
- additional
- elements
- design
- circuit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/12—Symbolic schematics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开的各实施例涉及库设计以及与电路设计的协同优化。系统基于正在构建的电路设计和正在使用的库单元的同时优化来扩展现有库。系统接收单元库和电路设计并执行电路设计的综合和优化。系统评估电路设计来标识可以是新库单元候选的部分。系统分析库来确定是否存在可以使用的现有库单元、新的库单元是否应被添加到库或者新的库单元是否应替换现有库单元。系统对新的库单元进行建模,以测量通过使用新的库单元获得的改进。系统基于性能建模来推荐新的库单元用于添加到库。
Description
相关申请的交叉引用
本申请要求于2021年4月1日提交的标题为“Library Design and Co-optimization with a Circuit Design”的美国临时专利申请序列号63/169,757以及于2022年3月25日提交的标题为“Library Design and Co-optimization with a CircuitDesign”的美国专利申请序列号17/705,137的权益,上述申请通过引用以其整体并入本文。
技术领域
本公开总体涉及用于集成电路(IC)设计的电子设计自动化(EDA)系统。更具体地,本公开涉及用于提供库设计和协同优化以基于电路设计来增强单元库的系统和方法。
背景技术
电路设计的设计自动化流程使用一系列步骤来执行,这些步骤依次细化电路设计的内容。设计自动化过程可以从包括通用逻辑门的未映射网表开始并且以使用单元库中的单元实现的网表结束。在电路设计过程期间使用的库包括预定义的一组库单元,库单元被选择用于各种电路设计。可用于电路设计的库的库单元可能不适用于电路设计。使用具有对电路设计不可用的单元库导致低效的设计过程并且导致基于电路设计的次优植入。
发明内容
系统基于电路设计来构建库。系统接收包括一组库单元的库。每个库单元表示电路设计的一组电路部件。系统接收电路设计。系统确定电路设计的用作附加库单元的部分。系统对附加库单元进行建模来估计附加库单元的电气特性和物理特性中的一个或多个特性。系统推荐附加库单元用于添加到库中。
附图说明
从以下给出的详细描述和从本公开实施例的附图中将更充分地理解本公开。附图被用于提供对本公开的实施例的知识和理解,并且不将本公开的范围限制于这些特定实施例。此外,附图不一定按比例绘制。
图1图示了根据一个实施例的由系统用于生成库单元的库单元族中的间隙。
图2图示了根据一个实施例的由系统用于生成库单元的库单元族中的非单调性。
图3示出了根据一个实施例的用于组合式未布局功能分析的过程。
图4示出了根据一个实施例的用于时序式未布局功能分析的过程。
图5示出了根据一个实施例的用于布局逻辑功能分析的过程。
图6A图示了从较小的库单元创建的单个位组合库单元。
图6B图示了通过将组合门与现有触发器组合而创建的时序式融合触发器。
图6C图示了通过组合多个现有触发器和组合门而创建的多位融合触发器。
图7图示了根据一个实施例的用于附加库单元的电气建模的过程。
图8图示了根据一个实施例的对附加库单元的建模晶体管节省。
图9A图示了根据一个实施例的多晶硅条带。
图9B图示了根据一个实施例的虚设多晶门。
图9C图示了根据一个实施例的由两个现有单元组成更大单元。
图10图示了根据一个实施例的用于附加库单元的物理模型创建的过程。
图11A图示了多行高骨架的布局。
图11B图示了用于垂直堆叠的共享电源和接地条带。
图12图示了库/设计协同优化集成。
图13描绘了根据本公开的一些实施例的在集成电路的设计和制造期间使用的各种过程的流程图。
图14描绘了本公开的实施例可以在其中操作的示例计算机系统的图。
具体实施方式
本公开的各方面涉及基于正在构建的电路设计和正在使用的库单元的同时优化来扩展可用库。库是从中实现设计的一组可用技术库标准单元(也被称为库单元或单元)。逻辑综合和优化使用库中的库单元来实现设计并针对面积、功率和延迟进行优化。逻辑综合和优化的优化流程包括一系列步骤,这些步骤依次细化电路设计的内容,从包括通用逻辑门的未映射网表开始并且以使用库中的库单元实现的网表结束。在设计流程期间,各种操作被执行,包括电路设计到网表的初始映射,然后是早期逻辑优化,然后是初始布局,然后是针对设计规则约束和时序优化的优化,最后是最终布局和最终优化。
在电路设计过程期间使用的库包括预定义的一组库单元,这些库单元被选择用于在各种电路设计中使用。但是,电路设计可能无法使用库中可用的库单元。例如,与电路设计有关的库单元可能在库中不可用。备选地,库的库单元在电路设计需要使用它们的上下文中可能没有得到很好的优化。使用正确设计的库单元可以在诸如面积、延迟或功率等属性方面改进电路设计。如果电路设计不能使用正确设计的库单元,则设计过程会生成次优的电路设计和实现。
根据各种实施例的系统执行库扩展,库扩展在电路设计的综合和优化流程期间创建附加库单元,从而改进设计的时序、功率或/和面积。本过程在本文中被称为库/设计协同优化(LDCO),因为系统对正在构建的电路设计和用于构建设计的一组可用库部件同时进行优化。
根据一个实施例,系统通过基于电气特性来标识库中的间隙来执行库分析。系统分析库的库单元来确定附加库单元是否应被添加到库。系统将库的库单元分组为功能相同但电气特性(诸如驱动强度)不同的部件族。系统标识库中可以创建附加库单元的间隙。系统将库的库单元映射到电气特性(例如,驱动强度)的值范围。间隙表示电气特性值的如下范围,库针对该范围缺少库单元。系统检查库来确定附加单元是否应被添加到库。如果单元具有预期填充库的间隙的电气特性,则系统建议单元被添加到库。
根据一个实施例,系统通过使用单调性图标识库中的弱库单元来执行库分析。系统分析库的库单元来确定现有库单元是否应被替换。系统标识库单元族中特性不单调增加的区域。系统标识与单调曲线不匹配的库单元,以选择性地禁用。系统可以检查库来确定现有单元是否应从库中替换。
根据一个实施例,系统确定库的库单元的电气特性的值。系统确定库的电气特性的代表值,例如跨所有库单元的平均值。如果单元具有与库的电气特性的代表值相差超过阈值的电气特性值,则系统将单元确定为弱单元或异常单元。系统基于电路设计来标记异常单元,以使用附加库单元替换。系统基于电路设计来使用附加库单元替换异常单元。
根据一个实施例,系统执行电路设计的未布局逻辑功能分析来独立于部件的布局标识候选库单元。系统分析在电路设计中标识的候选库单元,以对其进行排名并且标识被实现后提供更高回报的库单元。系统生成电路图案的直方图,以测量其使用情况。系统将电路图案与库进行比较来选择子集。系统确定每个剩余图案的推荐强度。
根据各种实施例的系统执行以下类型的分析,包括:(a)组合式未布局功能分析,其中本系统执行基于N输入查找表的过程来描述具有N输入的任何组合式布尔逻辑功能,以用作库单元;以及(b)时序式未布局功能分析,其中不论逻辑的布局如何,本系统执行搜索附加时序库单元以在IC设计中提出建议的过程。
根据一个实施例,系统执行如下布局逻辑功能分析。给定布局设计网表,系统标识映射逻辑门的结构图案,逻辑门可以被组合到附加库单元中。系统通过使用附加库单元替换门的图案来估计面积、功率或延迟的预期改进。系统使用结构匹配表来对最佳图案集进行排序和标识。使用分析,附加库单元可以以多种形式创建。
根据一个实施例,系统执行附加库单元的电气建模。系统针对库单元创建电气模型,以预测电气特性,例如,附加库单元的面积、功率和延迟。系统执行逻辑综合重构和映射,以根据较小的原始库单元为附加的库单元生成一系列可能的实现。系统构造晶体管电路并对其进行优化来减少总晶体管计数。
根据一个实施例,系统执行附加库单元的物理建模。系统使用技术库中较小原始库单元的现有布局来估计库单元的单元骨架(cell skeleton)。单元骨架表示足以估计电路设计布局的库单元的物理形状并且可能不包括对于确定布局所不需要的库单元的所有细节。例如,单元骨架可以使用如图9所示的一组多晶网格来表示库单元。系统标识具有匹配骨架的库单元以供使用,并且合并库单元来生成具有改进骨架的附加库单元。
与其中库未被修改的另一优化方法相比,该协同优化改进了最终设计的质量,从而产生更好的面积、功率和性能。例如,对于使用逻辑综合和优化流程在5纳米(nm)互补金属氧化物半导体(CMOS)技术库中实现的示例电路设计,根据这些实施例的方法在设计的最差负松弛度方面提供了2%的改进,设计的总负松弛度改进6%,设计面积改进4%,并且泄漏功率估计改进5%。
此处,松弛度(slack)是指路径上所需的设计时序性能与实际时序性能之间的差。如果松弛度为负,则路径不会像期望的那样快。通过时序优化减少负松弛度对于设计以所期望的速度运行是必要的。
系统基于其正在经历的(多个)特定优化流程步骤设计的特定需求周期性地更新库内容,并且可以实现所建议的附加库单元。这包括:(1)实时分析库和设计需求;(2)建议在优化设计中使用附加库单元;(3)建模来估计所建议的附加库单元的电气特性和物理特性;以及(4)在设计中实现附加库单元,作为当前综合的一部分或作为目标优化的一部分。
本系统将这些库更新步骤集成在逻辑综合和优化流程中,使得库与设计一起被优化。
下文是以下项的细节:(1)分析过程,其包括建议在优化IC设计时使用附加库单元,(2)估计所建议的库单元的电气特性和物理特性的建模技术,(3)在IC设计中实现附加库单元;以及(4)将这些步骤集成到综合和优化流程中。
本系统执行两个类型的分析:(a)库分析,其检查和改进库中的一组库单元;(b)设计驱动分析,其评估设计要求和逻辑结构,并且基于评估构建针对附加库单元的建议。
根据一个实施例,本系统通过将库单元分组为功能相同且仅在电气特性(诸如驱动强度)上不同的部件族来执行库分析。系统使用电容负载值和输入转换时间的范围(可能在多个过程和温度条件下)来收集每个库单元的性能统计数据,然后收集针对每个族的统计数据。
每个族中的库单元集被检查来定位驱动强度的间隙。这些间隙是可以在库中创建附加库单元的情况,以添加填充特定库单元组的(多个)驱动强度中的间隙的库单元。这可以包括在较低和较高驱动强度库单元之间创建的附加库单元,或者超出族中的第一库单元或最后一个库单元的外推,以创建(多个)附加驱动强度版本。
图1图示了根据一个实施例的由系统用于生成库单元的库单元族中的间隙。系统获取库单元的驱动强度。库单元的驱动强度表示其输出电导,输出电导进而是负(N)和正(P)晶体管尺寸的度量:晶体管越大,切换时间越短。由于制造约束,晶体管尺寸被量化,即,最小可能晶体管尺寸的倍数。例如,在图1中,ND2_2的晶体管尺寸是ND2_1的两倍,并且对应地,库单元也快两倍。
图1图示了具有由_drive给出的驱动强度范围的NAND2逻辑功能族,例如,ND2_1是驱动强度为1的NAND2逻辑功能,ND2_2是驱动强度为2的NAND2逻辑功能,以此类推。系统沿面积轴和延迟轴执行量化,以允许导出单调增加的模式。从所量化的数据中,系统标识表示数据值或数据范围的间隙,在该间隙处缺少逻辑电路族成员之间的平滑进展。在上图中,对于可以创建的ND2_7、ND2_8、ND2_9和ND2_11库单元,存在四个间隙(被标记为GAP)。
库单元的驱动强度S可能不能直接从库供应商处获得。同样,供应商也可能无法提供晶体管尺寸。系统可以获取可用信息,即,对于负载电容C的不同值的延迟表,其响应于输入变化而给出输出的延迟D。延迟D与C大致线性相关,即D=C/S。
系统通过对延迟表中的延迟进行最小二乘回归来获得S的绝对值。系统将S的值与最小尺寸的反相器的值进行比较,以获得该库单元的相对驱动强度。
除了现有库单元之间的间隙之外,系统还标识库单元族内库单元的特性没有平滑增加的区域。这样的情况是非单调库单元。
图2图示了根据一个实施例的由系统用于生成库单元的库单元族中的非单调性。在所圈出的情况中,与D4和D8库单元相比,D6库单元的面积没有平滑增加。系统标识这些情况并选择性地禁用不匹配单调曲线的库单元。例如,在驱动强度的情况下,驱动强度与面积之间存在预期的线性相关性。驱动强度低于下一库单元(分别具有下部和上部区域)的线性插值的库单元均被标记为异常。从优化中排除异常库单元有助于改进优化结果的质量。
根据一个实施例,本系统通过评估设计要求和逻辑结构来执行设计驱动分析,并且基于该评估来为附加库单元构建建议。过程的输入是针对设计的网表,包括设计逻辑的实例。以下技术被用于分析。根据一个实施例,系统执行未布局逻辑功能分析。系统建议独立于逻辑可能存在的任何布局,可用于映射给定设计逻辑的逻辑功能。描述了两个方法:一个方法用于组合逻辑,一个方法用于时序逻辑。
根据一个实施例,系统执行组合式未布局功能分析。以下描述的过程使用N输入查找表,N输入查找表描述了具有N输入的任何组合式布尔逻辑功能。
图3示出了根据一个实施例的用于组合式未布局功能分析的过程。
在310处,系统访问技术库,并且创建将所有逻辑功能的规范表示(canonicalrepresentation)存储在技术库中的哈希表。规范表示的使用确保具有等效逻辑功能的门独立于它们的表示方式而具有相同的哈希值。技术库指定了可用的库单元。
在320处,系统接收设计网表并且迭代地计算N输入查找表,其中N=3,N=4,...,N=K。N输入查找表可以不包括很可能是常规门的2输入门。N输入查找表将描述设计网表中为每个N值找到的逻辑功能的信息存储到哈希表中。系统可以将匹配的电路图案的深度限制为阈值深度,以改进过程的计算效率。
在330处,系统通过消除某些条目来合并查找表。例如,系统从320中删除表中的任何条目,这些条目在来自310的表中定义,因为这些库单元已存在并且系统的目标是推荐附加库单元。系统可以估计与电路图案相对应的某些功能的性能并消除被确定为生成低质量库单元的功能。例如,系统可以估计电路图案的指标,包括延迟、面积、功率等并针对每个估计的指标消除具有比阈值性能更差的电路图案。因此,系统消除或建议修改不会产生高质量库单元的任何结果功能。
在340处,系统为查找表的每个剩余功能计算推荐强度的度量。推荐的强度是因素的组合,因素包括(1)出现频率,即,与其他功能相比,该功能在320处计算的查找表中出现的次数,以及(2)对与实现相同逻辑功能的现有库单元的(多个)网络相比,附加功能库单元的潜在益处的度量(例如,面积/延迟/功率的改进)。关于(1),高出现次数预示着在给定设计中附加功能的使用频率更高。关于(2),与现有库单元的(多个)网表相比,实现附加功能的单元在面积/延迟/功率方面的巨大改进指示附加功能库单元可能带来的潜在益处。系统将表示(1)和(2)的值组合来计算附加功能的推荐强度。系统确定更强的推荐在映射设计时更有可能有用。
系统可以进入建模和实现阶段,以用于逻辑功能建议的结果集。
此处完成的分析可以在具有或不具有布局网表实例的设计上执行。结果与布局无关。因此,分析被称为未布局。这允许附加功能标识基于连接性而非物理接近性而自由组合逻辑。
根据一个实施例,本系统执行可以类似于上述组合式未布局分析的时序式未布局功能分析。不论逻辑的布局如何,本系统搜索附加时序库单元,以在设计中提出建议。
图4示出了根据一个实施例的用于时序式未布局功能分析的过程。系统通过将时序状态等式与逻辑等式组合使用,将逻辑功能的规范表示扩展为包括时序功能。规范时序等式根据当前输入和器件的先前状态来描述寄存器或锁存器的下一状态。在410处,系统创建哈希表,该哈希表存储用户技术库中所有时序库单元的规范表示。
对于设计中的每个时序元件,系统对每个时序元件重复以下步骤420和430。在420处,系统构造一系列逻辑表示,这些逻辑表示将寄存器/锁存器的时序功能与寄存器/锁存器的输入和输出处的组合逻辑相结合。围绕时序功能的该逻辑聚合被限制到固定深度,并且被限制为使得在匹配图案内的逻辑信号不会在图案外使用。换言之,图案不包含内部扇出的外部使用。在430处,系统将每个图案存储在查找表中,例如,类似于用于组合式未布局分析的结构的哈希表。每个哈希表条目是图案以及图案已经被标识的次数的度量。
在440处,系统从查找表中消除某些条目。例如,系统删除来自430的表中的、在410在表中定义的任何条目。这有助于系统消除或修改预期不会导致高质量CMOS库单元的任何结果功能。在450处,系统为每个剩余功能计算推荐强度的度量,该度量与功能在430表中出现的次数有关。更强的推荐在映射设计时更可能有用。
根据一个实施例,考虑到现有逻辑实例的布置,本系统建议有利于映射给定设计逻辑的(组合式或时序式)附加逻辑库单元。该方法搜索附近的门,这些门可以被组合到附加库单元中,以改进延迟、面积和功率。
图5示出了根据一个实施例的用于布局逻辑功能分析的过程。给定布局设计网表,在510处,系统标识将在其上运行分析和实现阶段的(多个)区域。系统可以优化不同的参数,诸如面积、功率、延迟等。如果系统旨在恢复面积或功率,则系统将组合逻辑标识为区域。如果系统旨在改进延迟,则系统从最关键的路径(即,所需时间和到达时间之差最大的路径)开始标识未满足时序目标的路径,并基于所标识的路径构建区域。
在520处,使用网络的分级遍历(或可选地,广度优先搜索或深度优先搜索),系统标识可以组合成附加库单元的映射逻辑门的结构图案。这些图案可能彼此重叠。系统将图案的每次出现都存储在哈希表中,该哈希表记录所找到的逻辑的结构。随着每个图案被标识,系统估计面积、功率或延迟的、可能来自于使用附加库单元替换门图案的预期改进。对附加库单元的时序、面积和功率的估计被称为模型。本文描述了生成模型的过程。模型的面积、功率和延迟与设计中存在的门图案之间的差是该图案的预期改进。系统将图案和预期改进插入到结构匹配表中,结构匹配表将每个独特图案的改进值累积并捕获图案之间的重叠关系。
在530处,系统使用表来标识产生总体上最佳预期改进的一组M个非重叠图案。限制M是可以被构建的附加库单元的最大数目。M被引入作为约束,因为引入附加库单元产生开销。这是因为创建库单元涉及附加过程。这限制了可以被建议的附加库单元的总数。
在540处,系统从网络中的经布局的组合门和时序门推荐或创建若干形式的附加库单元。图6A至图6C图示了可以使用所公开的技术创建的示例库单元。
图6A图示了从较小的库单元创建的单个位组合库单元。例如,图6A示出了包括向或非(NOR)门620提供输入的与非(NAND)门610a、610b和610c的电路。该电路可以使用经优化的组合库单元625代替。图6B图示了通过将组合门630与现有触发器635组合而创建的时序融合触发器640。图6C图示了通过组合如电路650中所示的多个现有触发器和组合门而创建的多位融合触发器655。图6C还示出了通过组合在电路660和670中分别示出的多个现有单个位组合库单元而创建的两个多位组合库单元665和675。多位库单元的输入可以不相交,也可以相交。例如,多位寄存器可以具有公共的时钟信号、置位信号和复位信号,也可以没有。类似地,组合式多位库单元可以共享输入逻辑信号,或者它们可以具有完全不相交的信号。
系统执行库单元的建模来预测附加库单元建议的面积、功率和延迟。这允许系统在实际设计的上下文中估计附加库单元的潜在益处。建模涉及电气方面和物理方面。
图7图示了根据一个实施例的用于附加库单元的电气建模的过程。在710处,系统定义附加库单元的逻辑功能。根据一个实施例,系统确定将被附加库单元替换的部件的网表来定义库单元的功能。在720处,系统根据较小的原始库单元(例如2输入NAND、2输入NOR、2输入OR和2输入AND以及反相器)生成附加库单元的一系列可能实现。系统使用逻辑综合重构和映射来生成实现。系统基于诸如面积、功率和延迟的指标对实现进行排名。在730处,系统为在步骤720期间确定的最佳解决方案构建晶体管电路。这允许系统潜在地标识减少设计的总晶体管计数的映射。例如,图8示出了如何针对电路810减少CMOS晶体管的数目以生成组合逻辑门820。类似地,晶体管计数可以针对晶体管电路830被减少,以获得晶体管电路840。参考图7,在740处,系统分别基于在步骤720和730中导出的网表和晶体管模型来估计诸如延迟、面积和功率的指标。在一些实施例中,在750处,系统对结果执行纠错来改进结果。例如,系统可以基于对库中的原始库单元的分析来执行多目标误差最小化。
深亚微米技术节点具有许多详细的物理限制来处理光刻引起的不准确性。不是每个图案具有单个层,而是可以存在多个图案。为了适应复杂的多图案物理布局,单元的最佳物理设计需要具有相同功能的许多物理变型。这被称为颜色感知多图案物理设计。与常规晶体管级布局和布线技术相比,经验丰富的布局工程师可以能够执行更优化的布局和布线。根据一个实施例,系统不是为单元骨架生成创建晶体管级布局和布线,而是使用来自技术库的较小原始库单元的现有布局来估计骨架。在深亚微米(7nm及以下)库中,单元骨架尺寸通常由多晶硅网格的数目决定。这些多晶条带均匀分布在整个单元:
图9A图示了多晶硅条带910。在库单元设计中,两个额外的虚设条带920被用于扩散中断,一个靠近左边界,另一个靠近右边界。图9B图示了虚设多晶门。当两个单元邻接时,两个多晶网格可以被移除。图9C图示了由两个现有单元组成更大单元。这允许简化库单元的形状。以下过程被用于估计骨架,包括附加估计库单元的引脚位置。该技术已存在的原始库单元的库、根据该库中离散原始库单元的附加库单元功能的实现以及来自原始库中具有与所需的附加库单元相似特性的“目标”库单元作为输入给出流程图。
图10图示了根据一个实施例的用于附加库单元的物理模型创建的过程。对于每个原始库单元,在1010处,系统确定多晶网格的总数。如果多晶网格跨越多行,系统将多晶网格的数目乘以库单元所占用的行数。在1020处,系统创建哈希表“T”并且将所有原始库单元存储在哈希表中,按照它们包含的多晶网格的数目进行哈希处理。给定根据原始库单元的功能的离散实现,在1030处,骨架估计器确定如前所述的多晶网格的总数P。在1040处,系统从表T获得具有P个多晶网格的库单元列表,并扫描列表来寻找具有与附加库单元相同数目的输入和输出引脚的库单元。如果与输入和输出数目匹配的原始库单元被找到,则该库单元的骨架被用作附加单元的骨架。如果在1050处未找到匹配的库单元,则估计器找到其多晶网格计数最接近的库单元的骨架并重复1040,直到离散实现满足多晶网格计数要求。在1060处,系统放置和合并1060离散骨架。附加库单元的引脚位置使用具有适当坐标偏移的离散骨架单元的引脚位置。
如果目标库单元跨越多于两行,则如下修改步骤1040和1050。步骤1040被修改为从T给出的列表中扫描最接近的多高度库单元。如果找不到最接近的多高度库单元,则系统扫描小一个网格的列表,以此类推,直到获得最接近的多高度库单元。步骤1050被修改为使得剩余网格数目除以行数,然后表T使用该网格数目搜索。如果所得到的网格数目为零,则系统从步骤1040开始重复。否则重复步骤1050,直到找到解。
离散骨架被放置为使得第一骨架总是具有所需的多行高度,而其余的是等尺寸高度骨架的集合。
图11A图示了多行高度骨架的布局。例如,与骨架1120相比,骨架1110具有不同的高度。左右相邻库单元的合并使用与图10所示相同的过程。库单元的垂直堆叠还要求电源和接地条带被共享。图11B是相同骨架的垂直堆叠以及电源和接地条带共享的示例。图11B图示了用于垂直堆叠的电源和接地条带的共享。例如,电源条带1130a和1130b在使用共享电源条带1150的堆叠单元中被共享。类似地,接地条带可以被共享。
然后可以考虑在分析步骤期间建议并且如上所述建模的附加库单元用于设计中的实现。存在如下所述的两个实现方法。
将从未布局设计导出的附加库单元提供给技术库中的逻辑综合优化流程,技术库与现有技术库一起用于设计优化。这些附加库单元被逻辑综合和优化流程使用,就像使用不是从电路设计中生成的普通库单元一样;映射和优化引擎可以在设计中根据需要自由使用它们。这就是该方法的益处:该方法使得附加库单元可用于整个优化过程。
从布局设计导出的附加库单元在分析步骤之后立即发生的成本优化过程期间实现。设计驱动分析的结果是如下的表,该表包含所发现的附加库单元机会及其对设计的潜在节省。用户可以指导该分析步骤来实现分析期间发现的“N最佳”附加库单元机会,因为这些机会按潜在益处排序。该实现在成本优化转换中完成,如果附加库单元在时序和/或面积和/或功率方面改进了设计,成本优化转换将插入这些附加库单元实例。
两个实现方法均被直接插入到如下所述的逻辑综合和优化设计流程中。
图12图示了库/设计协同优化集成过程,该过程从用户的设计和将在其中实现设计的技术库开始。
库分析在逻辑优化级1210之后执行。未布局设计驱动分析恰好在初始技术映射1220出现在综合和优化流程中之前执行。
从1210和1220建议和建模的附加库单元在设计从通用逻辑到技术库单元的初始映射开始可用。它们的可用性在整个优化流程中持续存在。此时,逻辑综合工具将被禁用的任何库单元(例如,因为它们在某些特性中非单调递增)移除。
布局设计驱动分析和实现在设计的逻辑布局步骤1230之后进行,并且在物理优化阶段1240的各个部分期间选择性地完成。例如,在多位库单元映射和尺寸调整步骤之前建议附加多位库单元。一旦设计的关键部分得到明确定义并逐步细化,在时序优化期间建议附加组合库单元,并且它们也在面积和功率恢复步骤之前建议。在时序优化期间以及在面积和功率恢复步骤期间,类似地建议附加的时序融合库单元。
结果是经优化的设计以及在设计优化过程期间被创建、建模和实现的所估计的附加库单元的建议库。建议库中的附加库单元任何被提供给库设计团队,以在硅片中实现和表征。与仅优化设计相比,上述库/设计协同优化过程改进了设计质量。
图13图示了在诸如集成电路的制品的设计、验证和制造期间用于变换和验证表示集成电路的设计数据和指令的示例过程集1300。这些过程中的每个过程可以被构建和启用为多个模块或操作。术语“EDA”表示术语“电子设计自动化”。这些过程开始于使用设计师提供的信息创建产品构思1310,信息被变换为创建使用EDA过程集1312的制品。当设计完成时,设计被流片1334,流片1334是当集成电路的图稿(例如,几何图案)被发送到制造设施以制造掩模集时,掩模集随后被用于制造集成电路。在流片之后,半导体管芯被制造1336并且封装和组装过程1338被执行来生产完成的集成电路1340。
电路或电子结构的规范范围可以从低级晶体管材料布局到高级描述语言。使用诸如VHDL、Verilog、SystemVerilog、SystemC、MyHDL或OpenVera的硬件描述语言(‘HDL’)可以使用高级表示来设计电路和系统。HDL描述可以被转换为逻辑级寄存器传输级(‘RTL’)描述、门级描述、布局级描述或掩模级描述。作为更详细描述的每个较低表示级在设计描述中添加更多有用的细节,例如,包括描述的模块的更多细节。作为更详细描述的较低表示级可以由计算机生成,从设计库派生,或由另一设计自动化过程创建。用于指定更详细描述的较低级表示语言的规范语言示例是SPICE,它用于对具有许多模拟部件的电路进行详细描述。每个表示级的描述都可以由该层的对应工具(例如,形式验证工具)使用。设计过程可以使用图13中描述的序列。过程由EDA产品(或工具)描述。
在系统设计1314期间,待制造的集成电路的功能被指定。设计可以针对所需特性来优化,诸如功耗、性能、面积(物理和/或代码行)和成本降低等。在这个阶段可以将设计划分为不同类型的模块或部件。
在逻辑设计和功能验证1316期间,电路中的模块或部件以一种或多种描述语言指定,并且规范的功能准确性被检查。例如,电路的部件可以被验证来生成与正在设计的电路或系统的规范要求相匹配的输出。功能验证可以使用仿真器和其他程序,诸如测试台生成器、静态HDL检查器和形式验证器。在一些实施例中,被称为“仿真器”或“原型系统”的特殊部件系统被用于加速功能验证。
在用于测试的综合和设计1318期间,HDL代码被转换为网表。在一些实施例中,网表可以是图形结构,其中图形结构的边表示电路的部件,并且图形结构的节点表示部件如何互连。HDL代码和网表均是分层的制品,制品可以由EDA产品使用来验证集成电路在制造时是否按照指定的设计执行。网表可以针对目标半导体制造技术进行优化。附加地,完成的集成电路可以被测试来验证集成电路是否满足规范要求。
在网表验证1320期间,网表被检测是否符合时序约束以及是否与HDL代码对应。在设计规划1322期间,构建集成电路的总体平面图并针对时序和顶层布线进行分析。
在布局或物理实现1324期间,发生物理布局(诸如晶体管或电容器的电路部件的定位)和布线(通过多个导体连接电路部件),并且从库中选择单元以启用特定的逻辑功能可以被执行。如本文所使用的,术语“单元”可以指定提供布尔逻辑功能(例如,AND、OR、NOT、XOR)或存储功能(诸如触发器或锁存器)的晶体管集、其他部件和互连。如本文所使用的,电路“块”可以指代两个或更多个单元。单元和电路块均可以被称为模块或部件,并且可以作为物理结构和在仿真中启用。参数(诸如尺寸)指定选定单元(基于“标准单元”)指定,并可在数据库中访问以供EDA产品使用。
在分析和提取1326期间,电路功能在布局级被验证,这允许布局设计的细化。在物理验证1328期间,检查布局设计来确保制造约束正确,诸如DRC约束、电气约束、光刻约束,并且电路功能与HDL设计规范匹配。在分辨率增强1330期间,布局的几何形状被转换来改进电路设计的制造方式。
在流片期间,创建用于生产光刻掩模的数据(根据需要,在应用光刻增强之后)。在掩模数据准备1332期间,“流片”数据被用于生产用于生产成品集成电路的光刻掩模。
计算机系统的存储子系统可以被用于存储由本文所述的一些或所有EDA产品使用的程序和数据结构,以及用于开发库的单元以及用于使用该库的物理和逻辑设计的产品。
图14图示了其中可以执行指令集,用于使得机器执行本文讨论的任一个或多个方法的计算机系统1400的示例机器。在备选实现方式中,机器可以在LAN、内联网、外联网和/或互联网中被连接(例如,联网)到其他机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的身份操作,作为对等(或分布式)网络环境中的对等机器操作或者作为云计算基础设施或环境中的服务器或客户端机器操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥或者能够执行指定该机器要采取的动作的指令集(时序或以其他方式)的任何机器。此外,虽然单个机器被图示,但是术语“机器”也应被理解为包括单独或联合执行一个(或多个)指令集来执行本文所讨论的任一个或多个方法的机器的任何集合。
示例计算机系统1400包括经由总线1430彼此通信的处理设备1402、主存储器1404(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、静态存储器1406(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储设备1418。
处理设备1402表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其他指令集的处理器或实现指令集组合的处理器。处理设备1402也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1402可以被配置为执行指令1426来执行本文中描述的操作和步骤。
计算机系统1400还可以包括网络接口设备1408,以通过网络1420进行通信。计算机系统1400还可以包括视频显示单元1410(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1412(例如,键盘)、光标控制设备1414(例如,鼠标)、图形处理单元1422、信号发生设备1416(例如,扬声器)、图形处理单元1422、视频处理单元1428和音频处理单元1432。
数据存储设备1418可以包括机器可读存储介质1424(也被称为非暂态计算机可读介质),其上存储有一个或多个指令集1426或体现本文所述的任一个或多个方法或功能的软件。指令1426还可以在由计算机系统1400执行期间完全或至少部分地驻留在主存储器1404内和/或处理设备1402内,主存储器1404和处理设备1402也构成机器可读存储介质。
在一些实现方式中,指令1426包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质1424在示例实现方式中被示出为单个介质,但是术语“机器可读存储介质”应被理解为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。术语“机器可读存储介质”还应被理解为包括能够存储或编码指令集,以供机器执行并且使得机器和处理设备1402执行本公开的任一个或多个方法的任何介质。因此,术语“机器可读存储介质”应包括但不限于固态存储器、光学介质和磁介质。
前述详细描述的一些部分已根据算法和计算机存储器内的数据位上的操作的符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来将他们的工作内容最有效地传达给本领域的其他技术人员的方式。算法可以是导致期望结果的操作序列。操作是那些需要对物理量进行物理操作的操作。这样的量可以采取能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。这样的信号可以被称为位、值、元素、符号、字符、术语、数字等。
然而,应记住,所有这些和类似的术语都将与适当的物理量相关联并且仅是应用于这些量的方便标签。除非从本公开中清楚地另外明确说明,否则应当理解,在整个描述中,某些术语是指计算机系统或类似电子计算设备的动作和过程,其将被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储设备内的物理量的其他数据。
本公开还涉及用于执行本文中的操作的装置。该装置可以为预期目的专门构造,或者它可以包括由计算机中存储的计算机程序选择性地激活或重新配置的计算机。这样的计算机程序可以被存储在各自与计算机系统总线耦合的计算机可读存储介质中,计算机可读存储介质诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合存储电子指令的任何类型的介质。
本文提出的算法和显示与任何特定的计算机或其他装置没有内在的关系。根据本文的教导,各种其他系统可以与程序一起使用,或者可以证明构造更专业的装置来执行方法是方便的。此外,没有参考任何特定的编程语言来描述本公开。应当理解,可以使用多种编程语言来实现如本文所述的本公开的教导。
本公开可以被提供为计算机程序产品或软件,其可以包括其上存储有指令的机器可读介质,指令可以被用于对计算机系统(或其他电子设备)进行编程来执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等。
在前述公开中,已参考其具体示例实现方式描述了本公开的实现方式。显然,在不脱离所附权利要求中阐述的本公开的更广泛的精神和实现范围的情况下,可以对其进行各种修改。在本公开以单数时态提及一些元素的情况下,可以在附图中描绘多于一个元素并且相同的元素使用相同的附图标记来标记。因此,本公开和附图应被视为例示性意义而非限制性意义。
Claims (20)
1.一种用于基于电路设计来构建库的计算机实现的方法,所述计算机实现的方法包括:
接收包括一组库单元的库,每个库单元表示电路设计的一组电路部件;
接收电路设计;
确定所述电路设计的用作附加库单元的部分;
对所述附加库单元进行建模,以估计所述附加库单元的电气特性和物理特性中的一个或多个特性;以及
推荐所述附加库单元用于添加到所述库中。
2.根据权利要求1所述的计算机实现的方法,还包括:
分析所述库的所述一组库单元,以确定所述附加库单元是否应当被添加到所述库。
3.根据权利要求1所述的计算机实现的方法,还包括:
确定所述库的库单元的电气特性值;
生成从所述库的库单元到所述电气特性值的范围的映射;
基于所述映射,标识所述库中的一个或多个间隙,其中间隙表示所述电气特性值的、所述库针对其缺少库单元的范围;以及
基于所述附加库单元是否具有填充所述库中的所述间隙的至少一部分间隙的电气特性值,来确定是否推荐所述附加库单元用于添加到所述库中。
4.根据权利要求3所述的计算机实现的方法,其中所述电气特性度量库单元的驱动强度。
5.根据权利要求1所述的计算机实现的方法,还包括:
确定所述库的库单元的电气特性值;
确定所述库的所述电气特性的代表值;
标识所述库的一个或多个异常库单元,其中每个异常库单元具有与所述库的所述电气特性的所述代表值相差超过阈值的电气特性值;以及
推荐所述附加库单元用于替换所述库的异常库单元。
6.根据权利要求5所述的计算机实现的方法,其中所述电气特性度量库单元的面积相对于所述库单元的驱动强度的变化率,所述变化率在按库单元的驱动强度排序的库单元序列中被确定。
7.根据权利要求5所述的计算机实现的方法,其中所述库的所述电气特性的所述代表值是所述库的库单元的所述电气特性的平均值。
8.根据权利要求1所述的计算机实现的方法,还包括:
将所述电路设计中的电路图案映射到组合逻辑功能;
确定所述电路设计中每个组合逻辑功能的出现频率;
基于组合逻辑功能在所述电路设计中的所述出现频率,确定所述组合逻辑功能的推荐强度;以及
其中推荐所述附加库单元用于包括在所述库中是基于所述组合逻辑功能的所述推荐强度的。
9.根据权利要求8所述的计算机实现的方法,还包括:
确定所述库中已存在的组合逻辑功能;以及
响应于确定组合逻辑功能存在于所述库中,消除所述电路设计的作为候选库单元的所述组合逻辑功能。
10.根据权利要求1所述的计算机实现的方法,还包括:
将所述电路设计中的电路图案映射到时序逻辑功能,其中时序逻辑功能表示通过在一个或多个寄存器中的每个寄存器的输入或输出处将所述一个或多个寄存器与组合逻辑组合而获得的时序元件;以及
基于由电路图案表示的所述时序逻辑功能的推荐强度,推荐所述电路图案作为所述附加库单元用于包括在所述库中。
11.根据权利要求10所述的计算机实现的方法,其中所述时序逻辑功能的所述推荐强度基于所述时序逻辑功能在所述电路设计中的出现频率而被确定。
12.根据权利要求10所述的计算机实现的方法,还包括:
确定所述库中已存在的时序逻辑功能;以及
响应于确定时序逻辑功能存在于所述库中时,消除所述电路设计的作为所述附加库单元的所述时序逻辑功能。
13.根据权利要求1所述的计算机实现的方法,还包括:
接收与所述电路设计相对应的网表的布局设计;
将所述布局设计中的多个电路图案标识为附加库单元;
针对所述多个电路图案中的每个电路图案,通过使用库单元替换所述电路图案的实例来估计在面积、功率或延迟中的一项或多项的预期改进;
基于所述多个电路图案的所估计的预期改进,对所述多个电路图案进行排序;以及
其中所述附加库单元基于从基于所述排序的所述多个电路图案中选择的电路图案而被确定。
14.根据权利要求13所述的计算机实现的方法,其中电路图案表示在所述网表的所述布局设计中位于彼此附近的一组门。
15.根据权利要求1所述的计算机实现的方法,其中对所述附加库单元进行建模包括:
使用较小的原始库单元生成所述附加库单元的一组可能实现;
确定所述附加库单元的所述一组可能实现中的每个可能实现的特性,所述特性表示面积、功率或延迟中的一项或多项;
基于从所述一组可能实现中基于所述可能实现的特性选择的可能实现,为所述附加库单元构建电气模型;
使用所述附加库单元的所述电气模型,估计所述附加库单元的表示面积、功率和延迟中的一项或多项的特性。
16.根据权利要求15所述的计算机实现的方法,还包括:
确定所述可能实现的晶体管表示;以及
通过减少、重新布置或添加所述晶体管表示中的一个或多个晶体管来优化所述可能实现的所述晶体管表示,以改进面积、功率和延迟中的一项或多项。
17.根据权利要求1所述的计算机实现的方法,其中对所述附加库单元进行建模包括:
标识一组原始库单元;
使用所述一组原始库单元来确定所述附加库单元的实现;
通过从所述附加库单元的多晶网格中移除一个或多个多晶门来优化所述附加库单元的所述实现的布局,来构建所述附加库单元的物理模型;以及
使用所述附加库单元的所述物理模型来确定所述附加库单元的特性。
18.根据权利要求17所述的计算机实现的方法,其中原始库单元包括在边界处的虚设多晶门,其中优化所述附加库单元的所述实现的所述布局包括:从彼此相邻的多晶网格的共享边界移除一个或多个虚设多晶门。
19.一种非暂态计算机可读介质,包括所存储的指令,所述指令在由处理器执行时使所述处理器:
接收包括一组库单元的库,每个库单元表示电路设计的可重复使用的一组电路部件;
接收电路设计;
确定所述电路设计的用作附加库单元的部分;
生成所述附加库单元的模型;
估计所述附加库单元的一个或多个特性,其中特性表示使用所述附加库单元的模型的面积、功率或延迟中的一项或多项;
基于所估计的特性,确定是否推荐所述附加库单元用于添加到所述库中;以及
基于所述确定,推荐所述附加库单元。
20.一种计算机系统,包括:
存储器,所述存储器存储指令;以及
处理器,与所述存储器耦合并且执行所述指令,所述指令在被执行时使所述处理器:
接收包括一组库单元的库,每个库单元表示电路设计的可重复使用的一组电路部件;
接收电路设计;
确定所述电路设计的用作附加库单元的部分;
标识所述库中的一个或多个间隙,其中间隙表示电气特性值的、所述库针对其缺少库单元的范围;以及
基于所述附加库单元是否具有至少填充所述库中的所述间隙的电气特性值,来确定是否推荐所述附加库单元用于添加到所述库中;以及
推荐所述附加库单元用于添加到所述库中。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163169757P | 2021-04-01 | 2021-04-01 | |
| US63/169,757 | 2021-04-01 | ||
| US17/705,137 | 2022-03-25 | ||
| US17/705,137 US20220318475A1 (en) | 2021-04-01 | 2022-03-25 | Library Design and Co-optimization with a Circuit Design |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN115204091A true CN115204091A (zh) | 2022-10-18 |
Family
ID=83449906
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210343987.1A Pending CN115204091A (zh) | 2021-04-01 | 2022-03-31 | 库设计以及与电路设计的协同优化 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20220318475A1 (zh) |
| CN (1) | CN115204091A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115758956A (zh) * | 2022-12-20 | 2023-03-07 | 深圳国微芯科技有限公司 | 一种rtl级电路中对冗余逻辑单元的优化方法及系统 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12393246B1 (en) * | 2024-01-05 | 2025-08-19 | Cadence Design Systems, Inc. | Power consumption estimation of memory under test |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10498339B2 (en) * | 2017-03-27 | 2019-12-03 | Mediatek Inc. | Hold-time compensation using free metal segments |
| US10808333B2 (en) * | 2018-01-08 | 2020-10-20 | Totic Technology Inc. | Method and apparatus for performing layout designs using stem cells |
| CN113544688B (zh) * | 2018-09-10 | 2022-08-26 | 麻省理工学院 | 用于设计集成电路的系统和方法 |
-
2022
- 2022-03-25 US US17/705,137 patent/US20220318475A1/en active Pending
- 2022-03-31 CN CN202210343987.1A patent/CN115204091A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115758956A (zh) * | 2022-12-20 | 2023-03-07 | 深圳国微芯科技有限公司 | 一种rtl级电路中对冗余逻辑单元的优化方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220318475A1 (en) | 2022-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lopera et al. | A survey of graph neural networks for electronic design automation | |
| US10808333B2 (en) | Method and apparatus for performing layout designs using stem cells | |
| TWI716115B (zh) | 積體電路設計方法、積體電路設計系統及非暫態電腦可讀取媒體 | |
| TWI479349B (zh) | 模擬積體電路以及電腦可讀取媒體之方法 | |
| US20220405458A1 (en) | Machine-learning-based power/ground (p/g) via removal | |
| US12175176B2 (en) | Fast synthesis of logical circuit design with predictive timing | |
| US11694016B2 (en) | Fast topology bus router for interconnect planning | |
| US11893332B2 (en) | Global mistracking analysis in integrated circuit design | |
| US20220318475A1 (en) | Library Design and Co-optimization with a Circuit Design | |
| CN115510802A (zh) | 用于预测详细布线拓扑和轨道使用的机器学习模型 | |
| US20240078366A1 (en) | Circuit design adjustments using redundant nodes | |
| US11836435B1 (en) | Machine learning based parasitic estimation for an integrated circuit chip design | |
| US12333227B1 (en) | Machine-learning-based design-for-test (DFT) recommendation system for improving automatic test pattern generation (ATPG) quality of results (QoR) | |
| US11836433B2 (en) | Memory instance reconfiguration using super leaf cells | |
| Lee et al. | i TPlace: machine learning-based delay-aware transistor placement for standard cell synthesis | |
| US11734489B2 (en) | Circuit layout verification | |
| US11487930B2 (en) | Pattern matching using anchors during integrated circuit verification | |
| US11416661B2 (en) | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow | |
| CN118103846A (zh) | 用于准确上下文感知时序建模的统一框架及方法 | |
| US12014127B2 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
| US20240330562A1 (en) | Automated multi-stage design flow based on final quality of result | |
| US20250272466A1 (en) | Power performance area optimization in design technology co-optimization flows | |
| TWI898088B (zh) | 多位元胞元及其形成方法 | |
| US12190039B1 (en) | Incremental clock tree planning | |
| US12417336B1 (en) | Modifying a current circuit design using data from one or more previous circuit designs identified as being similar to the current circuit design |
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 |