KR20180013661A - 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
KR20180013661A
KR20180013661A KR1020160160781A KR20160160781A KR20180013661A KR 20180013661 A KR20180013661 A KR 20180013661A KR 1020160160781 A KR1020160160781 A KR 1020160160781A KR 20160160781 A KR20160160781 A KR 20160160781A KR 20180013661 A KR20180013661 A KR 20180013661A
Authority
KR
South Korea
Prior art keywords
instances
instance
lle
layout
integrated circuit
Prior art date
Application number
KR1020160160781A
Other languages
Korean (ko)
Other versions
KR102563927B1 (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

    • G06F17/5045

Abstract

Disclosed are a computing system and method for designing an integrated circuit by considering a local layout effect according to an exemplary embodiment of the present invention. The method for designing an integrated circuit according to an exemplary embodiment of the present disclosure includes the step of arranging instances of pre-arranged cells to reduce the occurrence of a local layout effect inducing structure. Also, the method for designing an integrated circuit according to an exemplary embodiment of the present disclosure can estimate the local layout effect to the arranged instance by extracting a context of the instance from a peripheral layout of the instance and can analyze the performance of the integrated circuit.

Description

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

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

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

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

본 개시의 기술적 사상은 로컬 레이아웃 효과를 고려하여 집적 회로를 설계하는 방법에 관한 것으로서, 로컬 레이아웃 효과가 감소하도록 집적 회로의 레이아웃을 생성하고, 로컬 레이아웃 효과를 반영하여 집적 회로의 성능을 분석하는 시스템 및 방법을 제공한다.The technical idea of the present disclosure relates to a method of designing an integrated circuit in consideration of the local layout effect and a system for generating a layout of the integrated circuit so as 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 인스턴스들의 커넥션들을 라우팅함으로써 집적 회로의 레이아웃 데이터를 생성하는 라우터를 포함할 수 있다.To achieve these and other advantages and in accordance with one aspect of the present disclosure, a computing system for designing an integrated circuit including instances of standard cells includes a memory for storing information including procedures, And may include a processor that is accessible to memory and executes the procedures. The procedures include pre-arrangers that arrange the first instances of pre-arranged cells such that the occurrence of a local layout effect (LLE) inducing structure by placement of second instances of logical cells is reduced, An instance deployer that places the second instances in an un-deployed area, and a router that generates layout data for the integrated circuit by routing connections of the deployed first and second instances.

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

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

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

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

또한, 본 개시의 예시적 실시예에 따른 집적 회로를 설계하기 위한 시스템 및 방법에 의하면, 로컬 레이아웃 효과를 반영하여 집적 회로의 실제적인 성능이 분석될 수 있고, 이에 따라 집적 회로는 최적으로 설계될 수 있다.In addition, with 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 to reflect the local layout effects, and thus the integrated circuit can be optimally designed .

도 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 for storing a program according to an exemplary embodiment.
Figure 2 shows a schematic plan view of an integrated circuit in accordance with an exemplary embodiment.
Figure 3 shows a block diagram of the program of Figure 1 in accordance with an illustrative embodiment.
Figure 4 shows a block diagram of the deployer of Figure 3 in accordance with an exemplary embodiment.
Figures 5-8 are diagrams illustrating exemplary operations of the pre-deployer of Figure 4 in accordance with the illustrative embodiments.
Figures 9A and 9B illustrate examples of the implementation group of Figure 3.
10A and 10B are diagrams illustrating exemplary operations of the instance shifter of FIG. 9A or FIG. 9B in accordance with exemplary embodiments.
Figure 11 shows a block diagram of the analysis group of Figure 3 in accordance with an exemplary embodiment.
12 shows a block diagram of an LLE data generator in accordance with an exemplary embodiment.
Figures 13A and 13B illustrate exemplary operations in which the cell context generator of Figure 12 generates the context of a standard cell in accordance with exemplary embodiments.
14 illustrates an example of LLE data according to an exemplary embodiment.
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.
17 is a flow diagram illustrating an integrated circuit design method in accordance with an exemplary embodiment.
18 is a flowchart showing an example of step S120 in Fig.
19 is a flowchart illustrating a method for moving an instance to remove an LLE triggered structure in accordance with an exemplary embodiment.
20 is a flow diagram illustrating an integrated circuit design method in accordance with an exemplary embodiment.

도 1은 본 개시의 예시적 실시예에 따른 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 시스템(10)의 블록도를 나타낸다. 본 개시의 예시적 실시예에 따라 집적 회로를 설계하는 동작은 컴퓨팅 시스템(10)에서 수행될 수 있다.1 shows a block diagram of a computing system 10 including a memory for storing a program according to an exemplary embodiment of the present disclosure. The operation of designing the integrated circuit in accordance with the exemplary embodiment of the present disclosure may be performed in the 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, a server, or the like, or a portable computing system, such as a laptop computer. 1, the computer system 10 includes a central processing unit (CPU) 11, input / output devices 12, a network interface 13, a random access memory (RAM) 14, only memory < / RTI > (15) and a storage device (16). The CPU 11, the input / output devices 12, the network interface 13, the RAM 14, the ROM 15 and the storage device 16 may be connected to the bus 17, Communication can be performed.

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)로 하여금 본 개시의 예시적 실시예들에 따른 집적 회로를 설계하기 위한 동작들을 수행하도록 할 수 있다.CPU 11 may be referred to as a processing unit and may be any unit of instruction such as a microprocessor, an application processor, a digital signal processor (DSP), a graphics processing unit (GPU) A core capable of executing IA-32 (Intel Architecture-32), 64-bit extension IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64, etc.) The processor 11 may access the memory via the bus 17 or RAM 14 or ROM 15 and may execute instructions stored in the RAM 14 or the ROM 15. [ The RAM 14 may store the program 20 or at least a portion thereof in accordance with the illustrative embodiment of the present disclosure and the program 20 may cause the CPU 11 to perform operations for designing the integrated circuit The program 20 may include a plurality of instructions executable by the CPU 11, A plurality of commands are included in 20, can be to perform the operations for designing an integrated circuit in accordance with an exemplary embodiment of the disclosure allows the CPU (11) present.

저장 장치(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 the stored data even if the power supplied to the computing system 10 is interrupted. For example, the storage device 16 may be a non-volatile memory such as an electrically erasable programmable read-only memory (EEPROM), a flash memory, a phase change random access memory (PRAM), a resistance random access memory ), Nano Floating Gate Memory (NFGM), Polymer Random Access Memory (PoRAM), Magnetic Random Access Memory (MRAM), Ferroelectric Random Access Memory (FRAM) Or may include a storage medium such as a magnetic disk. In addition, the storage device 16 may be removable from the computing system 10. The storage device 16 may store the program 20 in accordance with the illustrative embodiment of the present disclosure and may store the program 20 or the program 20 from the storage device 16 prior to being executed by the CPU 11. [ At least a portion of it may be loaded into the RAM 14. The storage device 16 may store a file written in a programming language and the program 20 or at least a part thereof generated by a compiler or the like 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 can generate new data by processing the data stored in the storage device 16 according to the program 20, and 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 / or the layout data D100 of FIG. 3 generated by the program 20 and / And store result data D200.

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

네트워크 인터페이스(13)는 컴퓨팅 시스템(10) 외부의 네트워크에 대한 액세스를 제공할 수 있다. 예를 들면, 네트워크는 다수의 컴퓨팅 시스템들 및 통신 링크들을 포함할 수 있고, 통신 링크들은 유선 링크들, 광학 링크들, 무선 링크들 또는 임의의 다른 형태의 링크들을 포함할 수 있다. 도 3의 입력 데이터(D010)가 네트워크 인터페이스(13)를 통해서 컴퓨팅 시스템(10)에 제공될 수도 있고, 레이아웃 데이터(D100) 및/또는 결과 데이터(D200)가 네트워크 인터페이스(13)를 통해서 다른 컴퓨팅 시스템에 제공될 수도 있다.The network interface 13 may provide access to a network outside the computing system 10. For example, a network may include multiple computing systems and communication links, and the communication links may include wired links, optical links, wireless links, or any other type of links. The input data D010 of Figure 3 may be provided to the computing system 10 via the network interface 13 and the layout data D100 and / 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 be scaled for explanatory convenience, 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, the integrated circuit 5 may include instances of standard cells (C01 through C06). Instances corresponding to the same standard cell (e.g., C02, C03, C04, C05) may have the same layout, and instances corresponding to different standard cells may have different layouts, respectively. The instances C01 to C06 may be arranged in a plurality of rows R01 to R04. The instances C01 to C06 may have a length H (i.e., height) defined in a direction perpendicular to the plurality of rows R01 to R04 extending in the X direction (i.e., the Y direction) (I.e., width) in the direction parallel to the rows (i.e., the X direction). Each of the plurality of rows R01 through R04 in which the instances C01 through C06 are aligned may have a height corresponding to a minimum height of the standard cell. The standard cell of instances having a height that coincides with the row height H, such as the instances (C01 through C05 and C07) of FIG. 2, may be referred to as a single height cell, A standard cell of an instance having a height that coincides with a multiple of the row height H, such as C06, 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 (for example, D310 in FIG. 3) including information on a plurality of standard cells based on physical characteristics of standard cells such as functions, timing characteristics, The layout of the integrated circuit 5 can be created by placing an instance of the standard cell. An instance may have physical characteristics that differ from the physical characteristics of a standard cell (i. E. Intrinsic physical characteristics of a standard cell) depending on its surrounding layout. For example, the threshold voltage (Vth) and the saturation current (Idsat) of the transistors included in the instance may vary according to the layout around the instance, so that the physical characteristics of the instance included in the integrated circuit 5, May be different from the intrinsic physical properties of a standard cell defined in < RTI ID = 0.0 > In this way, the impact of the peripheral layout of 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 may be referred to as instance & It may be difficult to know exactly until it is decided.

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

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

도 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 in accordance with an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1, program 20 may include a plurality of instructions, and the plurality of instructions contained in program 20 may cause CPU 11 to execute instructions, So that an operation of designing an integrated circuit can be performed. All of the components of the program 20 shown in Figure 3 may be stored in the RAM 14 of Figure 1 and at least some of the components are stored in the RAM 14 of Figure 1, 1 < / RTI >

도 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)가 그러한 동작을 수행하는 것으로도 표현된다.3, program 20 may include an implementation group 100 and an analysis group 200, and the implementation group 100 and analysis group 200 may include a plurality of procedures 120, 140, 220, and 240, respectively. A procedure may refer to a set of instructions for performing a particular task. A procedure may also be referred to as a function, a routine, a subroutine, a subprogram, or the like. Each of the procedures may process externally provided data (e.g., D010) or data (e.g., D180) generated by another procedure. Herein, the CPU 11 of FIG. 1 performs operations by executing a procedure (e.g., 120, 140, 220 or 240) until a procedure (e.g., 120, 140, 220 or 240) . ≪ / RTI >

셀 라이브러리(D310), 설계 규칙(D320) 및 LLE 데이터(D330)는 저장 매체(30)에 저장될 수 있고, 예컨대 저장 매체(30)는 도 1의 저장 장치(16)일 수 있다. 셀 라이브러리(D310)는 복수의 표준 셀들의 물리적 특성에 관한 정보, 예컨대 기능 정보, 타이밍 정보, 레이아웃 정보, 전력 정보 중 적어도 하나를 포함할 수 있다. 설계 규칙(D320)은 집적 회로가 반도체 공정에 의해서 제조되기 위하여 및/또는 집적 회로의 성능 저하를 방지하기 위하여 집적 회로의 레이아웃이 준수해야 할 규칙들을 포함할 수 있다. 또한, 후술되는 바와 같이, 설계 규칙(D320)은 로컬 레이아웃 효과를 유발하는 구조를 검출하기 위한 정보를 더 포함할 수도 있다. LLE 데이터(D330)는 로컬 레이아웃 효과에 의한 표준 셀의 물리적 특성 변동에 관한 정보를 포함할 수 있다. 도 12 내지 도 14을 참조하여 후술되는 바와 같이, LLE 데이터(D330)는 LLE 데이터 생성기(300)에 의해서 생성될 수 있고, 도 3의 구현 그룹(100) 및 분석 그룹(200)이 실행되기 전에 준비될 수 있다.Cell library D310, design rules D320 and LLE data D330 may be stored in storage medium 30 and storage medium 30 may be storage device 16 in FIG. The cell library D310 may include at least one of information on physical characteristics of a plurality of standard cells, for example, function information, timing information, layout information, and power information. Design rule D320 may include rules that an integrated circuit must conform to in order for the integrated circuit to be fabricated by a semiconductor process and / or to prevent degradation of the performance of the integrated circuit. Further, as described later, the design rule D320 may further include information for detecting a structure causing a local layout effect. The LLE data D330 may include information on the physical property variation of the standard cell due to the local layout effect. LLE data D330 may be generated by the LLE data generator 300 and may be generated prior to the implementation group 100 and analysis group 200 of Figure 3 being executed, as described below with reference to Figures 12-14. 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 the data D310, D320 and D330 stored in the storage medium 30 and may generate the layout data D100 from the input data D010. The input data D010 may include data defining the integrated circuit, e.g., a netlist containing information about the instances of standard cells and the electrical connections of the instances. Further, the input data D010 may further include information on the requirements of the integrated circuit, such as timing conditions, power conditions, area conditions, and the like. The implementation group 100 references the data D310, D320, and D330 stored in the storage medium 30 to generate layout data D100 including the physical information of the layout of the integrated circuit from the input data D101 defining the integrated circuit Can be generated.

또한, 구현 그룹(100)은, 레이아웃 데이터(D100)에 기초하여 분석 그룹(200)이 생성한, 집적 회로의 성능에 관한 정보를 포함하는 결과 데이터(D200)를 엑세스할 수 있다. 구현 그룹(100)은 결과 데이터(D200)에 기초하여, 레이아웃 데이터(D100)에 따른 집적 회로의 성능이 입력 데이터(D010)에 포함된 집적 회로의 요건을 충족하는지 여부에 따라 집적 회로의 레이아웃을 변경할 수 있고, 변경된 레이아웃을 나타내는 새로운 레이아웃 데이터(D100)를 생성할 수 있다. 예를 들면, 결과 데이터(D200)는 로컬 레이아웃 효과에 따른 집적 회로의 성능 저하 또는 성능 마진을 포함할 수 있고, 구현 그룹(100)은 결과 데이터(D200)에 기초하여 최적으로 설계된 집적 회로의 레이아웃을 나타내는 새로운 레이아웃 데이터(D100)를 생성할 수 있다.The implementation group 100 may also access result data D200 that includes information about the performance of the integrated circuit generated by the analysis group 200 based on the layout data D100. The implementation group 100 determines the layout of the integrated circuit according to whether or not the performance of the integrated circuit according to the layout data D100 satisfies the requirements of the integrated circuit included in the input data D010, New layout data D100 indicating the changed layout can be generated. For example, the result data D200 may include performance degradation or performance margins of the integrated circuit depending on the local layout effect, and the implementation group 100 may include a layout of the optimally designed integrated circuit based on the result data D200 Lt; RTI ID = 0.0 > D100 < / RTI >

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

라우터(140)는 배치기(120)에 의해서 배치된 인스턴스들을 전기적으로 연결하는 상호연결들을 생성할 수 있다. 예를 들면, 라우터(140)는 라우팅 리소스, 즉 복수의 배선층들 및 비아들을 사용하여, 배선층에 형성된 패턴 및/또는 비아를 포함하는 상호연결을 생성할 수 있다. 라우터(140)는 입력 데이터(D010)에 정의된 인스턴스들의 연결관계에 관한 정보 및 설계 규칙(D320)에 기초하여 상호연결들을 생성할 수 있다. 또한, 라우터(140)는 입력 데이터(D010)에 포함된 집적 회로의 요건에 관한 정보에 기초하여 상호연결들을 생성할 수 있다.Router 140 may create interconnections that electrically connect instances disposed by deployer 120. For example, the router 140 may use a routing resource, i. E., A plurality of interconnect layers and vias, to create an interconnect that includes patterns and / or vias formed in the interconnect layer. The router 140 can generate the interconnections based on the design rule D320 and information about the connection relationship of the instances defined in the input data D010. In addition, the router 140 may generate interconnections based on information regarding the requirements of the integrated circuit included in the 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 can refer to the data D310, D320 and D330 stored in the storage medium 30 and generate the result data D200 from the layout data D100. The layout data D100 may include physical information related to the layout of the integrated circuit, and may include data having a GDSII format, for example. Although the analysis group 200 in FIG. 3 is shown as accessing the layout data D100 generated by the implementation group 100, the layout data D100 may be different from the computing system in which the analysis group 200 is performed, May be generated by the system and provided to the analysis group 200. The analysis group 200 can analyze the performance of the integrated circuit based on the layout data D100 and generate the result data D200 that includes information on the performance of the integrated circuit. As described below, the analysis group 200 can estimate the local layout effects that occur in the layout of the integrated circuit, and thus the result data D200 can reflect the performance of the actual integrated circuit.

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

성능 분석기(240)는 인스턴스 특성화기(220)에 의해 추출된 인스턴스의 물리적 특성에 기초하여 집적 회로의 성능을 분석함으로써 결과 데이터(D200)를 생성할 수 있다. 예를 들면, 성능 분석기(240)는, 집적 회로의 타이밍 특성, 전력 특성, 노이즈 특성 등을 분석할 수 있다. 또한, 성능 분석기(240)는 입력 데이터(D010)에 포함된 집적 회로의 요건에 관한 정보를 참조하여, 집적 회로의 성능이 요건을 충족하는지 여부를 판단한 결과를 포함하는 결과 데이터(D200)를 생성할 수도 있다.The performance analyzer 240 can generate the 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 can analyze timing characteristics, power characteristics, noise characteristics, and the like of the integrated circuit. The performance analyzer 240 also refers to the information about the requirements of the integrated circuit included in the input data D010 and generates result data D200 including the result of determining whether the performance of the integrated circuit satisfies the requirement You may.

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

사전 배치기(122)는 사전 배치 셀들의 인스턴스들을 배치할 수 있다. 사전 배치 셀은, 집적 회로에 포함된 논리 셀들의 인스턴스들(이하, 제2 인스턴스들로서 지칭된다)이 배치되기 전에 배치되는 인스턴스들(제1 인스턴스들로서 지칭된다)에 대응할 수 있고, 비제한적인 예시로서 웰-에지(well-edge) 셀, 웰-바이어스(well-bias) 셀, 디캡(decap) 셀 등일 수 있다. 셀 라이브러리(D310)는 사전 배치 셀에 관한 정보를 포함할 수 있고, 입력 데이터(D010)가 사전 배치 셀의 인스턴스들을 중 일부를 정의할 수도 있고, 사전 배치기(122)가 설계 규칙(D320)에 따라 셀 라이브러리(D310)를 참조하여 사전 배치 셀의 인스턴스들을 생성하여 배치할 수도 있다.The pre-deployer 122 may deploy instances of pre-deployed cells. The pre-layout cell may correspond to instances (referred to as first instances) that are disposed before the instances of logic cells included in the integrated circuit (hereinafter referred to as second instances) are deployed, A well-edge cell, a well-bias cell, a decap cell, or the like. The cell library D310 may include information about the pre-layout cell, the input data D010 may define some of the instances of the pre-layout cell, and the pre-layout 122 may include It is possible to create and arrange the instances of the pre-arranged cells with reference 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 preprocessor 122 is configured to generate a local layout effect inducing structure (hereinafter referred to as an LLE inducing structure) by placement of second instances (i.e., instances of logic cells) (I. E., Instances of pre-arranged cells). As shown in FIG. 4, the design rule D320 may include the LLE rule D322, and the LLE rule D322 may include information about the LLE inducement structure. For example, the LLE rule D322 may include information defining a structure in which the patterns formed in the front-end-layer are arranged, and the pre-layout 122 may refer to the LLE rule D322, As described below with reference to FIG. 8, the first instances may be arranged such that the pattern of the front-end-layer included in the second instances decreases. The LLE rule D322 may also include information about the spacing and / or the opposing length between adjacent patterns formed in the front-end-layer.

인스턴스 배치기(124)는 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치할 수 있다. 사전 배치기(122)에 의해서 배치된 제1 인스턴스들에 의해서 제2 인스턴스들이 배치되는 영역이 제한됨으로써, 제2 인스턴스들이 형성하는 LLE 유발 구조는 감소되거나 제거될 수 있다. 이에 따라, 제2 인스턴스들은 셀 라이브러리(D310)에 정의된 표준 셀의 물리적 특성(즉, 진성 물리적 특성)에 근접한 물리적 특성들을 가질 수 있고, 배치가 완료된 제2 인스턴스들의 물리적 특성들 및 입력 데이터(D010)의 생성시(예컨대, 논리 합성시) 예상된 제2 인스턴스들의 물리적 특성들간 격차는 감소할 수 있다. 셀 라이브러리(D310)는 표준 셀에 로컬 레이아웃 효과가 발생하지 아니한 경우 또는 표준 셀에 평균적인 로컬 레이아웃 효과가 발생하는 경우, 표준 셀의 물리적 특성을 정의하는 정보를 포함할 수 있고, 입력 데이터(D010)는 셀 라이브러리(D310)에 기초하여 생성될 수 있다. 결과적으로, 레이아웃 데이터(D100)에 따른 집적 회로의 성능 및 입력 데이터(D010) 생성시 예상된 집적 회로의 성능간 격차가 감소할 수 있고, 이에 따라, 입력 데이터(D010) 생성시 집적 회로가 최적으로 설계될 수 있다.The instance deployer 124 may place the second instances in an area where the first instances are not deployed. By limiting the area in which the second instances are arranged by the first instances arranged by the preprocessor 122, the LLE inducing structure formed by the second instances can be reduced or eliminated. Thus, the second instances may have physical characteristics that approximate the physical characteristics (i.e., intrinsic physical characteristics) of the standard cell defined in the cell library D310 and may include physical characteristics of the second instances that have been deployed and input data D010) may be reduced (e.g., during logical synthesis), the gap between the physical characteristics of the expected second instances may decrease. The cell library D310 may include information defining the physical characteristics of the standard cell when no local layout effect has occurred in the standard cell or when an 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 performance of the integrated circuit expected when the input data D010 is generated can be reduced, and accordingly, . ≪ / RTI >

도 5 내지 도 8은 본 개시의 예시적 실시예에 따라 도 4의 사전 배치기(122)의 예시적인 동작들을 나타내는 도면들이다. 도 4를 참조하여 전술된 바와 같이, 사전 배치기(122)는, 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과 유발 구조의 발생이 감소하도록, 사전 배치 셀의 제1 인스턴스들을 배치할 수 있다. 도 5 내지 도 8은 사전 배치기(122)에 의해서 배치된 인스턴스들의 예시들을 나타내며, 사전 배치기(122)의 동작이 도 5 내지 도 8에 도시된 예시들에 제한되지 아니하는 점은 이해될 것이다. 도 5 내지 도 8은 도 4를 참조하여 설명될 것이다.5 through 8 are diagrams illustrating exemplary operations of the preprocessor 122 of FIG. 4 in accordance with an exemplary embodiment of the present disclosure. As described above with reference to FIG. 4, the preprocessor 122 may arrange the first instances of the pre-deployed cell such that the occurrence of the local layout effect inducing structure by placement of the second instances is reduced. 5-8 illustrate examples of instances deployed by the preprocessor 122, and it will be understood that the operation of the preprocessor 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-8, the LLE rule 322 of FIG. 4 is assumed to contain information defining the structure in which the patterns of the front-end-layer are aligned as an LLE inducing structure, It is assumed, at least in part, to include front-end-layer patterns formed on opposing edges as shown in FIG. Accordingly, the preprocessor 122 may place the first instances such that the edges of the area in which the second instances are arranged are not aligned in a series of rows. That is, the preprocessor 122 may reduce the alignment of the edges of the second instances by properly arranging the first instances so that the edges of the regions disposed in the second instances are not aligned in a plurality of rows . As a result, the alignment of the front-end-layer patterns formed at 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 인스턴스들을 배치할 수도 있다.Referring to Figures 5 and 6, according to an exemplary embodiment of the present disclosure, the pre-arranger 122 is configured to align the edges of the first instances closest to each other in a direction perpendicular to a plurality of rows (e.g., R11 through R19 in Figure 5) Lt; RTI ID = 0.0 > 1 < / RTI > For example, as shown in FIG. 5, the preprocessor 122 may arrange the first instances such that the edges of the first instances disposed in adjacent rows are not aligned. 6, the pre-arranger 122 may also be arranged in an odd numbered row (e.g., due to the design rule D320 of FIG. 4) The first instances may be arranged so that the edges of one instance 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 FIG. 5A, the pre-arranger 122 is arranged at the left edge of the first instances C11a, C13a, C15a, C17a, C19a disposed in odd rows R11, R13, R15, R17, And right edges of the first instances C12a, C14a, C16a, and C18a arranged in the even rows R12, R14, R16, and R18 are respectively aligned at Y10 and Y12, and Y11 and Y13 The first instances C11a through C19a may be arranged so that the first instances C11a through C19a are respectively aligned with the first instances C11a through C19a. 5B, the preprocessor 122 determines that the left edges of the first instances (e.g., C11b through C13b) that are sequentially placed in a series of rows (e.g., R11 through R13) , The first instances C11b through C19b may be arranged such that the right edges are respectively aligned with Y17, Y18 and Y19, respectively, and the right edges are respectively aligned with Y17, Y18 and Y19.

도 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)을 배치할 수 있다.6 (a), the preprocessor 122 determines that the left edges of the first instances (e.g., C21a, C22a) that are sequentially disposed in odd rows (e.g., R21, R23) And the first instances C21a through C25a may be arranged such that the right edges are aligned with Y22 and Y23, respectively. Similarly, referring to FIG. 6B, the pre-arranger 122 includes left edges of first instances C21b to C25b sequentially disposed in odd rows R21, R23, R25, R27, and R29 The first instances C21b to C25b may be arranged such that the right edges are respectively aligned in order with Y27, Y25, Y26, Y25, and Y24, and the right edges are respectively aligned with Y27, Y28, Y29, Y28, and Y27.

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

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

도 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)이 각각 배치될 수 있다.7A, a first instance C31a of a pre-positioned cell, which is a 4x multi-height cell, can be placed by the preprocessor 122, and the preprocessor 122 can be arranged in a first instance C31a, (D31a to D34a, D36a to D39a) adjacent to the edge of the first instance C31a in the series of rows R32 to R35 in which the first instance C31a is arranged. For example, instances of dummy cells D31a, D34a having left edges aligned with Y30 may be placed in even rows R32, R34, respectively, and instances of dummy cells having left edges aligned in Y31 (D32a, D34a) may be arranged in the odd-numbered rows R33, R35, respectively. Similarly, instances (D36a, D38a) of dummy cells having the right edge aligned with Y32 can be placed in odd rows (R35, R33), respectively, and instances of dummy cells D37a, and D39a may be disposed in the even rows R34 and R32, respectively. Dummy cell instances D30a and D35a may also be arranged in the series of rows R32 to R35 in which the first instance C31a is arranged and in the adjacent rows R31 and R36 respectively.

도 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)이 각각 배치될 수 있다.7B, instances of different dummy cells D31b-D34b, D31b-D34b adjacent to the edge of the first instance C31b in the series of rows R32-R35 in which the first instance C31b is disposed, D36b to D39b may be alternately arranged. For example, an instance D32b of a dummy cell having a left edge aligned in Y34 may be placed in row R33, and instances of a dummy cell D31b, D34b having a left edge aligned in Y35 may be arranged in rows (R32, R35), and an instance (D33b) of the dummy cell having the left edge aligned to Y36 may be placed in row R34. Similarly an instance D38b of the dummy cell with the right edge aligned to Y37 may be placed in row R33 and instances of the dummy cell D36b and D39b with the right edge aligned to Y38 may be placed in rows R35, and R32, respectively, and an instance D37b of the dummy cell having the right edge aligned to Y39 may be disposed in the row R34. Dummy cell instances D30b and D35b may also be arranged in the series of rows R32 to R35 in which the first instance C31b is arranged and in the adjacent rows R31 and R36, respectively.

도 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')을 교번적으로 배치할 수 있다.8A, a plurality of first instances C41a-C49a of a pre-placement cell C41a-C49a are arranged by a preprocessor 122, for example, by a design rule D320 of FIG. 4, R41 to R49). The preprocessor 122 is operable to provide different instances of dummy cells D41a-D49a, D41a'-D49a 'adjacent to the edges of the first instances C41a-C49a aligned in the series of rows R41- They can be arranged alternately. For example, the instances D42a, D44a, D46a, and D48a of the dummy cell having the left edge aligned in Y40 may be disposed in the even rows R42, R44, R46, and R48, respectively, The instances D41a, D43a, D45a, D47a, and D49a of the dummy cell having edges can be disposed in the odd rows R41, R43, R45, R47, and R49, respectively. Similarly, instances of a dummy cell D41a'-D49a 'having a right edge aligned to Y42 or Y43, adjacent to the right edges of the first instances C41a-C49a, may be alternatively arranged .

도 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 Figure 8B, the pre-arranger 122 is configured to create instances of different dummy cells D41b-C49b adjacent to the edges of the first instances C41b-C49b aligned in a series of rows R41-R49 To D49b, D41b 'to D49b') can be arranged alternately. For example, instances of dummy cells D43b, D46b, and D49b having left edges aligned at Y44 may be disposed in rows R43, R46, and R49, respectively, and dummy cells having left edges aligned at Y45 The instances D41b, D45b and D48b of the dummy cell having the left edge aligned at Y46 can be arranged in the rows R42, R45 and R48, respectively, , R44, and R47, respectively. Similarly, instances of dummy cells D41b 'to D49b' having the right edge aligned to Y47, Y48 or Y49 adjacent to the right edges of the first instances C41b to C49b are alternately arranged .

도 9a 및 도 9b는 본 개시의 예시적 실시예에 따라 도 3의 구현 그룹(100)의 예시들(100a, 100b)을 나타낸다. 도 9a 및 도 9b에 도시된 바와 같이, 구현 그룹(100a 또는 100b)은 인스턴스 시프터(126a 또는 166b)를 포함할 수 있다. Figures 9A and 9B illustrate examples 100a and 100b of the implementation group 100 of Figure 3 in accordance with an exemplary embodiment of the present disclosure. As shown in FIGS. 9A and 9B, the 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에 대한 설명과 중복되는 내용은 생략될 것이다.In accordance with an exemplary embodiment of the present disclosure, instance shifters 126a and / or 166b, as described below with reference to FIGS. 10A and 10B, are arranged by preprocessor 122a and instance arranger 124a or 124b, respectively It is possible to remove the LEE induced structure in the layout of the integrated circuit or reduce the local layout effect by the LLE induced structure by moving at least one first or second instance related to the LLE induced structure among the first and second instances. FIG. 9A shows an example in which the instance shifter 126a is included in the placement machine 120a, and FIG. 9B shows an example in which the instance shifter 166b is included in an engineering change order (ECO) 160b. In accordance with an exemplary embodiment of the present disclosure, deployer 120b of Figure 9b may also include an instance shifter, as shown in Figure 9a. Hereinafter, among the descriptions of Figs. 9A and 9B, the description overlapping with the description of Fig. 4 will be omitted.

도 9a를 참조하면, 구현 그룹(100a)은 배치기(120a) 및 라우터(140a)를 포함할 수 있고, 배치기(120a)는 사전 배치기(122a), 인스턴스 배치기(124a) 및 인스턴스 시프터(126a)를 포함할 수 있다. 도 4를 참조하여 전술된 바와 같이, 사전 배치기(122a)는 사전 배치 셀의 인스턴스들(제1 인스턴스들)을 배치할 수 있고, 인스턴스 배치기(124a)는 논리 셀의 인스턴스들(제2 인스턴스들)을 제1 인스턴스들이 배치되지 아니한 영역에 배치할 수 있다.9A, an implementation group 100a may include a deployer 120a and a router 140a, and the deployer 120a may include a pre-deployer 122a, an instance deployer 124a, and an instance shifter 126a . 4, pre-deployer 122a may deploy instances of pre-deployed cells (first instances), and instance deployer 124a may deploy instances of logical cells (second instances < RTI ID = 0.0 > ) In an area where the first instances are not arranged.

인스턴스 시프터(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 can 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 inducing structure, and the instance shifter 126a may include information about the first and / In the layout of the integrated circuit including the second instances, the LLE induced structure can be detected based on the LLE rule D322. The instance shifter 126a may remove the LLE induced structure or reduce the local layout effect by the LLE induced structure by moving at least one first or second instance associated with the detected LLE induced structure.

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

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

본 개시의 예시적 실시예에 따라, 인스턴스 시프터(166b)는 ECO(160b)에 포함될 수 있고, 도 9a의 인스턴스 시프터(126a)와 유사하게, 설계 규칙(D320)에 포함된 LLE 규칙(D322)을 참조하여 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킬 수 있다. 인스턴스 시프터(166b)는 이동된 제1 또는 제2 인스턴스를 포함하는 집적 회로의 레이아웃 데이터(D100)를 생성할 수 있다.In accordance with an exemplary embodiment of the present disclosure, instance shifter 166b may be included in ECO 160b and similar to instance shifter 126a of Figure 9a, the LLE rule D322 included in design rule D320, To move at least one first or second instance associated with the LLE triggering structure. 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 FIG. 9B in accordance with an exemplary embodiment of the present disclosure. As described above with reference to Figures 9A and 9B, the instance shifter 126a or 166b may detect the LLE induced structure based on the LLE rule D322 and may detect at least one first Or by moving the second instance to remove the LLE induced structure or reduce the local layout effect by the LLE induced structure. 10A and 10B illustrate examples of moving an instance by instance shifter 126a or 166b, and the operation of 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 the LLE induced structure. For example, the LLE rule D322 of FIG. 9A may define front-end-layer patterns arranged above a certain length as the instances of the standard cell are arranged, and the instance shifter 126a may define The patterns of the front-end layer aligned in the series of four rows R51 to R54 as shown in Fig. 10A can be detected as the LLE inducing structure LLE1. 10A, the instance shifter 126a may move the instance C51 in the left direction (i.e., the -X direction) to remove the LLE induced structure LLE1, (That is, in the + X direction). In addition, to remove the LLE induced structure LLE1, the instance shifter 126a may include at least one instance that includes a pattern of the front-end layer contributing to the LLE induced structure LLE1 as well as the left- (I.e., the + Y direction) or the downward direction (i.e., the -Y direction), move to a specific distance or other area, and exchange other instances and positions with each other. Accordingly, the LLE inducing structure LLE1 can be eliminated by the instances C51 'and C52' moved by the instance shifter 126a, as shown in FIG. 10A, (b).

도 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, instance shifter 126a may move two or more instances adjacent to each other in the same row. For example, as shown in FIG. 10B (a), the instance shifter 126a includes an LLE inducing structure LLE2 including patterns of front-end layers arranged in a series of four rows R61 through R64 The two or more instances C61 and C62 adjacent to each other in the row R61 can be moved in the same direction (i.e., the leftward direction or the -X direction). In addition, the instance shifter 126a can move two or more instances C63 and C64 adjacent to each other in the row R63 in opposite directions. In addition, to remove the LLE induced structure LLE2, the instance shifter 126a may include at least one instance including a pattern of the front-end layer contributing to the LLE induced structure LLE2 as well as the left- Direction (i.e., the + Y direction) or the downward direction (i.e., the -Y direction), and can be moved to a specific distance or to an area other than the specified distance, and can exchange positions with other instances. Hence, the LLE inducing structure LLE2 can be eliminated by the instances C61 'to C64' moved by the instance shifter 126a, as shown in FIG. 10B, (b).

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

도 11은 본 개시의 예시적 실시예에 따라 도 3의 분석 그룹(200)의 블록도를 나타낸다. 도 3을 참조하여 전술된 바와 같이, 분석 그룹(200)은 인스턴스 특성화기(220) 및 성능 분석기(240)를 포함할 수 있고, 셀 라이브러리(D310) 및 LLE 데이터(D330)를 참조하여, 레이아웃 데이터(D100)로부터 결과 데이터(D200)를 생성할 수 있다. 분석 그룹(200)이 생성한 결과 데이터(D200)는 로컬 레이아웃 효과가 반영된 집적 회로의 실제적인 성능에 관한 정보를 포함할 수 있다.FIG. 11 shows a block diagram of an analysis group 200 of FIG. 3 in accordance with an exemplary embodiment of the present disclosure. 3, the analysis group 200 may include an instance characterizer 220 and a performance analyzer 240 and may refer to the cell library D310 and the LLE data D330, The result data D200 can be generated from the data D100. The result data D200 generated by the analysis group 200 may include information on the 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 the LLE data D330 and the context data D150. The LLE data D330 may include information on the physical characteristic variation of the standard cell due to the local layout effect and the context data D150 may include information on the peripheral layout of the instance extracted from the layout data D010 . The instance characterizer 220 can calculate the physical characteristics according to the local layout effect of the instances included in the integrated circuit by referring to the LLE data D330 and the context data D150. The details of the LLE data D330 will be described later with reference to Figs. 12 to 14, and the details of the context data D150 will be described later with reference to Figs. 15 and 16. Fig.

성능 분석기(240)는 셀 라이브러리(D310) 및 레이아웃 데이터(D010)를 엑세스할 수 있다. 성능 분석기(240)는 셀 라이브러리(D310)에 포함된 표준 셀의 물리적 특성에 관한 정보 및 인스턴스 특성화기(220)에 의해서 제공된 인스턴스의 물리적 특성에 관한 정보에 기초하여, 레이아웃 데이터(D010)에 따른 집적 회로의 성능을 분석할 수 있고, 로컬 레이아웃 효과가 반영된 집적 회로의 실제적인 성능 정보를 포함하는 결과 데이터(D200)를 생성할 수 있다.The performance analyzer 240 can access the cell library D310 and the layout data D010. The performance analyzer 240 analyzes the information on the physical characteristics of the standard cell included in the cell library D310 and on the basis of the information on the physical characteristics of the instance provided by the instance characterizer 220, The performance of the integrated circuit can be analyzed and the result data D200 including the actual performance information of the integrated circuit reflecting the local layout effect can 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 that generates LLE data D330 in accordance with an exemplary embodiment of the present disclosure. LLE data generator 300 may include a procedure including a series of instructions and may be performed by a processor (e.g., CPU 11 of FIG. 1) executing the instructions to perform operations of LLE data generator 300 . 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, as shown in FIG.

셀 컨텍스트 생성기(320)는 셀 라이브러리(D310)에 포함된 표준 셀의 레이아웃 주변에 다양한 레이아웃들을 배치함으로써 상기 제1 표준 셀의 복수의 컨텍스트들을 생성할 수 있다. 예를 들면, 도 13a를 참조하여 후술되는 바와 같이, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어의 패턴을 포함하는 표준 셀들을 대상 표준 셀의 주변에 배치함으로써 대상 표준 셀의 컨텍스트를 생성할 수 있다. 또한, 도 13b를 참조하여 후술되는 바와 같이, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어에 형성된 임의의 패턴들을 표준 셀의 주변에 배치함으로써 표준 셀의 컨텍스트를 생성할 수도 있다. 셀 컨텍스트 생성기(320)에 의해서 생성된 표준 셀의 다양한 컨텍스트들은 LLE 추정기(340)가 컨텍스트들 각각에 대응하는 로컬 레이아웃 효과를 추정하는데 사용될 수 있다.The cell context generator 320 may generate a plurality of contexts of the first standard cell by arranging various layouts around the layout of standard cells included in the cell library D310. For example, as described below with reference to FIG. 13A, the cell context generator 320 generates a context of an object standard cell by placing standard cells including a pattern of a front-end-layer around the object standard cell . In addition, as described later with reference to FIG. 13B, the cell context generator 320 may generate the context of the standard cell by arranging arbitrary patterns formed in the front-end-layer around the standard cell. The various contexts of the standard cell generated by the cell context generator 320 may be used by the LLE estimator 340 to estimate the 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 and may estimate the local layout effect caused by each context and may determine the physical It is possible to generate LLE data D330 including information on the variation of the characteristic. For example, the cell library D310 may include a property function that computes a value representing the physical characteristics of a standard cell, and the LLE estimator 340 may include a property function that, based on the context provided by the cell context generator 320, Parameters can be determined. The LLE data 340 may generate LLE data D330 containing the results of the characteristic function by the parameters determined by the LLE estimator 340 or the determined parameters.

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

도 13a를 참조하면, 본 개시의 예시적 실시예에 따라 셀 컨텍스트 생성기(320)는 셀 라이브러리(D310)에 포함된 표준 셀들(C71 내지 C74 등)을 컨텍스트의 생성 대상이 되는 표준 셀(C70)의 주변에 배치함으로써 표준 셀(C70)의 다양한 컨텍스트들을 생성할 수 있다. 예를 들면, 셀 컨텍스트 생성기(320)는 프론트-엔드-레이어의 패턴을 포함하는 대상 표준 셀(예컨대, C70)의 컨텍스트를 생성할 수 있고, 셀 라이브러리(D310)에 정의된 표준 셀들 중 프론트-엔드-레이어의 패턴을 포함하는 표준 셀들(예컨대, C71 내지 C74 등)을 대상 표준 셀(예컨대, C70)의 주변에 랜덤하게 배치함으로써 생성할 수 있다.Referring to FIG. 13A, in accordance with an exemplary embodiment of the present disclosure, the cell context generator 320 generates standard cells C70 included in the cell library D310 (C71 through C74) To generate various contexts of the standard cell C70. For example, the cell context generator 320 may generate a context of an object standard cell (e.g., C70) that includes a pattern of the front-end-layer and may generate a context- (For example, C71 to C74) including a pattern of the end-layer is randomly arranged around the target standard cell (e.g., C70).

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

도 14는 본 개시의 예시적 실시예에 따른 LLE 데이터(D330)의 예시를 나타낸다. 도 12를 참조하여 전술된 바와 같이, LLE 데이터 생성기(300)의 LLE 추정기(340)는 셀 컨텍스트 생성기(320)가 생성한 다양한 컨텍스트들에 대응하는 로컬 레이아웃 효과를 추정함으로써 LLE 데이터(D330)를 생성할 수 있다. 도 14는, 로컬 레이아웃 효과에 대응하는 표준 셀인 인버터(INV)의 물리적 특성의 변동을 나타내는, LLE 데이터(D330)의 일부를 나타낸다.14 illustrates an example of LLE data D330 in accordance with an exemplary embodiment of the present disclosure. 12, the LLE estimator 340 of the LLE data generator 300 estimates the LLE data D330 by estimating the local layout effect corresponding to the various contexts generated by the cell context generator 320 Can be generated. Fig. 14 shows a part of the LLE data D330 showing the variation of the physical characteristics of the inverter INV, which is a standard cell corresponding to the 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, LLE estimator 340 may generate LLE data D330 based on parameters of a characteristic function determined based on context and context. For example, the LLE estimator 340 may generate LLE data (D330) containing parameters of a characteristic function determined based on the context and context, and may generate LLE data (D330) that includes the values of the characteristic functions corresponding to the context and context Data D330 may be generated. 14, instead of the value of the characteristic function corresponding to the context, the LLE data including the ratio or ratio between the value of the characteristic function corresponding to the context and the value of the characteristic function based on the intrinsic parameter of the standard cell (D330). The intrinsic parameters of the standard cell include 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 an average local layout effect occurs in the standard cell Parameter.

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

도 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 of physical characteristics corresponding to the various contexts of the inverter INV as items, for example, each of the items may correspond to a delay time of the inverter INV . For example, according to the context of the inverter INV, the X-directional interval between the patterns of the front-end-layer is '8x', the length of the patterns of the front- The delay time of the inverter INV is 7.37% degradation (i.e., 7.37%) than the delay time (REF) due to the intrinsic parameter, due to the local layout effect due to the front- Extended). The delay time REF of the inverter INV by the intrinsic parameter can be calculated from the characteristic function included in the cell library D310 or included in the cell library D310 and the intrinsic parameter. 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)를 포함할 수 있다.FIG. 15 shows a block diagram of context data generator 400 in accordance with an exemplary embodiment of the present disclosure. Context data generator 400 may include a procedure including a series of instructions and may be executed by a processor (e.g., CPU 11 of FIG. 1) executing the instructions to perform operations of context data generator 400 . 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 along with the layout data D100. In addition, 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, in the layout of the integrated circuit, select an instance to create the context. For example, the instance selector 420 may provide all of the instances included in the integrated circuit to the instance context selector 440, select some of the instances included in the integrated circuit and send it to the instance context extractor 440 . In one embodiment, the instance selector 420 can recognize the instances included in the critical path of the integrated circuit by referring to the input data D010 or the layout data D100, and the instances included in the critical path And provide them to the instance context extractor 440. In addition, in one embodiment, the instance selector 420 may select instances included in the clock tree of the integrated circuit and provide them to the instance context extractor 440. The instance selector 420 may select instances of the integrated circuit that are highly relevant to the performance of the integrated circuit to be analyzed and provide 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 from the layout data D100 the context data D150 that includes information (i.e., context) about the peripheral layout of the instances selected by the instance selector 420. [ For example, the instance context extractor 440 extracts the 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- Lt; / RTI > The cell context generator 320 of FIG. 12 generates various contexts of the standard cell by arranging various various layouts around the standard cell for generation of the LLE data D330, while the instance context extractor 440 of FIG. In order to generate the context data D150, the context of the instance can be extracted from the actual peripheral layout of the instance arranged in the layout of the contact circuit based on the layout data D100.

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

도 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 context of the instance based on the pattern of the front-end-layer included in the instance and the pattern of the front- can do. 15, the instance context extractor 440 extracts the instance context extractor 440 from the length (DY) of the front-end-layer aligned patterns included in the LLE inducing structure LLE3 related to the instance INV_1, The distance DX in the X direction between the aligned patterns and the pattern of the adjacent front-end-layer can be extracted as the context of the instance INV_1. That is, in the example of FIG. 15, the instance context extractor 440 can extract '3y' and '8x' as the context of the instance INV_1. Accordingly, the instance characterizer 220 of FIG. 11 extracts the context data D150 including the LLE data D330 including the table of FIG. 14 and the context data D150 including the context of the instance INV_1, Time can be '3.06%' degraded (ie, '3.06%' extended).

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

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

단계 S140에서, 제1 인스턴스들이 배치되지 아니한 영역에 제2 인스턴스들을 배치하는 동작이 수행될 수 있다. 제2 인스턴스들은 논리 셀의 인스턴스들로서, 설계 규칙(D320)을 준수하도록 이미 배치된 제1 인스턴스들에 인접하게 배치되기 시작할 수 있다. 단계 S120에 의한 제1 인스턴스들의 배치에 기인하여, 제2 인스턴스들에 의한 LLE 유발 구조의 발생이 감소할 수 있다. In step S140, an operation of arranging the second instances in the area where the first instances are not disposed may be performed. The second instances may start to be placed adjacent to the first instances already arranged to comply with design rule D320 as instances of the logical cell. Due to the placement of the first instances by step S120, the occurrence of the LLE inducing structure 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 may be created to connect the first and second instances, and layout data D100 including physical information about interconnections and information about the placement of the first and second instances may be generated .

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

단계 S122에서, 제1 인스턴스들의 에지들이 정렬되지 아니하도록 배치하는 동작이 수행될 수 있다. 예를 들면, 도 5 및 도 6을 참조하여 전술된 바와 같이, 서로 가장 가까운 제1 인스턴스들의 에지가 정렬되지 아니하도록, 제1 인스턴스들이 배치될 수 있다. 이에 따라, 에지에서 형성된 프론트-엔드-레이어의 패턴을 포함하는 제2 인스턴스들에 의한 LLE 유발 구조가 감소할 수 있다.In step S122, an operation may be performed to arrange that the edges of the first instances are not aligned. For example, as described above with reference to Figures 5 and 6, the first instances may be arranged so that the edges of the first instances closest to each other are not aligned. Thus, the LLE inducing structure by the second instances including the pattern of the front-end-layer formed at the edge can 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-positioned cell may include a multi-height cell disposed in a series of rows, and an instance corresponding to a multi-height cell may include an edge perpendicular to the series of rows Lt; / RTI > Also, as described above with reference to Fig. 8, due to design rule D320, a plurality of instances of pre-layout cells may be arranged and arranged such that an edge of the first instances perpendicular to the series of rows . Instances of dummy cells having different widths adjacent to the edges of at least one first instance perpendicular to the series of rows are alternately arranged so that the second instances including the pattern of the front- Induced LLE induction can be reduced.

도 19는 본 개시의 예시적 실시예에 따라 LLE 유발 구조를 제거하기 위해 인스턴스를 이동시키는 방법을 나타내는 순서도이다. 본 개시의 예시적 실시예에 따라, 도 19에 도시된 단계들(S182, S184)은 도 17의 단계 S140에 포함될 수도 있고, 도 17의 단계 S160가 수행된 이후에 (예컨대, ECO에서) 수행될 수도 있다.19 is a flow diagram illustrating a method for moving an instance to remove an LLE triggered structure in accordance with 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 may be performed after step S160 of FIG. 17 is performed .

단계 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 the LLE induced structure may be performed. That is, the LLE rule D322 included in the design rule D320 may include information on the LLE induction structure and may include information on instances (e.g., in steps S120 and S140 of FIG. 17, Lt; RTI ID = 0.0 > and / or < / RTI > deployed first and second instances). For example, the LLE rule D322 may define patterns of the front-end-layer aligned over a certain length as the LLE inducing structure, and the front-end-layer arrangements aligned over a certain length based on such LLE rule D322, The patterns of the 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, to remove the detected LLE inducing structure, at least one of the instances (e.g., the first and second instances of FIG. 17) associated with the patterns of the front-end-layer included in the LLE inducing structure . For example, one instance may be moved in one row, as shown in FIG. 10A, or two or more instances in a row, as shown in FIG. 10B.

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

단계 S220에서, LLE 데이터(D330) 및 컨텍스트 데이터(D150)에 기초하여 인스턴스의 물리적 특성을 산출하는 동작이 수행될 수 있다. 인스턴스의 물리적 특성은, 인스턴스에 대응하는 표준 셀의 진성 물리적 특성으로부터, 인스턴스의 주변 레이아웃(즉, 컨텍스트)에 의해 발생한 로컬 레이아웃 효과에 기인하여 변경 또는 유지된 물리적 특성을 지칭할 수 있다. LLE 데이터(D330)는 다양한 컨텍스트들에 대응하는 표준 셀의 물리적 특성의 변동들에 관한 정보를 포함할 수 있고, 컨텍스트 데이터(D150)는 레이아웃 데이터(D100)로부터 추출된, 인스턴스의 컨텍스트에 관한 정보를 포함할 수 있다. 도 20에 도시된 바와 같이, LLE 데이터(D330) 및 컨텍스트 데이터(D150)는 단계 S260 및 단계 S280에 의해서 각각 생성될 수 있다. In step S220, an operation of calculating the physical characteristics of the instance based on the LLE data D330 and the context data D150 may be performed. The physical properties of an instance may refer to physical properties that have changed or remained due to local layout effects caused by the peripheral layout (i.e., context) of the instance, from the intrinsic physical properties of the standard cell corresponding to the instance. The LLE data D330 may include information about variations of the physical characteristics of the standard cell corresponding to the various contexts and the context data D150 may include information about the context of the instance extracted from the layout data D100 . ≪ / RTI > As shown in Fig. 20, the LLE data D330 and the context data D150 can 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, the netlist of the integrated circuit can be extracted from the layout data D100 based on the cell library D310 and the physical characteristics of the calculated instance, and the extracted netlist can be extracted from actual And may include information about elements (e.g., resistors and / or capacitors) for reflecting operation. The performance of the integrated circuit, such as timing characteristics, power characteristics, noise characteristics, etc., can be analyzed based on the extracted netlist, and result data D200 including information on the performance of the integrated circuit can 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 the standard cell may be performed. For example, as described above with reference to FIG. 13A, by arranging different standard cells included in the cell library D310 around the standard cell, for example, the same or different standard cells, a plurality of contexts of the standard cell Lt; / RTI > In addition, as described above with reference to FIG. 13B, a plurality of contexts of the standard cell can be generated by arranging patterns of various shapes formed in the front-end-layer around the standard cell.

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

단계 S280에서, 레이아웃 데이터(D100)로부터 컨텍스트 데이터(D150)를 생성하는 동작이 수행될 수 있다. 단계 S280은 단계들(S220, S240)이 수행되기 전에 수행될 수 있고, 단계 S280은 단계들(S282, S284)을 포함할 수 있다.In step S280, an operation of generating the context data D150 from the 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. In other words, all or a part of the instances included in the integrated circuit can be selected by referring to the input data D010 or the layout data D100. For example, instances included in the critical path of the integrated circuit may be selected, and instances included in the clock tree may be selected.

단계 S284에서, 선택된 인스턴스들의 컨텍스트들을 추출하는 동작이 수행될 수 있다. 즉, 단계 S282에서 선택된 인스턴스들의 주변 레이아웃에 관한 정보(즉, 컨텍스트)를 포함하는 컨텍스트 데이터(D150)를 레이아웃 데이터(D100)로부터 생성할 수 있다. 예를 들면, 선택된 인스턴스에 포함된 프론트-엔드-레이어의 패턴 및 선택된 인스턴스 주변 레이아웃에 포함된 프론트-엔드-레이어의 패턴에 기초하여 선택된 인스턴스의 컨텍스트가 추출될 수 있다.In step S284, an operation of extracting the contexts of the selected instances may be performed. That is, in step S282, context data D150 including information on the peripheral layout of the selected instances (i.e., 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 selected instance surrounding layout.

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

Claims (20)

표준 셀들의 인스턴스(instance)들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템으로서,
프로시저(procedure)들을 포함하는 정보를 저장하는 메모리; 및
상기 메모리에 엑세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
상기 프로시저들은,
사전 배치 셀들의 제1 인스턴스들을, 논리 셀들의 제2 인스턴스들의 배치에 의한 로컬 레이아웃 효과(local layout effect; LLE) 유발 구조의 발생이 감소하도록, 배치하는 사전 배치기;
상기 제1 인스턴스들이 배치되지 아니한 영역에 상기 제2 인스턴스들을 배치하는 인스턴스 배치기; 및
배치된 상기 제1 및 제2 인스턴스들의 커넥션들을 라우팅함으로써 상기 집적 회로의 레이아웃 데이터를 생성하는 라우터를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
CLAIMS What is claimed is: 1. A computing system for designing an integrated circuit comprising instances of standard cells,
A memory for storing information including procedures; And
A processor accessible to the memory and executing the procedures,
The procedures include:
Arranges first instances of pre-arranged cells such that the occurrence of a local layout effect (LLE) inducing structure by placement of second instances of logical cells is reduced;
An instance deployer for deploying the second instances in an area where the first instances are not disposed; And
And a router for generating layout data of the integrated circuit by routing connections of the first and second instances disposed therein.
청구항 1에 있어서,
상기 사전 배치 셀들은, 웰-에지(well-edge) 셀, 웰-바이어스(well-bias) 셀 및 디캡(decap) 셀 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method according to claim 1,
Wherein the pre-arranged cells comprise 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 according to claim 1,
Wherein the LLE inducing structure is formed by front-end-layer patterns included in two or more adjacent second instances.
청구항 3에 있어서,
상기 제1 및 제2 인스턴스들은, 등간격의 평행한 복수의 행들 상에 배치되고,
상기 사전 배치기는, 상기 제2 인스턴스들에 포함된 프론트-엔드-레이어의 패턴들이 상기 복수의 행들에 수직한 방향으로 정렬되지 아니하도록, 상기 제1 인스턴스들을 배치하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 3,
Wherein the first and second instances are arranged on a plurality of equally spaced parallel rows,
Wherein the predeployer places the first instances so that the patterns of the 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,
Wherein the predeployer places the first instances such that the 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 comprising at least one first instance forming an edge perpendicular to a series of rows of the plurality of rows,
Wherein the pre-arranger alternately places instances of two or more dummy cells having different widths adjacent edges 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 that is a multi-height cell or two or more first instances adjacent to each other aligned in a direction perpendicular to the rows Lt; / RTI >
청구항 1에 있어서,
상기 프로시저들은, 상기 제1 및 제2 인스턴스들이 배치된 레이아웃에서 상기 LLE 유발 구조를 검출하고, 상기 제1 및 제2 인스턴스들 중 상기 LLE 유발 구조와 관계된 적어도 하나의 제1 또는 제2 인스턴스를 이동시킴으로써 상기 LLE 유발 구조를 제거하는 인스턴스 시프터를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method according to claim 1,
The procedures comprising: detecting the LLE triggering structure in a layout in which the first and second instances are located; and detecting at least one first or second instance of the first and second instances associated with the LLE triggering structure And removing the LLE-induced structure by moving the LLE-induced structure.
표준 셀들의 인스턴스(instance)들을 포함하는 집적 회로를 설계하기 위한 컴퓨팅 시스템으로서,
프로시저(procedure)들을 포함하는 정보를 저장하는 메모리; 및
상기 메모리에 엑세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
상기 프로시저들은,
주변 레이아웃에 의존하는 표준 셀의 물리적 특성에 관한 정보를 포함하는 LLE(Local Layout Effect) 데이터를 참조하고, 상기 집적 회로에 배치된 인스턴스의 주변 레이아웃에 관한 상기 배치된 인스턴스의 컨텍스트(context)를 포함하는 컨텍스트 데이터에 기초하여 상기 배치된 인스턴스의 물리적 특성을 산출하는 인스턴스 특성화기(characterizer); 및
상기 배치된 인스턴스의 산출된 물리적 특성에 기초하여, 상기 집적 회로의 성능 정보를 포함하는 결과 데이터를 생성하는 성능 분석기를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
CLAIMS What is claimed is: 1. A computing system for designing an integrated circuit comprising instances of standard cells,
A memory for storing information including procedures; And
A processor accessible to the memory and executing the procedures,
The procedures include:
Refers to LLE (Local Layout Effect) data including information about the physical characteristics of standard cells that depend on the peripheral layout, and includes the context of the deployed instance regarding the peripheral layout of the instance disposed in the integrated circuit An instance characterizer for calculating a physical property of the deployed instance based on the context data; And
And a performance analyzer for generating result 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 may include information on physical characteristics of the standard cell dependent 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 Lt; / RTI >
Wherein the context of the deployed instance comprises information about a pattern formed in at least one front-end-layer included in a peripheral layout of the deployed instance.
청구항 9에 있어서,
상기 프로시저들은, 상기 LLE 데이터를 생성하는 LLE 데이터 생성기를 더 포함하고,
상기 LLE 데이터 생성기는,
제1 표준 셀의 레이아웃 주변에 다양한 레이아웃들을 배치함으로써 상기 제1 표준 셀의 복수의 컨텍스트들을 생성하는 셀 컨텍스트 생성기; 및
상기 복수의 컨텍스트들에 각각 대응하는 상기 제1 표준 셀의 물리적 특성들을 산출함으로써, 상기 LLE 데이터를 생성하는 LLE 추정기를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 9,
The procedures further comprise an LLE data generator for generating the LLE data,
Wherein the LLE data generator comprises:
A cell context generator for generating a plurality of contexts of the first standard cell by arranging various layouts around the layout of the first standard cell; And
And an LLE estimator for generating the LLE data by calculating physical characteristics of the first standard cell corresponding to the plurality of contexts, respectively.
청구항 11에 있어서,
상기 셀 컨텍스트 생성기는, 셀 라이브러리에 포함된 적어도 하나의 표준 셀의 레이아웃을 상기 제1 표준 셀의 레이아웃 주변에 배치함으로써 상기 복수의 컨텍스트들을 생성하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 11,
Wherein the cell context generator generates the plurality of contexts by placing a layout of at least one standard cell included in the cell library around the layout of the first standard cell.
청구항 11에 있어서,
상기 셀 컨텍스트 생성기는, 상기 제1 표준 셀의 물리적 특성에 영향을 주는 적어도 하나의 레이어에 형성된 상이한 모양의 패턴들을 상기 제1 표준 셀의 레이아웃 주변에 배치함으로써 상기 복수의 컨텍스트들을 생성하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 11,
Wherein the cell context generator generates the plurality of contexts by arranging patterns of different shapes formed in at least one layer affecting the physical characteristics of the first standard cell, around the layout of the first standard cell Lt; / RTI >
청구항 11에 있어서,
상기 LLE 추정기는, 상기 복수의 컨텍스트들에 대응하는 상기 제1 표준 셀의 특성 함수의 파라미터들을 결정하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 11,
Wherein the LLE estimator determines parameters of a characteristic function of the first standard cell corresponding to the plurality of contexts.
청구항 14에 있어서,
상기 LLE 추정기는, 결정된 상기 파라미터들에 의한 상기 특성 함수의 값들 및 상기 제1 표준 셀의 진성(intrinsic) 파라미터에 의한 상기 특성 함수의 값 사이 비율들 또는 차이들을 포함하는 상기 LLE 데이터를 생성하는 것을 특징으로 하는 컴퓨팅 시스템.
15. The method of claim 14,
Wherein the LLE estimator comprises generating the LLE data comprising ratios or differences between values of the characteristic function by the determined parameters and the value of the characteristic function by intrinsic parameters of the first standard cell A computing system characterized by.
청구항 9에 있어서,
상기 프로시저들은, 상기 배치된 인스턴스의 레이아웃에 포함된 제1 패턴 및 상기 배치된 인스턴스의 주변 레이아웃에 포함된 제2 패턴에 기초하여 상기 배치된 인스턴스의 컨텍스트를 추출함으로써 상기 컨텍스트 데이터를 생성하는 인스턴스 컨텍스트 추출기를 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 9,
Wherein the procedures are executed by extracting the context of the deployed instance based on a first pattern included in the layout of the deployed instance and a second pattern included in a peripheral layout of the deployed instance, Further comprising a context extractor.
청구항 16에 있어서,
상기 제1 및 제2 패턴은, 상기 집적 회로의 레이아웃에서 프론트-엔드-레이어들 중 하나에 각각 형성된 것을 특징으로 하는 컴퓨팅 시스템.
18. The method of claim 16,
Wherein the first and second patterns are each formed in one of the front-end-layers in the layout of the integrated circuit.
청구항 16에 있어서,
상기 인스턴스 컨텍스트 추출기는, 상기 제1 및 제2 패턴 사이 거리, 상기 제1 및 제2 패턴의 배치, 길이 및 면적 중 적어도 하나를 상기 배치된 인스턴스의 컨텍스트로서 추출하는 것을 특징으로 하는 컴퓨팅 시스템.
18. The method of claim 16,
Wherein the instance context extractor extracts at least one of a distance between the first and second patterns, an arrangement of the first and second patterns, a length, and an area as a context of the disposed instance.
청구항 9에 있어서,
상기 프로시저는, 상기 집적 회로에 포함된 상기 인스턴스들 중 상기 집적 회로의 크리티컬 패스(critical path)에 포함된 인스턴스를 인스턴스 특성화기에 제공하는 인스턴스 선택기를 더 포함하고,
상기 성능 분석기는, 상기 크리티컬 패스의 타이밍 정보를 포함하는 상기 결과 데이터를 생성하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 9,
Wherein the procedure further comprises an instance selector for providing an instance characterizer with instances included in the critical path of the integrated circuit among the instances included in the integrated circuit,
Wherein the performance analyzer generates the result data including the timing information of the critical path.
청구항 9에 있어서,
상기 결과 데이터는, 상기 집적 회로의 타이밍, 노이즈 및 전력 중 적어도 하나에 대한 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
The method of claim 9,
Wherein the result data comprises information about at least one of timing, noise and power of the integrated circuit.
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 true KR20180013661A (en) 2018-02-07
KR102563927B1 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030428A (en) * 2018-09-11 2020-03-20 삼성전자주식회사 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
WO2022139106A1 (en) 2020-12-22 2022-06-30 대한민국(농촌진흥청장) Floury endosperm-retaining 'samkwang'-derived variant rice lineage 'samkwang (sa)-flo3'

Citations (5)

* 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
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
KR20160023538A (en) * 2014-08-22 2016-03-03 삼성전자주식회사 Integrated circuit and Standard cell library
KR20160047380A (en) * 2014-10-22 2016-05-02 삼성전자주식회사 Integrated circuit and method of designing layout of the integrated circuit

Patent Citations (5)

* 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
JP2013109498A (en) * 2011-11-18 2013-06-06 Renesas Electronics Corp Design aid device
US8621409B2 (en) * 2012-04-30 2013-12-31 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for reducing layout-dependent effects
KR20160023538A (en) * 2014-08-22 2016-03-03 삼성전자주식회사 Integrated circuit and Standard cell library
KR20160047380A (en) * 2014-10-22 2016-05-02 삼성전자주식회사 Integrated circuit and method of designing layout of the integrated circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030428A (en) * 2018-09-11 2020-03-20 삼성전자주식회사 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
US11769726B2 (en) 2019-08-01 2023-09-26 Samsung Electronics Co., Ltd. Semiconductor device
WO2022139106A1 (en) 2020-12-22 2022-06-30 대한민국(농촌진흥청장) Floury endosperm-retaining 'samkwang'-derived variant rice lineage 'samkwang (sa)-flo3'

Also Published As

Publication number Publication date
KR102563927B1 (en) 2023-08-07

Similar Documents

Publication Publication Date Title
CN107665268B (en) System and method for designing integrated circuits by considering local layout effects
US8601409B1 (en) Compression method and system for use with multi-patterning
US10657215B2 (en) Computer implemented system and method for generating a layout of a cell defining a circuit component
KR102563927B1 (en) System and method for designing integrated circuit by considering local layout effect
US9824968B2 (en) Method, system and computer readable medium using stitching for mask assignment of patterns
US10599130B2 (en) Method and system for manufacturing an integrated circuit in consideration of a local layout effect
JP4652242B2 (en) Cell arrangement method for semiconductor integrated circuit
US20180336307A1 (en) Method for designing an integrated circuit, and method of manufacturing the integrated circuit
US20100262944A1 (en) Object placement in integrated circuit design
JP2010021187A (en) Method of designing semiconductor integrated circuit, design program, and method of manufacturing semiconductor integrated circuit
Hu et al. Taming the complexity of coordinated place and route
CN107808022A (en) The method of layout
US20130212549A1 (en) Cell routability prioritization
Wu et al. A fast graph-based alternative wiring scheme for boolean networks
US20230299070A1 (en) Designing method of semiconductor integrated circuit device, semiconductor integrated circuit device, and non-transitory computer-readable recording medium
US7721248B2 (en) Circuit element function matching despite auto-generated dummy shapes
US20150143317A1 (en) Determination Of Electromigration Features
KR102636096B1 (en) Integrated circuit including via array and method for manufacturing the same
Shirota et al. A new rip-up and reroute algorithm for very large scale gate arrays
JP6705401B2 (en) Information processing apparatus, information processing apparatus control method, and information processing apparatus control program
KR102434992B1 (en) Method and system for manufacturing integrated circuit by considering local layout effect
Vemuri et al. Defenses Against Design Constraint Based Attacks
Chang et al. Fast evaluation-based algorithm for fixed-outline floorplanning
Wu et al. Triple patterning lithography-aware detailed routing ensuring via layer decomposability
Chien et al. Redundant-via-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