CN108875116B - 胞元放置的方法、计算机系统及非暂时性计算机可读媒体 - Google Patents

胞元放置的方法、计算机系统及非暂时性计算机可读媒体 Download PDF

Info

Publication number
CN108875116B
CN108875116B CN201810297849.8A CN201810297849A CN108875116B CN 108875116 B CN108875116 B CN 108875116B CN 201810297849 A CN201810297849 A CN 201810297849A CN 108875116 B CN108875116 B CN 108875116B
Authority
CN
China
Prior art keywords
cell
type
metal rail
global
local
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.)
Active
Application number
CN201810297849.8A
Other languages
English (en)
Other versions
CN108875116A (zh
Inventor
林彦宏
王中兴
侯元德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN108875116A publication Critical patent/CN108875116A/zh
Application granted granted Critical
Publication of CN108875116B publication Critical patent/CN108875116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种胞元放置的方法。所述方法包括从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。由处理器将第一胞元及第二胞元放置在布局区域中,所述布局区域包括第一类型的全局金属轨条及第二类型的全局金属轨条。第一类型的全局金属轨条中的每一者及第二类型的全局金属轨条中的每一者在布局区域中彼此交替。第一胞元的第一本地金属轨条及第二本地金属轨条分别与相邻的第一类型的第一全局金属轨和第二类型的第一全局金属轨条对齐。第二胞元的第一本地金属轨条及第二本地金属轨条分别与相邻的第一类型的第二全局金属轨和第二类型的第二全局金属轨条对齐。

Description

胞元放置的方法、计算机系统及非暂时性计算机可读媒体
相关申请的交叉参考
本申请主张2017年5月15日提出申请、标题为“受约束的异质PG结构胞元放置(Constrained Placement for Heterogeneous PG-Structure Cells)”的美国临时专利申请第62/506,037号的权利,所述美国临时专利申请全文并入本文供参考。
技术领域
本揭露的实施例是有关于一种胞元放置的方法、计算机系统及非暂时性计算机可读媒体。
背景技术
电子设计自动化(electronic design automation,EDA)工具可用于集成电路(integrated circuit,IC)设计流程。举例来说,EDA工具可用于在IC布局设计中放置标准胞元(例如,用于实作逻辑功能或其他电子功能的胞元)。随着技术的提高及对按比例缩小的IC的需求的增长,EDA工具在帮助设计复杂的IC布局设计方面变得日渐重要。
发明内容
本揭露公开一种胞元放置的方法,其特征在于,包括:从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及由处理器将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
本揭露公开一种计算机系统,其特征在于,包括存储器以及处理器。存储器被配置成存储指令。处理器在执行所述指令时,被配置成实行包括以下的操作:从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
本揭露公开一种非暂时性计算机可读媒体,其特征在于,所述非暂时性计算机可读媒体上存储有指令,所述指令在由计算装置执行时使所述计算装置实行包括以下的操作:从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
附图说明
结合附图阅读以下详细说明,会最好地理解本发明的各个方面。应注意,根据本行业中的标准惯例,各种特征并非按比例绘制。事实上,为论述清晰起见,可任意增大或减小各种特征的尺寸。
图1是根据本发明一些实施例的布局区域中的示例性边界内型电源-接地(in-boundary power-ground,IBPG)胞元及边界外型电源-接地(out-boundary power-ground,OBPG)胞元的示意图。
图2是因不受约束的IBPG胞元放置方法而在布局区域中造成的示例性无效区域(dead area)的示意图。
图3是根据本发明一些实施例的使用受约束的胞元放置的IC设计流程的示例图的示意图。
图4A及图4B是根据本发明一些实施例的具有统一的电源-接地(power-ground,PG)位置的示例性IBPG胞元的示意图。
图5是根据本发明一些实施例的具有受约束取向的示例性IBPG胞元放置的示意图。
图6是根据本发明一些实施例的在布局中放置胞元的方法的示意图。
图7是根据本发明一些实施例的使用受约束的胞元放置的示例性IC设计流程的示意图。
图8A及图8B是根据本发明一些实施例的具有受约束的PG位置的示例性IBPG胞元放置的示意图。
图9是根据本发明一些实施例的在布局中放置胞元的方法的示意图。
图10是根据本发明一些实施例的可在其中实作本发明的各种实施例的示例性计算机系统的示意图。
图11是根据本发明一些实施例的基于使用受约束的IBPG胞元放置而产生的布局形成电路的工艺的示意图。
具体实施方式
以下公开内容提供用于实作所提供主题的不同特征的许多不同的实施例或实例。以下阐述组件及排列的具体实例以简化本揭露内容。这些仅为实例且不旨在进行限制。另外,本公开内容在各种实例中重复使用参考编号及/或字母。这种重复使用是出于简洁及清晰的目的且除非另外指明,否则自身并不表示所论述的各种实施例及/或配置之间的关系。
以下公开内容涉及优化IC布局设计中的标准胞元(例如,用于实作逻辑功能或其他电子功能的胞元)的放置。在一些实施例中,胞元库包括具有统一的本地金属轨条(例如,电源-接地(PG)线)位置的胞元(例如,IBPG胞元)。举例来说,对于具有统一的PG线位置的每一IBPG胞元,电源线及接地线相对于参考点的相对位置可为相同的。胞元库中的胞元被放置在其中每一胞元具有带有受约束取向的全局金属轨条(例如,PG线)的IC布局区域中。举例来说,对于具有受约束取向的每一IBPG胞元,胞元相对于参考点的相对取向可为相同的。在一些实施例中,胞元库中的胞元(例如,IBPG胞元)不需要统一的本地金属轨条位置。胞元库中的胞元被放置在其中每一胞元均具有受约束的本地金属轨条(例如,PG线)位置的IC布局区域中。通过利用本文中所公开的胞元放置方法的实施例,胞元(例如,IBPG胞元)之间的失效区域可减少或消除,此转而会优化标准胞元的放置。
图1是根据本发明一些实施例的布局区域100中的示例性边界内型电源-接地(IBPG)胞元108及边界外型电源-接地(OBPG)胞元106的示意图。布局区域100可为较大的IC布局设计(图中未示出)的一部分。布局区域100可包括并列地排列的多个全局金属轨条,包括一组第一全局金属轨条104及一组第二全局金属轨条102。第一全局金属轨条104与第二全局金属轨条102可在布局区域100中彼此交替。举例来说,如图1中所示,第二全局金属轨条102-1排列在第一全局金属轨条104-1上方,第一全局金属轨条104-1排列在另一第二全局金属轨条102-2上方。第二全局金属轨条102-2排列在另一第一全局金属轨条104-2上方。如本文中所公开,金属轨条102及104因其横跨布局区域100的整个宽度而被视为“全局的”。在一些实施例中,交替的第一全局金属轨条104与第二全局金属轨条102之间的距离(或高度)是相等的。换句话说,根据一些实施例,第一全局金属轨条104与第二全局金属轨条102之间的节距(或间距)可为均匀的(或几近均匀的)。在一些实施例中,第一全局金属轨条104中的每一者对应于(或映射到)电源线VDD,且第二全局金属轨条102中的每一者对应于(或映射到)接地线VSS。
参照图1,在布局区域100中放置多个标准胞元,包括OBPG胞元106及IBPG胞元108。在一些实施例中,标准胞元(IBPG胞元或OBPG胞元)可视所述胞元的功能性而具有不同的宽度(例如,可横跨不同数目的放置地点)。每一放置地点可具有单位宽度以供放置具有最小宽度的标准胞元。举例来说,具有低复杂性逻辑功能(例如,反相器逻辑功能)的标准胞元可占用单一放置地点,而具有中度复杂性逻辑功能(例如,彼此耦合以实行特定功能的多个逻辑门)的标准胞元可占用多个放置地点。
在一些实施例中,IBPG胞元108具有相等的(或几近相等的)高度(在所述胞元的顶边界与底边界之间测量)。所述高度可例如等于相邻的第一全局金属轨条104与第二全局金属轨条102之间的距离的两倍。即,第一全局金属轨条104与第二全局金属轨条102之间的节距可为IBPG胞元108的高度的一半。在一些实施例中,每一IBPG胞元108包括第一本地金属轨条112及第二本地金属轨条110。IBPG胞元108中的第一本地金属轨条112与第二本地金属轨条110二者可定位成与IBPG胞元108的顶边界及底边界邻近。在一些实施例中,IBPG胞元108中的第一本地金属轨条112与第二本地金属轨条110不位于IBPG胞元108的顶边界或底边界处(或IBPG胞元108的顶边界或底边界上)。如本文中所公开,当第一本地金属轨条与第二本地金属轨条位于标准胞元的顶边界及底边界内且不位于所述标准胞元的顶边界及底边界处时,所述标准胞元被视为“边界内型”。
第一本地金属轨条112及第二本地金属轨条110中的每一者可横跨IBPG胞元108的整个宽度。在一些实施例中,第一本地金属轨条112中的每一者对应于(或映射到)电源线VDD,且第二本地金属轨条110中的每一者对应于(或映射到)接地线VSS。一旦IBPG胞元108被放置在布局区域100中,则IBPG胞元108内的每一第一本地金属轨条112可与第一全局金属轨条104中的一者对齐,且IBPG胞元108内的每一第二本地金属轨条110可与第二全局金属轨条102中的一者对齐。举例来说,如图1中所示,IBPG胞元108-1的本地电源线VDD 112-1及IBPG胞元108-2的本地电源线VDD 112-2与全局电源线VDD 104-1对齐;IBPG胞元108-2的本地接地线VSS 110-2与全局接地线VSS 102-1对齐;且IBPG胞元108-1的本地接地线VSS110-1与全局接地线VSS 102-2对齐。
每一IBPG胞元108还可包括用于确定在放置之后布局区域100中的每一IBPG胞元108的取向的参考点(或原点)114。举例来说,如图1中所示,IBPG胞元108-1及108-2中的每一者在放置之后相对于各自的参考点114-1及114-2具有共同的取向,例如位于左下角处。参考点114可用于确定IBPG胞元108内的第一本地金属轨条112及第二本地金属轨条110的相对位置。举例来说,如图1中所示,对于IBPG胞元108-1,第二本地金属轨条110-1比第一本地金属轨条112-1更靠近参考点114-1;对于另一IBPG胞元108-2,第一本地金属轨条112-2比第二本地金属轨条110-2相对于参考点114-2更靠近参考点114-2。应知,由于以上所述IBPG胞元108的第一本地金属轨条112及第二本地金属轨条110的位置是相对于各自的参考点114-1或114-2的“相对位置”,因此与相对于布局区域100相反,所述相对位置与将如何在布局区域100中放置(例如,是否翻转)IBPG胞元108无关。然而,IBPG胞元108的取向是由如何在布局区域100中放置IBPG胞元108决定。
在一些实施例中,OBPG胞元106的高度可有所变化。举例来说,OBPG胞元106的高度可为相邻的第一全局金属轨条104与第二全局金属轨条102之间的距离的一倍或多倍。OBPG胞元106可包括至少两个本地金属轨条:一个或多个第一本地金属轨条,及一个或多个第二本地金属轨条。OBPG胞元106中的所述至少两个本地金属轨条中的两者可位于OBPG胞元106的顶边界及底边界处(或OBPG胞元106的顶边界及底边界上)。在一些实施例中,OBPG胞元106中的所述两个本地金属轨条不位于OBPG胞元106的顶边界及底边界内。如本文中所公开,当两个本地金属轨条位于标准胞元的顶边界及底边界处且不位于所述标准胞元的顶边界及底边界内时,所述标准胞元被视为“边界外型”。OBPG胞元106包括参考点。
参照图1,根据一些实施例,OBPG胞元106-1具有与相邻的第一全局金属轨条104和第二全局金属轨条102之间的距离相等的高度。OBPG胞元106-1包括两个本地金属轨条:分别位于顶边界及底边界处的本地电源线VDD及本地接地线VSS。另一OBPG胞元106-2具有与相邻的第一全局金属轨条104和第二全局金属轨条102之间的距离的两倍相等的高度。OBPG胞元106-2包括三个本地金属轨条:位于OBPG胞元106-2的中间处的一个本地电源线VDD,以及分别位于OBPG胞元106-2的顶边界及底边界处(或OBPG胞元106-2的顶边界及底边界上)的两个本地接地线VSS。
在一些实施例中,在放置之后具有IBPG胞元108与OBPG胞元106二者的布局区域可被视为“异质的”,且在放置之后仅具有IBPG胞元108或仅具有OBPG胞元106的布局区域被视为“同质的”。随着技术的提高及对按比例缩小的IC的需求的增长,需要将更大数目的标准胞元适配在更小的IC布局设计中,因而对IC制造商提出挑战。在一些实施例中,对于优化的IC布局设计,仅具有IBPG胞元108的同质布局区域可为所期望的。
然而,布局区域中的同质OBPG胞元可能在放置之后在IBPG胞元之间造成碎片(fragmentation),其中所述碎片可能不能够被其他胞元使用。这些无法使用的碎片(失效区域)可能妨碍EDA工具通过添加胞元或确定胞元的大小进行优化。图2是因不受约束的IBPG胞元放置方法而在布局区域200中造成的示例性无效区域208的示意图。在此实例中,布局区域200包括多个第一全局金属轨条202及多个第二全局金属轨条204。在将三个IBPG胞元206放置在布局区域200中之后,沿布局区域200的高度的相邻IBPG胞元206之间的具有一个胞元高度的间距无法被任何其他标准胞元(例如,被IBPG胞元或OBPG胞元)使用且因此被视为“失效区域”。
本发明的实例通过约束IBPG胞元放置位置来解决此问题及其他问题。作为结果,可移除在放置之后在IBPG胞元之间形成的失效区域,由此方便EDA工具在布局设计中优化地放置胞元。
图3是根据本发明一些实施例的使用受约束的胞元放置的IC设计流程300的示例图的示意图。可通过EDA工具来实行IC设计流程300。IC设计流程300包括自动放置及路由(automatic placement and routing,APR)阶段308,APR阶段308是IC的实体设计流程的一部分。在一些实施例中,APR阶段308可包括多个子阶段,包括平面布置(floor plan)310、放置312、时钟树合成(clock tree synthesis,CTS)314、路由316、及后路由(post-route)318。在一些实施例中,APR阶段308以获得输入为开始,所述输入包括IBPG胞元库302,OBPG胞元库304、及设计306(例如,寄存器传送级(register transfer level,RTL)设计)。APR阶段308的输出可包括IC布局,所述IC布局可转换成呈图形数据库系统(graphic databasesystem,GDS)格式320或任何其他适合格式(例如开放工艺图系统互换标准(open artworksystem interchange standard,OASIS)格式)的掩模作品(mask work)。
在一些实施例中,平面布置310可将IC的设计306指派给芯片的总区(grossregion),指派输入/输出(input/output,I/O)引脚,且放置大的对象(例如,阵列,核心等)。放置312可将胞元库(例如,IBPG胞元库302及/或OBPG胞元库304)中的胞元(例如,IBPG胞元及/或OBPG胞元)放置到布局区域中的非交叠位置。CTS 314可向设计中引入时钟信号导线(例如,时钟树)。路由316可添加对在放置312期间放置的胞元进行连接的导线。后路由318可包括移除性能(时间收敛(time closure))、噪声(信号完整性(signal integrity))、及成品率违例(yield violation)。在一些实施例中,后路由318还可包括基于全局路由及时钟定时优化对胞元及导线放置进行迭代精化(iterative refinement)。
参照图3,可通过向IBPG胞元库302中的IBPG胞元引入统一的PG位置及在APR阶段308中的放置期间托管IBPG胞元的受约束取向来实现受约束的IBPG胞元放置。应知,IBPG胞元放置可在放置312中进行,或在APR阶段308的任何其他适合子阶段(例如,CTS 314或后路由318)中进行。以下参照图4A到图7来阐述具有统一的PG位置及受约束取向IBPG胞元放置的IBPG胞元库302的细节。
图4A及图4B是根据本发明一些实施例的具有统一的PG位置的示例性IBPG胞元的示意图。在一些实施例中,IBPG胞元库302可包括IBPG胞元402及410,IBPG胞元402及410中的每一者相对于各自的参考点具有统一的PG位置。在一些实施例中,IBPG胞元库302可包括IBPG胞元418及426,IBPG胞元418及426中的每一者相对于各自的参考点具有统一的PG位置。在如图4A中所示的一些实施例中,对于每一IBPG胞元402或410,第一本地金属轨条(例如,接地线VSS)比第二本地金属轨条(例如,电源线VDD)更靠近各自的参考点。举例来说,对于IBPG胞元402,接地线VSS 406比电源线VDD 404更靠近参考点408;对于IBPG胞元410,接地线VSS 414比电源线VDD 412更靠近参考点416。即,每一IBPG胞元中的相对于参考点的相对PG位置在图4A中是固定的,例如电源线VDD比接地线VSS更远离所述参考点。应知,对于每一IBPG胞元,参考点及PG线的位置可有所变化。
在如图4B中所示的一些实施例中,对于每一IBPG胞元418或426,第一本地金属轨条(例如,电源线VDD)比第二本地金属轨条(例如,接地线VSS)更靠近参考点。举例来说,对于IBPG胞元418,电源线VDD 420比接地线VSS 422更靠近参考点424;对于IBPG胞元426,电源线VDD 428比接地线VSS 430更靠近参考点432。即,每一IBPG胞元中的相对于参考点的相对PG位置在图4B中是固定的,例如接地线VSS比电源线VDD更远离所述参考点。应知,对于每一IBPG胞元,参考点及PG线的位置可有所变化。
图3中的IBPG胞元库302可包括如图4A中所示的具有统一的相对PG位置的IBPG胞元或可包括如图4B中所示的具有统一的相对PG位置的IBPG胞元。换句话说,对于IBPG胞元库302中的每一IBPG胞元,第一本地金属轨条比第二本地金属轨条更靠近参考点。应知,在一些实施例中,当IBPG胞元库302中的IBPG胞元的相对PG位置随后变得不再统一时,图4A中的IBPG胞元无法与图4B中的IBPG胞元混合在一起。举例来说,图4A中的IBPG胞元402与图4B中的IBPG胞元418具有不同的相对PG位置。
图5是根据本发明一些实施例的具有受约束取向的示例性IBPG胞元放置的示意图。布局区域500可包括多个第一全局金属轨条502(例如,电源线VDD)及多个第二全局金属轨条504(例如,接地线VSS)。第一全局金属轨条502与第二全局金属轨条504可以均匀的(或几近均匀的)节距在布局区域500中彼此交替。一旦来自IBPG胞元库302的具有统一的PG位置的IBPG胞元506被放置在布局区域500中。如图4A中所示IBPG胞元402一样,IBPG胞元506-1到506-5具有相同的相对PG位置。在放置期间,对于每一IBPG胞元506,第一本地金属轨条(例如,本地电源线VDD)可与第一全局金属轨条502(例如,全局电源线VDD)中的一者对齐,且第二本地金属轨条(例如,本地接地线VSS)可与第二全局金属轨条504(例如,全局接地线VSS)中的一者对齐。此外,如图5中所示,在放置之后,每一IBPG胞元506相对于各自的参考点具有共同的取向。举例来说,IBPG胞元506的参考点位于相应的IBPG胞元506的左下角处。由于来自IBPG胞元库302的IBPG胞元506无法在放置期间垂直地(沿高度)翻转,因此这些胞元的取向受约束。
因此,根据一些实施例,通过对IBPG胞元库302中的每一IBPG胞元506的相对于参考点的相对PG位置施加约束及对在放置之后每一IBPG胞元506的相对于参考点的取向施加约束,对于每一所放置的IBPG胞元506,第一本地金属轨条(例如,本地电源线VDD)位于第二本地金属轨条(例如,本地接地线VSS)上方。应知,在一些实施例中,第一本地金属轨条可对应于接地线VSS且第二本地金属轨条可对应于电源线VDD。然而,通过确保对于每一所放置的IBPG胞元而言第一本地金属轨条位于第二本地金属轨条上方,可避免在IBPG胞元之间形成失效区域,原因是沿所述高度的IBPG胞元之间的任何空间可适配至少一个IBPG胞元。相比之下,如图2中所示,对于所放置的IBPG胞元206-2,在布局区域200中第一本地金属轨条位于第二本地金属轨条上方,而对于其他所放置的IBPG胞元206-1及206-3,在布局区域202中第二本地金属轨条位于第一本地金属轨条上方。因此,在图2中的IBPG胞元206之间会形成失效区域208。
图6是根据本发明一些实施例的在布局区域中放置胞元的方法600的示意图。可通过例如在计算机系统(例如以下参照图10所述的示例性计算机系统1000)上运行的EDA工具来实行方法600中所绘示的操作。应知,可能并不需要进行所有操作来实行本文中所提供的本发明,且应知,可实行一个或多个附加操作。此外,可同时地或以与图6中所示次序不同的次序实行所述操作中的一些操作。
在操作602中,可提供具有两种类型的全局金属轨条的IC布局。第一类型的所述多个全局金属轨条中的每一者及第二类型的所述多个全局金属轨条中的每一者可在布局区域中彼此交替。举例来说,如图5中所示,布局区域500设置有交替的电源线VDD 502与接地线VSS 504。根据一些实施例,交替的电源线VDD 502与接地线VSS 504之间的距离是相等的(或几近相等的)。
在操作604中,可获得具有带有统一的本地金属轨条位置的胞元的胞元库。每一胞元可包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。举例来说,如图4A及图4B中所示,来自IBPG胞元库302的IBPG胞元402及410或IBPG胞元418及426包括在每一IBPG胞元中相对于各自的参考点具有统一的位置的本地电源线VDD及本地接地线VSS。
在操作606中,可从胞元库中撷取胞元。EDA工具可在将胞元放置在布局区域中之前从胞元库中自动地或通过手动指令撷取所述胞元。
在操作608中,可将胞元放置在其中每一胞元具有受约束取向的布局区域中。具体来说,每一所放置的胞元可相对于各自的参考点具有共同的取向。举例来说,如图5中所示,每一所放置的IBPG胞元506相对于各自的参考点具有共同的取向。
作为方法600的结果,对于所放置的胞元中的第一胞元及第二胞元,(i)第一胞元的第一本地金属轨条与第一类型的第一全局金属轨条对齐;(ii)第一胞元的第二本地金属轨条与第二类型的第一全局金属轨条对齐,其中第二类型的所述第一全局金属轨条与第一类型的所述第一全局金属轨条相邻;(iii)第二胞元的第一本地金属轨条与第一类型的第二全局金属轨条对齐,其中第一类型的所述第二全局金属轨条与第二类型的第一全局金属轨条相邻;以及(iv)第二胞元的第二本地金属轨条与第二类型的第二全局金属轨条对齐,其中第二类型的所述第二全局金属轨条与第一类型的第二全局金属轨条相邻。举例来说,如图5中所示,第一IBPG胞元506-1的本地电源线VDD与全局电源线VDD 502-2对齐;第一IBPG胞元506-1的本地接地线VSS与和全局电源线VDD 502-2相邻的全局接地线VSS 504-2对齐;第二IBPG胞元506-2的本地电源线VDD与和全局接地线VSS 504-2相邻的全局电源线VDD 502-3对齐;第二IBPG胞元506-2的本地接地线VSS与和全局电源线VDD 502-3相邻的全局接地线VSS 504-3对齐。
图7是根据本发明一些实施例的使用受约束的胞元放置的另一IC设计流程700的示例图的示意图。IC设计流程700可通过EDA工具来实行。IC设计流程700包括APR阶段708,APR阶段708是IC的实体设计流程的一部分。在一些实施例中,APR阶段708可包括多个子阶段,包括平面布置710、放置712、CTS 714、路由716、及后路由718。在一些实施例中,APR阶段708以获得输入为开始,所述输入包括IBPG胞元库702,OBPG胞元库704、及设计706(例如,RTL设计)。APR阶段708的输出可包括IC布局,所述IC布局可转换成呈GDS格式720或任何其他适合格式(例如OASIS格式)的掩模作品。
在一些实施例中,平面布置710可将IC的设计706指派给芯片的总区,指派I/O引脚,且放置大的对象(例如,阵列,核心等)。放置712可将胞元库(例如,IBPG胞元库702及/或OBPG胞元库704)中的胞元(例如,IBPG胞元及/或OBPG胞元)放置到布局区域中的非交叠位置。CTS 714可向设计中引入时钟信号导线(例如,时钟树)。路由716可添加对在放置712期间放置的胞元进行连接的导线。后路由718可包括移除性能(时间收敛)、噪声(信号完整性)、及成品率违例。在一些实施例中,后路由718还可包括基于全局路由及时钟定时优化对胞元及导线放置进行迭代精化。
IC设计流程700的受约束的IBPG胞元放置可在不使IBPG胞元库702中的PG位置统一的条件下实现。在一些实施例中,IBPG胞元库702中的每一IBPG胞元的PG位置可在放置期间受约束。应知,IBPG胞元放置可在放置712中进行,或在APR阶段708的任何其他适合子阶段(例如,CTS 714或后路由718)中进行。以下参照图8A及图9来阐述受约束PG位置IBPG胞元放置的细节。
图8A及图8B是根据本发明一些实施例的具有受约束的PG位置的示例性IBPG胞元放置的示意图。在图8A中,IBPG胞元806可不相对于每一IBPG胞元806各自的参考点具有统一的相对本地金属轨条位置。相似地,在图8B中,IBPG胞元808可不相对于每一IBPG胞元808各自的参考点具有统一的相对本地金属轨条位置。即,可将具有带有和对应全局金属轨条匹配的恰当本地金属轨条的标准IBPG胞元的任何IBPG胞元库放置在图8A及图8B中的布局区域800中。
图8A及图8B中的布局区域800可包括多个第一全局金属轨条802(例如,电源线VDD)及多个第二全局金属轨条804(例如,接地线VSS)。第一全局金属轨条802与第二全局金属轨条804可以均匀的(或几近均匀的)节距在布局区域800中彼此交替。参照图8A,一旦来自IBPG胞元库702的IBPG胞元806被放置在布局区域800中,则对于每一IBPG胞元806,第一本地金属轨条(例如,本地电源线VDD)可与第一全局金属轨条(例如,全局电源线VDD)中的一者对齐,且第二本地金属轨条(例如,本地接地线VSS)可与第二全局金属轨条(例如,全局接地线VSS)中的一者对齐。此外,如图8A中所示,在放置之后,对于每一IBPG胞元806,第一本地金属轨条(例如,本地电源线VDD)位于第二本地金属轨条(例如,本地接地线VSS)上方。即,所述放置对每一IBPG胞元806施加统一的本地金属轨条位置(例如,在放置之后,一种类型的本地金属轨条位于另一种类型的本地金属轨条上方)。
相似地,在图8B中,所述放置还对每一IBPG胞元808施加统一的本地金属轨条位置。与图8A中的IBPG胞元806不同,在图8B中,在放置之后,对于每一IBPG胞元808,第一本地金属轨条(例如,本地接地线VSS)位于第二本地金属轨条(例如,本地电源线VDD)上方。然而,通过确保对于每一所放置的IBPG胞元而言第一本地金属轨条位于第二本地金属轨条上方,可避免在IBPG胞元之间形成失效区域,原因是沿所述高度的IBPG胞元之间的任何空间可适配至少一个IBPG胞元。相比之下,如图2中所示,对于所放置的IBPG胞元206-2,在布局区域200中第一本地金属轨条位于第二本地金属轨条上方,而对于其他所放置的IBPG胞元206-1及206-3,在布局区域202中第二本地金属轨条位于第一本地金属轨条上方。因此,在图2中的IBPG胞元206之间会形成失效区域208。
图9是根据本发明一些实施例的在布局中放置胞元的方法900的示意图。可通过例如在计算机系统(例如以下参照图10所述的示例性计算机系统1000)上运行的EDA工具来实行方法900中所绘示的操作。应知,可能并不需要进行所有操作来实行本文中所提供的本发明,且应知,可实行一个或多个附加操作。此外,可同时地或以与图9中所示次序不同的次序实行所述操作中的一些操作。
在操作902中,可提供具有两种类型的全局金属轨条的IC布局。第一类型的所述多个全局金属轨条中的每一者及第二类型的所述多个全局金属轨条中的每一者可在布局区域中彼此交替。举例来说,如图8A及图8B中所示,布局区域800设置有交替的电源线VDD 802与接地线VSS 804。根据一些实施例,交替的电源线VDD 802与接地线VSS 804之间的距离是相等的(或几近相等的)。
在操作904中,可获得具有标准胞元的胞元库。每一胞元可包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。举例来说,如图8A及图8B中所示,来自IBPG胞元库702的IBPG胞元806及808不需要相对于各自的参考点具有统一的本地金属轨条位置。
在操作906中,可从胞元库中撷取胞元。EDA工具可在将胞元放置在布局区域中之前从胞元库中自动地或通过手动指令撷取所述胞元。
在操作908中,可将胞元放置在其中每一胞元具有受约束的本地金属轨条位置的布局区域中。具体来说,每一所放置的胞元可具有共同的本地金属轨条位置。举例来说,如图8A中所示,对于每一所放置的IBPG胞元806,本地电源线VDD位于本地接地线VSS上方;如图8B中所示,对于每一所放置的IBPG胞元808,本地接地线VSS位于本地电源线VDD上方。
作为方法900的结果,对于所放置的胞元中的第一胞元及第二胞元,(i)第一胞元的第一本地金属轨条与第一类型的第一全局金属轨条对齐;(ii)第一胞元的第二本地金属轨条与第二类型的第一全局金属轨条对齐,其中第二类型的所述第一全局金属轨条与第一类型的所述第一全局金属轨条相邻;(iii)第二胞元的第一本地金属轨条与第一类型的第二全局金属轨条对齐,其中第一类型的所述第二全局金属轨条与第二类型的第一全局金属轨条相邻;以及(iv)第二胞元的第二本地金属轨条与第二类型的第二全局金属轨条对齐,其中第二类型的所述第二全局金属轨条与第一类型的第二全局金属轨条相邻。举例来说,如图8A中所示,第一IBPG胞元806-1的本地电源线VDD与全局电源线VDD 802-2对齐;第一IBPG胞元806-1的本地接地线VSS与和全局电源线VDD 802-2相邻的全局接地线VSS 804-2对齐;第二IBPG胞元806-2的本地电源线VDD与和全局接地线VSS 804-2相邻的全局电源线VDD 802-3对齐;第二IBPG胞元806-2的本地接地线VSS与和全局电源线VDD 802-3相邻的全局接地线VSS 804-3对齐。
图10是根据一些实施例的可在其中实作本发明的各种实施例的示例性计算机系统1000的示意图。计算机系统1000可为能够实行本文中所述功能及操作的任何众所熟知的计算机。举例来说(且无限制),计算机系统1000可能够使用例如EDA工具在IC布局设计中放置标准胞元。计算机系统1000可用于例如执行方法600及900中的一个或多个操作,方法600及900阐述在布局中放置胞元的示例性方法。
计算机系统1000包括一个或多个处理器(也称为中央处理器(centralprocessing unit)或CPU),例如处理器1004。处理器1004连接到通信基础设施或总线1006。计算机系统1000还包括例如经由输入/输出接口1002与通信基础设施或总线1006进行通信的输入/输出装置1003,例如监视器、键盘、指针装置(pointing device)等。EDA工具可经由输入/输出装置1003来接收用于实作本文中所述功能及操作(例如,图6所示方法600及图9所示方法900)的指令。计算机系统1000还包括主或主要存储器(main or primary memory)1008,例如随机存取存储器(random access memory,RAM)。主存储器1008可包括一个或多个缓存级。主存储器1008中存储有控制逻辑(例如,计算机软件)及/或数据。在一些实施例中,控制逻辑(例如,计算机软件)及/或数据可包括以上参照图6所示方法600及图9所示方法900所述的操作中的一者或多者。
计算机系统1000还可包括一个或多个辅助存储装置或存储器1010。辅助存储器1010可包括例如硬盘驱动1012及/或可移除存储装置或驱动1014。可移除存储装置1014可为软盘驱动、磁带驱动、光盘驱动、光学存储装置、磁带备份装置、及/或任何其他存储装置/驱动。
可移除存储驱动1014可与可移除存储单元1018交互作用。可移除存储单元1018包括其上存储有计算机软件(控制逻辑)及/或数据的计算机可用存储装置或计算机可读存储装置。可移除存储单元1018可为软盘、磁带、光盘、DVD、光学存储盘、及/或任何其他计算机数据存储装置。可移除存储驱动1014以众所熟知的方式从可移除存储单元1018进行读取及/或向可移除存储单元1018进行写入。
根据一些实施例,辅助存储器1010可包括其他方式、手段、或其他途径来使得计算机程序及/或其他指令及/或数据能够被计算机系统1000存取。此种方式、手段、或其他途径可包括例如可移除存储单元1022及接口1020。可移除存储单元1022及接口1020的实例可包括程序盒(program cartridge)及盒式接口(cartridge interface)(例如见于视频游戏装置中)、可移除存储芯片(例如,可擦可编程只读存储器(erasable programmable readonly memory,EPROM)或可编程只读存储器(programmable read only memory,PROM))及相关联插座、存储条及通用串行总线(universal serial bus,USB)端口、存储卡及相关联存储卡槽、及/或任何其他可移除存储单元及相关联接口。在一些实施例中,辅助存储器1010、可移除存储单元1018、及/或可移除存储单元1022可包括以上参照图6所示方法600及图9所示方法900所述的操作中的一者或多者。
计算机系统1000还可包括通信或网络接口1024。通信接口1024能够使计算机系统1000与远程装置、远程网络、远程实体等(通过参考编号1028来各别地及笼统地引用)的任意组合进行通信及交互作用。举例来说,通信接口1024可使得计算机系统1000能够经由通信路径1026与远程装置1028进行通信,通信路径1026可为有线的及/或无线的且可包括局域网(local area network,LAN)、广域网(wide area network,WAN)、互联网等的任意组合。控制逻辑及/或数据可经由通信路径1026而往来于计算机系统1000进行传输。
前面的实施例中的操作可在各种各样的配置及架构中实作。因此,前面的实施例(例如,图6所示方法600及图9所示方法900)中的操作中的一些操作或所有操作可在硬件中、软件中、或硬件与软件二者中实行。在一些实施例中,包括其上存储有控制逻辑(软件)的有形计算机可用或可读媒体的有形设备或制品在本文中也称为计算机程序产品或程序存储装置。此包括但不限于计算机系统1000、主存储器1008、辅助存储器1010以及可移除存储单元1018及1022、以及使用前述者的任意组合的有形制品。如本文中所述,此种控制逻辑在由一个或多个数据处理装置(例如计算机系统1000)执行时使此种数据处理装置进行操作。
图11是根据本发明一些实施例的进行电路制作的示例性方法1100的示意图。在一些实施例中,可以不同次序实行方法1100的操作。方法1100的变型也应处于本发明的范围内。
在操作1102中,提供IC布局。IC布局可为由以上图3、图6、图7、及图9提供的布局。IC布局可被实施为任何适合的文件格式,例如但不限于GDS或OASIS格式。举例来说,可检查IC布局是否存在设计规则违例及错误,且确认所述错误及/或违例已经过修正。可通过例如在计算机系统(例如以上所述计算机系统1000)上运行的EDA工具来实行1102中所绘示的操作。
在操作1104中,基于IC布局形成光掩模,例如实施成GDS文件。在一些实施例中,将操作1102中所提供的IC布局用于下线操作(tape-out operation)来产生用于制作一个或多个集成电路的光掩模。在一些实施例中,可将IC布局读取及转移到石英衬底或玻璃衬底上以形成与电路布局对应的不透明图案。不透明图案可由例如铬或任何其他适合的金属制成。可由光掩模制造商来实行操作1104,其中使用适合的软件工具(例如,EDA工具)读取电路布局且使用适合的印刷/沉积工具将所述电路布局转移到衬底上。光掩模反映IC布局文件(例如GDS文件)中所包括的电路布局/特征。
在操作1106中,基于在操作1104中产生的光掩模形成一个或多个电路。在一些实施例中,使用光掩模来形成IC布局中所含有的电路的图案/结构。在一些实施例中,使用各种制作工具(例如,光刻装备、沉积装备、及刻蚀装备)来形成所述一个或多个电路的特征。
所公开实施例涉及优化IC布局设计中的标准胞元(例如,用于实作逻辑功能或其他电子功能的胞元)的放置。在一些实施例中,胞元库包括具有统一的金属轨条(例如,PG线)位置的胞元(例如,IBPG胞元)。胞元库中的胞元被放置在其中每一胞元具有带有受约束定位的金属轨条(例如,PG线)的IC布局区域中。在一些实施例中,胞元库中的胞元(例如,IBPG胞元)不需要统一的金属轨条位置。胞元库中的胞元被放置在其中每一胞元具有受约束的金属轨条(例如,PG线)位置的IC布局区域中。通过利用本文中所公开的胞元放置方法,胞元(例如,IBPG胞元)之间的失效区域可减少或消除,此转而会优化IC布局设计中的标准胞元的放置。
本发明的实施例阐述一种进行胞元放置的方法。所述方法包括从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。所述方法还包括由处理器将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的全局金属轨条及第二类型的全局金属轨条。所述第一类型的全局金属轨条中的每一者及所述第二类型的全局金属轨条中的每一者在所述布局区域中彼此交替。所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐。所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐。所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻。所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐。所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻。所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐。所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
在一些实施例中,所述第一胞元及所述第二胞元中的每一者包括参考点;对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。在一些实施例中,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的定位。在一些实施例中,所述第一类型的所述多个全局金属轨条中的每一者对应于电源线;且所述第二类型的所述多个全局金属轨条中的每一者对应于接地线。在一些实施例中,所述第一类型的所述多个全局金属轨条中的每一者对应于接地线;且所述第二类型的所述多个全局金属轨条中的每一者对应于电源线。在一些实施例中,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。在一些实施例中,所述第一胞元及所述第二胞元中的每一者在各自的所述顶边界与所述底边界之间测量的高度相等;且所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者具有彼此相等的距离。在一些实施例中,对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条与所述第二本地金属轨条之间的距离等于所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者之间的距离。
本发明的实施例阐述一种具有存储器及处理器的计算机系统。所述存储器被配置成存储指令。在执行所述指令时,所述处理器被配置成实行操作,所述操作包括:从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。所述操作还包括:将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的全局金属轨条及第二类型的全局金属轨条。所述第一类型的全局金属轨条中的每一者及所述第二类型的全局金属轨条中的每一者在所述布局区域中彼此交替。所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐。所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐。所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻。所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐。所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻。所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐。所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
在一些实施例中,所述第一胞元及所述第二胞元中的每一者包括参考点。对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。在一些实施例中,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的取向。在一些实施例中,所述第一类型的所述多个全局金属轨条中的每一者对应于电源线;且所述第二类型的所述多个全局金属轨条中的每一者对应于接地线。在一些实施例中,所述第一类型的所述多个全局金属轨条中的每一者对应于接地线;且所述第二类型的所述多个全局金属轨条中的每一者对应于电源线。在一些实施例中,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。在一些实施例中,所述第一胞元及所述第二胞元中的每一者在各自的所述顶边界与所述底边界之间测量的高度相等;且所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者具有彼此相等的距离。在一些实施例中,对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条与所述第二本地金属轨条之间的距离等于所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者之间的距离。
本发明的实施例阐述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体上存储有指令,所述指令在由计算装置执行时使所述计算装置实行操作。所述操作包括:从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条。所述操作还包括:将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的全局金属轨条及第二类型的全局金属轨条。所述第一类型的全局金属轨条中的每一者及所述第二类型的全局金属轨条中的每一者在所述布局区域中彼此交替。所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐。所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐。所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻。所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐。所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻。所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐。所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
在一些实施例中,所述第一胞元及所述第二胞元中的每一者包括参考点。对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。在一些实施例中,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的取向。在一些实施例中,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。
应理解,具体实施方式部分而非说明书摘要部分旨在用于解释权利要求书。说明书摘要部分可述及由本发明人所设想的本公开的一个或多个实施例而非所有可能的实施例,且因此,并不旨在以任何方式限制随附权利要求书。
以上公开概述了若干实施例的特征,以使所属领域中的技术人员可更好地理解本发明的各个方面。所属领域中的技术人员应知,其可容易地使用本发明作为设计或修改其他工艺及结构的基础来施行本文中所公开的实施例的目的及/或实现本文中所公开的实施例的优点。所属领域中的技术人员还应认识到此种等效构造并不背离本发明的精神及范围,以及他们可在不背离本发明的精神及范围的条件下对其做出各种改变、替代及变更。
[符号的说明]
100、200、500、800:布局区域
102-1、102-2:第二全局金属轨条/全局接地线VSS
104-1:第一全局金属轨条/全局电源线VDD
104-2:第一全局金属轨条
106-1、106-2:OBPG胞元
108-1、108-2、402、410、418、426、506-1、506-2、506-3、506-4、506-5:IBPG胞元
110-1、110-2:本地接地线VSS/第二本地金属轨条
112-1、112-2:本地电源线VDD/第一本地金属轨条
114-1、114-2、408、416、424、432:参考点
300、700:IC设计流程
302、702:IBPG胞元库
304、704:OBPG胞元库
306、706:设计
308、708:自动放置及路由(APR)阶段
310、710:平面布置
312、712:放置
314、714:时钟树合成(CTS)
316、716:路由
318、718:后路由
320、720:图形数据库系统(GDS)格式
404、412、420、428:电源线VDD
406、414、422、430:接地线VSS
502-2、502-3、802-2、802-3:全局电源线VDD
504-2、504-3、804-2、804-3:全局接地线VSS
600、900、1100:方法
602、604、606、608、902、904、906、908、1102、1104、1106:操作
806-1:第一IBPG胞元
806-2:第二IBPG胞元
1000:计算机系统
1002:输入/输出接口
1003:输入/输出装置
1004:处理器
1006:通信基础设施/总线
1008:主存储器/主要存储器
1010:辅助存储装置/辅助存储器
1012:硬盘驱动
1014:可移除存储装置/可移除存储驱动
1018、1022:可移除存储单元
1020:接口
1024:通信接口/网络接口
1026:通信路径
1028:远程装置
VDD:电源线
VSS:接地线

Claims (20)

1.一种胞元放置的方法,其特征在于,包括:
从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及
由处理器将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:
所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;
所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;
所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且
所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
2.根据权利要求1所述的方法,其特征在于,
所述第一胞元及所述第二胞元中的每一者包括参考点;
对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。
3.根据权利要求2所述的方法,其特征在于,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的定位。
4.根据权利要求1所述的方法,其特征在于,
所述第一类型的所述多个全局金属轨条中的每一者对应于电源线;且
所述第二类型的所述多个全局金属轨条中的每一者对应于接地线。
5.根据权利要求1所述的方法,其特征在于,
所述第一类型的所述多个全局金属轨条中的每一者对应于接地线;且
所述第二类型的所述多个全局金属轨条中的每一者对应于电源线。
6.根据权利要求1所述的方法,其特征在于,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。
7.根据权利要求1所述的方法,其特征在于,
所述第一胞元及所述第二胞元中的每一者在各自的所述顶边界与所述底边界之间测量的高度相等;且
所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者具有彼此相等的距离。
8.根据权利要求7所述的方法,其特征在于,对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条与所述第二本地金属轨条之间的距离等于所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者之间的距离。
9.一种计算机系统,其特征在于,包括:
存储器,被配置成存储指令;以及
处理器,所述处理器在执行所述指令时,被配置成实行包括以下的操作:
从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及
将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:
所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;
所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;
所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且
所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
10.根据权利要求9所述的计算机系统,其特征在于,
所述第一胞元及所述第二胞元中的每一者包括参考点;
对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。
11.根据权利要求10所述的计算机系统,其特征在于,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的取向。
12.根据权利要求9所述的计算机系统,其特征在于,
所述第一类型的所述多个全局金属轨条中的每一者对应于电源线;且
所述第二类型的所述多个全局金属轨条中的每一者对应于接地线。
13.根据权利要求9所述的计算机系统,其特征在于,
所述第一类型的所述多个全局金属轨条中的每一者对应于接地线;且
所述第二类型的所述多个全局金属轨条中的每一者对应于电源线。
14.根据权利要求9所述的计算机系统,其特征在于,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。
15.根据权利要求9所述的计算机系统,其特征在于,
所述第一胞元及所述第二胞元中的每一者在各自的所述顶边界与所述底边界之间测量的高度相等;且
所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者具有彼此相等的距离。
16.根据权利要求15所述的计算机系统,其特征在于,对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条与所述第二本地金属轨条之间的距离等于所述布局区域中的所述第一类型的所述全局金属轨条及所述第二类型的所述全局金属轨条中的每一者之间的距离。
17.一种非暂时性计算机可读媒体,其特征在于,所述非暂时性计算机可读媒体上存储有指令,所述指令在由计算装置执行时使所述计算装置实行包括以下的操作:
从胞元库中撷取第一胞元及第二胞元,所述第一胞元及所述第二胞元各自包括与顶边界邻近的第一本地金属轨条及与底边界邻近的第二本地金属轨条;以及
将所述第一胞元及所述第二胞元放置在布局区域中,所述布局区域包括第一类型的多个全局金属轨条及第二类型的多个全局金属轨条,所述第一类型的所述多个全局金属轨条中的每一者及所述第二类型的所述多个全局金属轨条中的每一者在所述布局区域中彼此交替,其中:
所述第一胞元的所述第一本地金属轨条与所述第一类型的第一全局金属轨条对齐;
所述第一胞元的所述第二本地金属轨条与所述第二类型的第一全局金属轨条对齐,其中所述第二类型的所述第一全局金属轨条与所述第一类型的所述第一全局金属轨条相邻;
所述第二胞元的所述第一本地金属轨条与所述第一类型的第二全局金属轨条对齐,其中所述第一类型的所述第二全局金属轨条与所述第二类型的所述第一全局金属轨条相邻;且
所述第二胞元的所述第二本地金属轨条与所述第二类型的第二全局金属轨条对齐,其中所述第二类型的所述第二全局金属轨条与所述第一类型的所述第二全局金属轨条相邻。
18.根据权利要求17所述的非暂时性计算机可读媒体,其特征在于,
所述第一胞元及所述第二胞元中的每一者包括参考点;
对于所述第一胞元及所述第二胞元中的每一者,所述第一本地金属轨条比所述第二本地金属轨条更靠近所述参考点。
19.根据权利要求18所述的非暂时性计算机可读媒体,其特征在于,在所述放置之后,所述第一胞元及所述第二胞元中的每一者相对于各自的所述参考点具有共同的取向。
20.根据权利要求17所述的非暂时性计算机可读媒体,其特征在于,对于所述第一胞元及所述第二胞元中的每一者,所述顶边界与所述底边界之间的高度等于所述第一本地金属轨条与所述第二本地金属轨条之间的距离的两倍。
CN201810297849.8A 2017-05-15 2018-04-03 胞元放置的方法、计算机系统及非暂时性计算机可读媒体 Active CN108875116B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762506037P 2017-05-15 2017-05-15
US62/506,037 2017-05-15
US15/878,818 US10565341B2 (en) 2017-05-15 2018-01-24 Constrained cell placement
US15/878,818 2018-01-24

Publications (2)

Publication Number Publication Date
CN108875116A CN108875116A (zh) 2018-11-23
CN108875116B true CN108875116B (zh) 2022-11-29

Family

ID=64097240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810297849.8A Active CN108875116B (zh) 2017-05-15 2018-04-03 胞元放置的方法、计算机系统及非暂时性计算机可读媒体

Country Status (3)

Country Link
US (2) US10565341B2 (zh)
CN (1) CN108875116B (zh)
TW (1) TWI696930B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439861B1 (ko) * 2018-02-14 2022-09-02 삼성전자주식회사 반도체 칩을 제조하기 위한 전자 장치 및 방법
KR20220050267A (ko) 2020-10-15 2022-04-25 삼성전자주식회사 반도체 소자

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3742499A (en) * 1998-04-02 1999-10-25 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
CN1585110A (zh) * 2003-08-21 2005-02-23 川崎微电子股份有限公司 形成半导体集成电路布局结构的方法、布局结构及光掩模
TW200935231A (en) * 2008-02-08 2009-08-16 Cadence Design Systems Inc Method and system for implementing abstract layout structures with parameterized cells
TW201627893A (zh) * 2014-10-22 2016-08-01 三星電子股份有限公司 積體電路及其布局設計方法
CN106531203A (zh) * 2010-10-08 2017-03-22 高通股份有限公司 具有均匀图案的磁性随机存取存储器(mram)布局

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938226B2 (en) 2003-01-17 2005-08-30 Infineon Technologies Ag 7-tracks standard cell library
US7259979B2 (en) * 2005-10-28 2007-08-21 Texas Instruments Incorporated Area efficient stacked TCAM cell for fully parallel search
US9563733B2 (en) 2009-05-06 2017-02-07 Tela Innovations, Inc. Cell circuit and layout with linear finfet structures
JP5198785B2 (ja) * 2007-03-30 2013-05-15 ルネサスエレクトロニクス株式会社 半導体装置
US8230375B2 (en) * 2008-09-14 2012-07-24 Raminda Udaya Madurawe Automated metal pattern generation for integrated circuits
US8513978B2 (en) * 2011-03-30 2013-08-20 Synopsys, Inc. Power routing in standard cell designs
US8694945B2 (en) * 2011-12-20 2014-04-08 Taiwan Semiconductor Manufacturing Co., Ltd. Automatic place and route method for electromigration tolerant power distribution
US20130285049A1 (en) * 2012-04-27 2013-10-31 Semiconductor Energy Laboratory Co., Ltd. Standard cell and semiconductor integrated circuit
US9559040B2 (en) * 2013-12-30 2017-01-31 International Business Machines Corporation Double-sided segmented line architecture in 3D integration
US9984191B2 (en) 2014-08-29 2018-05-29 Taiwan Semiconductor Manufacturing Company Cell layout and structure
US9589811B2 (en) 2015-06-24 2017-03-07 Varian Semiconductor Equipment Associates, Inc. FinFET spacer etch with no fin recess and no gate-spacer pull-down
US9846759B2 (en) * 2015-07-30 2017-12-19 Taiwan Semiconductor Manufacturing Company, Ltd. Global connection routing method and system for performing the same
US9846757B2 (en) * 2015-09-02 2017-12-19 Taiwan Semiconductor Manufacturing Co., Ltd. Cell grid architecture for FinFET technology
US10163880B2 (en) * 2016-05-03 2018-12-25 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit and method of fabricating the same
US20170338215A1 (en) * 2016-05-20 2017-11-23 Qualcomm Incorporated Heterogeneous cell array
US10127340B2 (en) * 2016-09-30 2018-11-13 Taiwan Semiconductor Manufacturing Company, Ltd. Standard cell layout, semiconductor device having engineering change order (ECO) cells and method
KR20180075218A (ko) * 2016-12-26 2018-07-04 에스케이하이닉스 주식회사 메모리 수리 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3742499A (en) * 1998-04-02 1999-10-25 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
CN1585110A (zh) * 2003-08-21 2005-02-23 川崎微电子股份有限公司 形成半导体集成电路布局结构的方法、布局结构及光掩模
TW200935231A (en) * 2008-02-08 2009-08-16 Cadence Design Systems Inc Method and system for implementing abstract layout structures with parameterized cells
CN106531203A (zh) * 2010-10-08 2017-03-22 高通股份有限公司 具有均匀图案的磁性随机存取存储器(mram)布局
TW201627893A (zh) * 2014-10-22 2016-08-01 三星電子股份有限公司 積體電路及其布局設計方法

Also Published As

Publication number Publication date
US10565341B2 (en) 2020-02-18
CN108875116A (zh) 2018-11-23
US20180330034A1 (en) 2018-11-15
US20200082046A1 (en) 2020-03-12
TWI696930B (zh) 2020-06-21
US11176303B2 (en) 2021-11-16
TW201911089A (zh) 2019-03-16

Similar Documents

Publication Publication Date Title
US8984465B1 (en) Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design
US8887117B1 (en) Register clustering for clock network topology generation
US11163932B2 (en) Semiconductor process modeling to enable skip via in place and route flow
US10956643B2 (en) Method, system, and storage medium of resource planning for designing semiconductor device
US9734272B2 (en) Techniques for generating physical layouts of in silico multi mode integrated circuits
CN108875116B (zh) 胞元放置的方法、计算机系统及非暂时性计算机可读媒体
US20210209281A1 (en) Method and system for improving propagation delay of conductive line
US10360342B2 (en) Method, system, and storage medium for engineering change order scheme in circuit design
KR102717096B1 (ko) 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법
US9104830B1 (en) Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design
US10354037B1 (en) Methods, systems, and computer program product for implementing an electronic design by manipulating a hierarchical structure of the electronic design
US20230237236A1 (en) Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same
US10474038B2 (en) Method, system, and storage medium for resolving coloring conflict in multi-patterning lithography
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
US9293450B2 (en) Synthesis of complex cells
US20230267261A1 (en) Design system, design method and method of manufacture of semiconductor device
US20240193340A1 (en) Method and system for designing layout of integrated circuit
Melikyan Design of Digital Integrated Circuits by Improving the Characteristics of Digital Cells

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
TG01 Patent term adjustment
TG01 Patent term adjustment