KR102434991B1 - 집적 회로 및 집적 회로의 설계 방법 - Google Patents

집적 회로 및 집적 회로의 설계 방법 Download PDF

Info

Publication number
KR102434991B1
KR102434991B1 KR1020160051107A KR20160051107A KR102434991B1 KR 102434991 B1 KR102434991 B1 KR 102434991B1 KR 1020160051107 A KR1020160051107 A KR 1020160051107A KR 20160051107 A KR20160051107 A KR 20160051107A KR 102434991 B1 KR102434991 B1 KR 102434991B1
Authority
KR
South Korea
Prior art keywords
gate line
layout
integrated circuit
scan
active region
Prior art date
Application number
KR1020160051107A
Other languages
English (en)
Other versions
KR20170122039A (ko
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 KR1020160051107A priority Critical patent/KR102434991B1/ko
Priority to US15/376,261 priority patent/US9928337B2/en
Publication of KR20170122039A publication Critical patent/KR20170122039A/ko
Application granted granted Critical
Publication of KR102434991B1 publication Critical patent/KR102434991B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • H03K3/35625Bistable circuits of the master-slave type using complementary field-effect transistors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/06Structured ASICs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 개시에 따른 집적 회로를 설계하기 위한 컴퓨터 구현 방법은, 집적 회로를 정의하는 입력 데이터를 수신하고, 입력 데이터를 이용하여 집적 회로에 대한 설계 제약 위반의 발생 여부를 판단하기 위한 시뮬레이션을 수행하며, 설계 제약 위반이 발생하지 않은 경우 입력 데이터에 따라 레이아웃을 생성하고, 설계 제약 위반이 발생한 경우 레이아웃의 사이즈 증가없이, 액티브 영역 또는 게이트 라인을 절단하는 절단 영역, 신규 액티브 영역 또는 신규 게이트 라인을 레이아웃에 추가함으로써 레이아웃을 재구성한다.

Description

집적 회로 및 집적 회로의 설계 방법{Integrated circit and method for designing integrated circuit}
본 개시의 기술적 사상은 집적 회로에 관한 것으로, 더욱 상세하게는, 집적 회로, 집적 회로의 설계 방법, 및 반도체 장치의 제조 방법에 관한 것이다.
반도체 칩의 고집적화에 따라 반도체 칩에 구현된 집적 회로의 설계 제약들에 대한 위반이 발생할 수 있다. 이때, 집적 회로에 대한 설계 제약, 예를 들어, 타이밍 요건 또는 전력 요건을 충족시키기 위해서는 반도체 칩의 사이즈가 증가할 수 있다. 예를 들어, 집적 회로의 홀드 타임 마진을 개선하기 위해 버퍼 셀을 추가하는 경우 반도체 칩의 사이즈가 증가할 수 있다. 또한, 예를 들어, 집적 회로의 전력 노이즈를 감소시키기 위해 디커플링 커패시터 셀을 추가하는 경우 반도체 칩의 사이즈가 증가할 수 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는 집적 회로의 사이즈 증가 없이, 집적 회로에 대한 타이밍 요건 또는 전력 요건과 같은 설계 제약을 충족시킬 수 있는 집적 회로 및 집적 회로의 설계 방법을 제공하는 데에 있다.
본 개시의 기술적 사상에 따른 집적 회로를 설계하기 위한 컴퓨터 구현 방법은, 상기 집적 회로를 정의하는 입력 데이터를 수신하는 단계, 상기 입력 데이터를 이용하여, 상기 집적 회로에 대한 설계 제약 위반의 발생 여부를 판단하기 위한 시뮬레이션을 수행하는 단계, 상기 설계 제약 위반이 발생하지 않은 경우 상기 입력 데이터에 따라 레이아웃을 생성하는 단계, 및 상기 설계 제약 위반이 발생한 경우 상기 레이아웃의 사이즈 증가없이, 액티브 영역 또는 게이트 라인을 절단하는 절단 영역, 신규 액티브 영역 또는 신규 게이트 라인을 상기 레이아웃에 추가함으로써 상기 레이아웃을 재구성하는 단계를 포함한다.
또한, 본 개시의 다른 기술적 사상에 따른 집적 회로는 표준 셀을 포함하고, 상기 표준 셀은, 제1 방향으로 연장되는 제1 및 제2 액티브 영역들, 상기 제1 방향에 실질적으로 수직인 제2 방향으로 연장되는 복수의 게이트 라인들, 상기 복수의 게이트 라인들과 평행한 더미 게이트 라인, 상기 더미 게이트 라인의 하부에 배치된 제3 액티브 영역, 및 상기 제3 액티브 영역 상에서 상기 더미 게이트 라인의 양측에 각각 배치되고, 동일 전압이 인가되는 소스/드레인 컨택들을 포함하고, 상기 더미 게이트 라인 및 상기 제3 액티브 영역은 디커플링 커패시터를 구성한다.
본 개시의 기술적 사상에 따르면, 집적 회로에 대한 시뮬레이션 결과 설계 제약 위반이 발생한 경우, 액티브 영역 또는 게이트 라인을 절단하는 절단 영역, 신규 액티브 영역 또는 신규 게이트 라인을 레이아웃에 추가함으로써 레이아웃의 사이즈 증가 없이 집적 회로의 설계 제약을 충족시킬 수 있다. 구체적으로, 스캔 플립플롭에 따른 레이아웃에서 입력 핀에 인접한 일부 액티브 영역 상에 절단 영역을 배열하고, 절단 영역 상에 더미 게이트 라인을 추가함으로써 입력 경로에서 홀드 타임 마진을 개선할 수 있다. 또한, 스캔 플립플롭에 따른 레이아웃에서 입력 핀에 인접한 영역에 신규 액티브 영역을 추가하고, 추가된 신규 액티브 영역 상에 신규 게이트 라인을 추가함으로써 입력 경로에서 홀드 타임 마진 또는 셋업 타임 마진을 개선할 수 있다. 또한, 더미 게이트 라인을 포함하는 표준 셀에서, 더미 게이트 라인을 이용하여 디커플링 커패시터를 생성함으로써 전력 노이즈를 감소시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 반도체 집적 회로의 제조 방법을 나타내는 흐름도이다.
도 2는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 더욱 상세하게 나타내는 흐름도이다.
도 4a는 스캔 플립플롭을 개략적으로 나타내는 블록도이고, 도 4b는 도 3a의 스캔 플립플롭을 나타내는 로직 심볼이다.
도 5는 본 개시의 일 실시예에 따른 스캔 플립플롭을 상세하게 나타내는 블록도이고, 도 6은 도 5의 스캔 플립플롭을 나타내는 회로도이다.
도 7은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법의 일 예를 나타내는 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 스캔 플립플롭의 셋업 타임과 홀드 타임을 나타내는 그래프이다.
도 9는 본 개시의 일 실시예에 따른 스캔 플립플롭의 홀드 타임 위반을 나타내는 그래프이다.
도 10은 본 개시의 일 실시예에 따른 스캔 플립플롭의 셋업 타임 위반을 나타내는 그래프이다.
도 11은 본 개시의 일 실시예에 따른 스캔 플립플롭의 레이아웃의 일 예를 나타낸다.
도 12는 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예를 나타낸다.
도 13은 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 다른 예를 나타낸다.
도 14는 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 6의 스캔 플립플롭에 포함된 멀티플렉서에 대해 재구성된 회로의 일 예를 나타낸다.
도 15는 도 14의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예를 나타낸다.
도 16은 도 14의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 다른 예를 나타낸다.
도 17은 본 개시의 일 실시예에 따라, 셋업 타임 위반이 발생한 경우 도 6의 스캔 플립플롭에 포함된 멀티플렉서에 대해 재구성된 회로의 일 예를 나타낸다.
도 18은 도 17의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예를 나타낸다.
도 19는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법의 다른 예를 나타내는 흐름도이다.
도 20은 본 개시의 일 실시예에 따른 표준 셀의 레이아웃을 나타낸다.
도 21은 도 20의 표준 셀에 대해 재구성된 레이아웃을 나타낸다.
도 22는 본 개시의 일 실시예에 따른 스캔 플립플롭을 포함하는 데이터 처리 장치를 나타내는 블록도이다.
도 23은 본 개시의 일 실시예에 따른 스캔 플립플롭을 포함하는 스캔 테스트 회로를 나타내는 블록도이다.
도 24는 본 개시의 일 실시예에 따른 집적 회로를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 25는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법에 따른 프로그램을 저장하는 저장 매체를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 개시의 일 실시예에 따른 집적 회로의 제조 방법을 나타내는 흐름도이다.
도 1을 참조하면, 본 실시예에 따른 집적 회로의 제조 방법은 집적 회로의 설계(S10) 및 집적 회로의 제조 공정(S20)으로 구분될 수 있다. 집적 회로의 설계(S10)는 집적 회로에 대한 레이아웃을 디자인하는 단계로서, 집적 회로를 설계하기 위한 툴에서 수행될 수 있다. 이때, 집적 회로를 설계하기 위한 툴은 프로세서에서 수행되는 복수의 명령어들을 포함하는 프로그램일 수 있다. 이에 따라, 집적 회로의 설계(S10)는 집적 회로 설계를 위한 컴퓨터 구현(computer implemented) 방법이라고 지칭할 수 있다. 한편, 집적 회로의 제조 공정(S20)은 디자인된 레이아웃을 기초로 집적 회로를 제조하는 단계로서, 반도체 공정 모듈에서 수행될 수 있다. 이하에서는, 집적 회로의 설계(S10) 및 집적 회로의 제조 공정(S20)에 포함된 각 단계에 대해 상술하기로 한다.
단계 S110에서, 집적 회로를 정의하는 입력 데이터를 수신한다. 구체적으로, 집적 회로를 정의하는 입력 데이터는 집적 회로의 동작(behavior)에 대한 추상적 형태, 예컨대 RTL(Register Transfer Level)에서 정의된 데이터로부터 합성(synthesis)에 의해서 생성된 데이터일 수 있다. 예를 들면, 입력 데이터는 VHDL(VHSIC Hardware Description Language) 및 Verilog와 같은 HDL(Hardware Description Language)로서 정의된 집적 회로가 합성됨으로써 생성된 비트스트림(bitstream) 또는 넷리스트(netlist)일 수 있다.
여기서, 집적 회로는 복수의 셀들로서 정의될 수 있고, 구체적으로, 복수의 셀들의 특성 정보를 포함하는 셀 라이브러리를 이용하여 설계될 수 있다. 여기서, 셀 라이브러리에는 셀의 명칭, 치수, 게이트 폭, 핀(pin), 딜레이(delay) 특성, 누설 전류, 임계 전압, 기능 등이 정의될 수 있다. 일반적인 셀 라이브러리 세트(set)에는 AND, OR, NOR, 인버터 등과 같은 기본 셀(basic cell), OAI(OR/AND/INVERTER) 및 AOI(AND/OR/INVERTER) 등과 같은 복합 셀(complex cell), 그리고 스캔 플립플롭(scan flip-flip), 마스터-슬레이브 플립플롭(master-slaver flip-flop) 및 래치(latch) 등과 같은 저장 요소(storage element)를 포함할 수 있다.
이하에서 후술되는 본 발명의 실시예들에서, 셀은 표준 셀일 수 있고, 셀 라이브러리는 표준 셀 라이브러리일 수 있다. 표준 셀 방식은, 여러 기능을 갖는 표준 셀들을 미리 준비하고, 표준 셀들을 임의로 조합시켜 고객이나 이용자의 명세에 맞춘 전용의 대규모 집적 회로(LSI)를 설계하는 방식이다. 표준 셀은 미리 설계와 검증이 행해져서 컴퓨터에 등록되며, 컴퓨터 지원 설계(Computer Aided Design, CAD)를 사용하여 표준 셀을 조합시킨 논리 설계, 배치(placement) 및 배선(routing)이 행해진다.
단계 S120에서, 입력 데이터를 이용하여, 집적 회로에 대한 설계 제약 위반의 발생 여부를 판단하기 위한 시뮬레이션을 수행한다. 여기서, 시뮬레이션은 입력 데이터(즉, 넷리스트)가 설계 제약들(design constraints)을 만족하는지 확인하고, 파라미터들(예를 들어, 전력 소비 또는 신호 전달 지연)을 예측하는 과정이며, 시뮬레이션 툴에 의해 수행될 수 있다. 여기서, 설계 제약들은 디자인 요소에 부과된 규칙(rule) 또는 제한(restriction)으로서, 설계 기준이라고 지칭할 수 있다. 이때, 시뮬레이션은 프리 레이아웃 시뮬레이션(pre-layout simulation) 또는 게이트 레벨 시뮬레이션이라고 지칭할 수 있다. 예를 들어, 시뮬레이션은 STA(Static Timing Anaylsis), 전력 분석(power analysis) 등이 있으나, 본 발명은 이에 한정되지 않는다.
단계 S130에서, 시뮬레이션의 결과를 기초로 레이아웃을 생성한다. 구체적으로, 시뮬레이션의 결과를 기초로 배치 및 배선을 수행함으로써 레이아웃을 생성한다. 여기서, 레이아웃은 디자인된 회로가 웨이퍼 상으로 전사될 수 있는 물리적인 표시로서, 다수의 패턴들(patterns)을 포함할 수 있다. 패턴은 집적 회로의 동작에 직접 관련되는 회로, 상호 연결(interconnection), 도전 레이어 패턴, 절연 레이어 패턴 등에 대응할 수 있다.
본 실시예에 따르면, 시뮬레이션의 결과를 기초로 레이아웃을 재구성할 수 있다. 이때, 재구성된 레이아웃은 오리지널 레이아웃과 동일한 사이즈로 구현될 수 있다. 구체적으로, 재구성된 레이아웃에 포함된 표준 셀의 사이즈는 오리지널 레이아웃에 포함된 표준 셀의 사이즈와 동일하다. 이에 대해, 도 2 및 도 3을 참조하여 자세하게 설명하기로 한다.
본 실시예에 따르면, STA 및 전력 분석 등은 프리 레이아웃 시뮬레이션 단계에서 수행되고, 레이아웃 생성 단계에서 프리 레이아웃 시뮬레이션 결과에 따라 레이아웃을 생성 또는 레이아웃을 재구성할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에 있어서, STA 및 전력 분석 등은 레이아웃 검증 단계 또는 포스트 레이아웃 시뮬레이션 단계에서 수행될 수 있고, 레이아웃 검증 결과 또는 포스트 레이아웃 시뮬레이션 결과에 따라 레이아웃을 재구성할 수도 있다.
단계 S140에서, 레이아웃에 포함된 패턴들에 대해 OPC(Optical Proximity Correction)를 수행한다. OPC는 OPC 툴에 의해 수행될 수 있고, OPC 툴은 예를 들어, GDS 형식의 레이아웃 데이터를 수신하여, OPC에 대응 가능한 데이터로 변환할 수 있다. 예를 들어, OPC 툴은 프로세서에서 실행되는 복수의 명령어들을 포함하는 소프트웨어 모듈일 수 있고, 컴퓨터로 읽을 수 있는 저장 매체에 저장될 수 있다. 여기서, OPC는 광 근접 현상(Optical Proximity Effect, OPE)에 따른 오차를 반영하여 레이아웃에 포함된 패턴들을 변경하는 동작을 의미한다. 패턴이 미세화됨에 따라, 노광 과정 중에 이웃하는 패턴들 간의 영향에 의한 광 근접 현상이 발생할 수 있다. 따라서, 패턴을 전사하는 마스크 상의 패턴 레이아웃을 보정하는 OPC를 수행함으로써, 광 근접 현상의 발생을 억제할 수 있다.
단계 S150에서, 마스크를 제조한다. 구체적으로, 레이아웃에 포함된 패턴 또는 OPC를 통해 생성된 패턴을 이용하여 마스크용 기판 상에 노광 공정을 수행함으로써 마스크를 형성할 수 있다. 노광 공정 후에는, 예컨대, 현상(development), 식각, 세정, 및 베이크(bake) 등의 일련의 공정들을 더 수행하여 마스크를 제조할 수 있다.
단계 S160에서, 마스크를 이용하여 집적 회로를 형성한다. 마스크를 이용하여 웨이퍼 등과 같은 반도체 기판 상에 다양한 반도체 공정을 진행하여 반도체 장치를 형성한다. 예를 들어, 마스크를 이용하는 공정은 리소그라피(lithography) 공정을 통한 패터닝 공정을 의미할 수 있다. 이러한 패터닝 공정을 통해 반도체 기판이나 물질층 상에 원하는 패턴을 형성할 수 있다. 한편, 반도체 공정은 증착 공정, 식각 공정, 이온 공정, 세정 공정 등을 포함할 수 있다. 여기서, 증착 공정은 CVD, 스퍼터링, 스핀 코팅 등 다양한 물질층 형성 공정을 포함할 수 있다. 이온 공정은 이온 주입, 확산, 열처리 등의 공정을 포함할 수 있다. 또한, 반도체 공정은 반도체 소자를 PCB 상에 실장하고 밀봉재로 밀봉하는 패키징 공정을 포함할 수도 있고, 반도체 소자나 패키지에 대해 테스트를 하는 테스트 공정을 포함할 수도 있다.
도 2는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 2를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 예를 들어, 도 1의 단계 S10의 일 구현예일 수 있다. 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다. 단계 S210에서 입력 데이터를 수신한다. 단계 S220에서, 시뮬레이션을 수행한다. 단계 S230에서, 시뮬레이션의 결과에서 설계 제약 위반의 발생 여부를 판단한다. 판단 결과, 설계 제약 위반이 발생하지 않은 경우 단계 S240을 수행하고, 설계 제약 위반이 발생한 경우 단계 S250을 수행한다.
단계 S240에서, 입력 데이터(즉, 넷리스트)에 따라 레이아웃을 생성한다. 본 명세서에서, 입력 데이터에 따라 생성된 레이아웃을 오리지널(original) 레이아웃이라고 지칭하기로 한다. 예를 들어, 오리지널 레이아웃은 도 11과 같이 구현될 수 있고, 오리지널 레이아웃은 제1 방향으로 연장된 액티브 영역들 및 제1 방향에 실질적으로 수직인 제2 방향으로 연장된 복수의 게이트 라인들을 포함할 수 있다.
단계 S250에서, 레이아웃을 재구성한다. 구체적으로, 오리지널 레이아웃의 사이즈 증가없이, 액티브 영역 또는 게이트 라인을 절단하는 절단 영역(또는 절단 레이어), 신규 액티브 영역 또는 신규 게이트 라인을 오리지널 레이아웃에 추가함으로써 오리지널 레이아웃을 재구성하여 재구성된(reconfigured) 레이아웃을 생성할 수 있다.
도 3은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 더욱 상세하게 나타내는 흐름도이다.
도 3을 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 레이아웃을 재구성하는 방법에 관한 것으로, 예를 들어, 도 2의 단계 S250의 일 구현예일 수 있다. 따라서, 도 1 및 도 2를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S310에서, 분석을 수행할 수 있다. 예를 들어, 집적 회로에 대한 타이밍 분석 또는 전력 분석을 수행할 수 있다. 일부 실시예들에서, 단계 S310은 프리 레이아웃 시뮬레이션 단계에서 수행될 수 있다. 일부 실시예들에서, 단계 S310은 포스트 레이아웃 시뮬레이션 단계에서 수행될 수도 있다. 단계 S320에서, 설계 제약 위반의 발생 여부를 판단한다. 판단 결과, 설계 제약 위반이 발생하는 경우 단계 S330을 수행하고, 설계 제약 위반이 발생하지 않은 경우 레이아웃의 재구성 방법은 종료된다.
단계 S330에서, 오리지널 레이아웃에 절단 영역을 배열한다. 일 실시예에서, 절단 영역은 액티브 영역을 절단하기 위한 절단 레이어일 수 있다. 일 실시예에서, 절단 영역은 게이트 라인을 절단하여 두 개의 부분 게이트 라인들로 분리하기 위한 절단 레이어일 수 있다. 이와 같이, 본 실시예에 따르면, 오리지널 레이아웃의 사이즈 증가없이, 오리지널 레이아웃에 포함된 액티브 영역 또는 게이트 라인 상에 절단 영역을 배열함으로써 레이아웃을 재구성할 수 있다.
단계 S340에서, 게이트 라인을 추가한다. 일 실시예에서, 액티브 영역 상에 게이트 라인을 추가할 수 있고, 추가된 게이트 라인은 도전 게이트 라인으로 이용될 수 있다. 일 실시예에서, 단계 S330에서 액티브 영역 상에 배열된 절단 영역 또는 더미 영역 상에, 게이트 라인을 추가할 수 있고, 추가된 게이트 라인은 더미 게이트 라인으로 이용될 수 있다. 이와 같이, 본 실시예에 따르면, 오리지널 레이아웃의 사이즈 증가없이, 오리지널 레이아웃에 게이트 라인을 추가함으로써 레이아웃을 재구성할 수 있다. 한편, 일부 실시예들에서, 단계 S340은 수행되지 않을 수 있고, 단계 S330 이후에 단계 S350이 수행될 수 있다. 또한, 일부 실시예들에서, 단계 S330 이후에 레이아웃의 재구성 방법은 종료될 수도 있다.
단계 S350에서, 액티브 영역을 추가한다. 일 실시예에서, 단계 S340에서 추가된 게이트 라인의 하부에 액티브 영역을 추가할 수 있고, 추가된 액티브 영역 및 추가된 게이트 라인은 신규 트랜지스터를 구성할 수 있다. 일 실시예에서, 더미 게이트 라인의 하부에 액티브 영역을 추가할 수 있고, 추가된 액티브 영역 및 더미 게이트 라인은 디커플링 커패시터를 구성할 수 있다. 이와 같이, 본 실시예에 따르면, 오리지널 레이아웃의 사이즈 증가없이, 오리지널 레이아웃에 액티브 영역을 추가함으로써 레이아웃을 재구성할 수 있다. 한편, 일부 실시예들에서, 단계 S350은 수행되지 않을 수 있고, 단계 S330 이후에 또는 단계 S340 이후에 단계 S360이 수행될 수 있다. 또한, 일부 실시예들에서, 단계 S340 이후에 레이아웃의 재구성 방법은 종료될 수도 있다.
단계 S360에서, 배선을 재구성한다. 여기서, 배선은 게이트 라인들의 상부에 배치되는 제1 메탈 라인, 제1 메탈 라인의 상부에 배치되는 제2 메탈 라인 등을 포함할 수 있다. 일 실시예예서, 단계 S340에서 추가된 게이트 라인 상에 컨택을 배치하고, 추가된 게이트 라인을 다른 영역에 연결하기 위해, 컨택 상에 제1 메탈 라인을 배치할 수 있다. 일 실시예에서, 단계 S350에서 추가된 액티브 영역 상에 컨택을 배치하고, 추가된 액티브 영역을 다른 영역에 연결하기 위해, 컨택 상에 제1 메탈 라인을 배치할 수 있다. 이와 같이, 본 실시예에 따르면, 오리지널 레이아웃의 사이즈 증가없이, 오리지널 레이아웃에 배선을 재구성함으로써 레이아웃을 재구성할 수 있다.
본 실시예에 따르면, 집적 회로는 도 1 내지 도 3을 참조하여 상술된 바와 같이 설계될 수 있다. 일 실시예에서, 집적 회로는 스캔 플립플롭일 수 있고, 표준 셀로 구현될 수 있다. 이하에서는, 스캔 플립플롭에 대한 시뮬레이션 결과에 따라 스캔 플립플롭의 레이아웃을 재구성하는 방법을 일 예로 하여, 집적 회로의 설계 방법에 대해 설명하기로 한다. 그러나, 스캔 플립플롭은 집적 회로의 일 예에 불과하고, 본 발명에 따른 집적 회로의 설계 방법은 스캔 플립플롭 이외의 다양한 집적 회로를 설계하기 위해 이용될 수 있다.
도 4a는 스캔 플립플롭(SFF)을 개략적으로 나타내는 블록도이고, 도 4b는 도 4a의 스캔 플립플롭(SFF)을 나타내는 로직 심볼이다.
도 4a 및 도 4b를 참조하면, 스캔 플립플롭(SFF)은 입력부(Input Unit)(IU) 및 플립플롭(FF)을 포함할 수 있다. 입력부(IU)는 데이터 입력 신호(D) 및 스캔 입력 신호(SI)를 수신하고, 동작 모드에 따라 데이터 입력 신호(D) 및 스캔 입력 신호(SI) 중 하나를 선택하여 내부 신호(Internal Signal)(IS)로 제공할 수 있다. 플립플롭(FF)은 클럭 신호(CLK)에 기초하여 내부 신호(IS)를 래치할 수 있다.
구체적으로, 입력부(IU)는 제1 동작 모드에서 데이터 입력 신호(D)를 선택하고 데이터 입력 신호(D)에 기초하여 내부 신호(IS)를 제공하며, 제2 동작 모드에서 스캔 입력 신호(SI)를 선택하고 스캔 입력 신호(SI)에 기초하여 내부 신호(IS)를 제공한다. 예를 들어, 제1 동작 모드는 데이터 전달을 수행하는 정상(normal) 동작 모드이고 제2 동작 모드는 테스트 동작을 수행하는 스캔 테스트 모드일 수 있다.
일 실시예에서, 동작 모드는 스캔 인에이블 신호(Scan Enable Signal)(SE)의 논리 레벨에 따라 결정될 수 있다. 예를 들어, 동작 모드는 스캔 인에이블 신호(SE)가 제1 논리 레벨(예를 들어, 논리 로우 레벨)인 경우 정상 동작 모드이고, 스캔 인에이블 신호(SE)가 제2 논리 레벨(예를 들어, 논리 하이 레벨)인 경우 스캔 테스트 모드일 수 있으나, 본 발명은 이에 한정되지 않는다.
정상 동작 모드에서, 입력부(IU)는 데이터 입력 신호(D)를 내부 신호(IS)로써 제공하고, 플립플롭(FF)은 데이터 입력 신호(D)를 래치하는 정상 동작을 수행할 수 있다. 한편, 스캔 테스트 모드에서, 입력부(IU)는 스캔 입력 신호(SI)를 내부 신호(IS)로써 제공하고, 플립플롭(FF)은 스캔 입력 신호(SI)를 래치하는 스캔 동작을 수행할 수 있다.
도 5는 본 개시의 일 실시예에 따른 스캔 플립플롭을 상세하게 나타내는 블록도이다.
도 5를 참조하면, 스캔 플립플롭(10)은 멀티플렉서(11), 마스터 래치(12) 및 슬레이브 래치(13)를 포함할 수 있다. 본 실시예에 따른 스캔 플립플롭(10)은 도 4a 및 도 4b의 스캔 플립플롭(SFF)의 구체화된 실시예일 수 있다. 따라서, 도 4a 및 도 4b를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있으며, 중복된 설명은 생략하기로 한다.
멀티플렉서(11)는 도 4a의 입력부(IU)에 대응될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 도 4a의 입력부(IU)는 멀티플렉서(11) 외에 다른 구성 요소를 더 포함할 수 있다. 멀티플렉서(11)는 스캔 인에이블 신호(SE)에 따라 데이터 입력 신호(D) 및 스캔 입력 신호(SI) 중 하나를 선택하고, 선택된 신호에 기초하여 내부 신호(IS)를 제공할 수 있다. 멀티플렉서(11)는 먹스(mux), 스캔 먹스(scan mux) 또는 선택부라고 지칭될 수 있다.
마스터 래치(12) 및 슬레이브 래치(13)는 도 4a의 플립플롭(FF)에 대응될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 도 4a의 플립플롭(FF)은 마스터 래치(12) 및 슬레이브 래치(13) 외에 다른 구성 요소를 더 포함할 수 있다. 마스터 래치(12)는 클럭 신호(CLK)에 기초하여 내부 신호(IS)를 래치하고, 슬레이브 래치(13)는 클럭 신호(CLK)에 기초하여 마스터 래치(12)의 출력을 래치하여 출력 신호(OUT)를 제공할 수 있다.
도 6은 도 5의 스캔 플립플롭(10)을 나타내는 회로도이다.
도 6을 참조하면, 스캔 플립플롭(10)은 멀티플렉서(11) 및 플립플롭(FF)을 포함할 수 있고, 멀티플렉서(11)는 제1 내지 제4 PMOS 트랜지스터들(MP1 내지 MP4) 및 제1 내지 제4 NMOS 트랜지스터들(MN1 내지 MN4)을 포함할 수 있다. 멀티플렉서(11)는 예를 들어, 도 1의 단계 S110에서 수신된 입력 데이터에 따른 오리지널 스키메틱에 따른 회로 구성을 가질 수 있다.
제1 PMOS 트랜지스터(MP1)는 전원 전압 단자(VDD)에 연결된 소스, 및 스캔 인에이블 신호(SE)가 인가되는 게이트를 포함한다. 제2 PMOS 트랜지스터(MP2)는 제1 PMOS 트랜지스터(MP1)와 연결되는 소스, 및 데이터 입력 신호(D)가 인가되는 게이트를 포함한다. 제1 NMOS 트랜지스터(MN1)는 제2 PMOS 트랜지스터(MP2)에 연결된 드레인, 및 데이터 입력 신호(D)가 인가되는 게이트를 포함한다. 제2 NMOS 트랜지스터(MN2)는 제1 NMOS 트랜지스터(MN1)와 연결되는 드레인, 반전 스캔 인에이블 신호(NSE)가 인가되는 게이트, 및 접지 전압 단자(VSS)에 연결되는 소스를 포함한다.
제3 PMOS 트랜지스터(MP3)는 전원 전압 단자(VDD)에 연결된 소스, 및 반전 스캔 인에이블 신호(NSE)가 인가되는 게이트를 포함한다. 제4 PMOS 트랜지스터(MP4)는 제3 PMOS 트랜지스터(MP3)와 연결되는 소스, 및 스캔 입력 신호(SI)가 인가되는 게이트를 포함한다. 제3 NMOS 트랜지스터(MN3)는 제4 PMOS 트랜지스터(MP4)와 연결되는 드레인, 및 스캔 입력 신호(SI)가 인가되는 게이트를 포함한다. 제4 NMOS 트랜지스터(MN4)는 제3 NMOS 트랜지스터(MN3)와 연결되는 드레인, 스캔 인에이블 신호(SE)가 인가되는 게이트, 및 접지 전압 단자(VSS)에 연결되는 소스를 포함한다.
데이터 입력 신호(D)가 인가되는 제2 PMOS 트랜지스터(MP2)의 게이트 및 제1 NMOS 트랜지스터(MN1)의 게이트는 데이터 입력 핀이라고 지칭할 수 있다. 또한, 스캔 입력 신호(SI)가 인가되는 제4 PMOS 트랜지스터(MP4)의 게이트 및 제3 NMOS 트랜지스터(MN3)의 게이트는 스캔 입력 핀이라고 지칭할 수 있다. 멀티플렉서(11)의 출력 노드는 제2 PMOS 트랜지스터(MP2)의 드레인, 제1 NMOS 트랜지스터(MN1)의 드레인, 제4 PMOS 트랜지스터(MP4)의 드레인, 및 제3 NMOS 트랜지스터(MN3)의 드레인에 공통으로 연결될 수 있고, 내부 신호(IS)를 플립플롭(FF)에 전달할 수 있다.
도 7은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법의 일 예를 나타내는 흐름도이다.
도 7을 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 시뮬레이션 결과에 따라 레이아웃을 재구성하는 방법으로서, 도 3의 방법의 일 구현예에 대응할 수 있다. 단계 S410에서, 타이밍 분석을 수행한다. 단계 S410은 도 3의 단계 S310의 일 예일 수 있고, 타이밍 분석은 예를 들어, STA일 수 있다. 단계 S420에서, 홀드 타임 위반의 발생 여부를 판단하고, 단계 S450에서, 셋업 타임 위반의 발생 여부를 판단한다. 이하에서는 도 8 내지 도 10을 참조하여 홀드 타임 위반 및 셋업 타임 위반에 대해 먼저 설명하기로 한다.
도 8은 본 개시의 일 실시예에 따른 스캔 플립플롭의 셋업 타임(tSU)과 홀드 타임(tHD)을 나타내는 그래프이다.
도 8을 참조하면, 시간에 따른 데이터 입력 신호(D)의 파형과 시간에 따른 클럭 신호(CLK)의 파형이 도시되었다. 셋업 타임(tSU)은 클럭 신호(CLK)의 스위칭이 일어나기 전까지 입력 신호(예를 들어, 데이터 입력 신호(D))가 일정한 값을 유지해야 하는 최소 시간을 의미한다. 즉, 셋업 타임(tSU)은 데이터 입력 신호(D)의 파형이 논리 하이인지 논리 로우인지를 판별하는데 필요한 최소 시간을 의미한다. 홀드 타임(tHD)은 클럭 신호(CLK)의 스위칭이 일어난 후 데이터 입력 신호(D)가 일정한 값을 유지해야 하는 최소 시간을 의미한다. 즉, 홀드 타임(tHD)은 판별된 결과가 유지되어야 하는 최소 시간을 의미한다.
셋업 타임(tSU) 및 홀드 타임(tHD)은 스캔 플립플롭의 타이밍 요건(requirements)이며, 이러한 타이밍 요건은 스캔 플립플롭에 대한 설계 제약들 중 하나일 수 있다. 한편, 셋업 타임 마진은 셋업 타임 이상의 추가적인 일정 시간을 의미하며, 홀드 타임 마진은 홀드 타임 이상의 추가적인 일정 시간을 의미한다. 이러한 셋업 타임 마진 및 홀드 타임 마진도 스캔 플립플롭의 타이밍 요건으로서, 스캔 플립 플롭에 대한 설계 제약들 중 하나일 수 있다. 본 실시예에서, 도 7의 단계 S420은 STA의 결과 획득한 홀드 타임이 도 8의 홀드 타임(tHD) 이하인지 판단할 수 있다. 또한, 도 7의 단계 S450은 STA의 결과 획득한 셋업 타임이 도 9의 셋업 타임(tSU) 이하인지 판단할 수 있다.
도 9는 본 개시의 일 실시예에 따른 스캔 플립플롭의 홀드 타임 위반을 나타내는 그래프이다. 도 9를 참조하면, STA의 결과, 제1 셋업 타임(tSU1)은 도 8의 셋업 타임(tSU) 이상이고, 제1 홀드 타임(tHD1)은 도 8의 홀드 타임(tHD) 이하일 수 있다. 이때, 데이터 입력 신호(D)가 클럭 신호(CLK)의 스위칭 이후에 요구되는 최소 시간(즉, 홀드 타임) 전에 변경됨에 따라, 홀드 타임 위반이 발생한다.
도 10은 본 개시의 일 실시예에 따른 스캔 플립플롭의 셋업 타임 위반을 나타내는 그래프이다. 도 10을 참조하면, STA의 결과, 제2 셋업 타임(tSU2)은 도 8의 셋업 타임(tSU) 이하이고, 제2 홀드 타임(tHD2)은 도 8의 홀드 타임(tHD) 이상일 수 있다. 이때, 데이터 입력 신호(D)가 클럭 신호(CLK)의 스위칭 이전에 요구되는 최소 시간(즉, 셋업 타임) 전에 변경됨에 따라, 셋업 타임 위반이 발생한다.
다시 도 7을 참조하면, 단계 S420에서, 홀드 타임 위반의 발생 여부를 판단하고, 홀드 타임 위반이 발생한 경우 단계 S430을 수행하고, 홀드 타임 위반이 발생하지 않은 경우 단계 S450을 수행한다. 본 실시예에 따르면, 홀드 타임 위반이 발생한 경우, 입력 경로(path)에서 입력 신호를 딜레이시켜서 홀드 타임 마진을 개선할 수 있다. 구체적으로, 홀드 타임 위반이 발생한 경우, 단계 S430 및/또는 단계 S440을 수행할 수 있다.
일 실시예에서, 데이터 입력 경로에서 데이터 입력 신호(D)를 딜레이시켜서 데이터 입력 경로에서 홀드 타임 마진을 개선할 수 있다. 일 실시예에서, 스캔 입력 경로에서 스캔 입력 신호(SI)를 딜레이시켜서 스캔 입력 경로에서 홀드 타임 마진을 개선할 수 있다. 일 실시예에서, 데이터 입력 경로 및 스캔 입력 경로에서 데이터 입력 신호(D) 및 스캔 입력 신호(SI)를 각각 딜레이시켜서 데이터 입력 경로 및 스캔 입력 경로 모두에서 홀드 타임 마진을 개선할 수 있다.
단계 S430에서, 입력 핀들에 더미 게이트 로드를 추가한다. 예를 들어, 입력 핀들은 도 6의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀 및 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀일 수 있다. 여기서, 더미 게이트 로드는 더미 게이트에 의해 발생한 로드를 의미한다. 더미 게이트는 저항 성분을 가지므로, 더미 게이트의 추가에 의해 입력 핀들에 대한 로드가 증가하게 된다. 이에 따라, 입력 경로에서 데이터 입력 신호(D) 및 스캔 입력 신호(SI)가 딜레이되어 홀드 타임 마진이 개선될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 단계 S430은 수행되지 않을 수 있고, 단계 S420 이후에 단계 S440이 수행될 수 있다.
단계 S440에서, 입력 핀들에 직렬 스택(stacked) 트랜지스터를 추가한다. 예를 들어, 입력 핀들은 도 6의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀 및 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀일 수 있다. 일 실시예에서, 제2 PMOS 트랜지스터(MP2)와 제1 NMOS 트랜지스터(MN1) 사이 또는 제1 및 제2 PMOS 트랜지스터들(MP1, MP2) 사이에 직렬 스택 트랜지스터를 추가할 수 있다. 일 실시예에서, 제4 PMOS 트랜지스터(MP4)와 제3 NMOS 트랜지스터(MN3) 사이 또는 제3 및 제4 NMOS 트랜지스터들(MN3, MN4) 사이에 직렬 스택 트랜지스터를 추가할 수 있다. 이에 따라, 데이터 입력 경로 및 스캔 입력 경로가 길어짐으로써, 데이터 입력 신호(D) 및 스캔 입력 신호(SI)가 딜레이되어 홀드 타임 마진이 개선될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 단계 S440은 수행되지 않을 수 있고, 단계 S430 이후에 단계 S450이 수행될 수 있다.
단계 S450에서, 셋업 타임 위반의 발생 여부를 판단하고, 셋업 타임 위반이 발생한 경우 단계 S460을 수행하고, 셋업 타임 위반이 발생하지 않은 경우 본 방법은 종료된다. 본 실시예에 따르면, 셋업 타임 위반이 발생한 경우, 입력 경로에서 데이터 입력 신호(D) 및 스캔 입력 신호(SI)가 어드밴스되어(advanced) 셋업 타임 마진을 개선할 수 있다.
일 실시예에서, 데이터 입력 경로에서 데이터 입력 신호(D)를 어드밴스시켜서 데이터 입력 경로에서 셋업 타임 마진을 개선할 수 있다. 일 실시예에서, 스캔 입력 경로에서 스캔 입력 신호(SI)를 어드밴스시켜서 스캔 입력 경로에서 세섭 타임 마진을 개선할 수 있다. 일 실시예에서, 데이터 입력 경로 및 스캔 입력 경로에서 데이터 입력 신호(D) 및 스캔 입력 신호(SI)를 각각 어드밴스시켜서 데이터 입력 경로 및 스캔 입력 경로 모두에서 셋업 타임 마진을 개선할 수 있다.
단계 S460에서, 입력 핀들에 병렬 스택 트랜지스터를 추가한다. 예를 들어, 입력 핀들은 도 6의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀 및 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀일 수 있다. 일 실시예에서, 제2 PMOS 트랜지스터(MP2)에 대해 병렬 스택 트랜지스터를 추가할 수 있다. 일 실시예에서, 제3 NMOS 트랜지스터(MN3)에 대해 병렬 스택 트랜지스터를 추가할 수 있다. 이에 따라, 데이터 입력 경로 및 스캔 입력 경로에서 입력 트랜지스터의 폭(width)가 증가하여, 데이터 입력 신호(D) 및 스캔 입력 신호(SI)가 빠르게 전달될 수 있다.
집적 회로는 예를 들어, 스캔 플립플롭을 포함할 수 있다. 이하에서는, 도 11 내지 도 18을 참조하여, 도 7에 예시된 집적 회로의 설계 방법에 대해 구체적으로 설명하기로 한다. 구체적으로, 도 11은 오리지널 레이아웃을 나타내며, 도 12 및 도 13은 도 7의 단계 S430의 일 구현예를 나타내고, 도 14 내지 도 16은 도 7의 단계 S440의 일 구현예를 나타내며, 도 17 및 도 18은 도 7의 단계 S460의 일 구현예를 나타낸다.
도 11은 본 개시의 일 실시예에 따른 스캔 플립플롭의 레이아웃의 일 예(100)를 나타낸다.
도 11을 참조하면, 레이아웃(100)은 스캔 플립플롭을 정의하는 입력 데이터에 따라 생성된 오리지널 레이아웃일 수 있다. 도 7의 단계 S410에서 타이밍 분석을 수행한 결과, 홀드 타임 위반 및 셋업 타임 위반이 발생하지 않은 경우 레이아웃을 재구성하는 단계를 수행하지 않으며, 레이아웃(100)에 따라 집적 회로를 제조할 수 있다.
레이아웃(100)은 예를 들어, 도 6의 스캔 플립플롭(10)에 대응하는 표준 셀에서 멀티플렉서(11)에 대응하는 영역을 나타낼 수 있다. 구체적으로, 레이아웃(100)은 액티브 영역들(AR), 게이트 라인들(GL), 제1 컨택(CON), 및 제1 메탈 라인(M1)을 포함할 수 있다. 또한, 레이아웃(100)은 제1 절단 영역(CT1) 및 제2 절단 영역(CT2)을 더 포함할 수 있다. 제1 절단 영역(CT1)은 게이트 라인(GL)의 일부를 절단하기 위한 표시 레이어(marking layer)이고, 제2 절단 영역(CT2)은 액티브 영역(AR)의 일부를 절단하기 위한 표시 레이어이다.
액티브 영역들(AR)은 제1 방향(예를 들어, X 방향)으로 연장된 제1 액티브 영역들(110, 115) 및 제2 액티브 영역들(120, 125)을 포함할 수 있다. 제1 액티브 영역들(110, 115)은 제1 한정층(DL1)에 배치되고, 제2 액티브 영역들(120, 125)는 제2 한정층(DL2)에 배치될 수 있다. 본 실시예에서, 제1 한정층(DL1)은 N 웰(well) 영역으로서, PMOS 트랜지스터들이 형성되는 PMOS 한정층이고, 제2 한정층(DL2)은 P 웰 영역으로서, NMOS 트랜지스터들이 형성되는 NMOS 한정층일 수 있다. 본 실시예에서, 제1 액티브 영역들(110, 115)은 제1 도전형의 불순물을 도핑함으로써 생성된 확산층(diffusion layer)이고, 제2 액티브 영역들(120, 125)는 제2 도전형의 불순물을 도핑함으로써 생성된 확산층일 수 있다. 이때, 제1 도전형과 제2 도전형은 서로 다르다.
게이트 라인들(GL)은 제1 방향에 실질적으로 수직인 제2 방향(예를 들어, Y 방향)으로 연장되고, 제1 방향으로 서로 평행하게 배치될 수 있다. 이때, 게이트 라인들(GL)은 반도체 장치의 게이트 전극들에 대응할 수 있다. 게이트 전극들은 전기 전도성을 갖는 임의의 물질로 구성될 수 있으며, 예를 들어, 폴리 실리콘, 금속, 금속 함금 등을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 게이트 라인들(GL)은 임의의 전도성을 갖는 트레이스(trace) 등에 대응할 수 있다.
본 실시예에서, 게이트 라인들(GL)은 제1 내지 제6 게이트 라인들(131 내지 136)을 포함할 수 있다. 제1 게이트 라인(131)은 제1 입력 핀에 대응하며, 예를 들어, 도 6의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀, 즉, 제2 PMOS 트랜지스터(MP2) 및 제1 NMOS 트랜지스터(MN1)의 게이트에 대응할 수 있다. 제2 게이트 라인(131)은 제2 입력 핀에 대응하며, 예를 들어, 도 6의 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀, 즉, 제4 PMOS 트랜지스터(MP4) 및 제3 NMOS 트랜지스터(MN3)의 게이트에 대응할 수 있다. 제3 게이트 라인(133)은 제1 게이트 라인(131)의 좌측에 인접하게 배치되고, 제4 및 제5 게이트 라인들(134, 135)은 제2 게이트 라인(132)의 양 옆으로 인접하게 각각 배치될 수 있다. 제6 게이트 라인(136)은 제3 게이트 라인(133)과 제5 게이트 라인(135) 사이에 배치될 수 있다.
게이트 라인들(GL) 상에는 제1 컨택들(CON)이 각각 배치되고, 제1 컨택들(CON) 상에는 제1 메탈 라인들(M1)이 각각 배치될 수 있다. 이에 따라, 제1 메탈 라인들(M1)을 통해 인가되는 신호들(예를 들어, 전압 신호들)은 제1 컨택들(CON)을 통해 게이트 라인들(GL)에 각각 전달될 수 있다.
일 실시예에서, 제1 한정층(DL1) 상의 제3 게이트 라인(133)에 제1 절단 영역(CT1)을 배열할 수 있다. 이때, 제1 절단 영역(CT1)에 대응하는 영역을 제1 관심 영역(area of interest)(AOIa)이라고 지칭하기로 한다. 일 실시예에서, 제1 한정층(DL1)에서 제1 방향으로 연장된 하나의 액티브 영역에 제2 절단 영역(CT2)을 배열함으로써 액티브 영역들(110, 115)이 생성될 수 있고, 제2 한정층(DL2)에서 제1 방향으로 연장된 하나의 액티브 영역에 제2 절단 영역(CT2)을 배열함으로써 액티브 영역들(120, 125)이 생성될 수 있다. 이때, 제2 한정층(DL2) 상의 제2 절단 영역(CT2)에 대응하는 영역을 제2 관심 영역(AOIb)라고 지칭하고, 제1 한정층(DL1) 상의 제2 절단 영역(CT2)에 대응하는 영역을 제3 관심 영역(AOIc)라고 지칭하기로 한다.
본 실시예에 따르면, 레이아웃의 재구성 단계는 제1 내지 제3 관심 영역들(AOIa 내지 AOIc)에 대해 신규 게이트 라인을 추가하거나 신규 액티브 영역을 추가하여 레이아웃(100)을 재구성할 수 있다. 이와 같이, 본 실시예에 따르면, 레이아웃(100)에 포함된 일부 영역들, 즉, 제1 내지 제3 관심 영역들(AOIa 내지 AOIc)에 대해 재구성을 수행하므로, 레이아웃(100)의 재구성에 의해 레이아웃(100)의 사이즈가 변경되지 않는다.
도 12는 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예(100a)를 나타낸다.
도 12를 참조하면, 레이아웃(100a)은 홀드 타임 위반이 발생한 경우 도 7의 단계 S430에 따라 입력 핀들에 더미 게이트 로드를 추가함으로써 생성된 레이아웃일 수 있다. 도 11을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 이하에서는 도 11 및 도 12를 참조하여, 도 11의 레이아웃(100)과 본 실시예에 따른 레이아웃(100a)의 차이점을 중심으로 설명하기로 한다.
본 실시예에 따르면, 도 11의 제1 액티브 영역(115)에서 제1 게이트 라인(131)에 인접한 영역에 절단 영역(151)을 배열할 수 있다. 이에 따라, 도 11의 제1 액티브 영역(115)은 제1 부분 액티브 영역(115a) 및 제2 부분 액티브 영역(115b)으로 분리될 수 있고, 제1 부분 액티브 영역(115a)과 제2 부분 액티브 영역(115b) 사이에는 더미 영역이 생성될 수 있다.
이어서, 도 11의 제1 관심 영역(AOIa), 즉, 제1 부분 액티브 영역(115a)과 제2 부분 액티브 영역(115b) 사이에, 신규 게이트 라인(141)을 추가할 수 있다. 또한, 신규 게이트 라인(141) 상에 제1 컨택(CON)을 배치하고, 신규 게이트 라인(141)과 제1 게이트 라인(131)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다. 이때, 신규 게이트 라인(141)은 더미 영역에 배치되므로 제1 더미 게이트에 대응할 수 있고, 이에 따라, 제1 입력 핀에 대응하는 제1 게이트 라인(131)에 인가되는 데이터 입력 신호(D)가 딜레이되어 데이터 입력 경로에서 홀드 타임 마진이 개선될 수 있다.
본 실시예에 따르면, 도 11의 제4 게이트 라인(134)의 중심 영역에 절단 영역(152)을 배열할 수 있다. 이에 따라, 도 11의 제4 게이트 라인(134)은 제1 및 제2 부분 게이트 라인들(134a, 142)로 분리될 수 있다. 또한, 제2 부분 게이트 라인(142) 상에 제1 컨택(CON)을 배치하고, 제2 부분 게이트 라인(142)과 제2 게이트 라인(132)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다.
이때, 제1 부분 게이트 라인(134a)은 제1 액티브 영역(110) 상에 배치되므로 리얼 게이트에 대응되어 트랜지스터를 구성할 수 있는 반면, 제2 부분 게이트 라인(142)은 액티브 영역 상에 배치되지 않으므로 제2 더미 게이트에 대응할 수 있다. 따라서, 제2 입력 핀에 대응하는 제2 게이트 라인(132)에 인가되는 스캔 입력 신호(SI)가 딜레이되어 스캔 입력 경로에서 홀드 타임 마진이 개선될 수 있다.
본 실시예에 따르면, 도 11의 제5 게이트 라인(135)의 중심 영역에 절단 영역(153)을 배열할 수 있다. 이에 따라, 도 11의 제4 게이트 라인(134)은 제3 및 제4 부분 게이트 라인들(143, 135b)로 분리될 수 있다. 또한, 제3 부분 게이트 라인(143) 상에 제1 컨택(CON)을 배치하고, 제3 부분 게이트 라인(143)과 제6 게이트 라인(136)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다.
이때, 제4 부분 게이트 라인(135b)은 제2 액티브 영역(125) 상에 배치되므로 리얼 게이트에 대응되어 트랜지스터를 구성할 수 있는 반면, 제3 부분 게이트 라인(143)은 액티브 영역 상에 배치되지 않으므로 제3 더미 게이트에 대응할 수 있다. 따라서, 제1 입력 핀에 대응하는 제1 게이트 라인(131)에 인가되는 데이터 입력 신호(D)가 더 딜레이되어 데이터 입력 경로에서 홀드 타임 마진이 더욱 개선될 수 있다.
본 실시예에 따르면, 레이아웃(100a)은 제1 내지 제3 더미 게이트들, 즉, 신규 게이트 라인(141), 제2 부분 게이트 라인(142) 및 제3 부분 게이트 라인(143)을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 레이아웃(100a)은 제1 내지 제3 더미 게이트들 중 하나의 더미 게이트만을 포함하도록 재구성될 수 있다. 또한, 일부 실시예들에서, 레이아웃(100a)은 제1 내지 제3 더미 게이트들 중 두 개의 더미 게이트들만을 포함하도록 재구성될 수 있다. 또한, 일부 실시예들에서, 레이아웃(100a)은 네 개 이상의 더미 게이트들을 포함하도록 재구성될 수 있다. 이와 같이, 설계자는 홀드 타임 위반의 정도에 따라 재구성된 레이아웃에 추가되는 더미 게이트들의 개수를 조절할 수 있다.
도 13은 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 다른 예(200a)를 나타낸다.
도 13을 참조하면, 레이아웃(200a)은 홀드 타임 위반이 발생한 경우 도 7의 단계 S430에 따라 입력 핀들에 더미 게이트 로드를 추가함으로써 생성된 레이아웃일 수 있다. 본 실시예에 따른 레이아웃(200a)은 도 12의 개략적인 레이아웃(100a)을 기초로 실제로 구현된 레이아웃일 수 있다. 따라서, 도 12를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있으며, 중복된 설명은 생략하기로 한다.
레이아웃(200a)은 액티브 영역들(AR), 게이트 라인들(GL), 제1 및 제2 메탈 라인들(M1, M2), 제1 및 제2 컨택들(CON, CON'), 전원 전압 단자(VDD) 및 접지 전압 단자(VSS)를 포함할 수 있다. 액티브 영역들(AR)은 제1 한정층(DL1)에 배치된 제1 액티브 영역들(210a, 210b, 210c), 제2 한정층(DL2)에 배치된 제2 액티브 영역들(220a, 220b)을 포함할 수 있다.
게이트 라인들(GL)은 제1 내지 제4 게이트 라인들(231 내지 234)을 포함할 수 있다. 제1 게이트 라인(231)은 도 6의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀에 대응할 수 있으며, 구체적으로, 제2 PMOS 트랜지스터(MP2) 및 제1 NMOS 트랜지스터(MN1)의 게이트에 대응할 수 있다. 제2 게이트 라인(231)은 도 6의 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀에 대응할 수 있으며, 구체적으로, 제4 PMOS 트랜지스터(MP4) 및 제3 NMOS 트랜지스터(MN3)의 게이트에 대응할 수 있다.
제3 게이트 라인(233)은 더미 게이트에 대응하고, 이에 따라, 제1 및 제3 게이트 라인들(231, 233)을 통해 인가되는 데이터 입력 신호(D)가 딜레이될 수 있다. 마찬가지로, 제4 게이트 라인(234)은 더미 게이트에 대응하고, 이에 따라, 제2 및 제4 게이트 라인들(232, 234)을 통해 인가되는 스캔 입력 신호(SI)가 딜레이될 수 있다.
도 14는 본 개시의 일 실시예에 따라, 홀드 타임 위반이 발생한 경우 도 6의 스캔 플립플롭에 포함된 멀티플렉서에 대해 재구성된 회로의 일 예(11a)를 나타낸다.
도 14를 참조하면, 멀티플렉서(11a)는 도 6의 멀티플렉서(11)에 비해 직렬 스택 PMOS 트랜지스터(MPs) 및 직렬 스택 NMOS 트랜지스터(MNs)를 더 포함할 수 있다. 도 6을 참조하여 상술된 멀티플렉서(11)에 대한 설명은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
직렬 스택 PMOS 트랜지스터(MPs)는 제2 PMOS 트랜지스터(MP2)와 직렬로 연결될 수 있다. 구체적으로, 직렬 스택 PMOS 트랜지스터(MPs)는 제1 PMOS 트랜지스터(MP1)에 연결된 소스, 데이터 입력 신호(D)가 인가되는 게이트, 및 제2 PMOS 트랜지스터(MP2)에 연결된 드레인을 포함한다. 직렬 스택 PMOS 트랜지스터(MPs)의 추가에 의해, 데이터 입력 경로가 길어지므로, 데이터 입력 신호(D)가 딜레이되어 데이터 입력 경로에서 홀드 타임 마진이 개선될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 직렬 스택 PMOS 트랜지스터(MPs)와 제2 PMOS 트랜지스터(MP2)의 위치가 서로 바뀔 수도 있다.
직렬 스택 NMOS 트랜지스터(MNs)는 제3 NMOS 트랜지스터(MN3)와 직렬로 연결될 수 있다. 구체적으로, 직렬 스택 NMOS 트랜지스터(MNs)는 제3 PMOS 트랜지스터(MP3)에 연결된 드레인, 스캔 입력 신호(SI)가 인가되는 게이트, 및 제4 NMOS 트랜지스터(MN4)에 연결된 소스를 포함한다. 직렬 스택 NMOS 트랜지스터(MNs)의 추가에 의해, 스캔 입력 경로가 길어지므로, 스캔 입력 신호(SI)가 딜레이되어 스캔 입력 경로에서 홀드 타임 마진이 개선될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 직렬 스택 NMOS 트랜지스터(MNs)와 제3 NMOS 트랜지스터(MN3)의 위치가 서로 바뀔 수도 있다.
도 15는 도 14의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예(100b)를 나타낸다.
도 15를 참조하면, 레이아웃(100b)은 홀드 타임 위반이 발생한 경우 도 7의 단계 S440에 따라 입력 핀들에 직렬 스택 트랜지스터를 추가함으로써 생성된 레이아웃일 수 있다. 도 11을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 이하에서는 도 11 및 도 15를 참조하여, 도 11의 레이아웃(100)과 본 실시예에 따른 레이아웃(100b)의 차이점을 중심으로 설명하기로 한다.
본 실시예에 따르면, 도 11의 제1 관심 영역(AOIa), 즉, 제1 한정층(DL1)에서 제1 게이트 라인(131)과 제6 게이트 라인(136) 사이에, 신규 게이트 라인(160)을 추가할 수 있다. 또한, 신규 게이트 라인(160) 상에 제1 컨택(CON)을 배치하고, 신규 게이트 라인(160)과 제1 게이트 라인(131)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다.
이때, 신규 게이트 라인(160)은 제1 액티브 영역(155) 상에 배치되므로 리얼 게이트에 대응되어 트랜지스터를 구성할 수 있다. 구체적으로, 신규 게이트 라인(160)은 도 14의 직렬 스택 PMOS 트랜지스터(MPs)를 구성할 수 있다. 따라서, 제1 입력 핀에 대응하는 제1 게이트 라인(131)에 인가되는 데이터 입력 신호(D)가 딜레이되어 데이터 입력 경로에서 홀드 타임 마진이 개선될 수 있다.
본 실시예에 따르면, 도 11의 제4 게이트 라인(134)의 중심 영역에 제2 절단 영역(152)을 배열할 수 있다. 이에 따라, 도 11의 제4 게이트 라인(134)은 제1 및 제2 부분 게이트 라인들(134a, 134b)로 분리될 수 있다. 또한, 제2 부분 게이트 라인(134b) 상에 제1 컨택(CON)을 배치하고, 제2 부분 게이트 라인(134b)과 제2 게이트 라인(132)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다.
또한, 제2 부분 게이트 라인(134b)의 하부에 제1 신규 액티브 영역(125a)을 추가할 수 있다. 이에 따라, 제2 부분 게이트 라인(134b)은 제1 신규 액티브 영역(125a) 상에 배치되므로 리얼 게이트에 대응되어, 트랜지스터를 구성할 수 있다. 구체적으로, 제2 부분 게이트 라인(134b)은 도 14의 직렬 스택 NMOS 트랜지스터(MNs)를 구성할 수 있다. 따라서, 제2 입력 핀에 대응하는 제2 게이트 라인(132)에 인가되는 스캔 입력 신호(SI)가 딜레이되어 스캔 입력 경로에서 홀드 타임 마진이 개선될 수 있다.
본 실시예에 따르면, 도 11의 제5 게이트 라인(135)의 중심 영역에 제2 절단 영역(153)을 배열할 수 있다. 이에 따라, 도 11의 제5 게이트 라인(135)은 제3 및 제4 부분 게이트 라인들(135a, 135b)로 분리될 수 있다. 또한, 제3 부분 게이트 라인(135a) 상에 제1 컨택(CON)을 배치하고, 제3 부분 게이트 라인(135a)과 제6 게이트 라인(136)을 연결하기 위해 제1 메탈 라인(M1)을 재구성할 수 있다.
또한, 제3 부분 게이트 라인(135a)의 하부에 제2 신규 액티브 영역(115c)을 추가할 수 있다. 이에 따라, 제3 부분 게이트 라인(135a)은 제2 신규 액티브 영역(115c) 상에 배치되므로 리얼 게이트에 대응되어, 트랜지스터를 구성할 수 있다. 따라서, 제1 입력 핀에 대응하는 제1 게이트 라인(131)에 인가되는 데이터 입력 신호(D)가 더 딜레이되어 데이터 입력 경로에서 홀드 타임 마진이 더욱 개선될 수 있다.
본 실시예에 따르면, 레이아웃(100b)은 신규 게이트 전극(160), 제1 및 제2 액티브 영역들(125a, 115c)을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 레이아웃(100b)은 제1 및 제2 액티브 영역들(125a, 115c) 중 하나의 액티브 영역만을 포함하도록 재구성될 수 있다. 또한, 일부 실시예들에서, 레이아웃(100b)은 신규 게이트 전극(160) 및 제1 액티브 영역(125a) 중 하나만을 포함하도록 재구성될 수 있다. 또한, 일부 실시예들에서, 레이아웃(100b)은 신규 게이트 전극(160) 및 제2 액티브 영역(115c) 중 하나만을 포함하도록 재구성될 수 있다. 이와 같이, 설계자는 홀드 타임 위반의 정도에 따라 재구성된 레이아웃에 추가되는 패턴들의 개수를 조절할 수 있다.
도 16은 도 14의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 다른 예(200b)를 나타낸다.
도 16을 참조하면, 레이아웃(200b)은 홀드 타임 위반이 발생한 경우 도 7의 단계 S440에 따라 입력 핀들에 직렬 스택 트랜지스터를 추가함으로써 생성된 레이아웃일 수 있다. 본 실시예에 따른 레이아웃(200b)은 도 15의 개략적인 레이아웃(100b)을 기초로 실제로 구현된 레이아웃일 수 있다. 따라서, 도 15를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있으며, 중복된 설명은 생략하기로 한다.
레이아웃(200b)은 액티브 영역들(AR), 게이트 라인들(GL), 제1 및 제2 메탈 라인들(M1, M2), 제1 및 제2 컨택들(CON, CON'), 전원 전압 단자(VDD) 및 접지 전압 단자(VSS)를 포함할 수 있다. 제1 컨택(CON)은 게이트 라인들(GL) 상에 배치되고, 제1 메탈 라인(M1)은 제1 컨택(CON) 상에 배치될 수 있다. 이에 따라, 제1 메탈 라인(M1)에 인가되는 신호는 제1 컨택(CON)을 통해 게이트 라인들(GL)에 전달될 수 있다. 제2 컨택(CON')은 제1 메탈 라인(M1) 상에 배치되고, 제2 메탈 라인(M2)은 제2 컨택(CON') 상에 배치될 수 있다. 이에 따라, 제2 메탈 라인(M2)에 인가되는 신호는 제2 컨택(CON')을 통해 제1 메탈 라인(M1)에 전달될 수 있다.
액티브 영역들(AR)은 제1 한정층(DL1)에 배치된 제1 액티브 영역들(210a, 210d), 제2 한정층(DL2)에 배치된 제2 액티브 영역들(220a, 220c)을 포함할 수 있다. 게이트 라인들(GL)은 제1 내지 제4 게이트 라인들(231 내지 234)을 포함할 수 있다. 제1 게이트 라인(231)은 도 14의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀에 대응할 수 있으며, 구체적으로, 제2 PMOS 트랜지스터(MP2) 및 제1 NMOS 트랜지스터(MN1)의 게이트에 대응할 수 있다. 제2 게이트 라인(231)은 도 14의 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀에 대응할 수 있으며, 구체적으로, 제4 PMOS 트랜지스터(MP4) 및 제3 NMOS 트랜지스터(MN3)의 게이트에 대응할 수 있다.
제3 게이트 라인(233)은 도 14의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀에 대응할 수 있으며, 구체적으로, 직렬 스택 PMOS 트랜지스터(MPs)의 게이트에 대응할 수 있다. 이에 따라, 제1 및 제3 게이트 라인들(231, 233)을 통해 인가되는 데이터 입력 신호(D)가 딜레이될 수 있다. 제4 게이트 라인(234)은 도 14의 스캔 입력 신호(SI)가 스캔 입력 핀에 대응할 수 있으며, 구체적으로, 직렬 스택 NMOS 트랜지스터(MNs)의 게이트에 대응할 수 있다. 이에 따라, 제2 및 제4 게이트 라인들(232, 234)을 통해 인가되는 스캔 입력 신호(SI)가 딜레이될 수 있다.
도 17은 본 개시의 일 실시예에 따라, 셋업 타임 위반이 발생한 경우 도 6의 스캔 플립플롭에 포함된 멀티플렉서에 대해 재구성된 회로의 일 예(11b)를 나타낸다.
도 17을 참조하면, 멀티플렉서(11b)는 도 6의 멀티플렉서(11)에 비해 병렬 스택 PMOS 트랜지스터(MPp) 및 병렬 스택 NMOS 트랜지스터(MNp)를 더 포함할 수 있다. 도 6을 참조하여 상술된 멀티플렉서(11)에 대한 설명은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
병렬 스택 PMOS 트랜지스터(MPp)는 제2 PMOS 트랜지스터(MP2)와 병렬로 연결될 수 있다. 구체적으로, 병렬 스택 PMOS 트랜지스터(MPp)는 제1 PMOS 트랜지스터의 드레인 및 제2 PMOS 트랜지스터(MP2)의 소스에 연결된 소스, 데이터 입력 신호(D)가 인가되는 게이트, 및 제1 NMOS 트랜지스터(MN1)의 드레인 및 제2 PMOS 트랜지스터(MP2)의 드레인에 연결된 드레인을 포함한다. 병렬 스택 PMOS 트랜지스터(MPp)의 추가에 의해, 데이터 입력 신호(D)가 인가되는 PMOS 트랜지스터의 폭이 증가하여 데이터 입력 신호(D)의 전달 속도가 빨라질 수 있다. 이에 따라, 데이터 입력 신호(D)가 어드밴스되어 셋업 타임 마진이 개선될 수 있다.
병렬 스택 NMOS 트랜지스터(MNp)는 제3 NMOS 트랜지스터(MN3)와 병렬로 연결될 수 있다. 구체적으로, 병렬 스택 NMOS 트랜지스터(MNp)는 제4 PMOS 트랜지스터(MP4)의 드레인 및 제3 NMOS 트랜지스터(MN3)의 드레인에 연결된 드레인, 스캔 입력 신호(SI)가 인가되는 게이트, 및 제4 NMOS 트랜지스터(MN4)의 드레인 및 제3 NMOS 트랜지스터(MN3)의 소스에 연결된 소스를 포함한다. 병렬 스택 NMOS 트랜지스터(MNp)의 추가에 의해, 스캔 입력 신호(SI)가 인가되는 NMOS 트랜지스터의 폭이 증가하여 스캔 입력 신호(SI)의 전달 속도가 빨라질 수 있다. 이에 따라, 스캔 입력 신호(SI)가 어드밴스되어 셋업 타임 마진이 개선될 수 있다.
도 17의 멀티플렉서를 포함하는 스캔 플립플롭에 대해 재구성된 레이아웃은 도 15와 실질적으로 동일할 수 있다. 구체적으로, 본 실시예에 따른 레이아웃은, 도 15의 레이아웃(100b)과 마찬가지로, 제1 액티브 영역들(110a, 115), 제2 액티브 영역들(120a, 125), 제1 및 제2 신규 액티브 영역들(125a, 115c), 제1, 제2, 제3, 제6 게이트 라인들(131, 132, 133, 136), 제1 내지 제4 부분 게이트 라인들(134a, 134b, 135a, 135b), 신규 게이트 라인(160), 제1 컨택(CON) 및 제1 메탈 라인(M1)을 포함할 수 있다.
도 15의 레이아웃(100b)은 오리지널 레이아웃(100)에 직렬 스택 PMOS 트랜지스터 및 직렬 스택 NMOS 트랜지스터가 추가되고, 본 실시예에 따른 레이아웃은 오리지널 레이아웃(100)에 병렬 스택 PMOS 트랜지스터 및 병렬 스택 NMOS 트랜지스터가 추가된다. 이때, 직렬 스택 PMOS 트랜지스터와 병렬 스택 PMOS 트랜지스터의 게이트들에는 동일한 데이터 입력 신호(D)가 인가되고, 소스 및 드레인의 연결만 다르다. 또한, 직렬 스택 NMOS 트랜지스터와 병렬 스택 NMOS 트랜지스터의 게이트들에는 동일한 스캔 입력 신호(SI)가 인가되고, 소스 및 드레인의 연결만 다르다. 따라서, 도 15의 레이아웃(100b)과 본 실시예에 따른 레이아웃은 제1 메탈 라인(M1) 상의 제2 컨택, 그리고 제2 컨택 상의 제2 메탈 라인의 배치만 다를 수 있다.
도 18은 도 17의 회로에 따라, 도 11의 스캔 플립플롭에 대해 재구성된 레이아웃의 일 예(200c)를 나타낸다.
도 18을 참조하면, 레이아웃(200c)은 셋업 타임 위반이 발생한 경우 도 7의 단계 S460에 따라 입력 핀들에 병렬 스택 트랜지스터를 추가함으로써 생성된 레이아웃일 수 있다. 본 실시예에 따른 레이아웃(200c)은 도 15의 개략적인 레이아웃(100b)을 기초로 실제로 구현된 레이아웃일 수 있다. 따라서, 도 11 및 도 15를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있으며, 중복된 설명은 생략하기로 한다.
레이아웃(200c)은 액티브 영역들(AR), 게이트 라인들(GL), 제1 및 제2 메탈 라인들(M1, M2), 제1 및 제2 컨택들(CON, CON'), 전원 전압 단자(VDD) 및 접지 전압 단자(VSS)를 포함할 수 있다. 제1 컨택(CON)은 게이트 라인들(GL) 상에 배치되고, 제1 메탈 라인(M1)은 제1 컨택(CON) 상에 배치될 수 있다. 이에 따라, 제1 메탈 라인(M1)에 인가되는 신호는 제1 컨택(CON)을 통해 게이트 라인들(GL)에 전달될 수 있다. 제2 컨택(CON')은 제1 메탈 라인(M1) 상에 배치되고, 제2 메탈 라인(M2)은 제2 컨택(CON') 상에 배치될 수 있다. 이에 따라, 제2 메탈 라인(M2)에 인가되는 신호는 제2 컨택(CON')을 통해 제1 메탈 라인(M1)에 전달될 수 있다.
액티브 영역들(AR)은 제1 한정층(DL1)에 배치된 제1 액티브 영역들(210a, 210d), 제2 한정층(DL2)에 배치된 제2 액티브 영역들(220a, 220c)을 포함할 수 있다. 게이트 라인들(GL)은 제1 내지 제4 게이트 라인들(231 내지 234)을 포함할 수 있다. 제1 게이트 라인(231)은 도 17의 데이터 입력 신호(D)가 인가되는 게이트 전극에 대응할 수 있으며, 구체적으로, 제2 PMOS 트랜지스터(MP2) 및 제1 NMOS 트랜지스터(MN1)의 게이트에 대응할 수 있다. 제2 게이트 라인(231)은 도 17의 스캔 입력 신호(SI)가 인가되는 게이트 전극에 대응할 수 있으며, 구체적으로, 제4 PMOS 트랜지스터(MP4) 및 제3 NMOS 트랜지스터(MN3)의 게이트에 대응할 수 있다.
제3 게이트 라인(233)은 도 17의 데이터 입력 신호(D)가 인가되는 데이터 입력 핀에 대응할 수 있으며, 구체적으로, 병렬 스택 PMOS 트랜지스터(MPp)의 게이트에 대응할 수 있다. 이에 따라, 제1 및 제3 게이트 라인들(231, 233)을 통해 인가되는 데이터 입력 신호(D)의 전송 속도가 빨리질 수 있다. 제4 게이트 라인(234)은 도 17의 스캔 입력 신호(SI)가 인가되는 스캔 입력 핀에 대응할 수 있으며, 구체적으로, 병렬 스택 NMOS 트랜지스터(MNp)의 게이트에 대응할 수 있다. 이에 따라, 제2 및 제4 게이트 라인들(233, 234)을 통해 인가되는 스캔 입력 신호(SI)의 전송 속도가 빨리질 수 있다.
도 19는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법의 다른 예를 나타내는 흐름도이다.
도 19를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 시뮬레이션 결과에 따라 레이아웃을 재구성하는 방법으로서, 도 3의 방법의 일 구현예에 대응할 수 있다. 단계 S510에서, 전력 분석을 수행한다. 단계 S510은 도 3의 단계 S310의 일 예일 수 있다. 단계 S520에서, 설계 제약 위반의 발생 여부를 판단하고, 설계 제약 위반이 발생한 경우 단계 S530을 수행하고, 설계 제약 위반이 발생하지 않은 경우 본 방법은 종료된다.
단계 S530에서, 셀에 디커플링 커패시터를 생성한다. 본 실시예에서, 셀은 적어도 하나의 더미 게이트 라인을 포함하는 표준 셀일 수 있다. 예를 들어, 표준 셀은 스캔 플립플롭일 수 있으나, 본 발명은 이에 한정되지 않고, 더미 게이트 라인을 포함하는 임의의 표준 셀들에 모두 적용될 수 있다. 구체적으로, 더미 게이트 라인의 하부에 신규 액티브 영역을 추가하고, 신규 액티브 영역에서 더미 데이트 라인의 양옆에 컨택들을 추가하며, 추가된 컨택들에 동일한 전압을 인가함으로써 디커플링 커패시터를 생성할 수 있다. 이때, 동일한 전압은 전원 전압 또는 접지 전압일 수 있다.
한편, 일부 실시예들에 따르면, 단계 S510 및 단계 S520을 수행하지 않고, 단계 S530만 수행할 수도 있다. 이 경우, 전력 분석을 별도로 수행하지 않고, 표준 셀에 포함된 더미 게이트 라인을 이용하여 디커플링 커패시터를 생성할 수 있다. 이와 같이, 본 개시의 실시예들에 따르면, 표준 셀 내에 디커플링 커패시터를 생성함으로써, 집적 회로에서 전압 변동에 따른 노이즈를 감소시킬 수 있다. 또한, 표준 셀 내의 더미 게이트 라인을 이용하여 디커플링 커패시터를 생성함으로써, 디커플링 커패시터 셀을 추가적으로 구비하지 않아도 되므로, 집적 회로의 면적 증가를 방지할 수 있다.
도 20은 본 개시의 일 실시예에 따른 표준 셀의 레이아웃(300)을 나타낸다.
도 20을 참조하면, 레이아웃(300)은 표준 셀을 정의하는 입력 데이터에 따라 생성된 오리지널 레이아웃일 수 있다. 도 19의 단계 S510에서 전력 분석을 수행한 결과, 설계 제약 위반이 발생하지 않은 경우 레이아웃을 재구성하는 단계를 수행하지 않으며, 레이아웃(300)에 따라 집적 회로를 제조할 수 있다.
레이아웃(300)은 액티브 영역들(AR), 게이트 라인들(GL), 컨택(CON), 및 제1 메탈 라인(M1)을 포함할 수 있다. 또한, 레이아웃(300)은 제2 절단 영역(CT2)을 더 포함할 수 있다. 제2 절단 영역(CT2)은 액티브 영역(AR)의 일부를 절단하기 위한 표시 레이어이다.
액티브 영역들(AR)은 제1 방향(예를 들어, X 방향)으로 연장된 제1 액티브 영역들(310, 315a, 315b) 및 제2 액티브 영역들(320, 325a, 325b)을 포함할 수 있다. 제1 액티브 영역들(310, 315a, 315b)은 제1 한정층(DL1)에 배치되고, 제2 액티브 영역들(320, 325a, 325b)는 제2 한정층(DL2)에 배치될 수 있다. 본 실시예에서, 제1 한정층(DL1)은 N 웰 영역으로서, PMOS 트랜지스터들이 형성되는 PMOS 한정층이고, 제2 한정층(DL2)은 P 웰 영역으로서, NMOS 트랜지스터들이 형성되는 NMOS 한정층일 수 있다. 본 실시예에서, 제1 액티브 영역들(310, 315a, 315b)은 제1 도전형의 불순물을 도핑함으로써 생성된 확산층이고, 제2 액티브 영역들(320, 325a, 325b)는 제2 도전형의 불순물을 도핑함으로써 생성된 확산층일 수 있다. 이때, 제1 도전형과 제2 도전형은 서로 다르다.
게이트 라인들(GL)은 제1 방향에 실질적으로 수직인 제2 방향(예를 들어, Y 방향)으로 연장되고, 제1 방향으로 서로 평행하게 배치될 수 있다. 이때, 게이트 라인들(GL)은 반도체 장치의 게이트 전극들에 대응할 수 있다. 게이트 전극들은 전기 전도성을 갖는 임의의 물질로 구성될 수 있으며, 예를 들어, 폴리 실리콘, 금속, 금속 함금 등을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 게이트 라인들(GL)은 임의의 전도성을 갖는 트레이스 등에 대응할 수 있다.
본 실시예에서, 제1 한정층(DL1)에서 제1 방향으로 연장된 하나의 액티브 영역에 제2 절단 영역(CT2)을 배열함으로써 제1 액티브 영역들(315a, 315b)이 생성될 수 있고, 제2 한정층(DL2)에서 제1 방향으로 연장된 하나의 액티브 영역에 제2 절연 영역(CT2)을 배열함으로써 제2 액티브 영역들(325a, 325b)이 생성될 수 있다.
게이트 라인들(GL)은 제1 및 제2 게이트 라인들(330, 340)을 포함할 수 있다. 제1 게이트 라인(330)은 제1 및 제2 액티브 영역들(315a, 325a)에 걸쳐서 배치되는 리얼 게이트 라인일 수 있다. 제2 게이트 라인(340)은 제1 액티브 영역들(315a, 315b) 사이의 더미 영역, 그리고, 제2 액티브 영역들(325a, 325b) 사이의 더미 영역에 걸쳐서 배치되는 더미 게이트 라인일 수 있다.
본 실시예에 따르면, 레이아웃의 재구성 단계는 제2 게이트 라인(340)과 같은 더미 게이트 라인의 양쪽에 전원 전압 또는 접지 전압을 인가하도록 더미 게이트 라인의 하부에 신규 액티브 영역을 추가하여 레이아웃(300)을 재구성할 수 있다. 이와 같이, 본 실시예에 따르면, 레이아웃(300)에 포함된 일부 영역들, 즉, 제2 게이트 라인(340)과 같은 더미 게이트 라인의 주변 영역에 대해 재구성을 수행하므로, 레이아웃(300)의 재구성에 의해 레이아웃(300)의 사이즈가 변경되지 않는다.
도 21은 도 20의 표준 셀에 대해 재구성된 레이아웃(300a)을 나타낸다.
도 21을 참조하면, 레이아웃(300a)은 전력 분석 결과 설계 제약 위반이 발생한 경우 도 19의 단계 S530에 따라 셀에 디커플링 커패시터를 생성함으로써 생성된 레이아웃일 수 있다. 도 20을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 이하에서는 도 20과 도 21을 참조하여, 도 20의 레이아웃(300)과 본 실시예에 따른 레이아웃(300a)의 차이점을 중심으로 설명하기로 한다.
본 실시예에 따르면, 도 20의 제2 게이트 라인(340)의 중심 영역에 제1 절단 영역(350)을 배열할 수 있다. 이에 따라, 도 20의 제2 게이트 라인(340)은 제1 및 제2 부분 게이트 라인들(340a, 340b)로 분리될 수 있다. 제1 부분 게이트 라인(340a) 상의 컨택(371)은 접지 전압 단자(VSS)에 연결되고, 제2 부분 게이트 라인(340b) 상의 컨택(372)은 전원 전압 단자(VDD)에 연결될 수 있다.
제1 부분 게이트 라인(340a)의 하부에 제1 신규 액티브 영역(360a)을 추가하고, 제1 신규 액티브 영역(360a)에서 제1 부분 게이트 라인(340a)의 양쪽으로 컨택들(371, 372)을 추가할 수 있다. 이때, 컨택들(371, 372)은 전원 전압 단자(VDD)에 연결될 수 있다. 이에 따라, 제1 부분 게이트 라인(340a) 및 제1 신규 액티브 영역(360a)은 제1 디커플링 커패시터(DECAP1)를 구성할 수 있다.
제2 부분 게이트 라인(340b)의 하부에 제2 신규 액티브 영역(360b)를 추가하고, 제2 신규 액티브 영역(360b)에서 제2 부분 게이트 라인(340b)의 양쪽으로 컨택들(374, 375)을 추가할 수 있다. 이때, 컨택들(374, 375)은 접지 전압 단자(VSS)에 연결될 수 있다. 이에 따라, 제2 부분 게이트 라인(340b) 및 제2 신규 액티브 영역(360b)은 제2 디커플링 커패시터(DECAP2)를 구성할 수 있다.
그러나, 도 21의 실시예에 한정되지 않으며, 일부 실시예들에서, 서로 인접하게 배치된 복수의 더미 게이트 라인들을 이용하여 디커플링 커패시터를 생성할 수도 있다. 예를 들어, 표준 셀이 서로 인접하게 배치된 두 개의 더미 게이트 라인들, 예를 들어, 제1 및 제2 더미 게이트 라인들을 포함하는 경우, 제1 및 제2 더미 게이트 라인들의 하부에 신규 액티브 영역을 추가하고, 신규 액티브 영역에서 제1 더미 게이트 라인의 좌측 및 제2 더미 게이트 라인의 우측에 컨택들을 추가할 수 있다. 이때, 컨택들은 전원 전압 단자 또는 접지 전압 단자에 연결될 수 있다.
도 22는 본 개시의 일 실시예에 따른 스캔 플립플롭을 포함하는 데이터 처리 장치(1000)를 나타내는 블록도이다.
도 22를 참조하면, 데이터 처리 장치(1000)는 스캔 플립플롭 그룹(1100) 및 로직 회로(1200)를 포함할 수 있고, 데이터 처리 장치(1000)는 집적 회로(IC), 시스템 온 칩(SoC), CPU(central processing unit) 또는 프로세서(processor)로 구현될 수 있다.
스캔 플립플롭 그룹(1100)은 복수의 스캔 플립플롭들(10)을 포함할 수 있고, 각 스캔 플립플롭은 도 11 내지 도 18, 도 20 및 도 21에 예시된 스캔 플립플롭들 또는 표준 셀들 중 하나로 구현될 수 있다. 각 스캔 플립플롭(10)은 클럭 신호(CLK)에 따라 로직 회로(1200)와 데이터 통신을 수행할 수 있다. 로직 회로(1200)는 동기 회로 또는 비동기 회로로 구현될 수 있다. 로직 회로(1200)는 입력 데이터(DIN) 또는 스캔 데이터(SIN)를 처리하고, 처리 결과에 대응되는 출력 데이터(DOUT)를 출력할 수 있다.
도 23은 본 개시의 일 실시예에 따른 스캔 플립플롭을 포함하는 스캔 테스트 회로(2000)를 나타내는 블록도이다.
도 23을 참조하면, 스캔 테스트 회로(2000)는 순차 회로부(2100), 조합 회로부(2200) 및 인버터들(2310 내지 2340)을 포함할 수 있다. 순차 회로부(2100)는 제1 및 제2 스캔 플립플롭들(2110, 2120)을 포함하고, 조합 회로부(2200)는 제1 내지 제3 조합 로직 회로들(2210, 2220, 2230)을 포함한다.
제1 조합 로직 회로(2210)는 복수의 입력 데이터(DIN)를 연산하여 제1 스캔 플립플롭(2210)에 데이터 입력 신호(D)로 제공할 수 있다. 제1 스캔 플립플롭(2210)은 클럭 신호(CLK)에 동기되어 정상 동작 모드(예를 들어, 스캔 인에이블 신호(SE)가 논리 로우 레벨)에서는 데이터 입력 신호(D)를 출력 데이터(Q)로 제공하고, 스캔 테스트 모드(예를 들어, 스캔 인에이블 신호(SE)가 논리 하이 레벨)에서는 스캔 입력 신호(SI)를 출력 데이터(Q)로 제공할 수 있다.
제2 조합 로직 회로(2220)는 제1 스캔 플립플롭(2110)의 출력 데이터(Q)를 연산하여 제2 스캔 플립플롭(2120)의 데이터 입력 신호(D)로 제공할 수 있다. 또한, 제2 스캔 플립플롭(2120)은 제1 스캔 플립플롭(2110)의 출력 데이터(Q)을 스캔 입력 신호(SI)로 수신할 수 있다. 또한, 제2 스캔 플립플롭(2220)도 스캔 인에이블 신호(SE)와 클럭 신호(CLK)에 기초하여, 정상 동작 모드 또는 스캔 테스트 동작 모드에 따라 동작할 수 있다.
제3 조합 로직 회로(830)는 제2 스캔 플립플롭(2120)의 출력 데이터(Q)를 연산하여 복수의 출력 데이터(DOUT)로 제공할 수 있다. 또한, 스캔 테스트 모드에서는 제2 스캔 플립플롭(2120)의 출력 데이터(Q)를 인버터들(2330, 2340)을 거쳐 스캔 출력(SO)으로 제공할 수 있다.
도 24는 본 개시의 일 실시예에 따른 스캔 플립플롭을 포함하는 컴퓨팅 시스템(3000)을 나타내는 블록도이다.
도 24를 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), 메모리 장치(3200), 스토리지 장치(3300), 파워 서플라이(3400) 및 입출력 장치(3500)를 포함할 수 있다. 한편, 도 24에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
이와 같이, 컴퓨팅 시스템(3000)에 포함된 프로세서(3100), 메모리 장치(3200), 스토리지 장치(3300), 파워 서플라이(3400) 또는 입출력 장치(3500)는, 본 발명의 기술적 사상에 의한 실시예들에 따른 스캔 플립플롭을 포함할 수 있다. 일 실시예에서, 프로세서(3100), 메모리 장치(3200), 스토리지 장치(3300), 파워 서플라이(3400) 또는 입출력 장치(3500)에 포함된 복수의 반도체 소자들 중 적어도 하나의 반도체 소자는, 도 1 내지 도 3, 도 7 또는 도 19에 예시된 방법에 따라 설계된 집적 회로를 기초로 제조될 수 있다.
프로세서(3100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(3100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3600)를 통하여 메모리 장치(3200), 스토리지 장치(3300) 및 입출력 장치(3500)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(3200)는 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 스토리지 장치(2300)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(3500)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3400)는 컴퓨팅 시스템(3000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 25는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법에 따른 프로그램을 저장하는 저장 매체를 나타내는 블록도이다.
도 25를 참조하면, 저장 매체(4000)는 컴퓨터로 읽을 수 있는 저장 매체로서, 컴퓨터에 명령어들 및/또는 데이터를 제공하는데 사용되는 동안 컴퓨터에 의해 읽혀질 수 있는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(4000)는 디스크, 테이프, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 등과 같은 자기 또는 광학 매체, RAM, ROM, 플래시 메모리 등과 같은 휘발성 또는 비휘발성 메모리, USB 인터페이스를 통해서 엑세스 가능한 비휘발성 메모리, 그리고 MEMS(microelectromechanical systems) 등을 포함할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다.
도 25에 도시된 바와 같이, 컴퓨터로 읽을 수 있는 저장 매체(4000)는 배치 및 배선 프로그램(4100), 라이브러리(4200), 분석 프로그램(4300), 데이터 구조(4400)를 포함할 수 있다. 배치 및 배선 프로그램(4100)은 본 개시의 실시예들에 따라 생성된 레이아웃 또는 재구성된 레이아웃에 따라 집적 회로를 설계하는 방법을 수행하기 위한 복수의 명령어들을 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(4000)는 선행하는 도면들 중 하나 이상에서 도시된 표준 셀을 포함하는 표준 셀 라이브러리를 이용하여 집적 회로를 설계하기 위한 임의의 명령들을 포함하는 배치 및 배선 프로그램(4100)을 저장할 수 있다. 라이브러리(4200)는 집적 회로를 구성하는 단위인 표준 셀에 대한 정보를 포함할 수 있다.
분석 프로그램(4300)은 집적 회로를 정의하는 입력 데이터에 기초하여 집적 회로를 분석하는 방법을 수행하는 복수의 명령어들을 포함할 수 있다. 예를 들어, 분석 프로그램(4300)은 STA와 같은 타이밍 분석을 수행하는 복수의 명령어들, 또는 전력 분석을 수행하는 복수의 명령어들을 포함할 수 있다. 데이터 구조(4400)는 라이브러리(4200)에 포함된 표준 셀 라이브러리를 사용하거나, 라이브러리(4200)에 포함된 일반 표준 셀 라이브러리로부터 특정 정보를 추출하거나, 또는 분석 프로그램(4300)에 의해서 집적 회로의 특성을 분석하는 과정에서 생성된 데이터를 관리하기 위한 저장 공간 등을 포함할 수 있다.
상술한 본 발명의 실시예들에 따른 스캔 플립플롭, 스캔 플립플롭을 포함하는 집적 회로, 표준 셀 및 표준 셀을 포함하는 집적 회로는 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 집적 회로의 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
10: 스캔 플립플롭, 11: 멀티플렉서, 11a, 11b: 재구성된 멀티플렉서
100, 300: 레이아웃
100a, 100b, 200a, 200b, 200c, 300a: 재구성된 레이아웃
GL: 게이트 라인, AR: 액티브 영역, CON: 컨택 M1: 제1 메탈 라인
M2: 제2 메탈 라인, CT1: 제1 절단 영역, CT2: 제2 절단 영역

Claims (10)

  1. 집적 회로를 설계하기 위한 컴퓨터 구현 방법으로서,
    상기 집적 회로를 정의하는 입력 데이터를 수신하는 단계;
    상기 입력 데이터를 이용하여, 상기 집적 회로에 대한 설계 제약 위반의 발생 여부를 판단하기 위한 시뮬레이션을 수행하는 단계;
    상기 설계 제약 위반이 발생하지 않은 경우 상기 입력 데이터에 따라 레이아웃을 생성하는 단계; 및
    상기 설계 제약 위반이 발생한 경우 상기 레이아웃의 사이즈 증가없이, 액티브 영역 또는 게이트 라인을 절단하는 절단 영역, 신규 액티브 영역 또는 신규 게이트 라인을 상기 레이아웃에 추가함으로써 상기 레이아웃을 재구성하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 설계 방법.
  2. 제1항에 있어서,
    상기 시뮬레이션을 수행하는 단계는, 상기 입력 데이터를 이용하여 타이밍 분석을 수행하고, 홀드 타임 위반 및 셋업 타임 위반 중 적어도 하나의 발생 여부를 판단하는 것을 특징으로 하는 집적 회로 설계 방법.
  3. 제2항에 있어서,
    상기 집적 회로는 스캔 플립플롭이고,
    상기 레이아웃은,
    제1 방향으로 연장된 제1 및 제2 액티브 영역들로서, 상기 제1 액티브 영역은 제1 도전형을 갖고, 상기 제2 액티브 영역은 상기 제1 도전형과 다른 제2 도전형을 갖는, 상기 제1 및 제2 액티브 영역들, 및
    상기 제1 방향에 실질적으로 수직인 제2 방향으로 연장되는 제1, 제2 및 제3 게이트 라인들로서, 상기 제1 게이트 라인은 데이터 입력 핀에 대응하고 상기 제1 및 제2 액티브 영역들을 가로질러 배치되고, 상기 제2 게이트 라인은 스캔 입력 핀에 대응하고 상기 제1 및 제2 액티브 영역들을 가로질러 배치되며, 상기 제3 게이트 라인은 상기 제2 액티브 영역을 가로질러 배치된, 상기 제1 내지 제3 게이트 라인들을 포함하는 것을 특징으로 하는 집적 회로 설계 방법.
  4. 제3항에 있어서,
    상기 레이아웃을 재구성하는 단계는, 상기 홀드 타임 위반이 발생한 경우, 상기 데이터 입력 핀 또는 상기 스캔 입력 핀에 더미 게이트 로드(dummy gate load)를 추가하는 것을 특징으로 하는 집적 회로 설계 방법.
  5. 제4항에 있어서,
    상기 레이아웃을 재구성하는 단계는,
    상기 제1 액티브 영역에서 상기 제1 게이트 라인에 인접한 일부 영역을 절단하기 위한 제1 절단 영역을 배열하는 단계;
    상기 제1 절단 영역 상에 상기 더미 게이트 로드에 대응하는 제1 신규 게이트 라인을 추가하는 단계; 및
    상기 제1 게이트 라인 및 상기 제1 신규 게이트 라인을 서로 연결하는 단계를 포함하는 것을 특징으로 하는 집적 회로 설계 방법.
  6. 제3항에 있어서,
    상기 레이아웃을 재구성하는 단계는, 상기 홀드 타임 위반이 발생한 경우, 상기 데이터 입력 핀에 제1 직렬 스택 트랜지스터를 추가 또는 상기 스캔 입력 핀에 제2 직렬 스택 트랜지스터를 추가하는 것을 특징으로 하는 집적 회로 설계 방법.
  7. 제6항에 있어서,
    상기 레이아웃을 재구성하는 단계는,
    상기 제1 액티브 영역 상에 상기 제1 게이트 라인에 인접하고, 상기 제1 직렬 스택 트랜지스터를 구성하는 제1 신규 게이트 라인을 추가하는 단계; 및
    상기 제1 게이트 라인 및 상기 제1 신규 게이트 라인을 서로 연결하는 단계를 포함하는 것을 특징으로 하는 집적 회로 설계 방법.
  8. 제3항에 있어서,
    상기 레이아웃을 재구성하는 단계는, 상기 셋업 타임 위반이 발생한 경우, 상기 데이터 입력 핀에 제1 병렬 스택 트랜지스터를 추가 또는 상기 스캔 입력 핀에 제2 병렬 스택 트랜지스터를 추가하는 것을 특징으로 하는 집적 회로 설계 방법.
  9. 제1항에 있어서,
    상기 레이아웃은 더미 게이트 라인을 포함하고,
    상기 레이아웃을 재구성하는 단계는, 상기 더미 게이트 라인을 이용하여 디커플링 커패시터를 생성하는 것을 특징으로 하는 집적 회로 설계 방법.
  10. 표준 셀을 포함하는 집적 회로로서, 상기 표준 셀은,
    제1 방향으로 연장되는 제1 및 제2 액티브 영역들;
    상기 제1 방향에 실질적으로 수직인 제2 방향으로 연장되는 복수의 게이트 라인들;
    상기 복수의 게이트 라인들과 평행한 더미 게이트 라인;
    상기 더미 게이트 라인의 하부에 배치된 제3 액티브 영역; 및
    상기 제3 액티브 영역 상에서 상기 더미 게이트 라인의 양측에 각각 배치되고, 동일 전압이 인가되는 소스/드레인 컨택들을 포함하고,
    상기 더미 게이트 라인 및 상기 제3 액티브 영역은 디커플링 커패시터를 구성하는 것을 특징으로 하는 집적 회로.
KR1020160051107A 2016-04-26 2016-04-26 집적 회로 및 집적 회로의 설계 방법 KR102434991B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160051107A KR102434991B1 (ko) 2016-04-26 2016-04-26 집적 회로 및 집적 회로의 설계 방법
US15/376,261 US9928337B2 (en) 2016-04-26 2016-12-12 Integrated circuit and design method for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160051107A KR102434991B1 (ko) 2016-04-26 2016-04-26 집적 회로 및 집적 회로의 설계 방법

Publications (2)

Publication Number Publication Date
KR20170122039A KR20170122039A (ko) 2017-11-03
KR102434991B1 true KR102434991B1 (ko) 2022-08-22

Family

ID=60090343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160051107A KR102434991B1 (ko) 2016-04-26 2016-04-26 집적 회로 및 집적 회로의 설계 방법

Country Status (2)

Country Link
US (1) US9928337B2 (ko)
KR (1) KR102434991B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6396834B2 (ja) * 2015-03-23 2018-09-26 ルネサスエレクトロニクス株式会社 半導体装置
KR102362016B1 (ko) * 2017-09-19 2022-02-10 삼성전자주식회사 마스터 슬레이브 플립 플롭
KR102518811B1 (ko) * 2018-06-25 2023-04-06 삼성전자주식회사 멀티-하이트 스탠다드 셀을 포함하는 집적 회로 및 그 설계 방법
US10977418B2 (en) 2018-09-28 2021-04-13 Taiwan Semiconductor Manufacturing Company Ltd. Semiconductor device with cell region, method of generating layout diagram and system for same
US11057026B2 (en) * 2019-08-07 2021-07-06 Samsung Electronics Co., Ltd. Semi-dynamic flip-flop implemented as multi-height standard cell and method of designing integrated circuit including the same
KR20210029866A (ko) 2019-09-06 2021-03-17 삼성전자주식회사 반도체 소자
US11296681B2 (en) 2019-12-23 2022-04-05 Intel Corporation High performance fast Mux-D scan flip-flop
US11791819B2 (en) 2019-12-26 2023-10-17 Intel Corporation Low power flip-flop with reduced parasitic capacitance
CN118159973A (zh) * 2021-08-17 2024-06-07 西门子工业软件有限公司 用于产品设计的元数据预测
US20230089606A1 (en) * 2021-09-21 2023-03-23 Nvidia Corporation Reducing crosstalk pessimism using gpu-accelerated gate simulation and machine learning
KR102613884B1 (ko) * 2023-10-13 2023-12-14 위더맥스(주) Dvd 개선을 위한 q-게이팅 적용 장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895540B2 (en) 2002-07-18 2005-05-17 Faraday Technology Corp. Mux scan cell with delay circuit for reducing hold-time violations
JP4220932B2 (ja) * 2004-05-11 2009-02-04 パナソニック株式会社 半導体集積回路の設計支援方法
JP4726462B2 (ja) * 2004-10-29 2011-07-20 ルネサスエレクトロニクス株式会社 半導体集積装置、その設計方法、設計装置、プログラム、製造方法、および製造装置
US7624369B2 (en) * 2006-10-31 2009-11-24 International Business Machines Corporation Closed-loop design for manufacturability process
US7649395B2 (en) 2007-05-15 2010-01-19 Ati Technologies Ulc Scan flip-flop with internal latency for scan input
JP5236300B2 (ja) 2008-02-06 2013-07-17 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US8316340B2 (en) 2009-07-13 2012-11-20 Taiwan Semiconductor Manufacturing Company, Ltd. Fixing full-chip violations using flip-flops
JP5743063B2 (ja) 2011-02-09 2015-07-01 ラピスセミコンダクタ株式会社 半導体集積回路、半導体チップ、及び半導体集積回路の設計手法
KR101937851B1 (ko) * 2012-06-27 2019-04-10 삼성전자 주식회사 반도체 집적 회로, 그 설계 방법 및 제조방법
US9793881B2 (en) 2013-08-05 2017-10-17 Samsung Electronics Co., Ltd. Flip-flop with zero-delay bypass mux
TWI543535B (zh) 2013-10-21 2016-07-21 創意電子股份有限公司 掃描正反器及相關方法
US9122823B2 (en) 2013-12-20 2015-09-01 International Business Machines Corporation Stacked multiple-input delay gates

Also Published As

Publication number Publication date
US20170308638A1 (en) 2017-10-26
KR20170122039A (ko) 2017-11-03
US9928337B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
KR102434991B1 (ko) 집적 회로 및 집적 회로의 설계 방법
US9905561B2 (en) Integrated circuit and semiconductor device
KR102308781B1 (ko) 집적 회로 및 반도체 장치
KR102514044B1 (ko) 집적 회로 및 집적 회로의 설계 방법
US10192860B2 (en) Engineering change order (ECO) cell, layout thereof and integrated circuit including the ECO cell
Nithin et al. Dynamic voltage (IR) drop analysis and design closure: Issues and challenges
Howard et al. The yield enhancement of field-programmable gate arrays
Hill et al. A split-foundry asynchronous FPGA
US11030383B2 (en) Integrated device and method of forming the same
WO2014105804A1 (en) Automatic clock tree routing rule generation
KR20180035526A (ko) 반도체 장치의 설계 방법
KR20170133750A (ko) 집적 회로의 설계를 위한 컴퓨터 구현 방법
US9436792B2 (en) Method of designing layout of integrated circuit and method of manufacturing integrated circuit
CN115208358A (zh) 触发器及包括其的集成电路的设计方法
KR20180028252A (ko) 집적 회로 설계 시스템 및 집적 회로의 제조 방법
KR102717096B1 (ko) 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법
KR101697343B1 (ko) 집적 회로의 레이아웃 설계 방법 및 상기 집적 회로의 제조 방법
CN116710923A (zh) 用于单元设计的混合扩散中断
US20220171912A1 (en) Poly-bit cells
Posser et al. Electromigration Inside Logic Cells
Isgenc Enabling design of low-volume high-performance ICs
JP7051151B2 (ja) 数値情報生成装置、数値情報生成方法及びプログラム
US20230342533A1 (en) Method for intra-cell-repurposing dummy transistors and semiconductor device having repurposed formerly dummy transistors
US20230306180A1 (en) Static timing analysis of multi-die three-dimensional integrated circuits
JP2010073728A (ja) 半導体集積回路レイアウト設計方法及び半導体集積回路レイアウト設計装置

Legal Events

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