CN101093518A - 优化电路设计中的流水线结构布置的方法和系统 - Google Patents

优化电路设计中的流水线结构布置的方法和系统 Download PDF

Info

Publication number
CN101093518A
CN101093518A CNA2007101010852A CN200710101085A CN101093518A CN 101093518 A CN101093518 A CN 101093518A CN A2007101010852 A CNA2007101010852 A CN A2007101010852A CN 200710101085 A CN200710101085 A CN 200710101085A CN 101093518 A CN101093518 A CN 101093518A
Authority
CN
China
Prior art keywords
layout
circuit design
latch
pipeline organization
design
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
Application number
CNA2007101010852A
Other languages
English (en)
Other versions
CN101093518B (zh
Inventor
詹姆士·J.·柯廷
道格拉斯·S.·瑟驰
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101093518A publication Critical patent/CN101093518A/zh
Application granted granted Critical
Publication of CN101093518B publication Critical patent/CN101093518B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/392Floor-planning or layout, e.g. partitioning or placement
    • 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]

Abstract

执行电路设计过程,以在得到对整类流水线结构签名的质量布置同时维护总体设计质量。这些签名包括经典锁存器到锁存器流水线以及各种锁存器到锁存器和混合逻辑流水线。过程使用了优化电路设计中的流水线结构布置的方法,通过识别由对退化情况的布置算法响应导致的不良布置启动对流水线逻辑结构的分析以校正结果质量差的布置,以及在分析过程中保持全局布置中的高质量布置和定时,以保持在所述电路设计中占优势的非退化情况。然后使用多个全局布置步骤,其中每个后继的布置的结果质量取决于先前布置的结果质量,将电路识别为在一类退化情况中涉及,而具有不良布置的电路通过不予布置从全局布置解中除去,并且还对其他非退化的质量差的布置进行校正。

Description

优化电路设计中的流水线结构布置的方法和系统
商标
IBM为国际商业机器公司(International Business MachinesCorporation,Armonk,New York U.S.A)的注册商标。在这里所用的其他名称可以是国际商也机器公司或其他公司的注册商标、商标或产品名称。
技术领域
本发明涉及集成电路(IC)设计的性能优化,具体地说涉及针对含有流水线逻辑结构的集成电路设计的定时弥合(timing closure)的更快速、更有效的途径,特别是当所述流水线结构的逻辑组成在它们的定义中为无约束的时。
背景技术
在IBM内集成电路的自动化设计通常使用一套IBM设计工具和算法来同时考虑性能优化问题和整体设计布线性,诸如在2006年1月19日公布的美国专利US 20060015836 A1和2006年1月12日公布的美国专利US 20060010410 A1中所说明的那些线网权重(netweight)解决方案,所例示的改进现在包括在称为IBM PISCES的成套工具内并由IBM内部使用。业已证明这样的混合在达到大多数的集成电路设计和逻辑配置的这些目标上是行之有效的。然而,某些特定的逻辑连接性情况和物理配置对这种方法的途径还没有很好适应。这类特定连接性情况在将标准的线性和二次算法用于设计优化时形成了一组退化情况。一个恰当的例子是逻辑流水线结构。根据标准设计优化工具和算法进行逻辑流水线布置是不好的,其导致定时违反和达不到性能指标。
在我们的发明之前,设计人员使用简单的脚本来重新布置有故障的流水线逻辑。创建这些脚本带来了劳力和设计时间上的开销。更有问题的是这种途径对于复杂的流水线结构不是很有效。这些结构与经典的锁存器到锁存器流水线不同,流水线的至少某个部分在锁存器之间含有功能逻辑。在这种情况下,由于简单脚本的无效性迫使设计人员采取较多的人工指导的操作。
这些操作在劳力上带来相当大的负担,并且对设计的截止日程有相当大的影响。
发明内容
通过提供一种保持总体设计质量、同时得到对整类流水线结构签名(signature)的高质量布置的有效设计方法和过程,克服了现有技术的缺点和提供另外一些优点。这些签名包括经典的锁存器到锁存器的流水线以及各种锁存器到锁存器和混合逻辑流水线。这种过程以对设计进度和人力资源的影响比现有方法的小得多的自动化流程达到它的目的。
我们的方法可以用作执行电路优化的服务,并提供IBM内部使用的系统中以前还没有的工具。媒体可以存有执行所提供的过程的指令,并且此媒体可以存储在诸如C-D ROM之类的有形器件上。
通过本发明的技术可以实现其他一些特征和优点。本发明的其他实现方式和情况在这里予以详细说明,应是由权利要求所限定的本发明的一部分。参考本说明书和附图可以更好地理解本发明及其优点和特征。
由于以上所概述的本发明,在技术上我们获得了校正对于整类流水线简档(简单的锁存器到锁存器流水线配置和混合逻辑流水线配置)的流水线结构定时违反的解决方案。这种解决方案保持总体设计的布置和定时的质量,同时在自动化的过程中提高了流水线布置的质量。这个途径明显地节约了在解决该问题中需耗费的劳力和时间。
附图说明
在本说明书的结束处的权利要求书中具体指出和清晰给定了作为本发明的主题。从以下结合附图所作的详细说明中可以清楚地看到本发明的以上和其他一些目的、特征和优点,在这些附图中:
图1例示了在锁存器到锁存器的路径上由于所布置的源锁存器与目的锁存器之间的距离过大而引起的定时违反的例子;
图2例示了为了等分流水线的源锁存器与目的锁存器之间的时间延迟所希望的流水线结构中的锁存器的布置的例子;
图3例示了由二次和线性算法的标准应用及它们的成本函数产生的流水线锁存器的实际布置的例子;
图4例示了在集成电路设计中业已实现的多种流水线结构简档/构造/签名的例子;
图5例示了所说明的流水线过程在应用于初始布置时的效率的例子,示出了与当前自动优化方法相比流水线结构的定时故障减少的数量级。
图6例示了所说明的流水线过程在应用于定时驱动(TDP)布置时的效率的例子,近似地示出了与当前自动优化方法相比流水线结构的定时故障减少的数量级。
图7例示了对于仍有故障的流水线与原来的定时相比由于当前自动优化方法导致的所达到的定时改善的效果;
图8例示了对于特定连接性情况通过线性总网长度算法呈现的退化类别暴露的例子;
图9例示了对于多种流水线签名纯粹根据它们的网表连接性和节点特征得到的二次最小化平衡点解(布置)的例子;
图10例示了与二次算法的布置平衡点解无关的各种流水线的基础逻辑组成的例子;
图11例示了在经典的锁存器到锁存器的流水线内逻辑未知的二次布置解怎样可以产生正确的流水线距离划分和时间延迟预算;
图12例示了在混合逻辑路径是流水线的一部分时逻辑未知和定时未知的布置解怎样产生不希望的距离划分和延迟预算的例子,这表明需要定时导出的线网权重来驱动布置解;
图13例示了逻辑未知的布置解在一个流水线路径内的逻辑量偏离其他流水线路径内的逻辑量时怎样导致很大地偏离距离等分和所需延迟预算的例子;
图14例示了设计优化方法的流程的例子,指出在迭代过程内定时、线网权重映射和布置的相互顺序相关性;
图15例示了不良布置结果通过迭代流程的顺序相关性传播成不良定时结果的例子,例示了为了在过程结束时保持最终对流水线的高质量的定时必须在流程的主要阶段校正退化行为的原因;
图16例示了在设计方法流程内执行新的流水线方法的算法和过程的例子;以及
图17例示了新的自动化流水线过程的实现的例子,其中示出了详细的步骤和顺序结构。
以下将结合这些附图举例说明本发明的优选实施例及其优点和特征。
具体实施方式
随着芯片周期时间的减小,芯片大小和集成度增大。这些因素合在一起导致过大的路径源到宿距离(图1)越来越多。在这些路径上会合(close)定时的能力从成问题的到不可能的。通常这些长路径距离由于布图规划和逻辑全局连接性限制是不可协商的。在可能时,设计人员设法通过一系列(流水线)的定时路径(满足各自的单个周期时间要求)以多个周期遍历该距离。结果,流水线的使用就较占优势。
设计人员所希望和期待的是通过将多周期距离划分成一些相等的小段(图2)、每个小段的路径距离短到足以支持它的单个周期定时要求的方式来布置各个单个周期路径。
使用流水线结构的增多引起了与流水线的唯一连接性特征和对那些特征的布置行为响应关联的发生定时故障增多。当前的芯片和宏设计方法调用一些布置工具,这些布置工具在它们的算法内采用了各种度量和目标函数。对于那些具有线性目标函数的布置工具,有一个布置质量曝光。对于使用这些算法和目标函数的布置工具来说,某些逻辑连接性方案(例如,流水线结构)能引起退化情况。因此,这些逻辑结构的布置在流水线内可以产生过度的网长度(net length)差别和严重不平衡的路径延迟(图3)。产生的流水线路径的定时违反(timing violation)可以大到不能用标准的后布置(post-placement)优化工具套件修正的量级。因此,需要有一些人工干预的形式。
一个附加的因素使情况更为复杂。不是所有的流水线都是相同的!有些流水线是经典类型的,完全由锁存器组成。其他流水线是混合逻辑流水线,在同一个流水线内既有锁存器到锁存器路径又有锁存器到逻辑到锁存器路径(图4)。有些流水线是纯锁存器到锁存器(L-L)的,而其他的含有带AND、OR、XOR、MUX、NAND逻辑(A、O、X、M等)的路径。
对于这些混合逻辑流水线设计,当前没有适当的解决方案。在流水线的数目接近三位数时,决定性的用人工方法进行的后布置重新定位流水线锁存器需要设计周转时间增长到不可接受的程度。简单的脚本式方法可以迅速地处理数百个流水线,但在存在混合逻辑流水线时就不是行之有效的。当前存在要处理具有大量的经典和混合逻辑流水线类型的一万个以上的流水线的设计。
我们所说明的过程保持现有的布置算法套件所建立的全局布置的总体质量,同时修正与逻辑连接性退化情况(例如流水线)关联的质量差的布置。为此,所提出的方法用正常的布置算法集形成初始布置。然后,将具有定时违反的流水线从这个布置解中除去,并用绕过所有引起布置质量问题的布局算法的方法重新布置。这种方法获得从经定时导出的线网权重因子修改的二次长度极小化方程得到的平衡点解坐标(equilibrium point solution coordinate)。将这些平衡点解的坐标实现为应用于“不布置/重新布置”(unplace/replace)的流水线单元的布置位置。在不布置不良布置的步骤后,对结果进行合法化。每当产生一个新的动态全局布置时,重复这个过程。
这种方法可以编成脚本对成千上万的流水线执行,作为一般的动态全局布置后的递增布置,对设计周转周期的影响最小。由于定时导出的线网权重,这种方法对于经典和混合逻辑的流水线类型都有效。它已经以原型形式在现有的测试情况上执行,并将流水线定时违反数减少了一个数量级(图5和6)。它还将许多剩下的流水线定时违反的定时状态改善了平均450ps(图7)。图5、6、7所示出的结果都是由布置单独达到的定时结果,并不包括执行后布置逻辑变换优化的优化性能。
当前的布置工具用一系列不同的布置子步骤和在它们的执行中伴随的算法。在这个算法集体内,运用多个度量和目的/成本函数。这些函数中有些是基于长度的二次和线性函数。
虽然这套布置优化算法对于大多数逻辑布置和连接性方案都能很好地起作用,但也可能存在一类逻辑连接性特殊状况,其对布置形成一组退化情况。
具体地说,单输入/单输出逻辑节点对退化布置行为和不良布置质量可以是很敏感的。虽然经典的锁存器到锁存器流水线结构代表了这种特殊逻辑节点连接性配置的最明显的例子,但还有其他一些例子。由设计人员在布置前通过重新供电树剥离而隐藏的单网、单扇出重新供电树结构就是一个例子。另一例子是多输入逻辑电路节点(AND、NAND、NOR等),其中由于它们的逻辑功能或扇出状态,布置忽略了除一个输入网和输出网外的全部。像这样的情况是很稀少的,但在许多设计上仍可能有少数出现。
在这些单输入/单输出逻辑连接性节点用线性的基于长度的布置算法处理时,这情况的退化本身表现为无限多个同样可行的优化解(图8)。下面所示的这个例子中,二次(长度平方)度量得到单个最小化的解;其中在A与B之间可移动的对象布置成使得网长度相等,总网长度平方值为32。总网长度(TNL)的线性算法对于可移动对象的所有可能布置位置得到同样的为″8″的最小解。
因此,对于TNL线性函数来说,没有能力在无数个可能解中分辨出一个最佳结果。因此,辅助的目标函数、因子和算法的影响就被放大,成为突出的。甚至在正常环境下对最终布置结果透明的数据处理方法也可能直接确定布置结果。实际的布置结果指出布置异常可能达到最极端的退化情况。这种布置情况通常不是可以通过当前所用的后布置优化技术来弥补的。
设计人员不得不诉诸于人工重新定位(reposition)布置得不好的对象,或者在对称性允许时创建脚本化的过程,以使用位置数据和代数式来重新定位。人工重新定位只是在流水线或其他逻辑结构中少数受到影响时才是可行的。简单的脚本化重新定位在有复杂的混合逻辑流水线时就会失效。
行为问题出现在全局布置的所有主要阶段,包括基本布置算法(形成全局布置的基本特征的递归划分过程)。结果,使用这些算法的对有故障的流水线逻辑的任何后布置递增重新布置都将受到在原来的全局布置中产生的相同退化的污染。
为了克服这个问题,需要新的流水线方法。这种方法要解决的难题是:
保持用布置工具的算法套件确定的总体设计布置的质量;
通过产生高质量的流水线结构布置消除流水线内的定时违反;
达到该高质量布置,同时绕过产生流水线布置问题的整套布局算法;
为所有流水线类型(经典的锁存器到锁存器流水线和混合逻辑流水线)产生质量布置结果;以及
保持整个布置优化过程(初始布置和定时驱动布置阶段)的质量。
本方法考虑了这些难题中的每个难题。
本方法中的第一个步骤是用会产生不良流水线质量的布置算法确立整个设计的全局布置。将含有由于有故障的路径而引起的定时违反的流水线锁存器和逻辑电路从全局布置中除去。通过借助将“只布置未布置的”的效用加到流水线电路上来基本固定全局布置,全局布置的其余部分得以保持。在针对固定的全局布置背景重新布置流水线电路后,执行对该流水线电路布置的合法化。由这个合法化产生的对通用设计的最小布置扰动确保能够维护通用设计的布置和定时质量。
为了实现流水线和其他单扇入/扇出结构的高质量布置,必须绕过所有引入退化布置行为的布局算法。在当前的布置工具中,布置工具系列内的所有阶段(步骤)似乎都呈现这种行为。这包括建立主要布置特征的全局递归划分算法。
如上面所提到的,设计人员所希望的是将流水线距离划分成一些相等的单个周期路径小段和隐含的平衡单个周期路径延迟的流水线电路布置(图2)。以上对二次与线性度量的讨论(图8)指出一个可能解。由只有一个布置位置满足总长度平方最小化目标,而这个位置将A到B的距离划分成两个相等的小段(网)。虽然以上示出的是简单的两个网情况,但这种等分的原理可以扩展到在两个点之间的N个网和N-l个电路的一般情况。对于涉及相等的线网权重的二次解来说,当所有的网在长度方面彼此相等时达到平衡。下面示出了另一个简单的例子(图9)。
三个独立的逻辑组接到分开的固定点对上,在它们的组成网相互相等时得到它们的二次最小化平衡点解。引入这个例子有两个原因。首先是简化地示出了每个逻辑串中在网之间的平衡小段(相等的网长度)。其次,将用这个模板来示出为什么在遇到混合逻辑流水线时定时导出的线网权重必须驱动流水线路径的平衡(参见下文)。
布置算法不知道逻辑功能组成。这些算法将所有的逻辑电路看作等价的对象(节点),据此对它们进行处理。然而,定时非常依赖于每个‘等价’对象的逻辑身份。如果示出图9中的布置解的逻辑成分(图10),就可以看到未加权的流水线布置的定时含意是值得注意的。
对于流水线#1那样的经典的锁存器到锁存器流水线,不加权的布置的平衡解产生满足设计人员的目的和期望的在流水线内的单个周期路径的平衡解(图11)。
对于流水线#2那样的混合逻辑流水线,未加权的平衡点解在流水线的组成单个周期路径内产生自然的不平衡(图12)。在流水线内,单个周期路径之间的逻辑失配量越大(如在流水线#3(图13)内),流水线内路径到路径的定时不平衡也就越大。
为了校正这自然的路径到路径的不平衡,应该用定时导出的线网权重来自定义平衡点解,使得它压缩在锁存器之间的具有额外逻辑的那些路径的网长度。此外,还应提到的是在这里所示出的这个例子是允许流水线逻辑沿着单个轴排列的简化情况。实际上,混合逻辑流水线含有具有多输入网连接的AND和OR门。这导致对于平衡点布置位置的矢量解,而不是对流水线距离的简单直线划分。结果,基于对流水线的代数直线假设的简单脚本对于优化设计的总体定时来说将不是有效的机制。这些定时导出的线网权重还将对于经典的锁存器到锁存器的路径正确地起作用。由于每个锁存器到锁存器路径定时一致,为每个路径得出的线网权重将是相等的,并将导致正确的布置行为。
在初始和定时驱动的布置的中间阶段与设计的最终定时质量之间有着密切的关系。如果用定时得出的线网权重驱动布置优化,于是所有的定时估计、所有的线网权重、所有的布置结果和所有的定时优化活动在一个连续的串行关连的过程(图14)内链接在一起。通过设计状态和对这些状态的工具响应的进展形成设计的演化。定时结果映射为线网权重,线网权重转化成布置结果,布置结果通过定时优化活动变换成定时结果。然后,将这些定时结果映射成一组新的线网权重,用这组新的线网权重驱动新的布置解,再通过定时优化活动得出一组新的定时结果。
这个过程受到质量差的布置、定时或映射结果的任何污染都有可能通过过程传播(图15)。质量差的流水线布置行为是这种污染的一个例子。
在流水线布置导致流水线内平衡的路径延迟时,这些流水线路径具有平衡的时间延迟和松弛的值。结果,将松弛的路径映射成线网权重(来驱动下一个布置)产生相等的线网权重。这些相等的线网权重意味着对旨在保持流水线内路径延迟平衡的布置的控制。
在流水线布置导致流水线内极不平衡的路径延迟时,将路径定时映射成线网权重就产生一组经改变的线网权重。这将给具有大时间延迟和不良松弛状态的路径以高了许多的线网权重。将为具有小的延迟的路径指配小的线网权重。这种线网权重的指配将驱使布置压缩时间延迟大的路径和延伸延迟小的路径。通常,这是令人满意好的,因为它减弱了流水线路径之间的时间延迟不平衡。然而,在流水线路径之间有着由当前行为问题和随后的线网权重映射导致的很大的时间延迟不平衡;布置压缩/延伸响应很容易过调,导致小的和大的时间延迟路径改变位置。这在tdp布置中产生与在初始布置中的不平衡类似的路径到路径不平衡。仅有的差别是在流水线内合格/故障路径交换了正/负松弛状态。
为了避免将质量差的流水线布置从布置传播到布置的可能性,在每个全局布置后必须执行在流水线方法中所建议的校正措施。
图16和17例示了实际上是以前面所说明的原型形式实现的流水线方法的过程流程。在图16中,两个标为“算法”的虚线表示将在本发明中所说明的流水线方法插入现有的过程流程的点。图17详细示出了在标为“算法”的方框(图16)内所执行的各个步骤。情况如下:
在流水线算法中执行的第一个操作是产生流水线定义文件(17.1)。这个文件只是识别属于设计中每个特定流水线的网的集合。在我们的实现中,我们选择参考预先定义的文件来识别设计中所有的流水线网组。或者,也可以开发一种算法自动地提供流水线网组列表信息。此外,要注意的是,由于在该模型中列表和流水线网分组在整个过程各处保持不变,流水线定义文件只是在初始调用该算法期间产生,而在以后的TDP调用期间用作参考。
在识别了流水线后,产生后期定时优化报告,并得到所有具有负松弛的网的列表(17.2,17.3)。然后,将负松弛列表内的每个网与流水线定义列表内的网相比较(17.4,17.5,17.8,17.9)。如果存在匹配,就选择指配给同一流水线的所有其他网,将它们所连接的单元添加给有故障的流水线单元列表(17.6,17.7)。
在访问了所有负松弛网后,将所识别的在有故障流水线单元列表内的所有单元从它们的现有位置去除布置(17.10)。接着,使用与用于驱动现有模型范围内的布置解的相同的定时导出线网权重因子启动对这些去除布置的单元的递增布置(17.11)。一旦从二次长度极小化方程得出平衡点解坐标,就提取这些坐标,递增布置任务结束(17.12)。
最后,将去除布置的流水线单元布置在它们的导出的平衡点坐标处(17.13),再执行合法化,以修正所有所产生的单元重叠(17.14)。
本发明的性能可以用软件、固件、硬件或它们的某种组合实现。
作为一个例子,可以将本发明的一个或多个方面包括在成套工具内,作为具有例如计算机可用媒体的产品(例如,一个或多个计算机程序产品)提供。这媒体在其中收录了例如提供和促进本发明的性能的计算机可读程序代码装置。产品可以作为计算机系统的一部分或单独销售,或者可以作为一种服务提供给客户,通过向客户提供我们所说明的过程作为可以由服务技术人员或客户自己使用的工具。
此外,可以提供至少一个由机器可读的程序存储器件,有形地收录至少一个机器可执行的实现本发明的性能的指令程序。
在这里所示出的流程图只是些例子。这些图或其中所说明的步骤(或操作)在不背离本发明的精神实质的情况下可以有许多变形。例如,可以按不同的次序执行这些步骤,或者可以添加、删去或修改一些步骤。所有这些变形应认为是所申请的本发明的一部分。
虽然以上对本发明的优选实施例作了说明,但可以理解,在该领域内的技术人员无论现在还是将来都可以在下面的权利要求书给定的范围内进行各种改进和提高。这些权利要求应该视为对首先公开的本发明的正当保护。

Claims (14)

1.一种优化电路设计中的流水线结构布置的方法,所述方法包括下列步骤:
通过识别由对退化情况的布置算法响应导致的不良布置,启动对流水线逻辑结构的分析以校正结果质量(QOR)差的布置,以及在分析过程中保持全局布置中的高质量布置和定时,以保持在所述电路设计中占优势的非退化情况。
2.按照权利要求1所述的优化电路设计中的流水线结构布置的方法,还包括下列步骤:通过识别在一类退化情况中涉及的电路的过程识别不良布置,以及通过不在全局布置解中布置具有所述一类退化情况的不良布置的电路来去除所述电路,并校正其他非退化的质量差的布置。
3.按照权利要求2所述的优化电路设计中的流水线结构布置的方法,其中校正质量差的布置是使用进一步的过程实现的,在所述进一步的过程中,按照针对作为用于设计的其余部分的现有固定全局布置背景的所述全局布置解执行的所述布置算法,虚拟地重新布置所述未布置的电路,所述虚拟重新布置在用于设计的其余部分的所述现有全局布置解内为所述未布置的电路“在原处”产生平衡点解。
4.按照权利要求3所述的优化电路设计中的流水线结构布置的方法,还包括一个过程步骤:为所述未布置的电路使用所述平衡点解坐标作为那些未布置的电路的新布置位置。
5.按照权利要求3所述的优化电路设计中的流水线结构布置的方法,还包括一个过程步骤:使由所述未布置/重新布置的电路的所述平衡点解和对于设计的其余部分现有的所述全局布置解导致的组合布置合法化,以去除重叠的电路。
6.按照权利要求3所述的优化电路设计中的流水线结构布置的方法,其中所述布置算法涉及校正质量差的布置的线性的基于长度的度量。
7.按照权利要求3所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况涉及在网连接矩阵内具有特定连接性简档的布置电路节点,所述连接性简档用于具有单个输入网和单个输出网的节点。
8.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况还涉及具有特定的连接性简档的电路节点的链接序列。
9.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况还涉及具有形成流水线结构的特定连接性简档的锁存器的链接序列。
10.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况具有带有所述特定连接性简档的混合和带有其他非退化情况的电路节点的链接序列。
11.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况具有与锁存器到逻辑到锁存器路径混合的锁存器到锁存器路径组,形成混合逻辑流水线结构。
12.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,其中所述退化情况包括以下组中的一个或多个中的那些:未加权的、相等加权的和不等加权的网,或者其混合。
13.按照权利要求7所述的优化电路设计中的流水线结构布置的方法,包括多个全局布置步骤,其中每个后续布置的结果质量(QOR)取决于先前布置的结果质量(QOR)。
14.一种用于电路设计中优化的流水线结构布置的系统,所述系统包括实现按照权利要求1至13中任何一个权利要求所述的方法中的这些步骤的装置。
CN2007101010852A 2006-06-22 2007-04-26 优化电路设计中的流水线逻辑结构布置的方法和系统 Expired - Fee Related CN101093518B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/425,721 2006-06-22
US11/425,721 US7496866B2 (en) 2006-06-22 2006-06-22 Method for optimizing of pipeline structure placement

Publications (2)

Publication Number Publication Date
CN101093518A true CN101093518A (zh) 2007-12-26
CN101093518B CN101093518B (zh) 2010-04-14

Family

ID=38874884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101010852A Expired - Fee Related CN101093518B (zh) 2006-06-22 2007-04-26 优化电路设计中的流水线逻辑结构布置的方法和系统

Country Status (2)

Country Link
US (2) US7496866B2 (zh)
CN (1) CN101093518B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110192192A (zh) * 2017-01-17 2019-08-30 赛灵思公司 用于电路设计的基于神经网络的物理综合

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918748B1 (en) * 2012-08-24 2014-12-23 Altera Corporation M/A for performing automatic latency optimization on system designs for implementation on programmable hardware
US10572618B2 (en) 2017-11-28 2020-02-25 International Business Machines Corporation Enabling automatic staging for nets or net groups with VHDL attributes
US10558775B2 (en) 2017-12-20 2020-02-11 International Business Machines Corporation Memory element graph-based placement in integrated circuit design
US11113176B2 (en) 2019-01-14 2021-09-07 Microsoft Technology Licensing, Llc Generating a debugging network for a synchronous digital circuit during compilation of program source code
US11093682B2 (en) * 2019-01-14 2021-08-17 Microsoft Technology Licensing, Llc Language and compiler that generate synchronous digital circuits that maintain thread execution order
US11275568B2 (en) 2019-01-14 2022-03-15 Microsoft Technology Licensing, Llc Generating a synchronous digital circuit from a source code construct defining a function call
US10810343B2 (en) 2019-01-14 2020-10-20 Microsoft Technology Licensing, Llc Mapping software constructs to synchronous digital circuits that do not deadlock
US11106437B2 (en) 2019-01-14 2021-08-31 Microsoft Technology Licensing, Llc Lookup table optimization for programming languages that target synchronous digital circuits
US11144286B2 (en) 2019-01-14 2021-10-12 Microsoft Technology Licensing, Llc Generating synchronous digital circuits from source code constructs that map to circuit implementations
US11030367B2 (en) 2019-09-11 2021-06-08 International Business Machines Corporation Out-of-context feedback hierarchical large block synthesis (HLBS) optimization
CN111046513B (zh) * 2019-11-25 2020-08-11 河海大学 智能综合能源系统供热管网布局优化设计方法
JP7449780B2 (ja) * 2020-06-05 2024-03-14 株式会社日立製作所 管路更新支援装置、及び管路更新支援方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319938A (ja) 1994-05-20 1995-12-08 Hitachi Ltd 論理設計支援方法
US5659716A (en) * 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
US6594814B1 (en) * 1999-12-29 2003-07-15 National Science Council Dynamic pipelining approach for high performance circuit design
JP3759860B2 (ja) * 2000-06-08 2006-03-29 シャープ株式会社 自己同期型のパイプライン制御を採用したデータ駆動型情報処理装置の設計方法
US6684373B1 (en) * 2000-07-20 2004-01-27 Silicon Graphics, Inc. Optimize global net timing with repeater buffers
US6588001B1 (en) * 2000-08-31 2003-07-01 Micron Technology, Inc. Method for inserting repeater cells in a deep sub-micron design
JP2003006253A (ja) * 2001-06-20 2003-01-10 Mitsubishi Electric Corp ロジック回路設計方法およびその方法をコンピュータに実行させるプログラム
US7207024B2 (en) * 2002-09-13 2007-04-17 Cadence Design Sytems, Inc. Automatic insertion of clocked elements into an electronic design to improve system performance
US6834378B2 (en) * 2002-10-03 2004-12-21 International Business Machines Corporation System on a chip bus with automatic pipeline stage insertion for timing closure
CN1266592C (zh) * 2003-11-26 2006-07-26 中国人民解放军国防科学技术大学 依据确定延迟的动态vliw指令调度方法
CN1267853C (zh) * 2004-04-07 2006-08-02 西安交通大学 同步流水算术编码器的vlsi实现方法
US7426704B2 (en) * 2004-05-10 2008-09-16 International Business Machines Corporation Design verification of highly optimized synchronous pipelines via random simulation driven by critical resource scheduling
EP1907957A4 (en) * 2005-06-29 2013-03-20 Otrsotech Ltd Liability Company INVESTMENT METHODS AND SYSTEMS

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110192192A (zh) * 2017-01-17 2019-08-30 赛灵思公司 用于电路设计的基于神经网络的物理综合
CN110192192B (zh) * 2017-01-17 2023-03-17 赛灵思公司 用于电路设计的基于神经网络的物理综合

