KR102563927B1 - System and method for designing integrated circuit by considering local layout effect - Google Patents

System and method for designing integrated circuit by considering local layout effect Download PDF

Info

Publication number
KR102563927B1
KR102563927B1 KR1020160160781A KR20160160781A KR102563927B1 KR 102563927 B1 KR102563927 B1 KR 102563927B1 KR 1020160160781 A KR1020160160781 A KR 1020160160781A KR 20160160781 A KR20160160781 A KR 20160160781A KR 102563927 B1 KR102563927 B1 KR 102563927B1
Authority
KR
South Korea
Prior art keywords
instances
instance
lle
integrated circuit
layout
Prior art date
Application number
KR1020160160781A
Other languages
Korean (ko)
Other versions
KR20180013661A (en
Inventor
하나야
김용덕
이봉현
김형옥
정광옥
김재훈
Original Assignee
삼성전자 주식회사
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 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US15/643,472 priority Critical patent/US10817637B2/en
Priority to CN201710628517.9A priority patent/CN107665268B/en
Publication of KR20180013661A publication Critical patent/KR20180013661A/en
Application granted granted Critical
Publication of KR102563927B1 publication Critical patent/KR102563927B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

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

Abstract

본 개시의 예시적 실시예에 따라 로컬 레이아웃 효과를 고려하여 집적 회롤르 설계하기 위한 컴퓨팅 시스템 및 방법이 개시된다. 본 개시의 예시적 실시예에 따른 집적 회로를 설계하는 방법은, 로컬 레이아웃 효과 유발 구조의 발생이 감소하도록 사전 배치 셀들의 인스턴스들을 배치할 수 있다. 또한, 본 개시의 예시적 실시예에 따른 집적 회로를 설계하는 방법은, 배치된 인스턴스의 주변 레이아웃으로부터 인스턴스의 컨텍스트를 추출함으로써 인스턴스에 대한 로컬 레이아웃 효과를 추정할 수 있고, 집적 회로의 성능을 분석할 수 있다.A computing system and method for designing an integrated circuit taking local layout effects into account is disclosed according to an exemplary embodiment of the present disclosure. A method of designing an integrated circuit according to an exemplary embodiment of the present disclosure may place instances of pre-placed cells such that occurrence of local layout effect-causing structures is reduced. In addition, a method for designing an integrated circuit according to an exemplary embodiment of the present disclosure may estimate a local layout effect for an instance by extracting a context of an instance from a layout surrounding the arranged instance, and analyze the performance of the integrated circuit. can do.

Description

로컬 레이아웃 효과를 고려하여 집적 회로를 설계하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR DESIGNING INTEGRATED CIRCUIT BY CONSIDERING LOCAL LAYOUT EFFECT}SYSTEM AND METHOD FOR DESIGNING INTEGRATED CIRCUIT BY CONSIDERING LOCAL LAYOUT EFFECT

본 개시의 기술적 사상은 집적 회로에 관한 것으로서, 자세하게는 로컬 레이아웃 효과를 고려하여 집적 회로를 설계하기 위한 시스템 및 방법에 관한 것이다.The technical idea of the present disclosure relates to an integrated circuit, and in particular, to a system and method for designing an integrated circuit considering local layout effects.

디지털 신호를 처리하는 집적 회로는 표준 셀들에 기초하여 설계될 수 있다. 집적 회로는 표준 셀들의 인스턴스(instance)들을 포함할 수 있고, 하나의 표준 셀에 대응하는 인스턴스들은 동일한 구조, 즉 레이아웃을 가질 수 있다. 집적 회로가 원하는 기능을 구현하도록 인스턴스들이 배치되고 인스턴스들을 전기적으로 연결하는 상호연결들이 생성됨으로써, 집적 회로의 레이아웃이 생성될 수 있다. Integrated circuits that process digital signals can be designed based on standard cells. An integrated circuit may include instances of standard cells, and instances corresponding to one standard cell may have the same structure, that is, a layout. A layout of the integrated circuit may be created by placing instances and creating interconnections that electrically connect the instances such that the integrated circuit implements a desired function.

반도체 제조 공정이 미세화됨에 기인하여, 복수의 레이어들에 형성된 패턴들을 포함하는 표준 셀은 감소된 크기의 패턴들을 포함할 뿐만 아니라 표준 셀의 크기도 감소할 수 있다. 이에 따라, 집적 회로에 포함된 표준 셀의 인스턴스는 그 주변 구조(즉, 레이아웃)로부터 받는 영향이 커질 수 있고, 그러한 주변 레이아웃에 의한 영향은 로컬 레이아웃 효과(local layout effect; LLE) 또는 레이아웃 의존 효과(layout dependent effect; LDE)로 지칭될 수 있다.Due to miniaturization of the semiconductor manufacturing process, a standard cell including patterns formed in a plurality of layers may include reduced-sized patterns as well as a reduced size of the standard cell. Accordingly, an instance of a standard cell included in an integrated circuit may have a greater influence from its surrounding structure (ie, layout), and the influence of such surrounding layout may be a local layout effect (LLE) or a layout-dependent effect. (layout dependent effect; LDE).

본 개시의 기술적 사상은 로컬 레이아웃 효과를 고려하여 집적 회로를 설계하는 방법에 관한 것으로서, 로컬 레이아웃 효과가 감소하도록 집적 회로의 레이아웃을 생성하고, 로컬 레이아웃 효과를 반영하여 집적 회로의 성능을 분석하는 시스템 및 방법을 제공한다.The technical idea of the present disclosure relates to a method of designing an integrated circuit in consideration of a local layout effect, and a system for generating a layout of the integrated circuit to reduce the local layout effect and analyzing the performance of the integrated circuit by reflecting the local layout effect. and methods.

상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따라 표준 셀들의 인스턴스들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템은, 프로시저(procedure)들을 포함하는 정보를 저장하는 메모리 및 메모리에 엑세스 가능하고 프로시저들을 실행하는 프로세서를 포함할 수 있다. 프로시저들은, 사전 배치 셀들의 제1 인스턴스들을, 논리 셀들의 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과(local layout effect; LLE) 유발 구조의 발생이 감소하도록, 배치하는 사전 배치기, 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치하는 인스턴스 배치기, 및 배치된 제1 및 제2 인스턴스들의 커넥션들을 라우팅함으로써 집적 회로의 레이아웃 데이터를 생성하는 라우터를 포함할 수 있다.In order to achieve the above object, a computing system for designing an integrated circuit including instances of standard cells according to an aspect of the technical idea of the present disclosure includes a memory for storing information including procedures, and It may include a processor capable of accessing memory and executing procedures. The procedures include: a pre-placer that places first instances of pre-placement cells such that the occurrence of a local layout effect (LLE)-induced structure by placement of second instances of logic cells is reduced; It may include an instance placer for arranging second instances in an unplaced area, and a router for generating layout data of an integrated circuit by routing connections of the first and second instances that are placed.

본 개시의 기술적 사상의 일측면에 따른, 집적 회로를 설계하는 방법은 컴퓨팅 시스템에 의해서 수행될 수 있고, 본 방법은, 사전 배치 셀들의 제1 인스턴스들을, 논리 셀들의 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과(local layout effect; LLE) 유발 구조의 발생이 감소하도록, 배치하는 단계, 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치하는 단계, 및 제1 및 제2 인스턴스들의 커넥션들을 라우팅함으로써 집적 회로의 레이아웃 데이터를 생성하는 단계를 포함할 수 있다.According to one aspect of the technical idea of the present disclosure, a method of designing an integrated circuit may be performed by a computing system, and the method includes placing first instances of pre-placed cells and second instances of logic cells. arranging so as to reduce the occurrence of a local layout effect (LLE)-induced structure, arranging second instances in an area where the first instances are not arranged, and routing connections of the first and second instances. By doing so, it may include generating layout data of the integrated circuit.

본 개시의 기술적 사상의 일측면에 따라 표준 셀들의 인스턴스들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템은, 프로시저(procedure)들을 포함하는 정보를 저장하는 메모리 및 메모리에 엑세스 가능하고 프로시저들을 실행하는 프로세서를 포함할 수 있다. 프로시저들은, 주변 레이아웃에 의존하는 표준 셀의 물리적 특성에 관한 정보를 포함하는 LLE(Local Layout Effect) 데이터를 참조하고 집적 회로에 배치된 인스턴스의 주변 레이아웃에 관한 상기 배치된 인스턴스의 컨텍스트(context)를 포함하는 컨텍스트 데이터에 기초하여 상기 배치된 인스턴스의 물리적 특성을 산출하는 인스턴스 특성화기(characterizer), 및 상기 배치된 인스턴스의 산출된 물리적 특성에 기초하여 집적 회로의 성능 정보를 포함하는 결과 데이터를 생성하는 성능 분석기를 포함할 수 있다.According to one aspect of the technical idea of the present disclosure, a computing system for designing an integrated circuit including instances of standard cells includes a memory storing information including procedures and accessing the memory and executing the procedures. It may include a processor that The procedures refer to Local Layout Effect (LLE) data, which contains information about the physical characteristics of a standard cell that depends on the surrounding layout, and the context of the placed instance with respect to the surrounding layout of the placed instance on the integrated circuit. An instance characterizer for calculating physical characteristics of the arranged instance based on context data including, and generating result data including performance information of the integrated circuit based on the calculated physical characteristics of the arranged instance. It may include a performance analyzer that

본 개시의 기술적 사상의 일측면에 따른, 집적 회로를 설계하는 방법은 컴퓨팅 시스템에 의해서 수행될 수 있고, 본 방법은, 주변 레이아웃에 의존하는 표준 셀의 물리적 특성에 관한 정보를 포함하는 LLE 데이터에 엑세스하는 단계, 집적 회로에 배치된 인스턴스의 주변 레이아웃에 관한 상기 배치된 인스턴스의 컨텍스트를 포함하는 컨텍스트 데이터에 엑세스하는 단계, LLE 데이터 및 컨텍스트 데이터에 기초하여, 상기 배치된 인스턴스의 물리적 특성을 산출하는 단계, 및 상기 배치된 인스턴스의 산출된 물리적 특성에 기초하여 집적 회로의 성능 정보를 포함하는 결과 데이터를 생성하는 단계를 포함할 수 있다.According to one aspect of the technical idea of the present disclosure, a method of designing an integrated circuit may be performed by a computing system, and the method includes LLE data including information about physical characteristics of a standard cell depending on a peripheral layout. accessing context data including a context of the deployed instance with respect to the surrounding layout of the deployed instance on an integrated circuit; calculating physical characteristics of the deployed instance based on the LLE data and the context data; and generating result data including performance information of an integrated circuit based on the calculated physical characteristics of the arranged instances.

본 개시의 예시적 실시예에 따른 집적 회로를 설계하기 위한 시스템 및 방법에 의하면, 집적 회로에서 로컬 레이아웃 효과는 제거되거나 감소될 수 있고, 로컬 레이아웃 효과에 의한 성능 변동이 감소된 집적 회로가 설계될 수 있다.According to the system and method for designing an integrated circuit according to exemplary embodiments of the present disclosure, local layout effects in an integrated circuit can be eliminated or reduced, and an integrated circuit with reduced performance fluctuation due to the local layout effect can be designed. can

또한, 본 개시의 예시적 실시예에 따른 집적 회로를 설계하기 위한 시스템 및 방법에 의하면, 로컬 레이아웃 효과를 반영하여 집적 회로의 실제적인 성능이 분석될 수 있고, 이에 따라 집적 회로는 최적으로 설계될 수 있다.In addition, according to the system and method for designing an integrated circuit according to an exemplary embodiment of the present disclosure, the actual performance of the integrated circuit can be analyzed by reflecting the local layout effect, and accordingly the integrated circuit can be optimally designed. can

도 1은 예시적 실시예에 따른 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 시스템의 블록도를 나타낸다.
도 2는 예시적 실시예에 따라 집적 회로의 개략적인 평면도를 나타낸다.
도 3은 예시적 실시예에 따라 도 1의 프로그램의 블록도를 나타낸다.
도 4는 예시적 실시예에 따라 도 3의 배치기의 블록도를 나타낸다.
도 5 내지 도 8은 예시적 실시예들에 따라 도 4의 사전 배치기의 예시적인 동작들을 나타내는 도면들이다.
도 9a 및 도 9b는 도 3의 구현 그룹의 예시들을 나타낸다.
도 10a 및 도 10b는 예시적 실시예들에 따라 도 9a 또는 도 9b의 인스턴스 시프터의 예시적인 동작들을 나타내는 도면이다.
도 11은 예시적 실시예에 따라 도 3의 분석 그룹의 블록도를 나타낸다.
도 12는 예시적 실시예에 따라 LLE 데이터 생성기의 블록도를 나타낸다.
도 13a 및 도 13b는 예시적 실시예들에 따라 도 12의 셀 컨텍스트 생성기가 표준 셀의 컨텍스트를 생성하는 예시적인 동작들을 나타낸다.
도 14는 예시적 실시예에 따른 LLE 데이터의 예시를 나타낸다.
도 15는 예시적 실시예에 따른 컨텍스트 데이터 생성기의 블록도이다.
도 16은 도 15의 인스턴스 컨텍스트 추출기의 예시적인 동작을 나타낸다.
도 17은 예시적 실시예에 따라 집적 회로 설계 방법을 나타내는 순서도이다.
도 18은 도 17의 단계 S120의 예시를 나타내는 순서도이다.
도 19는 예시적 실시예에 따라 LLE 유발 구조를 제거하기 위해 인스턴스를 이동시키는 방법을 나타내는 순서도이다.
도 20은 예시적 실시예에 따라 집적 회로 설계 방법을 나타내는 순서도이다.
1 shows a block diagram of a computing system including a memory storing a program according to an example embodiment.
2 shows a schematic plan view of an integrated circuit according to an exemplary embodiment.
Figure 3 shows a block diagram of the program of Figure 1 according to an exemplary embodiment.
Fig. 4 shows a block diagram of the placer of Fig. 3 according to an exemplary embodiment.
5 to 8 are diagrams illustrating exemplary operations of the pre-placer of FIG. 4 according to example embodiments.
9a and 9b show examples of the implementation group of FIG. 3 .
10A and 10B are diagrams illustrating exemplary operations of the instance shifter of FIG. 9A or 9B according to example embodiments.
Figure 11 shows a block diagram of the analysis group of Figure 3 according to an exemplary embodiment.
Fig. 12 shows a block diagram of an LLE data generator according to an exemplary embodiment.
13A and 13B show example operations for the cell context generator of FIG. 12 to create a standard cell context according to example embodiments.
14 shows an example of LLE data according to an example embodiment.
Fig. 15 is a block diagram of a context data generator according to an exemplary embodiment.
16 illustrates an exemplary operation of the instance context extractor of FIG. 15 .
Fig. 17 is a flowchart illustrating an integrated circuit design method according to an exemplary embodiment.
18 is a flowchart illustrating an example of step S120 of FIG. 17 .
Fig. 19 is a flow chart illustrating a method of moving an instance to remove an LLE-causing structure according to an example embodiment.
Fig. 20 is a flowchart illustrating an integrated circuit design method according to an exemplary embodiment.

도 1은 본 개시의 예시적 실시예에 따른 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 시스템(10)의 블록도를 나타낸다. 본 개시의 예시적 실시예에 따라 집적 회로를 설계하는 동작은 컴퓨팅 시스템(10)에서 수행될 수 있다.1 shows a block diagram of a computing system 10 that includes a memory storing programs in accordance with an exemplary embodiment of the present disclosure. An operation of designing an integrated circuit according to an exemplary embodiment of the present disclosure may be performed in computing system 10 .

컴퓨팅 시스템(10)은 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같이 고정형 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터 등과 같이 휴대형 컴퓨팅 시스템일 수도 있다. 도 1에 도시된 바와 같이, 컴퓨터 시스템(10)은 CPU(central processing unit)(11), 입출력 장치들(12), 네트워크 인터페이스(13), RAM(random access memory)(14), ROM(read only memory)(15) 및 저장 장치(16)를 포함할 수 있다. CPU(11), 입출력 장치들(12), 네트워크 인터페이스(13), RAM(14), ROM(15) 및 저장 장치(16)은 버스(17)에 연결될 수 있고, 버스(17)를 통해서 서로 통신할 수 있다.The computing system 10 may be a fixed computing system such as a desktop computer, a workstation, or a server, or a portable computing system such as a laptop computer. As shown in FIG. 1, a computer system 10 includes a central processing unit (CPU) 11, input/output devices 12, a network interface 13, a random access memory (RAM) 14, and a read only memory) 15 and a storage device 16. The CPU 11, input/output devices 12, network interface 13, RAM 14, ROM 15 and storage device 16 can be connected to the bus 17 and communicate with each other through the bus 17. can communicate

CPU(11)는 프로세싱 유닛으로 지칭될 수 있고, 예컨대 마이크로프로세서(micro-processor), AP(application processor, DSP(digital signal processor), GPU(graphic processing unit)와 같이, 임의의 명령어 세트(예컨대, IA-32(Intel Architecture-32), 64 비트 확장 IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 등)를 실행할 수 있는 코어를 포함할 수 있다. 예를 들면, CPU(11)는 버스(17)를 통해서 메모리, 즉 RAM(14) 또는 ROM(15)에 액세스할 수 있고, RAM(14) 또는 ROM(15)에 저장된 명령어들을 실행할 수 있다. 도 1에 도시된 바와 같이, RAM(14)은 본 개시의 예시적 실시예에 따른 프로그램(20) 또는 그것의 적어도 일부를 저장할 수 있고, 프로그램(20)은 CPU(11)로 하여금 집적 회로를 설계하기 위한 동작을 수행하도록 할 수 있다. 즉, 프로그램(20)은 CPU(11)에 의해서 실행 가능한 복수의 명령어들을 포함할 수 있고, 프로그램(20)에 포함된 복수의 명령어들은 CPU(11)로 하여금 본 개시의 예시적 실시예들에 따른 집적 회로를 설계하기 위한 동작들을 수행하도록 할 수 있다.The CPU 11 may be referred to as a processing unit, such as a micro-processor, an application processor (AP), a digital signal processor (DSP), or a graphic processing unit (GPU). Intel Architecture-32 (IA-32), 64-bit extensions IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64, etc.) 11 can access memory, namely RAM 14 or ROM 15, via bus 17, and can execute instructions stored in RAM 14 or ROM 15. As shown in FIG. As such, the RAM 14 may store a program 20 or at least a portion thereof according to an exemplary embodiment of the present disclosure, and the program 20 causes the CPU 11 to perform operations for designing an integrated circuit. That is, the program 20 may include a plurality of instructions executable by the CPU 11, and the plurality of instructions included in the program 20 may cause the CPU 11 to perform the present disclosure. Operations for designing an integrated circuit according to example embodiments may be performed.

저장 장치(16)는 컴퓨팅 시스템(10)에 공급되는 전력이 차단되더라도 저장된 데이터를 소실하지 아니할 수 있다. 예를 들면, 저장 장치(16)는 EEPROM(non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수도 있고, 자기 테이프, 광학 디스크, 자기 디스크와 같은 저장 매체를 포함할 수도 있다. 또한, 저장 장치(16)는 컴퓨팅 시스템(10)으로부터 탈착 가능할 수도 있다. 저장 장치(16)는 본 개시의 예시적 실시예에 따른 프로그램(20)을 저장할 수 있으며, 프로그램(20)이 CPU(11)에 의해서 실행되기 이전에 저장 장치(16)로부터 프로그램(20) 또는 그것의 적어도 일부가 RAM(14)으로 로딩될 수 있다. 저장 장치(16)는 프로그램 언어로 작성된 파일을 저장할 수도 있고, 컴파일러 등에 의해서 생성된 프로그램(20) 또는 그것의 적어도 일부가 RAM(14)으로 로딩될 수도 있다.The storage device 16 may not lose stored data even if power supplied to the computing system 10 is cut off. For example, the storage device 16 may include non-volatile memory such as an electrically erasable programmable read-only memory (EEPROM), flash memory, phase change random access memory (PRAM), and resistance random access memory (RRAM). ), NFGM (Nano Floating Gate Memory), PoRAM (Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM (Ferroelectric Random Access Memory), etc. It may also include a storage medium such as a magnetic disk. Additionally, the storage device 16 may be removable from the computing system 10 . The storage device 16 may store the program 20 according to an exemplary embodiment of the present disclosure, and before the program 20 is executed by the CPU 11, the program 20 or At least part of it may be loaded into RAM 14 . The storage device 16 may store a file written in a program language, and the program 20 generated by a compiler or the like or at least a part thereof may be loaded into the RAM 14 .

저장 장치(16)는 CPU(11)에 의해서 처리될 데이터 또는 CPU(11)에 의해서 처리된 데이터를 저장할 수도 있다. 즉, CPU(11)는 프로그램(20)에 따라, 저장 장치(16)에 저장된 데이터를 처리함으로써 새로운 데이터를 생성할 수 있고, 생성된 데이터를 저장 장치(16)에 저장할 수도 있다. 예를 들면, 저장 장치(16)는 프로그램(20)에 의해서 처리되는 도 3의 입력 데이터(D010)를 저장할 수도 있으며, 프로그램(20)에 의해서 생성되는 도 3의 레이아웃 데이터(D100) 및/또는 결과 데이터(D200)를 저장할 수도 있다.The storage device 16 may store data to be processed by the CPU 11 or data processed by the CPU 11 . That is, the CPU 11 may generate new data by processing data stored in the storage device 16 according to the program 20 and may store the generated data in the storage device 16 . For example, the storage device 16 may store the input data D010 of FIG. 3 processed by the program 20, and the layout data D100 of FIG. 3 generated by the program 20 and/or Result data D200 may also be stored.

입출력 장치들(12)은 키보드, 포인팅 장치 등과 같은 입력 장치를 포함할 수 있고, 디스플레이 장치, 프린터 등과 같은 출력 장치를 포함할 수 있다. 예를 들면, 사용자는 입출력 장치들(12)을 통해서, CPU(11)에 의해 프로그램(20)의 실행을 트리거하거나 도 3의 입력 데이터(D010)를 입력할 수도 있으며, 도 3의 레이아웃 데이터(D100), 결과 데이터(D200) 및/또는 오류 메시지 등을 확인할 수도 있다.The input/output devices 12 may include input devices such as keyboards and pointing devices, and may include output devices such as display devices and printers. For example, the user may trigger the execution of the program 20 by the CPU 11 through the input/output devices 12 or input the input data D010 of FIG. 3, and the layout data of FIG. 3 ( D100), result data (D200) and/or error messages may be checked.

네트워크 인터페이스(13)는 컴퓨팅 시스템(10) 외부의 네트워크에 대한 액세스를 제공할 수 있다. 예를 들면, 네트워크는 다수의 컴퓨팅 시스템들 및 통신 링크들을 포함할 수 있고, 통신 링크들은 유선 링크들, 광학 링크들, 무선 링크들 또는 임의의 다른 형태의 링크들을 포함할 수 있다. 도 3의 입력 데이터(D010)가 네트워크 인터페이스(13)를 통해서 컴퓨팅 시스템(10)에 제공될 수도 있고, 레이아웃 데이터(D100) 및/또는 결과 데이터(D200)가 네트워크 인터페이스(13)를 통해서 다른 컴퓨팅 시스템에 제공될 수도 있다.Network interface 13 may provide access to a network external to computing system 10 . For example, a network may include multiple computing systems and communication links, which may include wired links, optical links, wireless links, or any other type of links. The input data D010 of FIG. 3 may be provided to the computing system 10 through the network interface 13, and the layout data D100 and/or result data D200 may be provided to other computing systems through the network interface 13. may be provided to the system.

도 2는 본 개시의 예시적 실시예에 따라 집적 회로(5)의 개략적인 평면도를 나타낸다. 도 2에서 집적 회로(5)에 포함된 각 구성요소들은, 설명의 편의를 위해서 스케일에 맞지 아니할 수 있고, 과장되거나 축소되어 도해될 수 있다.2 shows a schematic plan view of an integrated circuit 5 according to an exemplary embodiment of the present disclosure. In FIG. 2, each component included in the integrated circuit 5 may not fit to scale for convenience of description and may be exaggerated or reduced.

도 2를 참조하면, 집적 회로(5)는 표준 셀들의 인스턴스들(C01 내지 C06)을 포함할 수 있다. 동일한 표준 셀에 대응하는 인스턴스들(예컨대, C02, C03, C04, C05)은 동일한 레이아웃을 가질 수 있고, 상이한 표준 셀들에 각각 대응하는 인스턴스들은 상이한 레이아웃들을 각각 가질 수 있다. 인스턴스들(C01 내지 C06)은 복수의 행들(R01 내지 R04)에 정렬되어 배치될 수 있다. 인스턴스들(C01 내지 C06)은 X방향으로 연장되는 복수의 행들(R01 내지 R04)과 수직한 방향(즉, Y방향)으로 규정된 길이(H)(즉, 높이)를 가질 수 있고, 복수의 행들과 평행한 방향(즉, X방향)으로 동일하거나 상이한 길이(즉, 폭)를 가질 수 있다. 인스턴스들(C01 내지 C06)이 정렬되는 복수의 행들(R01 내지 R04) 각각은 표준 셀의 최소 높이와 일치하는 높이를 가질 수 있다. 도 2의 인스턴스들(C01 내지 C05 및 C07)과 같이 행의 높이(H)와 일치하는 높이를 가지는 인스턴스들의 표준 셀은 싱글 하이트 셀(single height cell)로서 지칭될 수 있고, 도 2의 인스턴스(C06)과 같이 행의 높이(H)의 배수와 일치하는 높이를 가지는 인스턴스의 표준 셀은 멀티-하이트 셀(multi-height cell)로서 지칭될 수 있다.Referring to FIG. 2 , integrated circuit 5 may include instances of standard cells C01 to C06 . Instances corresponding to the same standard cell (eg, C02, C03, C04, and C05) may have the same layout, and instances respectively corresponding to different standard cells may have different layouts, respectively. Instances C01 to C06 may be arranged and arranged in a plurality of rows R01 to R04. The instances C01 to C06 may have a length H (ie, height) defined in a direction perpendicular to the plurality of rows R01 to R04 extending in the X direction (ie, the Y direction), and They may have the same or different lengths (ie widths) in a direction parallel to the rows (ie X direction). Each of the plurality of rows R01 to R04 in which the instances C01 to C06 are aligned may have a height identical to the minimum height of the standard cell. A standard cell of instances having a height matching the height H of the row, such as the instances C01 to C05 and C07 of FIG. 2, may be referred to as a single height cell, and the instance of FIG. 2 ( C06), a standard cell of an instance having a height equal to a multiple of the row height (H) may be referred to as a multi-height cell.

기능, 타이밍 특성 등과 같은 표준 셀의 물리적 특성에 기초하여, 복수의 표준 셀들에 관한 정보를 포함하는 셀 라이브러리(예컨대, 도 3의 D310)로부터 집적 회로에 포함될 표준 셀이 선정될 수 있고, 선정된 표준 셀의 인스턴스가 배치됨으로써 집적 회로(5)의 레이아웃이 생성될 수 있다. 인스턴스는 그 주변 레이아웃에 따라 표준 셀의 물리적 특성(즉, 표준 셀의 진성(intrinsic) 물리적 특성)과 상이한 물리적 특성을 가질 수 있다. 예를 들면, 인스턴스에 포함된 트랜지스터의 문턱전압(Vth) 및 포화전류(Idsat)는 인스턴스 주변의 레이아웃에 따라 변동할 수 있고, 이에 따라 집적 회로(5)에 포함된 인스턴스의 물리적 특성은 셀 라이브러리에서 정의하는 표준 셀의 진성(intrinsic) 물리적 특성과 상이할 수 있다. 이와 같이 인스턴스의 주변 레이아웃에 의한 영향은 로컬 레이아웃 효과(local layout effect; LLE) 또는 레이아웃 의존 효과(layout dependent effect; LDE)로서 지칭될 수 있고, 인스턴스에 대한 로컬 레이아웃 효과는 인스턴스 및 인스턴스 주변 레이아웃이 결정되기 전까지는 정확하게 파악되기 어려울 수 있다.A standard cell to be included in an integrated circuit may be selected from a cell library (eg, D310 of FIG. 3 ) including information about a plurality of standard cells based on physical characteristics of the standard cell, such as function and timing characteristics. The layout of the integrated circuit 5 can be created by placing instances of standard cells. An instance may have physical properties different from those of a standard cell (ie, intrinsic physical properties of a standard cell) depending on its surrounding layout. For example, the threshold voltage (Vth) and saturation current (Idsat) of the transistor included in the instance may vary according to the layout around the instance, and accordingly, the physical characteristics of the instance included in the integrated circuit 5 are determined by the cell library. It may be different from the intrinsic physical properties of the standard cell defined in In this way, the effect of the layout around the instance may be referred to as a local layout effect (LLE) or a layout dependent effect (LDE), and the local layout effect on the instance is that the instance and the layout around the instance It can be difficult to pinpoint exactly until a decision has been made.

트랜지스터의 물리적 특성, 예컨대 문턱전압(Vth) 및 포화전류(Idsat) 등은, 그 트랜지스터의 주변에 형성된 프론트-엔드-레이어(front-end-layer 또는 front-end-of-layer)의 패턴에 의해서 변동될 수 있다. 예를 들면, 트랜지스터의 물리적 특성은, Y방향으로 정렬된 프론트-엔드-레이어의 패턴의 길이 및 X방향으로 이격된 프론트-엔드-레이어의 패턴들간 거리 등에 의해서 변동될 수 있다. 프론트-엔드-레이어는 트랜지스터의 형성과 관계된 레이어로서, 반도체 제조 공정에서 트랜지스터, 캐패시터, 저항 등과 같은 소자들을 형성하는 FEOL(front-end-of-line)에 의해 형성되는 레이어를 지칭할 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 표준 셀의 인스턴스들(C01 내지 C06)은, 에지에 형성되거나 내부에 형성된 프론트-엔드-레이어의 패턴들을 포함할 수 있다.The physical characteristics of a transistor, such as the threshold voltage (Vth) and saturation current (Idsat), are determined by the pattern of the front-end-layer (front-end-layer or front-end-of-layer) formed around the transistor. may fluctuate. For example, the physical characteristics of the transistor may vary depending on the length of the front-end layer patterns aligned in the Y direction and the distance between the front-end layer patterns spaced apart in the X direction. A front-end-layer is a layer related to formation of a transistor, and may refer to a layer formed by a front-end-of-line (FEOL) forming elements such as transistors, capacitors, and resistors in a semiconductor manufacturing process. For example, as shown in FIG. 2 , instances C01 to C06 of a standard cell may include front-end-layer patterns formed on the edge or inside.

본 개시의 예시적 실시예에 따라, 도 1의 컴퓨팅 시스템(10)에서 수행될 수 있는 집적 회로를 설계하는 방법은, 프론트-엔드-레이어에 기초하여 로컬 레이아웃 효과를 고려할 수 있다. 예를 들면, 도 4 내지 도 10b를 참조하여 후술되는 바와 같이, 프론트-엔드-레이어에 의한 로컬 레이아웃 효과의 발생이 감소하도록 인스턴스들이 배치될 수 있고, 이에 따라, 로컬 레이아웃 효과 및 로컬 레이아웃 효과에 의한 집적 회로의 성능 변동가 제거되거나 감소할 수 있다. 또한, 도 11 내지 도 16을 참조하여 후술되는 바와 같이, 인스턴스는 그 주변의 프론트-엔드-레이어에 기초하여 실제적인 물리적 특성이 산출될 수 있고, 이에 따라, 로컬 레이아웃 효과를 반영하여 집적 회로의 실제적인 성능이 분석될 수 있고, 집적 회로는 불필요한 성능 마진이 제거되어 최적으로 설계될 수 있다.According to an exemplary embodiment of the present disclosure, a method of designing an integrated circuit, which may be performed in the computing system 10 of FIG. 1, may consider local layout effects based on front-end-layers. For example, as described below with reference to FIGS. 4 to 10B , the instances may be arranged to reduce the occurrence of local layout effects by front-end-layers, thereby reducing local layout effects and local layout effects. Variation in the performance of the integrated circuit due to this may be eliminated or reduced. In addition, as will be described later with reference to FIGS. 11 to 16 , actual physical properties of an instance can be calculated based on its surrounding front-end layers, and accordingly, the local layout effect of the integrated circuit is reflected. Actual performance can be analyzed, and the integrated circuit can be optimally designed with unnecessary performance margins removed.

도 3은 본 개시의 예시적 실시예에 따라 도 1의 프로그램(20)의 블록도를 나타낸다. 도 1을 참조하여 전술된 바와 같이, 프로그램(20)은 복수의 명령어들을 포함할 수 있고, 프로그램(20)에 포함된 복수의 명령어들은 CPU(11)로 하여금 본 개시의 예시적 실시예에 따른 집적 회로를 설계하는 동작을 수행하도록 할 수 있다. 도 3에 도시된, 프로그램(20)의 구성요소들 전부가 도 1의 RAM(14)에 저장될 수도 있고, 구성요소들 중 적어도 일부가 도 1의 RAM(14)에 저장되고 나머지 일부가 도 1의 ROM(15) 또는 저장 장치(16)에 저장될 수도 있다.FIG. 3 shows a block diagram of program 20 of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1, program 20 may include a plurality of instructions, the plurality of instructions included in program 20 causing CPU 11 to perform according to an exemplary embodiment of the present disclosure. It is possible to perform an operation of designing an integrated circuit. All of the components of the program 20 shown in FIG. 3 may be stored in the RAM 14 of FIG. 1, and at least some of the components are stored in the RAM 14 of FIG. 1's ROM 15 or storage device 16.

도 3을 참조하면, 프로그램(20)은 구현 그룹(100) 및 분석 그룹(200)을 포함할 수 있고, 구현 그룹(100) 및 분석 그룹(200)은 복수의 프로시저들(120, 140, 220, 240)을 각각 포함할 수 있다. 프로시저(procedure)는 특정 태스크를 수행하기 위한 일련의 명령어들을 지칭할 수 있다. 프로시저는 함수(function), 루틴(routine), 서브루틴(subroutine), 서브프로그램(subprogram) 등으로도 지칭될 수 있다. 프로시저들 각각은 외부로부터 제공된 데이터(예컨대, D010) 또는 다른 프로시저가 생성한 데이터(예컨대, D180)를 처리할 수 있다. 본 명세서에서, 도 1의 CPU(11)가 프로시저(예컨대, 120, 140, 220 또는 240)를 실행함으로써 동작을 수행하는 것은, 프로시저(예컨대, 120, 140, 220 또는 240)가 그러한 동작을 수행하는 것으로도 표현된다.Referring to FIG. 3 , the program 20 may include an implementation group 100 and an analysis group 200, and the implementation group 100 and the analysis group 200 may include a plurality of procedures 120, 140, 220, 240) may be included, respectively. A procedure may refer to a series of instructions to perform a specific task. A procedure may also be referred to as a function, routine, subroutine, subprogram, and the like. Each of the procedures may process data provided from the outside (eg, D010) or data generated by another procedure (eg, D180). In this specification, CPU 11 of FIG. 1 performing an operation by executing a procedure (eg, 120, 140, 220, or 240) means that the procedure (eg, 120, 140, 220, or 240) performs such an operation. It is also expressed as performing

셀 라이브러리(D310), 설계 규칙(D320) 및 LLE 데이터(D330)는 저장 매체(30)에 저장될 수 있고, 예컨대 저장 매체(30)는 도 1의 저장 장치(16)일 수 있다. 셀 라이브러리(D310)는 복수의 표준 셀들의 물리적 특성에 관한 정보, 예컨대 기능 정보, 타이밍 정보, 레이아웃 정보, 전력 정보 중 적어도 하나를 포함할 수 있다. 설계 규칙(D320)은 집적 회로가 반도체 공정에 의해서 제조되기 위하여 및/또는 집적 회로의 성능 저하를 방지하기 위하여 집적 회로의 레이아웃이 준수해야 할 규칙들을 포함할 수 있다. 또한, 후술되는 바와 같이, 설계 규칙(D320)은 로컬 레이아웃 효과를 유발하는 구조를 검출하기 위한 정보를 더 포함할 수도 있다. LLE 데이터(D330)는 로컬 레이아웃 효과에 의한 표준 셀의 물리적 특성 변동에 관한 정보를 포함할 수 있다. 도 12 내지 도 14을 참조하여 후술되는 바와 같이, LLE 데이터(D330)는 LLE 데이터 생성기(300)에 의해서 생성될 수 있고, 도 3의 구현 그룹(100) 및 분석 그룹(200)이 실행되기 전에 준비될 수 있다.The cell library D310, the design rule D320, and the LLE data D330 may be stored in the storage medium 30, and the storage medium 30 may be the storage device 16 of FIG. 1, for example. The cell library D310 may include at least one of information about physical characteristics of a plurality of standard cells, for example, function information, timing information, layout information, and power information. The design rule D320 may include rules that the layout of the integrated circuit must comply with in order for the integrated circuit to be manufactured using a semiconductor process and/or to prevent performance degradation of the integrated circuit. Also, as will be described later, the design rule D320 may further include information for detecting a structure that causes a local layout effect. The LLE data D330 may include information about physical property variation of standard cells due to local layout effects. As described below with reference to FIGS. 12 to 14 , the LLE data D330 may be generated by the LLE data generator 300 and before the implementation group 100 and analysis group 200 of FIG. 3 are executed. can be prepared

구현 그룹(100)은 저장 매체(30)에 저장된 데이터(D310, D320, D330)를 참조할 수 있고, 입력 데이터(D010)로부터 레이아웃 데이터(D100)를 생성할 수 있다. 입력 데이터(D010)는 집적 회로를 정의하는 데이터로서, 예컨대 표준 셀들의 인스턴스들 및 그 인스턴스들의 전기적 연결관계들에 관한 정보를 포함하는 네트리스트(netlist)를 포함할 수 있다. 또한, 입력 데이터(D010)는 집적 회로의 요건(requirement)에 관한 정보, 예컨대 타이밍 조건, 전력 조건, 면적 조건 등을 더 포함할 수도 있다. 구현 그룹(100)은 저장 매체(30)에 저장된 데이터(D310, D320, D330)를 참조함으로써, 집적 회로를 정의하는 입력 데이터(D101)로부터 집적 회로의 레이아웃의 물리적 정보를 포함하는 레이아웃 데이터(D100)를 생성할 수 있다. The implementation group 100 may refer to data D310 , D320 , and D330 stored in the storage medium 30 and may generate layout data D100 from the input data D010 . The input data D010 is data defining an integrated circuit, and may include, for example, a netlist including instances of standard cells and information about electrical connections between the instances. In addition, the input data D010 may further include information on requirements of the integrated circuit, such as timing conditions, power conditions, area conditions, and the like. The implementation group 100 refers to the data D310, D320, and D330 stored in the storage medium 30, and the layout data D100 including physical information of the layout of the integrated circuit from the input data D101 defining the integrated circuit. ) can be created.

또한, 구현 그룹(100)은, 레이아웃 데이터(D100)에 기초하여 분석 그룹(200)이 생성한, 집적 회로의 성능에 관한 정보를 포함하는 결과 데이터(D200)를 엑세스할 수 있다. 구현 그룹(100)은 결과 데이터(D200)에 기초하여, 레이아웃 데이터(D100)에 따른 집적 회로의 성능이 입력 데이터(D010)에 포함된 집적 회로의 요건을 충족하는지 여부에 따라 집적 회로의 레이아웃을 변경할 수 있고, 변경된 레이아웃을 나타내는 새로운 레이아웃 데이터(D100)를 생성할 수 있다. 예를 들면, 결과 데이터(D200)는 로컬 레이아웃 효과에 따른 집적 회로의 성능 저하 또는 성능 마진을 포함할 수 있고, 구현 그룹(100)은 결과 데이터(D200)에 기초하여 최적으로 설계된 집적 회로의 레이아웃을 나타내는 새로운 레이아웃 데이터(D100)를 생성할 수 있다.Also, the implementation group 100 may access result data D200 including information about the performance of the integrated circuit generated by the analysis group 200 based on the layout data D100. The implementation group 100, based on the result data D200, layouts the integrated circuit according to whether the performance of the integrated circuit according to the layout data D100 meets the requirements of the integrated circuit included in the input data D010. It can be changed, and new layout data D100 representing the changed layout can be generated. For example, the resulting data D200 may include performance degradation or performance margin of the integrated circuit due to local layout effects, and the implementation group 100 optimally designs the layout of the integrated circuit based on the resulting data D200. New layout data D100 representing can be created.

구현 그룹(100)의 배치기(120)는 셀 라이브러리(D310)를 참조하여 입력 데이터(D010)에서 정의된 인스턴스들을 배치할 수 있다. 배치기(120)는 셀 라이브러리(D310)를 참조함으로써 입력 데이터(D010)에서 정의된 인스턴스들의 레이아웃을 획득할 수 있고, 입력 데이터(D010)에 포함된 집적 회로의 요건에 관한 정보 및 설계 규칙(D320)에 기초하여 인스턴스들(즉, 인스턴스들의 레이아웃들)을 배치할 수 있다. 후술되는 바와 같이, 본 개시의 예시적 실시예에 따라, 배치기(120)는 로컬 레이아웃 효과를 유발하는 구조의 발생이 감소하도록 인스턴스들을 배치할 수 있다. 배치기(120)에 관한 자세한 내용은 도 4 내지 도 8을 참조하여 후술될 것이다.The placer 120 of the implementation group 100 may place instances defined in the input data D010 by referring to the cell library D310. The placer 120 may acquire the layout of the instances defined in the input data D010 by referring to the cell library D310, and may obtain the information about the requirements of the integrated circuit and the design rule D320 included in the input data D010. ), it is possible to arrange instances (ie, layouts of instances) based on. As described below, according to an exemplary embodiment of the present disclosure, placer 120 may place instances such that the occurrence of structures that cause local layout effects is reduced. Details of the placer 120 will be described later with reference to FIGS. 4 to 8 .

라우터(140)는 배치기(120)에 의해서 배치된 인스턴스들을 전기적으로 연결하는 상호연결들을 생성할 수 있다. 예를 들면, 라우터(140)는 라우팅 리소스, 즉 복수의 배선층들 및 비아들을 사용하여, 배선층에 형성된 패턴 및/또는 비아를 포함하는 상호연결을 생성할 수 있다. 라우터(140)는 입력 데이터(D010)에 정의된 인스턴스들의 연결관계에 관한 정보 및 설계 규칙(D320)에 기초하여 상호연결들을 생성할 수 있다. 또한, 라우터(140)는 입력 데이터(D010)에 포함된 집적 회로의 요건에 관한 정보에 기초하여 상호연결들을 생성할 수 있다.The router 140 may create interconnections that electrically connect the instances deployed by the placer 120 . For example, the router 140 may use a routing resource, ie, a plurality of wiring layers and vias, to create an interconnection that includes vias and/or patterns formed in wiring layers. The router 140 may generate interconnections based on the design rule D320 and information about connection relationships between instances defined in the input data D010. Additionally, router 140 may generate interconnections based on information about the requirements of the integrated circuit included in input data D010.

분석 그룹(200)은 저장 매체(30)에 저장된 데이터(D310, D320, D330)를 참조할 수 있고, 레이아웃 데이터(D100)로부터 결과 데이터(D200)를 생성할 수 있다. 레이아웃 데이터(D100)는 집적 회로의 레이아웃에 관한 물리적 정보를 포함할 수 있고, 예를 들면 GDSII 포맷을 가지는 데이터를 포함할 수 있다. 비록 도 3에서 분석 그룹(200)은 구현 그룹(100)에 의해서 생성된 레이아웃 데이터(D100)를 엑세스하는 것으로 도시되었으나, 레이아웃 데이터(D100)는 분석 그룹(200)이 수행되는 컴퓨팅 시스템과 상이한 컴퓨팅 시스템에 의해서 생성되어 분석 그룹(200)에 제공될 수도 있다. 분석 그룹(200)은 레이아웃 데이터(D100)에 기초하여 집적 회로의 성능을 분석할 수 있고, 집적 회로의 성능에 관한 정보를 포함하는 결과 데이터(D200)를 생성할 수 있다. 후술되는 바와 같이, 분석 그룹(200)은 집적 회로의 레이아웃에서 발생하는 로컬 레이아웃 효과를 추정할 수 있고, 이에 따라 결과 데이터(D200)는 실제적인 집적 회로의 성능을 반영할 수 있다.The analysis group 200 may refer to the data D310 , D320 , and D330 stored in the storage medium 30 , and may generate result data D200 from the layout data D100 . The layout data D100 may include physical information about the layout of the integrated circuit, and may include data having a GDSII format, for example. Although the analysis group 200 is shown in FIG. 3 as accessing layout data D100 generated by the implementation group 100, the layout data D100 is a computing system different from the computing system on which the analysis group 200 is performed. It may be generated by the system and provided to analysis group 200 . The analysis group 200 may analyze the performance of the integrated circuit based on the layout data D100 and generate result data D200 including information about the performance of the integrated circuit. As will be described later, the analysis group 200 can estimate the local layout effect occurring in the layout of the integrated circuit, and accordingly, the resulting data D200 can reflect the actual performance of the integrated circuit.

분석 그룹(200)의 인스턴스 특성화기(220)는 LLE 데이터(D330)를 참조하여 레이아웃 데이터(D100)에 포함된 인스턴스의 물리적 특성을 산출할 수 있다. 즉, 인스턴스 특성화기(220)는 인스턴스의 주변 레이아웃, 즉 컨텍스트에 의해서 인스턴스에 미치는 로컬 레이아웃 효과를 추정함으로써 인스턴스의 물리적 특성을 산출할 수 있다. 예를 들면, 동일한 표준 셀의 인스턴스들이더라도, 인스턴스 특성화기(220)에 의해서 추출된 그 인스턴스들의 물리적 특성들은 상이할 수 있다. 도 15 및 도 16을 참조하여 후술되는 바와 같이, 인스턴스 특성화기(220)는 인스턴스에 포함된 프론트-엔드-레이어의 패턴 및 주변 레이아웃에 형성된 프론트-엔드-레이어의 패턴에 기초하여 인스턴스의 물리적 특성을 산출할 수 있다.The instance characterizer 220 of the analysis group 200 may calculate the physical characteristics of the instance included in the layout data D100 by referring to the LLE data D330. That is, the instance characterizer 220 may calculate the physical characteristics of the instance by estimating the local layout effect on the instance by the surrounding layout of the instance, that is, the context. For example, even if they are instances of the same standard cell, physical characteristics of the instances extracted by the instance characterizer 220 may be different. As will be described later with reference to FIGS. 15 and 16 , the instance characterizer 220 performs physical characteristics of the instance based on the front-end-layer pattern included in the instance and the front-end-layer pattern formed in the surrounding layout. can be calculated.

성능 분석기(240)는 인스턴스 특성화기(220)에 의해 추출된 인스턴스의 물리적 특성에 기초하여 집적 회로의 성능을 분석함으로써 결과 데이터(D200)를 생성할 수 있다. 예를 들면, 성능 분석기(240)는, 집적 회로의 타이밍 특성, 전력 특성, 노이즈 특성 등을 분석할 수 있다. 또한, 성능 분석기(240)는 입력 데이터(D010)에 포함된 집적 회로의 요건에 관한 정보를 참조하여, 집적 회로의 성능이 요건을 충족하는지 여부를 판단한 결과를 포함하는 결과 데이터(D200)를 생성할 수도 있다.The performance analyzer 240 may generate result data D200 by analyzing the performance of the integrated circuit based on the physical characteristics of the instance extracted by the instance characterizer 220 . For example, the performance analyzer 240 may analyze timing characteristics, power characteristics, and noise characteristics of an integrated circuit. In addition, the performance analyzer 240 generates result data D200 including a result of determining whether the performance of the integrated circuit satisfies the requirements by referring to the information on the requirements of the integrated circuit included in the input data D010. You may.

도 4는 본 개시의 예시적 실시예에 따라 도 3의 배치기(120)의 블록도를 나타낸다. 도 3을 참조하여 전술된 바와 같이, 배치기(120)는 입력 데이터(D010)에 정의된 인스턴스들을 배치할 수 있다. 도 4에 도시된 바와 같이, 배치기(120)는 사전 배치기(122) 및 인스턴스 배치기(124)를 포함할 수 있고, 입력 데이터(D010), 셀 라이브러리(D310) 및 설계 규칙(D320)에 엑세스할 수 있다.4 shows a block diagram of placer 120 of FIG. 3 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 3 , the placer 120 may place the instances defined in the input data D010. As shown in FIG. 4, the placer 120 may include a pre-placer 122 and an instance placer 124, and may have access to input data D010, cell library D310, and design rules D320. can

사전 배치기(122)는 사전 배치 셀들의 인스턴스들을 배치할 수 있다. 사전 배치 셀은, 집적 회로에 포함된 논리 셀들의 인스턴스들(이하, 제2 인스턴스들로서 지칭된다)이 배치되기 전에 배치되는 인스턴스들(제1 인스턴스들로서 지칭된다)에 대응할 수 있고, 비제한적인 예시로서 웰-에지(well-edge) 셀, 웰-바이어스(well-bias) 셀, 디캡(decap) 셀 등일 수 있다. 셀 라이브러리(D310)는 사전 배치 셀에 관한 정보를 포함할 수 있고, 입력 데이터(D010)가 사전 배치 셀의 인스턴스들을 중 일부를 정의할 수도 있고, 사전 배치기(122)가 설계 규칙(D320)에 따라 셀 라이브러리(D310)를 참조하여 사전 배치 셀의 인스턴스들을 생성하여 배치할 수도 있다.The pre-placer 122 may place instances of pre-place cells. The pre-placed cell may correspond to instances (referred to as first instances) disposed before instances of logic cells included in an integrated circuit (hereinafter referred to as second instances) are disposed, and a non-limiting example As , it may be a well-edge cell, a well-bias cell, a decap cell, or the like. The cell library D310 may include information about the pre-placed cells, the input data D010 may define some of the instances of the pre-placed cells, and the pre-placer 122 may conform to the design rules D320. Accordingly, instances of the pre-arranged cell may be created and arranged by referring to the cell library D310.

사전 배치기(122)는, 제2 인스턴스들(즉, 논리 셀들의 인스턴스들)의 배치에 의한 로컬 레이아웃 효과 유발 구조(이하에서, LLE 유발 구조로서 지칭된다)의 발생이 감소하도록, 제1 인스턴스들(즉, 사전 배치 셀들의 인스턴스들)을 배치할 수 있다. 도 4에 도시된 바와 같이, 설계 규칙(D320)은 LLE 규칙(D322)을 포함할 수 있고, LLE 규칙(D322)은 LLE 유발 구조에 관한 정보를 포함할 수 있다. 예를 들면, LLE 규칙(D322)은 프론트-엔드-레이어에 형성된 패턴들이 정렬된 구조를 정의하는 정보를 포함할 수 있고, 사전 배치기(122)는 LLE 규칙(D322)을 참조함으로써, 도 5 내지 도 8을 참조하여 후술되는 바와 같이, 제2 인스턴스들에 포함된 프론트-엔드-레이어의 패턴들이 정렬되는 것이 감소하도록 제1 인스턴스들을 배치할 수 있다. 또한, LLE 규칙(D322)은 프론트-엔드-레이어에 형성된 인접한 패턴들 사이 간격 및/또는 대향하는 길이에 관한 정보를 포함할 수도 있다.The pre-placer 122 is configured to reduce the occurrence of a local layout effect causing structure (hereinafter referred to as an LLE causing structure) by placing second instances (ie, instances of logic cells) in the first instances. (ie instances of pre-placed cells). As shown in FIG. 4 , the design rule D320 may include an LLE rule D322, and the LLE rule D322 may include information about an LLE inducing structure. For example, the LLE rule D322 may include information defining a structure in which patterns formed on the front-end layer are aligned, and the pre-placer 122 refers to the LLE rule D322, FIGS. As will be described later with reference to FIG. 8 , the first instances may be arranged such that alignment of front-end layer patterns included in the second instances is reduced. In addition, the LLE rule D322 may include information about the distance between adjacent patterns formed on the front-end-layer and/or the opposing length.

인스턴스 배치기(124)는 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치할 수 있다. 사전 배치기(122)에 의해서 배치된 제1 인스턴스들에 의해서 제2 인스턴스들이 배치되는 영역이 제한됨으로써, 제2 인스턴스들이 형성하는 LLE 유발 구조는 감소되거나 제거될 수 있다. 이에 따라, 제2 인스턴스들은 셀 라이브러리(D310)에 정의된 표준 셀의 물리적 특성(즉, 진성 물리적 특성)에 근접한 물리적 특성들을 가질 수 있고, 배치가 완료된 제2 인스턴스들의 물리적 특성들 및 입력 데이터(D010)의 생성시(예컨대, 논리 합성시) 예상된 제2 인스턴스들의 물리적 특성들간 격차는 감소할 수 있다. 셀 라이브러리(D310)는 표준 셀에 로컬 레이아웃 효과가 발생하지 아니한 경우 또는 표준 셀에 평균적인 로컬 레이아웃 효과가 발생하는 경우, 표준 셀의 물리적 특성을 정의하는 정보를 포함할 수 있고, 입력 데이터(D010)는 셀 라이브러리(D310)에 기초하여 생성될 수 있다. 결과적으로, 레이아웃 데이터(D100)에 따른 집적 회로의 성능 및 입력 데이터(D010) 생성시 예상된 집적 회로의 성능간 격차가 감소할 수 있고, 이에 따라, 입력 데이터(D010) 생성시 집적 회로가 최적으로 설계될 수 있다.The instance placer 124 may place the second instances in an area where the first instances are not placed. Since the area in which the second instances are arranged is limited by the first instances arranged by the pre-placer 122, the LLE-induced structure formed by the second instances may be reduced or eliminated. Accordingly, the second instances may have physical characteristics close to the physical characteristics (ie, intrinsic physical characteristics) of the standard cell defined in the cell library D310, and the physical characteristics and input data ( When D010) is generated (eg, logic synthesis), a gap between expected physical characteristics of the second instances may be reduced. The cell library D310 may include information defining physical characteristics of the standard cell when the local layout effect does not occur in the standard cell or when the average local layout effect occurs in the standard cell, and input data D010 ) may be generated based on the cell library D310. As a result, the gap between the performance of the integrated circuit according to the layout data D100 and the expected performance of the integrated circuit when the input data D010 is generated may decrease, and accordingly, the integrated circuit is optimized when the input data D010 is generated. can be designed as

도 5 내지 도 8은 본 개시의 예시적 실시예에 따라 도 4의 사전 배치기(122)의 예시적인 동작들을 나타내는 도면들이다. 도 4를 참조하여 전술된 바와 같이, 사전 배치기(122)는, 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과 유발 구조의 발생이 감소하도록, 사전 배치 셀의 제1 인스턴스들을 배치할 수 있다. 도 5 내지 도 8은 사전 배치기(122)에 의해서 배치된 인스턴스들의 예시들을 나타내며, 사전 배치기(122)의 동작이 도 5 내지 도 8에 도시된 예시들에 제한되지 아니하는 점은 이해될 것이다. 도 5 내지 도 8은 도 4를 참조하여 설명될 것이다.5-8 are diagrams illustrating exemplary operations of the pre-placer 122 of FIG. 4 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 4 , the pre-placer 122 may place the first instances of the pre-placement cells so that the occurrence of the local layout effect-causing structure due to the arrangement of the second instances is reduced. 5-8 show examples of instances placed by pre-placer 122, and it will be appreciated that the operation of pre-placer 122 is not limited to the examples shown in FIGS. 5-8. 5 to 8 will be described with reference to FIG.

도 5 내지 도 8의 예시들에서, 도 4의 LLE 규칙(322)은 프론트-엔드-레이어의 패턴들이 정렬된 구조를 LLE 유발 구조로서 정의하는 정보를 포함하는 것으로 가정되고, 제2 인스턴스들 중 적어도 일부는, 도 2에 도시된 바와 같이 대향하는 에지들에 형성된 프론트-엔드-레이어의 패턴들을 포함하는 것으로 가정된다. 이에 따라, 사전 배치기(122)는 제2 인스턴스들이 배치되는 영역의 에지가 일련의 행들에서 정렬되지 아니하도록 제1 인스턴스들을 배치할 수 있다. 즉, 사전 배치기(122)는, 제1 인스턴스들을 적절하게 배치하여 제2 인스턴스들에 배치되는 영역의 에지가 복수의 행들에서 정렬되지 아니하도록 함으로써 제2 인스턴스들의 에지들이 정렬되는 것을 감소시킬 수 있다. 결과적으로, 제2 인스턴스들의 에지들에 형성된 프론트-엔드-레이어의 패턴들이 정렬되는 것이 감소될 수 있다.In the examples of FIGS. 5 to 8 , it is assumed that the LLE rule 322 of FIG. 4 includes information defining a structure in which the patterns of the front-end-layer are aligned as an LLE inducing structure, and among the second instances It is assumed that at least some of them include the patterns of the front-end-layer formed on the opposite edges as shown in FIG. 2 . Accordingly, the pre-placer 122 may arrange the first instances so that the edges of the area where the second instances are arranged are not aligned in a series of rows. That is, the pre-placer 122 properly arranges the first instances so that the edges of the regions to be placed on the second instances are not aligned in the plurality of rows, thereby reducing alignment of the edges of the second instances. . As a result, alignment of the patterns of the front-end-layer formed on the edges of the second instances can be reduced.

도 5 및 도 6을 참조하면, 본 개시의 예시적 실시예에 따라 사전 배치기(122)는 서로 가장 가까운 제1 인스턴스들의 에지들이 복수의 행들(예컨대, 도 5의 R11 내지 R19)에 수직한 방향으로 정렬되지 아니하도록 제1 인스턴스들을 배치할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 사전 배치기(122)는 서로 인접한 행들에 배치된 제1 인스턴스들의 에지들이 정렬되지 아니하도록 제1 인스턴스들을 배치할 수 있다. 또한, 도 6에 도시된 바와 같이, 사전 배치기(122)는 (예컨대, 도 4의 설계 규칙(D320)에 기인하여) 홀수 행들(또는 도 6에 도시된 바와 상이하게 짝수 행들)에 배치된 제1 인스턴스들의 에지들이 정렬되지 아니하도록 제1 인스턴스들을 배치할 수도 있다.5 and 6 , according to an exemplary embodiment of the present disclosure, the pre-placer 122 has edges of first instances closest to each other in a direction perpendicular to a plurality of rows (eg, R11 to R19 in FIG. 5 ). The first instances may be arranged so as not to be aligned. For example, as shown in FIG. 5 , the pre-placer 122 may arrange the first instances so that edges of the first instances arranged in adjacent rows are not aligned. In addition, as shown in FIG. 6, the pre-placer 122 is arranged in odd rows (or even rows differently as shown in FIG. 6) (eg, due to the design rule D320 of FIG. 4). The first instances may be arranged so that the edges of the first instances are not aligned.

도 5의 (a)를 참조하면, 사전 배치기(122)는 홀수 행들(R11, R13, R15, R17, R19)에 배치되는 제1 인스턴스들(C11a, C13a, C15a, C17a, C19a)의 좌측 에지들 및 우측 에지들이 Y10 및 Y12에 각각 정렬되고 짝수 행들(R12, R14, R16, R18)에 배치되는 제1 인스턴스들(C12a, C14a, C16a, C18a)의 좌측 에지들 및 우측 에지들이 Y11 및 Y13에 각각 정렬되도록, 제1 인스턴스들(C11a 내지 C19a)을 배치할 수 있다. 유사하게, 도 5의 (b)를 참조하면, 사전 배치기(122)는 일련의 행들(예컨대, R11 내지 R13)에 순차적으로 배치되는 제1 인스턴스들(예컨대, C11b 내지 C13b)의 좌측 에지들이 Y14, Y15 및 Y16에 각각 정렬되고 우측 에지들이 Y17, Y18 및 Y19에 각각 정렬되도록, 제1 인스턴스들(C11b 내지 C19b)을 배치할 수 있다.Referring to (a) of FIG. 5 , the pre-placer 122 is arranged on the left edges of the first instances C11a, C13a, C15a, C17a, and C19a arranged in odd-numbered rows R11, R13, R15, R17, and R19. The left and right edges of the first instances C12a, C14a, C16a, and C18a arranged in the even-numbered rows R12, R14, R16, and R18 with the left and right edges aligned at Y10 and Y12, respectively, Y11 and Y13 The first instances C11a to C19a may be disposed so as to be aligned on the . Similarly, referring to (b) of FIG. 5, the pre-placer 122 determines that the left edges of first instances (eg, C11b to C13b) sequentially arranged in a series of rows (eg, R11 to R13) are Y14 , Y15 and Y16, respectively, and the first instances C11b to C19b may be arranged such that right edges are aligned with Y17, Y18, and Y19, respectively.

도 6의 (a)를 참조하면, 사전 배치기(122)는 홀수 행들(예컨대, R21, R23)에 순차적으로 배치되는 제1 인스턴스들(예컨대, C21a, C22a)의 좌측 에지들이 Y20 및 Y21에 각각 정렬되고, 우측 에지들이 Y22 및 Y23에 각각 정렬되도록, 제1 인스턴스들(C21a 내지 C25a)을 배치할 수 있다. 유사하게, 도 6의 (b)를 참조하면, 사전배치기(122)는 홀수 행들(R21, R23, R25, R27, R29)에 순차적으로 배치되는 제1 인스턴스들(C21b 내지 C25b)의 좌측 에지들이 Y24, Y25, Y26, Y25, Y24에 순서대로 각각 정렬되고 우측 에지들이 Y27, Y28, Y29, Y28 및 Y27에 순서대로 각각 정렬되도록, 제1 인스턴스들(C21b 내지 C25b)을 배치할 수 있다.Referring to (a) of FIG. 6 , the pre-placer 122 arranges left edges of first instances (eg, C21a and C22a) sequentially arranged in odd-numbered rows (eg, R21 and R23) at Y20 and Y21, respectively. The first instances C21a to C25a may be arranged so that their right edges are aligned with Y22 and Y23, respectively. Similarly, referring to (b) of FIG. 6, the prearranger 122 has left edges of the first instances C21b to C25b sequentially disposed in the odd rows R21, R23, R25, R27, and R29. The first instances C21b to C25b may be disposed such that Y24, Y25, Y26, Y25, and Y24 are sequentially aligned and right edges are sequentially aligned with Y27, Y28, Y29, Y28, and Y27.

도 7 및 도 8을 참조하면, 사전 배치기(122)는 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과 유발 구조의 발생이 감소하도록, 제1 인스턴스들에 인접하게 더미 셀들의 인스턴스들을 배치할 수 있다. 더미 셀은 집적 회로의 기능에 무관한 셀로서, 사전 배치 셀 또는 필러(filler) 셀을 포함할 수 있다. 도 4의 셀 라이브러리(D310)는 더미 셀에 관한 정보를 포함할 수 있고, 사전 배치기(122)는 셀 라이브러리(D310)를 참조함으로써 더미 셀들의 인스턴스들을 배치할 수 있다.Referring to FIGS. 7 and 8 , the pre-placer 122 may arrange instances of dummy cells adjacent to the first instances so as to reduce the occurrence of a structure causing a local layout effect due to the arrangement of the second instances. A dummy cell is a cell unrelated to the function of an integrated circuit and may include a pre-arranged cell or a filler cell. The cell library D310 of FIG. 4 may include information about dummy cells, and the pre-placer 122 may place instances of dummy cells by referring to the cell library D310.

사전 배치기(122)는, 일련의 행들에 수직한 에지를 가지는 적어도 하나의 제1 인스턴스의 에지에 인접하게, 상이한 더미 셀들(예컨대, 상이한 폭들 가지는 더미 셀들)의 인스턴스들을 배치할 수 있다. 예를 들면, 도 7에 도시된 바와 같이, 사전 배치 셀은 4행들의 높이에 대응하는 멀티-하이트 셀(즉, 4x 멀티-하이트 셀)일 수 있고, 사전 배치기(122)는 그러한 사전 배치 셀의 인스턴스의 에지에 인접하게 상이한 폭들을 가지는 2이상의 더미 셀들을 교번적으로 배치할 수 있다.The pre-placer 122 may place instances of different dummy cells (eg, dummy cells having different widths) adjacent to an edge of the at least one first instance having an edge perpendicular to the series of rows. For example, as shown in FIG. 7 , the pre-placement cell may be a multi-height cell corresponding to the height of 4 rows (ie, a 4x multi-height cell), and the pre-placer 122 is such a pre-placement cell. Two or more dummy cells having different widths may be alternately placed adjacent to the edge of an instance of .

도 7의 (a)를 참조하면, 사전 배치기(122)에 의해서 4x 멀티-하이트 셀인 사전 배치 셀의 제1 인스턴스(C31a)가 배치될 수 있고, 사전 배치기(122)는 제1 인스턴스(C31a)가 배치된 일련의 행들(R32 내지 R35)에서 제1 인스턴스(C31a)의 에지에 인접하게 상이한 더미 셀들의 인스턴스들(D31a 내지 D34a, D36a 내지 D39a)을 교번적으로 배치할 수 있다. 예를 들면, Y30에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D31a, D34a)이 짝수 행들(R32, R34)에 각각 배치될 수 있고, Y31에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D32a, D34a)이 홀수 행들(R33, R35)에 각각 배치될 수 있다. 유사하게, Y32에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스들(D36a, D38a)이 홀수 행들(R35, R33)에 각각 배치될 수 있고, Y33에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스들(D37a, D39a)이 짝수 행들(R34, R32)에 각각 배치될 수 있다. 또한, 제1 인스턴스(C31a)가 배치된 일련의 행들(R32 내지 R35)과 인접한 행들(R31, R36)에도 더미 셀의 인스턴스들(D30a, D35a)이 각각 배치될 수 있다.Referring to (a) of FIG. 7 , the first instance C31a of the pre-arranged cell, which is a 4x multi-height cell, may be arranged by the pre-placer 122, and the pre-placer 122 may place the first instance C31a Instances D31a to D34a and D36a to D39a of different dummy cells may be alternately disposed adjacent to the edge of the first instance C31a in the series of rows R32 to R35 where is disposed. For example, dummy cell instances D31a and D34a having left edges aligned with Y30 may be arranged in even rows R32 and R34, respectively, and dummy cell instances having left edges aligned with Y31. (D32a, D34a) may be arranged in odd-numbered rows (R33, R35), respectively. Similarly, dummy cell instances D36a and D38a having right edges aligned with Y32 may be disposed in odd-numbered rows R35 and R33, respectively, and dummy cell instances having right edges aligned with Y33 ( D37a and D39a) may be disposed in even-numbered rows R34 and R32, respectively. In addition, dummy cell instances D30a and D35a may also be disposed in rows R31 and R36 adjacent to the series of rows R32 to R35 on which the first instance C31a is disposed.

도 7의 (b)를 참조하면, 제1 인스턴스(C31b)가 배치된 일련의 행들(R32 내지 R35)에서 제1 인스턴스(C31b)의 에지에 인접하게 상이한 더미 셀들의 인스턴스들(D31b 내지 D34b, D36b 내지 D39b)이 교번적으로 배치될 수 있다. 예를 들면, Y34에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스(D32b)가 행(R33)에 배치될 수 있고, Y35에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D31b, D34b)이 행들(R32, R35)에 각각 배치될 수 있고, Y36에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스(D33b)가 행(R34)에 배치될 수 있다. 유사하게, Y37에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스(D38b)가 행(R33)에 배치될 수 있고, Y38에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스들(D36b, D39b)이 행들(R35, R32)에 각각 배치될 수 있고, Y39에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스(D37b)가 행(R34)에 배치될 수 있다. 또한, 제1 인스턴스(C31b)가 배치된 일련의 행들(R32 내지 R35)과 인접한 행들(R31, R36)에도 더미 셀의 인스턴스들(D30b, D35b)이 각각 배치될 수 있다.Referring to (b) of FIG. 7 , instances of different dummy cells D31b to D34b adjacent to the edge of the first instance C31b in a series of rows R32 to R35 in which the first instance C31b is disposed, D36b to D39b) may be alternately arranged. For example, instance D32b of a dummy cell having a left edge aligned with Y34 may be placed in row R33, and instances of dummy cell D31b, D34b having a left edge aligned with Y35 may be placed in rows R33. An instance D33b of a dummy cell may be disposed at (R32, R35), respectively, and having a left edge aligned with Y36, may be disposed at row R34. Similarly, the instance D38b of the dummy cell with the right edge aligned with Y37 can be placed in the row R33, and the instances D36b and D39b with the right edge aligned with Y38 can be placed in the rows ( R35 and R32, respectively, and an instance D37b of a dummy cell having a right edge aligned with Y39 can be disposed in a row R34. In addition, the dummy cell instances D30b and D35b may also be disposed in the rows R31 and R36 adjacent to the series of rows R32 to R35 in which the first instance C31b is disposed.

도 8의 (a)를 참조하면, 사전 배치기(122)에 의해서 사전 배치 셀의 복수의 제1 인스턴스들(C41a 내지 C49a)이, 예컨대 도 4의 설계 규칙(D320)에 의해서, 일련의 행들(R41 내지 R49)에서 정렬되어 배치될 수 있다. 사전 배치기(122)는 일련의 행들(R41 내지 R49)에서 정렬된 제1 인스턴스들(C41a 내지 C49a)의 에지들에 인접하게 상이한 더미 셀들의 인스턴스들(D41a 내지 D49a, D41a' 내지 D49a')을 교번적으로 배치할 수 있다. 예를 들면, Y40에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D42a, D44a, D46a, D48a)이 짝수 행들(R42, R44, R46, R48)에 각각 배치될 수 있고, Y41에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D41a, D43a, D45a, D47a, D49a)이 홀수 행들(R41, R43, R45, R47, R49)에 각각 배치될 수 있다. 유사하게, 제1 인스턴스들(C41a 내지 C49a)의 우측 에지들에 인접하게, Y42 또는 Y43에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스들(D41a' 내지 D49a')을 교번적으로 배치할 수 있다.Referring to (a) of FIG. 8 , the plurality of first instances C41a to C49a of the pre-placement cells are formed by the pre-placer 122 into a series of rows (for example, according to the design rule D320 of FIG. 4 ). R41 to R49) may be arranged in alignment. The pre-placer 122 arranges instances D41a to D49a and D41a' to D49a' of different dummy cells adjacent to the edges of the first instances C41a to C49a aligned in a series of rows R41 to R49. Can be placed alternately. For example, dummy cell instances D42a, D44a, D46a, and D48a having left edges aligned with Y40 may be arranged in even rows R42, R44, R46, and R48, respectively, and left edges aligned with Y41. Dummy cell instances D41a, D43a, D45a, D47a, and D49a having edges may be disposed in odd-numbered rows R41, R43, R45, R47, and R49, respectively. Similarly, adjacent to the right edges of the first instances C41a to C49a, dummy cell instances D41a' to D49a' having right edges aligned with Y42 or Y43 may be alternately disposed. .

도 8의 (b)를 참조하면, 사전 배치기(122)는 일련의 행들(R41 내지 R49)에서 정렬된 제1 인스턴스들(C41b 내지 C49b)의 에지들에 인접하게 상이한 더미 셀들의 인스턴스들(D41b 내지 D49b, D41b' 내지 D49b')을 교번적으로 배치할 수 있다. 예를 들면, Y44에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D43b, D46b, D49b)이 행들(R43, R46, R49)에 각각 배치될 수 있고, Y45에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D42b, D45b, D48b)이 행들(R42, R45, R48)에 각각 배치될 수 있고, Y46에 정렬된 좌측 에지를 가지는 더미 셀의 인스턴스들(D41b, D44b, D47b)이 행들(R41, R44, R47)에 각각 배치될 수 있다. 유사하게, 제1 인스턴스들(C41b 내지 C49b)의 우측 에지들에 인접하게, Y47, Y48 또는 Y49에 정렬된 우측 에지를 가지는 더미 셀의 인스턴스들(D41b' 내지 D49b')이 교번적으로 배치될 수 있다.Referring to (b) of FIG. 8 , the pre-placer 122 arranges different dummy cell instances D41b adjacent to the edges of the first instances C41b to C49b arranged in a series of rows R41 to R49. to D49b, D41b' to D49b') may be alternately arranged. For example, dummy cell instances D43b, D46b, and D49b having left edges aligned with Y44 may be disposed in rows R43, R46, and R49, respectively, and dummy cells having left edges aligned with Y45. Instances D42b, D45b, and D48b may be disposed in rows R42, R45, and R48, respectively, and instances of dummy cells D41b, D44b, and D47b having a left edge aligned with Y46 may be disposed in rows R41 , R44, R47) may be disposed respectively. Similarly, adjacent to the right edges of the first instances C41b to C49b, the dummy cell instances D41b' to D49b' having right edges aligned with Y47, Y48 or Y49 are alternately disposed. can

도 9a 및 도 9b는 본 개시의 예시적 실시예에 따라 도 3의 구현 그룹(100)의 예시들(100a, 100b)을 나타낸다. 도 9a 및 도 9b에 도시된 바와 같이, 구현 그룹(100a 또는 100b)은 인스턴스 시프터(126a 또는 166b)를 포함할 수 있다. 9A and 9B show examples 100a and 100b of the implementation group 100 of FIG. 3 according to an illustrative embodiment of the present disclosure. As shown in FIGS. 9A and 9B , an implementation group 100a or 100b may include an instance shifter 126a or 166b.

본 개시의 예시적 실시예에 따라, 도 10a 및 도 10b를 참조하여 후술되는 바와 같이, 인스턴스 시프터(126a 또는 166b)는, 사전 배치기(122a) 및 인스턴스 배치기(124a 또는 124b)에 의해서 각각 배치된 제1 및 제2 인스턴스들 중 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킴으로써 집적 회로의 레이아웃에서 LEE 유발 구조를 제거하거나 LLE 유발 구조에 의한 로컬 레이아웃 효과를 감소시킬 수 있다. 도 9a는 인스턴스 시프터(126a)가 배치기(120a)에 포함되는 예시를 도시하고, 도 9b는 인스턴스 시프터(166b)는 ECO(engineering change order)(160b)에 포함되는 예시를 도시한다. 본 개시의 예시적 실시예에 따라, 도 9b의 배치기(120b) 역시, 도 9a에 도시된 바와 같이 인스턴스 시프터를 포함할 수도 있다. 이하 도 9a 및 도 9b에 대한 설명 중, 도 4에 대한 설명과 중복되는 내용은 생략될 것이다.According to an exemplary embodiment of the present disclosure, as described below with reference to FIGS. 10A and 10B , the instance shifter 126a or 166b is disposed by the pre-placer 122a and the instance placer 124a or 124b, respectively. The LEE-causing structure may be removed from the layout of the integrated circuit or a local layout effect caused by the LLE-causing structure may be reduced by moving at least one first or second instance related to the LLE-causing structure among the first and second instances. 9A shows an example in which the instance shifter 126a is included in the placer 120a, and FIG. 9B shows an example in which the instance shifter 166b is included in an engineering change order (ECO) 160b. According to an exemplary embodiment of the present disclosure, the placer 120b of FIG. 9B may also include an instance shifter as shown in FIG. 9A. In the descriptions of FIGS. 9A and 9B , descriptions overlapping with those of FIG. 4 will be omitted.

도 9a를 참조하면, 구현 그룹(100a)은 배치기(120a) 및 라우터(140a)를 포함할 수 있고, 배치기(120a)는 사전 배치기(122a), 인스턴스 배치기(124a) 및 인스턴스 시프터(126a)를 포함할 수 있다. 도 4를 참조하여 전술된 바와 같이, 사전 배치기(122a)는 사전 배치 셀의 인스턴스들(제1 인스턴스들)을 배치할 수 있고, 인스턴스 배치기(124a)는 논리 셀의 인스턴스들(제2 인스턴스들)을 제1 인스턴스들이 배치되지 아니한 영역에 배치할 수 있다.Referring to FIG. 9A , an implementation group 100a may include a placer 120a and a router 140a, and the placer 120a may include a pre-placer 122a, an instance placer 124a, and an instance shifter 126a. can include As described above with reference to FIG. 4, the pre-placer 122a may place instances of a pre-placed cell (first instances), and the instance placer 124a may place instances of a logical cell (second instances). ) may be disposed in an area where the first instances are not disposed.

인스턴스 시프터(126a)는 설계 규칙(D32)에 포함된 LLE 규칙(D322)을 참조하여, 제1 및 제2 인스턴스들 중 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킬 수 있다. 예를 들면, LLE 규칙(D322)은 적어도 하나의 LLE 유발 구조를 정의하는 정보를 포함할 수 있고, 인스턴스 시프터(126a)는 사전 배치기(122a) 및 인스턴스 배치기(124a)에 의해서 배치된 제1 및 제2 인스턴스들을 포함하는 집적 회로의 레이아웃에서, LLE 규칙(D322)에 기초하여 LLE 유발 구조를 검출할 수 있다. 인스턴스 시프터(126a)는 검출된 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킴으로써 LLE 유발 구조를 제거하거나 LLE 유발 구조에 의한 로컬 레이아웃 효과를 감소시킬 수 있다.The instance shifter 126a may refer to the LLE rule D322 included in the design rule D32 to move at least one first or second instance of the first and second instances related to the LLE inducing structure. . For example, the LLE rule D322 may include information defining at least one LLE triggering structure, and the instance shifter 126a may include first and second positions arranged by the dictionary placer 122a and the instance placer 124a. In the layout of the integrated circuit including the second instances, an LLE-causing structure may be detected based on the LLE rule D322. The instance shifter 126a may remove the LLE-causing structure or reduce a local layout effect caused by the LLE-causing structure by moving at least one first or second instance related to the detected LLE-causing structure.

라우터(140a)는 인스턴스 시프터(126a)에 의해서 이동된 제1 또는 제2 인스턴스를 포함하는, 집적 회로의 제1 및 제2 인스턴스들을 연결하는 상호연결들을 생성함으로써 레이아웃 데이터(D100)를 생성할 수 있다.Router 140a may generate layout data D100 by creating interconnections connecting first and second instances of the integrated circuit, including the first or second instance moved by instance shifter 126a. there is.

도 9b를 참조하면, 구현 그룹(100b)은 배치기(120b), 라우터(140b) 및 ECO(160b)를 포함할 수 있고, ECO(160b)는 인스턴스 시프터(166b)를 포함할 수 있다. ECO(160b)는, 표준 셀의 인스턴스들이 배치되고 인스턴스들을 연결하는 상호연결들이 생성된 후에, 필요에 따라 배치된 인스턴스를 교체하거나 새로운 인스턴스를 추가하는 과정을 지칭할 수 있다. ECO(160b)는 교체되거나 추가된 인스턴스와 관련하여 국지적으로 라우팅 동작을 수행할 수도 있다. 이에 따라, 집적 회로를 설계하기 위한 과정들, 예컨대 논리 합성, 배치, 라우팅, 타이밍 분석 등이 생략되면서도, ECO(160b)에 의해서 제한적인 변경들이 집적 회로에 반영될 수 있다. Referring to FIG. 9B , an implementation group 100b may include a placer 120b, a router 140b, and an ECO 160b, and the ECO 160b may include an instance shifter 166b. The ECO 160b may refer to a process of replacing the deployed instance or adding a new instance, if necessary, after instances of the standard cell are deployed and interconnections connecting the instances are created. ECO 160b may also perform routing operations locally with respect to replaced or added instances. Accordingly, limited changes may be reflected in the integrated circuit by the ECO 160b, while processes for designing the integrated circuit, for example, logic synthesis, arrangement, routing, timing analysis, and the like, are omitted.

본 개시의 예시적 실시예에 따라, 인스턴스 시프터(166b)는 ECO(160b)에 포함될 수 있고, 도 9a의 인스턴스 시프터(126a)와 유사하게, 설계 규칙(D320)에 포함된 LLE 규칙(D322)을 참조하여 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킬 수 있다. 인스턴스 시프터(166b)는 이동된 제1 또는 제2 인스턴스를 포함하는 집적 회로의 레이아웃 데이터(D100)를 생성할 수 있다.According to an exemplary embodiment of the present disclosure, the instance shifter 166b may be included in the ECO 160b, and similar to the instance shifter 126a of FIG. 9A, the LLE rule D322 included in the design rule D320 It is possible to move at least one first or second instance related to the LLE inducing structure with reference to. The instance shifter 166b may generate layout data D100 of the integrated circuit including the moved first or second instance.

도 10a 및 도 10b는 본 개시의 예시적 실시예에 따라 도 9a 또는 도 9b의 인스턴스 시프터(126a 또는 166b)의 예시적인 동작들을 나타내는 도면이다. 도 9a 및 도 9b를 참조하여 전술된 바와 같이, 인스턴스 시프터(126a 또는 166b)는 LLE 규칙(D322)에 기초하여 LLE 유발 구조를 검출할 수 있고, 검출된 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킴으로써 LLE 유발 구조를 제거하거나 LLE 유발 구조에 의한 로컬 레이아웃 효과를 감소시킬 수 있다. 도 10a 및 도 10b는 인스턴스 시프터(126a 또는 166b)에 의해서 인스턴스를 이동시키는 예시들을 나타내며, 인스턴스 시프터(126a 또는 166b)의 동작이 도 10a 및 도 10b에 도시된 예시들에 제한되지 아니하는 점은 이해될 것이다. 이하에서 도 10a 및 도 10b는 도 9a를 참조하여 설명될 것이다.10A and 10B are diagrams illustrating exemplary operations of instance shifter 126a or 166b of FIG. 9A or 9B according to an exemplary embodiment of the present disclosure. As described above with reference to FIGS. 9A and 9B , the instance shifter 126a or 166b may detect an LLE-causing structure based on the LLE rule D322, and at least one first associated with the detected LLE-causing structure. Alternatively, by moving the second instance, the LLE-induced structure may be removed or the local layout effect caused by the LLE-induced structure may be reduced. 10A and 10B show examples of moving an instance by the instance shifter 126a or 166b, and the operation of the instance shifter 126a or 166b is not limited to the examples shown in FIGS. 10A and 10B. It will be understood. Hereinafter, FIGS. 10A and 10B will be described with reference to FIG. 9A.

도 10a를 참조하면, 인스턴스 시프터(126a)는 LLE 유발 구조를 검출할 수 있다. 예를 들면, 도 9a의 LLE 규칙(D322)은 표준 셀의 인스턴스들이 배치됨에 따라 일정 길이 이상으로 정렬된 프론트-엔드- 레이어의 패턴들을 LLE 유발 구조로서 정의할 수 있고, 인스턴스 시프터(126a)는 도 10a의 (a)에 도시된 바와 같이 일련의 4개의 행들(R51 내지 R54)에서 정렬된 프론트-엔드 레이어의 패턴들을 LLE 유발 구조(LLE1)로서 검출할 수 있다. 도 10a의 (a)에 도시된 바와 같이, 인스턴스 시프터(126a)는 LLE 유발 구조(LLE1)를 제거하기 위하여, 인스턴스(C51)를 좌측 방향(즉, -X방향)으로 이동시킬 수도 있고, 인스턴스(C52)를 우측 방향(즉, +X방향)으로 이동시킬 수도 있다. 또한, LLE 유발 구조(LLE1)를 제거하기 위하여, 인스턴스 시프터(126a)는 LLE 유발 구조(LLE1)에 기여하는 프론트-엔드 레이어의 패턴을 포함하는 적어도 하나의 인스턴스를 좌측 방향 혹은 우측 방향뿐만 아니라 상측 방향(즉, +Y방향) 혹은 하측 방향(즉, -Y방향)으로 이동시킬 수도 있으며, 특정한 거리 이내 혹은 이외의 영역으로 이동 배치할 수 있고, 다른 인스턴스와 위치를 서로 교환할 수도 있다. 이에 따라, 인스턴스 시프터(126a)에 의해서 이동된 인스턴스들(C51', C52')에 의해서, 도 10a의 (b)에 도시된 바와 같이, LLE 유발 구조(LLE1)는 제거될 수 있다.Referring to FIG. 10A , the instance shifter 126a may detect an LLE-induced structure. For example, the LLE rule D322 of FIG. 9A may define patterns of front-end layers aligned over a certain length as the LLE-induced structure as instances of standard cells are arranged, and the instance shifter 126a may As shown in (a) of FIG. 10A , patterns of front-end layers aligned in a series of four rows R51 to R54 may be detected as an LLE inducing structure LLE1. As shown in (a) of FIG. 10A, the instance shifter 126a may move the instance C51 in the left direction (ie, -X direction) in order to remove the LLE-induced structure LLE1. (C52) can also be moved in the right direction (i.e., +X direction). In addition, in order to remove the LLE-induced structure LLE1, the instance shifter 126a selects at least one instance including the pattern of the front-end layer contributing to the LLE-induced structure LLE1 in the left direction or right direction as well as the upper side. It can be moved in the direction (ie, +Y direction) or downward (ie, -Y direction), can be moved and placed within a specific distance or in an area other than a specific distance, and can also exchange locations with other instances. Accordingly, the LLE causing structure LLE1 may be removed by the instances C51' and C52' moved by the instance shifter 126a, as shown in (b) of FIG. 10A.

도 10b를 참조하면, 본 개시의 예시적 실시예에 따라 인스턴스 시프터(126a)는 동일한 행에서 서로 인접한 2이상의 인스턴스들을 이동시킬 수 있다. 예를 들면, 도 10b의 (a)에 도시된 바와 같이, 인스턴스 시프터(126a)는, 일련의 4개의 행들(R61 내지 R64)에서 정렬된 프론트-엔드 레이어의 패턴들을 포함하는 LLE 유발 구조(LLE2)를 제거하기 위하여, 행(R61)에서 서로 인접한 2이상의 인스턴스들(C61, C62)을 동일한 방향(즉, 좌측 방향 또는 -X방향)으로 이동시킬 수 있다. 또한, 인스턴스 시프터(126a)는 행(R63)에서 서로 인접한 2이상의 인스턴스들(C63, C64)을 서로 반대 방향으로 각각 이동시킬 수 있다. 또한, LLE 유발 구조(LLE2)를 제거하기 위하여, 인스턴스 시프터(126a)는 LLE 유발 구조(LLE2)에 기여하는 프론트-엔드 레이어의 패턴을 포함하는 적어도 하나의 인스턴스를 좌측 방향 혹은 우측 방향뿐만 아니라 상측 방향(즉, +Y방향) 혹은 하측 방향(즉, -Y방향)으로 이동시킬 수 있으며, 특정한 거리 이내 혹은 이외의 영역으로 이동 배치할 수 있고, 다른 인스턴스와 위치를 교환할 수도 있다. 이에 따라, 인스턴스 시프터(126a)에 의해서 이동된 인스턴스들(C61' 내지 C64')에 의해서, 도 10b의 (b)에 도시된 바와 같이, LLE 유발 구조(LLE2)는 제거될 수 있다.Referring to FIG. 10B , according to an exemplary embodiment of the present disclosure, the instance shifter 126a may move two or more instances adjacent to each other in the same row. For example, as shown in (a) of FIG. 10B, the instance shifter 126a has an LLE-induced structure (LLE2) including front-end layer patterns aligned in a series of four rows (R61 to R64). ), two or more instances C61 and C62 adjacent to each other in the row R61 may be moved in the same direction (ie, the left direction or -X direction). Also, the instance shifter 126a may move two or more instances C63 and C64 adjacent to each other in the row R63 in opposite directions. In addition, in order to remove the LLE-induced structure LLE2, the instance shifter 126a selects at least one instance including the pattern of the front-end layer contributing to the LLE-induced structure LLE2 in the left or right direction as well as the upper side. It can be moved in the direction (i.e., +Y direction) or downward (i.e., -Y direction), it can be moved and placed within a specific distance or in an area other than a specific distance, and its location can be exchanged with another instance. Accordingly, the LLE causing structure LLE2 may be removed by the instances C61' to C64' moved by the instance shifter 126a, as shown in (b) of FIG. 10B.

이상에서 도 4 내지 도 10b를 참조하여 본 개시의 예시적 실시예에 따른 도 3의 구현 그룹(100)이 설명되었고, 이하에서 도 11 내지 도 16을 참조하여 도 3의 분석 그룹(200)이 설명될 것이다. In the above, the implementation group 100 of FIG. 3 according to an exemplary embodiment of the present disclosure has been described with reference to FIGS. 4 to 10B, and the analysis group 200 of FIG. 3 is described with reference to FIGS. 11 to 16 below. will be explained

도 11은 본 개시의 예시적 실시예에 따라 도 3의 분석 그룹(200)의 블록도를 나타낸다. 도 3을 참조하여 전술된 바와 같이, 분석 그룹(200)은 인스턴스 특성화기(220) 및 성능 분석기(240)를 포함할 수 있고, 셀 라이브러리(D310) 및 LLE 데이터(D330)를 참조하여, 레이아웃 데이터(D100)로부터 결과 데이터(D200)를 생성할 수 있다. 분석 그룹(200)이 생성한 결과 데이터(D200)는 로컬 레이아웃 효과가 반영된 집적 회로의 실제적인 성능에 관한 정보를 포함할 수 있다.11 shows a block diagram of the analysis group 200 of FIG. 3 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 3 , analysis group 200 may include instance characterizer 220 and performance analyzer 240 , with reference to cell library D310 and LLE data D330, layout Result data D200 may be generated from the data D100. The resultant data D200 generated by the analysis group 200 may include information about actual performance of the integrated circuit in which the local layout effect is reflected.

도 11을 참조하면, 인스턴스 특성화기(220)는 LLE 데이터(D330) 및 컨텍스트 데이터(D150)를 엑세스할 수 있다. LLE 데이터(D330)는 로컬 레이아웃 효과에 의한 표준 셀의 물리적 특성 변동에 관한 정보를 포함할 수 있고, 컨텍스트 데이터(D150)는, 레이아웃 데이터(D010)로부터 추출된, 인스턴스의 주변 레이아웃 정보를 포함할 수 있다. 인스턴스 특성화기(220)는 LLE 데이터(D330) 및 컨텍스트 데이터(D150)를 참조함으로써 집적 회로에 포함된 인스턴스들의 로컬 레이아웃 효과에 따른 물리적 특성을 산출할 수 있다. LLE 데이터(D330)에 관한 구체적인 내용은 도 12 내지 도 14를 참조하여 후술될 것이고, 컨텍스트 데이터(D150)에 관한 구체적인 내용은 도 15 및 도 16을 참조하여 후술될 것이다.Referring to FIG. 11 , the instance characterizer 220 may access LLE data D330 and context data D150. The LLE data D330 may include information about physical property variation of the standard cell due to the local layout effect, and the context data D150 may include information about the surrounding layout of the instance extracted from the layout data D010. can The instance characterizer 220 may calculate physical characteristics according to local layout effects of instances included in the integrated circuit by referring to the LLE data D330 and the context data D150. Details of the LLE data D330 will be described later with reference to FIGS. 12 to 14 , and details of the context data D150 will be described later with reference to FIGS. 15 and 16 .

성능 분석기(240)는 셀 라이브러리(D310) 및 레이아웃 데이터(D010)를 엑세스할 수 있다. 성능 분석기(240)는 셀 라이브러리(D310)에 포함된 표준 셀의 물리적 특성에 관한 정보 및 인스턴스 특성화기(220)에 의해서 제공된 인스턴스의 물리적 특성에 관한 정보에 기초하여, 레이아웃 데이터(D010)에 따른 집적 회로의 성능을 분석할 수 있고, 로컬 레이아웃 효과가 반영된 집적 회로의 실제적인 성능 정보를 포함하는 결과 데이터(D200)를 생성할 수 있다.The performance analyzer 240 may access the cell library D310 and layout data D010. The performance analyzer 240 determines the layout data D010 based on the information about the physical characteristics of the standard cell included in the cell library D310 and the information about the physical characteristics of the instance provided by the instance characterizer 220. The performance of the integrated circuit may be analyzed, and result data D200 including actual performance information of the integrated circuit in which the local layout effect is reflected may be generated.

도 12는 본 개시의 예시적 실시예에 따라 LLE 데이터(D330)를 생성하는 LLE 데이터 생성기(300)의 블록도를 나타낸다. LLE 데이터 생성기(300)는 일련의 명령어들을 포함하는 프로시저를 포함할 수 있고, 명령어를 실행하는 프로세서(예컨대, 도 1의 CPU(11))에 의해서 LLE 데이터 생성기(300)의 동작이 수행될 수 있다. 도 12에 도시된 바와 같이, LLE 데이터 생성기(300)는 셀 라이브러리(D310)로부터 LLE 데이터(D330)를 생성할 수 있고, 셀 컨텍스트 생성기(320) 및 LLE 추정기(340)를 포함할 수 있다.12 shows a block diagram of an LLE data generator 300 generating LLE data D330 according to an exemplary embodiment of the present disclosure. The LLE data generator 300 may include a procedure including a series of instructions, and the operation of the LLE data generator 300 may be performed by a processor (eg, the CPU 11 of FIG. 1 ) executing the instructions. can As shown in FIG. 12 , the LLE data generator 300 may generate LLE data D330 from the cell library D310 and may include a cell context generator 320 and an LLE estimator 340.

셀 컨텍스트 생성기(320)는 셀 라이브러리(D310)에 포함된 표준 셀의 레이아웃 주변에 다양한 레이아웃들을 배치함으로써 상기 제1 표준 셀의 복수의 컨텍스트들을 생성할 수 있다. 예를 들면, 도 13a를 참조하여 후술되는 바와 같이, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어의 패턴을 포함하는 표준 셀들을 대상 표준 셀의 주변에 배치함으로써 대상 표준 셀의 컨텍스트를 생성할 수 있다. 또한, 도 13b를 참조하여 후술되는 바와 같이, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어에 형성된 임의의 패턴들을 표준 셀의 주변에 배치함으로써 표준 셀의 컨텍스트를 생성할 수도 있다. 셀 컨텍스트 생성기(320)에 의해서 생성된 표준 셀의 다양한 컨텍스트들은 LLE 추정기(340)가 컨텍스트들 각각에 대응하는 로컬 레이아웃 효과를 추정하는데 사용될 수 있다.The cell context generator 320 may create a plurality of contexts of the first standard cell by arranging various layouts around the layout of the standard cell included in the cell library D310. For example, as will be described with reference to FIG. 13A , the cell context generator 320 creates a context of a target standard cell by arranging standard cells including a front-end layer pattern around the target standard cell. can Also, as will be described later with reference to FIG. 13B , the cell context generator 320 may create a standard cell context by arranging arbitrary patterns formed on the front-end layer around the standard cell. Various contexts of the standard cell generated by the cell context generator 320 may be used by the LLE estimator 340 to estimate a local layout effect corresponding to each of the contexts.

LLE 추정기(340)는 셀 컨텍스트 생성기(320)로부터 표준 셀의 컨텍스트들에 관한 정보를 제공받을 수 있고, 컨텍스트들 각각에 의해서 발생하는 로컬 레이아웃 효과를 추정하고, 로컬 레이아웃 효과에 따른 표준 셀의 물리적 특성의 변동에 관한 정보를 포함하는 LLE 데이터(D330)를 생성할 수 있다. 예를 들면, 셀 라이브러리(D310)는 표준 셀의 물리적 특성을 나타내는 값을 계산하는 특성 함수를 포함할 수 있고, LLE 추정기(340)는 셀 컨텍스트 생성기(320)로부터 제공된 컨텍스트에 기초하여 특성 함수의 파라미터들을 결정할 수 있다. LLE 데이터(340)는 LLE 추정기(340)에 의해서 결정된 파라미터 또는 결정된 파라미터에 의한 특성 함수의 결과를 포함하는 LLE 데이터(D330)를 생성할 수 있다.The LLE estimator 340 may receive information about the contexts of the standard cell from the cell context generator 320, estimate local layout effects generated by each of the contexts, and determine the physical properties of the standard cell according to the local layout effects. LLE data D330 including information on variation of characteristics may be generated. For example, the cell library D310 may include a characteristic function for calculating a value representing a physical characteristic of a standard cell, and the LLE estimator 340 calculates the characteristic function based on the context provided from the cell context generator 320. parameters can be determined. The LLE data 340 may generate LLE data D330 including parameters determined by the LLE estimator 340 or results of characteristic functions based on the determined parameters.

도 13a 및 도 13b는 본 개시의 예시적 실시예에 따라 도 12의 셀 컨텍스트 생성기(320)가 표준 셀의 컨텍스트를 생성하는 예시적인 동작들을 나타낸다.13A and 13B illustrate exemplary operations for cell context generator 320 of FIG. 12 to create a standard cell context according to an exemplary embodiment of the present disclosure.

도 13a를 참조하면, 본 개시의 예시적 실시예에 따라 셀 컨텍스트 생성기(320)는 셀 라이브러리(D310)에 포함된 표준 셀들(C71 내지 C74 등)을 컨텍스트의 생성 대상이 되는 표준 셀(C70)의 주변에 배치함으로써 표준 셀(C70)의 다양한 컨텍스트들을 생성할 수 있다. 예를 들면, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어의 패턴을 포함하는 대상 표준 셀(예컨대, C70)의 컨텍스트를 생성할 수 있고, 셀 라이브러리(D310)에 정의된 표준 셀들 중 프론트-엔드-레이어의 패턴을 포함하는 표준 셀들(예컨대, C71 내지 C74 등)을 대상 표준 셀(예컨대, C70)의 주변에 랜덤하게 배치함으로써 생성할 수 있다.Referring to FIG. 13A , according to an exemplary embodiment of the present disclosure, the cell context generator 320 converts standard cells (C71 to C74, etc.) included in a cell library D310 into a standard cell C70 to which a context is created. Various contexts of the standard cell C70 may be created by arranging them around the . For example, the cell context generator 320 may create a context of a target standard cell (eg, C70) including a front-end layer pattern, and among standard cells defined in the cell library D310, the front-end Standard cells (eg, C71 to C74, etc.) including end-layer patterns may be generated by randomly arranging around a target standard cell (eg, C70).

도 13b를 참조하면, 본 개시의 예시적 실시예에 따라 셀 컨텍스트 생성기(320)는 표준 셀(C80)의 주변에 다양한 모양을 가지는, 레이어의 다각형을 배치함으로써 표준 셀(C80)의 컨텍스트를 생성할 수 있다. 예를 들면, 도 13b에 도시된 바와 같이, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어의 상이한 패턴들을 각각 포함하는 복수의 패턴들(P11 내지 P16)을 표준 셀(C80)의 주변에 랜덤하게 배치함으로써 표준 셀(C80)의 컨텍스트들을 생성할 수 있다.Referring to FIG. 13B , according to an exemplary embodiment of the present disclosure, the cell context generator 320 creates a context of the standard cell C80 by arranging layer polygons having various shapes around the standard cell C80. can do. For example, as shown in FIG. 13B , the cell context generator 320 randomizes a plurality of patterns P11 to P16 each including different patterns of the front-end layer around the standard cell C80. By arranging the contexts of the standard cell C80, it is possible to create contexts.

도 14는 본 개시의 예시적 실시예에 따른 LLE 데이터(D330)의 예시를 나타낸다. 도 12를 참조하여 전술된 바와 같이, LLE 데이터 생성기(300)의 LLE 추정기(340)는 셀 컨텍스트 생성기(320)가 생성한 다양한 컨텍스트들에 대응하는 로컬 레이아웃 효과를 추정함으로써 LLE 데이터(D330)를 생성할 수 있다. 도 14는, 로컬 레이아웃 효과에 대응하는 표준 셀인 인버터(INV)의 물리적 특성의 변동을 나타내는, LLE 데이터(D330)의 일부를 나타낸다.14 shows an example of LLE data D330 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 12, the LLE estimator 340 of the LLE data generator 300 estimates the local layout effect corresponding to various contexts generated by the cell context generator 320 to obtain the LLE data D330. can create FIG. 14 shows a portion of LLE data D330 representing variations in physical characteristics of an inverter INV, which is a standard cell, corresponding to a local layout effect.

본 개시의 예시적 실시예에 따라, LLE 추정기(340)는, 컨텍스트 및 컨텍스트에 기초하여 결정된 특성 함수의 파라미터들에 기초하여 LLE 데이터(D330)를 생성할 수 있다. 예를 들면, LLE 추정기(340)는, 컨텍스트 및 컨텍스트에 기초하여 결정된 특성 함수의 파라미터들을 포함하는 LLE 데이터(D330)를 생성할 수도 있고, 컨텍스트 및 컨텍스트에 대응하는 특성 함수의 값을 포함하는 LLE 데이터(D330)를 생성할 수도 있다. 또한, 도 14 에 도시된 바와 같이, 컨텍스트에 대응하는 특성 함수의 값 대신 컨텍스트에 대응하는 특성 함수의 값과 표준 셀의 진성(intrinsic) 파라미터에 의한 특성 함수의 값 사이 차이나 비율을 포함하는 LLE 데이터(D330)를 생성할 수도 있다. 표준 셀의 진성 파라미터는, 표준 셀에 로컬 레이아웃 효과가 발생하지 아니한 경우 또는 표준 셀에 평균적인 로컬 레이아웃 효과가 발생하는 경우와 같이, 표준 셀의 진성 물리적 특성을 나타내는 값을 계산하기 위한 특성 함수의 파라미터를 지칭할 수 있다.According to an exemplary embodiment of the present disclosure, the LLE estimator 340 may generate LLE data D330 based on a context and parameters of a characteristic function determined based on the context. For example, the LLE estimator 340 may generate LLE data D330 including a context and parameters of a characteristic function determined based on the context, and LLE including a context and a value of a characteristic function corresponding to the context. Data D330 may also be generated. In addition, as shown in FIG. 14, instead of the value of the characteristic function corresponding to the context, LLE data including a difference or ratio between the value of the characteristic function corresponding to the context and the value of the characteristic function by the intrinsic parameter of the standard cell. (D330) may be created. The intrinsic parameter of the standard cell is a characteristic function for calculating a value representing the intrinsic physical property of the standard cell, such as when the local layout effect does not occur in the standard cell or when the average local layout effect occurs in the standard cell. parameters can be specified.

도 14를 참조하면, 테이블의 열들은 프론트-엔드-레이어의 패턴들 사이 X방향의 간격들을 나타내고, 테이블의 행들은 프론트-엔드-레이어의 패턴들이 Y방향으로 정렬된 길이들을 나타낸다. 인버터(INV)의 컨텍스트에 따라, 프론트-엔드-레이어의 패턴들 사이 X방향 간격이 '2x' (즉, 기준 거리의 두 배에 해당하는 거리)이고, 프론트-엔드-레이어의 패턴들이 Y방향으로 정렬된 길이가 '1y'(즉, 특정 레이어로 그려진 다각형의 길이 또는 기준 길이의 한 배수)일 때, 인버터(INV)의 물리적 특성은 인버터(INV)의 진성 파라미터에 의한 특성 함수의 값일 수 있다.Referring to FIG. 14 , columns of the table represent intervals in the X direction between front-end-layer patterns, and rows of the table represent lengths in which the front-end-layer patterns are aligned in the Y-direction. According to the context of the inverter (INV), the X-direction spacing between the front-end-layer patterns is '2x' (ie, a distance corresponding to twice the reference distance), and the front-end-layer patterns are in the Y-direction. When the length aligned with '1y' (that is, the length of a polygon drawn with a specific layer or a multiple of the reference length), the physical characteristic of the inverter INV can be the value of the characteristic function by the intrinsic parameter of the inverter INV. there is.

도 14에 도시된 바와 같이, 테이블은 인버터(INV)의 다양한 컨텍스트들에 각각 대응하는 물리적 특성의 변동들을 항목들로서 포함할 수 있고, 예컨대 항목들 각각은 인버터(INV)의 지연 시간에 대응할 수 있다. 예를 들면, 인버터(INV)의 컨텍스트에 따라, 프론트-엔드-레이어의 패턴들 사이 X방향 간격이 '8x'이고, 프론트-엔드-레이어의 패턴들이 Y방향으로 정렬된 길이가 '5y'일 때, 인버터(INV)의 지연 시간은, 프론트-엔드-레이어의 패턴들에 기인한 로컬 레이아웃 효과에 의해서, 진성 파라미터에 의한 지연 시간(REF)보다 '7.37%' 열화(즉, '7.37%' 연장)될 수 있다. 진성 파라미터에 의한 인버터(INV)의 지연 시간(REF)은 셀 라이브러리(D310)에 포함되거나 셀 라이브러리(D310)에 포함된 특성 함수 및 진성 파라미터로부터 계산될 수 있다. 도 11을 참조하여 전술된 바와 같이, 도 14의 테이블을 포함하는 LLE 데이터(D330)는 인스턴스 특성화기(220)에 의해서 집적 회로의 레이아웃을 특성화하는데 사용될 수 있다.As shown in FIG. 14 , the table may include variations in physical characteristics respectively corresponding to various contexts of the inverter INV as items, and each of the items may correspond to a delay time of the inverter INV, for example. . For example, according to the context of the inverter INV, the X-direction spacing between the front-end-layer patterns is '8x', and the length of the alignment of the front-end-layer patterns in the Y-direction is '5y'. , the delay time of the inverter INV is '7.37%' worse than the delay time REF by the intrinsic parameter (ie, '7.37%') due to the local layout effect caused by the patterns of the front-end-layer. can be extended). The delay time REF of the inverter INV according to the intrinsic parameter may be included in the cell library D310 or may be calculated from the characteristic function and the intrinsic parameter included in the cell library D310. As described above with reference to FIG. 11 , the LLE data D330 including the table of FIG. 14 may be used by the instance characterizer 220 to characterize the layout of the integrated circuit.

도 15는 본 개시의 예시적 실시예에 따라 컨텍스트 데이터 생성기(400)의 블록도를 나타낸다. 컨텍스트 데이터 생성기(400)는 일련의 명령어들을 포함하는 프로시저를 포함할 수 있고, 명령어를 실행하는 프로세서(예컨대, 도 1의 CPU(11))에 의해서 컨텍스트 데이터 생성기(400)의 동작이 수행될 수 있다. 일 실시예에서, 컨텍스트 데이터 생성기(400)는 도 2의 구현 그룹(100)에 포함될 수 있고, 이에 따라 컨텍스트 데이터(D150)는 레이아웃 데이터(D100)와 함께 생성될 수도 있다. 또한, 일 실시예에서, 컨텍스트 데이터 생성기(400)는 도 2의 분석 그룹(200)에 포함될 수 있고, 이에 따라 컨텍스트 데이터(D150)는 레이아웃 데이터(D100)로부터 생성될 수도 있다. 도 15에 도시된 바와 같이, 컨텍스트 데이터 생성기(400)는 인스턴스 선택기(420) 및 인스턴스 컨텍스트 추출기(440)를 포함할 수 있다.15 shows a block diagram of a context data generator 400 according to an exemplary embodiment of the present disclosure. The context data generator 400 may include a procedure including a series of instructions, and the operation of the context data generator 400 may be performed by a processor (eg, the CPU 11 of FIG. 1 ) executing the instructions. can In one embodiment, the context data generator 400 may be included in the implementation group 100 of FIG. 2 , and thus the context data D150 may be generated together with the layout data D100. Also, in one embodiment, the context data generator 400 may be included in the analysis group 200 of FIG. 2 , and thus the context data D150 may be generated from the layout data D100. As shown in FIG. 15 , the context data generator 400 may include an instance selector 420 and an instance context extractor 440 .

인스턴스 선택기(420)는 집적 회로의 레이아웃에서, 컨텍스트를 생성할 인스턴스를 선택할 수 있다. 예를 들면, 인스턴스 선택기(420)는, 집적 회로에 포함된 모든 인스턴스들을 인스턴스 컨텍스트 선택기(440)에 제공할 수도 있고, 집적 회로에 포함된 인스턴스들 중 일부를 선택하여 인스턴스 컨텍스트 추출기(440)에 제공할 수도 있다. 일 실시예에서, 인스턴스 선택기(420)는 입력 데이터(D010) 또는 레이아웃 데이터(D100)를 참조함으로써 집적 회로의 크리티컬 패스(critical path)에 포함된 인스턴스들을 인식할 수 있고, 크리티컬 패스에 포함된 인스턴스들을 선택하여 인스턴스 컨텍스트 추출기(440)에 제공할 수 있다. 또한, 일 실시예에서, 인스턴스 선택기(420)는 집적 회로의 클락 트리(clock tree)에 포함된 인스턴스들을 선택하여 인스턴스 컨텍스트 추출기(440)에 제공할 수도 있다. 인스턴스 선택기(420)는 집적 회로에 포함된 인스턴스들 중 분석하고자 하는 집적 회로의 성능에 관련성이 높은 인스턴스들을 선택할 수 있고, 선택된 인스턴스들을 인스턴스 컨텍스트 추출기(440)에 제공할 수 있다.The instance selector 420 may select an instance to create a context in the layout of the integrated circuit. For example, the instance selector 420 may provide all the instances included in the integrated circuit to the instance context selector 440, or select some of the instances included in the integrated circuit and send them to the instance context extractor 440. may also provide. In one embodiment, the instance selector 420 may recognize instances included in a critical path of the integrated circuit by referring to the input data D010 or the layout data D100, and instances included in the critical path. can be selected and provided to the instance context extractor 440 . Also, in one embodiment, the instance selector 420 may select instances included in a clock tree of the integrated circuit and provide the selected instances to the instance context extractor 440 . The instance selector 420 may select instances highly related to the performance of the integrated circuit to be analyzed from among instances included in the integrated circuit, and may provide the selected instances to the instance context extractor 440 .

인스턴스 컨텍스트 추출기(440)는 인스턴스 선택기(420)에 의해서 선택된 인스턴스들의 주변 레이아웃에 관한 정보(즉, 컨텍스트)를 포함하는 컨텍스트 데이터(D150)를 레이아웃 데이터(D100)로부터 생성할 수 있다. 예를 들면, 인스턴스 컨텍스트 추출기(440)는 인스턴스에 포함된 프론트-엔드-레이어의 패턴 및 인스턴스 주변 레이아웃에 포함된 프론트-엔드-레이어의 패턴에 기초하여 인스턴스의 컨텍스트를 포함하는 컨텍스트 데이터(D150)를 생성할 수 있다. 도 12의 셀 컨텍스트 생성기(320)는 LLE 데이터(D330)의 생성을 위하여 표준 셀 주변에 임의의 다양한 레이아웃들을 배치함으로써 표준 셀의 다양한 컨텍스트들을 생성한 한편, 도 15의 인스턴스 컨텍스트 추출기(440)는 컨텍스트 데이터(D150)의 생성을 위하여, 레이아웃 데이터(D100)에 기초하여, 접적 회로의 레이아웃에 배치된 인스턴스의 실제 주변 레이아웃으로부터 인스턴스의 컨텍스트를 추출할 수 있다. The instance context extractor 440 may generate context data D150 including information on the surrounding layout of the instances selected by the instance selector 420 (ie, context) from the layout data D100. For example, the instance context extractor 440 extracts context data D150 including the context of the instance based on the pattern of the front-end layer included in the instance and the pattern of the front-end layer included in the layout around the instance. can create The cell context generator 320 of FIG. 12 creates various contexts of the standard cell by arranging various layouts around the standard cell to generate the LLE data D330, while the instance context extractor 440 of FIG. 15 In order to generate the context data D150, the context of the instance may be extracted from the actual surrounding layout of the instance disposed in the layout of the integrated circuit based on the layout data D100.

도 16은 도 15의 인스턴스 컨텍스트 추출기(440)의 예시적인 동작을 나타내는 도면이다. 도 16은 집적 회로의 레이아웃 중 일부를 나타내는 평면도이고, 인스턴스 컨텍스트 추출기(440)는 인버터(INV)의 인스턴스(INV_1)의 컨텍스트를 생성할 수 있다. 즉, 인스턴스(INV_1)는 도 15의 인스턴스 선택기(420)에 의해서 선택된 인스턴스로서, 인스턴스 컨텍스트 추출기(440)에 제공될 수 있다.FIG. 16 is a diagram illustrating exemplary operation of the instance context extractor 440 of FIG. 15 . 16 is a plan view illustrating a part of the layout of an integrated circuit, and the instance context extractor 440 may create a context of the instance INV_1 of the inverter INV. That is, the instance INV_1 is an instance selected by the instance selector 420 of FIG. 15 and may be provided to the instance context extractor 440 .

도 15를 참조하여 전술된 바와 같이, 인스턴스 컨텍스트 추출기(440)는 인스턴스에 포함된 프론트-엔드-레이어의 패턴 및 인스턴스 주변 레이아웃에 포함된 프론트-엔드-레이어의 패턴에 기초하여 인스턴스의 컨텍스트를 추출할 수 있다. 예를 들면, 도 15에 도시된 바와 같이, 인스턴스 컨텍스트 추출기(440)는, 인스턴스(INV_1)가 관계된 LLE 유발 구조(LLE3)에 포함된 프론트-엔드-레이어의 정렬된 패턴들의 길이(DY) 및 정렬된 패턴들과 인접한 프론트-엔드-레이어의 패턴 사이 X방향 거리(DX)를 인스턴스(INV_1)의 컨텍스트로서 추출할 수 있다. 즉, 도 15의 예시에서, 인스턴스 컨텍스트 추출기(440)는 인스턴스(INV_1)의 컨텍스트로서 '3y' 및 '8 x'를 추출할 수 있다. 이에 따라, 도 11의 인스턴스 특성화기(220)는 도 14의 테이블을 포함하는 LLE 데이터(D330) 및 인스턴스(INV_1)의 컨텍스트를 포함하는 컨텍스트 데이터(D150)에 기초하여, 인스턴스(INV_1)의 지연 시간을 '3.06%' 열화(즉, '3.06%' 연장)시킬 수 있다.As described above with reference to FIG. 15 , the instance context extractor 440 extracts the instance context based on the front-end-layer pattern included in the instance and the front-end-layer pattern included in the layout around the instance. can do. For example, as shown in FIG. 15 , the instance context extractor 440 determines the length DY of the aligned patterns of the front-end-layer included in the LLE causing structure LLE3 to which the instance INV_1 is related. An X-direction distance (DX) between the aligned patterns and the pattern of the adjacent front-end layer may be extracted as the context of the instance INV_1. That is, in the example of FIG. 15 , the instance context extractor 440 may extract '3y' and '8x' as contexts of the instance INV_1. Accordingly, the instance characterizer 220 of FIG. 11 delays the instance INV_1 based on the LLE data D330 including the table of FIG. 14 and the context data D150 including the context of the instance INV_1. You can degrade the time by '3.06%' (i.e., lengthen it by '3.06%').

도 17은 본 개시의 예시적 실시예에 따라 집적 회로를 설계하는 방법을 나타내는 순서도이다. 구체적으로, 도 17은 로컬 레이아웃 효과를 고려하여 집적 회로의 레이아웃을 생성하는 방법을 나타내고, 도 17에 도시된 방법은 도 3의 구현 그룹(100)에 의해서 수행될 수 있다. 도 17에 도시된 바와 같이, 집적 회로를 설계하는 방법은, 복수의 단계들(S120, S140, S160)을 포함할 수 있다.17 is a flow chart illustrating a method of designing an integrated circuit according to an exemplary embodiment of the present disclosure. Specifically, FIG. 17 shows a method of generating an integrated circuit layout considering local layout effects, and the method shown in FIG. 17 may be performed by the implementation group 100 of FIG. 3 . As shown in FIG. 17 , the method of designing an integrated circuit may include a plurality of steps S120, S140, and S160.

단계 S120에서, 논리 셀들의 제2 인스턴스들에 의한 LLE 유발 구조의 발생이 감소하도록, 사전 배치 셀들의 제1 인스턴스들을 배치하는 동작이 수행될 수 있다. 예를 들면, LLE 유발 구조는 프론트-엔드-레이어의 패턴들을 포함할 수 있고, 제2 인스턴스들에 포함된 프론트-엔드-레이어의 패턴들에 의해서 LLE 유발 구조의 발생이 감소하도록, 제1 인스턴스들이 사전 배치될 수 있다. 제1 인스턴스들은 사전 배치 셀의 인스턴스들로서, 입력 데이터(D010)에 정의되거나 설게 규칙(D320)에 의해서 추가될 수 있다. 또한, 설계 규칙(D320)에 포함된 LLE 규칙(D322)은 LLE 유발 구조에 대한 정보를 포함할 수 있고, LLE 규칙(D322)에 기초하여 LLE 유발 구조의 발생이 감소하도록 제1 인스턴스들이 배치될 수 있다.In operation S120 , an operation of arranging first instances of pre-arranged cells may be performed to reduce occurrence of an LLE-induced structure by second instances of logic cells. For example, the LLE-induced structure may include front-end-layer patterns, and the occurrence of the LLE-induced structure is reduced by the front-end-layer patterns included in the second instances, so that the first instance may be pre-placed. The first instances are pre-arranged cell instances, and may be defined in the input data D010 or added according to the design rule D320. In addition, the LLE rule D322 included in the design rule D320 may include information on the LLE-induced structure, and the first instances are arranged so that the occurrence of the LLE-induced structure decreases based on the LLE rule D322. can

단계 S140에서, 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치하는 동작이 수행될 수 있다. 제2 인스턴스들은 논리 셀의 인스턴스들로서, 설계 규칙(D320)을 준수하도록 이미 배치된 제1 인스턴스들에 인접하게 배치되기 시작할 수 있다. 단계 S120에 의한 제1 인스턴스들의 배치에 기인하여, 제2 인스턴스들에 의한 LLE 유발 구조의 발생이 감소할 수 있다. In step S140, an operation of disposing second instances may be performed in an area where the first instances are not disposed. The second instances are logic cell instances, and may start to be arranged adjacent to the first instances already arranged to comply with the design rule D320. Due to the arrangement of the first instances in step S120, the occurrence of LLE-induced structures by the second instances may be reduced.

단계 S160에서, 제1 및 제2 인스턴스들의 커넥션들을 라우팅하는 동작이 수행될 수 있다. 예를 들면, 제1 및 제2 인스턴스들을 연결하는 상호연결들이 생성될 수 있고, 제1 및 제2 인스턴스들의 배치에 관한 정보 및 상호연결들에 관한 물리적 정보를 포함하는 레이아웃 데이터(D100)가 생성될 수 있다.In step S160, an operation of routing connections of the first and second instances may be performed. For example, interconnections connecting the first and second instances may be created, and layout data D100 including information on arrangement of the first and second instances and physical information on the interconnections is generated. It can be.

도 18은 본 개시의 예시적 실시예에 따라 도 17의 단계 S120의 예시를 나타내는 순서도이다. 도 17을 참조하여 전술된 바와 같이, 단계 S120에서, 논리 셀들의 제2 인스턴스들에 의한 LLE 유발 구조의 발생이 감소하도록, 사전 배치 셀들의 제1 인스턴스들을 배치하는 동작이 수행될 수 있다. 도 18은 단계 S120가 2개의 단계들(S122, S124)를 모두 포함하는 예시를 도시하나, 단계 S120는 2개의 단계들 중 하나만을 포함할 수도 있으며, 2개의 단계들(S122, S124)은 병렬적으로 또는 순차적으로 수행될 수 있다.18 is a flowchart illustrating an example of step S120 of FIG. 17 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 17 , in step S120 , an operation of arranging first instances of pre-placed cells may be performed to reduce occurrence of an LLE-induced structure by second instances of logic cells. 18 shows an example in which step S120 includes both steps S122 and S124, but step S120 may include only one of the two steps, and the two steps S122 and S124 are performed in parallel. It can be done sequentially or sequentially.

단계 S122에서, 제1 인스턴스들의 에지들이 정렬되지 아니하도록 배치하는 동작이 수행될 수 있다. 예를 들면, 도 5 및 도 6을 참조하여 전술된 바와 같이, 서로 가장 가까운 제1 인스턴스들의 에지가 정렬되지 아니하도록, 제1 인스턴스들이 배치될 수 있다. 이에 따라, 에지에서 형성된 프론트-엔드-레이어의 패턴을 포함하는 제2 인스턴스들에 의한 LLE 유발 구조가 감소할 수 있다.In step S122, an operation of arranging edges of the first instances so that they are not aligned may be performed. For example, as described above with reference to FIGS. 5 and 6 , the first instances may be arranged such that the edges of the first instances closest to each other are not aligned. Accordingly, an LLE-induced structure by the second instances including the pattern of the front-end layer formed at the edge may be reduced.

단계 S124에서, 상이한 폭들을 가지는 더미 셀들의 인스턴스들을 교번적으로 배치하는 동작이 수행될 수 있다. 예를 들면, 도 7을 참조하여 전술된 바와 같이, 사전 배치 셀은 일련의 행들에 배치되는 멀티-하이트 셀을 포함할 수 있고, 멀티-하이트 셀에 대응하는 인스턴스는 일련의 행들에 수직한 에지를 가질 수 있다. 또한, 도 8을 참조하여 전술된 바와 같이, 설계 규칙(D320)에 기인하여 사전 배치 셀의 복수의 인스턴스들이 정렬되어 배치될 수 있고, 이에 따라 일련의 행들에 수직한 제1 인스턴스들의 에지가 발생할 수 있다. 일련의 행들에 수직한 적어도 하나의 제1 인스턴스의 에지에 인접하게 상이한 폭들을 가지는 더미 셀들의 인스턴스들이 교번적으로 배치됨으로써, 에지에서 형성된 프론트-엔드-레이어의 패턴을 포함하는 제2 인스턴스들에 의한 LLE 유발 구조는 감소할 수 있다.In step S124, an operation of alternately arranging instances of dummy cells having different widths may be performed. For example, as described above with reference to FIG. 7 , a pre-placed cell may include a multi-height cell disposed in a series of rows, and an instance corresponding to a multi-height cell may have an edge perpendicular to the series of rows. can have In addition, as described above with reference to FIG. 8, a plurality of instances of the pre-arranged cells may be aligned and arranged due to the design rule D320, and accordingly, the edges of the first instances perpendicular to a series of rows may occur. can Instances of dummy cells having different widths are alternately arranged adjacent to the edge of at least one first instance perpendicular to a series of rows, so that second instances comprising the pattern of the front-end-layer formed at the edge LLE-induced structures by

도 19는 본 개시의 예시적 실시예에 따라 LLE 유발 구조를 제거하기 위해 인스턴스를 이동시키는 방법을 나타내는 순서도이다. 본 개시의 예시적 실시예에 따라, 도 19에 도시된 단계들(S182, S184)은 도 17의 단계 S140에 포함될 수도 있고, 도 17의 단계 S160가 수행된 이후에 (예컨대, ECO에서) 수행될 수도 있다.19 is a flowchart illustrating a method of moving an instance to remove an LLE inducing structure according to an exemplary embodiment of the present disclosure. According to an exemplary embodiment of the present disclosure, steps S182 and S184 shown in FIG. 19 may be included in step S140 of FIG. 17 and performed after step S160 of FIG. 17 is performed (eg, in ECO). It could be.

단계 S182에서, LLE 유발 구조를 검출하는 동작이 수행될 수 있다. 즉, 설계 규칙(D320)에 포함된 LLE 규칙(D322)은 LLE 유발 구조에 관한 정보를 포함할 수 있고, LLE 규칙(D322)에 기초하여 인스턴스들(예컨대, 도 17의 단계 S120 및 단계 S140에서 배치된 제1 및 제2 인스턴스들)에서 LLE 유발 구조가 검출될 수 있다. 예를 들면, LLE 규칙(D322)은 일정한 길이 이상 정렬된 프론트-엔드-레이어의 패턴들을 LLE 유발 구조로서 정의할 수 있고, 그러한 LLE 규칙(D322)에 기초하여 일정한 길이 이상 정렬된 프론트-엔드-레이어의 패턴들이 검출될 수 있다.In step S182, an operation of detecting an LLE-induced structure may be performed. That is, the LLE rule (D322) included in the design rule (D320) may include information on the LLE-induced structure, and instances (eg, in steps S120 and S140 of FIG. 17) based on the LLE rule (D322) An LLE-causing structure may be detected in the first and second deployed instances). For example, the LLE rule (D322) may define front-end-layer patterns aligned over a certain length as an LLE-causing structure, and based on the LLE rule (D322), the front-end-layers aligned over a certain length Patterns of a layer can be detected.

단계 S184에서, LLE 유발 구조와 관계된 적어도 하나의 인스턴스를 이동시키는 동작이 수행될 수 있다. 즉, 검출된 LLE 유발 구조를 제거하기 위하여, LLE 유발 구조에 포함된 프론트-엔드-레이어의 패턴들과 관계된 인스턴스들(예컨대, 도 17의 제1 및 제2 인스턴스들) 중 적어도 하나를 이동시킬 수 있다. 예를 들면, 도 10a에 도시된 바와 같이 하나의 행에서 하나의 인스턴스가 이동될 수도 있고, 도 10b에 도시된 바와 같이, 하나의 행에서 2이상의 인스턴스들이 이동될 수도 있다. In step S184, an operation of moving at least one instance related to the LLE inducing structure may be performed. That is, in order to remove the detected LLE-causing structure, at least one of the instances (eg, the first and second instances of FIG. 17 ) related to the front-end-layer patterns included in the LLE-causing structure is moved. can For example, as shown in FIG. 10A, one instance may be moved in one row, and as shown in FIG. 10B, two or more instances may be moved in one row.

도 20은 본 개시의 예시적 실시예에 따라 집적 회로를 설계하는 방법을 나타내는 순서도이다. 구체적으로, 도 20은 로컬 레이아웃 효과를 고려하여 집적 회로의 성능을 분석하는 방법을 나타내고, 도 20에 도시된 바와 같이, 본 방법은 복수의 단계들(S220, S240, S260, S280)을 포함할 수 있다.20 is a flowchart illustrating a method of designing an integrated circuit according to an exemplary embodiment of the present disclosure. Specifically, FIG. 20 shows a method of analyzing the performance of an integrated circuit in consideration of the local layout effect, and as shown in FIG. 20, the method may include a plurality of steps S220, S240, S260, and S280. can

단계 S220에서, LLE 데이터(D330) 및 컨텍스트 데이터(D150)에 기초하여 인스턴스의 물리적 특성을 산출하는 동작이 수행될 수 있다. 인스턴스의 물리적 특성은, 인스턴스에 대응하는 표준 셀의 진성 물리적 특성으로부터, 인스턴스의 주변 레이아웃(즉, 컨텍스트)에 의해 발생한 로컬 레이아웃 효과에 기인하여 변경 또는 유지된 물리적 특성을 지칭할 수 있다. LLE 데이터(D330)는 다양한 컨텍스트들에 대응하는 표준 셀의 물리적 특성의 변동들에 관한 정보를 포함할 수 있고, 컨텍스트 데이터(D150)는 레이아웃 데이터(D100)로부터 추출된, 인스턴스의 컨텍스트에 관한 정보를 포함할 수 있다. 도 20에 도시된 바와 같이, LLE 데이터(D330) 및 컨텍스트 데이터(D150)는 단계 S260 및 단계 S280에 의해서 각각 생성될 수 있다. In step S220, an operation of calculating physical characteristics of an instance based on the LLE data D330 and the context data D150 may be performed. The physical characteristics of an instance may refer to physical characteristics that are changed or maintained from the intrinsic physical characteristics of a standard cell corresponding to the instance due to local layout effects caused by the surrounding layout (ie, context) of the instance. The LLE data D330 may include information about variations in physical characteristics of a standard cell corresponding to various contexts, and the context data D150 is information about the context of an instance extracted from the layout data D100. can include As shown in FIG. 20 , LLE data D330 and context data D150 may be generated by steps S260 and S280, respectively.

단계 S240에서, 인스턴스의 물리적 특성에 기초하여 집적 회로의 성능을 분석하는 동작이 수행될 수 있다. 예를 들면, 셀 라이브러리(D310) 및 산출된 인스턴스의 물리적 특성에 기초하여, 레이아웃 데이터(D100)로부터 집적 회로의 네트리스트가 추출될 수 있고, 추출된 네트리스트는 집적 회로의 레이아웃에 따른 실제적인 동작을 반영하기 위한 소자들(예컨대, 저항 및/또는 캐패시터)에 대한 정보를 포함할 수 있다. 추출된 네트리스트에 기초하여 집적 회로의 성능, 예컨대 타이밍 특성, 전력 특성, 노이즈 특성 등이 분석될 수 있고, 집적 회로의 성능에 관한 정보를 포함하는 결과 데이터(D200)가 생성될 수 있다.In step S240, an operation of analyzing the performance of the integrated circuit based on the physical characteristics of the instance may be performed. For example, based on the cell library D310 and the calculated physical characteristics of the instance, the netlist of the integrated circuit may be extracted from the layout data D100, and the extracted netlist may be used to determine the actual layout according to the layout of the integrated circuit. Information on elements (eg, resistors and/or capacitors) for reflecting operation may be included. Based on the extracted netlist, performance of the integrated circuit, for example, timing characteristics, power characteristics, noise characteristics, etc. may be analyzed, and result data D200 including information about the performance of the integrated circuit may be generated.

단계 S260에서, 셀 라이브러리(D310)로부터 LLE 데이터(D330)를 생성하는 동작이 수행될 수 있다. 단계 S260는, 단계들(S220, S240)이 수행되기 전에 수행될 수 있고, 단계 S260은 단계들(S262, S264)을 포함할 수 있다.In step S260, an operation of generating LLE data D330 from the cell library D310 may be performed. Step S260 may be performed before steps S220 and S240 are performed, and step S260 may include steps S262 and S264.

단계 S262에서, 표준 셀의 복수의 컨텍스트들을 생성하는 동작이 수행될 수 있다. 예를 들면, 도 13a를 참조하여 전술된 바와 같이, 표준 셀의 주변에 셀 라이브러리(D310)에 포함된 다른 표준 셀, 예컨대 동일하거나 상이한 표준 셀을 다양하게 배치함으로써, 표준 셀의 복수의 컨텍스트들이 생성될 수 있다. 또한, 도 13b를 참조하여 전술된 바와 같이, 프론트-엔드-레이어에 형성된 다양한 모양의 패턴들을 표준 셀의 주변에 배치함으로써, 표준 셀의 복수의 컨텍스트들이 생성될 수 있다.In step S262, an operation of generating a plurality of contexts of a standard cell may be performed. For example, as described above with reference to FIG. 13A , a plurality of contexts of a standard cell are created by variously arranging other standard cells included in the cell library D310 around the standard cell, for example, the same or different standard cells. can be created Also, as described above with reference to FIG. 13B , a plurality of contexts of a standard cell may be created by arranging patterns of various shapes formed on the front-end layer around the standard cell.

단계 S264에서, 복수의 컨텍스트들에 대응하는 표준 셀의 물리적 특성들을 산출할 수 있다. 예를 들면, 셀 라이브러리(D310)는 표준 셀의 특성 함수를 포함할 수 있고, 컨텍스트들 각각에 대응하는 특성 함수의 파라미터들이 결정될 수 있다. 이에 따라, 하나의 표준 셀에 대하여 복수의 컨텍스트들에 따른 복수의 물리적 특성들이 산출될 수 있고, 그러한 물리적 특성들에 관한 정보를 포함하는 LLE 데이터(D330)가 생성될 수 있다. 예를 들면, LLE 데이터(D330)는 표준 셀의 진성 파라미터에 의한 특성 함수의 값과 컨텍스트에 의해서 결정된 파라미터에 의한 특성 함수의 값 사이 차이 또는 비율을 포함하는 LLE 데이터(D330)를 생성할 수 있다.In step S264, physical characteristics of standard cells corresponding to a plurality of contexts may be calculated. For example, the cell library D310 may include a characteristic function of a standard cell, and parameters of the characteristic function corresponding to each context may be determined. Accordingly, a plurality of physical characteristics according to a plurality of contexts may be calculated for one standard cell, and LLE data D330 including information on the physical characteristics may be generated. For example, the LLE data D330 may generate the LLE data D330 including a difference or ratio between a value of a characteristic function by an intrinsic parameter of a standard cell and a value of a characteristic function by a parameter determined by a context. .

단계 S280에서, 레이아웃 데이터(D100)로부터 컨텍스트 데이터(D150)를 생성하는 동작이 수행될 수 있다. 단계 S280은 단계들(S220, S240)이 수행되기 전에 수행될 수 있고, 단계 S280은 단계들(S282, S284)을 포함할 수 있다.In step S280, an operation of generating context data D150 from layout data D100 may be performed. Step S280 may be performed before steps S220 and S240 are performed, and step S280 may include steps S282 and S284.

단계 S282에서, 컨텍스트를 생성할 인스턴스들을 선택하는 동작이 수행될 수 있다. 즉, 입력 데이터(D010) 또는 레이아웃 데이터(D100)를 참조하여 집적 회로에 포함된 인스턴스들 중 전부 또는 일부가 선택될 수 있다. 예를 들면, 집적 회로의 크리티컬 패스에 포함된 인스턴스들이 선택될 수도 있고, 클락 트리에 포함된 인스턴스들이 선택될 수도 있다.In step S282, an operation of selecting instances to create a context may be performed. That is, all or some of the instances included in the integrated circuit may be selected with reference to the input data D010 or the layout data D100. For example, instances included in a critical path of the integrated circuit may be selected, or instances included in a clock tree may be selected.

단계 S284에서, 선택된 인스턴스들의 컨텍스트들을 추출하는 동작이 수행될 수 있다. 즉, 단계 S282에서 선택된 인스턴스들의 주변 레이아웃에 관한 정보(즉, 컨텍스트)를 포함하는 컨텍스트 데이터(D150)를 레이아웃 데이터(D100)로부터 생성할 수 있다. 예를 들면, 선택된 인스턴스에 포함된 프론트-엔드-레이어의 패턴 및 선택된 인스턴스 주변 레이아웃에 포함된 프론트-엔드-레이어의 패턴에 기초하여 선택된 인스턴스의 컨텍스트가 추출될 수 있다.In step S284, an operation of extracting contexts of selected instances may be performed. That is, context data D150 including information on the surrounding layout of the instances selected in step S282 (ie, context) may be generated from the layout data D100. For example, the context of the selected instance may be extracted based on the pattern of the front-end layer included in the selected instance and the pattern of the front-end layer included in the layout around the selected instance.

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Although the embodiments have been described using specific terms in this specification, they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of protection of the present disclosure should be determined by the technical spirit of the appended claims.

Claims (20)

표준 셀들의 인스턴스(instance)들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템으로서,
프로시저(procedure)들을 포함하는 정보를 저장하는 메모리; 및
상기 메모리에 엑세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
상기 프로시저들은,
사전 배치 셀들의 제1 인스턴스들을, 논리 셀들의 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과(local layout effect; LLE) 유발 구조의 발생이 감소하도록, 배치하는 사전 배치기;
상기 제1 인스턴스들이 배치되지 아니한 영역에 상기 제2 인스턴스들을 배치하는 인스턴스 배치기; 및
배치된 상기 제1 및 제2 인스턴스들의 커넥션들을 라우팅함으로써 상기 집적 회로의 레이아웃 데이터를 생성하는 라우터를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
A computing system for designing an integrated circuit comprising instances of standard cells, comprising:
a memory that stores information including procedures; and
a processor accessible to the memory and executing the procedures;
These procedures are
a pre-placer that arranges the first instances of the pre-placement cells so that the occurrence of a local layout effect (LLE)-induced structure due to the placement of the second instances of the logic cells is reduced;
an instance placer to place the second instances in an area where the first instances are not placed; and
and a router generating layout data of the integrated circuit by routing connections of the arranged first and second instances.
청구항 1에 있어서,
상기 사전 배치 셀들은, 웰-에지(well-edge) 셀, 웰-바이어스(well-bias) 셀 및 디캡(decap) 셀 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 1,
The pre-placed cells include at least one of a well-edge cell, a well-bias cell, and a decap cell.
청구항 1에 있어서,
상기 LLE 유발 구조는, 2이상의 서로 인접한 제2 인스턴스들에 포함된 프론트-엔드-레이어(front-end-layer)의 패턴들에 의해서 형성되는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 1,
The computing system, characterized in that the LLE inducing structure is formed by front-end-layer patterns included in two or more mutually adjacent second instances.
청구항 3에 있어서,
상기 제1 및 제2 인스턴스들은, 등간격의 평행한 복수의 행들 상에 배치되고,
상기 사전 배치기는, 상기 제2 인스턴스들에 포함된 프론트-엔드-레이어의 패턴들이 상기 복수의 행들에 수직한 방향으로 정렬되지 아니하도록, 상기 제1 인스턴스들을 배치하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 3,
The first and second instances are arranged on a plurality of parallel rows at equal intervals,
The pre-arranger arranges the first instances so that patterns of a front-end layer included in the second instances are not aligned in a direction perpendicular to the plurality of rows.
청구항 4에 있어서,
상기 사전 배치기는, 서로 가장 가까운 제1 인스턴스들의 에지들이 상기 복수의 행들에 수직한 방향으로 정렬되지 아니하도록 상기 제1 인스턴스들을 배치하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 4,
The pre-arranger arranges the first instances so that edges of the first instances closest to each other are not aligned in a direction perpendicular to the plurality of rows.
청구항 4에 있어서,
상기 제1 인스턴스들은, 상기 복수의 행들 중 일련의 행들에 수직한 에지를 형성하는 적어도 하나의 제1 인스턴스를 포함하고,
상기 사전 배치기는, 상기 일련의 행들에 수직한 에지에 인접하게 상이한 폭들을 가지는 2이상의 더미 셀들의 인스턴스들을 교번적으로 배치하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 4,
the first instances include at least one first instance forming an edge perpendicular to a series of rows of the plurality of rows;
wherein the pre-placer alternately places instances of two or more dummy cells having different widths adjacent to an edge perpendicular to the series of rows.
청구항 6에 있어서,
상기 일련의 행들에 수직한 에지는, 멀티-하이트(multi-height) 셀인 사전 배치 셀의 제1 인스턴스 또는 상기 행들에 수직한 방향으로 정렬된 서로 인접한 2이상의 제1 인스턴스들에 의해서 형성되는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 6,
The edge perpendicular to the series of rows is formed by a first instance of a pre-arranged cell, which is a multi-height cell, or two or more first instances adjacent to each other aligned in a direction perpendicular to the rows. computing system with
청구항 1에 있어서,
상기 프로시저들은, 상기 제1 및 제2 인스턴스들이 배치된 레이아웃에서 상기 LLE 유발 구조를 검출하고, 상기 제1 및 제2 인스턴스들 중 상기 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킴으로써 상기 LLE 유발 구조를 제거하는 인스턴스 시프터를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 1,
The procedures detect the LLE-causing structure in a layout in which the first and second instances are arranged, and select at least one first or second instance related to the LLE-causing structure among the first and second instances. and an instance shifter that removes the LLE-inducing structure by moving it.
표준 셀들의 인스턴스(instance)들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템으로서,
프로시저(procedure)들을 포함하는 정보를 저장하는 메모리; 및
상기 메모리에 엑세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
상기 프로시저들은,
주변 레이아웃에 의존하는 표준 셀의 물리적 특성에 관한 정보를 포함하는 LLE(Local Layout Effect) 데이터를 참조하고, 상기 집적 회로에 배치된 인스턴스의 주변 레이아웃에 관한 상기 배치된 인스턴스의 컨텍스트(context)를 포함하는 컨텍스트 데이터에 기초하여 상기 배치된 인스턴스의 물리적 특성을 산출하는 인스턴스 특성화기(characterizer); 및
상기 배치된 인스턴스의 산출된 물리적 특성에 기초하여, 상기 집적 회로의 성능 정보를 포함하는 결과 데이터를 생성하는 성능 분석기를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
A computing system for designing an integrated circuit comprising instances of standard cells, comprising:
a memory that stores information including procedures; and
a processor accessible to the memory and executing the procedures;
These procedures are
Refers to LLE (Local Layout Effect) data containing information about the physical characteristics of a standard cell depending on the surrounding layout, and includes the context of the placed instance with respect to the surrounding layout of the instance placed on the integrated circuit an instance characterizer that calculates physical characteristics of the arranged instance based on context data of the arranged instance; and
and a performance analyzer that generates resultant data including performance information of the integrated circuit based on the calculated physical characteristics of the deployed instance.
청구항 9에 있어서,
상기 LLE 데이터는, 상기 표준 셀의 레이아웃 및 상기 표준 셀의 주변 레이아웃에 포함된 적어도 하나의 프론트-엔드-레이어(font-end-layer)에 형성된 패턴에 의존하는 상기 표준 셀의 물리적 특성에 관한 정보를 포함하고,
상기 배치된 인스턴스의 컨텍스트는, 상기 배치된 인스턴스의 주변 레이아웃에 포함된 적어도 하나의 프론트-엔드-레이어에 형성된 패턴에 관한 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 9,
The LLE data is information about the physical characteristics of the standard cell depending on a pattern formed on at least one front-end-layer included in the layout of the standard cell and the peripheral layout of the standard cell. including,
The context of the arranged instance includes information about a pattern formed in at least one front-end layer included in a peripheral layout of the arranged instance.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020160160781A 2016-07-29 2016-11-29 System and method for designing integrated circuit by considering local layout effect KR102563927B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/643,472 US10817637B2 (en) 2016-07-29 2017-07-07 System and method of designing integrated circuit by considering local layout effect
CN201710628517.9A CN107665268B (en) 2016-07-29 2017-07-28 System and method for designing integrated circuits by considering local layout effects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160097538 2016-07-29
KR20160097538 2016-07-29

Publications (2)

Publication Number Publication Date
KR20180013661A KR20180013661A (en) 2018-02-07
KR102563927B1 true KR102563927B1 (en) 2023-08-07

Family

ID=61204123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160160781A KR102563927B1 (en) 2016-07-29 2016-11-29 System and method for designing integrated circuit by considering local layout effect

Country Status (1)

Country Link
KR (1) KR102563927B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102622415B1 (en) * 2018-09-11 2024-01-09 삼성전자주식회사 Standard cell design system, standard cell design optimization operation thereof, and semiconductor design system
US11362032B2 (en) 2019-08-01 2022-06-14 Samsung Electronics Co., Ltd. Semiconductor device
KR102584678B1 (en) 2020-12-22 2023-10-06 대한민국 ‘Samkwang(SA)-flo3’, floury endosperm rice mutant derived from ‘Samkwang’

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109498A (en) 2011-11-18 2013-06-06 Renesas Electronics Corp Design aid device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494670B2 (en) * 2011-04-06 2013-07-23 Solido Design Automation Inc. Monte-Carlo based accurate corner extraction
US8621409B2 (en) * 2012-04-30 2013-12-31 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for reducing layout-dependent effects
KR101651230B1 (en) * 2014-08-22 2016-09-05 삼성전자주식회사 Integrated circuit and Standard cell library
KR102384862B1 (en) * 2014-10-22 2022-04-08 삼성전자주식회사 Integrated circuit and method of designing layout of the integrated circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109498A (en) 2011-11-18 2013-06-06 Renesas Electronics Corp Design aid device

Also Published As

Publication number Publication date
KR20180013661A (en) 2018-02-07

Similar Documents

Publication Publication Date Title
CN107665268B (en) System and method for designing integrated circuits by considering local layout effects
US10902168B2 (en) Computer-implemented method and computing system for designing integrated circuit by considering timing delay
EP3193271B1 (en) Multiple patterning layout decomposition considering complex coloring rules
Kahng et al. Optimization of linear placements for wirelength minimization with free sites
KR102563927B1 (en) System and method for designing integrated circuit by considering local layout effect
US20030229862A1 (en) Patching technique for correction of minimum area and jog design rule violations
US10599130B2 (en) Method and system for manufacturing an integrated circuit in consideration of a local layout effect
US20130042217A1 (en) Structural migration of integrated circuit layout
US20140157220A1 (en) Layout design apparatus and layout design method
CN108416077B (en) Method and computing system for designing integrated circuits by considering back-end-of-line processes
JP4652242B2 (en) Cell arrangement method for semiconductor integrated circuit
US7996794B2 (en) Mask data processing method for optimizing hierarchical structure
US20180336307A1 (en) Method for designing an integrated circuit, and method of manufacturing the integrated circuit
US20100262944A1 (en) Object placement in integrated circuit design
US7721248B2 (en) Circuit element function matching despite auto-generated dummy shapes
US7793238B1 (en) Method and apparatus for improving a circuit layout using a hierarchical layout description
US20150143317A1 (en) Determination Of Electromigration Features
Alpert et al. Hypergraph partitioning with fixed vertices [vlsi cad]
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
Shirota et al. A new rip-up and reroute algorithm for very large scale gate arrays
KR102434992B1 (en) Method and system for manufacturing integrated circuit by considering local layout effect
Chang et al. Fast evaluation-based algorithm for fixed-outline floorplanning
Vemuri et al. Defenses Against Design Constraint Based Attacks
Kan et al. Post-layout Redundant Via Insertion Approach Considering Multiple Via Configuration
Chien et al. Mask-cost-aware ECO routing

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant