具有最佳化胞元布置的装置布局的制作方法

文档序号:27905212发布日期:2021-12-11 04:12阅读:97来源:国知局
1.在本发明的实施例中阐述的技术大体而言涉及装置布局,并且更具体而言涉及装置布局的灵活的胞元高度以及通过电子设计自动化工具对这些类型的胞元的布置进行最佳化的方法。
背景技术
::2.电子设计自动化(electronicdesignautomation,eda)及相关工具使得能够高效地设计可能具有极大数目的(例如,数千个、数百万个、数十亿个或更多个)组件的复杂集成电路。对于现代的集成电路来说,手动地规定所有这些组件(例如,用于实施所期望逻辑的晶体管排列、晶体管类型、信号路由)的特性及布置即使有可能,也将极其耗时并且代价昂贵。现代的eda工具利用胞元来便于进行不同的抽象层次的电路设计。在eda场景中,胞元是电子电路的原理图或物理装置布局内的组件在软件中的抽象表示。可使用胞元在逻辑抽象层处设计电路,接着可使用与这些胞元相关联的较低层次的规范(例如,晶体管排列、信号路由)来实施这些电路。使用标准库来设计电子电路,从而实现功耗‑性能‑面积(power‑performance‑area,ppa)最佳化。技术实现要素:3.本发明实施例提供一种具有最佳化胞元布置的装置布局,所述装置布局包括:多个胞元,排列在被布置成多个行的区域中,所述多个胞元中的每一胞元包括:第一胞元区;以及第二胞元区,邻接所述第一胞元区,其中在所述第一胞元区与所述第二胞元区彼此邻接之处界定有参考边缘,其中所述多个胞元中的每一胞元的所述参考边缘与所述多个行中的每一行的布置参考边缘对齐。附图说明4.结合附图阅读以下详细说明,会最好地理解本公开的各个方面。应注意,根据本行业中的标准惯例,各种特征并非按比例绘制。事实上,为使论述清晰起见,可任意增大或减小各种特征的尺寸。5.图1是绘示根据本公开各种实施例的示例性电子电路设计引擎的方块图。6.图2是绘示根据本公开各种实施例的电路设计引擎的例示性模块的方块图。7.图3示出根据本公开各种实施例的具有参考边缘的示例性胞元。8.图4示出根据本公开各种实施例的具有参考边缘以及与电源相关的引脚的另一示例性胞元。9.图5a示出根据本公开各种实施例的在胞元内实施有平面晶体管的另一示例性胞元。10.图5b示出根据本公开各种实施例的在胞元内实施有finfet晶体管的另一示例性胞元。11.图6示出根据本公开各种实施例的另一示例性胞元,其示出垂直胞元高度。12.图7示出根据本公开各种实施例的递增胞元高度。13.图8示出根据本公开各种实施例的具有斜的n型装置尺寸及斜的p型装置尺寸的示例性胞元。14.图9示出根据本公开各种实施例的具有分数n型装置尺寸及分数p型装置尺寸的示例性胞元。15.图10示出根据本公开各种实施例的具有多个胞元的示例性装置布局。16.图11示出根据本公开各种实施例的具有多个胞元的另一示例性装置布局。17.图12是示出根据本公开各种实施例的用于产生装置布局(例如图10至图11中的装置布局)的方法的示例性流程图。18.图13是示出根据本公开各种实施例的对在设计中进行实例化的来自标准胞元库的胞元进行布置的方法的示例性流程图。19.图14是示出根据本公开各种实施例的产生标准胞元库的方法的另一示例性流程图。20.图15是示出用于实施本文所述各个方面的样本计算装置架构的示例性方块图。具体实施方式21.以下公开提供用于实施所提供主题的不同特征的许多不同的实施例或实例。以下阐述组件及排列的具体实例以简化本公开。当然,这些仅为实例且不旨在进行限制。举例来说,以下说明中将第一特征形成在第二特征之上或第二特征上可包括其中第一特征与第二特征被形成为直接接触的实施例,且也可包括其中第一特征与第二特征之间可形成有附加特征、从而使得所述第一特征与所述第二特征可不直接接触的实施例。另外,本公开可能在各种实例中重复使用参考编号和/或字母。此种重复使用是出于简洁及清晰的目的,而不是自身表示所论述的各种实施例和/或配置之间的关系。22.集成电路(integratedcircuit,ic)是由大量组件(例如,晶体管、电阻器及电容器)形成的复杂网络,所述组件使用工艺技术的特征进行内连来实现期望的功能。由于所涉及的步骤数目及需要进行处理的设计信息的量,手动设计此种组件通常是不可行的。可使用eda工具来帮助设计者进行这个过程。由于设计过程的大小及复杂性质,可使用分级法(hierarchicalapproach)来设计ic,在分级法中,将设计分解成较小的部分,对所述较小的部分进行组合来形成完整芯片。此过程还有助于预先设计常用的子区块且在需要时重复使用所述子区块。标准胞元库是基本组件(例如,与(and)、或(or)、与非(not‑and,nand)、或非(nor)、异或(xor)、触发器(flip‑flop)、锁存器)的一个集合,所述集合通常被某些eda工具用来从区块的行为说明自动地产生装置布局。每一设计部分可具有为了获得设计而需要的各种信息(例如功能行为、电路描述、物理装置布局、计时行为)的抽象表示,其中许多信息被eda工具用来帮助进行设计过程。23.eda工具可使用与常见电路功能相关联的标准胞元库。举例来说,标准胞元可以是相关联的逻辑门(例如与门、或门、异或门、非(not)门、与非门、或非门及异或非门)以及电路(例如多路复用器(multiplexer)、触发器、加法器及计数器)。这些标准胞元可被排列成实现更复杂的集成电路功能。胞元被布置成行,使得每一胞元内的参考边缘与行中的布置参考边缘对齐,并且胞元之间具有最小的交叠或没有交叠,从而使得具有不同高度的胞元能够布置在同一设计中。当设计具有特定功能的集成电路时,可选择标准胞元。接下来,设计者、eda软件和/或电子计算机辅助设计(electroniccomputer‑aideddesign,ecad)工具绘制出包括所选择的标准胞元和/或非标准胞元的集成电路的装置布局。装置布局可被转换成光掩模。接着,当由光掩模界定的各种层的图案被转移到衬底时,便可制造出半导体集成电路。24.本文提供了包括用于标准胞元库的装置布局架构的系统及方法。这些允许改变胞元高度的标准胞元库并不限于单个标准高度的整数倍。本文提供的主题还包括用于p型装置及n型装置的具有不对称高度的标准胞元,并且还包括高度小于标准高度的胞元,从而具有高的灵活度,以针对面积、性能和/或功耗对库中每一胞元的装置布局进行最佳化。通过在库中每一胞元的n阱与p阱的相交(intersection)处建立参考边缘,可以实现这种灵活的胞元高度架构,并且例如eda工具等布置引擎将胞元布置成使这些参考边缘与布置行中的相应对齐线对齐并解决交叠,从而实现拼图拼合(puzzlefit)胞元布置。25.图1是绘示根据示例性实施例的电子电路设计引擎的方块图。电子电路设计引擎102有利于开发在物理集成电路的制作中使用的生产集成电路设计104。电路设计引擎102接收集成电路设计106或有利于集成电路设计106的初始产生,集成电路设计106可被开发(例如,经过多次迭代修订)并存储在非暂时性电路设计储存库108中,例如通过与用户界面进行交互或通过执行自动脚本。举例来说,在接到请求时,电路设计引擎102可存取或接收计算机文件形式的集成电路设计106、对集成电路设计106实行操作且接着输出修改形式的设计(例如,作为集成电路设计106文件以存储在设计储存库108中,或者作为生产集成电路设计104(例如,以eda文件、网表的形式)以进行制作)。电路设计106可由多个组件(例如,电阻器、电容器、晶体管、逻辑门、数据信号线)构成,所述多个组件中的一些组件或全部组件采取胞元的形式。集成电路设计106可以采取各种形式,例如呈寄存器传送级(register‑transferlevel,rtl)表示形式的设计的行为模型或更针对硬件的规范(例如网表)。电路设计引擎102可对存储与胞元相关联的数据的一个或多个胞元储存库(例如,胞元储存库110)作出响应,所述胞元可在产生集成电路设计104、106时用作构建区块。这种胞元可包括标准胞元,所述标准胞元可采取各种形式且表示各种功能(例如,一个或多个逻辑门的操作),例如具有变化的高度(所述高度可不是标准单个胞元行高度的倍数)并且在n阱与p阱的相交处具有参考边缘的胞元。26.电子电路设计引擎可提供各种不同的电路设计功能。图2是绘示根据示例性实施例的电路设计引擎的模块的方块图。电子电路设计引擎102经由文件或命令接收集成电路设计106,所述文件或命令指示经由例如电路设计用户界面202等机制输入的设计106的内容。界面202可显示对集成电路设计进行描述的图形或文本且提供用于构建及操纵设计的命令。电路设计引擎102还可对胞元储存库110作出响应,胞元储存库110存储与在112处绘示的胞元数据记录类似的胞元数据记录,所述胞元数据记录具有变化的高度(所述高度可不是标准单个胞元行高度的倍数)并且在n阱与p阱的相交处具有参考边缘。电路设计用户界面202可提供对来自储存库110的标准胞元进行存取并将所述标准胞元集成到集成电路设计106中的控制功能。在完成ic设计106后,可在106处从引擎102输出所述设计,以保存在非暂时性计算机可读介质中或者被保存为生产集成电路设计104以用于制作集成电路。27.图3示出根据本公开各种实施例的具有参考边缘310的示例性胞元300。胞元300包括p阱区320及n阱区330。参考边缘310界定于p阱区320与n阱区330邻接的边缘处。如在图4中更详细地阐述,参考边缘310可用于界定当将具有变化的高度的多个此类胞元布置在一起时进行对齐的装置布局对象的标准位置。这些类型的装置布局对象的一个实例可在电源轨条与接地轨条之间,如图4中更详细地阐述。完整的标准胞元装置布局可包括分别在n阱区及p阱区内的有源p型装置(p‑device)和/或有源n型装置,所述有源p装置和/或有源n装置使用各种内连金属层进行内连以实现期望的逻辑功能,如图5a至图5b中更详细地阐述。这些n型装置及p型装置可以是,举例来说,平面晶体管、finfet晶体管和/或其他类型的装置,如图5a至图5b中所示。较高的n阱可容纳较宽的沟道宽度p型装置,同样,较高的p阱可容纳较宽的沟道n型装置。在这两种情况下,均实现更高的驱动强度(drivestrength)并从而获得更高的性能。在图3所示的实例中,参考边缘310界定于p阱区320与n阱区330邻接的边缘处。在此实例中,p阱区320与n阱区330具有相同或实质上相似的高度。在相对于参考边缘310而言垂直的方向上界定p阱区320的高度320a。在相对于参考边缘310而言垂直的方向上界定n阱区330的高度330b。胞元高度300c由p阱区320的高度320a与n阱区330的高度330b的组合界定。胞元高度300c对于每一胞元可以是唯一的,这取决于n阱与p阱的各别高度,从而使得标准胞元库中的不同胞元具有不同的胞元高度。这种为标准胞元库中的每一胞元选择胞元高度的灵活性可有利于更好地将装置布局的功耗、性能及面积最佳化。28.图4示出根据本公开各种实施例的具有参考边缘410以及与电源相关的引脚的另一示例性胞元400。参考边缘410界定于p阱420与n阱430邻接的边缘处。p阱420从参考边缘410垂直地向下延伸。类似地,n阱430从参考边缘410垂直地向上延伸。参考边缘410在胞元400内位于电源轨条450与接地轨条440之间。电源轨条450可处于相对于参考边缘410测量的设定距离(setdistance)452。类似地,接地轨条440可处于相对于参考边缘410测量的设定距离442。在一些实施例中,设定距离442、452可实质上相似或相等。eda工具将例如胞元400等胞元布置在装置布局内,使得布置行中每一胞元的参考边缘410与所述行中的对应的对齐线对齐,从而使得胞元的所有电源轨条及接地轨条也对齐,如图10中更详细地阐述。29.图5a示出根据本公开各种实施例的在胞元500内实施有平面晶体管的另一示例性胞元500。参考边缘510界定于p阱520与n阱530邻接的边缘处。p阱520从参考边缘510垂直地向下延伸。p阱520可包括n型装置522,例如nmos平面晶体管。类似地,n阱530从参考边缘510垂直地向上延伸。n阱530可包括p型装置532,例如pmos平面晶体管。p阱520及n阱530二者均可包括多晶硅门及内连线(interconnect)524。30.图5b示出根据本公开各种实施例的在胞元550内实施有finfet晶体管的另一示例性胞元550。在此示例性实施例中,p型装置532可包括一个或多个鳍534。类似地,n型装置522可包括一个或多个鳍526。31.图6示出根据本公开各种实施例的另一示例性胞元600,其示出垂直胞元高度。如图3至图4中所解释,参考边缘610界定于n阱620的与p阱630的边缘邻接的边缘处。n阱620可相对于参考边缘610在负y方向640上垂直地延伸。类似地,p阱630可相对于参考边缘610在正y方向650上垂直地延伸。n阱620的高度620a及p阱630的高度630b不受限制并且可达到期望的胞元高度。举例来说,图7示出根据本公开各种实施例的递增胞元高度。在图7所示的实施例中,每一胞元710、720、730、740具有由n阱及p阱的对应高度的组合所界定的高度。每一胞元的n阱与p阱具有实质上相似或相等的高度。举例来说,胞元710可具有相对于参考边缘750在负y方向上延伸的n阱高度710a。类似地,胞元710的p阱可具有与n阱高度710a实质上相似或相等的高度710b。在另一实例中,胞元720可具有相对于参考边缘750在负y方向上延伸的n阱高度720a。类似地,胞元720的p阱可具有与n阱高度710a实质上相似或相等的高度720b。胞元720的n阱高度720a可大于胞元710的n阱高度710a。胞元730及胞元740还分别具有各自比前一胞元大的n阱高度730a、740a。对应的p阱胞元高度730b、740b可为分别与n阱高度730a、740a相似或相等的高度。举例来说并且为了易于理解,将胞元710、720、730、740阐述为具有垂直地对齐的参考边缘750。换句话说,eda工具可使用每一胞元710、720、730、740的参考边缘750将胞元沿着布置参考边缘760一起对齐(例如,其中y等于0)。换句话说,各参考边缘750均沿着图7所示的布置参考边缘760布置。32.图8示出根据本公开各种实施例的具有斜的n型装置尺寸及p型装置尺寸的示例性胞元810、822、824、832、834、842、844。举例来说并且为了易于理解,提供胞元810作为参考,胞元810具有在高度上彼此相等或实质上相似的n阱高度810a与p阱高度810b。胞元810具有由n阱高度810a与p阱高度810b的组合所界定的高度。在一些实施例中,胞元822及胞元824具有比同一胞元的对应的n阱高度大的变化的p阱高度(例如,斜的p阱)。举例来说,胞元822具有由n阱高度822a与p阱高度822b的组合所界定的总胞元高度。胞元824具有由n阱高度824a与p阱高度824b的组合所界定的总胞元高度。n阱高度822a及n阱高度824a二者分别与n阱高度810a实质上相似或相等。在一个实例中,p阱高度822b大于n阱高度822a及p阱高度810b中的每一者。在另一斜的n阱实例中,p阱高度824b大于n阱高度824a、p阱高度822b及p阱高度810b中的每一者。33.在一些实施例中,胞元832及胞元834具有变化的n阱高度,所述变化的n阱高度大于同一胞元的对应的p阱高度(例如,斜的n阱)。举例来说,胞元832具有由n阱高度832a与p阱高度832b的组合所界定的总胞元高度。胞元834具有由n阱高度834a与p阱高度834b的组合所界定的总胞元高度。p阱高度832b及p阱高度834b二者均分别与p阱高度810b实质上相似或相等。在一个实例中,n阱高度832a大于p阱高度832b及n阱高度810a中的每一者。在另一斜的n阱实例中,n阱高度834a大于p阱高度834b、n阱高度832a及n阱高度810a中的每一者。34.在一些实施例中,胞元842及胞元844相对于参考胞元810而言具有变化的n阱高度及变化的p阱高度(例如,斜的n阱及斜的p阱)。举例来说,胞元842具有由n阱高度842a与p阱高度842b的组合所界定的总胞元高度。胞元844具有由n阱高度844a与p阱高度844b的组合所界定的总胞元高度。p阱高度842b及p阱高度844b二者分别大于p阱高度810b。在一个实例中,n阱高度842a与p阱高度842b在高度上相对于彼此变化以及分别相对于n阱高度810a及p阱高度810b变化。类似地,n阱高度844a及p阱高度844b在高度上相对于彼此变化以及分别相对于n阱高度810a及p阱高度810b变化。在这些实例的每一者中,对于胞元810、822、824、832、834、842、844中的每一者,参考边缘850均与布置参考边缘860垂直地对齐。35.图9示出根据本公开各种实施例的具有分数n型装置尺寸及分数p型装置尺寸的示例性胞元910、922、924、932、934、942、944。举例来说并且为了易于理解,提供胞元910作为参考,胞元910具有彼此相等或实质上相似的n阱高度910a与p阱高度910b。胞元910具有由n阱高度910a与p阱高度910b的组合所界定的胞元高度。在一些实施例中,胞元922及胞元924具有对称的、为分数高度的n阱高度922a与p阱高度924b。举例来说,胞元922具有由n阱高度922a与p阱高度922b的组合所界定的总胞元高度,n阱高度922a与p阱高度922b在高度上近似相等(例如,关于参考边缘950对称)。胞元924具有由n阱高度924a与p阱高度924b的组合所界定的总胞元高度,n阱高度924a与p阱高度924b在高度上彼此相等(例如,关于参考边缘950对称)。胞元922的总胞元高度及胞元924的总胞元高度分别是胞元910的总胞元高度的分数。36.在一些实施例中,胞元932及胞元934具有变化的分数n阱高度及分数p阱高度(例如,斜的n阱/p阱分数)。举例来说,胞元932具有由n阱高度932a与p阱高度932b的组合所界定的总胞元高度。类似于胞元832,在一个实施例中,p阱高度932b具有与p阱高度910b实质上相似或相等的高度。p阱高度932b与n阱高度932a彼此不同。n阱高度932a是n阱高度910a及p阱高度932b中的每一者的分数(例如,斜的p分数)。在另一实施例中,胞元934具有由n阱高度934a与p阱高度934b的组合所界定的总胞元高度。n阱高度934a及n阱高度910a二者彼此实质上相似或相等。相对于n阱高度934a及p阱高度910b中的每一者,p阱高度934b为分数高度。37.在一些实施例中,胞元942及胞元944仅具有n阱或p阱中的一者。举例来说,胞元942具有由p阱高度942b所界定的总胞元高度。胞元942不包含n阱。胞元944具有由n阱高度944a所界定的总胞元高度。38.图10示出根据本公开各种实施例的具有多个胞元的装置布局1000的示例性部分。如图10所示,通过将胞元布置成使得每一胞元的参考边缘与每一布置行中的布置参考边缘对齐并且胞元之间的交叠最小或没有交叠,可实现胞元的密集布置。此种装置布局可有利于增加在给定装置布局区域内排列的胞元数目。胞元以类似拼图的形式布置在装置布局1000的整个所述部分中,以有利于在所述区域内实现最大数目的胞元。如图10中所示,胞元的顶部边缘和/或底部边缘可能彼此不对齐,这是因为使用每一胞元的参考边缘进行对齐而不是对齐顶部边缘和/或底部边缘。39.装置布局1000的示例性部分包括进行单个库或多个库内多个不同胞元类型的胞元布置,包括但不限于图3至图8中阐述的各种实施例。举例来说,装置布局1000的所述部分可包括以下胞元或其组合中的任一者:(i)具有p阱的仅p型胞元1002(例如,类似于图9的胞元944),(ii)斜的n型胞元1004(例如,图8的胞元822或824),(iii)胞元1006、1008(例如,类似于图7的胞元710、图8的胞元810),(iv)具有相等的n阱高度与p阱高度的分数高度胞元1010(例如,类似于图9的胞元922或胞元924),斜的p胞元1012(例如,图8的胞元832或图9的胞元934),(v)细长的胞元1014(例如,类似于图7的胞元710、图8的胞元810,但是具有由n阱高度1014a与p阱高度1014b的组合所界定的更大的胞元高度),(vi)仅具有n阱的仅n型胞元1016(例如,类似于图9的胞元942),(vii)分裂式两倍高度胞元1018,具有细长的n阱高度1018a以及被n阱分裂开的两个p阱,每一p阱具有对应的高度1018b,(viii)非分裂式两倍标准高度胞元1020(例如,类似于图7的胞元710、图8的胞元810,但胞元高度等于这些胞元的高度的两倍),和/或(ix)斜的p分数胞元1022。如图10中所示,除了具有如前所述的变化的高度之外,每一胞元还可具有变化的宽度。例如,胞元1004的胞元宽度1004c比装置布局1000的所述部分中的其他胞元的宽度宽。类似地,胞元1020的胞元宽度1020c比装置布局1000的所述部分中其他胞元的宽度宽。如图10中所示,在布置参考边缘之间对类似的阱类型(例如,p阱或n阱)进行分组。举例来说,将多个n阱分组在布置参考边缘1030、1032之间以及在布置参考边缘1034、1036之间。类似地,将多个p阱分组在布置参考边缘1032、1034之间或在布置参考边缘1030上方。换句话说,将每一胞元的参考边缘对齐可有利于形成连续交替的p阱与n阱图案。40.为了易于理解,给出了图10中各个胞元的取向。装置布局1000的所述部分是由本公开所达成的许多可能胞元排列中的一者。另外,每一胞元可具有变化的胞元宽度,例如由胞元1004所示的宽度。可以理解,可将胞元布置成许多不同的排列,以针对特定目的对装置布局的设计进行最佳化。41.装置布局1000的所述部分还包括多个电源轨条及接地轨条(例如,vdd、vss)。如图10中所示,胞元在电源轨条与接地轨条之间对齐。举例来说,胞元1002、1004、1022分别具有在电源轨条与接地轨条之间沿布置参考边缘1030彼此对齐的参考边缘。胞元1006、1010分别具有在电源轨条与接地轨条之间沿布置参考边缘1032彼此对齐的参考边缘。胞元1008、1020、1012、1014分别具有沿布置参考边缘1034彼此对齐的参考边缘。胞元1016具有在电源轨条与接地轨条之间使用布置参考边缘1036对齐的参考边缘。42.图11示出根据本公开各种实施例的具有多个胞元的另一示例性装置布局1100。电源轨条及接地轨条(例如vdd、vss)与布置参考边缘(例如,布置参考边缘1030、1032、1034、1036)间隔得更远。另外,使用电源引脚延伸件(powerpinextender)1112、1114建立通往这些分数高度胞元的电源连接及接地连接,这是因为它们的边界不能完全到达电源轨条及接地轨条。43.图12是示出根据本公开各种实施例的用于产生装置布局(例如图10至图11中的装置布局)的方法的示例性流程图1200。在胞元库(例如胞元储存库1110)内界定标准胞元高度(sh)(例如,步骤1202)。界定n阱高度(nsh)及p阱高度(psh)的高度,使得所述高度加起来近似等于sh(例如,步骤1204)。在n阱与p阱的相交处界定参考边缘(例如,步骤1206)。将电源轨条及接地轨条的位置确定成相对于参考边缘具有固定的偏移量(例如,步骤1208)。对胞元库内的所有胞元重复进行步骤1202至1208(例如,步骤1210)。选择n阱高度(nsh),使得p型装置可在最小数目的接脚(leg)及合适的宽度(pw)内拼合(例如,步骤1212)。选择p阱高度(psh),使得n型装置在最小数目的接脚及合适的宽度(nw)内拼合(例如1214)。将胞元高度(ch)设定为nsh与psh的组合,并且将胞元宽度设定为pw或nw中的较大者(例如,步骤1218)。在胞元库内设定n阱的高度及宽度以及p阱的高度及宽度(例如,1220)。在n阱与p阱的相交处设定参考边缘(例如,步骤1222)。在距参考边缘为预定偏移量处生成电源引脚及接地引脚(例如,步骤1224)。通过将n型装置及p型装置分别布置在p阱及n阱内并布设内连线来完成布局(例如,步骤1226)。对胞元库内的每一胞元重复进行此方法(例如,步骤1216)。44.图13是示出根据本公开各种实施例的对在设计中进行实例化的来自标准胞元库的胞元进行布置的方法的示例性流程图1300。在设计平面布置图(floorplan)中填充布置成水平行的胞元(例如,步骤1310)。布置参考边缘位于与标准胞元中的参考边缘对应的每一行内。在实行胞元布置时的设计流程的任一阶段,垂直地移动设计中的每一胞元,使得其中的参考边缘与平面布置图中最近的布置参考边缘对齐(例如,步骤1320)。通过移动交叠的胞元来解决每一行内在水平方向上的任何交叠(例如,步骤1330)。类似地,通过移动交叠的胞元来解决相邻行中的胞元之间在垂直方向上的任何交叠(例如,步骤1340)。此使得胞元以拼图拼合的方式布置在装置布局内,如图10中所示。45.图14是示出根据本公开各种实施例的产生标准胞元库的计算机实施方法的另一示例性流程图1400。在胞元库(例如胞元储存库110)内界定标准高度胞元(例如,步骤1410)。在胞元库内界定包括n阱(例如,n阱330)及p阱(例如,p阱320)的第一胞元(例如,胞元300)(例如,步骤1420)。在n阱(例如,n阱330)与p阱(例如,p阱320)彼此邻接的边缘处界定参考边缘,例如第一胞元(例如,胞元300)的参考边缘310,且其中第一胞元的总高度(例如,胞元高度300c)大于或小于标准高度胞元的总高度。产生具有包括第一胞元(例如,胞元300)的所述多个胞元的一部分的装置布局,例如装置布局1000(例如,步骤1430)。第一胞元的参考边缘与装置布局的一行中的布置参考边缘(例如,布置参考边缘1032)对齐。46.图15是示出用于实施本文所述各个方面的样本计算装置架构的示例性方块图1500。总线1504可用作对硬件的其他所示组件进行内连的信息高速公路(informationhighway)。被标记为中央处理器(centralprocessingunit,cpu)(例如,给定计算机的或多个计算机的一个或多个计算机处理器/数据处理器)的处理系统1508可实行执行程序所需的计算及逻辑运算。非暂时性处理器可读存储介质(例如只读存储器(readonlymemory,rom)1512及随机存取存储器(randomaccessmemory,ram)1516)可与处理系统1508进行通信且可包括用于实行此处所规定操作的一个或多个编程指令。可选地,程序指令可存储在非暂时性计算机可读存储介质(例如磁盘、光盘、可记录存储器装置、闪存存储器或其他物理存储介质)上。47.在一个实例中,磁盘控制器1548可将一个或多个可选磁盘驱动器介接到系统总线1504。这些磁盘驱动器可为外部或内部只读光盘存储器(compactdisc‑readonlymemory,cd‑rom)、可记录光盘(compactdisc‑recordable,cd‑r)、可复写光盘(compactdisc‑rewritable,cd‑rw)或数字化视频光盘(digitalvideodisk,dvd)、或例如1552等固态驱动器、或外部或内部硬盘驱动器1556。如前所述,这些不同的磁盘驱动器1552、1556及磁盘控制器是可选装置。系统总线1504还可包括至少一个通信端口1520,以允许与在实体上连接至计算系统或可通过有线或无线网络从外部获得的外部装置进行通信。在某些情况下,通信端口1520包括或以其他方式包含网络接口。48.为了提供与用户的交互,本文阐述的主题可在计算装置上实施,所述计算装置具有:显示装置1540(例如,阴极射线管(cathoderaytube,crt)或液晶显示器(liquidcrystaldisplay,lcd)监视器),用于向用户显示从总线1504获得的信息;及输入装置1532,例如键盘1536和/或点击装置(例如,鼠标或追踪球(trackball))和/或触摸屏,用户可通过它们向计算机提供输入。也可使用其他种类的输入装置1532来提供与用户的交互;举例来说,提供给用户的反馈可以是任何形式的感觉反馈(sensoryfeedback)(例如,视觉反馈、通过麦克风的听觉反馈、或触觉反馈);并且可以任何形式接收来自用户的输入,包括声音、语音或触觉输入。输入装置1532及键盘1536可经由输入装置接口1528耦合至总线1504并经由总线1504传送信息。其他计算装置(例如专用服务器)可省略显示器1540及显示接口1514、输入装置1532、键盘1536及输入装置接口1528中的一个或多个。49.另外,本文中所述的方法及系统可通过程序代码实施在许多不同类型的处理装置上,所述程序代码包括可由装置处理子系统执行的程序指令。软件程序指令可包括可操作以使处理系统实行本文所述方法及操作且可以任何合适的语言(举例来说,例如c、c++、爪哇(java)、perl、python、tcls或任何其他合适的编程语言)提供的源代码、目标代码、机器代码或任何其他存储数据。然而,也可使用其他实施方案,例如固件或者甚至被配置成施行本文所述方法及系统的经适当设计的硬件。50.所述系统及方法的数据(例如,关联、映射、数据输入、数据输出、中间数据结果、最终数据结果等)可存储在一个或多个不同类型的由计算机实施的数据存储装置(例如不同类型的存储装置及编程构造(例如,ram、rom、闪存存储器、平面文件、数据库、编程数据结构、编程变量、条件(if‑then)(或相似类型)语句构造等)中且在所述一个或多个不同类型的由计算机实施的数据存储装置中实施。应注意,数据结构描述用于在数据库、程序、存储器或其他计算机可读介质中组织及存储数据以供计算机程序使用的格式。51.本文所述的计算机组件、软件模块、功能、数据存储装置及数据结构可直接或间接地彼此连接,以实现为进行它们的操作而需要的数据流。还应注意,模块或处理器包括但不限于实行软件操作的代码单元,且可被实施成例如子例程代码单元、或软件功能代码单元、或对象(如在面向对象的范例中一样)、或小程序、或计算机脚本语言、或者另一类型的计算机代码。根据当前情况而定,软件组件和/或功能可位于单个计算机上或者分布在多个计算机上。52.使用本文所述的各种过程可提供许多优点。举例来说,使用所述主题能够在同一胞元库内的胞元高度方面实现高的灵活度,从而可在装置布局设计内对每一胞元独立地进行最佳化。此胞元库与布置器(placer)一起可以七巧板拼图(jigsawpuzzle)格式布置多个胞元,从而可实现ppa有益效果。53.在一个实施例中,一种具有最佳化胞元布置的装置布局包括排列在一区域中的多个胞元。每一胞元包括第一胞元区及第二胞元区。第一胞元区邻接第二胞元区。在第一胞元区邻接第二胞元区之处界定有参考边缘。所述装置布局还包括一对电源轨条,所述一对电源轨条被配置成向所述多个胞元提供电力。胞元被对齐成使得每一胞元的参考边缘与其所在行内的布置参考边缘对齐。54.在另一实施例中,一种对具有多个胞元的装置布局进行最佳化的计算机实施方法包括:在包括所述多个胞元的胞元库内界定标准高度胞元。在所述胞元库内界定具有n阱及p阱的第一胞元。在所述n阱与所述p阱彼此邻接的边缘处界定所述第一胞元的参考边缘。所述第一胞元的总高度大于或小于所述标准高度胞元的总高度。使用eda工具产生具有包括所述第一胞元的所述多个胞元中的一些或全部胞元的装置布局。所述参考边缘与具有所述多个胞元中的一些胞元的行的布置参考边缘对齐。55.在又一实施例中,将胞元存储在计算机可读介质中。所述胞元包括第一胞元区及第二胞元区。所述第一胞元区与所述第二胞元区在参考边缘处邻接。56.在一个实施例中,一种具有最佳化胞元布置的装置布局,所述装置布局包括:多个胞元,排列在被布置成多个行的区域中,所述多个胞元中的每一胞元包括:第一胞元区;以及第二胞元区,邻接所述第一胞元区,其中在所述第一胞元区与所述第二胞元区彼此邻接之处界定有参考边缘,其中所述多个胞元中的每一胞元的所述参考边缘与所述多个行中的每一行的布置参考边缘对齐。57.在相关实施例中,所述的装置布局还包括一对电源轨条,所述一对电源轨条被配置成向所述多个胞元提供电力,在所述多个行中的每一行内,所述多个胞元的一部分被排列成使得所述参考边缘位于所述一对电源轨条之间。58.在相关实施例中,所述多个胞元中的胞元布置在所述装置布局的使一个或多个相邻的胞元之间的空间最小化的位置。59.在相关实施例中,(i)所述第一胞元区是n阱且(ii)所述第二胞元区是p阱。60.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成斜的n胞元且(ii)所述第二胞元区的高度大于所述第一胞元区的高度。61.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成胞元且(ii)所述第一胞元区的高度与所述第二胞元区的高度彼此相等。62.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成分数高度胞元,(ii)所述第一胞元区的高度与所述第二胞元区的高度彼此相等,且(iii)所述第一胞元区与所述第二胞元区的组合的高度是标准胞元的高度的分数。63.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成细长的胞元,(ii)所述第一胞元区的高度与所述第二胞元区的高度彼此相等,且(iii)所述第一胞元区与所述第二胞元区的组合的高度大于标准胞元的高度。64.在相关实施例中,(i)所述第一胞元区与所述第二胞元区形成分裂式两倍高度胞元,(ii)所述第一胞元区具有为标准胞元高度的高度的至少两倍的高度,且(iii)所述第二胞元区的第一部分位于所述第一胞元区上方且所述第二胞元区的第二部分位于所述第一胞元区下方。65.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成双重标准高度胞元,(ii)所述第一胞元区的高度为标准胞元的高度的至少两倍,且(iii)所述第二胞元区的高度为所述标准胞元的所述高度的至少两倍。66.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成斜的p胞元且(ii)所述第一胞元区的高度大于所述第二胞元区的高度。67.在相关实施例中,(i)所述第一胞元区及所述第二胞元区形成斜的p分数胞元且(ii)所述第一胞元区的高度为所述第二胞元区的分数。68.在另一实施例中,一种对包括多个胞元的装置布局进行最佳化的计算机实施方法,所述计算机实施方法包括:在包括所述多个胞元的胞元库内界定标准高度胞元;在所述胞元库内界定包括n阱及p阱的第一胞元,其中在所述n阱与所述p阱彼此邻接的边缘处界定所述第一胞元的参考边缘,且其中所述第一胞元的总高度大于或小于所述标准高度胞元的总高度;以及使用所述胞元库产生包括所述多个胞元的一部分的所述装置布局,所述多个胞元的所述一部分包括所述第一胞元,其中所述第一胞元的所述参考边缘与所述装置布局的行中的布置参考边缘对齐。69.在相关实施例中,所述第一胞元包括以下中的至少一者:(i)包括第一p阱及第一n阱的斜的n胞元,其中所述第一p阱具有比所述第一n阱的高度大的对应高度,(ii)包括第二n阱及第二p阱的胞元,其中所述第二n阱的高度与所述第二p阱的高度相等,(iii)包括第三n阱及第三p阱的分数高度胞元,其中所述第三n阱的高度与所述第三p阱的高度相等,所述第三n阱的所述高度小于所述第二n阱的所述高度,且所述第三p阱的所述高度小于所述第二p阱的所述高度,(iv)包括第四n阱及第四p阱的细长的胞元,其中所述第四n阱的高度等于所述第四p阱的高度,所述第四n阱的所述高度小于所述第二n阱的所述高度,且所述第四p阱的所述高度小于所述第二p阱的所述高度,(v)包括第五n阱的仅n型胞元,(vi)包括第六n阱及环绕所述第六n阱的每一边缘的至少两个p阱的分裂式两倍高度胞元,所述第六n阱具有为第二n阱高度的高度的至少两倍的高度,或者(vii)包括第七n阱及第六p阱的双重标准高度胞元,其中所述第七n阱的高度为所述第二n阱的所述高度的至少两倍且所述第六p阱的高度为所述第二p阱的所述高度的至少两倍。70.在相关实施例中,所述多个胞元包括以下中的至少一者:(i)包括p阱的仅p型胞元,所述p阱相对于所述参考边缘垂直地延伸,(ii)包括第一n阱及第一p阱的斜的p胞元,其中所述第一n阱的高度大于所述第一p阱的高度,或者包括第二n阱及第二p阱的斜的p分数胞元,其中所述第二n阱的高度为所述第二p阱的分数。71.在相关实施例中,所述多个胞元中的每一胞元布置在所述装置布局的使相邻的胞元之间的空间最小化的位置。72.在相关实施例中,所述第一胞元与其他胞元对齐,所述参考边缘是一行胞元中的其他胞元中的每一者的中心。73.在相关实施例中,所述多个胞元的所述一部分相对于所述参考边缘在垂直方向中的至少一者上延伸。74.在又一实施例中,一种存储在计算机可读介质中的胞元,所述胞元包括:第一胞元区;以及第二胞元区,被定位成邻接所述第一胞元区,其中在所述第一胞元区与所述第二胞元区彼此邻接之处界定参考边缘。75.在相关实施例中,所述第一胞元区包括n阱且所述第二胞元区包括p阱。76.以上概述了若干实施例的特征,以使所属领域中的技术人员可更好地理解本公开的各个方面。所属领域中的技术人员应理解,他们可容易地使用本公开作为设计或修改其他工艺及结构的基础来施行与本文中所介绍的实施例相同的目的和/或实现与本文中所介绍的实施例相同的优点。所属领域中的技术人员还应认识到,这些等效构造并不背离本公开的精神及范围,而且他们可在不背离本公开的精神及范围的条件下在本文中作出各种改变、代替及变更。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1