CN1514482A - 自动配置和布线模块中备用单元的配置方法 - Google Patents

自动配置和布线模块中备用单元的配置方法 Download PDF

Info

Publication number
CN1514482A
CN1514482A CNA031278310A CN03127831A CN1514482A CN 1514482 A CN1514482 A CN 1514482A CN A031278310 A CNA031278310 A CN A031278310A CN 03127831 A CN03127831 A CN 03127831A CN 1514482 A CN1514482 A CN 1514482A
Authority
CN
China
Prior art keywords
unit
configuration
functional
stand
area
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
CNA031278310A
Other languages
English (en)
Other versions
CN100490120C (zh
Inventor
马克・布雷泽尔
马克·布雷泽尔
大・埃斯鲍姆
亚历山大·埃斯鲍姆
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.)
Zhiquan No1 Co
Original Assignee
Zhiquan No1 Co
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
Priority claimed from US10/373,989 external-priority patent/US6993738B2/en
Application filed by Zhiquan No1 Co filed Critical Zhiquan No1 Co
Publication of CN1514482A publication Critical patent/CN1514482A/zh
Application granted granted Critical
Publication of CN100490120C publication Critical patent/CN100490120C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种将备用单元配置到集成电路自动配置和布线模块内的方法。确定该模块内功能单元清单时连同连线表一起确定。功能单元和所需备用单元面积总和用于确定模块边界面积。该边界连同连线表及功能单元清单作为输入项一起提供到自动布线工具。该功能单元清单实际上不含有任何备用单元,因此该配置工具不会将备用单元配置到边界内。这样,备用单元面积可被该工具用作富余空间以有效配置功能单元。该工具生成一种功能单元配置方案,其边界内含有白色空间。然后再将备用单元配置到该白色空间内。

Description

自动配置和布线模块中备用单元的配置方法
技术领域
本发明主要涉及集成电路中电路单元的自动配置和布线方法,更确切地说,是涉及一种集成电路备用单元的空间配置方法。
背景技术
为更全面理解本发明内容,在此首先解释与集成电路设计有关的四个概念:功能模块尺寸与成品率之间关系、集成电路设计的分级结构、自动配置和布线工具(APR-auto-place-route tools)的使用、集成电路设计工程更改(ECs-engineering changes)时备用单元的使用。
对集成电路来说,当前一直存在的市场压力就是降低成本。影响集成电路成本的一个很大因素就是集成电路成品率。在半导体晶片上集成电路以二维阵列的方式被制成多个独立的集成电路晶粒(die)。当晶片处理后制成集成电路晶粒时,晶片就会被分割成单独的晶粒。由于晶片存在缺陷,就导致阵列中一定百分比的晶粒不具备应有功能。成品率指具备正常功能晶粒数与所生产总晶粒数之比。
决定成品率的一个重要因素是晶片上每个独立晶粒的尺寸。原因是晶片缺陷在整个晶片上是相对均匀分布的,且单个缺陷就足以导致一个独立的晶粒失去正常功能。因此当单个晶粒尺寸增大时,一个晶粒含有一个或多个缺陷而导致失去正常功能的概率将相应增加。一个极端的情况是,一个晶粒尺寸大到占据整个晶片,此时在晶片上只能存在一个晶粒,这将导致成品率接近于零。确定晶粒尺寸的一个重要因素是设计人员能够放置到晶粒上的集成电路设计方案中包含的电路元件密度。
当工程师设计一个诸如微处理器之类复杂集成电路时,他们采用分级方法。具体情况是,他们将设计方案分解成连接在一起后形成该设计方案的多个高级元件。高级元件又可进一步分解成连接在一起组成高级元件的更小元件。这种分级分解方法可依此继续进行,以致于最后获得分解结构的多个等级。这种分级结构的优点是可控制复杂设计方案的过程并可达到设计目标。分级结构方法的另一优点是允许不同工程师设计该设计方案中的不同元件。
最高级情况是,设计方案有通常称为“功能模块”的多个元件组成,且这些功能模块连接在一起形成集成电路。例如:微处理器由诸如算术逻辑单元、寄存器文件、高速缓冲存储器,浮点单元、指令转译器等之类功能模块组成。功能模块含有连接到一起以形成微处理器设计方案的输入、输出端。
功能模块由通常称为“单元(cell)”的多个更小元件组成。例如:单元可为逻辑门(如:AND、OR、NAND、NOR逻辑)、触发器、多路器、寄存器、比较器、计数器等。这些单元含有连接到一起以形成功能模块的输入、输出端。它们可为选自于共享单元库中的标准单元,也可为用户自行设计单元。
工程师设计模块时,正常情况下他们首先考虑的问题是模块中需包括什么单元及模块中这些单元的逻辑连接,也就是哪个输入端应连接到哪个输出端。随后考虑的问题是如何将所包含的这些单元具体放置到模块内及如何将它们的输入、输出端连接到一起。本质上说,可采用两种方法将这些单元放置到功能模块内。一种方法是设计人员自己将各单元放置到功能模块内。这种类型的功能模块通常称为用户设计模块。用户设计模块的一个实例就是诸如动态随机存取存储器(DRAM)单元之类的高密度存储器单元。
将功能模块各单元具体放置的第二种方法是采用计算机辅助设计软件工具。这些工具通常指自动配置和布线工具(APR),且由自动配置和布线工具放置的功能模块通常称为自动配置和布线功能模块(APR块)。APR工具的输入项是组成功能模块的单元清单(包括它们的具体面积和输入/输出规格)、有关如何将这些单元连接到一起的规定、容纳该工具所要放置单元的功能模块边界。APR工具放置单元时尽可能密集放置,同时还要考虑到布线所需连接信息,输出模块具体配置图或放置图及连接单元输入输出端所用线路的具体位置规格。
典型情况下,一个APR工具用户规定APR模块边界输入时,将模块的面积设置为比模块所有单独单元的面积总和约大5%到15%。这些多余面积,或称作“富余空间”(wiggle-room)的存在是必要的,理由是这些单元的形状并非完全一致。若无富余空间,APR工具不可能将所有单元放置到模块边界内。另外,放置单元的过程可能很复杂且需耗费大量时间,即使在当今超强计算机上运行APR工具时也是如此。这种情况下,所配置的富余空间越多,APR工具放置单元的速度就越快。将富余空间添加到模块边界内这种做法可能导致模块内存在未被单元占据的闲置空间。这些闲置空间通常称为“白色空间”(white-space),它浪费了晶粒的空间。集成电路功能模块内白色空间越多,晶粒尺寸就越大,成品率就越低。
由于集成电路产品很复杂,因此在其整个产品的寿命周期内经常需要对其设计方案实施某些很小的改动。这些很小改动通常称为“工程更改”或“EC”。可能情况是,最经常遇到的工程更改原因是设计缺陷或产品设计方案中存在着“错误(bug)”。
实施某些工程更改时,仅需要将现存单元进行重新连接,只不过连接方式与前一设计方案稍有不同而已。然而,实施另外其它一些工程更改时需要添加新单元,且还需将该新单元与现存单元连接到一起。考虑到这一点,设计人员设计功能模块时,除了设计称之为“功能单元”的必需单元外,还将称之为“备用单元”的额外单元添加到功能模块内。备用单元能完成诸如逻辑门、多路器之类同样类型功能单元所具备的同样功能,但备用单元的输入端和输出端不与模块中其它单元相连。若随后实施工程更改需要添加新单元时,就可根据更改需要,将备用单元连接到初始功能单元上。
功能模块中含有备用单元对于降低工程更改时所需时间和成本来说具有很大优势。制造一个复杂集成电路时,在几周时间内完成大约100个处理步骤的情况并非罕见。每个处理步骤都要向晶片上添加一些东西以朝向集成电路的完成,比如:沉积一层非常薄的半导体材料或金属材料。这些处理步骤的早期阶段是最耗时间的,也是成本最高的。这些早期步骤通常用于定义诸如组成单元之晶体管之类的各别半导体元件位置。相对来说,后续步骤实施起来就比较快、成本较低同时也更易于实施,它们通常用于定义连接集成电路的晶体管、单元及功能模块的连线位置。
因此,需要添加新晶体管或单元的工程更改要比不需要添加新晶体管或单元、仅需要将现存晶体管或单元进行重新连线的工程更改昂贵得多。将备用单元添加到功能模块内这种方式可增加仅需要重新连线工程更改的可能性。
不需要添加新晶体管或单元的工程更改成本较低的一个原因是当晶片按初始设计方案制造时(后来发现需要更改),一些还没有实施连线步骤的晶片就可能取消连线步骤,若需要进行工程更改时,可继续实施连线步骤以便视需要而连接备用单元。结果是至少可制造部分的工程更改方案的晶粒,以便在量产工程更改方案的产品前,可对该更改方案进行测试。在这种情况下,备用单元用于以快速方式测出错误修复处,此处所述快速方法类似于使用众所周知的“白色连线”修复电路板错误的方法。
在另一情况下,假设发现集成电路功能不正常,且根据集成电路的表现情况设计人员确认有设计缺陷,但不知道错误是什么或如何修复它。当设计人员确定错误所在并设计通过备用单元修改该错误时,就可马上对晶片实施至连线步骤为止但不包括连线步骤的处理步骤。一旦确定了错误修改方案,就可实施该处理过程最终的连线步骤以便连接所需备用单元。这种处理方式可节约大约两到三周时间,若考虑到收益损失,尤其是对于“时间是市场关键因素”的工业领域,节约的这段时间可能是非常宝贵的。
当前,自动配置和布线模块设计人员可通过自动配置和布线工具添加以下元件来确定功能模块的边界。所添加元件包括功能单元面积(即:功能模块中各别功能单元的面积总和),备用单元面积(典型情况下约为功能单元面积总和的5%-15%),允许自动配置和布线工具快速放置单元所需的富余空间(典型情况下约为总的功能单元面积和备用单元面积之和的5%-15%)。
传统方法的不足是在自动配置和布线模块内残留有相对较大的白色空间,也就是富余空间,这会导致较大的晶粒尺寸,与完全高效放置的集成电路相比,传统方法具有较低成品率。因此现在需要的是一种能降低集成电路自动配置和布线模块内白色空间的方法。
发明内容
本发明认识到使用自动配置和布线工具时富余空间所导致的白色空间面积和配置给备用单元的自动配置和布线模块面积之间存在着密切协同关系,同时也认识到无论备用单元放置到自动配置和布线模块的任何位置,在进行工程更改时它们都能发挥自己的功能。据此本发明提供了一种将备用单元放置到自动配置和布线模块内的方法,该方法通过清除模块边界内富余空间、不将备用单元添加到提供给自动配置和布线工具的单元清单内(这样自动配置和布线工具所产生的白色空间面积就约等于所需备用单元面积),将备用单元放置到自动配置和布线工具模块配置时所产生的白色空间内这些步骤可从根本上达到白色空间最小化,从而可大幅度降低模块内白色空间面积。因此在达到上述目标时,本发明的一个特征就是提供了一种将备用单元配置到自动配置和布线模块内的方法。该方法首先包括计算自动配置和布线模块内功能单元清单的总面积和备用单元清单的总面积。然后该方法包括将功能单元清单和边界作为输入项提供到自动配置和布线工具以便据此生成自动配置和布线模块布局图。其中功能单元清单不包括备用单元清单。该边界内具有一面积约等于功能单元清单和备用单元清单的总面积。最后该方法包括将备用单元清单内的备用单元填充到布局图内白色空间的步骤。
另一方面,本发明的一个特征是提供了一种将自动配置和布线模块内的单元放置到集成电路中的方法。该自动配置和布线模块设计方案包括指定模块内所含多个功能单元的功能单元清单。该多个功能单元中的每一单元均具有一个面积值和输入、输出端。该自动配置和布线模块设计方案还包括指定该多个功能模块的输入端和输出端如何进行连接的有关信息。该方法包括确定备用单元面积,确定面积约等于备用单元和该多个功能单元面积总和的自动配置和布线模块边界,将功能单元清单、连接信息和边界提供给自动配置和布线软件程序。自动配置和布线程序生成的自动配置和布线模块配置图含有边界内的闲置空间。该方法还包括在自动配置和布线程序生成自动配置和布线模块配置图后将备用单元放置到该闲置空间的步骤。
另一方面,本发明的一个特征是提供了一种集成电路功能模块内单元的配置方法。该方法包括确定功能模块内的单元清单。该清单不包括备用单元。该方法还包括确定功能模块边界。该边界内面积为单元清单面积总的函数。该方法还包括生成边界内单元清单的具体配置情况。该具体配置情况由自动配置和布线软件完成。同时,该自动配置和布线软件接收有关边界和单元清单规格的信息。该方法还包括在生成具体配置情况后,将备用单元放置到边界内白色空间的步骤。其中白色空间是自动配置和布线软件具体配置单元清单时产生的。
本发明的一个优点是在模块内基本不剩余白色空间,与以前方法相比,可制成尺寸更小的模块。该尺寸更小模块的优点是最终晶粒尺寸更小,从而可提高成品率,并降低成本。另外,更小模块意味着在晶粒上模块之间更紧凑,这也潜在地减小了晶粒上信号通道长度,从而减小了信号传送延迟时间和临界信号时间,这将导致诸如微处理器之类器件内集成电路时钟频率增加。另外,该发明还潜在地降低了模块内单元自动配置和布线所需时间。
参阅本发明说明书的后续部分和附图说明后,本发明的其它特征和优点会更清晰明了。
附图说明
图1表示根据本发明在自动配置和布线模块内配置备用单元的配置方法流程图。
图2到图5表示确定图1所需备用单元面积的四种实施形式流程图。
图6表示根据本发明图1所示情况配置备用单元实施例的框图。
图中标号说明如下:
图1备用单元配置方法
102-设计人员设计包括功能单元清单和连接信息的模块
104-将模块内功能单元面积相加确定总的功能单元面积
106-确定所需备用单元面积
108-将总的功能单元面积和所需备用单元面积相加得到总单元面积
112-将以下内容作为输入项输入到自动配置工具并运行自动配置工具:
1)面积等于总单元面积的边界,以及
2)单元清单和连接信息;其中单元清单仅包括其中的功能单元,即:不包括其中的备用单元
114-自动配置工具生成一配置过的模块,该模块内总的白色空间面积约等于所需备用单元总面积
116-将备用单元配置到经配置工具配置后模块内剩余的白色空间内
图2-图5确定备用单元面积的实施形式
图2 106-确定所需备用单元面积
    202-设计人员确定模块内所需备用单元清单
    204-将所需备用单元面积相加以便确定所需备用单元面积
图3 106-确定所需备用单元面积
    302-计算所需备用单元面积时,将备用单元面积取做总功能单元面积的一个百分比值
图4 106-确定所需备用单元面积
    402-计算所需备用单元面积时,对每一模块来说,将备用单元面积取做一个固定值
图5 106-确定所需备用单元面积
502-计算所需备用单元面积时,根据总功能单元面积处于一系列数值范围内的哪一个具体范围,将备用单元面积取做某一个固定值
图6备用单元配置实施例
604a-功能单元面积=800     604b-功能单元面积=1000
604c-功能单元面积=1200    604d-功能单元面积=800
604e-功能单元面积=1400    604f-功能单元面积=1600
604g-功能单元面积=1200
步骤102:模块设计方案中的功能单元
总的功能单元面积=8000-------步骤104:计算总的功能单元面积
所需备用单元面积=1200-------步骤106:确定所需备用单元面积
总的单元面积=9200-------------步骤108:计算总的单元面积
步骤112:将边界作为输入项提供到配置工具
步骤114:自动配置工具生成一种配置方案;白色空间面积约等于所需备用单元面积
604a-功能单元面积=800     604b-功能单元面积=1000
604c-功能单元面积=1200    604d-功能单元面积=800
604e-功能单元面积=1400    604f-功能单元面积=1600
604g-功能单元面积=1200    608-白色空间
步骤116:用备用单元填充白色空间
604a-功能单元面积=800     604b-功能单元面积=1000
604c-功能单元面积=1200    604d-功能单元面积=800
604e-功能单元面积=1400    604f-功能单元面积=1600
604g-功能单元面积=1200    612-备用单元
具体实施方式
现在请参阅图1,图中所示为根据本发明在自动配置和布线模块内配置备用单元时之配置方法流程图。该流程图起始于步骤102。
在步骤102,设计人员设计一个用于诸如微处理器之类集成电路设计方案的自动配置和布线模块。自动配置和布线模块为集成电路内功能模块,该集成电路功能单元借助于自动配置和布线软件程序或工具配置并布线到功能模块内。自动配置和布线模块示例为算术逻辑单元(ALU)或浮点单元(FPU)或多媒体增强单元(MXU)(任一多媒体增强单元还可进一步划分为N加法器(N-bit adder),乘法器等),转译旁视缓冲器(TLB),总线接口单元(BIU),寄存器文件,指令转译器,指令列,写入、填充或存储缓冲器,诸如数据、指令或分支目标地址超高速缓冲存储器之类不同元件的各种控制逻辑块。众所周知的自动配置和布线工具示例包括Mentor Graphics公司的TeraPlace工具,Synopsys公司的Physical Compiler工具和Cadence Design Systems公司的Silicon Ensemble工具。
一个单元是完成一种功能的一个电路,该电路具有特定的、不可更改的实体边界,若该单元实体边界更改,则根据定义该单元将不再是同类单元。一个模块指在实体边界内多个单元的集合,若功能单元组合更改的话,则根据定义该模块将不再是同类模块。然而,模块实体边界可更改且当其中功能单元组合保持不变时,该模块的功能将保持不变。这与单元不同,对于单元来说,实体边界是不可更改的。这样的话,两种不同自动配置工具可生成指定自动配置和布线模块边界内功能单元集合的多种不同位置组合。
在自动配置和布线时区分单元和模块的另一方法是模块具有实体等级,而单元没有实体等级。自动配置和布线模块也被称作随机逻辑宏(RLM)。值得注意的是诸如用户设计模块之类非自动配置和布线模块也可不具备实体等级。例如:设计诸如动态随机存取存储器之类用户设计模块时,设计人员可具体配置电路中诸如晶体管或逻辑门之类每一单独元件,而不用自动配置和布线工具配置电路所有元件。
步骤102中自动配置和布线模块设计方案包括自动配置和布线模块内的功能单元清单。功能单元指输入端和输出端与模块内其它单元连接并完成模块功能的一个单元。功能单元是与备用单元相对而言的,备用单元可完成其同类功能单元具备的所有功能,但根据功能模块设计方案,备用单元的输入端和输出端不与模块内其它单元相连。模块内包含备用单元的目的是便于随后的工程更改,比如:修改错误或加强集成电路功能。该功能模块示例包括逻辑门(即:AND、OR、NAND、NOR、XOR等),晶体管,锁存器,触发器,多路器,多路分解器,寄存器,比较器,进位保留加法器,计数器,移位寄存器,优先编码器,时钟再生器,双相缓冲器和同步器。
步骤102自动配置和布线模块设计方案还包括连接信息。连接信息指描述功能单元的输入端和输出端是如何连接到一起的信息。连线表就是连接信息的一个实例。例如:连接信息可能规定反相器XYZ的输出脚位连接到NAND-门ABC的输入脚位1,而NAND-门ABC的输出脚位连接到NOR-门GHI的输入脚位3。自动配置和布线工具在将单元配置到自动配置和布线模块内时要考虑到这些连接信息,以便使得随后的布线步骤更易于进行。此时该流程就从步骤102行进到步骤104。
在步骤104,设计人员将步骤102指定的自动配置和布线模块设计方案中每一功能单元的面积相加以便确定总的功能单元面积。典型情况下,每个单元形状均为矩形。尤其是,在确定总的功能单元面积时,设计人员不考虑最终要添加到自动配置和布线模块内的备用单元。此时该流程从步骤104行进到步骤106。
在步骤106,设计人员确定自动配置和布线模块内备用单元所需面积。此时,设计人员可采用多种方式确定所需备用单元面积。图2到图5表示确定备用单元面积的四种方式。此时该流程从步骤106行进到步骤108。
在步骤108,设计人员将步骤104确定的总的功能单元面积和步骤106确定的所需备用单元面积相加,以便获得自动配置和布线模块总单元面积。如同下面结合步骤112所描述的那样,总单元面积近似等于自动配置和布线模块边界面积。尤其是,与传统方法不同,该近似于自动配置和布线模块边界面积的总单元面积不会存在过多的富余空间。如同下述情况,在步骤106确定的备用单元面积在此作为富余空间,原因是与传统方法不同,在本方法中备用单元不包括在提供到自动配置和布线工具的单元清单内。此时该流程从步骤108行进到步骤112。
在步骤112,运行自动配置和布线工具将步骤102确定的功能模块清单内的功能模块配置到自动配置和布线模块内。此时至少有两个输入项提供到自动配置和布线工具:  步骤102生成的功能单元清单和连接信息,自动配置和布线模块边界。尤其是,此时功能单元清单内不包括备用单元。这样该工具就不会将备用单元配置到指定边界内。步骤108确定的总单元面积包含步骤106确定的备用单元面积,由于备用单元不包括在提供到自动配置和布线工具的功能单元清单内,故备用单元面积不被自动配置和布线工具用于放置备用单元,这样做的优点是备用单元面积可当作富余空间,它使得自动配置和布线工具能够更容易将功能单元放置到指定自动配置和布线模块边界内。
自动配置和布线模块边界是定出要放置功能模块的多边形顶点的一系列坐标值。这些多边形顶点确定了一个区域,该区域面积近似等于步骤108确定的总单元面积。作为一种实施形式,多边形的所有角均为直角。典型情况下,设计人员选择功能模块边界多边形的各种图形以最优化方式将自动配置和布线模块填充到集成电路的平面配置图内。此时该流程从步骤112行进到步骤114。
在步骤114,自动配置和布线工具在步骤112确定的边界内生成步骤112指定功能单元的一种配置,或一种平面配置图。由于总的功能单元面积小于边界面积,该种配置就必然包括白色空间,即:自动配置和布线模块边界内未被功能单元占据的尚未使用的区域。典型情况下,白色空间有多个单独的白色空间组成,它们统称为白色空间。这些单独白色空间的面积总和,即总的白色空间面积,近似等于步骤106确定的所需备用单元的总面积。此时该流程从步骤114行进到步骤116。
在步骤116,设计人员通过自动配置和布线工具将备用单元放置到自动配置和布线模块内剩余的白色空间内。此时,可将较大备用单元放置到较大单独白色空间内,中等尺寸备用单元放置到中等单独白色空间内,以此类推,直到所剩余的白色空间仅能放置诸如逻辑门和二极管之类小的备用单元为止。采用该种方式,可从根本上清除白色空间,从而达到几乎完全利用自动配置和布线模块面积的效果。另外还可采用其它各种方法将备用单元配置到白色空间内。比如设计人员可采用可视计算机辅助设计工具将备用单元手动配置到白色空间内。另外,软件工具也可接收配置到自动配置和布线模块的输入备用单元清单和步骤114的自动配置和布线工具的配置输出,自动将备用单元配置到自动配置和布线模块的白色空间内。这样该流程就在步骤116结束。
现在请参阅图2,该图表示图1中步骤106确定所需备用单元面积步骤的第一种实施形式流程图。该流程起始于步骤202。
在步骤202,设计人员确定自动配置和布线模块内的备用单元清单。典型情况下,设计人员根据自动配置和布线模块的功能选择备用单元类型和数量。例如:备用单元清单内通常包括大量的逻辑门。此时该流程行进到步骤204。
在步骤204,设计人员将步骤202确定的备用单元清单内单个备用单元的面积相加以便确定步骤106所需的备用单元面积。此时该流程图就在步骤204结束。
现在请参阅图3,该图表示图1中步骤106确定所需备用单元面积步骤的第二种实施形式流程图。该流程起始于步骤302。
在步骤302,设计人员计算步骤106所需备用单元面积时,以图1中步骤104确定的总功能单元面积的特定百分比来表示。例如:设计人员可将总功能单元面积的10%作为所需备用单元面积。根据自动配置和布线模块的复杂程度和/或尺寸不同,该百分比数值可作为其函数而取不同数值。此时该流程在步骤302结束。
现在请参阅图4,该图表示图1中步骤106确定所需备用单元面积步骤的第三种实施形式流程图。该流程起始于步骤402。
在步骤402,设计人员计算步骤106所需备用单元面积时,可将集成电路设计方案中所有模块内的备用单元面积取做固定值。例如:设计方案中可规定所需备用单元面积为500平方微米。此时该流程在步骤402结束。
现在请参阅图5,该图表示图1中步骤106确定所需备用单元面积步骤的第四种实施形式流程图。该流程起始于步骤502。
在步骤502,设计人员计算步骤106所需备用单元面积时,可将步骤104确定的总功能单元面积划分为几个范围,对特定范围内的备用单元面积取特定值。也就是说,集成电路设计人员可将总功能单元面积划分成多个区间,对每一特定区间配置一个特定备用单元面积值。例如:设计方案中可规定,当总功能单元面积小于4500平方微米时,所需备用单元面积为500平方微米;当总功能单元面积介于4500到6000平方微米之间时,所需备用单元面积为600平方微米;当总功能单元面积介于6000到8000平方微米之间时,所需备用单元面积为800平方微米;当总功能单元面积大于8000平方微米时,所需备用单元面积为1000平方微米。此时该流程在步骤502结束。
现在请参阅图6,该图表示根据本发明图1所示情况,备用单元配置实施例的比例框图。为便于例示性说明,图6所示实施例已经被大幅度简化,以致于仅包含七个功能单元,然而,一个典型自动配置和布线模块可能包含数百个功能模块。因此,与通常情况相比,实施例中功能模块面积与总模块面积相关性较大。
如图6所示,七个功能模块分别标注为604a到604g,统称为功能模块604,根据图1中步骤102规定,该模块604包含在典型自动配置和布线模块设计方案中。功能单元604a到604g的面积分别为800,1000,1200,800,1400,1600和1200平方微米。除了功能模块604每个模块的面积之外,设计方案中还包含每个功能模块604的输入、输出规格和表明如何将各个输入端和输出端连接到一起完成自动配置和布线模块功能的连接信息。
如图6所示,根据图1步骤104规定,功能模块604所有单元面积相加后所得总功能单元面积为8000平方微米。如图6所示,根据图1步骤106规定,本实施例中所需备用单元面积为1200平方微米。同样如图6所示,根据步骤108规定,将功能单元总面积与所需备用单元面积相加所得总单元面积为9200平方微米。
如图6所示,确定自动配置和布线模块边界606,并根据图1步骤112规定,将该边界作为输入项提供到自动配置和布线工具。自动配置和布线模块边界606为一多边形,多边形606通过指定其每一顶点坐标确定。该多边形606的面积为9200平方微米,等于步骤108中确定的总单元面积。同样在步骤112,功能单元604清单连同连接信息一起提供给自动配置工具。尤其值得注意的是备用单元不包含在提供给配置工具的功能单元604清单内。
如图6所示,根据图1步骤114规定,自动配置工具就会根据模块边界606、功能单元604清单和连接信息生成一种自动配置和布线模块配置方案。如图6所示,在该配置方案中存在白色空间608。图6表示出模块配置方案中的四个可区分的白色空间608。如图所示,这些单独白色空间608的面积总和约等于所需备用单元面积,即步骤106确定的1200平方微米。
如图6所示,根据图1步骤116规定,将备用单元配置到步骤114生成的白色空间608内。明显的优点是,本质上说整个白色空间608均填充有备用单元,这导致整个自动配置和布线模块几乎被完全有效配置,几乎没有浪费任何空间。如上所述,由于实施例采用了比正常情况下个数少得多的功能模块604,该功能模块604就大得不合比例,尤其是与备用元件相比,可能大得更是不合比例。
尽管上述内容已详细描述了本发明及其目的、特征、优点,但本发明还包括其它实施形式。例如:尽管已经描述了几种不同的确定备用单元面积的实施形式,实施过程中本发明允许使用任一方法确定备用单元面积。更进一步情况是,尽管描述本发明各个步骤时所涉及到的实施者均为集成电路设计人员,但该步骤也可由设计人员借助于计算机系统完成。
对于本领域技术人员,很显然,在不脱离本发明之精神和范围内,他们可采用此处所述概念和几个具体实施形式作为基础对用于完成与本发明同样目的的其它结构进行设计和更改,因此本发明的保护范围以权利要求的界定为准。

Claims (18)

1.一种自动配置和布线模块中备用单元的配置方法,其特征在于,包括:
计算自动配置和布线模块内功能单元清单和备用单元清单的总面积;
提供该功能单元清单和边界作为输入项到自动配置和布线工具,以便据此生成自动配置和布线模块平面配置图,其中该功能模块清单不包括备用单元清单,该边界具有面积,约等于该功能单元清单和该备用单元清单的总面积;以及
将备用单元清单中的备用单元大量地填充入该平面配置图的白色空间内。
2.如权利要求1所述的自动配置和布线模块中备用单元的配置方法,其特征在于,该白色空间包括该边界内未被该功能单元清单中的功能单元占据的空间。
3.如权利要求1所述的自动配置和布线模块中备用单元的配置方法,其特征在于,该备用单元包括多个单元,其输出端和输入端并没有与自动配置和布线模块内其它单元相连。
4.如权利要求1所述的自动配置和布线模块中备用单元的配置方法,其特征在于,该功能单元包括多个单元,其输出端和输入端连接到自动配置和布线模块内其它单元。
5.如权利要求1所述的自动配置和布线模块中备用单元的配置方法,其特征在于,该功能单元包括多个单元,使自动配置和布线模块完成其预期功能。
6.如权利要求1所述的自动配置和布线模块中备用单元的配置方法,其特征在于,进一步包括:
提供该功能单元清单和该边界并将该功能单元清单的连接信息作为输入项提供到自动配置工具,以据此生成该自动配置和布线模块平面配置图。
7.一种将自动配置和布线模块内单元配置到集成电路的方法,其中该自动配置和布线模块设计方案包括指定欲包含的多个功能单元的功能单元清单,该多个功能单元的每个单元均含有面积值和输入、输出端,该自动配置和布线模块设计方案还包括指定该多个功能单元的输入、输出端如何连接的连接信息,其特征在于,该方法包括:
确定备用单元面积;
定出该自动配置和布线模块的边界,该边界具有面积约等于该备用单元面积和该多个功能单元面积总和;
向自动配置和布线软件程序提供该功能单元清单、该连接信息、该边界,此时该自动配置和布线软件程序生成边界内含有空白空间的该自动配置和布线模块的平面配置方案;以及
在该自动配置和布线软件程序生成该自动配置和布线模块平面配置方案后,将备用单元配置到该空白空间。
8.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,该功能单元清单不包括该备用单元。
9如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,该空白空间的总面积约等于该备用单元面积。
10.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,上述将该备用单元配置到该空白空间的方法包括借助于计算机系统将该备用单元中的每一单元人为配置到该空白空间。
11.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,上述确定该备用单元面积的方法包括:
确定该自动配置和布线模块内所需的备用单元清单;以及
将该备用单元面积设置为约等于该备用单元清单面积总和。
12.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,上述确定该备用单元面积的方法包括在计算该备用单元面积时,将该面积取做该多个功能单元面积总和的一百分比值。
13.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,上述确定该备用单元面积的方法包括将该备用单元面积取做一个预定值。
14.如权利要求7所述的将自动配置和布线模块内单元配置到集成电路的方法,其特征在于,上述确定该备用单元面积的方法包括将该备用单元面积取做多个预定值之一,其中该多个预定值对应于多个面积范围,选择该多个预定值之一时的依据为该多个功能单元面积总和落于该多个面积范围的哪一个。
15.一种配置集成电路的功能模块内的单元的方法,其特征在于,包括:确定功能模块内的单元清单,该清单不包括备用单元;
定出功能模块的边界,该边界具有一面积,该面积为该单元清单面积总和的一个函数;
生成该边界内该单元清单的具体配置情况,其中该具体配置情况是通过自动配置软件生成,该自动配置软件接收该边界和该单元清单的规格;以及
上述该具体配置情况生成后,将备用单元配置到该边界内白色空间,其中该白色空间是该自动配置软件具体配置该单元清单时产生的。
16.如权利要求15所述的配置集成电路的功能模块内的单元的方法,其特征在于,该单元清单包括多个执行该功能模块的功能的单元。
17.如权利要求15所述的配置集成电路的功能模块内的单元的方法,其特征在于,该功能单元不具有实体分级结构。
18.如权利要求15所述的配置集成电路的功能模块内的单元的方法,其特征在于,上述功能单元由不可更改的实体边界定出。
CNB031278310A 2003-02-25 2003-08-11 自动配置和布线模块中备用单元的配置方法 Expired - Lifetime CN100490120C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/373,989 US6993738B2 (en) 2002-06-18 2003-02-25 Method for allocating spare cells in auto-place-route blocks
US10/373,989 2003-02-25

Publications (2)

Publication Number Publication Date
CN1514482A true CN1514482A (zh) 2004-07-21
CN100490120C CN100490120C (zh) 2009-05-20

Family

ID=34272266

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031278310A Expired - Lifetime CN100490120C (zh) 2003-02-25 2003-08-11 自动配置和布线模块中备用单元的配置方法

Country Status (2)

Country Link
CN (1) CN100490120C (zh)
TW (1) TWI257168B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418543C (zh) * 2006-09-25 2008-09-17 辽宁大生药业有限公司 双树脂法制备高质量的银杏叶活性成分提取物
CN104200009A (zh) * 2014-08-11 2014-12-10 华东师范大学 一种多层电路结构高密度布线的可视化交互仿真方法
CN108268693A (zh) * 2016-12-15 2018-07-10 台湾积体电路制造股份有限公司 对电源-接地胞元群组进行分割的方法
WO2021196573A1 (zh) * 2020-03-30 2021-10-07 安徽省东科半导体有限公司 芯片设计中填补环的自动布局方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105702673A (zh) * 2014-11-28 2016-06-22 刘邦俊 集成电路的布局结构及方法
US10127340B2 (en) 2016-09-30 2018-11-13 Taiwan Semiconductor Manufacturing Company, Ltd. Standard cell layout, semiconductor device having engineering change order (ECO) cells and method
CN109671704A (zh) * 2018-12-24 2019-04-23 成都华微电子科技有限公司 内嵌eflash大容量存储器电路设计制备方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418543C (zh) * 2006-09-25 2008-09-17 辽宁大生药业有限公司 双树脂法制备高质量的银杏叶活性成分提取物
CN104200009A (zh) * 2014-08-11 2014-12-10 华东师范大学 一种多层电路结构高密度布线的可视化交互仿真方法
CN104200009B (zh) * 2014-08-11 2017-03-29 华东师范大学 一种多层电路结构高密度布线的可视化交互仿真方法
CN108268693A (zh) * 2016-12-15 2018-07-10 台湾积体电路制造股份有限公司 对电源-接地胞元群组进行分割的方法
CN108268693B (zh) * 2016-12-15 2023-09-01 台湾积体电路制造股份有限公司 对电源-接地胞元群组进行分割的方法及系统
WO2021196573A1 (zh) * 2020-03-30 2021-10-07 安徽省东科半导体有限公司 芯片设计中填补环的自动布局方法

Also Published As

Publication number Publication date
CN100490120C (zh) 2009-05-20
TWI257168B (en) 2006-06-21
TW200416998A (en) 2004-09-01

Similar Documents

Publication Publication Date Title
US7934188B2 (en) Legalization of VLSI circuit placement with blockages using hierarchical row slicing
US7549137B2 (en) Latch placement for high performance and low power circuits
US7299442B2 (en) Probabilistic congestion prediction with partial blockages
US7600208B1 (en) Automatic placement of decoupling capacitors
Agnihotri et al. Recursive bisection placement: Feng Shui 5.0 implementation details
US8661374B2 (en) Placement aware clock gate cloning and fanout optimization
CN1838411A (zh) 半导体集成电路器件及固定其阱势的设计方法
US6532572B1 (en) Method for estimating porosity of hardmacs
CN1934571A (zh) 用于集成电路设计和制造的方法和架构
US7194707B2 (en) Method and apparatus for depopulating peripheral input/output cells
CN113408225B (zh) 一种提升运行速度的fpga芯片设计方法
US8954915B2 (en) Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit
US20110107284A1 (en) Semiconductor integrated circuit and method of designing semiconductor integrated circuit
CN113408224B (zh) 利用网表局部再综合实现布局合法化的fpga布局方法
CN1752985A (zh) 埋入式可切换功率环
CN1514482A (zh) 自动配置和布线模块中备用单元的配置方法
US7469399B2 (en) Semi-flattened pin optimization process for hierarchical physical designs
US20030212977A1 (en) Design method for gate array integrated circuit
Yan et al. Optimal slack-driven block shaping algorithm in fixed-outline floorplanning
Baskaya et al. Placement for large-scale floating-gate field-programable analog arrays
Emmert et al. A methodology for fast FPGA floorplanning
CN106874543B (zh) 版图的lef图形处理方法
US6938232B2 (en) Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks
Viswanathan et al. Fastplace: an analytical placer for mixed-mode designs
Shin et al. HLS-dv: A high-level synthesis framework for dual-Vdd architectures

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
CX01 Expiry of patent term

Granted publication date: 20090520

CX01 Expiry of patent term