CN109783833A - 集成电路及其设计的方法及其设计系统 - Google Patents
集成电路及其设计的方法及其设计系统 Download PDFInfo
- Publication number
- CN109783833A CN109783833A CN201810338818.2A CN201810338818A CN109783833A CN 109783833 A CN109783833 A CN 109783833A CN 201810338818 A CN201810338818 A CN 201810338818A CN 109783833 A CN109783833 A CN 109783833A
- Authority
- CN
- China
- Prior art keywords
- unit
- height
- row
- design
- cell
- 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
- 238000013461 design Methods 0.000 title description 69
- 238000000034 method Methods 0.000 title description 39
- 238000012545 processing Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 23
- 238000005457 optimization Methods 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008447 perception Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000012938 design process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005611 electricity Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002019 doping agent Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 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/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- 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/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种集成电路,包含具有第一高度的第一行,其中第一单元位于具有第一高度的第一行中。集成电路进一步包含具有第二高度的第二行,其中第一高度不是第二高度的整数倍数。第二单元位于具有第二高度的第二行中。
Description
技术领域
本发明的实施例是有关于一种集成电路及其设计的方法及其设计系统。
背景技术
各种自动化工具用于辅助半导体设计师对准备制造的电路的最终布局采用期望电路的功能性设计。此工艺将电路的功能性描述转化成使用标准单元资料库(library)映射到单元的行中的布尔函数(Boolean function)。一旦映射,那么便执行合成以将结构设计转变成物理布局。
为了避免来自资料库的单元与共同电力轨(power rails)或其它设计规则对准的问题,使用来自单元资料库的标准化单元,所述标准化单元所具有的单元高度等于单元行的高度或标准单元高度的整数倍的单元高度。因此,通常早期就做出关于利用哪一单元高度来设计的决策,且对应于那一单元高度的单元资料库用于结构设计和合成工艺。
发明内容
根据一实施例,集成电路包括:多个单元,所述单元中的每一个包含配置成执行默认定义功能的组件;所述多个单元中的第一个,其定位于具有第一高度的第一行中;所述第一单元,其具有所述第一高度;所述多个单元中的第二个,其定位于具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整数倍数;以及所述第二单元,其具有所述第二高度。
根据另一实施例,集成电路的设计方法包括:接收集成电路设计;确定具有第一高度的第一单元类型的最大可允许面积;确定所述第一单元类型的多个第一单元的总面积;将所述多个第一单元的所述总面积与所述第一单元类型的所述最大可允许面积进行比较;如果所述多个第一单元的所述总面积大于所述第一单元类型的所述最大可允许面积,那么所述第一单元中的一个便由具有小于所述第一高度的第二高度的第二单元类型的第二单元替换;其中由处理器执行所述方法的至少一个步骤。
根据又一实施例,集成电路的设计系统包括:单元数据库,其定义多个单元,所述单元中的每一个包含配置成执行默认定义功能的组件,所述多个单元包含具有第一高度的第一单元类型以及具有第二高度的第二单元类型,其中所述第一高度不是所述第二高度的整数倍数;处理器;计算机可读媒体,其可由所述处理器存取,所述计算机可读媒体存储在由所述处理器执行时实施方法的指令,所述方法包括:接收集成电路设计;基于功能性集成电路设计从所述单元数据库中选择所述第一单元类型的第一单元以及所述第二单元类型的第二单元;产生集成电路设计布局,所述集成电路设计布局包含具有所述第一高度的第一行,其中所述第一单元定位于所述第一行中;以及具有所述第二高度的第二行,其中所述第二单元定位于所述第二行中。
附图说明
当结合附图阅读时,从以下详细描述最好地理解本公开的各方面。应注意,根据行业中的标准惯例,各种特征未按比例绘制。实际上,为了论述清晰起见,可任意增大或减小各种特征的尺寸。
图1是说明根据一些实施例的实例处理系统的详情的方块图。
图2是说明根据一些实施例的实例集成电路设计方法的详情的工艺流程图。
图3是说明根据一些实施例的实例集成电路平面布置图的详情的方块图。
图4说明图3中所示的集成电路平面布置图,其进一步包含根据一些实施例的变化高度单元的实例。
图5是说明根据一些实施例的集成电路设计系统的其它详情的方块图。
图6是说明根据一些实施例的集成电路设计系统的其它详情的方块图。
图7是说明根据一些实施例的集成电路设计系统的其它详情的方块图。
图8是说明根据一些实施例的用于确定集成电路平面布置图的行的数量的实例工艺的工艺流程图。
图9是说明根据一些实施例的包含驱动强度考虑因素的集成电路设计系统的其它详情的方块图。
图10是说明根据一些实施例的包含时序(timing)优化的集成电路设计系统的其它详情的方块图。
图11是说明根据一些实施例的包含功率优化的集成电路设计系统的其它详情的方块图。
附图标号说明
100:处理系统;
110:处理单元;
112:输入/输出装置;
114:显示器;
120:中央处理单元(CPU);
122:存储器;
124:大容量存储装置;
126:视频适配器;
128:输入/输出接口;
130:总线;
140:网络接口;
200:集成电路设计和制造工艺;
202:设计;
204:合成工艺;
206:闸级网表;
208:单元资料库;
210:光刻掩模;
212:集成电路;
220:平面布置图;
230:操作;
232:寄存器晶体管级编译器;
240:编译工艺;
242:决策区块;
244、330:工艺;
250:自动布局和布线系统;
252、300:平面布置图;
254:布局;
256:时钟树合成(CTS);
258:布线;
260:后布线;
262:输出;
270:变化行高度感知时序优化;
272:变化行高度感知功率优化;
280、284'、286、288:较高单元;
282、290':较短单元;
284:时序关键单元;
284″、290、290″、292、311、312、313、314、315:单元;
301、302、303、304、305:行;
332、334、336:区块;
2DX、D、DX:驱动强度;
2Y、Y、hunit1、hunit2、hunit3、hunit4、hunit5:单元高度;
Area(Celluniti):面积;
Areamax(unit1)、Areamax(unit1-5)、Areamax(unit1-n):最大面积;
Cellunit1、Cellunit2、Cellunit3、Cellunit4、Cellunit5:单元高度/单元类型;
hunit:高度;
具体实施方式
以下公开提供用于实施所提供主题的不同特征的许多不同实施例或实例。下文描述组件和布置的具体实例以简化本公开。当然,这些仅为实例且并不意图为限制性的。举例来说,在以下描述中,在第二特征上方或第二特征上形成第一特征可包含第一特征和第二特征直接接触而形成的实施例,并且还可包含可在第一特征与第二特征之间形成额外特征,使得第一特征和第二特征可以不直接接触的实施例。另外,本公开可在各种实例中重复图示元件符号和/或字母。此重复是出于简化和清楚的目的,且就其本身而言并不指示所论述的各种实施例和/或配置之间的关系。
此外,为易于描述,如“下方”、“低于”、“下部”、“高于”、“上部”和类似术语的空间相对术语可在本文中用以描述如图式中所示的一个元件或特征与另一元件或特征的关系。除了图式中所描绘的定向之外,空间相对术语意图涵盖在使用或操作中的装置的不同定向。设备可以其它方式定向(旋转90度或处于其它定向),且可同样相应地解释本文中所使用的空间相对描述词。
集成电路自动化设计工具将电路设计转化成待制造的电路布局。此工艺典型地包含将电路的行为描述转变成功能性描述,所述功能性描述随后分解成逻辑函数且使用标准单元资料库映射到单元的行中。一旦映射,那么便执行合成以将结构设计转变成物理布局,建构时钟树(clock tree)以使结构元件同步,且设计优化后布局(optimized postlayout)。
根据本公开的详情,用于从用户设计中产生闸级网表(gate-level netlist)的集成电路和设计工艺的实例包含产生包含具有变化单元高度的单元的行的集成电路。换句话说,所述行具有彼此不必互为倍数的变化行高度。
举例来说,一些实施例提供包含以下的集成电路:具有第一高度的第一行,其中单元位于具有第一高度的第一行中;以及具有不是第一高度的整数倍数的第二高度的第二行。第二行中的单元具有第二高度。相比之下,一些已知集成设计方法仅包含相同行高度,其中每一行具有称为hunit的高度。所述行含有具有此行高度的单元,或具有hunit的整数倍(即n×hunit,其中n为正整数)的单元高度的单元可放入各自具有hunit高度的多个行中。由于此种行限制,此布置阻止或阻碍优化设计。
仅使用单个单元高度,必须在电路性能、电路功率以及制造工艺之间做出折中。举例来说,有较低阈值电压的单元具有相对较高的速度和功率,但可能需要额外制造步骤。或者,相比于较低阈值电压单元,具有相对较高阈值电压设计的单元可使用较少功率,且还可具有较低速度,然而仍需要额外制造步骤。
图1是说明根据本文所公开的一些实施例的处理系统100的实例的方块图。处理系统100可用于实施本文中所论述的各种工艺。处理系统100包含处理单元110,如桌面计算机、工作站、笔记本电脑、定制用于特定应用的专用单元、智能手机或平板电脑等。处理系统100可配备有显示器114和一或多个输入/输出装置112,如鼠标、键盘、触摸屏、打印机等。处理单元110还包含中央处理单元(central processing unit,CPU)120、存储器122、大容量存储装置124、视频适配器126以及连接到总线130的输入/输出接口128。
总线130可以是任何类型的若干总线架构中的一种或多种,包含存储器总线或存储器控制器、外围总线,或视频总线。中央处理单元120可包括任何类型的电子数据处理器,且存储器122可包括任何类型的系统存储器,如静态随机存取存储器(static randomaccess memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)或只读存储器(read-only memory,ROM)。
大容量存储装置124可包括任何类型的存储装置,所述存储装置配置为了存储数据、程序(programe)以及其它信息,且配置成使得数据、程序以及其它信息可经由总线130存取。大容量存储装置124可包括例如硬盘驱动器、磁盘驱动器、光盘驱动器或类似装置中的一或多个。
如本文中所使用的术语(term)计算机可读媒体可包含如上述系统存储器和存储装置的计算机存储媒体。计算机存储媒体可包含以任何方法或技术实施用于存储信息的易失性(volatile)和非意失性(nonvolatile)、可移动和不可移动媒体,如计算机可读指令、数据结构或程序模块。存储器122和大容量存储装置124为计算机存储媒体实例(例如存储器存储(memory storage))。因此,计算机存储媒体可包含随机存取存储器、只读存储器、电可擦除只读存储器(electrically erasable read-only memory,EEPROM)、快闪存储器或其它存储器技术、光盘只读存储器(compact disc read-only memory,CD-ROM)、数字通用光盘(digital versatile disk,DVD)或其它光学存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储装置,或可用以存储信息以及可由处理系统100存取的任何其它制品。任何此类计算机存储媒体可以是处理系统100的部分。计算机存储媒体不包含载波或其它传播数据信号或调制数据信号。
通信媒体可由计算机可读指令、数据结构、程序模块或其它数据在如载波或其它传送机制等调制数据信号中体现,且包含任何信息传递媒体。术语“调制数据信号”可描述具有一或多个特征组或以编码使得信号信息的方式改变的信号。借助于实例而非限制,通信媒体可包含有线媒体,例如有线网络或直接有线连接;和无线媒体,如声学、射频(radiofrequency,RF)、红外线(infrared)以及其它无线媒体。
视频适配器126和输入/输出接口128提供接口以将外部输入装置和输出装置耦合到处理单元110。如图1中所说明,输入装置和输出装置的实例包含耦合到视频适配器126的显示器114以及耦合到输入/输出接口128的输入/输出装置112,所述输入/输出装置如鼠标、键盘、打印机和类似装置。其它装置可耦合到处理单元110,且可采用额外或较少的接口卡。举例来说,串行接口卡(未图示)可用于为打印机提供串行接口。处理单元110还可包含网络接口140,所述网络接口可为到局域网(local area network,LAN)或广域网(widearea network,WAN)116的有线连接和/或无线连接。
处理系统100的实施例可包含其它组件。举例来说,处理系统100可包含电力供应、电缆、母板、可移动存储媒体、机箱和类似装置。尽管未图示,这些其它组件应视为处理系统100的部分。
在一些实例中,通过中央处理单元120执行软件代码来分析用户设计以获得集成电路布局。软件代码可由中央处理单元120经由总线130从存储器122、大容量存储装置124或类似装置来存取,或通过网络接口140远程存取。
图2大体上说明可通过处理系统100来实施用于用户供应行为/功能性设计产生物理布局的实例集成电路设计和制造工艺200。用户设计202基于施加于总体设计的输入端的各种信号或刺激来指定电路的期望行为或功能,且可以合适的编程语言写入。用户可通过输入/输出接口128将设计202上载到处理单元110(见图1)中。或者,设计202可上载和/或保存到存储器122或大容量存储装置124上,或设计202可通过网络接口140从远程用户上载。
合成工艺204在设计上执行,其中通过使设计与标准单元相匹配(如从一或多个单元资料库208)将来自设计202所期望的行为和/或功能转化成功能上等效的逻辑闸级电路描述。单元资料库208含有预设设计组件或各自可执行离散逻辑功能的单元的列表。单元存储在单元资料库208中的信息包括内部电路元件、这些电路元件的各种连接、包含每一单元的单元高度沿着单元所设计的电力轨、掺杂植入体(dopant implants)、孔等的预设设计物理布局图案。另外,所存储单元也可包括单元的形状、外部连接的终端位置、延迟特征、功率消耗等。合成工艺204产生功能上等效的逻辑闸级电路描述,如闸级网表206。单元资料库208可存储在例如含于大容量存储装置124中的一或多个数据库中。基于闸级网表206,可产生用于制造集成电路212的光刻掩模210。
在一些实例中,确定包含具有不同行高度的多个行的设计“平面布置图”。图3说明包含多个行301到305的实例集成电路装置平面布置图300,其中行301到305中的每一行具有不同单元高度hunit1到hunit5。举例来说,第一行301的高度为hunit1,且第二行302的高度为hunit2,其中行单元高度hunit1、hunit2中的两个都不为其他行单元高度的整数倍。
图4说明具有定位于行301到305的多个单元311到315的平面布置图300。如图4中所示,单元301到305具有相应于单元单元高度(cell unit heights)hunit1到hunit5的单元高度Cellunit1到Cellunit5。换句话说,行301到305中的每一行含有具有相同高度的单元311到315。此外,在所说明的实例中,行301到305仅含有具有与相应的行相同单元高度的单元311到315。因此,基于规划于平面布置图300中的行来控制单元的使用。
图5是说明根据所公开实例的集成电路设计工艺210的其它详情的流程图。如先前所提到,集成电路设计工艺210可由图1中所示的处理系统100来实施。参考图5,提供集成电路设计202,以及包含沿图3和图4相结合论述的直线规划的行的单元资料库208和平面布置图220。因此,单元资料库208包含具有变化单元高度的单元,且平面布置图220定义具有沿与图3和图4相结合论述的直线的各种高度的行。
合成工艺204包含确定用于设计的最大可允许面积,且更确切地说包含计算每一单元类型的最大可允许面积。因此,返回参考图3中所示的平面布置图300,合成工艺包含操作230,其中计算具有第一高度hunit1的第一单元类型cellunit1的最大面积Areamax(unit1)。针对单元类型中的每一种重复此操作,因此计算具有相应单元高度hunit1-n的每一单元类型cellunit1-n的最大面积Areamax(unit1-n)。从而,对于图3和图4中所示的具体实例,计算具有相应单元高度hunit1-5的每一单元类型cellunit1-5的最大面积Areamax(unit1-5)。
随后操作230根据硬件寄存器之间的数字信号的流动来模拟数字电路的编译器(如寄存器晶体管级(register transistor level,RTL)编译器232)以及执行于那些信号上的逻辑运算所使用,从而产生闸级网表206。
图6说明寄存器晶体管级编译器232的实例的其它详情,其中检查编译工艺240的初始输出端以确保没有单元类型cellunit1-5超出每一单元类型的所计算出的最大面积。在决策区块242中,如果确定单元类型cellunit1-5中的任一种超出相应计算最大面积Areamax(unit1-n),那么超出最大面积的任何此类单元类型cellunit1-n便更换为另一单元类型。
举例来说,确定具有第一高度hunit1的第一单元类型cellunit1的最大可允许面积为Areamax(unit1)。另外,确定由设计202所指定的第一单元类型cellunit1的第一单元的总面积,且将多个第一单元的总面积与第一单元类型的最大可允许面积进行比较。如果多个第一单元的总面积大于第一单元类型的最大可允许面积,那么第一单元cellunit1中的一个便由具有小于第一高度heightunit1的第二高度heightunit2的第二单元类型cellunit2的第二单元替换。将第二单元放入具有第二行高度hunit2的相应第二行中。
一旦在决策区块242中确定没有单元类型cellunit1-n超出相应最大面积Areamax(unit1-n),那么便产生闸级网表206。以此方式,不会超出每一行的最大可允许面积Areamax(unit1-n)都。
一些实例包含物理设计工艺,其中基于如由所产生的输入闸级网表206确定的单元面积来确定每一行高度的行的数量。图7说明此类物理设计工艺的实例,其中将单元套组或资料库208以及闸级网表206作为输入提供到自动布局和布线(automatic placementand routing,APR)系统250。自动布局和布线系统250配置基于闸级网表206所定义的单元分布来确定包含行规划的平面布置图252。
因此,在一些实例中,确定在平面布置图252中用于每一单元类型cellunit1-n所需要的行的数量。图8说明用于确定每一单元类型所需要的行的数量的工艺330。在区块332中,确定每一单元类型cellunit1-n的面积,并在区块334中确定总单元面积。基于总单元面积和每一单元类型的面积,在区块336中确定每一单元类型的行的数量。
每一单元类型的面积的总和为平面布置图所需要的总面积Area(Celltotal)。每一单元类型所需要的行的数量(单元高度)可如下计算。
其中Row#(uniti)为具有uniti的高度的单元类型所需要的行的数量;Area(Celluniti)为具有单元高度uniti的单元类型的面积;Wcore为设计区块的宽度;且huniti为uniti的高度。将具有行规划的平面布置图252输入到包含布局254、时钟树合成(clocktree synthesis,CTS)256、布线258以及后布线260的其余自动布局和布线APR工艺。自动布局和布线250提供图形数据系统(graphic data system,GDS)输出262。
图9说明驱动强度优化的实例,其中为较短单元高度的行提供较大驱动强度。参考图7,在一些实例中,单元资料库208包含驱动强度信息。闸级网表206包含电路中的闸的规格以及变化行高度电路设计的门之间的互连件的规格。基于资料库208和闸级网表206,确定电路中特定的闸的驱动强度信息且将所述信息用于优化不同高度单元的驱动强度。因此,返回参考图9,对于具有2Y的单元高度hunit1的较高单元280,使用升至DX(X为驱动强度乘数)的驱动强度D(D)。对于具有较短高度的单元,驱动强度增加。举例来说,具有Y的单元高度hunit2(较高单元280的高度的一半)的较短单元282,采用升至2DX的驱动强度D。换句话说,在所说明的实例中,所施加的最大驱动强度根据单元的单元高度而变化。在一些实施例中,驱动强度与单元的单元高度成反比,且在其它实施例中,可基于具有不同关系的单元的单元高度提供最大驱动强度。
返回到图7,在一些实例中,自动布局和布线250包含变化行高度感知时序优化270和/或变化行高度感知功率优化272。图10在概念上说明变化行高度感知时序优化270,其中设计包含三行301到313。行302包含时序关键(timing-critical)单元284,且行301和313包含较高单元286、288。举例来说,可将自动布局和布线250配置成使用较高单元284'替换时序关键单元284。此较高单元284'与较高单元288的单元高度相同,且因此,将较高单元284'以及较高单元288放入行303中。或者,时序关键单元284并不更换为较高单元,相反的驱动强度增加且/或电压阈值降低,如由单元284″所指示。因为单元284″的高度未改变,所以其保留在行302中。
图11在概念上说明变化行高度感知功率优化272,其中设计包含具有三行301到303的平面布置图的部分。行301包含待优化以减少功率的单元290。另一单元292绘示在行303中。举例来说,可将自动布局和布线250配置成使用较短单元290'替换单元290。由此,较短单元290'将被放入较短行高度单元302中。假设不存在关键时序问题,较短单元290'将减少功率使用。或者,单元290的高度可保持相同,但由单元290″替换以具有变化的驱动强度和或电压阈值从而减少功率。
因此,本公开的详情提供具有变化行高度以用于接收相应变化高度单元的集成电路设计。通过提供单元高度与其所放入的行的高度相匹配的设计,优化总晶片面积且可减少设计面积。所得装置具有较小浪费面积。
因此,所公开的实施例包含集成电路,所述集成电路包含具有第一高度的第一行,其中第一单元位于具有第一高度的第一行中。集成电路进一步包含具有第二高度的第二行,其中第一高度不是第二高度的整数倍数。第二单元位于具有第二高度的第二行中。
根据其它所公开的实施例,设计集成电路的方法包含接收功能性集成电路设计。确定具有第一高度的第一单元类型的最大可允许面积,并确定第一单元类型的多个第一单元的总面积。将多个第一单元的总面积与第一单元类型的最大可允许面积进行比较。如果多个第一单元的总面积大于第一单元类型的最大可允许面积,那么第一单元中的一个便由具有小于第一高度的第二高度的第二单元类型的第二单元替换。
又根据其它所公开的实施例,集成电路设计系统包含具有第一单元类型(具有第一高度)和第二单元类型(具有第二高度)的单元资料库。第一高度不是第二高度的整数倍数。计算机可读媒体可由处理器存取,且存储执行为了实施包含接收功能性集成电路设计的方法的指令。基于功能性集成电路设计从单元资料库中选择第一单元类型的第一单元和第二单元类型的第二单元。确定包含具有第一高度的第一行(其中第一单元定位于第一行中)和具有第二高度的第二行(其中第二单元定位于第二行中)的集成电路设计布局。
根据一实施例,集成电路包括:多个单元,所述单元中的每一个包含配置成执行默认定义功能的组件;所述多个单元中的第一个,其定位于具有第一高度的第一行中;所述第一单元,其具有所述第一高度;所述多个单元中的第二个,其定位于具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整数倍数;以及所述第二单元,其具有所述第二高度。在一实施例中,集成电路进一步包括:所述多个单元中的第三个,其定位于具有第三高度的第三行中;所述第三单元,其具有所述第三高度,其中所述第三高度不是所述第一高度或所述第二高度的整数倍数。
根据另一实施例,设计的方法包括:接收集成电路设计;确定具有第一高度的第一单元类型的最大可允许面积;确定所述第一单元类型的多个第一单元的总面积;将所述多个第一单元的所述总面积与所述第一单元类型的所述最大可允许面积进行比较;如果所述多个第一单元的所述总面积大于所述第一单元类型的所述最大可允许面积,那么所述第一单元中的一个便由具有小于所述第一高度的第二高度的第二单元类型的第二单元替换;其中由处理器执行所述方法的至少一个步骤。在一实施例中,方法进一步包括:确定包含具有所述第一高度的第一行的平面布置图;其中基于所述平面布置图来确定具有所述第一高度的所述第一单元类型的所述最大可允许面积;以及其中所述第一行含有所述多个第一单元。在一实施例中,所述平面布置图包含具有所述第二高度的第二行,以及其中所述第二行含有所述第二单元。在一实施例中,所述平面布置图包含多个所述第一行。在一实施例中,方法进一步包括基于所接收的集成电路设计的总单元面积以及所述多个第一单元的所确定的总面积来确定所述多个所述第一行的数量。在一实施例中,方法进一步包括基于所述平面布置图产生图形数据系统。在一实施例中,产生所述图形数据系统进一步包含将所述第一单元类型改变为具有不同高度的另一单元类型,从而优化所述集成电路设计的功率消耗。在一实施例中,产生所述图形数据系统进一步包含将所述第一单元类型改变为具有不同高度的另一单元类型,从而优化所述集成电路设计的电路时序。在一实施例中,方法进一步包括提供定义多个所述第一单元类型以及多个所述第二单元类型的单元数据库。在一实施例中,所述单元数据库包含所述第一单元类型以及第二单元类型的可兼容驱动强度信息。在一实施例中,所述数据库定义基于所述单元高度而变化的驱动强度级。
根据又一实施例,集成电路的设计系统包括:单元数据库,其定义多个单元,所述单元中的每一个包含配置成执行默认定义功能的组件,所述多个单元包含具有第一高度的第一单元类型以及具有第二高度的第二单元类型,其中所述第一高度不是所述第二高度的整数倍数;处理器;计算机可读媒体,其可由所述处理器存取,所述计算机可读媒体存储在由所述处理器执行时实施方法的指令,所述方法包括:接收集成电路设计;基于功能性集成电路设计从所述单元数据库中选择所述第一单元类型的第一单元以及所述第二单元类型的第二单元;产生集成电路设计布局,所述集成电路设计布局包含具有所述第一高度的第一行,其中所述第一单元定位于所述第一行中;以及具有所述第二高度的第二行,其中所述第二单元定位于所述第二行中。在一实施例中,所述第一行具有多个所述第一单元,其中所述单元数据库包含具有小于所述第一高度的第三高度的第三单元类型,其中所述第一高度不是所述第三高度的整数倍,以及其中所述方法进一步包括:确定所述第一行的最大可允许面积;确定所述多个所述第一单元的总面积;将所述多个所述第一单元的所述总面积与所述第一行的所述最大可允许面积进行比较;如果所述多个第一单元的所述总面积大于所述第一单元类型的所述最大可允许面积,那么便由所述第三单元中的一个替换所述第一单元中的一个,其中所述第三单元定位于具有所述第三高度的第三行中。在一实施例中,所述方法进一步包括确定包括多个所述第一行的平面布置图。在一实施例中,所述方法进一步包括确定所述多个所述第一行,包括:计算所述平面布置图的总单元面积;计算所述多个所述第一单元的单元面积;基于所述总单元面积以及所述多个所述第一单元的所述单元面积确定所述第一行的数量。在一实施例中,其中所述库进一步包含所述第一单元类型以及第二单元类型的可兼容驱动强度信息,所述信息包含基于所述单元高度而变化的驱动强度级。在一实施例中,所述方法进一步包括将所述第一单元改变为具有不同高度的另一单元类型,从而优化所述集成电路设计的功率消耗。在一实施例中,所述方法进一步包括将所述第一单元改变为具有不同高度的另一单元类型,从而优化所述集成电路设计的电路时序。
前文概述若干实施例的特征,以使得所属领域的技术人员可更好地理解本公开的各方面。所属领域的技术人员应了解,其可以易于使用本公开作为设计或修改用于进行本文中所介绍的实施例的相同目的和/或获得相同优势的其它工艺和结构的基础。所属领域的技术人员还应认识到,此类等效构造并不脱离本公开的精神和范围,且其可在不脱离本公开的精神和范围的情况下在本文中进行各种改变、替代以及更改。
Claims (1)
1.一种集成电路,包括:
多个单元,所述单元中的每一个包含配置成执行预设定义功能的组件;
所述多个单元中的第一个,其定位于具有第一高度的第一行中;
所述第一单元,其具有所述第一高度;
所述多个单元中的第二个,其定位于具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整数倍数;以及
所述第二单元,其具有所述第二高度。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762586541P | 2017-11-15 | 2017-11-15 | |
US62/586,541 | 2017-11-15 | ||
US15/908,785 | 2018-02-28 | ||
US15/908,785 US10878157B2 (en) | 2017-11-15 | 2018-02-28 | Variant cell height integrated circuit design |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783833A true CN109783833A (zh) | 2019-05-21 |
Family
ID=66432769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810338818.2A Pending CN109783833A (zh) | 2017-11-15 | 2018-04-16 | 集成电路及其设计的方法及其设计系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10878157B2 (zh) |
CN (1) | CN109783833A (zh) |
TW (1) | TW201923823A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051859A (zh) * | 2020-03-31 | 2021-06-29 | 台湾积体电路制造股份有限公司 | 用于设计上下文感知电路的方法 |
CN113536728A (zh) * | 2020-07-07 | 2021-10-22 | 台湾积体电路制造股份有限公司 | 制造半导体器件的方法、系统以及非暂时性计算机可读介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017127276A1 (de) * | 2017-08-30 | 2019-02-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek |
US11755808B2 (en) * | 2020-07-10 | 2023-09-12 | Taiwan Semiconductor Manufacturing Company Limited | Mixed poly pitch design solution for power trim |
US11803683B2 (en) | 2021-01-28 | 2023-10-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of and system for manufacturing semiconductor device |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2972540B2 (ja) * | 1994-03-24 | 1999-11-08 | 松下電器産業株式会社 | Lsi自動設計システム及びlsi自動設計方法 |
US5852562A (en) * | 1994-12-13 | 1998-12-22 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for designing an LSI layout utilizing cells having a predetermined wiring height in order to reduce wiring zones |
JP3420694B2 (ja) * | 1996-12-27 | 2003-06-30 | 株式会社東芝 | スタンダードセル方式の集積回路 |
US6336207B2 (en) * | 1997-05-27 | 2002-01-01 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for designing LSI layout, cell library for designing LSI layout and semiconductor integrated circuit |
GB9929084D0 (en) * | 1999-12-08 | 2000-02-02 | Regan Timothy J | Modification of integrated circuits |
US7003738B2 (en) * | 2000-06-30 | 2006-02-21 | Zenasis Technologies, Inc. | Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS using altering process |
US7039882B2 (en) * | 2002-06-17 | 2006-05-02 | Amar Pal Singh Rana | Technology dependent transformations for Silicon-On-Insulator in digital design synthesis |
JP4533645B2 (ja) | 2004-03-02 | 2010-09-01 | 株式会社東芝 | スタンダードセルのレイアウト設計方法、及びレイアウト設計用ソフトウェアを格納したコンピュータが読取り可能な記録媒体 |
JP2006196872A (ja) * | 2004-12-17 | 2006-07-27 | Matsushita Electric Ind Co Ltd | 標準セル、標準セルライブラリ、半導体装置、及びその配置方法 |
US7802219B2 (en) * | 2006-11-30 | 2010-09-21 | Cadence Design Systems, Inc. | Flat placement of cells on non-integer multiple height rows in a digital integrated circuit layout |
US8631377B2 (en) | 2009-05-14 | 2014-01-14 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for designing cell rows with differing cell heights |
US8495534B2 (en) * | 2010-06-08 | 2013-07-23 | International Business Machines Corporation | Post-placement cell shifting |
JP2013088862A (ja) * | 2011-10-13 | 2013-05-13 | Elpida Memory Inc | レイアウトデータ作成装置及び半導体装置 |
US9007095B2 (en) * | 2012-02-17 | 2015-04-14 | Broadcom Corporation | Efficient non-integral multi-height standard cell placement |
US8788998B2 (en) * | 2012-12-21 | 2014-07-22 | Broadcom Corporation | Non-integer height standard cell library |
US8943455B2 (en) | 2013-03-12 | 2015-01-27 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods for layout verification for polysilicon cell edge structures in FinFET standard cells |
US9501600B2 (en) * | 2013-05-02 | 2016-11-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Standard cells for predetermined function having different types of layout |
US9165102B1 (en) * | 2014-04-07 | 2015-10-20 | Freescale Semiconductor, Inc. | Routing standard cell-based integrated circuits |
US9449136B2 (en) * | 2015-01-20 | 2016-09-20 | Yu-Hsiang Pan | Integrated circuit layout structure and method having different cell row heights with different row ratios for area optimization |
KR102458446B1 (ko) * | 2016-03-03 | 2022-10-26 | 삼성전자주식회사 | 스탠다드 셀을 포함하는 반도체 장치 및 그것의 전자 설계 자동화 방법 |
-
2018
- 2018-02-28 US US15/908,785 patent/US10878157B2/en active Active
- 2018-04-16 CN CN201810338818.2A patent/CN109783833A/zh active Pending
- 2018-04-18 TW TW107113102A patent/TW201923823A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051859A (zh) * | 2020-03-31 | 2021-06-29 | 台湾积体电路制造股份有限公司 | 用于设计上下文感知电路的方法 |
CN113536728A (zh) * | 2020-07-07 | 2021-10-22 | 台湾积体电路制造股份有限公司 | 制造半导体器件的方法、系统以及非暂时性计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US10878157B2 (en) | 2020-12-29 |
TW201923823A (zh) | 2019-06-16 |
US20190147133A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783833A (zh) | 集成电路及其设计的方法及其设计系统 | |
US7971174B1 (en) | Congestion aware pin optimizer | |
US11615227B2 (en) | Method and system for latch-up prevention | |
US11637547B2 (en) | Flip-flop cell | |
CN101405695A (zh) | 启用图形设计器重用的声明性定义 | |
CN116151179B (zh) | 芯片设计的布局规划方法及相关设备 | |
US20110023006A1 (en) | Connection navigation in electronic design automation | |
US20060095874A1 (en) | Power network synthesizer for an integrated circuit design | |
US20180150585A1 (en) | Method for layout generation with constrained hypergraph partitioning | |
US9275186B2 (en) | Optimization for circuit migration | |
US7331026B2 (en) | Method and system for generating an initial layout of an integrated circuit | |
CN110096725A (zh) | 用于单元交换的方法 | |
US11449658B2 (en) | Methods of generating integrated circuit (IC) layout synthetic patterns and related computer program products | |
US10872185B1 (en) | Systems and methods for estimating wire capacitance in a register-transfer level circuit design | |
US20080244480A1 (en) | System and method to generate an IC layout using simplified manufacturing rule | |
Chen et al. | Floorplanning | |
US11709986B2 (en) | Boundary cell | |
US20230315968A1 (en) | Boundary cell | |
Jang et al. | Power bumps and through‐silicon‐vias placement with optimised power mesh structure for power delivery network in three‐dimensional‐integrated circuits | |
Chu et al. | Multi-supply voltage (MSV) driven SoC floorplanning for fast design convergence | |
JP2000113024A (ja) | ネットリスト生成方法及びネットリスト生成装置 | |
CN116595940A (zh) | 预布线资源的合法性检测方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190521 |