CN116569336A - 聚比特单元 - Google Patents
聚比特单元 Download PDFInfo
- Publication number
- CN116569336A CN116569336A CN202180080144.0A CN202180080144A CN116569336A CN 116569336 A CN116569336 A CN 116569336A CN 202180080144 A CN202180080144 A CN 202180080144A CN 116569336 A CN116569336 A CN 116569336A
- Authority
- CN
- China
- Prior art keywords
- functionality
- cell
- single bit
- bit
- different
- 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
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims abstract description 15
- 238000013461 design Methods 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 3
- 210000004027 cell Anatomy 0.000 description 183
- 230000006870 function Effects 0.000 description 80
- 238000012545 processing Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000009792 diffusion process Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001459 lithography Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 210000003888 boundary cell Anatomy 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013440 design planning Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 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
-
- 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
-
- 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/394—Routing
- G06F30/3953—Routing detailed
-
- 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/20—Design reuse, reusability analysis or reusability optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Power Engineering (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
- Automatic Disk Changers (AREA)
Abstract
提供了聚比特单元及其形成方法。在一个示例中,用于形成聚比特单元的方法包括:标识单比特单元的库中的可组合的布局,单比特单元具有不同功能性和不同驱动中的一者或多者;在存储器中存储可组合的布局;以及根据所存储的可组合的单比特单元创建聚比特单元的布局。根据至少两个单比特单元的布局所组合的每个聚比特单元具有不同功能性和不同驱动中的一者或多者。
Description
技术领域
本公开总体上涉及电子领域,包括基于单元的设计。更具体地,本公开涉及用于提供聚比特单元的系统和方法。
背景技术
在半导体工艺中,可以通过在单个集成布局中实现多个独立或互连功能而不是独立互连单元的集合,来实现布局的压缩。这种压缩通常在定制电路设计和布局中完成,使定制设计的布局比使用标准单元作为构建块创建的布局更密集。基于单元的设计的最新进展采用多比特单元(multi-bit cell),多比特单元将多个相同的独立单元集成到单个单元中以节省面积。面积节省来自更好的布局压缩,并且有时来自共享器件。这些单元中的各个比特具有与常规独立的单比特单元类似的性能,但面积更小。例如,与两个单比特单元的面积相比,通过在个体比特之间共享扩散中断,包括两个比特的多比特单元可以提供大约25%的面积节省。
在芯片实现流程期间,兼容的单比特单元可以被映射到多比特单元,从而减少设计面积。如果单元的功能匹配、被放置(或可能被放置)成非常接近并且具有相似的性能需求,则它们是兼容的。兼容性要求减少了可以被映射到多比特单元的单元数目。对于频繁使用的单元,映射到多比特的单元的比例为中高,但对于不经常使用的单元则不然。因此,可以被替换为多比特单元的情况在数目上可能比设计者本来期望的要少。
发明内容
提供了聚比特单元及其形成方法。在一个示例中,用于形成聚比特单元的方法包括:标识单比特单元的库中的可组合的布局,单比特单元具有不同功能性和不同驱动中的至少一者或多者;在存储器中存储可组合的布局;以及根据所存储的可组合的单比特单元创建聚比特单元的布局。根据至少两个单比特单元的布局所组合的每个聚比特单元具有不同功能性和不同驱动中的一者或多者。
在另一示例中,提供了一种聚比特单元,聚比特单元包括电源连接、接地连接、第一功能和第二功能。第一功能连接在电源连接与接地连接之间。第一功能具有第一驱动功率和第一操作。第二功能连接在电源连接与接地连接之间。第二功能具有第二驱动功率和第二操作。第二功能在驱动功率或操作方面不同于第一功能,或者在驱动功率和操作两方面都不同于第一功能。
在又一示例中,提供了一种方法,方法包括:标识包括第一驱动强度的第一功能的第一单比特单元;标识包括第二驱动强度的第二功能的第二单比特单元;以及利用聚比特单元来替换电路布局中的第一单比特单元和第二单比特单元,聚比特单元包括以第一驱动强度设置的第一功能和以第二驱动强度设置的第二功能。
附图说明
从下面给出的详细描述并且从本公开的实施例的附图,将更充分地理解本公开。附图用于提供对本公开的实施例的知识和理解,并且不将本公开的范围限制于这些特定实施例。此外,附图不一定按比例绘制。
图1A、图1B和图1C图示了根据本公开的一个实施例的可以被合并成聚比特单元的单比特单元。
图2A、图2B、图2C和图2D图示了根据本公开的实施例的由两个单比特单元的合并件形成的聚比特单元。
图3是根据本公开的实施例的用于提供聚比特单元的方法的流程图。
图4描绘了根据本公开的一些实施例的在集成电路的设计和制造期间使用的各种过程的流程图。
图5描绘了本公开的实施例可以在其中操作的示例计算机系统的图。
具体实施方式
本公开的实施例涉及聚比特单元(poly-bit cell)(也被称为PB单元)的构造和实现。在PB单元中,两个分立的单比特单元被组合成一个单元,以共享接地连接和电源连接。组合在PB单元中的两个单比特单元的功能性、驱动强度及其组合可以不同或相同。功能性是由单元实现的功能和/或操作。在一些实施例中,功能性可以附加地或备选地以集成电路结构(诸如有源器件(例如晶体管等))的尺寸为特征。例如,一个晶体管在尺寸上可以被不同缩放,以满足相对于另一个晶体管的期望标准,即使晶体管都实现相同的功能。晶体管可以在尺寸上被不同缩放的一些示例包括:被优化以最小化上升延迟和下降延迟的平均的单元;被优化以通过减小P晶体管或N晶体管(但不是两者)的尺寸来改进上升延迟的单元;被优化来以相同方式最小化下降延迟的单元;被优化以加速指定电弧(arc)而不是所有电弧的多输入单元;被优化以平衡上升延迟和下降延迟的单元;以及多阶段单元系列,其中单元的连续阶段之间的驱动的比率不同;等等。驱动是单元的输出级的电驱动。因此,对于采用单扩散中断或连续扩散机制以将单元中的扩散与相邻单元中的扩散隔离的单元布局,组合单元的宽度将小一个网格,而在双扩散中断布局中,宽度可以减少两个网格。
与两个单比特单元是否共享相同功能和驱动强度无关地选择单比特单元来组合成PB单元的能力提供了比通常的多比特单元更大范围的潜在单元来进行组合。有利地,面积的节省可以被应用于设计布局中的更多单元,从而在设计中节省更大的面积量,这允许更小和更节能的电路设计。PB单元可以被实现为组合具有彼此独立的操作和/或驱动强度的两个单比特单元。换句话说,PB单元可以将相对于彼此在等效或不同的驱动强度下的、使用等效或不同的操作(例如,反相器(OR)、NAND、NOR、XNOR、XOR、AND、ANDOR、ORAND、多路复用(MUX)和缓冲器)的单元进行组合。这些PB单元在面积节省方面提供了与多比特单元类似的优势,但提供了兼容单元类型的数目的增加,这些兼容单元可以被组合,以产生比多比特单元大一个数量级的优势。
图1A、图1B、图1C、图2A、图2B、图2C和图2D图示了根据本公开的实施例的各种单元的双扩散中断布局。虽然图1A、图1B、图1C、图2A、图2B、图2C和图2D提供了具有输出111的NAND功能、具有输出131的1x驱动反相器功能和具有输出121的2x驱动反相器功能的示例,但本领域技术人员将认识到,本示例不是限制性的,并且本公开可以被应用于从具有各种不同输出的对应个体单元组合成PB单元的大量不同功能,这些输出可以在聚比特单元外部可访问、在聚比特单元内被连接用于内部使用及其组合。
在图1A中,第一单比特单元110提供具有与第二输入113相比较的第一输入112的NAND功能输出111,而在图1B中,第二单比特单元120提供具有输入122的两个端口122a和122b的2X强度反相器功能输出121,两个端口122a和122b在芯片层级处连接在一起。单比特单元110、120中的功能输出111、121中的每个功能输出在连接140a、140b处接收来自供电轨160a的驱动电压(VDD)。此外,NAND功能输出111具有到接地轨160b的接地连接150(VSS),并且反相器功能输出121具有到接地轨160b的接地连接150a、150b(VSS)。第一单比特单元110和第二单比特单元120以接地连接170和电源连接172为界。虽然接地连接170提供左单元边界(boundary)并且电源连接172提供右单元边界,但接地连接170可以备选地提供右单元边界,而电源连接172提供左单元边界。第一单比特单元110和第二单比特单元120两者都占据各自为4个接触多晶间距(CPP)宽的区域,对于两个个体单比特单元110、120,总宽度为至少8CPP(加上由用户设置的任何单元间的间隔要求)。在各种实施例中,CPP的尺寸可以基于所使用的制造技术变化,但是可以跨多种不同的制造技术和单元尺寸应用聚比特单元的好处。
图1C图示了第三单比特单元130,第三单比特单元130提供具有一个输入122的1x强度驱动反相器功能输出131(与图1B的2x强度反相器输出121形成对照)。第三单比特单元130中的功能输出131在一个连接140处接收来自供电轨160a的驱动电压(VDD),并且在接地轨160b处连接到一个接地连接150(VSS)。第三单比特单元130占据3CPP宽的区域。对于两个个体单比特单元130和110/120,由第三单比特单元130与第一单比特单元110或第二单比特单元120中的一个单比特单元占据的总面积将是至少7CPP(加上由用户设置的任何单元间的间距要求)。
在图2A、图2B、图2C和图2D中,在一个单元(PB单元)中实现了在图1A、图1B和图1C中描述的NAND功能输出111和反相器功能输出121、131的变型。PB单元是IC器件,该IC器件各自包括供电轨160a和接地轨160b,来自两个单比特单元的逻辑功能共享供电轨160a和接地轨160b。通过共享供电轨/接地轨,PB单元可以将几种不同类型的单比特单元合并成一个单元,该一个单元包括使用等效驱动强度的不同功能、使用不同驱动强度的不同功能以及使用不同驱动强度的一个功能上的多个实例。此外,PB单元可以包括两个以上的功能。通常,每当PB单元的面积小于组件单元的面积时,就可以构建PB单元,其中组件单元是正常的单个功能单元或实现功能的子集的较小PB单元。
在图2A中,第一PB单元210a提供驱动电压连接140a、140b(VDD)的两个实例来驱动功能,但是以1x驱动强度而不是以如图1A和图1B中的2x驱动强度。功能输出111、131中的每个功能输出连接在共享的驱动电压连接(VDD)与接地连接(VSS)之间。第一PB单元210a提供具有输出111和第一输入112与第二输入113的NAND功能,并且提供具有输入132的一个实例的反相器功能输出131。所得组合的第一PB单元210a占据5CPP宽的面积;小于两个组件单比特单元110、130的7CPP宽的总宽度,并且在单个单元中提供两种不同的功能。
在图2B中,第二PB单元210b向功能提供驱动电压连接140a、140b(VDD)的两个实例,并且包括1x驱动强度的反相器功能输出131和2x驱动强度的反相器功能输出121。反相器功能的两个实例都被布置在驱动电压连接(VDD)与接地连接(VSS)之间。第二PB单元210b提供具有输入132的一个实例的1x强度反相器功能输出131的第一实例以作为关联输出进行反相,并且提供具有输入的两个端口122a、122b的2x强度反相器功能输出121的第二实例以作为关联输出进行反相。所得的组合第二PB单元210b占据5CPP宽的区域;小于用于相应的反相器功能输出121、131的两个单比特单元120的总宽度,并且提供了以不同驱动强度驱动的两个功能的组合。
在图2C中,第三PB单元210c提供驱动电压连接140a、140b、140c(VDD)的三个实例和接地连接(VSS)150a、150b的两个实例来驱动功能,并且包括各自以2x驱动强度驱动的NAND功能输出111和反相器功能输出121。NAND功能输出111和反相器功能输出121两者都被布置在共享的驱动电压连接(VDD)与接地连接(VSS)之间。第三PB单元210c提供具有第一输入112和第二输入113的第一NAND功能输出111,并且提供具有输入122的两个端口122a、122b的反相器功能输出121,输入122的两个端口122a、122b在芯片层级连接在一起。所得的组合第三PB单元210c占据6CPP宽的区域;小于两个组件单比特单元110、120的总宽度,并且在单个单元中提供两种不同的功能。
在各种实施例中,PB单元210中的功能的输出可以在PB单元210内部连接到PB单元210中的其他功能的输入。例如,在图2D中,第四PB单元210d提供驱动电压连接140a、140b(VDD)的两个实例来驱动功能。功能的输出111、131中的每个输出连接在共享的驱动电压连接(VDD)与接地连接(VSS)之间。第四PB单元210d提供具有输出111和第一输入112与第二输入113的NAND功能,并且提供具有输入132的一个实例的反相器功能输出131。第二输入113经由内部迹线220接收来自反相器功能输出131的逻辑值,而第一输入112接收来自第四PB单元210d的外部的逻辑值。所得的组合第四PB单元210d占据5CPP宽的区域;小于两个组件单比特单元110、130的7CPP宽的总宽度,并且在两个功能之间并入了先前占据设计布局中的空间的迹线220,从而进一步节省了设计布局中的空间并且减少了迹线布线复杂度。换句话说,将原本在两个分开的单比特单元的外部并且连接两个分开的单比特单元的迹线220包含在PB单元内,外部空间不需要附加的空间,同时使得PB单元能够在一小部分的占据面积(footprint)下具有相同的功能性。
图3是根据本公开的实施例的用于构建PB单元的方法300的流程图。方法300在310处开始,其中用于电路布局的设计系统为库中定义的单元创建移动边界布局。在各种实施例中,设计系统为库中的每一个单元创建移动边界布局,但在其他实施例中,设计系统可以为单元或功能的指定子集创建移动边界布局。例如,该子集可以被限制为考虑针对给定运算符在设计布局中的使用阈值水平(例如,使用至少X次、最常用的前Y个功能等)的单比特单元,这减少了可以构造聚比特单元的单元的数目,并且防止了潜在的聚比特单元的数目变得过于庞大。使用阈值水平可以由用户、设计系统选择或被设置为预先确定值。在具有阈值X的示例中,仅针对被利用X次的单元制作移动边界布局。在具有阈值Y的另一个示例中,仅针对最常用的前Y个功能的单元制作移动边界布局。移动边界布局是电路元件的布置,其中电源连接器和接地连接器可以移动到单元边界的左侧或右侧。一旦单元被标识为具有移动边界布局,所标识的单元就被重新配置以将电源连接器和接地连接器重新定位到单元边界的左侧和右侧,以限定移动边界单元。移动边界单元的所得集合作为SetA被存储回库中。SetA至少包括第一单比特单元和第二单比特单元,其中第一单比特单元的功能性或驱动中的至少一者不同于第二单比特单元的功能性或驱动。SetA还可以包括以下单元:该单元没有移动边界布局,但与包括SetA的移动边界单元共享相同的电源连接器和接地连接器位置。
在320处,设计系统根据对应于setA中的单比特单元的多个移动边界布局创建聚比特单元。每个聚比特单元包括至少来自SetA中的具有移动边界布局的单比特单元中的第一单比特单元和第二单比特单元。第一单比特单元的功能性或驱动中的至少一者不同于第二单比特单元的功能性或驱动。设计系统将setA的每个选中成员的电源连接和接地连接合并,以创建将两个或两个以上单比特单元合并的新的聚比特PB单元。每个PB单元包括setA的共享相应的供电轨160a和接地轨160b的至少两个成员。在各种实施例中,设计系统可以创建具有多达阈值数目的单比特单元的组合。例如,当阈值数目为2时,设计系统创建组合成对的单比特单元的2比特PB单元。在另一个示例中,当阈值数目为3时,设计系统创建组合成对的单比特单元的2比特PB单元,并且创建组合三个单比特单元的3比特单元。
所得的PB单元实现来自组成单元的两个或两个以上独立功能,并且对于单个扩散中断式布局,所得的PB单元通常比两个功能是两个独立单元时窄一个CPP。除了由PB单元提供的面积节省之外,供电轨160a和接地轨160b的共享还将组成单比特单元中的扩散合并,这可以将性能改进高达约4%。此外,当标识出个体功能之间的外部迹线时,这些迹线可以作为内部迹线被包括在PB单元内,从而进一步节省布局中的空间并且降低迹线布线的复杂度。
在330处,设计系统将这些PB单元保存到库中,以便稍后在设计布局中标识对应的单比特单元以供给定PB单元替换时使用。
一旦PB单元被保存到库中,设计系统就在340处标识设计布局中的、可用于合并到PB单元中的单比特单元(例如,可以共享设计布局中的子电路的单元)。例如,两输入反相多路复用器(MUXI2)和两输入非反相多路复用器(MUX2)可以共享共用的使能缓冲器。可以创建两比特、三比特和四比特的多个PB单元,其中PB单元中的每个比特的驱动强度(例如,1x、2x和3x)和功能(例如,MUX2、MUXI2)被独立地选择。因此,根据350,设计系统可以从库中选择PB单元,该PB单元具有目前被部署为单比特单元的功能的组成单元,并且可以利用对应的PB单元来替换布局中的这些单比特单元。对应的PB单元替换布局中的个体单比特单元,并且减少布局中由功能占据的空间量。所得的PB单元可以包括具有相同或不同驱动强度以及相同或不同操作的两个或两个以上功能。
在360处,在可能时,设计系统利用聚比特单元中的内部迹线替换外部迹线。根据350,设计系统检查由聚比特单元替换的个体单比特单元是否经由任何外部迹线被链接,并且作为响应可以从电路布局移除外部迹线,并且在聚比特单元内创建内部迹线220以链接该两个功能。例如,当第一单比特单元提供连接到第二单比特单元的输入的输出时,外部迹线可以连同那些单比特单元的功能一起被移动到聚比特单元内。因此,设计系统可以进一步节省设计布局中的空间,并且可以通过将合并在聚比特单元内的功能之间的迹线内部化来降低布线复杂度。
图4图示了在诸如集成电路的制品的设计、验证和制造期间使用以转换和验证表示集成电路的设计数据和指令的过程400的示例集合。这些过程中的每个过程可以被结构化和使能为多个模块或操作。术语‘EDA’表示术语‘电子设计自动化’。这些过程从利用由设计者提供的信息创建产品构思410开始,该信息被转换以创建使用EDA过程412的集合的制品。在完成设计时,设计被流片(tape-out)434,这是将集成电路的图稿(例如,几何图案)发送到制造工厂以制造掩模组的时间,然后掩模组被用来制造集成电路。在流片之后,制造436半导体裸片,并且执行封装和组装过程438以生产成品集成电路440。
电路或电子结构的规格的范围可以从低级晶体管材料布局到高级描述语言。使用诸如VHDL、Verilog、SystemVerilog、SystemC、MyHDL或OpenVera的硬件描述语言(‘HDL’),可以使用高级表示来设计电路和系统。HDL描述可以被转换为逻辑级的寄存器传输级(‘RTL’)描述、门级描述、布局级描述或掩模级描述。每个较低的表示级别(即更具体的描述)将更多有用的细节添加到设计描述中,例如,针对包括该描述的模块的更多细节。较低的表示级别(即更具体的描述)可以由计算机生成,从设计库导出或由另一设计自动化过程创建。用于指定更详细描述的较低级别的表示语言的规范语言的一个示例是SPICE,它用于具有许多模拟组件的电路的详细描述。在每个表示级别处的描述被使能,以供该层的对应工具(例如形式验证工具)使用。设计过程可以使用图4中描述的序列。所描述的过程由EDA产品(或工具)使能。
在系统设计414期间,指定要被制造的集成电路的功能性。可以针对期望特性(诸如功耗、性能、面积(物理和/或代码行)和成本降低等)对设计进行优化。在该阶段,可以将设计划分为不同类型的模块或组件。
在逻辑设计和功能验证416期间,以一种或多种描述语言指定电路中的模块或组件,并且检查该规格的功能准确性。例如,可以验证电路的组件,以生成与所设计的电路或系统的规格要求匹配的输出。功能验证可以使用仿真器和其他程序,诸如测试台生成器、静态HDL检查器和形式验证器。在一些实施例中,被称为‘仿真器’或‘原型系统’的组件的特殊系统被用来加速功能验证。
在用于测试418的综合和设计期间,HDL代码被转换为网表。在一些实施例中,网表可以是图形结构,其中图形结构的边缘表示电路的组件,并且其中图形结构的节点表示组件如何被互连。HDL代码和网表两者是制造的分层产品,其可以由EDA产品使用来验证:集成电路在被制造时是否根据指定的设计执行。可以针对目标半导体制造技术优化网表。附加地,成品集成电路可以被测试,以验证集成电路是否满足规格的要求。
在网表验证420期间,检查网表是否符合时序约束以及是否与HDL代码相对应。在设计计划422期间,构造并分析集成电路的总体平面图,以进行时序和顶层布线。
在布局或物理实现424期间,发生物理放置(电路组件(诸如晶体管或电容器)的放置)和布线(电路组件通过多个导体的连接),并且可以执行从库中选择单元以使能特定的逻辑功能。如本文所使用的,术语‘单元’可以指定提供布尔逻辑功能(例如,AND、OR、NOT、XOR)或存储功能(诸如,触发器或锁存器)的晶体管、其他组件和互连的集合。如本文所使用的,电路‘块’可以指代两个或两个以上的单元。单元和电路块两者可以被称为模块或组件,并且可以被使能为物理结构和仿真两者。诸如大小的参数被指定为用于所选择的单元格(基于‘标准单元’),并且使得在数据库中可访问,以供EDA产品使用。
在分析和提取426期间,在布局层级处验证电路功能,这允许对布局设计的改进。在物理验证428期间,检查布局设计以确保制造约束(诸如DRC约束、电气约束、光刻约束)是正确的,并且确保电路功能与HDL设计规格匹配。在分辨率增强430期间,布局的几何形状被转换以改善电路设计被制造的方式。
在流片期间,创建数据以用于(如果适当,在应用光刻增强之后)生产光刻掩模。在掩模数据准备432期间,‘流片’数据用于产生光刻掩模,该光刻掩模用于生产成品集成电路。
计算机系统(诸如,图5的计算机系统500)的存储子系统可以用于存储程序或数据结构,该程序和数据结构由本文所述的EDA产品以及用于开发用于库的单元的产品以及用于使用该库的物理和逻辑设计的产品中的一些或者全部所使用。
图5图示了计算机系统500的示例机器,在其中可以执行用于使该机器执行本文讨论的方法中的任何一个或多个方法的指令集。在备选实施方式中,该机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其他机器。该机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力操作,可以作为对等(或分布式)网络环境中的对等机器操作,也可以作为云计算基础架构或环境中的服务器或客户端计算机操作。
机器可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或网桥,或能够执行指令集(顺序指令或其他指令)的任何机器,指令集指定要由该机器执行的动作。此外,虽然图示了单个机器,但是术语“机器”也应当被理解为包括机器的任何集合,这些机器单独地或共同地执行一组(或多组)指令以执行本文讨论的任何一个或多个方法。
示例计算机系统500包括处理设备502、主存储器504(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM))、静态存储器506(例如,闪存、静态随机存取存储器(SRAM)等))以及数据存储设备518,它们经由总线530彼此通信。
处理设备502表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或者是实现其他指令集的处理器,或者是实现指令集的组合的处理器。处理设备502还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备502可以被配置为执行指令526以执行本文描述的操作和步骤。
计算机系统500可以还包括网络接口设备508,以通过网络520进行通信。计算机系统500还可以包括视频显示单元510(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备512(例如键盘)、光标控制设备514(例如,鼠标)、图形处理单元522、信号生成设备516(例如,扬声器)、图形处理单元522、视频处理单元528和音频处理单元532。
数据存储设备518可以包括机器可读存储介质524(也被称为非暂态计算机可读介质),其上存储着体现本文所述的方法或功能中的任何一个或多个方法或功能的一个或多个指令集526或软件。在计算机系统500执行指令526期间,指令526也可以全部或至少部分地驻存在主存储器504内和/或驻存在处理设备502内,主存储器504和处理设备502也构成机器可读存储介质。
在一些实施方式中,指令526包括用于实现与本公开相对应的功能性的指令。尽管在示例实施方式中将机器可读存储介质524示为单个介质,但是术语“机器可读存储介质”应当被认为包括单个介质或多个介质(例如,中心化或分布式数据库,和/或相关联的缓存和服务器)来存储一个或多个指令集。术语“机器可读存储介质”也应当被认为包括能够存储或编码指令集的任何介质,该指令集用于由机器执行并且使机器和处理设备502执行本公开的方法中的任何一种或多种。因此,术语“机器可读存储介质”应当被认为包括但不限于固态存储器、光学介质和磁性介质。
已经根据对计算机存储器内的数据比特的操作的算法和符号表示,呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域的其他技术人员传达其工作实质的方式。算法可以是导致期望结果的操作的序列。这些操作是需要对物理量进行物理操纵的操作。这种量可以采取能够被存储、组合、比较以及以其他方式操纵的电或磁信号的形式。这种信号可以被称为比特、值、元素、符号、字符、项、数字等。
但是,应当记住,所有这些和类似术语均应当与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非从本公开中另外明确指出,否则应当理解,贯穿本描述,某些术语指代计算机系统或类似电子计算设备的动作和过程,其将计算机系统的寄存器内的表示为物理(电子)量的数据操纵和转换为其他数据,该其他数据类似地被表示为计算机系统存储器或寄存器或其他这种信息存储设备内的物理量。
本公开还涉及用于执行本文中的操作的装置。该装置可以被特别构造以用于预期目的,或者它可以包括由计算机中存储的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如但不限于任何类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光学卡,或适于存储电子指令的任何类型的介质,每个均耦合到计算机系统总线。
本文提出的算法和显示不与任何特定的计算机或其他装置固有地相关。各种其他系统可以与根据本文的教导的程序一起使用,或者它可以被证明易于构造更专用的装置来执行该方法。另外,未参考任何特定编程语言来描述本公开。应当理解,可以使用各种编程语言来实现如本文所述的本公开的教导。
本公开可以被提供为计算机程序产品或软件,其可以包括其上存储有指令的机器可读介质,该指令可以用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、闪存设备等。
在前述公开中,已经参考本公开的具体示例实施方式描述了本公开的实施方式。明显的是,在不脱离如所附权利要求中阐述的本公开的实施方式的较宽的精神和范围的情况下,可以对其进行各种修改。在本公开以单数形式指代一些元素的情况下,在附图中可以描绘一个以上的元素,并且相同的元素用相同的附图标记来标记。因此,本公开和附图应当被认为是说明性的而不是限制性的。
Claims (20)
1.一种用于形成聚比特单元的方法,包括:
标识单比特单元的库中的能够组合的布局,所述单比特单元具有不同功能性和不同驱动中的一者或多者;
在存储器中存储能够组合的布局;以及
根据所存储的能够组合的单比特单元创建聚比特单元的布局,根据至少两个单比特单元的布局所组合的每个聚比特单元具有不同功能性和不同驱动中的一者或多者。
2.根据权利要求1所述的方法,其中标识具有不同功能性和不同驱动中的一者或多者的单比特单元的能够组合的布局还包括:
至少标识设计布局中的第一单比特单元的第一实例和第二单比特单元的第二实例,利用所述设计布局中的所述聚比特单元中的第一聚比特单元替换所述第一实例和所述第二实例。
3.根据权利要求1所述的方法,还包括:
针对所述单比特单元的所述被标识的布局创建移动边界布局;以及
针对具有所述移动边界布局的所述单比特单元中的至少第一单比特单元和第二单比特单元创建聚比特单元,所述第一单比特单元的功能性或驱动中的至少一者不同于所述第二单比特单元的相应功能性或驱动。
4.根据权利要求3所述的方法,其中接地连接和电源连接限定所述单比特单元中的每个单比特单元的边界,并且其中创建所述聚比特单元包括:
将所述单比特单元中的第一单比特单元的第一电源连接与所述单比特单元中的第二单比特单元的第二电源连接合并;以及
将所述第一单比特单元的第一接地连接与所述第二单比特单元的第二接地连接合并。
5.根据权利要求4所述的方法,还包括:
响应于至少标识出设计布局中的所述第一单比特单元的第一实例和所述第二单比特单元的第二实例,利用所述设计布局中的所述聚比特单元的实例替换所述第一实例和所述第二实例。
6.根据权利要求1所述的方法,其中创建聚比特单元的所述布局包括:基于满足设计布局中的使用阈值,针对所述能够组合的布局的子集创建布局。
7.根据权利要求3所述的方法,其中创建所述移动边界布局中的每个移动边界布局包括:根据单比特单元创建布局,所述单比特单元具有能够移动到所述单比特单元的边界的接地连接和电源连接。
8.根据权利要求1所述的方法,其中所述至少两个单比特单元包括第一单比特单元和第二单比特单元,其中所述第一单比特单元的第一功能性不同于所述第二单比特单元的第二功能性,其中所述第一功能性具有与所述第二功能性不同的操作。
9.根据权利要求1所述的方法,其中所述至少两个单比特单元包括第一单比特单元和第二单比特单元,其中所述第一单比特单元的第一功能性不同于所述第二单比特单元的第二功能性,其中所述第一功能性具有与所述第二功能性不同的驱动强度。
10.根据权利要求1所述的方法,其中所述至少两个单比特单元包括第一单比特单元和第二单比特单元,其中所述第一单比特单元的第一功能性不同于所述第二单比特单元的第二功能性,其中所述第一功能性具有与所述第二功能性不同的驱动强度,并且其中所述第一功能性具有与所述第二功能性不同的操作。
11.一种聚比特单元,包括:
电源连接;
接地连接;
第一功能性,连接在所述电源连接与所述接地连接之间,具有第一驱动功率和第一操作;以及
第二功能性,连接在所述电源连接与所述接地连接之间,具有第二驱动功率和第二操作,其中所述第二功能性在驱动功率或操作方面不同于所述第一功能性,或者在驱动功率和操作两方面都不同于所述第一功能性。
12.根据权利要求11所述的聚比特单元,其中所述第一功能性和所述第二功能性的所述驱动功率和所述操作两者都不同。
13.根据权利要求11所述的聚比特单元,其中所述第一功能性的操作不同于所述第二功能性的操作。
14.根据权利要求11所述的聚比特单元,其中所述第一功能性的驱动功率不同于所述第二功能性的第二驱动功率。
15.根据权利要求11所述的聚比特单元,其中当被实现为布局中的第一单比特单元时,所述第一功能性占据第一接触多晶间距(CPP)宽度,其中当被实现为所述布局中的第二单比特单元时,所述第二功能性占据第二CPP宽度,其中所述聚比特单元在所述布局中占据第三CPP宽度,所述第三CPP宽度小于所述第一CPP宽度和所述第二CPP宽度的组合宽度。
16.一种方法,包括:
标识包括第一驱动强度的第一功能性的第一单比特单元;
标识包括第二驱动强度的第二功能性的第二单比特单元;以及
利用聚比特单元替换电路布局中的所述第一单比特单元和所述第二单比特单元,所述聚比特单元包括以所述第一驱动强度设置的所述第一功能和以所述第二驱动强度设置的所述第二功能性。
17.根据权利要求16所述的方法,其中所述第一功能性具有第一操作,所述第一操作不同于所述第二功能性的第二操作。
18.根据权利要求16所述的方法,其中所述第一驱动强度不同于所述第二驱动强度。
19.根据权利要求16所述的方法,其中所述第一功能性具有第一操作,所述第一操作不同于所述第二功能性的第二操作,并且其中所述第一驱动强度不同于所述第二驱动强度。
20.根据权利要求16所述的方法,还包括:
响应于标识所述第一单比特单元的输出与所述第二单比特单元的输入之间的外部单元迹线,利用在所述聚比特单元内的所述输出与所述输入之间的内部迹线来替换所述电路布局中的所述外部迹线。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063119489P | 2020-11-30 | 2020-11-30 | |
US63/119,489 | 2020-11-30 | ||
PCT/US2021/061132 WO2022115757A1 (en) | 2020-11-30 | 2021-11-30 | Poly-bit cells |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116569336A true CN116569336A (zh) | 2023-08-08 |
Family
ID=79092987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180080144.0A Pending CN116569336A (zh) | 2020-11-30 | 2021-11-30 | 聚比特单元 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220171912A1 (zh) |
KR (1) | KR20230109649A (zh) |
CN (1) | CN116569336A (zh) |
TW (1) | TW202240455A (zh) |
WO (1) | WO2022115757A1 (zh) |
Families Citing this family (1)
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 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223330B1 (en) * | 1999-08-24 | 2001-04-24 | Ess Technology, Inc. | System and method for designing integrated circuits using cells with multiple unrelated outputs |
US8266561B2 (en) * | 2007-09-21 | 2012-09-11 | Broadcom Corporation | Systems and techniques for developing high-speed standard cell libraries |
US9361417B2 (en) * | 2014-02-07 | 2016-06-07 | Synopsys, Inc. | Placement of single-bit and multi-bit flip-flops |
US9779197B1 (en) * | 2015-02-13 | 2017-10-03 | Microsemi Solutions (U.S.), Inc. | Method and system of merging memory cells into multi-bit registers in an integrated circuit layout |
US10157253B2 (en) * | 2016-10-17 | 2018-12-18 | Synopsys, Inc. | Multi-bit-mapping aware clock gating |
US10579771B2 (en) * | 2017-06-14 | 2020-03-03 | Samsung Electronics Co., Ltd. | Integrated circuit including standard cells overlapping each other and method of generating layout of the integrated circuit |
US10650112B1 (en) * | 2017-12-21 | 2020-05-12 | Apple Inc. | Multi-bit clock gating cell to reduce clock power |
US10990745B2 (en) * | 2018-09-20 | 2021-04-27 | Taiwan Semiconductor Manufacturing Company Ltd. | Integrated circuit and method of forming same and a system |
US11095272B2 (en) * | 2018-09-21 | 2021-08-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Flip-flop cell |
US11847396B1 (en) * | 2020-08-05 | 2023-12-19 | Synopsys, Inc. | Integrated circuit design using multi-bit combinational cells |
-
2021
- 2021-11-29 TW TW110144421A patent/TW202240455A/zh unknown
- 2021-11-30 US US17/456,963 patent/US20220171912A1/en active Pending
- 2021-11-30 WO PCT/US2021/061132 patent/WO2022115757A1/en active Application Filing
- 2021-11-30 KR KR1020237018020A patent/KR20230109649A/ko unknown
- 2021-11-30 CN CN202180080144.0A patent/CN116569336A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022115757A1 (en) | 2022-06-02 |
US20220171912A1 (en) | 2022-06-02 |
TW202240455A (zh) | 2022-10-16 |
KR20230109649A (ko) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20130084029A (ko) | 탭리스 스탠다드 셀을 포함하는 시스템-온-칩의 설계 방법, 설계 시스템 및 시스템-온-칩 | |
US20220085018A1 (en) | Mixed diffusion break for cell design | |
US11694016B2 (en) | Fast topology bus router for interconnect planning | |
US20220171912A1 (en) | Poly-bit cells | |
US12079558B2 (en) | On-the-fly multi-bit flip flop generation | |
CN116976248A (zh) | 使用冗余节点的电路设计调整 | |
Lanius et al. | Automatic Generation of Structured Macros Using Standard Cells‒Application to CIM | |
US11790150B2 (en) | Placement and simulation of cell in proximity to cell with diffusion break | |
US12112818B2 (en) | Scan chain compression for testing memory of a system on a chip | |
US11836433B2 (en) | Memory instance reconfiguration using super leaf cells | |
CN118103846A (zh) | 用于准确上下文感知时序建模的统一框架及方法 | |
US11159163B2 (en) | Single phase clock-gating circuit | |
US20210034804A1 (en) | Refining multi-bit flip flops mapping without explicit de-banking and re-banking | |
CN113536726A (zh) | 用于最大瞬时峰值功率的矢量生成 | |
US12085970B1 (en) | High-voltage IO drivers | |
US11300614B1 (en) | Save and restore register | |
US11836000B1 (en) | Automatic global clock tree synthesis | |
US11799480B1 (en) | Scalable supply multiplexer circuit | |
US20210110093A1 (en) | State table complexity reduction in a hierarchical verification flow | |
US11876516B2 (en) | Non-fighting level shifters | |
US20230106989A1 (en) | Method of verifying semiconductor device, method of designing and manufacturing semiconductor device using the same, and system performing the same | |
US20230022615A1 (en) | Boundary cell having a common semiconductor type for library cell | |
US12073876B2 (en) | Memory clock level-shifting buffer with extended range | |
US20230252208A1 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |