设计时钟域中锁存器的布图的方法和计算机系统的制作方法

文档序号:6613340阅读:122来源:国知局
专利名称:设计时钟域中锁存器的布图的方法和计算机系统的制作方法
技术领域
本发明总体涉及半导体芯片和集成电路的制造与设计,更特别是涉及 一种设计锁存器和其它逻辑单元的物理布图(布局)的方法,该锁存器和 逻辑单元从时钟分布结构例如局部时钟緩沖器接收时钟信号。
背景技术
集成电路广泛用于各种电子应用,从简单装置例如手表到非常复杂的
计算机系统。通常认为微电子集成电路(IC)芯片是在半导体基底(例如 硅)上形成的具有单元间电互联的逻辑单元的集合。IC可包括大量单元并
需要单元间的复杂连接。单元是一个或多个电路元件组,例如晶体管、电 容器、电阻器、电感器、以及其它组合在一起执行逻辑功能的基本电路。
单元类型包括例如芯单元、扫描单元和输入/输出u/o)单元。每个IC单
元可具有一个或多个引脚,每个引脚又通过连线连至IC的一个或多个其 它引脚。还在芯片表面上形成连接IC引脚的连线。对于更复杂的设计,
通常有至少四个不同的用于布线的导电^h质层,例如多晶硅层和三个金属
层(金属-l、金属-2、和金属-3)。多晶硅层、金属-1、金属-2、和 金属-3都用于垂直和/或水平布线。
通过首先构思逻辑电路描述、然后将逻辑描述转换为物理描述或者几 何布图,而制造IC芯片。通常采用记录所有网络或单元引脚之间的互联 的"连线表"执行该过程。布图通常由多层中的一组平面几何形状组成。 然后检验该布图以保证其满足所有的设计要求,特别是时序要求。结果是 一组作为描述该布图的中间形式的设计文档。然后将该i殳计文档转换为图 形产生器文档,其用于通过光束或者电子束图形产生器产生称为4^才莫的图
形。制造时,这些掩模用于采用一系列光刻步骤形成硅晶片的图形。将电 路说明转换为布图的过程称为物理设计.
半导体制造中的单元布局包括确定特定单元应当最佳(或者接近于最
佳)地放置在集成电路器件表面上的位置。因为超大皿集成(VLSI)器 件制造过程需要大量元件和细节,所以物理设计如果没有计算机辅助则不 可实现。所以,大多数物理设计阶段大量采用计算机辅助设计(CAD)工 具,并且许多阶段已经部分或者全部自动化。物理设计过程的自动化提高 了集成水平、减少了换向时间以及增强了芯片性能。对于电子设计自动化 (EDA)已经产生了几种不同的程序语言,包括Verilog、 VHDL和TDML。 典型的EDA系统接收一种或多种IC器件的高级行为描述,并将该高级i殳 计语言描述转换为各抽象级的连线表。
布局算法通常基于模拟退火、基于自顶向下切割的分区、或者分析范 例(或者其组合)。近年来,特别是在基于自顶向下分割的分区和分析领 域出现了几种新的理论布局工具。作为用于微分割分区的快速而极有效的 算法的多级分区帮助产生了新一代基于自顶向下分割的布局器。该类布局 器将单元分为两个(两分)或者四个(四分)芯片区,然后递归地划分每 个区直到获得总体(粗略)布局。分析布局器允许单元在设计上临时重叠。 通过由划分或者引入附加力和/或限制以产生新的优化问题来消除重叠而 得到合法化。著名的分析布局器PROUD和GORDIAN都重复采用等分技 术以去除重叠。基于Eisenmann力的布局器除了采用熟知的依赖线长的力 以外还采用附加力以减小单元重叠并考虑布局区域。分析布局器最优地解 决弛豫布局组成,例如尽量降低整体二次线长。二次布局器通常采用各种 数值优化技术以求解线性系统。两种普遍技术为共辄梯度(CG)和逐次超 弛豫(SOR) 。 PROUD布局器采用SOR技术,而GORDIAN布局器采 用CG算法。
尽管这些技术提供单元的关于其数据互联的足够的布局,但是设计者 在构造单元时钟网络时还有另外一个挑战,采用最新的技术例如低功率、 65纳米集成电路使得该挑战更加困难。因为能耗问题,低功率电路(例如 对于微处理芯片为20瓦或者更低)更加普遍。特别是,能耗已经成为采用 深亚微细技术产生高性能电路设计(在大约1千兆赫或更高的频率下工作) 的限制因素。时钟网络在数GHz设计中占总有效功率的50%。优选低功 率设计还因为其显示出更低的电源噪声并提供更好的制造偏差的容差。
存在几种尽量降低功率同时获得高性能、低功率系统的时序目标的技 术。 一种方法包括采用局部时钟緩冲器(LCB)分布时钟信号。典型的时 钟控制系统具有产生主时钟信号的时钟产生电路(例如锁相环),将主时 钟信号馈送至在LCB产生同步整体时钟信号的时钟分布网络。每个LCB 调整整体时钟工作循环以及边沿,以满足相应电路元件的要求,例如局部 逻辑电路或者锁存器(这里所用的术语"锁存器"代表任何通常为时钟分 布网络汇点的计时元件)。因为该时钟网络是所有互联i殳备中的一个最大 功率消耗装置,所以其还有利于控制LCB的电容负载,每个LCB驱动一 组多个时钟汇点。 一种减小电容负载的方法为锁存器集群,即置于其时钟 域的相应LCB附近的锁存器集群。结合LCB的锁存器集群可大大减小总 时钟线电容,其又减小总的时钟功率消耗。因为将大多数锁存器置于LCB 附近,所以还减小了时钟偏差,这有助于改进电路时序。
在图1的流程图中描述了具有LCB和锁存器集群的常规布局。该过程 从基于电路(l)的输入布图的初始布局开始。可通过EDA工具提供该输 入布图,或者该布图可以筒单地为电路元件的随机布图。初始布局采用例 如二次布局在集成电路区域中定位所有的电路元件包括时钟汇点。可采用 其它布局技术,但是二次布局常常产生比例如基于微分割的布局的可选技 术更好的结果。该过程的二次布局部分求解线性系统Ax-b,这里A为优 化矩阵,x和b为向量。在二次布局中,可递归地将单元分为更小的面元 (bin),直到达到每个面元的对象目标数,例如五个对象/面元。对于初 始布局,所有的线(边沿)具有相同的网络权重。然后在早期优化(2)中 分析和调整电路时序。该优化可包括栅极尺寸重新调整和采用栅格系统例 如50 x 50栅格的緩冲器插入,其中将緩冲器分配给具有较低逻辑密度的栅 格单元。接下来是和步骤1相似的加权布局(3),但是在该加权布局中输
入布图为早期优化步骤2的输出,并且将不同的权重施加至基于时序约束 的不同边沿。该划分对于加权布局还可更精细,例如递归地划分直到每个 面元上有大约两个对象。在加权布局之后是后期优化,其提供不同的逻辑 优化,例如緩冲器插入,但是处于更精细(或者有时相同)的程度,例如 在100x IOO栅格(4)中。后期优化可以和早期优化相同,概念上的不同 在于早期优化是在从未通过布图驱动优化步骤进行处理的电路上工作。
图1的步骤1和3不在锁存器和其它(非计时)逻辑单元之间区分, 因此首先允许锁存器根据由数据路径时序驱动的布局工具自由移动。在接 下来的步骤中,该过程仅仅集中于锁存器本身,即作为一个或多个时钟域 的部分的锁存器。将锁存器分组为基于位置和时钟域(5 )的给定集群。给 定时钟域的LCB位于锁存器集群的质心,并将锁存器拉至LCB ( 6 )。对于 该锁存器-LCB驱动布局,LCB的尺寸临时缩减为和锁存器相同的宽度。将 例如最重要数据路径的网络权重的IO倍因子的较高权重(吸引)施加至锁 存器和LCB之间的互联i殳备以进行该布局步骤。以该方式将所有的锁存器 置于和相应LCB相邻,然后将其重新调整回其初始尺寸。最后的步骤为详 细布局,其采用例如微分割布局或者启发式技术(7)细化布图。
所产生的LCB -锁存器结构相对于该布局过程所包括的其它电路元件 非常大,并且大大影响电路时序。LCB本身占据特别大的区域,并且将锁 存器限制为与LCB非常接近。虽然该过程相对于时钟网络具有一些优点, 但是这样的限制严重影响布局器的灵活性,并且常常产生较差的逻辑布局。 因此,期望的S:设计一种改进的布局方法,其可减小对通过围绕LCB聚集 锁存器而引入的对布局过程的干扰。如果该方法可平衡逻辑布局以及锁存 器布局约束,以获得较高质量的时序,则其更为有利。

发明内容
因此本发明的一个目标在于提供一种设计集成电路布图的改进布局方 法,其考虑时钟网络,并将属于不同时钟域的锁存器置于和其相应局部时 钟緩沖器更近的地方但不牺牲时序要求。
本发明的另 一个目标在于提供一种改进时序同时降低时钟能耗的方法。
而本发明的另一个目标在于提供一种高性能、低功率电路的改进锁存 器布局技术。
上述目标在设计集成电路的时钟域中的锁存器布图的方法实现,所述
方法包括基于时序约束优化锁存器和其它电路元件的输入布图,以产生 中间优化的布图;基于中间优化布图限定时钟域的时钟分布结构例如局部 时钟緩冲器(LCB)的位置;基于吸引值将锁存器布局在时钟分布结构周 围,同时布局其它电路元件以产生新的输入布图;以及迭代地重复优化、 限定、并布局,同时逐次地增加吸引值。基于时钟域和集群分值将锁存器 划分为集群,所述分数根据给定对象对与该对象尺寸的连接权重而变化。 在锁存器集群的质心建立给定时钟域的LCB目标位置,然后通过提高吸引 力将锁存器集群拉引至LCB。在示例性应用中,重复该优化、限定、和布 局全部四次迭代,其相对吸引值为9、 18、 36和300。将该吸引值用作锁 存器和LCB之间线长的乘法因子。还可在LCB本身和其相应目标位置之 间采用增加的吸引值。
本发明的上述及其它目标、特征以及优点将在下文的详细描述中清楚。


本领域技术人员通过参考附图可更好地理解本发明,及其多个目标、 特征、和优点。
图1是描述具有时钟优化以及随后的锁存器-LCB驱动布局的常规锁 存器布局技术逻辑流程的示图2是根据本发明一个实施例编程用于执行集成电路的计算机辅助设 计的计算机系统的框图3A - 3F为在三个时钟域中具有锁存器的集成电路的布图的俯视图, 根据本发明一个实施例对该三个时钟域迭代优化并布局;以及
图4是描述本发明一个实施例的逻辑流程的示意图,其中以增加的锁
存器-LCB吸引值迭代重复时钟优化和锁存器-LCB驱动布局。 不同附图中相同的参考标记表示相似或者相同的项目。
具体实施例方式
现在参考附图,并特别参考附图2,描述了才艮据本发明一个应用编程 进行集成电路的计算机辅助设计的计算机系统的一个实施例10。系统10 包括执行程序指令的中央处理单元(CPU) 12、存储系统的基本输入/输出 逻辑的固件或者只读存储器(ROM) 14、以及临时存储程序指令以及 CPU12所采用的操作数数据的动态随机访问存储器(DRAM)16。 CPU 12、 ROM 14和DRAM 16均连至系统总线18。存储器层次中还有其它没有描 述的结构,例如电路板上(Ll)和二级(L2)高速緩沖存储器。在高性能 应用中,系统10可包括多个CPU和分布系统存储器。
还采用PCI主桥22将CPU12、 ROM14和DRAM16耦合至外围元件 互联(PCI)局部总线10。 PCI主桥22提供低时延路径,通过其处理器 12可访问与总线存储器或者I/O地址空间内任意位置映射的PCI器件。PCI 主桥22还提供高带宽路径以允许PCI器件访问DRAM16。连至PCI局部 总线20的是局域网(LAN)适配器24、小型计算机系统接口 (SCSI)适 配器26、扩展总线桥28、音频适配器30、和图形适配器32。 LAN适配器 24可用于将计算机系统10连至外部计算机网络34,例如因特网。小型计 算机系统接口 (SCSI)适配器26用于控制高速SCSI盘驱动器36。盘驱 动器36以更持久的状态存储程序指令和数据,包括如下所述体现本发明的 程序。扩展总线桥28用于将工业标准结构(ISA)扩展总线38耦合至PCI 局部总线20。如所示出,将数个用户输入设备连至ISA总线38,包括键 盘40、麦克风42、和图形指点i殳备(鼠标)44。其它i殳备还可连至ISA 总线38,例如CD-ROM驱动器46。音频适配器30控制扬声器48的音 频输出,而图^ii配器32控制至显示监视器50的视频输出,以允许用户 如这里所述地执行集成电路设计。
尽管描述性的应用在盘驱动器36上提供了实施本发明的程序指令,但
是本领域技术人员将理解,本发明可实施在采用其它计算机可读介质(包 括传输介质)的程序产品中。
计算机系统10执行釆用新型技术将时钟汇点布局在集成电路设计中
的程序指令,其中优选通过常规方法将该汇点初始地布局和优化,其后如
下文所述增加锁存器-LCB吸引值而迭代布局和优化该汇点。因此,实施 本发明的程序可包括各种二次优化器、基于分割的分区装置和緩沖器插入 工具的常规方面,而本领域技术人员在参考该公开内容时将会清楚这些细 节。尽管这里将这些时钟汇点称作锁存器,但是该术语包括如触发器、动 态逻辑电路、或者这些及其它计时电路元件任意组合的器件。
在一个应用中,计算机系统10如结合图1所述采用初始布局、早期优 化、加权布局、后期优化以及锁存器聚集步骤(1-5)开始设计过程。输 入数据(连线表)包括时钟域信息,并且在初始布局前该i殳计为跟踪时钟 以将锁存器分配至其相应域组。这里,术语"时钟域"指用于选通汇点集 合的任何非数据信号。该输入数据还可包括选通该域组的源信息。
可釆用各种已知的聚集测量执行锁存器聚集。本发明优选将对象(锁 存器或者逻辑单元)划分为基于时钟域和集群分值的集群,如2004年11 月22日申请的美国专利申请10/996, 293更详细地描述(其在此引入作为 参考),所述集群分值根据给定对象对及该对象尺寸的连接权重变化。图 3A中示出了所形成布图60的一个实例。在该简化实例中,有54个锁存器 集群(实体块),每个集群位于三个不同时钟域62a、 62b、 62c的其中一 个中。本领域技术人员将理解,本发明的实际应用可包括成百上千或者成 千上万个具有大量锁存器集群和时钟域的时钟汇点。
该过程然后迭代地基于逐次增加的吸引值将锁存器置于相关的局部时 钟緩冲器(LCB)、或者其它可用于时钟分布网络中的结构上。在该迭代 期间,调用时序优化(例如栅极尺寸调整和重新緩沖)以保持时序估计准 确。图3B中示出了锁存器-LCB驱动布局的第一次迭代。在图3A中间 布图中,在相应时钟域62a、 62b、 62c的锁存器集群的质心建立LCB目标 位置。对于第一次迭代,将锁存器-LCB吸引值(WJ)设置为与先前加 权布局中非关键网络的权重近似相同,以稍高的吸引值将LCB本身设置在 其相应的目标位置。锁存器-LCB吸引值和LCB -目标位置吸引值用作 确定布局有效连线长度的乘数。从集群中心至相应LCB中心测量实际线 长。如和图3A相比,从图3B的总体更紧密布图66可以看出,该锁存器 -LCB驱动布局将给定时钟域的锁存器集群围绕LCB拉引得更近。执行 该锁存器-LCB驱动布局的专用算法可以是任何类型的布局器,优选为分 析布局器例如尽量降低锁存器和LCB之间以及LCB和其目标位置之间总 体加权线长的二次布局工具。
即使采用该更紧密的锁存器-LCB布局,也仍然存在几个和LCB稍 远的锁存器集群,例如作为时钟域62a的部分并连至LCB64a的集群68、 70和72。可使这些偏远的集群与LCB更近,同时通过在随后的迭代重新 优化布图并逐渐增加锁存器-LCB吸引值以及LCB -目标位置吸引值而 维持时序要求。图3C示出了通过另外的后期优化和重新聚集布图66产生 的布图74。在该第二 (中间)优化的布图74中,许多锁存器集群未变, 但是将一些锁存器划分为不同的集群,并稍微移动一些集群。集群68、 70、 72距离时钟域62a中锁存器质心仍较远。该锁存器集群然后经历第二锁存 器-LCB布局以形成图3D的布图76。对该第二次迭代,锁存器-LCB 吸引值(W2)稍高于在第一次迭代中采用的前面的值,并且类似地增加 LCB -目标位置吸引值。可以看出,布图76将集群牵引得距离LCB更近, 特别是尽管集群72稍远但是集群68和70要近得多。
根据设计者的判断迭代地重复重新优化、重新聚集和锁存器-LCB驱 动布局,设计者可例如基于计算约束设置迭代次数。还可在满足某些时序 目标或者逐次迭代之间的时序改进低于阈值时终止迭代。在图3E和图3F 中示出了第三次迭代。图3E中的布图78通过以布图76为输入而进行的 另外的后期优化和重新聚集形成。可再次不同地划分该锁存器,并且某些 锁存器集群的位置沿给定时钟域的锁存器质心改变。布图78然后用于重新 定位LCB64a、 64b和64c,接下来进行锁存器-LCB驱动布局以实现图 3F的布图80。对于最终迭代,和LCB-目标位置吸引值一样,锁存器-
LCB吸引值(Ws)高得多。在该最终的布图80中,所有的锁存器集群, 包括集群68、 70和72,与相应的LCB较近。
可由设计者基于正在设计的电路的特定细微差别选择不同迭代中锁存 器-LCB吸引值的特定值。在示例性实施中,存在四次优化迭代,接下来 是逐次增加锁存器-LCB吸引值9、 18、 36和300以及逐次增加LCB -目标位置吸引值37、 111、 333和1000的锁存器聚集和锁存器-LCB驱动 布局。这些权重仅仅应用于从LCB至锁存器的时钟信号布线。比较而言, 数据信号布线的相对权重从10-100,这里IO为正弛豫的最小值,而对最 关键的数据连接给定权重100。
还可参考图4的流程进一步理解本发明,其描述了根据一个应用的逻 辑流程。该过程从初始二次布局汇点开始,其中将汇点递归地划分为更小 的面元,直到获得每个面元中五个对象(卯)。对于初始布局,所有的线 (边沿)具有相等的权重。然后在早期优化中分析和调整电路时序,包括 采用10x IO栅格进行栅极尺寸重新调整和緩冲器插入,其中将緩沖器分配 给具有较低逻辑密度的栅格单元(92)。接下来是与初始布局类似的网络 权重驱动布局,但是在网络权重驱动布局中,根据不同的边沿在满足时序 约束中的临界性将不同的权重应用至不同的边沿,并且递归地划分电路元 件直到每个面元中有两个对象(94)。
此时该过程^以后期优化开始的迭代循环,该优化以100 x 100的栅 格(96)执行栅极尺寸重新调整和緩冲器插入。然后聚集锁存器(98), 并基于特别迭代设置锁存器_ LCB吸引值(100)。接下来是采用当前锁存 器-LCB吸引值的锁存器-LCB驱动布局(102)。以指定的迭代数重复后 期优化、锁存器聚集、锁存器-LCB吸引值设置和锁存器-LCB驱动布局, 而锁存器-LCB驱动布局的输出成为下次迭代的新输入布图(104)。该步 骤通过插入时序优化平稳地将锁存器移至LCB,从而可避免可能以别的方 式从极大锁存器-LCB结构产生的对时序的不利影响。最后步骤为详细布 局,其采用例如以布局器如TIMBERWOLF (7)进行微分割布局或者启发式 才支术细化该布图。
在现有技术中,分别从逻辑布局过程总体处理时钟树合成。通过应用 迭代时钟网络加权调整,本发明可使逻辑布局和时钟布局之间的相互作用 更强,这一点产生更高的质量结果(时序)。局部时钟緩冲器上的总电容
还减小25%,大大节省功率。试验结果表明本发明不仅改进时序同时降低 时钟功率,而且改进最差情况弛豫。
尽管参考特别实施例描述了本发明,但是该描述不应理解为限制意义。
及本发明的可选实施例。例如,本发明不限于仅仅采用二次布局,并且布 局步骤可利用其它布局算法例如非线性优化、力引导、微分割或者模拟退 火。因此可认为,可不偏离所附权利要求所限定的本发明实质或者范围而 进行这样的更改。
权利要求
1. 一种设计集成电路的时钟域中的多个锁存器的布图的方法,包括基于时序约束优化所述锁存器的输入布图,以产生中间优化布图;基于所述中间优化布图限定所述时钟域的时钟分布结构的位置;基于吸引值将所述锁存器布局在所述时钟分布结构周围,以产生新的输入布图;以及迭代地重复所述优化、限定、以及布局,同时逐次地增加所述吸引值。
2. 根据权利要求l的方法,还包括在所述优化后将所述时钟域中的锁 存器划分为集群,其中通过布局所述锁存器集群,而将所述锁存器布局在 所述时钟分布结构的周围。
3. 根据权利要求l的方法,其中以9、 18、 36和300的相对吸引值在 共四次迭代中重复所述优化、限定、和布局。
4. 根据权利要求l的方法,其中当在所述时钟分布结构周围布局所述 锁存器时,将所述吸引值用作所述锁存器与所述时钟分布结构之间的线长 的乘数。
5. 根据权利要求l的方法,其中所述时钟分布结构为局部时钟緩冲器 (LCB),并且该吸引值为锁存器一:LCBP及引值。
6. 根据权利要求5的方法,其中所述限定在所述锁存器的质心建立 LCB目标位置,并且所述布局还采用随着逐次迭代增加的LCB-目标位 置吸引值。
7. —种计算机系统,包括 处理程序指令的一个或多个处理器; 连至所述一个或多个处理器的存储装置;以及位于所述存储装置中的程序指令,用于通过以下步骤设计集成电路的 时钟域中多个锁存器的布图基于时序约束优化所述锁存器的输入布图, 以产生中间优化布图;基于所述中间优化布图限定所述时钟域的时钟分布结构的位置;基于吸引值将所述锁存器布局在所述时钟分布结构周围,以 产生新的输入布图;以及,迭代地重复所述优化、限定、以及布局,同时 逐次地增加所述吸引值。
8. 根据权利要求7的计算机系统,其中所述程序指令还在所述优化后 将所述时钟域中的锁存器划分为集群,并且通过布局所述锁存器集群而将 所述锁存器布局在所述时钟分布结构的周围。
9. 根据权利要求7的计算机系统,其中以9、 18、 36和300的相对吸 引值在共四次迭代中重复所述优化、限定、和布局。
10. 根据权利要求7的计算机系统,其中当在所述时钟分布结构周围 布局所述锁存器时,将所述吸引值用作锁存器与所述时钟分布结构之间的 线长的乘数。
11. 根据权利要求7的计算机系统,其中所述时钟分布结构为局部时 钟緩冲器(LCB),并且所述吸引值为锁存器-LCB吸引值。
12. 根据权利要求ll的计算机系统,其中所述限定在所述锁存器的质 心建立LCB目标位置,并且所述布局还采用随着逐次迭代增加的LCB-目标位置吸引值
全文摘要
一种设计时钟域中锁存器的布图的方法和计算机系统,其中通过增加吸引力逐步牵引锁存器直到其最终与时钟分布结构例如局部时钟缓冲器(LCB)相邻。在迭代时,调用时序优化,例如栅极尺寸调整和再缓冲,以保持时间估计准确。通过施加迭代时钟网络加权调整,本发明使逻辑布局和时钟布局之间的相互作用更强,这一点可产生更高质量的时序并且大大节省功率。
文档编号G06F17/50GK101206686SQ20071016991
公开日2008年6月25日 申请日期2007年11月8日 优先权日2006年12月14日
发明者C·J·阿尔珀特, C·N·塞, P·G·维利亚卢比亚, S·拉姆吉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1