Also Published As

Publication number Publication date
CN101093518B (zh) 2010-04-14
US8141019B2 (en) 2012-03-20
US7496866B2 (en) 2009-02-24
US20090106711A1 (en) 2009-04-23
US20070300192A1 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
CN101093518B (zh) 优化电路设计中的流水线逻辑结构布置的方法和系统
US9256706B2 (en) Knowledge-based analog layout generator
US8924923B2 (en) Apparatus and method of generating multi-level test case from unified modeling language sequence diagram based on multiple condition control flow graph
US10896278B2 (en) Support method, and information processing apparatus
US20150248514A1 (en) Automatic layout modification tool with non-uniform grids
CN105653268A (zh) 规则引擎调试方法及系统
US20230118325A1 (en) Method and apparatus having a memory manager for neural networks
US10949599B2 (en) Overcoming retiming limitations due to initial conditions conflicts
US10867093B1 (en) System and method for an electronic design tool providing automated guidance and interface for circuit design processing
Li et al. Translation validation of scheduling in high level synthesis
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
US8418095B1 (en) Compilation and simulation of a circuit design
Riener et al. CEGAR-based EF synthesis of Boolean functions with an application to circuit rectification
US8768678B1 (en) Scheduling processes in simulation of a circuit design based on simulation costs and runtime states of HDL processes
CN105068793A (zh) 生成业务逻辑关系图以及实现业务应用的方法和装置
Jo et al. Debugging processors with advanced features by reprogramming LUTs on FPGA
Oshima et al. A debugging method for gate level circuit designs by introducing programmability
EP3752918A1 (en) Method for configuration of an automation system
CN109214641A (zh) 一种基于区块链的企业部门资源数字化控制方法和系统
CN104460334B (zh) 仿真方法以及仿真系统
US20150135149A1 (en) Monitoring coverage for static modelling of an electronic device
US11983478B2 (en) Selection of full or incremental implementation flows in processing circuit designs
US20230289503A1 (en) Selection of full or incremental implementation flows in processing circuit designs
Matsumoto et al. An Improved Conversion Technique from EPNAT Models to VDM++ Specifications for Simulation of Abstract Software Behavior
US10255404B1 (en) Retiming with programmable power-up states

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171127

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171127

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100414

Termination date: 20190426