CN116490873A - 与具有扩散中断单元的邻近的单元的放置和仿真 - Google Patents
与具有扩散中断单元的邻近的单元的放置和仿真 Download PDFInfo
- Publication number
- CN116490873A CN116490873A CN202180075420.4A CN202180075420A CN116490873A CN 116490873 A CN116490873 A CN 116490873A CN 202180075420 A CN202180075420 A CN 202180075420A CN 116490873 A CN116490873 A CN 116490873A
- Authority
- CN
- China
- Prior art keywords
- edge
- cell
- diffusion
- diffusion break
- distance
- 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
Links
- 238000009792 diffusion process Methods 0.000 title claims abstract description 289
- 238000004088 simulation Methods 0.000 title claims description 50
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000013461 design Methods 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 5
- 239000011295 pitch Substances 0.000 description 24
- 230000015654 memory Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 230000007423 decrease Effects 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000001459 lithography Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse 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
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013440 design planning Methods 0.000 description 1
- 230000007717 exclusion Effects 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
- 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
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 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/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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- 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
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本文公开了一种用于在具有扩散中断的单元附近放置和仿真单元的系统和方法。根据一个实施例,集成电路被设计成包括具有第一边缘和与第一边缘相对的第二边缘的第一单元。第一单元还可以包括从第一边缘延伸到第二边缘的扩散区域,扩散中断将扩散区域隔开。扩散中断可以与第二边缘间隔开一定距离,该距离使邻近第二边缘放置的第二单元的度量(例如,延迟、回转、动态功率或泄漏)降低超过阈值水平。
Description
相关申请的交叉引用
本申请要求于2020年11月9日提交的题为“Placement and Simulation of Cellin Proximity to Cell with Diffusion Break”的美国申请No.17/093,457的优先权,该申请通过引用并入本文。
技术领域
本发明大体上涉及一种集成电路设计系统。具体地,本公开涉及用于在连续扩散半导体工艺中提供与具有扩散中断的另一单元邻近的单元的放置和仿真的系统和方法
背景技术
使用连续扩散的半导体工艺没有扩散中断以将不同的扩散相互电隔离。可以使用栅极连接到电源或接地的虚拟晶体管来实现期望的电隔离。基于单元的设计可以使用少量的连续扩散中断的单元。最常见的具有扩散中断的单元是阱分接单元,其包含防止闭锁所需的n阱和衬底触点。扩散中断对放置在它们附近的单元的度量具有不利影响。
基于常规单元的芯片设计流程不使用扩散中断附近的芯片上的空间,以避免考虑其对靠近其放置的单元的定时和功率的影响。扩散中断对靠近中断的单元的影响最大,并且当单元远离中断放置时,影响可能逐渐减弱。如果设计者想要使用中断附近的空间,则电子设计自动化(EDA)流程所使用的常规方法可以用D×D尺寸的降额表对放置在扩散中断的左侧和/或右侧的D放置网格内的单元的影响进行建模。EDA系统选择参数D的值,使得当单元被放置在距离扩散中断大于D个放置网格时,单元的度量基本不改变。D的值基于半导体工艺的一个或多个特征。降额表可以捕捉扩散中断对放置在扩散中断附近的单元的度量(例如,延迟、回转、动态功率和泄漏)的影响。表格的尺寸可以表示单元的左侧界和右侧界与扩散中断的距离。降额值可以随单元被特征化的不同输入回转和输出负载组合而变化。因此,该方法可以包括在单元模型表中的每个负载和回转组合特征化的D×D降额表,从而有效地创建每个单元的D2定时模型。这使得单元特征化和定时分析在存储器使用和计算时间方面昂贵。为了避免这种情况,在用于连续扩散过程的常规EDA工具流程中使用的单元库通过人为地增加具有扩散中断的单元的尺寸,使得扩散中断大于来自单元边界的D放置网格,有效地防止单元被放置在来自扩散中断的D放置网格内。然而,这减少了可以用于在集成电路设计内放置其它单元的空间量。
发明内容
实施例涉及用于设计集成电路的系统和方法。在一个实施例中,一种方法包括将第一单元放置在第二单元的一侧上,其中第一单元包括第一边缘,在第一单元的第一边缘的相对侧的第二边缘,以及从第一边缘延伸到第二边缘的扩散区域,其中扩散中断将扩散区域分开。第二单元可以包括以指定距离与扩散中断隔开的第三边缘。从一个或多个仿真模型中选择仿真模型,其中每个仿真模型与以小于或等于阈值距离的对应的指定距离与给定扩散中断间隔开的给定单元的相应边缘相关联。然后可以使用所选择的仿真模型来执行第二单元的仿真。
在一些实施例中,仿真模型包括三个模型:第一模型,包括与将第三边缘放置成面向第一边缘并且与扩散中断间隔开指定距离相关联的第一多个度量;第二模型,包括与将第三边缘放置成面向第二边缘并且与扩散中断间隔开指定距离相关联的第二多个度量;第三模型,包括与将第三边缘与大于阈值距离的扩散中断间隔开相关联的第三多个度量。可以响应于将第三边缘放置成面向第一边缘并且与扩散中断间隔开指定距离而选择第一模型。可以响应于将第三边缘放置成面向第二边缘并且与扩散中断间隔开指定距离而选择第二模型。可以响应于将第三边缘放置成与扩散中断间隔开大于阈值距离来选择第三模型。
从扩散中断到第一边缘的距离可以小于指定距离,并且其中面对第一边缘的第三边缘与第一边缘间隔开与该距离和指定距离之间的差相对应的分隔距离。第一单元可以是阱分接单元。第二单元可以是延迟单元。
指定距离可以是多个指定距离中的一个指定距离,并且至少第一相应仿真模型和第二相应仿真模型与多个指定距离中的每个指定距离相关联。第一相应模型可以包括第一多个度量,第一多个度量与将第三边缘放置成面向第一边缘并且与扩散中断间隔开相应的指定距离相关联。第二相应模型可以包括第二多个度量,第二多个度量与将第三边缘放置成面向第二边缘并且与扩散中断间隔开相应的指定距离相关联。
实施例还涉及用于设计集成电路的第一单元,该集成电路包括第一边缘、在第一单元的第一边缘的相对侧的第二边缘、以及从第一边缘延伸到第二边缘的扩散区域,该扩散区域具有分隔该扩散区域的扩散中断。扩散中断可以与第二边缘间隔一定距离,该距离变化超过阈值水平,该阈值水平是与第二边缘邻近放置的第二单元的度量。
在一个实施例中,第一单元是阱分接单元。第二单元可以邻接第一单元或与扩散中断隔开(例如,通过使第二单元的度量改变超过阈值水平的用户指定距离)。第二单元可以与第二边缘分隔一段距离,该距离对应于该距离与用户指定的距离之差。此外,扩散中断可以与第一边缘相隔预定的阈值距离,使得放置在第一边缘邻近的给定单元的度量基本不受扩散中断的影响(即,第二单元的度量不改变超过阈值水平)。第二边缘可以是扩散中断的左侧或右侧。
附图说明
从以下给出的详细描述和从本公开的实施例的附图将更全面地理解本公开。附图用于提供对本公开的实施例的知识和理解,而不将本公开的范围限制于这些指定实施例。此外,附图不必按比例绘制。
图1示出了根据一个实施例的从单元生成的集成电路放置。
图2示出了根据一个实施例的具有扩散中断的单元。
图3示出了根据一个实施例的具有通过指定数量的栅极间距与单元边缘分离的扩散中断的单元。
图4示出了根据一个实施例的包括与图3的单元邻接的具有扩散中断的单元的单元放置。
图5示出了根据一个实施例的单元放置,包括与具有扩散中断的单元的邻接单元。
图6示出了根据一个实施例的单元放置,包括与扩散中断分离的单元,而不使单元与扩散中断邻接。
图7示出了根据一个实施例的单元放置,该单元放置包括都与扩散中断间隔指定数量的栅极间距的单元。
图8示出了根据一个实施例的单元放置,该单元放置包括都与扩散中断隔开指定数量的栅极间距的单元。
图9描绘了根据本发明的一些实施例在集成电路的设计和制造期间使用的各种过程的流程图。
图10描绘了本公开的实施例可以在其中操作的示例计算机系统的抽象图。
具体实施方式
现在将详细参考几个实施例,其示例在附图中示出。应当注意,在任何可行的地方,在附图中可以使用相似或类似的附图标记,并且可以指示相似或类似的功能。附图仅出于说明的目的描绘了所公开的系统(或方法)的实施例。本领域技术人员将从以下描述中容易地认识到,在不脱离本文描述的原理的情况下,可以采用本文示出的结构和方法的替代实施例。
实施例涉及设计一种集成电路,其包括至少一个单元,具有与单元的边缘间隔开距离的扩散中断,距离使邻近于第二边缘放置的另一单元的度量(例如,延迟、回转、动态功率和泄漏)改变超过阈值电平。其它单元可以邻近具有扩散中断的单元放置,与扩散中断相距指定距离或栅极间距,受超过阈值水平的扩散中断的影响,或避免来自扩散中断的影响的距离。这种放置技术减少了捕获扩散中断对放置在扩散中断附近的单元的影响所需的模型数量,并且能够有效地利用集成电路中的空间。
本文所述的扩散中断是指从单元的第一边缘延伸到与单元的第一边缘相对的第二边缘的扩散区中的中断。扩散中断可以改变(例如,降低或提升)位于扩散中断附近的单元的度量。这种改变可能降低估计单元设计的度量的准确性。虽然本文描述的实施例可以指由靠近扩散中断的单元的放置引起的单元度量的降低,但是单元的度量也可以作为扩散中断的效果而增加。例如,扩散中断可以增加或减少单元的延迟,导致降低估计单元设计的延迟的精度的信号的不期望的加速或减速。
本文描述的单元是指用于执行逻辑功能的逻辑单元。可以组合一个或多个单元以形成物理单元。例如,多位单元的单个物理单元可以包括多个逻辑单位单元。
EDA产品可以包括生成集成电路布局的软件。在一个实施例中,EDA系统接收单元库,其包括被设计成按行并排放置的一组单元。图1的描述中示出了单元设计的示例。该组单元可以包括标准单元和标准单元的修改版本。EDA系统可以通过布置来自库的单元的实例来生成集成电路的布局的至少一部分。EDA系统可以将单元的实例连接在一起以实现集成电路的所需功能性。
EDA系统可以生成网格布局设计。在网格化设计中,电路组件(诸如单元)的边缘与预定网格对准。在一些实施例中,布局(例如,布局100)的晶体管栅极在相邻栅极之间具有固定距离,其中该固定距离通常等于所接触的栅极间距,通常被称为所接触的多晶硅间距或CPP。栅极间距可以是预定栅极中的多个栅极单元。如本文所提及,术语“栅极间距”、“CPP”、“放置栅极”和“栅极”可以被互换使用以描述布局设计内的单元尺寸(例如,宽度)和单元放置(例如,单元边缘之间的距离)。单元边缘可以平行于晶体管栅极。特别地,本文可以使用术语“栅极间距”来量化单元与另一单元或另一单元的一部分放置的距离。例如,单元可以被放置成与另一单元的扩散中断相距D1,或者被放置成与另一单元的扩散中断相距D1个栅极间距。在没有指定距离单位的情况下提及距离,诸如E、D、D1等意味着在栅极间距中有一个距离单位。
示例集成电路
图1示出根据一个实施例从单元生成的集成电路布局100。集成电路布局100包括单元110、120和130。单元被组织成单行,其中虚拟晶体管140a跨越单元110和120的边缘,另一组虚拟晶体管140b跨越单元110和130的边缘。虚拟晶体管可以被位于单元的边缘处,以将单元内的扩散与相邻单元的扩散隔离。单元可以在四个侧边或边缘上界定并且表示任何一般单元,诸如反相器、NAND门、NOR门或触发器。尽管为了清楚起见简化了布局100,但是布局100可以包括未示出的附加单元。
单元110在一侧由边缘104界定,而在相对侧由边缘106界定。扩散区域108和109从边缘104跨越到边缘106。扩散区域108可以是p型扩散区域(即,p扩散),并且扩散区域109可以是n型扩散区域(即,n扩散)。扩散中断102将扩散区域108和109分开。即,扩散区域108被分割为两个电隔离区:从边缘104到扩散中断102的区域和从扩散中断102到边缘106的另一区域。类似地,扩散区域109也被分成两个电隔离区。在一个示例中,标准单元110可以是包含扩散中断102和未图示的组件(例如,防止闭锁所需的n阱和衬底触点)的阱抽头或TAP单元。在图2和3的描述中描述了具有扩散中断的单元的其它示例。
扩散中断可能降低位于扩散中断附近的单元的度量。在一些实施例中,扩散中断影响放置在附近的单元的延迟、回转、动态功率和泄漏中的至少一个。降低的程度取决于另一个单元与扩散中断之间的距离。在一些实施例中,单元的度量受到扩散中断的影响,并且当单元被放置在扩散中断的某一距离内时将降低超过阈值水平。例如,放置在扩散中断的10个栅极间距内的单元的度量可能降低超过阈值水平。度量降低的阈值水平指的是在扩散中断附近的单元的度量中最小的非零的减少量。例如,取决于技术,扩散中断可以将相邻单元的延迟增加10-15%或将相邻单元的泄漏增加50%。扩散影响可随晶体管特性(例如,阈值电压)而变化。术语“阈值水平”用于指至少一个度量的降低的阈值水平。例如,扩散中断可使单元的度量降低超过阈值电平,因为扩散中断将动态功率消耗增加最小非零量,尽管不影响其它度量,例如延迟或泄漏。
单元度量的降低可以在降额表中建模。在一些实施例中,EDA系统生成特征化放置在扩散中断附近的单元的度量(例如,延迟)的模型或降额表。例如,可以基于单元的输入转换和输出负载的不同组合来特征化一个单元的降额表。在图4-7的描述中进一步描述了基于单元放置的模型和相应度量的生成。
图1示出了放置有虚拟晶体管140a和140b的单元120和130,虚拟晶体管140a和140b将单元120和130与具有扩散中断102的单元110电隔离。虚拟晶体管140a和140b的栅极可以连接到电源或地,以提供期望的电隔离。每组虚拟晶体管140a和140b可以包括跨越在单元110的边缘和单元120或130的边缘之间的一个或多个晶体管。由于虚拟晶体管140a和140b引起的电隔离,扩散中断102不会降低单元120和130的度量。
虽然布局100被示为具有虚拟晶体管140a和140b,但是如果单元120和130被放置在距扩散中断102一定距离处,则单元120和130可以避免由扩散中断102引起的度量的降低。例如,如果邻接边缘104的单元120的边缘距扩散中断102大于10个栅极间距,则单元120的度量可以不受影响。然而,如果邻接边缘106的单元130的边缘与扩散中断102相距十个栅极间距,则单元130的度量可降低超过阈值电平。在图4-7的描述中描述了靠近扩散中断的单元放置的示例。
具有扩散中断的示例单元
图2示出了根据一个实施例的具有扩散中断202的单元200。单元200由边缘204和206界定,并且包括扩散中断202和扩散区域208和209。扩散区域208和209从边缘204延伸到边缘206,并且由扩散中断202隔开。边缘204通过D1与扩散中断202隔开,而边缘206通过D2与扩散中断202隔开。D1和D2可以是距离上相等或不同数量的栅极间距。D1和D2都大于来自扩散中断的D。D可以被限定为第一单元(例如,单元200)的扩散中断到该扩散中断任一侧上的第二单元(未示出)的边缘的最大距离,使得该扩散中断降低超过第二单元的度量的阈值水平(例如,第二单元的度量不满足阈值水平)。即,D是预定的阈值距离,使得当单元被放置在距离扩散中断大于D时,单元的度量不受扩散中断的影响或基本上不由于扩散中断而改变。因此,邻接边缘204或206放置的另一单元的度量将不受扩散中断202的影响。如本文所提及的,“安全边缘”是与单元的扩散中断分开大于D的单元边缘。例如,边缘204和206都是单元200的安全边缘。相反,如在图3的描述中所述,以小于或等于D的栅极间距数放置的另一单元距扩散中断的度量将在阈值之上受到扩散中断202的影响。
图3示出了根据一个实施例的具有扩散中断302的单元300,扩散中断302与单元边缘306相隔指定数量的栅极间距。单元300由边缘304和306界定,并包括扩散中断302和扩散区域308和309。扩散区域308和309从边缘304延伸到边缘306,并由扩散中断302隔开。边缘304与扩散中断302隔开D3,并且边缘306与扩散区域306隔开小于或等于D的指定数目的E栅极间距。此距离E在本文中被称为“用户指定距离”或“指定距离”。E可以是由EDA系统用户指定的设计参数。即,扩散中断附近的单元放置可以被严格地限制为与扩散中断相隔E。单元可以被放置在扩散中断302右侧的E处,使得它距离其右侧的扩散中断大于D。在一些实施例中,除非距离正好是E,否则单元可以不被放置在扩散中断302右侧小于或等于D处。同样,可以将单元放置在扩散中断302左侧的E处,使得其大于其左侧的任何扩散中断右侧的D。
D3大于D并且边缘304是安全边缘。然而,E小于或等于D。如本文所提及的,“临界边缘”是与单元的扩散中断隔开小于或等于D的E的单元的边缘。边缘306是单元300的临界边缘。由于接近扩散中断302,邻接边缘306放置的另一单元可能经历超过阈值水平的度量降低。然而,邻接边缘304放置的另一单元将不受扩散中断302的影响。在图4的描述中更详细地描述了靠近扩散中断302的单元的放置。
集成电路设计仿真模型
EDA系统可以仿真扩散中断对附近单元的影响,并使用一个或多个模型或降额表将仿真结果提供给EDA用户。降额表可以是度量矩阵,其中矩阵的每个值包括一个或多个度量,这些度量特征化扩散中断对放置在离扩散中断给定距离处的单元的影响。在一些实施例中,矩阵的尺寸对应于当经历超过阈值水平的度量的降低时,单元可以被放置在扩散中断的任一侧上的最大距离。例如,具有尺寸D×D的降额表包括从扩散中断的一侧(例如,到扩散中断的左侧)放置1,2,……和D栅极间距的单元的度量以及从扩散中断的另一侧(例如,到扩散中断的右侧)放置1,2,……和D栅极间距的单元的度量。
诸如延迟、回转、动态功率和泄漏的度量可以被包括在降额表中。例如,位于降额表的第一行和第二列的值可以对应于扩散中断对邻接临界边缘放置的另一单元的泄漏的影响,该临界边缘是从扩散中断的左侧起一个栅极间距或从扩散中断的右侧起两个栅极间距。
降额表可以由捕获扩散中断对一个或多个度量的影响的一个或多个模型来组装。此外,给定维数的降额表的值可以根据附近单元被特征化的不同输入回转和输出负载组合而变化。由于这种变化,降额表中包括的模型的数量可能增加。也就是说,D×D降额表(例如,D2模型)可足以特征化输入回转和输出负载的单个组合的度量,但对于各种输入回转和输出负载组合中的每个组合可能需要D2模型。此增加可以导致单元特征化和时序分析消耗额外的存储器使用和计算时间。本文所述的将单元放置在扩散中断附近可以减少捕获集成电路设计仿真中扩散中断的影响所需的模型数目。
在一些实施例中,EDA系统在集成电路设计的仿真期间实现一个或多个设计参数。例如,E栅极间距的指定距离是使集成电路设计中的单元被放置在距离扩散中断E栅极间距处的设计参数。
通过应用放置单元的E栅极间距的指定距离,EDA系统减少了在集成电路设计仿真中捕获扩散中断的影响所需的模型数量。特别地,EDA系统可以迫使集成电路设计中的单元放置在距扩散中断E或大于D的距离处。
EDA系统可以使用三个降额模型中的一个或多个来特征化扩散中断的影响。这些模型用于根据靠近扩散中断的单元的位置计算单元的度量。第一模型与将单元定位在距扩散中断的第一侧(例如,扩散中断的左侧)距离E处相关联,其中单元的右侧缘是临界边缘并且左侧缘是安全边缘。第二模型与将单元定位在距扩散中断的第二侧(例如,扩散中断的右侧)距离E处相关联,其中单元的左侧缘是临界边缘并且右侧缘是安全边缘。第三模型与定位具有第一侧和与第一侧相对的第二侧的单元相关联,第一侧和第二侧都大于来自扩散中断的D。在一些实施例中,EDA系统可以使用第四模型,该第四模型与将单元从单元的第一侧和与单元的第一侧相对的第二侧两者上的相应相邻扩散中断定位在E处相关联(即,在单元的左侧具有扩散中断的第一单元和在单元的右侧具有扩散中断的第二单元)。
在一些实施例中,EDA系统可以使用多个用户指定的距离来将单元边缘放置在远离扩散中断的位置。计算单元度量所需的降额模型的数量随着用户指定距离的数量而增加。如上所述,对于一个用户指定的距离E,需要三个模型:第一模型用于将单元放置在扩散中断的左侧E处,第二模型用于将单元放置在扩散中断的右侧E处,并且第三模型用于将单元放置在扩散中断的任一侧大于D处。对于两个用户指定的距离E和E',需要两个更多的模型:第四模型用于将单元置于扩散中断的左侧E',以及第五模型用于将单元置于扩散中断的右侧E'。
可以基于单元放置设计(例如,用户指定的距离扩散中断的距离和每个单元的临界边缘的数量)来确定或生成仿真所需的模型数量。例如,可以构造库内的单元,使得单元可以仅具有一个临界边缘,并且单元边缘限于放置在用户指定的E或大于D的距离处。这样,只需要三个模型。在库内的单元可以被构建成具有多个临界边缘并且单元边缘被限制在E或大于D的位置的实现中,可能需要四种模型(即,用于将单元放置在E的相应扩散中断的左侧和右侧的附加的第四种模型)。
EDA系统可以选择第一、第二和第三模型中的至少一个,并且使用所选择的一个或多个模型来执行集成电路设计的仿真。在一些实施例中,第四模型被包括用于与前三个模型一起选择。每个模型可以包括在仿真相对于扩散中断适当定位的单元期间应用的度量。例如,EDA系统可以选择第一模型来对位于扩散中断左侧的E的单元应用相应的度量。在图4-6的描述中描述了EDA系统对模型的选择。
扩散中断附近的示例单元放置
图4-6示出了根据实施例的扩散中断附近的单元放置的示例。扩散中断对附近单元的影响可以取决于附近单元的边缘与扩散中隔开的距离。图4-6中的每个在本文都是相对于所描绘的放置及其使用一个或多个模型或降额表的仿真来描述的。每个示例显示了至少一个单元被放置在距扩散中断指定距离E处。
图4示出了根据一个实施例的包括与图3的单元邻接的具有扩散中断的单元的单元放置。单元放置400示出了单元420和430与具有扩散中断302的单元300邻接。单元420邻接边缘304,边缘304是与扩散中断302隔开D3的安全边缘。单元420的度量不受扩散中断302的影响,因为它被放置在安全边缘附近。相反,单元430的度量受到超过阈值水平的扩散中断302的影响,因为单元430邻接边缘306,边缘306是与扩散中断302隔开E的临界边缘。D6大于D,因此单元430不受放置在其右侧的单元450中的扩散中断452的影响。D4大于D,并且单元430的边缘436是安全边缘。邻接边缘436放置的另一个单元将不受扩散中断302的影响,但是如果它的右侧缘距离扩散中断452小于D,它可能受单元450中的扩散中断452的影响。如图4所示,单元430被放置成邻接单元300,并且E远离扩散中断302。然而,单元可以通过E而不是通过E邻接与边缘分开(即,不邻接边缘)放置。在图6的描述中描述了这样的示例。
另外,单元放置400包括具有扩散中断442的单元440和具有扩散中断452的单元450。D5和D6都大于D。单元420的边缘424与扩散中断442相距D5,并且因此保持与扩散中断442和302分开大于D的安全边缘。同样,单元430的边缘436保持与扩散中断452和302分开大于D的安全边缘。因此,扩散中断442和452分别不影响单元420和430的度量。由于边缘306是临界边缘,所以单元430仍然受到扩散中断302的影响。
单元放置400可以由EDA系统使用两个模型来仿真。EDA系统可以选择第三模型用于仿真,其中第三模型包括与将单元420定位在距离扩散中断302大于D处相关联的度量。此外,EDA系统可以选择用于仿真的第二模型,其中第二模型包括与将单元430定位在距离扩散中断302的右侧E处相关联的度量。
在一些实施例中,虽然未在图4中示出,但是单元440可以被定位成使得扩散中断442远离边缘424,使得单元420具有临界边缘(边缘424)和安全边缘(边缘304)。在该单元放置中,EDA系统可以使用第二模型来仿真单元420和430,其中第二模型包括与将单元420和430分别定位在距离扩散中断442和302的右侧E处相关联的度量。
在一些实施例中,单元放置400可以包括由一个或多个逻辑单元形成的物理单元。例如,单元300和430可以是被合并以形成单个物理单元的逻辑单元。该物理单元的功能等同于图4所示的单元300和430。即,物理单元包括具有扩散中断302的扩散区域并且包括来自单元430的逻辑功能(例如,AND功能)。正如单元300的左侧边缘和单元430的右侧边缘各自与扩散中断302分开大于D,物理单元的左侧边缘和右侧边缘距离扩散中断302也大于D。因此,邻近物理单元放置的单元不受扩散中断302的影响,因此不会经历超过阈值水平的性能变化。
图5示出了根据一个实施例的单元放置,包括与具有扩散中断的单元邻接的单元。单元放置500示出了单元520和530邻接具有扩散中断502的单元510。单元520邻接边缘504,边缘504是通过E与扩散中断502隔开的临界边缘。单元520的度量受到超过阈值水平的扩散中断502的影响,因为它被放置在临界边缘附近。然而,单元530的度量不受扩散中断502的影响,因为单元530邻接边缘506,边缘506是与扩散中断502分开D3的安全边缘,其中D3大于D。单元520的边缘524是安全边缘。邻接边缘524放置的另一个单元将不受扩散中断502的影响。尽管未示出,但是具有扩散中断的附加单元可以放置在单元520的左侧或单元530的右侧,使得附加单元的扩散中断与边缘524或536分开大于D。
另外,单元放置500包括具有扩散中断542的单元540和具有扩散中断552的单元550。D5和D6都大于D。单元520的边缘524是与扩散中断542和502隔开大于D的安全边缘。类似地,单元530的边缘536与扩散中断552和502隔开大于D,因此保持安全边缘。因此,扩散中断542和552分别不影响单元520和530的度量。然而,由于边缘504是临界边缘,所以单元520仍然受到扩散中断502的影响。
单元放置500可以由EDA系统使用两个模型来仿真。EDA系统可以选择第一模型用于仿真,其中第一模型包括与将单元520定位在距离扩散中断502的左侧E处相关联的度量。此外,EDA系统可以选择第三模型用于仿真,其中第三模型包括与将单元530定位在距离扩散中断502大于D处相关联的度量。
图6示出了根据一个实施例的单元放置,其包括与扩散中断分离的单元而不使单元与扩散中断邻接。单元放置600包括不邻接边缘604的单元620,边缘604是与扩散中断602分离e栅极间距的临界边缘,E栅极间距是小于E栅极间距的栅极间距的数目。在一些实施例中,EDA系统可以确定将单元620放置在远离边缘604的间隔距离处,该间隔距离对应于E和e之间的栅极间距差(即,E-e)。单元620的度量受到扩散中断602超过阈值水平的影响,这是由于其与扩散中断602分开指定距离E。然而,单元630的度量不受扩散中断602的影响,因为单元630邻接边缘606,边缘606是与扩散中断602分开D3的安全边缘,其中D3大于D。单元620的边缘624是安全边缘。邻接边缘624放置的另一个单元将不受扩散中断602的影响。在一些实施例中,具有扩散中断的附加单元可以放置在单元620的左侧或单元630的右侧,使得附加单元的扩散中断与边缘624或636分开大于D。例如,单元640放置在单元620的左侧,使得单元640的扩散中断642与边缘624分开D5,其中D5大于D。
虽然边缘604与扩散中断602分开e,但是EDA系统可以实现设计参数,其迫使单元620被放置成与扩散中断602分开E而不是e。这样,EDA系统仅需要选择用于仿真的第一模型,其中第一模型包括与将单元620定位在扩散中断602左侧E处相关联的度量,而不是选择与将单元620定位在扩散中断602左侧的E处的相关联的另一模型。此外,EDA系统可以选择第三模型用于仿真,其中第三模型包括与将单元630定位在距离扩散中断602大于D处相关联的度量。这减少了仿真所需的模型数量。
图7示出了根据一个实施例的单元放置,其包括均与扩散中断隔开指定距离的E栅极间距的单元。单元放置700包括分别邻接具有扩散中断702的单元710的边缘704和706的单元720和730。边缘704和706都是临界边缘,因为边缘704和706与扩散中断702相距指定数量的E栅极间距。因此,单元720和730受到超过阈值水平的扩散中断702的影响。单元720的边缘724和单元730的边缘736是安全边缘。邻接边缘724或边缘736放置的单元将不受扩散中断702的影响。具有扩散中断742的单元740可以放置在单元720的左侧,而具有扩散中断752的单元750可以放置在单元730的右侧。扩散中断742通过D5与边缘724分离,并且扩散中断752通过D6与边缘736分离,其中D5和D6都大于D。因此,EDA系统可以选择用于仿真的第一模型和第二模型,其中第一模型包括与将单元720定位在扩散中断702的左侧起的E处相关联的度量,而第二模型包括与将单元730定位在扩散中断702的右侧起的E处相关联的度量。
图8示出了根据一个实施例的单元放置,其包括均与扩散中断隔开指定距离的E栅极间距的单元。单元放置800包括分别邻接具有扩散中断802的单元810的边缘804和806的单元820和830。边缘804和806是临界边缘,因为边缘804和806与扩散中断802相距E个栅极间距。类似地,边缘824和836是临界边缘,因为它们分别与扩散中断842和852相距E个栅极间距。因此,EDA系统可以选择第四模型来仿真具有单元820和830的单元放置800,每个单元具有两个临界边缘。第四模型可以包括与将单元820定位在距离其两个边缘处的扩散中断842和802的E处以及将单元830定位在距其两个边缘处的扩散中断852和802的E处相关联的度量。
示例电子设计自动化系统和工作流
图9示出了在诸如集成电路的制品的设计、验证和制造期间使用一组示例性过程900,以转换和验证表示集成电路的设计数据和指令。这些过程中的每个都可以被构造和实现为多个模块或操作。术语“EDA”表示术语“电子设计自动化”。这些过程开始于创建具有由设计者提供的信息的产品概念910,该信息被转换以创建使用一组EDA过程912的制品。当设计完成时,设计被流片934,这是当集成电路的图形(例如几何图案)被发送到制造设备以制造掩模组时,掩模组然后被用于制造集成电路。在流片之后,制造半导体裸片936,并执行封装和组装过程938以产生完成的集成电路940。
电路或电子结构的规格范围可以从低级晶体管材料布局到高级描述语言。高级抽象可用于使用诸如VHDL、Verilog、SystemVerilog、SystemC、MyHDL或OpenVera等硬件描述语言(“HDL”)来设计电路和系统。HDL描述可以被转换为逻辑级寄存器传送级(“RTL”)描述、门级描述、布局级描述或掩码级描述。作为较少抽象描述的每个较低抽象级别将更有用的细节添加到设计描述中,例如,包括该描述的模块的更多细节。抽象程度较低的抽象描述可以由计算机生成,从设计库导出,或由另一设计自动化过程创建。用于指定更详细说明的抽象语言的较低级规范语言的示例是SPICE,其用于具有许多仿真组件的电路的详细说明。每个抽象层的描述能够由该层的相应工具(例如,形式验证工具)使用。
在系统设计914期间,指定待制造的集成电路的功能。可以针对诸如功耗、性能、面积(物理和/或代码行)和成本降低等期望特性来优化设计。在此阶段可以将设计划分为不同类型的模块或组件。
在逻辑设计和功能验证916期间,以一种或多种描述语言指定电路中的模块或组件,并检查规范的功能准确性。例如,可以验证电路的组件以生成与所设计的电路或系统相匹配的输出。功能验证可以使用仿真器和其他程序,诸如testbench生成器、静态HDL检验器和正式验证器。在一些实施例中,被称为“仿真器”或“原型系统”的组件的指定系统被用于加速功能验证。
在测试918的合成和设计期间,HDL代码被转换为网表。在一些实施例中,网表可以是图形结构,其中图形结构的边缘表示电路的组件,而图形结构的节点表示组件如何互连。HDL代码和网表都是分级制品,EDA产品可以使用它们来验证集成电路在制造时是否按照指定的设计执行。可以针对目标半导体制造技术优化网表。此外,可以测试完成的集成电路以验证该集成电路满足规范的要求。
在网表验证920期间,检查网表是否符合定时约束以及是否符合HDL代码。在设计规划922期间,为定时和顶层布线构造和分析集成电路的总体平面放置图。
在布局或物理实现924期间,发生物理放置(诸如晶体管或电容器的电路组件的定位)和路由(通过多个导体连接电路组件),并且可以执行从库中选择单元以启用指定逻辑功能。本文描述的单元设计和放置技术可以由EDA产品在布局或物理实现924期间应用。如本文中所使用,术语“单元”可以指定提供布尔逻辑功能(例如,AND、OR、INV、XOR)或存储功能(例如,触发器或锁存器)的一组晶体管、其它组件及互连。如本文所使用的,电路“块”可以指两个或更多个单元。单元和电路块都可以被称为模块或组件,并且被实现为物理结构和仿真。为所选单元(基于“单元”)指定参数,诸如大小,并使其可在数据库中访问以供EDA产品使用。
在分析和提取926期间,在布局级验证电路功能,这允许改进布局设计。在物理验证928期间,检查布局设计以确保制造约束是正确的,诸如DRC约束、电约束、光刻约束,并且电路装置功能匹配HDL设计规范。在分辨率增强930期间,转换布局的几何形状以改进如何制造电路设计。
在流片期间,创建数据以用于(如果适当的话,在应用光刻增强之后)生产光刻掩模。在掩模数据准备932期间,“流片”数据用于产生光刻掩模,该光刻掩模用于产生成品集成电路。
计算机系统的存储子系统(诸如图10的计算机系统1000)可用于存储由本文所述的一些或全部EDA产品使用的程序和数据结构,和用于开发库的单元和使用库的物理和逻辑设计的产品。
通用计算机系统应用
图10示出了计算机系统1000的示例性机器,其中可以执行用于使该机器执行本文讨论的任何一个或多个方法的一组指令。在备选实现中,机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。该机器可以在客户端-服务器网络环境中的服务器或客户端机器的能力下操作,在对等(或分布式)网络环境中作为对等机器操作,或者在云计算基础设施或环境中作为服务器或客户端机器操作。
该机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或网桥、或能够执行指定该机器要采取的动作的一组指令(顺序的或其它的)的任何机器。此外,虽然示出了单个机器,但是术语“机器”还应当被理解为包括单独地或联合地执行一组(或多组)指令以执行本文讨论的任何一个或多个方法的任何机器的集合。
示例计算机系统1000包括经由总线1030彼此通信的处理设备1002、主存储器1004(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、静态存储器1006(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储设备1018。
处理设备1002表示诸如微处理器、中央处理单元等的一个或多个处理器。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其它指令集的处理器、或实现指令集组合的处理器。处理设备1002还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1002可以被配置为执行用于执行本文描述的操作和步骤的指令1026。
计算机系统1000还可以包括网络接口设备1008进行通信的网络接口设备1008。计算机系统1000还可以包括视频显示单元1010(例如,液晶显示器(LCD)或阴极射线管(CRT)),字母数字输入设备1012(例如,键盘),光标控制设备1014(例如,鼠标),图形处理单元1022,信号生成设备1016(例如,扬声器),图形处理单元1022,视频处理单元1028和音频处理单元1032。
数据存储设备1018可以包括机器可读存储介质1024(也被称为非瞬态计算机可读介质),在该介质上存储了一组或多组指令1026或实现本文描述的任何一个或多个方法或功能的软件。在计算机系统1000执行指令1026期间,指令1026也可以完全或至少部分地驻留在主存储器1004内和/或处理设备1002内,主存储器1004和处理设备1002也构成机器可读存储介质。
在一些实现中,指令1026包括实现对应于本公开的功能的指令。虽然机器可读存储介质1024在示例实现中示出为单个介质,但是术语“机器可读存储介质”应当被理解为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可读存储介质”还应当被理解为包括能够存储或编码用于由机器执行的指令集并且使得机器和处理设备1002执行本公开的任何一个或多个方法的任何介质。因此,术语“机器可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁性介质。
前面的详细描述的某些部分是根据对计算机存储器内的数据位的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域的其他技术人员的方式。算法可以是导致期望结果的操作序列。这些操作是需要物理量的物理操纵的那些操作。这些量可以采取能够被存储,组合,比较和以其他方式操纵的电或磁信号的形式。这样的信号可以被称为位、值、元素、符号、字符、项、数字等。
然而,应当记住,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。除非特别声明,否则如从本公开显而易见的,应当理解,在整个说明书中,某些术语是指计算机系统或类似的电子计算设备的动作和过程,其将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储设备内的物理量的其他数据。
本公开还涉及一种用于执行这里的操作的装置。该装置可以为了预期目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于包括软盘、光盘、CD-ROM和磁光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的任何类型的介质,每个耦合到计算机系统总线。
本文给出的算法和显示并不固有地涉及任何指定的计算机或其它装置。根据本文的教导,各种其它系统可以与程序一起使用,或者可以证明构造更专用的装置来执行该方法是方便的。此外,不参考任何指定编程语言来描述本公开。应当了解,可以使用多种编程语言来实施本文所描述的本发明的教示。
本公开可以被提供为计算机程序产品或软件,其可以包括其上存储有指令的机器可读介质,所述指令可以用于对计算机系统(或其他电子设备)编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”),随机存取存储器(“RAM”),磁盘存储介质,光存储介质,闪存设备等。
在前述公开中,已经参考其指定示例实现描述了本公开的实现。显然,在不脱离如以下权利要求中阐述的本公开的实现的更宽精神和范围的情况下,可以对其进行各种修改。在本公开以单数形式提及一些元件的情况下,可以在附图中描绘多于一个元件,并且相同的元件用相同的数字标记。因此,本公开和附图被认为是说明性的而不是限制性的。
附加配置考虑
所公开的配置的示例益处和优点包括提高设计空间利用、存储器使用和处理消耗方面的改进的效率。在实验半导体工艺中实施所公开的单元设计和放置技术以利用围绕具有扩散中断的单元(例如,TAP单元)的空间。与不使用TAP单元附近的空间或增加具有扩散中断的单元的尺寸的常规方法相比,本文所公开的单元设计和放置技术将用于单元放置的可用面积增加超过1.5%,其中设计性能的降低最小。例如,本文所描述的放置技术可以避免需要用虚拟晶体管(例如,至少10个虚拟晶体管)来衬垫TAP单元的边缘以将其它单元与其扩散中断隔离,但将占用空间。因此,本文所述的技术允许有效利用集成电路设计内的空间。另外,与使用导致大单元模型尺寸的复杂模型的常规方法(例如,将模型尺寸增加两个数量级)相比,本文公开的单元设计和放置技术仅使模型尺寸加倍。通过减小捕获扩散中断效应所需的模型大小,本文描述的技术有效地使用EDA工具的存储器和处理资源。
此外,本文描述的放置技术可以增加由延迟单元引入的有意延迟。在一些实施例中,在初始设计阶段可以专门为延迟单元保留临界边缘附近的空间,这可以修正保持时间违规。备选地,可以为在后期定时关闭期间插入的任何单元保留该空间。在这些实施例中,在初始设计阶段(例如,物理合成和预路由设计阶段)期间,临界边缘附近的保留空间(即,禁区)被阻断,并且被打开以用于保持固定或后期定时关闭改变。在保持时间改变的情况下,可能存在额外益处,即当邻接临界边缘时,延迟单元具有较大延迟,这对于固定保持时间违规是合乎需要的。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然一个或多个方法的各个操作被示出和描述为单独的操作,但是各个操作中的一个或多个可以同时执行,并且不要求这些操作以所示的顺序执行。在示例配置中作为单独组件呈现的结构和功能可以被实现为组合结构或组件。类似地,呈现为单个组件的结构和功能可以实现为单独的组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。
本文将某些实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,包含在机器可读介质上或在传输信号中的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式来配置或放置。在示例实施例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用程序或应用程序部分)配置为操作以执行如本文所述的某些操作的硬件模块。
在各种实施例中,硬件模块可以机械地或电子地实现。例如,硬件模块可以包括被永久配置(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作的专用电路或逻辑。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,包括在通用处理器或其它可编程处理器内)。应当理解,机械地、在专用和永久配置的电路中、或在临时配置的电路(例如,由软件配置)中实现硬件模块的决定可以由成本和时间考虑来驱动。
因此,术语“硬件模块”应被理解为包括有形实体,即被物理地构造、永久地配置(例如,硬连线)或临时配置(例如,编程)的实体,以某种方式操作或执行本文所述的某些操作。如本文所使用的,“硬件实现的模块”是指硬件模块。考虑其中临时配置(例如,编程)硬件模块的实施例,每个硬件模块不需要在任何一个时刻配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为各自不同的硬件模块。软件可以相应地配置处理器,例如,在一个时刻构成指定的硬件模块,并在不同的时刻构成不同的硬件模块。
硬件模块可以向其它硬件模块提供信息,并从其它硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在多个这样的硬件模块同时存在的情况下,可以通过连接硬件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件模块可访问的存储器结构中存储和检索信息来实现此类硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在与其通信耦合的存储器设备中。然后,另一个硬件模块可以在稍后的时间访问存储器设备以检索和处理存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息集合)上操作。
本文描述的示例方法的各种操作可以至少部分地由一个或多个处理器来执行,其临时配置(例如,由软件)或永久配置以执行相关操作。无论临时配置还是永久配置,这些处理器都可以构成处理器实现的模块,其操作以执行一个或多个操作或功能。在一些示范性实施例中,本文提及的模块可以包括处理器实现的模块。
类似地,本文描述的方法可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的硬件模块来执行。某些操作的性能可以分布在一个或多个处理器中,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境中或作为服务器场),而在其他实施例中,处理器可以分布在多个位置上。
一个或多个处理器还可操作以支持在“云计算”环境中或作为“作为服务的软件”(SAAS)的相关操作的执行。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来执行,这些操作可以经由网络(例如,因特网)和经由一个或多个适当的接口(例如,应用程序接口(API))来访问。
某些操作的性能可以分布在一个或多个处理器中,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例性实施例中,该一个或多个处理器或处理器实现的模块可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例性实施例中,一个或多个处理器或处理器实现的模块可以跨多个地理位置分布。
本说明书的一些部分以对存储为机器存储器(例如,计算机存储器)内的位或二进制数字信号的数据进行操作的算法或符号表示的形式来呈现。这些算法或符号表示是数据处理领域的普通技术人员用来将其工作的实质传达给本领域的其他技术人员的技术的示例。如本文所使用的,“算法”是导致期望结果的操作或类似处理的自相容序列。在此上下文中,算法和操作涉及物理量的物理操纵。典型地,但不是必须地,这些量可以采取能够由机器存储,访问,传送,组合,比较或以其他方式操纵的电、磁或光信号的形式。主要出于通用的原因,有时使用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数目”、“数字”等词语来指代这样的信号是方便的。然而,这些词语仅仅是方便的标记,并且与适当的物理量相关联。
除非另有明确说明,否则本文使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等词语的讨论可以指机器(例如,计算机)的动作或过程,其操纵或转换表示为一个或多个存储器(例如,易失性存储器,非易失性存储器或其组合),寄存器或接收、存储、传输或显示信息的其它机器组件内的物理(例如,电、磁或光)量的数据。
如本文所使用的,对“一个实施例”或“实施例”的任何引用意味着结合该实施例描述的指定元件、特征、结构或特性被包括在至少一个实施例中。短语“在一个实施例中”在说明书中不同地方的出现不一定都指同一实施例。
当值被描述为“近似”或“基本上”(或它们的派生词)的情况下,这些值应被解释为精确的+/-10%,除非从上下文中另一含义是明显的。例如,“大约10”应理解为是指“在9至11的范围内”。
一些实施例可以使用表述“耦合”和“连接”及其派生词来描述。应当理解,这些术语并不旨在作为彼此的同义词。例如,一些实施例可以使用术语“连接”来描述,以指示两个或多个元件彼此直接物理或电接触。在另一示例中,可以使用术语“耦合”来描述一些实施例,以指示两个或更多个元件直接物理或电接触。然而,术语“耦合”也可以指两个或多个元件彼此不直接接触,但仍然彼此协作或交互。实施例不限于此上下文。
如本文所用,术语“包括”、“包括有”、“包括”、“含有”、“有”、“具有”或其任何其它变型旨在涵盖非排他性的包括。例如,包括一系列元素的过程、方法、物品或装置不必仅限于那些元素,而是可以包括未明确列出的或此类过程、方法、物品或装置固有的其它元素。此外,除非明确地相反说明,否则“或”是指包含性的或而非排他性的或。例如,以下任一项满足条件A或B:A为真(或存在)且B为假(或不存在)、A为假(或不存在)且B为真(或存在),且A和B均为真(或存在)。
此外,使用“一”或“一个”来描述本文实施例的元件和组件。这样做仅仅是为了方便并且给出本发明的一般意义。该描述应被理解为包括一个或至少一个,并且单数也包括复数,除非明显地表示其它含义。
在阅读本公开内容后,本领域技术人员将认识到通过本文公开的原理在连续扩散半导体工艺中用于单元设计和放置的系统和工艺的另外的替代结构和功能设计。因此,虽然已经图示和描述了指定实施例和应用,但是应当理解,所公开的实施例不限于本文所公开的精确构造和组件。在不脱离所附权利要求中限定的精神和范围的情况下,可以对在此公开的方法和装置的放置,操作和细节进行对本领域技术人员显而易见的各种修改,改变和变化。
Claims (20)
1.一种方法,包括:
将第一单元放置在第二单元的一侧上,
其中所述第一单元包括第一边缘、在所述第一单元的所述第一边缘的相对侧处的第二边缘、以及从所述第一边缘延伸到所述第二边缘的扩散区域,其中所述扩散中断将所述扩散区域分离,并且
其中所述第二单元包括以指定距离与所述扩散中断间隔开的第三边缘,所述指定距离使所述第二单元的度量降低超过阈值水平;
从多个仿真模型中选择,其中所述多个仿真模型中的每个仿真模型与以小于或等于阈值距离的对应指定距离与给定扩散中断间隔开的给定单元的相应边缘相关联;以及
使用所述多个仿真模型中所选择的仿真模型来执行所述第二单元的仿真。
2.根据权利要求1所述的方法,其中所述多个仿真模型包括:
第一模型,包括第一多个度量,所述第一多个度量与将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述指定距离相关联;
第二模型,包括第二多个度量,所述第二多个度量与将所述第三边缘放置成面向所述第二边缘并且与所述扩散中断间隔开所述指定距离相关联;以及
第三模型,包括第三多个度量,所述第三多个度量与将所述第三边缘与所述扩散中断间隔开大于所述阈值距离相关联。
3.根据权利要求2所述的方法,其中从所述多个仿真模型中选择包括:
响应于将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述指定距离,选择所述第一模型;以及
响应于将所述第三边缘放置成面向所述第二边缘并且与所述扩散中断间隔开所述指定距离,选择所述第二模型。
4.根据权利要求1-3中任一项所述的方法,其中从所述扩散中断到所述第一边缘的距离小于所述指定距离,并且其中面向所述第一边缘的所述第三边缘与所述第一边缘间隔开与所述距离和所述指定距离之间的差相对应的分隔距离。
5.根据权利要求1-4中任一项所述的方法,其中所述指定距离是多个指定距离中的一个指定距离,并且至少第一相应仿真模型和第二相应仿真模型与所述多个指定距离中的每个指定距离相关联,其中:
所述第一相应模型包括第一多个度量,所述第一多个度量与将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述相应指定距离相关联,并且
所述第二相应模型包括第二多个度量,所述第二多个度量与将第三边缘放置成面向所述第二边缘并且与扩散中断间隔开所述相应指定距离相关联。
6.根据权利要求1-5中任一项所述的方法,其中所述第一单元是阱分接单元,并且所述第二单元是延迟单元。
7.根据权利要求1-6中任一项所述的方法,其中所述第一单元和所述第二单元是作为同一物理单元被包括在内的逻辑单元。
8.一种用于设计集成电路设计的系统,所述系统包括:
包括存储的指令的非瞬态计算机可读介质;以及
一个或多个处理器,所述一个或多个处理器与所述非瞬态计算机可读介质耦合并且被配置为执行所述存储的指令,所述存储的所述指令在被执行时使得所述一个或多个处理器:
将第一单元放置在第二单元的一侧,
其中所述第一单元包括第一边缘、在所述第一单元的所述第一边缘的相对侧处的第二边缘、以及从所述第一边缘延伸到所述第二边缘的扩散区域,其中所述扩散中断将所述扩散区域分离,并且
其中所述第二单元包括以指定距离与所述扩散中断间隔开的第三边缘,所述指定距离使所述第二单元的度量降低超过阈值水平;
从多个仿真模型中选择,其中所述多个仿真模型中的每个仿真模型与以小于或等于阈值距离的对应指定距离与给定扩散中断间隔开的给定单元的相应边缘相关联;以及
使用所述多个仿真模型中的所选择的仿真模型执行所述第二单元的仿真。
9.根据权利要求8所述的系统,其中所述多个仿真模型包括:
第一模型,包括第一多个度量,所述第一多个度量与将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述指定距离相关联;
第二模型,包括第二多个度量,所述第二多个度量与将所述第三边缘放置成面向所述第二边缘并且与所述扩散中断间隔开所述指定距离相关联;以及
第三模型,包括第三多个度量,所述第三多个度量与将所述第三边缘与所述扩散中断间隔开大于所述阈值距离相关联。
10.根据权利要求9所述的系统,其中从所述多个仿真模型中选择包括:
响应于将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述指定距离,选择所述第一模型;以及
响应于将所述第三边缘放置成面向所述第二边缘并且与所述扩散中断间隔开所述指定距离,选择所述第二模型。
11.根据权利要求8-10中任一项所述的系统,其中从所述扩散中断到所述第一边缘的距离小于所述指定距离,并且其中面向所述第一边缘的所述第三边缘与所述第一边缘间隔开与所述距离和所述指定距离之间的差相对应的分隔距离。
12.根据权利要求8-11中任一项所述的系统,其中所述指定距离是多个指定距离中的一个指定距离,并且至少第一相应仿真模型和第二相应仿真模型与所述多个指定距离中的每个指定距离相关联,其中:
所述第一相应模型包括第一多个度量,所述第一多个度量与将所述第三边缘放置成面向所述第一边缘并且与所述扩散中断间隔开所述相应指定距离相关联,并且
所述第二相应模型包括第二多个度量,所述第二多个度量与将第三边缘放置成面向所述第二边缘并且与扩散中断间隔开所述相应指定距离相关联。
13.根据权利要求8-12中任一项所述的系统,其中所述第一单元是阱分接单元,并且所述第二单元是延迟单元。
14.根据权利要求8-13中任一项所述的系统,其中所述第一单元和所述第二单元是作为同一物理单元被包括在内的逻辑单元。
15.一种非瞬态计算机可读介质,存储表示集成电路的第一单元的放置的数据,所述集成电路的所述第一单元包括:
第一边缘;
在所述第一单元的所述第一边缘的相对侧处的第二边缘;以及
从所述第一边缘延伸到所述第二边缘的扩散区域,其中扩散中断将所述扩散区域分离,所述扩散中断与所述第二边缘间隔开使邻近所述第二边缘放置的第二单元的度量降低超过阈值水平的距离。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述单元是阱分接单元。
17.根据权利要求15或16所述的非瞬态计算机可读介质,其中所述第二单元邻接所述单元或与所述扩散中断分离。
18.根据权利要求17所述的非瞬态计算机可读介质,其中所述第二单元与所述第二边缘间隔开分离距离,所述分离距离与所述距离与用户指定距离之间的差相对应。
19.根据权利要求15-18中任一项所述的非瞬态计算机可读介质,其中所述扩散中断以预定阈值距离与所述第一边缘间隔开,所述预定阈值距离使邻近所述第一边缘放置的给定单元的所述度量实质上不受所述扩散中断影响。
20.根据权利要求15-19中任一项所述的非瞬态计算机可读介质,其中所述第二边缘位于所述扩散中断的所述左侧或所述扩散中断的所述右侧。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/093,457 US11403454B2 (en) | 2020-11-09 | 2020-11-09 | Placement and simulation of cell in proximity to cell with diffusion break |
US17/093,457 | 2020-11-09 | ||
PCT/US2021/058113 WO2022098911A1 (en) | 2020-11-09 | 2021-11-04 | Placement and simulation of cell in proximity to cell with diffusion break |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116490873A true CN116490873A (zh) | 2023-07-25 |
CN116490873B CN116490873B (zh) | 2025-01-03 |
Family
ID=78819649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180075420.4A Active CN116490873B (zh) | 2020-11-09 | 2021-11-04 | 与具有扩散中断单元的邻近的单元的放置和仿真 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11403454B2 (zh) |
EP (1) | EP4217906A1 (zh) |
KR (1) | KR20230096987A (zh) |
CN (1) | CN116490873B (zh) |
WO (1) | WO2022098911A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403454B2 (en) * | 2020-11-09 | 2022-08-02 | Synopsys, Inc. | Placement and simulation of cell in proximity to cell with diffusion break |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101405737A (zh) * | 2006-04-11 | 2009-04-08 | 国际商业机器公司 | 用于通过仿真全阵列模型中的边缘单元的操作来检验阵列性能的方法和系统 |
US8214778B2 (en) * | 2007-08-02 | 2012-07-03 | Tela Innovations, Inc. | Methods for cell phasing and placement in dynamic array architecture and implementation of the same |
CN102637689A (zh) * | 2011-02-11 | 2012-08-15 | 台湾积体电路制造股份有限公司 | 存储器边缘单元 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484198B2 (en) * | 2006-02-27 | 2009-01-27 | Synopsys, Inc. | Managing integrated circuit stress using dummy diffusion regions |
US7943967B2 (en) * | 2006-03-09 | 2011-05-17 | Tela Innovations, Inc. | Semiconductor device and associated layouts including diffusion contact placement restriction based on relation to linear conductive segments |
US7895548B2 (en) * | 2007-10-26 | 2011-02-22 | Synopsys, Inc. | Filler cells for design optimization in a place-and-route system |
US11403454B2 (en) * | 2020-11-09 | 2022-08-02 | Synopsys, Inc. | Placement and simulation of cell in proximity to cell with diffusion break |
-
2020
- 2020-11-09 US US17/093,457 patent/US11403454B2/en active Active
-
2021
- 2021-11-04 WO PCT/US2021/058113 patent/WO2022098911A1/en active Application Filing
- 2021-11-04 KR KR1020237011868A patent/KR20230096987A/ko active Search and Examination
- 2021-11-04 EP EP21816245.1A patent/EP4217906A1/en active Pending
- 2021-11-04 CN CN202180075420.4A patent/CN116490873B/zh active Active
-
2022
- 2022-06-14 US US17/840,498 patent/US11790150B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101405737A (zh) * | 2006-04-11 | 2009-04-08 | 国际商业机器公司 | 用于通过仿真全阵列模型中的边缘单元的操作来检验阵列性能的方法和系统 |
US8214778B2 (en) * | 2007-08-02 | 2012-07-03 | Tela Innovations, Inc. | Methods for cell phasing and placement in dynamic array architecture and implementation of the same |
CN102637689A (zh) * | 2011-02-11 | 2012-08-15 | 台湾积体电路制造股份有限公司 | 存储器边缘单元 |
Non-Patent Citations (3)
Title |
---|
GUHA NEOGI TUHIN ET AL.: ""design space analysis of novel interconnect constructs"", 《PROCEEDINGS OF SPIE》, 30 March 2017 (2017-03-30), pages 5 * |
PARK DONGWON ET AL.: ""SP&R:Simultaneous placement and routing framework for standard cell synthesis in sub-7nm"", 《PROCEEDINGS OF THE 25TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE》, 13 January 2020 (2020-01-13), pages 1 * |
SUN IK HEO ET AL.: ""diffusion break-aware leakage power optimization and detailed placement in sub-10nm VLSI"", 《PROCEEDINGS OF THE 24TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE》, 21 January 2019 (2019-01-21), pages 2 * |
Also Published As
Publication number | Publication date |
---|---|
US20220147690A1 (en) | 2022-05-12 |
US20220309223A1 (en) | 2022-09-29 |
US11790150B2 (en) | 2023-10-17 |
WO2022098911A1 (en) | 2022-05-12 |
CN116490873B (zh) | 2025-01-03 |
KR20230096987A (ko) | 2023-06-30 |
US11403454B2 (en) | 2022-08-02 |
EP4217906A1 (en) | 2023-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12175176B2 (en) | Fast synthesis of logical circuit design with predictive timing | |
US8930871B2 (en) | Methodology on developing metal fill as library device | |
CN113343613B (zh) | 考虑被不利影响的约束的工程变更命令 | |
CN116490873B (zh) | 与具有扩散中断单元的邻近的单元的放置和仿真 | |
US20220085018A1 (en) | Mixed diffusion break for cell design | |
US20230260591A1 (en) | Transforming local wire thru resistances into global distributed resistances | |
US20230110560A1 (en) | Unified framework and method for accurate context-aware timing modeling | |
US11893332B2 (en) | Global mistracking analysis in integrated circuit design | |
US11966678B2 (en) | Modelling timing behavior using augmented sensitivity data for physical parameters | |
US11531797B1 (en) | Vector generation for maximum instantaneous peak power | |
US20220171912A1 (en) | Poly-bit cells | |
US11416661B2 (en) | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow | |
US11087059B2 (en) | Clock domain crossing verification of integrated circuit design using parameter inference | |
US20230306180A1 (en) | Static timing analysis of multi-die three-dimensional integrated circuits | |
US12014127B2 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
US20240232486A1 (en) | Using surrogate netlists for variation analysis of process variations | |
US20240143878A1 (en) | Delay calculation with pattern matching for static timing analysis | |
WO2023059915A1 (en) | Unified framework and method for accurate context-aware timing modeling | |
CN117043782A (zh) | 即时生成简化的块模型视图 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |