CN116894417A - 用于设计集成电路的单元库和计算系统 - Google Patents

用于设计集成电路的单元库和计算系统 Download PDF

Info

Publication number
CN116894417A
CN116894417A CN202310348186.9A CN202310348186A CN116894417A CN 116894417 A CN116894417 A CN 116894417A CN 202310348186 A CN202310348186 A CN 202310348186A CN 116894417 A CN116894417 A CN 116894417A
Authority
CN
China
Prior art keywords
standard cell
transistor
standard
delay
variation
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
Application number
CN202310348186.9A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116894417A publication Critical patent/CN116894417A/zh
Pending legal-status Critical Current

Links

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
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • 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/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/12Sizing, e.g. of transistors or gates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Read Only Memory (AREA)

Abstract

提供了单元库和计算系统。所述单元库存储在计算机可读存储介质中。所述单元库被配置为存储:根据标准单元中包括的晶体管的阈值电压的所述标准单元的第一延迟信息;以及根据所述标准单元中包括的所述晶体管的迁移率的所述标准单元的第二延迟信息。

Description

用于设计集成电路的单元库和计算系统
相关申请的交叉引用
本申请要求于2022年4月7日在韩国知识产权局提交的韩国专利申请No.10-2022-0043612的优先权,其公开内容通过引用整体合并于此。
技术领域
本公开涉及单元库、用于通过考虑局部布局效应来设计集成电路的计算系统和用于设计集成电路的方法。可以以标准单元为基础(即,基于标准单元)来设计集成电路。具体地,可以通过布设定义集成电路的标准单元并且对布设的标准单元进行布线来生成集成电路的布局(layout)。
背景技术
随着半导体工艺的小型化,包括形成在多个层中的图案的标准单元不仅会包括减小尺寸的图案,而且标准单元的尺寸会减小。因此,包括在集成电路中的标准单元可能受到其外围结构(即,布局)的极大影响,并且这种外围布局的影响可以被称为局部布局效应(LLE)或布局依赖效应(LDE)。
发明内容
本公开的各方面提供了一种单元库,所述单元库存储根据标准单元的晶体管的阈值电压的变化量的标准单元的延迟的变化量和根据标准单元的晶体管的迁移率的变化量的标准单元的延迟的变化量。
本公开的各方面还提供了一种用于设计集成电路的计算系统,所述计算系统能够分析集成电路的时序,而不管局部布局效应的类型如何。
本公开的各方面还提供了一种用于设计集成电路的方法,所述方法能够分析集成电路的时序,而不管局部布局效应的类型如何。
根据本公开的一些实施例,一种单元库存储在计算机可读存储介质中,其中,所述单元库被配置为存储:根据标准单元中包括的晶体管的阈值电压的所述标准单元的第一延迟信息;以及根据所述标准单元中包括的所述晶体管的迁移率的所述标准单元的第二延迟信息。
根据本公开的一些实施例,一种计算系统包括:存储器,所述存储器被配置为存储设计集成电路的程序,所述集成电路包括标准单元,所述标准单元包括晶体管;以及处理器。所述处理器被配置为运行所述程序以:接收所述标准单元的输入数据;测量根据所述晶体管的阈值电压的变化量的所述标准单元的第一延迟的变化量;测量根据所述晶体管的迁移率的变化量的所述标准单元的第二延迟的变化量;以及将所述第一延迟的所述变化量和所述第二延迟的所述变化量存储在单元库中。
根据本公开的一些实施例,一种计算系统包括:存储器,所述存储器被配置为存储用于设计集成电路的程序;以及处理器,所述处理器被配置为运行所述程序以:对定义所述集成电路的多个标准单元进行布设和布线,以生成所述集成电路的布局数据;以及使用所述多个标准单元中的每个标准单元的根据该标准单元中包括的晶体管的阈值电压的变化量的延迟的变化量和所述多个标准单元中的每个标准单元的根据该标准单元中包括的所述晶体管的迁移率的变化量的延迟的变化量,来计算所述集成电路的延迟。
根据本公开的一些实施例,一种用于设计集成电路的方法包括:接收包括晶体管的标准单元的输入数据;将所述晶体管的阈值电压和所述晶体管的迁移率作为变量添加到所述输入数据;改变所述变量,并且使用改变后的变量来测量根据所述晶体管的阈值电压的变化量的所述标准单元的延迟的第一变化量和根据所述晶体管的迁移率的变化量的所述标准单元的延迟的第二变化量;以及将所述延迟的所述第一变化量和所述第二变化量存储在单元库中。
然而,本公开的各方面不限于上面阐述的那些方面。通过参考下面给出的本公开的详细描述,本公开的以上和其他方面对于本公开所属领域的普通技术人员将变得更加清楚。
附图说明
通过参考附图详细描述本公开的示例实施例,本公开的以上以及其他方面和特征将变得更加清楚,在附图中:
图1是用于说明根据一些实施例的用于设计集成电路的计算系统的图;
图2是用于说明根据一些实施例的用于设计集成电路的方法的图;
图3是用于说明根据一些实施例的用于设计集成电路的方法的流程图;
图4是用于说明图3的步骤的流程图;
图5是用于说明根据一些实施例的用于设计集成电路的方法的图;
图6是用于说明根据一些实施例的用于设计集成电路的方法的流程图;
图7至图15是用于说明根据图6的一些实施例的用于设计集成电路的方法的图;
图16是用于说明根据一些实施例的用于设计集成电路的计算系统的图;
图17是用于说明根据一些实施例的用于设计集成电路的方法的图;
图18是用于说明根据一些实施例的用于设计集成电路的方法的图;
图19是用于说明根据一些实施例的用于设计集成电路的方法的流程图;
图20是用于说明根据一些实施例的用于制造半导体器件的方法的流程图。
具体实施方式
图1是用于说明根据一些实施例的用于设计集成电路的计算系统的图。
参考图1,根据一些实施例的用于设计集成电路的计算系统100可以包括处理器110、存储器130、输入/输出(I/O)装置150、存储装置170和总线190。计算系统100可以被实现为例如集成装置。计算系统100可以被提供为例如用于设计集成电路的专用设备。计算系统100可以是例如用于驱动各种模拟工具或设计工具的计算机。
处理器110可以被配置为执行命令,该命令执行用于设计集成电路的各种行为/操作中的至少一者。处理器110可以包括例如能够执行任意命令的核心,诸如微处理器、应用处理器(AP)、数字信号处理器(DSP)和图形处理单元(GPU)。
处理器110可以通过总线190与存储器130、I/O装置150和存储装置170通信。处理器110可以驱动加载到存储器130中的布局&布线(P&R)模块210、模拟模块220和静态时序分析(STA)模块230,以设计集成电路。P&R模块210、模拟模块220和STA模块230可以是包括由处理器110执行的多个命令的程序或软件模块,并且可以存储在非暂时性计算机可读存储介质中。
存储器130可以存储P&R模块210、模拟模块220和STA模块230。可以从例如存储装置170加载P&R模块210、模拟模块220和STA模块230。存储器130可以是易失性存储器,诸如SRAM或DRAM,或者可以是非易失性存储器,诸如PRAM、MRAM ReRAM和FRAM NOR闪存。
将使用图2至图15详细描述P&R模块210、模拟模块220和STA模块230。
I/O装置150可以控制来自用户接口装置的用户输入和输出。例如,I/O装置150包括诸如键盘、鼠标和/或触摸板的输入装置,并且可以接收定义集成电路的输入数据。例如,I/O装置150包括诸如显示器和/或扬声器的输出装置,并且可以显示布设(placement)结果、布线结果、时序分析结果等。
存储装置170可以存储与P&R模块210、模拟模块220和STA模块230相关的各种数据。存储装置170可以存储单元库。存储装置170可以包括例如存储卡(MMC、eMMC、SD、MicroSD等)、固态硬盘(SSD)、硬盘驱动器(HDD)等。
图2是用于说明根据一些实施例的用于设计集成电路的方法的图。图3是用于说明根据一些实施例的用于设计集成电路的方法的流程图。图2是详细示出图1的图。
参考图2,P&R模块210可以包括布设器(placer)211和布线器212。STA模块230可以包括局部布局效应(LLE)计算器231和时序分析器232。如在本文中使用的,图1的处理器110执行/控制P&R模块210和STA模块230以执行行为/操作的配置被表示为P&R模块210和STA模块230执行这样的行为/操作的配置。
存储装置170可以包括单元库270。单元库270可以存储每个标准单元在特定环境中(例如,相对于每个标准单元的特定环境)的延迟信息(即,Delay orig)271、每个标准单元的根据(例如,基于)阈值电压的延迟信息(即,Sensitivity_D_Vth)272、每个标准单元的根据(例如,基于)迁移率(mobility)的延迟信息273(即,Sensitivity_D_μ0)以及作为与用于生成集成电路的布局的标准单元有关的信息的单元库数据库274。为了便于描述,延迟信息272在本文中可以被称为“第一”延迟信息,并且延迟信息273在本文中可以被称为“第二”延迟信息。此外,存储装置170是非暂时性计算机可读存储介质的示例。
参考图2和图3,可以执行综合行为/操作(S10)。综合可以意指通过将集成电路的输入数据转换为由逻辑门组成的硬件形式来生成网表D10的行为/操作,并且可以被称为逻辑综合。输入数据可以是集成电路的行为/操作的抽象形式,例如,由寄存器传输级(RTL)定义的数据。可以使用存储在存储装置170中的单元库270从RTL代码来生成网表D10,并且网表D10可以是门级的网表D10。例如,网表D10可以由处理器110使用综合模块来执行。例如,综合模块可以接收RTL代码以输出网表D10。
可以根据网表D10来对定义集成电路的标准单元进行布设和布线,以生成集成电路的布局数据D20(S20)。P&R模块210的布设器211可以访问单元库数据库274以根据网表D10布设标准单元。P&R模块210的布线器212可以对由布设器211布设的标准单元执行布线以生成布局数据D20。布线器212可以将布局数据D20存储在单元库270中。布局数据D20可以是例如图形设计系统(GDS)II类型的数据。
可以从布局数据D20提取局部布局效应(LLE)参数D30(S30)。P&R模块210可以从布局数据D20中包括的每个标准单元提取LLE参数D30。P&R模块210可以提取每个标准单元中包括的每个晶体管的LLE参数D30。此时,P&R模块210可以提取布设在每个标准单元的边界处的每个晶体管的LLE参数D30。P&R模块210可以接收网表D10以输出布局数据D20和LLE参数D30。P&R模块210可以将LLE参数D30存储在单元库270中。
LLE参数D30可以是引起从布设在标准单元周围的布局生成的局部布局效应的参数。LLE参数D30可以包括例如布设在标准单元周围的有源图案的存在与否、有源图案的形状、有源图案的尺寸、到有源图案的距离等。LLE参数D30可以包括例如从标准单元到渐窄形状的有源图案的距离、与标准单元相邻的有源图案的纳米片的宽度等。
可以执行集成电路的时序分析(S40)。STA模块230可以计算集成电路中包括的标准单元的延迟。STA模块230可以生成包括标准单元的延迟的时序报告D50。STA模块230可以接收存储在单元库270中的布局数据D20、LLE参数D30、LLE模型D40以及延迟信息271、272和273,以输出时序报告D50。STA模块230还可以确定所计算的标准单元的延迟是否满足用于生成时序报告D50的设定(例如,预定)条件。
集成电路可以包括多个标准单元。STA模块230可以计算集成电路中包括的每个标准单元的延迟,以生成包括该延迟的时序报告D50。STA模块230可以基于每个标准单元的延迟来计算集成电路的延迟,并且生成进一步包括该延迟的时序报告D50。STA模块230还可以确定集成电路的延迟是否满足用于生成时序报告D50的设定条件。将使用图3和图4对此进行详细描述。
根据一些实施例的用于设计集成电路的方法还可以包括根据在步骤S40中执行的时序分析来执行工程更改指令(ECO)的步骤。或者,根据一些实施例的用于设计集成电路的方法可以根据在步骤S40中执行的时序分析再次执行步骤S20的标准单元的布设和布线行为/操作。例如,可以执行标准单元的布设和布线行为/操作中包括的时钟树综合或优化。再例如,可以修改标准单元的布设和布线行为中包括的金属布线。
图4是用于说明图3的步骤S40的流程图。
参考图2和图4,STA模块230可以接收LLE模型D40和LLE参数D30(S41)。STA模块230可以从P&R模块210接收LLE参数D30。STA模块230可以接收从P&R模块210提取的布设在标准单元的边界处的每个晶体管的LLE参数D30。
STA模块230可以通过例如图1的I/O装置150接收LLE模型D40。作为另一示例,STA模块230可以读取存储在图1的存储装置170中的LLE模型D40。LLE模型D40可以接收LLE参数D30以输出与根据LLE的标准单元的物理特性的变化有关的信息。与标准单元的物理特性的变化有关的信息可以包括标准单元的阈值电压的变化量和标准单元的迁移率的变化量。标准单元的阈值电压的变化量可以包括布设在标准单元的边界处的每个晶体管的阈值电压的变化量,并且标准单元的迁移率的变化量可以包括布设在标准单元的边界处的每个晶体管的迁移率的变化量。
STA模块230的LLE计算器231可以将LLE参数D30输入到LLE模型D40,以计算标准单元的阈值电压的变化量和标准单元的迁移率的变化量(S42)。标准单元的阈值电压的变化量可以包括布设在标准单元的边界处的每个晶体管的阈值电压的变化量。标准单元的迁移率的变化量可以包括布设在标准单元的边界处的每个晶体管的迁移率的变化量。
STA模块230的时序分析器232可以计算标准单元的延迟(S43)。时序分析器232可以通过利用存储在单元库270中的标准单元在特定环境中的延迟信息271、标准单元的根据阈值电压的延迟信息272和标准单元的根据迁移率的延迟信息273以及在步骤S42中计算的标准单元的阈值电压的变化量和标准单元的迁移率的变化量来计算标准单元的延迟。存储在单元库270中的标准单元的根据阈值电压的延迟信息272可以包括根据布设在标准单元的边界处的每个晶体管的阈值电压的变化量的标准单元的延迟的变化量。存储在单元库270中的标准单元的根据迁移率的延迟信息273可以包括根据布设在标准单元的边界处的每个晶体管的迁移率的变化量的标准单元的延迟的变化量。
时序分析器232可以针对标准单元使用式1来计算标准单元的延迟。式1表示一个标准单元的延迟。在式1中,n是指布设在标准单元的边界处的晶体管的数目。
时序分析器232可以通过将标准单元在特定环境中的延迟(Delay orig)、根据布设在标准单元的边界处的每个晶体管(tr_i)的阈值电压的变化量的标准单元的延迟的变化量与布设在标准单元的边界处的每个晶体管(tr_i)的阈值电压的变化量(ΔVth,tr_i)的乘积以及根据布设在标准单元的边界处的每个晶体管(tr_i)的迁移率的变化量的标准单元的延迟的变化量/>与布设在标准单元的边界处的每个晶体管(tr_i)的迁移率的变化量(Δμ0,tr_i)的乘积进行相加,来计算标准单元的延迟。
时序分析器232可以从单元库270接收标准单元在特定环境中的延迟(Delayorig)271、根据布设在标准单元的边界处的每个晶体管的阈值电压的变化量的标准单元的延迟的变化量272以及根据布设在标准单元的边界处的每个晶体管的迁移率的变化量的标准单元的延迟的变化量/>273,并且可以从LLE计算器231接收布设在标准单元的边界处的每个晶体管的阈值电压的变化量(ΔVth,tr_i)和布设在标准单元的边界处的每个晶体管的迁移率的变化量(Δμ0,tr_i)。LLE计算器231可以将LLE参数输入到LLE模型,以计算布设在标准单元的边界处的每个晶体管的阈值电压的变化量(ΔVth,tr_i)和布设在标准单元的边界处的每个晶体管的迁移率的变化量(Δμ0,tr_i)。
集成电路可以包括多个标准单元。STA模块230可以针对每个标准单元执行步骤S41至S43。具体地,P&R模块210可以从布设在每个标准单元的边界处的每个晶体管提取LLE参数D30,并且LLE计算器231可以通过使用LLE模型D40来计算布设在每个标准单元的边界处的每个晶体管的阈值电压的变化量和迁移率的变化量。时序分析器232可以通过使用存储在单元库270中的每个标准单元在特定环境中的延迟信息271、每个标准单元的根据阈值电压的延迟信息272和每个标准单元的根据迁移率的延迟信息273以及由LLE计算器231计算的每个标准单元的阈值电压的变化量和每个标准单元的迁移率的变化量来计算每个标准单元的延迟。存储在单元库270中的每个标准单元的根据阈值电压的延迟信息272可以包括根据布设在每个标准单元的边界处的每个晶体管的阈值电压的变化量的每个标准单元的延迟(例如,第一延迟)的变化量。存储在单元库270中的每个标准单元的根据迁移率的延迟信息273可以包括根据布设在每个标准单元的边界处的每个晶体管的迁移率的变化量的每个标准单元的延迟(例如,第二延迟)的变化量。
图5是用于说明根据一些实施例的用于设计集成电路的方法的图。图6是用于说明根据一些实施例的用于设计集成电路的方法的流程图。图5是详细示出图1的图。
参考图5和图6,模拟模块220可以接收标准单元的输入数据D11(S110)。输入数据D11可以是网表。
模拟模块220可以将每个晶体管的阈值电压和每个晶体管的迁移率作为变量添加到输入数据D11(S120)。此时,模拟模块220可以对布设在标准单元的边界处的每个晶体管执行步骤S120。
模拟模块220可以测量根据每个晶体管的阈值电压的变化量的标准单元的延迟的变化量和根据每个晶体管的迁移率的变化量的标准单元的延迟的变化量(S130)。此时,模拟模块220可以对布设在标准单元的边界处的每个晶体管执行步骤S130。
模拟模块220可以将根据每个晶体管的阈值电压的变化量的标准单元的延迟的变化量和根据每个晶体管的迁移率的变化量的标准单元的延迟的变化量存储在单元库270中(S140)。根据每个晶体管的阈值电压的变化量的标准单元的延迟的变化量可以被存储为单元库270的标准单元的根据阈值电压的延迟信息272。根据每个晶体管的迁移率的变化量的标准单元的延迟的变化量可以被存储为单元库270的标准单元的根据迁移率的延迟信息273。
根据一些实施例的用于设计集成电路的方法可以通过晶体管的阈值电压和晶体管的迁移率来表征(例如,定义)标准单元的局部布局效应。即,不管(例如,独立于)局部布局效应的类型,标准单元的局部布局效应可以由晶体管的阈值电压和晶体管的迁移率来表征。因此,没有必要根据局部布局效应的类型来设计用于分析标准单元的时序的方法。此外,没有必要对每种类型的局部布局效应执行表征行为/操作。
图7至图15是用于说明根据图6的一些实施例的用于设计集成电路的方法的图。
参考图7,标准单元可以包括第一有源图案RX1、第二有源图案RX2以及布设在标准单元的边界处的第一晶体管tr1、第一晶体管tr2、第二晶体管tr3和第四晶体管tr4。
参考图7和图8,在输入数据D11中,可以定义第一晶体管tr1的阈值电压(tr1_p_vta)和第一晶体管tr1的迁移率(tr1_u0_mult)(11),可以定义第二晶体管tr2的阈值电压(tr2_p_vta)和第二晶体管tr2的迁移率(tr2_u0_mult)(12),可以添加第三晶体管tr3的阈值电压(tr3_p_vta)和第三晶体管tr3的迁移率(tr3_u0_mult)作为定义(13),可以定义第四晶体管tr4的阈值电压(tr4_p_vta)和第四晶体管tr4的迁移率(tr4_u0_mult)(14)。第一晶体管tr1的阈值电压(tr1_p_vta)、第二晶体管tr2的阈值电压(tr2_p_vta)、第三晶体管tr3的阈值电压(tr3_p_vta)、第四晶体管tr4的阈值电压(tr4_p_vta)、第一晶体管tr1的迁移率(tr1_u0_mult)、第二晶体管tr2的迁移率(tr2_u0_mult)、第三晶体管tr3的迁移率(tr3_u0_mult)和第四晶体管tr4的迁移率(tr4_u0_mult)可以作为变量(10)被添加到输入数据D11。例如,第一晶体管tr1的阈值电压(tr1_p_vta)、第二晶体管tr2的阈值电压(tr2_p_vta)、第三晶体管tr3的阈值电压(tr3_p_vta)和第四晶体管tr4的阈值电压(tr4_p_vta)可以被设定为0,并且第一晶体管tr1的迁移率(tr1_u0_mult)、第二晶体管tr2的迁移率(tr2_u0_mult)、第三晶体管tr3的迁移率(tr3_u0_mult)和第四晶体管tr4的迁移率(tr4_u0_mult)可以被设定为1。
例如,可以使用布局对原理图(LVS)将变量10添加到输入数据D11。
参考图7和图9,单元库270可以针对图8的输入数据D11存储标准单元在特定环境271e中的延迟271。标准单元在特定环境271e中的延迟271可以为例如20皮秒(ps)。特定环境271e可以包括例如输入到标准单元的电压、标准单元的温度等。
参考图7和图10,可以改变输入数据D11的变量21。例如,第一晶体管tr1的阈值电压tr_1_p_vta可以从0改变为50毫伏(mV)。即,第一晶体管tr1的阈值电压tr_1_p_vta的变化量可以为50mV。可以测量当第一晶体管tr1的阈值电压tr_1_p_vta的变化量为50mV时标准单元的延迟的变化量。
参考图7和图11,单元库270可以存储第一晶体管tr1的阈值电压的变化量(22)和伴随的标准单元的延迟的变化量(272_v_tr1)。例如,当第一晶体管tr1的阈值电压的变化量(22)为50mV时,标准单元的延迟的变化量(272_v_tr1)可以为4ps。即,在这种情况下,标准单元的延迟可以为24ps,如20ps+4ps=24ps。
参考图7和图12,可以改变输入数据D11的变量31。例如,第一晶体管tr1的迁移率(tr1_u0_mult)可以从1改变为0.9。即,第一晶体管tr1的迁移率的变化量(tr1_u0_mult)可以为-0.1。可以测量当第一晶体管tr1的迁移率(tr1_u0_mult)的变化量为-0.1时标准单元的延迟的变化量。
参考图7和图13,单元库270可以存储第一晶体管tr1的迁移率的变化量(32)和伴随的标准单元的延迟的变化量(273_u0_tr1)。例如,当第一晶体管tr1的迁移率的变化量(32)为-0.1时,标准单元的延迟的变化量(273_u0_tr1)可以为3ps。即,在这种情况下,标准单元的延迟可以是23ps,如20ps+3ps=23ps。
随后,可以对第二晶体管tr2、第三晶体管tr3和第四晶体管ttr4重复测量根据阈值电压的变化量的标准单元的延迟的变化量和根据迁移率的变化量的标准单元的延迟的变化量。参考图7和图14,单元库270可以存储当第二晶体管tr2的阈值电压的变化量(22)为50mV时标准单元的延迟的变化量(272_v_tr2)以及当第二晶体管tr2的迁移率的变化量(32)为-0.1时标准单元的延迟的变化量(273_u0_tr2)。例如,当第二晶体管tr2的阈值电压的变化量(22)为50mV时,标准单元的延迟的变化量(272_v_tr2)可以为2ps。即,在这种情况下,标准单元的延迟可以为22ps,如20ps+2ps=22ps。例如,当第二晶体管tr2的迁移率的变化量(32)为-0.1时,标准单元的延迟的变化量(273_u0_tr2)可以为5ps。即,在这种情况下,标准单元的延迟可以为25ps,如20ps+5ps=25ps。
单元库270可以存储当第三晶体管tr3的阈值电压的变化量(22)为50mV时标准单元的延迟的变化量、当第二晶体管tr2的迁移率的变化量(32)为-0.1时标准单元的延迟的变化量、当第四晶体管tr4的阈值电压的变化量(22)为50mV时标准单元的延迟的变化量以及当第四晶体管tr4的迁移率的变化量(32)为-0.1时标准单元的延迟的变化量。
参考图15,结果,单元库270可以存储布设在标准单元的边界处的第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4的阈值电压的变化量(22)、布设在标准单元的边界处的第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4的迁移率的变化量(32)、根据第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4中的每一者的阈值电压的变化量的标准单元的延迟的变化量(272)以及根据第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4中的每一者的迁移率的变化量(32)的标准单元的延迟的变化量(273)。图15的根据第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4中的每一者的阈值电压的变化量(22)的标准单元的延迟的变化量(272)可以对应于图2的标准单元的根据阈值电压的延迟信息272,并且根据第一晶体管tr1、第二晶体管tr2、第三晶体管tr3和第四晶体管tr4中的每一者的迁移率的变化量(32)的标准单元的延迟的变化量(273)可以对应于图2的标准单元的根据迁移率的延迟信息273。
可以对每个标准单元执行图6的行为/操作S110至S140,并且它们可以存储在图2的标准单元的根据阈值电压的延迟信息272和标准单元的根据迁移率的延迟信息273中。即,如图15所示,可以针对每个标准单元存储标准单元的根据阈值电压的延迟信息272和标准单元的根据迁移率的延迟信息273。
图16是用于说明根据一些实施例的用于设计集成电路的计算系统的图。为了便于说明,将主要描述与使用图1至图15描述的点不同的点。
参考图16,在根据一些实施例的用于设计集成电路的计算系统100中,存储器130还可以包括功率分析模块240。功率分析模块240可以从例如存储装置170加载。
图17是用于说明根据一些实施例的用于设计集成电路的方法的图。图17是详细示出图16的图。
参考图17,存储装置170可以包括单元库270。单元库270还可以包括每个标准单元在特定环境中的功率信息(即,Power orig)281、每个标准单元的根据阈值电压的功率信息(即,Sensitivity_P_Vth)282以及每个标准单元的根据迁移率的功率信息(即,Sensitivity_P_μ0)283。
功率分析模块240可以计算集成电路中包括的标准单元的功率。功率分析模块240可以生成包括标准单元的功率在内的功率报告D70。功率分析模块240可以从LLE计算器231接收通过将LLE参数D30输入到LLE模型D40而计算出的标准单元的阈值电压的变化量和标准单元的迁移率的变化量,以及接收存储在单元库270中的功率信息281、282和283,并且输出功率报告D70。功率分析模块240还可以确定所计算的标准单元的功率是否满足用于生成功率报告D70的设定条件。
集成电路可以包括多个标准单元。功率分析模块240可以计算集成电路中包括的每个标准单元的功率,以生成包括该功率的功率报告D70。功率分析模块240可以基于每个标准单元的功率计算集成电路的功率,并且可以生成还包括该功率的功率报告D70。功率分析模块240可以进一步确定集成电路的功率是否满足用于生成功率报告D70的设定条件。
根据一些实施例的用于设计集成电路的方法可以进一步包括根据功率报告D70执行ECO的步骤。或者,根据一些实施例的用于设计集成电路的方法可以再次根据功率报告D70执行步骤S20的标准单元的布设和布线行为。例如,可以执行包括在标准单元的布局和布线行为中的时钟树综合或优化。作为另一示例,可以修改包括在标准单元的布设和布线行为中的金属布线。
功率分析模块240可以计算标准单元的功率。功率分析模块240可以通过使用存储在单元库270中的标准单元在特定环境中的功率信息281、标准单元的根据阈值电压的功率信息282和标准单元的根据迁移率的功率信息283以及通过将LLE参数D30输入到LLE模型D40而计算出的标准单元的阈值电压的变化量和标准单元的迁移率的变化量来计算标准单元的功率。存储在单元库270中的标准单元的根据阈值电压的功率信息282可以包括根据布设在标准单元的边界处的每个晶体管的阈值电压的变化量的标准单元的功率的变化量。存储在单元库270中的标准单元的根据迁移率的功率信息283可以包括根据布设在标准单元的边界处的每个晶体管的迁移率的变化量的标准单元的功率的变化量。
功率分析模块240可以针对标准单元使用式2来计算标准单元的功率。式2表示一个标准单元的功率。在式2中,n表示布设在标准单元的边界处的晶体管的数目。
功率分析模块240可以通过将标准单元在特定环境中的功率(powerorig)、根据布设在标准单元的边界处的每个晶体管(tr_i)的阈值电压的变化量的标准单元的功率的变化量与布设在标准单元的边界处的每个晶体管(tr_i)的阈值电压的变化量(ΔVth,tr_i)的乘积以及根据布设在标准单元的边界处的每个晶体管(tr_i)的迁移率的变化量的标准单元的功率的变化量/>与布设在标准单元的边界处的每个晶体管(tr_i)的迁移率的变化量(Δμ0,tr_i)的乘积进行相加,来计算标准单元的功率。
功率分析模块240可以从单元库270接收标准单元在特定环境中的功率(powerorig)281、根据布设在标准单元的边界处的每个晶体管的阈值电压的变化量的标准单元的功率的变化量282(例如,第一变化量)以及根据布设在标准单元的边界处的每个晶体管的迁移率的变化量的标准单元的功率的变化量/>283(例如,第二变化量),并且可以从LLE计算器231接收布设在标准单元的边界处的每个晶体管的阈值电压的变化量(ΔVth,tr_i)和布设在标准单元的边界处的每个晶体管的迁移率的变化量(Δμ0,tr_i)。LLE计算器231可以将LLE参数D30输入到LLE模型D40,并且计算布设在标准单元的边界处的每个晶体管的阈值电压的变化量(ΔVth,tr_i)和布设在标准单元的边界处的每个晶体管的迁移率的变化量(Δμ0,tr_i)。
集成电路可以包括多个标准单元。功率分析模块240可以对每个标准单元计算功率。具体地,P&R模块210可以从布设在每个标准单元的边界处的每个晶体管提取LLE参数D30,并且LLE计算器231可以使用LLE模型D40来计算布设在每个标准单元的边界处的每个晶体管的阈值电压的变化量和迁移率的变化量。功率分析器232可以通过使用存储在单元库270中的每个标准单元在特定环境中的功率信息281、每个标准单元的根据阈值电压的功率信息282和每个标准单元的根据迁移率的功率信息283以及由LLE计算器231计算的每个标准单元的阈值电压的变化量和每个标准单元的迁移率的变化量来计算每个标准单元的功率。存储在单元库270中的每个标准单元的根据阈值电压的功率信息282可以包括根据布设在每个标准单元的边界处的每个晶体管的阈值电压的变化量的每个标准单元的功率的变化量。存储在单元库270中的每个标准单元的根据迁移率的功率信息283可以包括根据布设在每个标准单元的边界处的每个晶体管的迁移率的变化量的每个标准单元的功率的变化量。
图18是用于说明根据一些实施例的用于设计集成电路的方法的图。图19是用于说明根据一些实施例的用于设计集成电路的方法的流程图。图18是详细示出图16的图。
参考图18和图19,模拟模块220可以接收标准单元的输入数据D11(S210)。输入数据D11可以是网表。
模拟模块220可以将每个晶体管的阈值电压和每个晶体管的迁移率作为变量添加到输入数据D11(S220)。此时,模拟模块220可以对布设在标准单元的边界处的每个晶体管执行步骤S220。
模拟模块220可以测量根据每个晶体管的阈值电压的变化量的标准单元的功率的变化量(282)和根据每个晶体管的迁移率的变化量的标准单元的功率的变化量(283)(S230)。此时,模拟模块220可以对布设在标准单元的边界处的每个晶体管执行步骤S230。
模拟模块220可以将根据每个晶体管的阈值电压的变化量的标准单元的功率的变化量(282)和根据每个晶体管的迁移率的变化量的标准单元的功率的变化量(283)存储在单元库270中(S240)。
根据一些实施例的用于设计集成电路的方法可以通过晶体管的阈值电压和晶体管的迁移率来表征标准单元的功率。
图20是用于说明根据一些实施例的用于制造半导体器件的方法的流程图。为了便于说明,将主要描述与使用图3描述的点不同的点。
参考图20,在执行集成电路的时序分析(S40)之后,可以基于布局数据生成掩模(S50)。例如,可以基于在步骤S40中生成的时序报告(图3的D50)来修改布局数据,并且可以根据修改后的布局数据来生成掩模。具体地,可以执行光学邻近校正(OPC),其通过基于布局数据反映由于光学邻近效应引起的误差来改变布局。随后,可以根据依赖于OPC执行结果而改变的布局来制造掩模。此时,可以使用反映OPC的布局(例如,反映OPC的GDS II)来制造掩模。
可以制造使用掩模在其上安装了集成电路的半导体器件(S60)。具体地,通过使用多个掩模对诸如晶片的半导体衬底执行各种半导体工艺,可以形成其中安装有集成电路的半导体器件。例如,使用掩模的工艺可以意指通过光刻工艺的图案化工艺。通过这样的图案化工艺,可以在半导体衬底或材料层上形成期望的图案。另一方面,半导体工艺可以包括气相沉积工艺、蚀刻工艺、离子工艺、清洁工艺等。此外,半导体工艺可以包括将半导体元件安装在印刷电路板(PCB)上并且用密封材料将其进行密封的封装工艺,和/或可以包括测试半导体元件或封装件的测试工艺。
在一些实施例中,包括非暂时性计算机可读存储介质(例如,存储装置170(图2)和/或存储器130(图1))的计算机程序产品可以具有在介质中实现的计算机可读程序代码,该计算机可读程序代码在由处理器(例如,处理器110(图1))运行时使处理器执行在本文中描述的任何操作/方法。
在结束详细描述时,本领域技术人员将理解,在不脱离本发明的范围的情况下,可以对示例实施例进行许多变化和修改。因此,本公开的所公开的示例实施例仅在一般的和描述性的意义上使用,而不是出于限制的目的。

Claims (20)

1.一种单元库,所述单元库存储在非暂时性计算机可读存储介质中,
其中,所述单元库被配置为存储:
根据标准单元中包括的晶体管的阈值电压的所述标准单元的第一延迟信息;以及
根据所述标准单元中包括的所述晶体管的迁移率的所述标准单元的第二延迟信息。
2.根据权利要求1所述的单元库,
其中,所述第一延迟信息包括根据所述标准单元中包括的所述晶体管的所述阈值电压的变化量的所述标准单元的第一延迟的变化量,并且
其中,所述第二延迟信息包括根据所述标准单元中包括的所述晶体管的迁移率的变化量的所述标准单元的第二延迟的变化量。
3.根据权利要求1所述的单元库,
其中,所述晶体管位于所述标准单元的边界处,
其中,所述标准单元是集成电路的一部分,并且
其中,所述标准单元的局部布局效应是由所述第一延迟信息和所述第二延迟信息定义的,而与所述局部布局效应的类型无关。
4.根据权利要求1所述的单元库,
其中,所述晶体管是包括在所述标准单元中的第一晶体管,
其中,所述标准单元还包括第二晶体管,
其中,所述第一延迟信息包括:
根据所述第一晶体管的所述阈值电压的所述标准单元的延迟信息;以及
根据所述第二晶体管的阈值电压的所述标准单元的延迟信息,并且
其中,所述第二延迟信息包括:
根据所述第一晶体管的所述迁移率的所述标准单元的延迟信息;以及
根据所述第二晶体管的迁移率的所述标准单元的延迟信息。
5.根据权利要求1所述的单元库,其中,所述单元库还被配置为存储根据所述标准单元中包括的所述晶体管的所述阈值电压的所述标准单元的功率信息。
6.根据权利要求1所述的单元库,其中,所述单元库还被配置为存储根据所述标准单元中包括的所述晶体管的所述迁移率的所述标准单元的功率信息。
7.根据权利要求1所述的单元库,其中,所述单元库还被配置为存储关于所述标准单元的特定环境的第三延迟信息。
8.根据权利要求1所述的单元库,
其中,所述标准单元是第一标准单元,并且所述晶体管是第一晶体管,并且
其中,所述单元库还被配置为存储:
根据第二标准单元中包括的第二晶体管的阈值电压的所述第二标准单元的所述第一延迟信息;以及
根据所述第二标准单元中包括的所述第二晶体管的迁移率的所述第二标准单元的所述第二延迟信息。
9.一种计算系统,所述计算系统包括:
存储器,所述存储器被配置为存储设计集成电路的程序,所述集成电路包括标准单元,所述标准单元包括晶体管;以及
处理器,所述处理器被配置为运行所述程序以:
接收所述标准单元的输入数据;
测量根据所述晶体管的阈值电压的变化量的所述标准单元的第一延迟的变化量;
测量根据所述晶体管的迁移率的变化量的所述标准单元的第二延迟的变化量;以及
将所述第一延迟的所述变化量和所述第二延迟的所述变化量存储在单元库中。
10.根据权利要求9所述的计算系统,其中,所述晶体管位于所述标准单元的边界处。
11.根据权利要求9所述的计算系统,
其中,所述晶体管是所述标准单元中包括的第一晶体管,
其中,所述标准单元还包括第二晶体管,
其中,所述处理器还被配置为测量根据所述第二晶体管的阈值电压的变化量的所述标准单元的第三延迟的变化量和根据所述第二晶体管的迁移率的变化量的所述标准单元的第四延迟的变化量,并且
其中,所述处理器进一步被配置为将根据所述第二晶体管的所述阈值电压的所述变化量的所述标准单元的所述第三延迟的所述变化量和根据所述第二晶体管的所述迁移率的所述变化量的所述标准单元的所述第四延迟的所述变化量存储在所述单元库中。
12.根据权利要求9所述的计算系统,
其中,所述单元库被配置为存储关于所述标准单元的特定环境的所述标准单元的第五延迟,并且
其中,所述处理器进一步被配置为将所述第五延迟与所述第一延迟的所述变化量和所述第二延迟的所述变化量进行组合。
13.根据权利要求9所述的计算系统,
其中,所述处理器还被配置为测量根据所述晶体管的所述阈值电压的所述变化量的所述标准单元的功率的第一变化量,
其中,所述处理器还被配置为测量根据所述晶体管的所述迁移率的所述变化量的所述标准单元的功率的第二变化量,并且
其中,所述处理器还被配置将所述功率的所述第一变化量和所述功率的所述第二变化量存储在所述单元库中。
14.根据权利要求9所述的计算系统,
其中,所述处理器还被配置为将所述晶体管的所述阈值电压和所述晶体管的所述迁移率作为变量加入到所述输入数据,并且
其中,所述处理器进一步被配置为改变所述变量并且基于改变后的变量来测量所述第一延迟的所述变化量和所述第二延迟的所述变化量。
15.一种计算系统,所述计算系统包括:
存储器,所述存储器被配置为存储用于设计集成电路的程序;以及
处理器,所述处理器被配置为运行所述程序以:
对定义所述集成电路的多个标准单元进行布设和布线,以生成所述集成电路的布局数据;以及
使用所述多个标准单元中的每个标准单元的根据该标准单元中包括的晶体管的阈值电压的变化量的延迟的变化量以及所述多个标准单元中的每个标准单元的根据该标准单元中包括的所述晶体管的迁移率的变化量的延迟的变化量,来计算所述集成电路的延迟。
16.根据权利要求15所述的计算系统,
其中,所述存储器还被配置为接收局部布局效应模型,
其中,所述处理器还被配置为提取所述多个标准单元中的每个标准单元的局部布局效应参数,并且
其中,所述处理器进一步被配置为将所述局部布局效应参数输入到所述局部布局效应模型,以计算所述多个标准单元中的每个标准单元中包括的所述晶体管的所述阈值电压的所述变化量和所述多个标准单元中的每个标准单元中包括的所述晶体管的所述迁移率的所述变化量。
17.根据权利要求16所述的计算系统,所述计算系统还包括单元库,
其中,所述单元库被配置为存储所述多个标准单元中的每个标准单元的关于该标准单元的特定环境的延迟,并且
其中,所述处理器进一步被配置为还基于所述多个标准单元中的每个标准单元的关于该标准单元的所述特定环境的所述延迟来计算所述集成电路的所述延迟。
18.根据权利要求16所述的计算系统,其中,所述局部布局效应参数包括下述中的至少一者:
在所述多个标准单元中的每一者周围存在或不存在有源图案;
在所述多个标准单元中的每一者周围的所述有源图案的形状;
在所述多个标准单元中的每一者周围的所述有源图案的尺寸;或者
所述多个标准单元中的每个标准单元与在该标准单元周围的所述有源图案之间的距离。
19.根据权利要求15所述的计算系统,其中,所述处理器还被配置为,基于所述多个标准单元中的每个标准单元的根据该标准单元中包括的所述晶体管的所述阈值电压的所述变化量的功率的第一变化量和所述多个标准单元中的每个标准单元的根据该标准单元中包括的所述晶体管的所述迁移率的所述变化量的功率的第二变化量,来计算所述集成电路的功率。
20.根据权利要求19所述的计算系统,
其中,所述存储器还被配置为接收局部布局效应模型,
其中,所述处理器还被配置为提取所述多个标准单元中的每个标准单元的局部布局效应参数,并且
其中,所述处理器进一步被配置为将所述局部布局效应参数输入到所述局部布局效应模型,以计算所述多个标准单元中的每个标准单元中包括的所述晶体管的所述阈值电压的所述变化量和所述多个标准单元中的每个标准单元中包括的所述晶体管的所述迁移率的所述变化量。
CN202310348186.9A 2022-04-07 2023-04-03 用于设计集成电路的单元库和计算系统 Pending CN116894417A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220043612A KR20230144396A (ko) 2022-04-07 2022-04-07 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법
KR10-2022-0043612 2022-04-07

Publications (1)

Publication Number Publication Date
CN116894417A true CN116894417A (zh) 2023-10-17

Family

ID=88239437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310348186.9A Pending CN116894417A (zh) 2022-04-07 2023-04-03 用于设计集成电路的单元库和计算系统

Country Status (4)

Country Link
US (1) US20230325571A1 (zh)
KR (1) KR20230144396A (zh)
CN (1) CN116894417A (zh)
TW (1) TW202341000A (zh)

Also Published As

Publication number Publication date
KR20230144396A (ko) 2023-10-16
US20230325571A1 (en) 2023-10-12
TW202341000A (zh) 2023-10-16

Similar Documents

Publication Publication Date Title
CN110728096B (zh) 制造集成电路的方法和设计集成电路的计算系统
US10643015B2 (en) Properties in electronic design automation
US10216883B2 (en) Integrated circuit and method of designing integrated circuit
US20060271907A1 (en) Semiconductor circuit pattern design method for manufacturing semiconductor device or liquid crystal display device
US10599130B2 (en) Method and system for manufacturing an integrated circuit in consideration of a local layout effect
US8024675B1 (en) Method and system for wafer topography-aware integrated circuit design analysis and optimization
US9122833B2 (en) Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same
US10928442B2 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
US20170344692A1 (en) Computer-implemented method of designing an integrated circuit
US11030383B2 (en) Integrated device and method of forming the same
US20140337810A1 (en) Modular platform for integrated circuit design analysis and verification
KR102419645B1 (ko) 집적 회로를 설계하기 위한 컴퓨터 구현 방법, 컴퓨팅 시스템, 및 집적 회로의 제조 방법
US11651131B2 (en) Glitch source identification and ranking
US20180225407A1 (en) Method of manufacturing a semiconductor device
US10628550B2 (en) Method for designing an integrated circuit, and method of manufacturing the integrated circuit
TW202242701A (zh) 佈線後壅塞優化方法
US10360331B2 (en) Scoped simulation for electrostatic discharge protection verification
CN106570212B (zh) 基于随机电报信号噪声的电路设计方法和仿真方法
US20150143317A1 (en) Determination Of Electromigration Features
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
CN116894417A (zh) 用于设计集成电路的单元库和计算系统
JP6089627B2 (ja) 消費電力見積り装置および消費電力見積り方法
CN114912399A (zh) 制程技术评估的方法、系统及用于制程技术评估的方法
CN111241774A (zh) 集成电路布局的产生方法
KR102718979B1 (ko) Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication