KR102494048B1 - 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템 - Google Patents

반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템 Download PDF

Info

Publication number
KR102494048B1
KR102494048B1 KR1020160003331A KR20160003331A KR102494048B1 KR 102494048 B1 KR102494048 B1 KR 102494048B1 KR 1020160003331 A KR1020160003331 A KR 1020160003331A KR 20160003331 A KR20160003331 A KR 20160003331A KR 102494048 B1 KR102494048 B1 KR 102494048B1
Authority
KR
South Korea
Prior art keywords
pins
routing
pin
tool
density
Prior art date
Application number
KR1020160003331A
Other languages
English (en)
Other versions
KR20170084411A (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 KR1020160003331A priority Critical patent/KR102494048B1/ko
Priority to TW105138326A priority patent/TW201734866A/zh
Priority to US15/400,333 priority patent/US10248752B2/en
Publication of KR20170084411A publication Critical patent/KR20170084411A/ko
Priority to US16/284,318 priority patent/US10509884B2/en
Application granted granted Critical
Publication of KR102494048B1 publication Critical patent/KR102494048B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 발명의 실시 예에 따른 반도체 장치의 핀(Pin)간 라우팅을 설계하는 방법은, 상기 반도체 장치의 라우팅할 후보 핀들에 대한 정보를 입력받는 단계, 상기 후보 핀들 중에서 밀도, 형태, 그리고 사이즈 조건을 고려하여 라우팅 가능한 핀들을 선택하는 전처리 단계, 상기 선택된 핀들 간의 연결 정보를 넷리스트로 생성하는 단계, 그리고 상기 넷리스트를 컴퓨터 시스템에서 구동되는 라우팅 툴에서 실행하기 위한 인터페이스 스크립트를 생성하는 단계를 포함한다.

Description

반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템{METHOD FOR DESIGNING ROUTING BETWEEN PINS OF SEMICONDUCTOR DEVICE AND DESIGN SYSTEM}
본 발명은 반도체 장치에 관한 것으로, 좀 더 상세하게는 반도체 장치의 핀들 간의 라우팅을 자동으로 생성할 수 있는 방법에 관한 것이다.
최근, 스마트폰, 테이블릿 PC, 디지털 카메라, MP3 플레이어, PDA 등과 같은 모바일 기기의 이용이 폭발적으로 증가하고 있다. 이러한 모바일 기기에서도 멀티미디어의 구동 및 각종 데이터의 처리량이 증가하면서, 고속 프로세서의 채용이 확대되고 있다. 모바일 기기에는 다양한 응용 프로그램(Application program)들이 구동된다. 다양한 응용 프로그램들을 구동하기 위하여, 모바일 기기에는 워킹 메모리(예를 들면, DRAM), 불휘발성 메모리, 그리고 응용 프로세서(Application Processor: 이하, AP)와 같은 반도체 장치들이 사용된다.
반도체 장치를 생산하기 위한 새로운 공정을 적용하는 경우, 수율을 높이기 위해서 반도체 장치 내의 트랜지스터와 같은 소자들을 미리 모니터링하는 방법이 사용되고 있다. 이러한 소자들의 모니터링을 위해 테스트용 반도체 장치가 형성되고, 프로빙을 통해서 반도체 장치의 특성이 측정될 수 있다. 예를 들면, 하나의 트랜지스터의 직류 특성을 측정하기 위해서 3개 이상의 프로빙을 위한 패드가 형성해야 한다. 그리고 각각의 패드들과 트랜지스터의 단자들간 배선이 형성되어야 한다. 일반적인 양산 칩에서의 배선 설계를 위해서는 셀이나 기능 블록의 라이브러리가 생성되고, 라우팅 툴(Routing Tool)에 의해서 라이브러리를 기반으로 자동으로 배선이 설계될 수 있다. 하지만, 테스트를 위해 형성되는 반도체 장치와 같이 셀 라이브러리가 생성되기 이전에는 핀들의 위치만 제공되는 단계에서는 일반적인 라이브러리 기반의 라우팅 방식은 사용될 수 없다. 따라서, 라이브러리의 추가적인 개발없이 그리고 가능한 많은 수의 소자를 측정할 수 있는 핀들의 라우팅 설계 및 테스트 방법이 절실한 실정이다.
본 발명은 상술한 기술적 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 한정된 면적 내에서 가능한 많은 테스트 대상 소자를 선택할 수 있는 핀 선택 방법 및 라우팅 방법을 제공하는데 있다. 더불어, 라이브러리의 생성없이 통상의 라우팅 툴을 사용할 수 있기 때문에 핀들 간의 라우팅 설계의 자동화가 구현될 수 있다.
본 발명의 실시 예에 따른 반도체 장치의 핀(Pin)간 라우팅을 설계하는 방법은, 상기 반도체 장치의 라우팅할 후보 핀들에 대한 정보를 입력받는 단계, 상기 후보 핀들 중에서 밀도, 형태, 그리고 사이즈 조건을 고려하여 라우팅 가능한 핀들을 선택하는 전처리 단계, 상기 선택된 핀들 간의 연결 정보를 넷리스트로 생성하는 단계, 그리고 상기 넷리스트를 컴퓨터 시스템에서 구동되는 라우팅 툴에서 실행하기 위한 인터페이스 스크립트를 생성하는 단계를 포함한다.
본 발명의 실시 예에 따른 라이브러리 기반의 라우팅 툴을 구동하는 반도체 설계 시스템에서 테스트용 반도체 장치의 설계 방법은, 테스트할 소자들의 단자 위치에 대응하는 핀들을 생성하는 단계, 상기 생성된 핀들 중에서 라우팅 가능한 밀도에 따라 핀들을 선택하는 단계, 상기 선택된 핀들 중 적어도 하나의 위치, 형태, 사이즈, 거리 중 어느 하나를 조정하는 단계, 상기 조정된 핀들의 연결 정보를 넷리스트로 생성하는 단계, 상기 넷리스트로 제공된 연결 정보를 상기 라우팅 툴에서 구동 가능한 인터페이스 스크립트로 작성하는 단계, 그리고 상기 라우팅 툴에서 상기 인터페이스 스크립트를 실행하여 상기 선택된 핀들 간의 배선 구조를 생성하는 단계를 포함한다.
본 발명의 실시 예에 따른 반도체 장치의 설계를 수행하기 위한 배치 및 배선 툴을 구동하는 컴퓨터 기반의 설계 시스템은, 상기 반도체 장치에서 테스트할 소자들의 단자 위치에 대응하는 후보 핀들의 기하 또는 위치 정보를 입력받는 입출력 장치, 상기 후보 핀들 중에서 라우팅 가능한 밀도에 따라 핀들을 선택하고, 상기 선택된 핀들 중 적어도 하나의 위치, 형태, 사이즈, 거리 중 어느 하나를 조정하고, 상기 조정된 핀들의 정보를 넷리스트로 작성하고, 상기 넷리스트를 상기 배치 및 배선 툴에서 실행하기 위한 인터페이스 스크립트로 생성하는 핀간 라우팅 생성 툴을 로드하는 워킹 메모리, 그리고 상기 입출력 장치로부터 제공되는 정보를 참조하여 상기 핀간 라우팅 생성 툴과 상기 배치 및 배선 툴을 실행하는 중앙 처리 장치를 포함한다.
본 발명의 실시 예에 따른 라우팅 방법에 따르면, 라이브러리의 생성 이전에 핀들의 위치, 사이즈, 형태와 같은 기하 정보만을 사용하여 핀들 간의 배선을 상용 라우팅 툴을 이용하여 자동으로 생성할 수 있다. 더불어, 핀들의 최적 밀도 및 위치, 형태를 라우팅 이전에 미리 조정할 수 있어, 테스트를 위해 선택할 수 있는 소자의 수를 획기적으로 증가시킬 수 있다.
도 1은 본 발명의 실시 예에 따라 설계되는 반도체 장치의 단면을 보여주는 도면이다.
도 2는 도 1의 PMOS 트랜지스터의 평면도를 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 반도체 설계 시스템(100)을 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 핀간 라우팅을 자동으로 수행하기 위한 방법을 보여주는 순서도이다.
도 5는 본 발명의 전처리 동작의 일 예로 핀들의 밀도 조정 방법을 보여주는 도면이다.
도 6a, 도 6b, 그리고 도 6c는 라우팅의 전처리 절차 중 핀들의 사이즈나 형태를 조정하는 방법을 간략히 보여주는 도면들이다.
도 7a 및 도 7b는 전처리 기능의 다른 예로 핀들에 대한 칼라 룰(Color rule) 위배 여부를 체크하는 기능을 보여준다.
도 8은 본 발명의 실시 예에 따른 핀들의 넷리스트를 보여주는 표이다.
도 9는 본 발명의 실시 예에 따른 자동 라우팅 생성 방법에 따라 형성된 테스트용 반도체 장치를 예시적으로 보여주는 도면이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따라 설계되는 반도체 장치의 단면을 보여주는 도면이다. 도 1을 참조하면, 본 발명의 반도체 장치(1)는 소자 형성 공정(Front End of Line: 이하, FEOL)에서 형성되는 소자층(10, 20)과 비선 형성 공정(Before End of Line: 이하, BEOL)을 통해서 형성되는 배선층(30)을 포함할 수 있다. 본 발명의 반도체 장치(1)는 소자들의 특성을 모니터링하기 위한 테스트용 반도체 장치로 형성될 수 있다. 반도체 장치(1)는 기판층(10), 소자층(20), 그리고 배선층(30)으로 구분될 수 있다. 그리고 최종적으로 프로빙(Probing)을 위해서 구비되는 패드들(42, 44, 46)이 배선층 상부에 형성될 수 있다.
소자 형성 공정(FEOL)에 의해서 반도체 장치에서 동작하는 기본 소자들의 형성이 완료된다. 예를 들면, 소자 형성 공정(FEOL)에서 도펀트(Dopent)들의 주입을 통해서 웰(Well), 소스(Source), 드레인(Drain) 등이 형성될 수 있다. 더불어, 소자 형성 공정(FEOL)에서 절연막, 게이트 등의 형성이 이루어질 수 있다. 일반적으로 소자 형성 공정(FEOL)을 통해서 반도체 장치의 가장 기본적인 구성인 트랜지스터와 같은 소자들이 형성된다.
예시적으로, 본 발명의 반도체 장치(1)를 구성하는 PMOS 트랜지스터(2)는 소자 형성 공정(FEOL)에 의해서 P형 기판(P-Sub) 상부에 형성되는 N-웰(11)에 형성될 수 있다. N-웰(11)에는 PMOS 트랜지스터(2)의 일단(드레인 또는 소스)을 형성하기 위한 P+ 도핑 영역들(12a, 12b) 및 바디 바이어스를 위한 N+ 도핑 영역(12c)이 형성될 것이다. 그리고 채널의 상부에는 절연막(13)이 형성된다. 절연막(13)의 상부에는 도전형으로 제공되는 게이트 전극(22)이 형성될 것이다. 그리고 게이트 전극(22)의 상부에는 메탈 라인 또는 비아(Via)와의 연결을 위한 콘택(CB)이 형성될 것이다. 도핑 영역들(12a, 12b, 12c)의 상부에는 콘택 플러그들(CP)이 형성된다. 그리고 콘택 플러그들(CP)의 상부에는 메탈 라인이나 비아와의 연결을 위해 콘택들(CA1, CA2, CA3)이 형성될 것이다. 더불어, 소자 형성 공정(FEOL)에 의해서 비아와 메탈 라인이 더 형성될 수 있음은 잘 이해될 것이다.
상술한 제조 공정을 통해서 소자들의 형성이 완료되면, 소자들 상호 간의 전기적인 연결을 위한 배선 공정에 해당하는 배선 형성 공정(BEOL)이 수행될 것이다. 예를 들면, 배선 형성 공정(BEOL)에서 PMOS 트랜지스터(2)의 게이트(Gate), 드레인(Drain), 소스(Source)와 같은 단자들의 조합에 따라 다양한 로직들이 형성될 것이다. 예를 들면, 복수의 트랜지스터들에 대한 일부 메탈 층에서의 배선 공정에 의해서 표준 로직 셀들이 형성될 수 있다. 그리고 이러한 표준 셀들이나 기능 블록(IP) 단위로 배선 설계가 라우팅 툴에 의해서 자동으로 이루어질 수 있다.
라우팅 툴(Routing Tool)에 의한 배선의 자동 설계는 셀 라이브러리(Cell library)가 생성된 이후에 라이브러리 기반으로 수행될 수 있다. 즉, 일반적인 칩을 설계하는 공정에서는, 상술한 방식에 따라 생성된 라이브러리 단위로 자동으로 배선들이 설계될 수 있다. 다양한 종류의 셀들이 라이브러리에서 선택되면, 라우팅 툴은 최적의 배선 설계를 자동으로 생성할 것이다. 하지만, 테스트용 칩의 경우에는 셀 단위가 아니라 트랜지스터 단위로 테스트가 수행되어야 한다. 설계의 초기 단계인 테스트용 칩의 형성을 위해서는 각각의 트랜지스터들 단위로 프로빙(Probing)을 위한 라우팅이 필요하다. 또한, 이러한 표준 라이브러리의 생성이 어려운 경우에도 이러한 특정 지점(이하, 핀이라 칭함)을 연결하기 위한 라우팅 방법이 필요하다. 본 발명에서는 라이브러리에서 지원되지 않는 정보인 핀들의 위치 정보를 사용하여 최적의 테스트용 칩을 형성하는 방법이 제공될 것이다.
본 발명에서는 트랜지스터의 특정 지점을 핀(Pin)이라 칭하기로 한다. 핀(Pin)은 배선층(30)에서의 트랜지스터의 단자의 위치를 의미할 수 있다. 즉, 메탈 라인이나 비아(Via)와의 연결을 위해 콘택들(CA1, CA2, CA3, CB)의 위치(P1, P2, P3, P4)가 본 발명에서의 핀(Pin)의 위치일 수 있다. 또는, 콘택들(CA1, CA2, CA3, CB)과 도전 라인이 연결되는 부분을 핀(Pin)이라 칭할 수 있을 것이다. 본 발명에서는 배선층(30)의 최하단과 콘택들(CA1, CA2, CA3, CB)의 경계면에 형성되는 위치(P1, P2, P3, P4)를 핀이라 칭하기로 한다.
PMOS 트랜지스터(2)의 전기적 특성을 테스트하기 위해서는 최소한 핀들(P1, P2, P3)은 프로빙을 위한 패드들(42, 44, 46)에 연결되어야 한다. 본 발명의 라우팅 방법에 따르면, 핀들(P1, P2, P3)의 위치가 결정되면, 핀들의 밀도 및 위치, 사이즈를 고려한 핀 선택이 이루어진다. 그리고 선택된 핀들에 대해서 다양한 룰 위배(Rule Violation) 여부가 판단될 수 있다. 이어서, 트랜지스터들의 핀들의 위치와 패드들이 연결되는 핀의 위치가 결정되면, 상용 라우팅 툴을 이용하여 라우팅이 수행될 수 있다. 즉, 트랜지스터들의 핀을 표준 라이브러리 형식의 넷리스트(Netlist)로 작성하여 상용 툴에서 라우팅을 수행할 수 있다.
핀들 간의 라우팅이 완료되면, 비아들(V0_1, V0_2, V0_3, VO_4) 및 메탈 라인들(M1, M2, …, Mn)을 형성하는 마스크가 제공될 수 있다. 이후 비아들(V0_1, V0_2, V0_3, VO_4) 및 메탈 라인(M1, M2, …, Mn)에 의해서 본 발명의 테스트용 반도체 장치(1)가 형성될 수 있을 것이다.
이상에서는 표준 셀 단위의 라이브러리가 제공되기 어려운 핀 단위의 라우팅 방법 및 이러한 절차에 의해서 설계되는 테스트용 반도체 장치(1)가 간략히 설명되었다. 본 발명의 테스트용 반도체 장치(1)는 핀들에 대한 정보만 주어진 상황에서 핀들 간의 라우팅 설계를 라이브러리 기반의 상용의 라우팅 툴(Routing Tool)을 통해서 자동으로 실행할 수 있다. 그리고 본 발명에 따르면, 효율적인 라우팅을 위해 후보 핀들 중에서 특정 핀들을 배제하건, 핀들의 사이즈, 형태, 거리를 조정할 수도 있다. 이러한 핀들 간의 라우팅 설계 방법은 후술하는 도면들을 통해서 상세히 설명하기로 한다.
도 2는 도 1의 PMOS 트랜지스터의 평면도를 보여주는 도면이다. 도 2를 참조하면, N-웰(11)에 형성되는 PMOS 트랜지스터와 P형 기판 상에 형성되는 NMOS 트랜지스터가 예시적으로 도시되어 있다.
핀(Pin)은 PMOS 트랜지스터(2)의 드레인 및 소스로 제공되는 도핑 영역들(12a, 12b)의 상부에 형성된 콘택들(CA1, CA2)의 위치에 해당한다. 즉, 핀(Pin_1)은 도핑 영역(12a) 상부에 위치하는 PMOS 트랜지스터(2)의 일단에 대응한다. 그리고 핀(Pin_2)은 도핑 영역(12b) 상부에 형성되는 PMOS 트랜지스터(2)의 타단에 대응한다. 더불어, 핀(Pin_3)은 게이트 전극(22)의 상부에 형성되는 콘택(CB)에 의해서 형성될 수 있다.
더불어, 핀(Pin_4)은 NMOS 트랜지스터의 일단에 형성되는 콘택에 의해서, 그리고 핀(Pin_5)은 NMOS 트랜지스터의 타단에 형성되는 콘택에 의해서 구성된다. 게이트 전극(22)은 NMOS 트랜지스터의 게이트 전극으로 사용될 수도 있다. 결국, 핀(Pin)은 배선층(30, 도 1 참조)과 트랜지스터와 같은 소자층(20, 도 1 참조)의 접속 포인트(Cross Point)에 해당한다. 그리고 핀(Pin)은 비아나 콘택에 의해서 형성될 것이다.
도 3은 본 발명의 실시 예에 따른 반도체 설계 시스템(100)을 보여주는 블록도이다. 도 3을 참조하면, 반도체 설계 시스템(100)은 CPU(110), 워킹 메모리(130), 입출력 장치(150), 저장 장치(170), 그리고 버스(190)를 포함할 수 있다. 여기서, 반도체 설계 시스템(100)은 본 발명에 따른 반도체 장치의 핀들간 라우팅을 수행할 수 있는 프로그램을 로드할 수 있다. 더불어, 반도체 설계 시스템(100)은 다양한 시뮬레이션 툴(Simulation Tool)이나 설계 툴(Design Tool)들을 구동하기 위한 컴퓨터 시스템일 수도 있을 것이다.
CPU(110)는 반도체 설계 시스템(100)에서 수행될 소프트웨어(응용 프로그램, 운영 체제, 장치 드라이버들)를 실행한다. CPU(110)는 워킹 메모리(130)에 로드되는 운영 체제(OS, 미도시됨)를 실행할 것이다. CPU(110)는 운영 체제(OS) 기반에서 구동될 다양한 응용 프로그램들(Application Program)이나 설계 및 검증 툴들을 실행할 것이다. 예를 들면, CPU(110)는 워킹 메모리(130)에 로드된 핀간 라우팅 생성 툴(132)을 구동할 수 있다. 그리고 CPU(110)는 워킹 메모리(130)에 로드되는 라이브러리 기반의 라우팅 설계를 수행하는 배치 및 배선 툴(134)을 구동할 수 있다.
워킹 메모리(130)에는 운영 체제(OS)나 응용 프로그램들(Application Program)이 로드될 것이다. 반도체 설계 시스템(100)의 부팅시에 저장 장치(170)에 저장된 OS 이미지(미도시됨)가 부팅 시퀀스에 의거하여 워킹 메모리(130)로 로드될 것이다. 운영 체제(OS)에 의해서 반도체 설계 시스템(100)의 제반 입출력 동작들이 지원될 수 있다. 마찬가지로, 사용자의 의하여 선택되거나 기본적인 서비스 제공을 위해서 응용 프로그램들이 워킹 메모리(130)에 로드될 수 있다. 특히, 본 발명의 핀간 라우팅 생성 툴(132)과 배치 및 배선 툴(134)도 저장 장치(170)로부터 워킹 메모리(130)에 로드될 것이다. 도시되지 않았지만, 워킹 메모리(130)에는 스키매틱 회로를 설계 및 검증하기 위한 툴이나, 스키매틱 회로를 레이아웃으로 생성하는 레이아웃 설계 툴들이 더 포함될 수 있을 것이다.
반도체 장치에 형성 가능한 제반 핀들의 정보가 입력되면, 핀간 라우팅 생성 툴(132)에 의해서 핀들의 밀도를 고려한 선택이 수행될 것이다. 그리고 선택된 핀들의 형태, 위치, 사이즈, 그리고 핀들 간의 거리 중 적어도 하나가 조정될 수 있다. 더불어, 핀들의 형태, 위치, 사이즈, 그리고 핀들 간의 거리 조정 단계와 핀들의 밀도를 고려한 선택 과정은 반복적인 루프를 구성할 수 있다. 핀간 라우팅 생성 툴(132)에 의해서 수행되는 이러한 핀들의 선택과 조정 과정을 통해서 선택된 최종적인 핀들은 핀간 라우팅 생성 툴(132)에 의해서 넷리스트로 생성될 것이다. 그리고 생성된 넷리스트(Netlist)는 라이브러리 기반으로 라우팅을 수행하는 배치 및 배선 툴(134)에 의해서 처리 가능한 인터페이스 스크립트(Interface Script)로 생성될 것이다. 배치 및 배선 툴(134)에 의해서 핀들 간의 라우팅은 자동으로 생성될 수 있다.
입출력 장치(150)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어한다. 예를 들면, 입출력 장치(150)는 키보드, 마우스, 터치패드와 같은 입력 장치와 모니터 등의 출력 장치를 구비하여 핀들의 위치와 같은 기하 정보나 라우팅을 위한 디자인 룰에 대한 정보를 입력받을 수 있다. 더불어, 어떤 실시 예에서는 상호 연결되어야 하는 핀들 상호 간의 연결 관계를 정의하는 정보도 입출력 장치(150)를 통해서 입력받을 수 있다. 그리고 입출력 장치(150)는 반도체 설계 시스템(100)에 의해서 생성된 핀들 간의 라우팅 결과를 표시할 수 있다.
저장 장치(170)는 반도체 설계 시스템(100)의 저장 매체(Storage Medium)로서 제공된다. 저장 장치(170)는 응용 프로그램들(Application Program), 운영 체제 이미지(OS Image) 및 각종 데이터를 저장할 수 있다. 저장 장치(170)는 메모리 카드(MMC, eMMC, SD, MicroSD 등)나 하드디스크 드라이브(HDD)로 제공될 수도 있다. 저장 장치(170)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)를 포함할 수 있다. 또는, 저장 장치(170)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 불휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다.
시스템 버스(190)는 반도체 설계 시스템(100)의 내부에서 네트워크를 제공하기 위한 인터커넥터로 제공될 것이다. 시스템 버스(190)를 통해서 CPU(110), 워킹 메모리(130), 입출력 장치(150), 그리고 저장 장치(170)가 전기적으로 연결되고 상호 데이터를 교환할 수 있다. 하지만, 시스템 버스(190)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
이상의 설명에 따르면, 반도체 설계 시스템(100)은 라이브러리가 생성되기 이전의 핀들의 위치 및 기하 정보만을 가지고 테스트 가능한 최대의 소자들을 선택하기 위한 라우팅 설계를 수행할 수 있다. 반도체 설계 시스템(100)은 핀들의 위치 및 기하 정보만을 참조하여 라우팅 가능한 최적의 핀들을 선택할 수 있다. 반도체 설계 시스템(100)은 더불어 최적의 핀들을 선택하기 위해 핀들의 형태, 위치, 사이즈, 그리고 핀들간의 거리를 조정할 수도 있다. 이러한 최적의 조건에 따라 선택된 핀들에 대한 연결 정보가 설정되면, 이후에는 라이브러리 기반으로 배선 설계를 수행하는 배치 및 배선 툴(134)에 의해서 실행되기 위한 인터페이스 스크립트로 작성될 수 있다. 배치 및 배선 툴(134)에 의해서 인터페이스 스크립트가 실행되면, 핀들 간의 라우팅 설계가 자동으로 수행될 것이다.
도 4는 본 발명의 실시 예에 따른 핀간 라우팅을 자동으로 수행하기 위한 방법을 보여주는 순서도이다. 도 4를 참조하면, 핀간 라우팅을 생성할 타깃 영역의 모든 핀들의 위치 정보가 본 발명의 반도체 설계 시스템(100)에 제공될 것이다. 그러면, 핀간 라우팅 생성 툴(132)에 의해서 핀들이 선택되고, 형태가 조정된다. 그리고 핀들 간의 연결 관계가 설정되고, 인터페이스 스크립트로 생성되면 선택된 핀들에 대한 라우팅은 배치 및 배선 툴(134)에 의해서 자동으로 생성될 것이다. 좀 더 자세히 설명하면 다음과 같다.
S110 단계에서, 반도체 설계 시스템(100)은 라우팅이 수행되는 반도체 영역 내의 모든 핀들의 위치 정보, 기하 정보를 수신할 것이다. 예를 들면, 사용자는 입출력 장치(150)를 통해서 핀들의 위치나 기하 정보(Geometry Information)를 입력할 수 있다. 또는, 반도체 영역 내의 핀들에 대한 위치 및 기하 정보는 미리 생성된 정보로서 반도체 설계 시스템(100)에 제공될 수도 있을 것이다. 여기서, 라우팅의 대상이 되는 반도체 영역은 테스트를 위해서 선택되는 반도체 영역일 수 있다. 예를 들면, 반도체 영역은 기능 블록(Intellectual Property: 이하, IP) 단위, 매크로(Macro) 단위, 또는 칩의 전체 영역 등에 대응할 수 있다.
S120 단계에서, 반도체 설계 시스템(100)은 가능한 많은 수의 핀들을 선택하기 위한 밀도 체크가 수행될 수 있다. 반도체 설계 시스템(100)은 입력된 제반 핀들의 위치, 기하 정보를 참조하여 어느 한 영역에 지나치게 많은 핀들이 편중되어 선택되지 않도록 조정할 수 있다. 즉, 특정 영역에 적정 수 이상의 핀들이 선택되면, 배선층(30, 도 1 참조)에서 이들 핀들 간을 연결하기 위한 메탈 자원을 과도하게 소모하게 된다. 그리고 기하적으로 적정 밀도 이상의 핀들이 존재하는 영역에는 제시된 디자인 룰(Design Rule) 범위에서 라우팅이 불가능하게 될 수도 있다. 따라서, 라우팅이 가능한 범위 내에서 가능한 많은 수의 핀들을 선택하기 위해 밀도 조정이 불가피하다.
핀들의 밀도 조정을 위해서는 다양한 방법이 시도될 수 있다. 예를 들면, 핀들 영역에 기준 사이즈의 윈도(Window)를 슬라이딩하면서, 윈도 내에 기준 개수 이상의 핀들이 검출되면, 밀도 조정을 수행하도록 구성될 수 있다. 즉, 국소 영역에 대한 로컬 윈도(Local Window: 이하, LW)를 사용하여 핀들이 선택될 수 있다. 그리고 로컬 윈도(LW)에 의해서 밀도 조정이 이루어졌다 해도, 일부 영역에 이러한 핀들이 몰려 있을 경우에도 라우팅이 용이하지 못할 수도 있다. 따라서, 상대적으로 넓은 글로벌 윈도(Global Window: GW)를 사용하여 다중적으로 핀들의 밀도 체크를 수행할 수 있을 것이다. 이러한 윈도를 사용한 다중적 밀도 체크를 통해서 대상 반도체 영역 내에서 라우팅 가능한 핀들의 수를 극대화시킬 수 있다.
S130 단계에서, 반도체 설계 시스템(100)은 선택된 핀들에 대한 형태, 크기, 방향, 핀들간 거리 등을 조정할 수 있다. 예를 들면, 반도체 설계 시스템(100)은 선택된 핀들 간의 배선을 효율적으로 수행하기 위해 선택된 핀들의 사이즈를 최적화된 사이즈(Size)로 조정할 수 있다. 더불어, 반도체 설계 시스템(100)은 선택된 핀들의 모양을 이후에 수행될 배선들의 형태나, 방향, 비아의 형태를 고려하여 조정할 수 있다. 그리고 반도체 설계 시스템(100)은 포토리소그래피(Photolithography) 공정에서의 마스크 형태나 크기를 고려하여 선택된 핀들의 모양이나 핀간 거리를 조정할 수 있다. 예를 들면, 반도체 설계 시스템(100)은 칼라 룰(Color rule)에 최적화된 형태로 선택된 핀들의 형태나 핀들간 거리, 또는 핀 그룹간의 거리를 조정할 수 있다.
S140 단계에서, 반도체 설계 시스템(100)은 상술한 S120 단계와 S130 단계에서 선택되고 조정된 핀들에 대한 라우팅 룰의 위배 여부를 판단한다. 비록 적절한 밀도로 핀들이 선택되었다 해도, 핀들의 형태와 위치의 조정이 이루어진 이후에는 디자인 룰을 충족하지 못할 수도 있다. 그리고 조정된 형태로는 배선층에서 수행될 라우팅이 용이하지 못하게 되는 경우가 생길 수 있다. 이 경우, 밀도 조정과 형태 조정이 된 이후에도 라우팅이 불가능한 핀들이 존재할 수 있다. 따라서, 이러한 라우팅 불가 상황을 막기 위해 라우팅 룰의 위배 여부에 대한 체크가 이루어질 것이다. 만일, 라우팅 룰(Routing rule)에 위배되는 핀들이 존재하는 경우(Yes 방향), 절차는 S120 단계로 이동할 것이다. 라우팅 룰에 위배되는 핀들에 대해서 S120 단계의 밀도 조정과, S130 단계에서의 형태 조정이 추가로 적용될 것이다. 반면, 라우팅 룰에 위배되는 핀들이 존재하지 않는 경우(No 방향), 절차는 S150 단계로 이동할 것이다. 여기서, S120, S130, 그리고 S140 단계의 루프를 라이브러리 기반의 배치 및 배선 툴(134)에 의한 자동 배선 설계의 이전에 수행되는 전처리(Pre-processing)라 칭하기로 한다.
S150 단계에서, 최종적으로 선택된 핀들에 대한 넷리스트(Netlist)가 작성될 것이다. 핀간 라우팅 생성 툴(132)은 선택된 핀들간의 연결 정보를 입력받거나 미리 입력된 설정 정보로부터 자동으로 생성할 수 있다. 예를 들면, 하나의 핀이 서로 다른 2개의 핀에 전기적으로 연결되어야 하는 경우, 하나의 핀이 서로 다른 셋 이상의 핀들에 전기적으로 연결되도록 라우팅이 수행되어야 하는 경우, 또는 파워 라인과 같이 하나의 핀에 많은 수의 핀들이 전기적으로 연결되어야 하는 경우의 연결 정보가 넷리스트를 통해서 제공될 수 있다.
S160 단계에서, 핀간 라우팅 생성 툴(132)은 핀들에 대한 넷리스트(Netlist)를 참조하여 라이브러리 기반으로 배선을 설계하는 배치 및 배선 툴(134)에서 처리 가능한 인터페이스 스크립트(Interface Script)로 생성한다. 즉, 핀간 라우팅 생성 툴(132)은 핀 기반의 라우팅을 라이브러리 기반의 라우팅 툴에 적용하기 위한 인터페이싱을 수행한다. 즉, 핀간 라우팅 생성 툴(132)은 핀들 기반의 넷리스트를 라이브러리 기반의 넷리스트로 변환한다.
S170 단계에서, 배치 및 배선 툴(134)은 변환된 인터페이스 스크립트를 처리하여 핀들간의 라우팅을 자동으로 생성할 것이다.
이상에서는 본 발명의 핀들간의 라우팅을 자동으로 생성하기 위한 처리 절차가 설명되었다. 본 발명의 전처리(Pre-processing) 과정을 통해서 매뉴얼에 의존하던 핀들의 선택이나 조정이 자동으로 수행될 수 있다. 그리고 선택된 핀들에 대한 인터페이스 스크립트 작성을 통해서 라이브러리 기반의 배치 및 배선 툴(134)을 사용한 핀들 간의 자동 라우팅이 가능하게 되었다.
도 5는 본 발명의 전처리 과정의 일 예로 핀들의 밀도 조정 방법을 보여주는 도면이다. 도 5를 참조하면, 전처리 동작 중의 하나에 대응하는 핀들의 밀도 조정 방법이 도시되어 있다. 핀들의 위치 정보가 제공되면, 핀들 사이의 간격 또는 기준 면적 내에 라우팅 가능한 핀들의 수를 제한하기 위한 밀도 조정이 수행될 것이다. 예시적으로 핀들의 밀도 조정을 위해 글로벌 윈도(Global Window: GW)와 로컬 윈도(Local Window: LW)를 사용하는 멀티 윈도 방식(Multi Window method)이 설명될 것이다.
테스트를 위해 반도체 영역과 핀들의 위치가 결정되면, 멀티 윈도 방식에 따른 핀 밀도 체크가 수행된다. 여기서, 예시적으로 로컬 윈도(LW)와 글로벌 윈도(GW)를 사용한 이중 밀도 체크 동작이 멀티 윈도 방식의 일 예로 설명될 것이다. 하지만, 목적에 따라 윈도는 다양한 크기의 다중 윈도로 적용 가능하다. 먼저, 로컬 윈도(LW)가 선택 영역에 대해서 적용될 것이다. 로컬 윈도(LW)는 예를 들면 인접한 핀들 상호 간에 라우팅 가능한 최대 핀의 수를 제한하기 위한 것일 수 있다. 로컬 윈도(LW) 내에 핀들의 밀도(Density) 또는 혼잡도(Congestion)를 제한하면, 상대적으로 거리가 가까운 라우팅 불가한 핀을 제거할 수 있다.
예를 들면, 도시된 사이즈(LW1×LW2)의 로컬 윈도(LW) 내에 수용 가능한 핀들의 수를 3개로 제한하면, 로컬 윈도(LW) 내에 존재하는 후보 핀들(P1, P2, P3, P4) 중에서 어느 하나는 라우팅을 위한 선택에서 배제되어야 한다. 그리고 로컬 윈도(LW)에서 비선택 조건은 로컬 윈도(LW) 적용 조건에 추가될 수 있다. 예를 들면, 후보 핀들(P1, P2, P3, P4) 중에서 상호간 거리가 가장 작은 핀들(P3, P4) 중 어느 하나가 비선택될 수 있다. 더불어, 핀들(P3, P4) 중에서 후보 핀들(P1, P2) 각각과의 상대적인 거리가 불균일한 핀(P4)이 배제되도록 핀간 라우팅 생성 툴(132)이 프로그램될 수 있을 것이다. 하지만, 밀도 조정을 위한 로컬 윈도(LW)의 선택 조건은 목적에 따라 다양하게 변경될 수 있음은 잘 이해될 것이다. 특정 좌표에서의 로컬 윈도(LW)에 의한 밀도 조정이 수행되면, 로컬 윈도(LW)는 다음 좌표로 이동(Sliding)한다. 그리고 이동된 좌표에서 동일한 밀도 조건에 따라 핀들이 선택될 것이다. 이러한 방식으로 로컬 윈도는 선택 영역에 대해서 도시된 방식과 같이 지그재그 형태로 슬라이딩될 수 있다. 더불어, 높은 효율을 위해서 지그재그 형태가 아닌 다른 형태로 로컬 윈도(LW)가 슬라이딩될 수도 있을 것이다.
로컬 윈도(LW)에 의한 국소 영역에서의 밀도 조정이 이루어지면, 글로벌 윈도(GW)에 의한 밀도 조정이 수행된다. 로컬 윈도(LW)에 의해서 국소 영역에 대한 밀도가 조정된다 하더라도, 국소 밀도 조건을 충족하는 핀들이 라우팅 영역의 일정 지역에 편중하여 분포할 수도 있다. 국소적으로는 라우팅 조건이 충족된다 해도, 좀더 넓은 면적 관점에서는 라우팅을 생성하기에는 어려운 경우가 존재할 수 있다. 이러한 문제는 글로벌 윈도(GW)의 적용을 통해서 해결할 수 있다.
글로벌 윈도(GW)에 수용 가능한 핀들의 수는 미리 정의된 값으로 제공될 수 있다. 글로벌 윈도(GW)에 포함되는 핀들의 수가 기준을 초과하는 경우에는, 현재 위치의 글로벌 윈도(GW)에서 일부 핀들은 제거되어야 한다. 따라서, 글로벌 윈도(GW)에서 핀들의 선택 조건이 제공될 것이다. 예를 들면, 핀들 중에서 이격 거리가 상대적으로 적은 핀 쌍(Pin pair)이 선택되고, 선택된 핀 쌍(Pin pair) 중에서 또 다른 핀들과의 상대적 거리를 고려하여 어느 하나가 비선택되는 핀으로 결정될 수 있다. 하지만, 글로벌 윈도(GW) 내에서 핀의 선택 조건은 사용자의 목적이나, 툴의 종류, 반도체 장치의 디자인 룰 등에 따라 다양하게 적용 가능할 것이다.
더불어, 로컬 윈도(LW)의 사이즈(LW1×LW2)와 글로벌 윈도(GW)의 사이즈(GW1×GW2), 그리고 각각의 윈도에 수용되는 핀들의 수는 적용되는 디자인 룰(Design rule)이나 배치 및 배선 툴(134)의 종류에 따라 다양하게 적용될 수 있다.
도 6a, 도 6b, 그리고 도 6c는 전처리 방법들 중 핀들의 사이즈나 형태를 조정하는 방법을 간략히 보여주는 도면들이다. 도 6a는 핀들의 사이즈를 조정하는 예를, 도 6b는 핀들의 위치를 조정하는 예를, 그리고 도 6c는 핀들의 형태를 조정하는 예를 간략히 보여주는 도면들이다.
도 6a는 본 발명의 핀간 라우팅 생성 툴(132)의 전처리 기능들 중 핀들의 사이즈를 조정하는 기능을 보여주는 도면이다. 반도체 영역에 포함되는 후보 핀들 중에서 핀들이 선택되면, 라우팅 효율을 극대화하기 위한 선택된 핀들의 사이즈가 조정될 수 있다. 예를 들면, 핀들의 사이즈는 배선들의 폭과 배선들 각각의 거리를 제한하는 디자인 룰에 최적화된 사이즈로 조정될 수 있다. 밀도 조정에 따라 선택된 핀들(P1, P2, P3)은 제 1 사이즈(1ST Size)로 제공될 것이다. 하지만, 라우팅 효율이나 디자인 룰을 고려하여 핀들(P1, P2, P3)의 사이즈는 증가 또는 감소될 수 있다. 예를 들면, 제 1 사이즈(1ST Size)로 제공된 핀들(P1, P2, P3)은 제 2 사이즈(2ND Size)로 조정될 수 있다.
핀들(P1, P2, P3) 각각은 비아(Via)를 통해서 배선층에 연결될 수 있다. 그리고 핀들(P1, P2, P3) 각각은 최초 사이즈(L×L)로 제공될 것이다. 하지만, 디자인 룰(Design Rule)에 따르면, 핀들에 대응하는 비아들(VO)은 제 2 사이즈(2ND Size)로 형성되어야 할 수 있다. 따라서, 본 발명의 핀간 라우팅 생성 툴(132)은 디자인 룰을 참조하여 라우팅이 적용되는 영역의 제반 핀들의 사이즈를 다른 사이즈{(L+ΔL)×(L+ΔL)}로 조정할 수 있다. 여기서, 디자인 룰이 증가되는 경우에 핀들에 대응하는 비아(Via)의 사이즈를 증가시키는 예를 설명하였으나 본 발명은 여기에 국한되지 않는다. 즉, 디자인 룰에 따라 핀들(P1, P2, P3) 각각은 감소된 사이즈{(L-ΔL)×(L-ΔL)}로 조정될 수도 있을 것이다.
도 6b는 핀간 라우팅 생성 툴(132)의 전처리 기능들 중 핀들의 위치를 조정하는 기능을 보여주는 도면이다. 밀도 조정이 완료된 핀들이라 할지라도, 실질적으로 라우팅 효율을 높이기 위해서는 핀들의 위치가 조정되면 배선이나 비아 형성에 효율적인 경우가 존재할 수 있다. 마찬가지로 디자인 룰에 따라 핀들의 위치를 조정하면 라우팅이 용이하게 이루어질 수도 있다.
밀도 조정에 따라 선택된 핀들(P1, P2, P3)은 제 1 위치(1ST Location)로 제공될 것이다. 하지만, 라우팅 효율이나 디자인 룰을 고려하여 핀들(P1, P2, P3)의 위치는 다소 조정 가능하다. 예를 들면, 핀(P1)의 경우, 트랜지스터의 드레인이나 소스 단자에 대응할 수 있다. 드레인 또는 소스 단자가 비아를 통해서 메탈 층과 연결되는 경우라면, 핀(P1)은 도핑 영역 내에서 미세하게 이동할 수 있다. 즉, 핀(P1)은 점선으로 표시된 원래의 위치로부터 조정 거리(Δx)만큼 이동시킬 수 있다. 마찬가지로, 라우팅 효율을 높이기 위해 핀(P3)도 다른 방향의 조정 거리(Δy)만큼 이동될 수 있을 것이다.
도 6c는 핀간 라우팅 생성 툴(132)의 전처리 기능들 중 핀들의 모양(Shape)을 조정하는 기능을 보여주는 도면이다. 핀들의 위치가 결정되면, 핀들 중에는 비아(Via)를 통해서 배선층이 메탈과 연결되는 경우가 존재한다. 트랜지스터의 단자에 대응하는 핀들 위에 비아(Via)가 직접적으로 형성될 수도 있다. 이 경우, 핀의 형태는 비아의 오버행(Overhang)을 포함하는 형태로 고려될 수 있다. 비아의 형태는 실질적으로 배선층의 메탈 라인의 방향에 따라 조정될 수 있다.
밀도 조정에 따라 선택된 핀들(P1, P2, P3)은 제 1 형태(1ST Shape)로 제공될 것이다. 하지만, 이러한 핀들이 비아로 제공되는 경우를 고려하여 핀들(P1, P2, P3) 각각의 형태가 변경될 수 있다. 예를 들면, 핀(P1)의 경우, 가로 폭(L)과 오버행을 포함하는 세로 폭(L+Δk)을 갖는 비아의 형태로 조정될 수 있다. 이러한 비아 형태의 조정은 배선층에 제공되는 메탈 라인들과의 연결을 용이하게 하기 위한 것일 수 있다. 마찬가지로, 핀들(P2, P3) 각각도 이와 같이 형태가 조정될 수 있을 것이다.
도 7a 및 도 7b는 전처리 기능의 다른 예로 핀들에 대한 칼라 룰(Color rule) 위배 여부를 체크하는 기능을 보여준다. 도 7a는 핀들 간의 칼라 룰 체크(Color rule check) 기능을 보여주고, 도 7b는 핀 그룹들 간의 칼라 룰 체크(Color rule check) 기능을 보여준다.
도 7a는 핀들 상호 간의 칼라 룰(Color rule) 위배 여부를 체크하기 위한 개념을 보여준다. 도 7a를 참조하면, 핀들 각각을 형성하기 위한 포토리소그래피 공정에서 적용되는 마스크의 패턴이 고려될 수 있다. 즉, 포토리소그래피 공정에서 핀들 각각을 형성하기 위해서 적어도 2장 이상의 마스크(Mask)가 사용될 수 있다. 예를 들면, 핀(P1)을 형성하기 위한 마스크는 핀(P2)을 형성하기 위한 마스크와 다른 마스크로 제공될 수 있다. 이때, 노광 공정에서 마스크의 형태에 따라 빛의 회절이나 산란에 의해 의도하지 않은 형태로 핀들이 형성될 수 있다. 따라서, 서로 다른 마스크로 형성되는 핀들 간의 거리 기준(ΔC)이 충족되는지 라우팅이 생성되기 전에 체크될 수 있다.
서로 다른 마스크로 형성되는 패턴에 대한 룰을 칼라 룰(Color rule)이라 한다. 이때, 서로 다른 마스크에 형성되는 핀들에 대한 칼라 룰을 핀들을 선택하고 조정하는 단계에서 적용할 수 있다.
도 7b는 각각의 핀들에 대한 그룹 단위의 칼라 룰 체크를 설명하기 위한 도면이다. 도 7b를 참조하면, 각각 칼라 룰을 위배하지 않는 핀 그룹들(PG1, PG2, PG3)이 도시되어 있다. 하지만, 핀 그룹들에 포함되는 팬들끼리는 칼라 룰이 준수된다 하더라도, 그룹 단위로 칼라 룰(Color rule)의 준수 여부가 체크되어야 한다.
예를 들면, 제 1 핀 그룹(PG1)과 제 2 핀 그룹(PG2)의 간격(R1)이 칼라 룰의 위배가 되지 않는지, 또는 제 1 핀 그룹(PG1)과 제 2 핀 그룹(PG2) 각각의 핀들 상호간에 칼라 룰이 준수되는지 체크될 수 있다. 더불어, 제 1 핀 그룹(PG1)과 제 3 핀 그룹(PG3)의 간격(R2)이 칼라 룰의 위배가 되지 않는지, 또는 제 1 핀 그룹(PG1)과 제 3 핀 그룹(PG3) 각각의 핀들 상호간에 칼라 룰이 준수되는지 체크될 수 있다. 핀들의 라우팅 이전에 이러한 칼라 룰 체크가 이루어지면, 포토리소그래피 공정에 의해서 형성되는 핀들의 신뢰성을 높일 수 있을 것이다.
도 8은 본 발명의 실시 예에 따른 핀들의 넷리스트를 예시적으로 보여주는 테이블이다. 도 8을 참조하면, 핀간 라우팅 생성 툴(132)의 전처리 기능에 의해서 최종적으로 선택된 핀들의 연결 관계가 제공될 수 있다. 즉, 하나의 핀이 다른 하나의 핀으로 연결되도록 라우팅이 수행되어야 하는 경우, 하나의 핀이 서도 다른 두 개의 핀들에 연결되도록 라우팅이 되어야 하는 경우, 그리고 하나의 핀이 복수의 핀들과 연결되어야 하는 연결 정보로 제공될 수 있다. 본 발명의 특징을 설명하기 위해서 핀들간의 연결 관계만을 정의한 넷리스트를 설명하기로 한다.
먼저, 상호 연결되어야 하는 2개 핀(2-Pin) 넷들이 제공될 수 있다. 넷(Net_21)은 라우팅의 시작 핀(P1)과 종료 핀(P2)을 갖는다. 그리고 2-핀 넷의 다른 예로 넷(Net_2i)은 시작 핀(P21)과 종료 핀(P22)을 가질 수 있다. 실질적으로 2-핀 넷은 라우팅을 위한 넷리스트 중에서 가장 단순한 구조일 수 있다. 테이블에서는 시작 핀(P1)과 종료 핀(P2)을 간단히 나타냈지만, 실질적으로는 핀들의 기하 정보, 위치 정보, 재료 정보와 같은 다양한 정보가 더 포함될 수 있을 것이다.
3-핀 넷들의 예로는 넷들(Net_31, Net_33, Net_3j)이 도시되어 있다. 3-핀 넷(Net_31)은 핀들(P31, P33, P34) 간에 연결 관계를 정의한다. 예를 들면, 3-핀 넷(Net_31)에 따르면, 핀(P31)이 핀들(P33, P34)과 연결되어야 한다. 반면, 3-핀 넷(Net_33)에 따르면, 핀들(P35, P37)이 핀(P36)에 연결되어야 한다. 3-핀 넷(Net_3j)에 따르면, 핀(P41)이 핀들(P42, P44)에 연결되어야 한다.
더불어, 4-핀 넷들(Net_41, Net_43, Net_4k)이 도시되어 있다. 4-핀 넷은 4개의 핀들 사이의 연결 관계를 정의하고 있다. 이 밖에 다양한 구조의 핀들의 넷리스트가 제공될 수 있다. 이러한 넷리스트는 핀간 라우팅 생성 툴(132)에 의해서 선택된 핀들에 대해서 정의되어야 한다. 넷리스트는 사용자에 의해서 입력되거나, 또는 최종적으로 선택된 핀들로부터 자동적으로 생성될 수도 있을 것이다.
도 9는 본 발명의 실시 예에 따른 자동 라우팅 생성 방법에 따라 형성된 테스트용 반도체 장치를 예시적으로 보여주는 도면이다. 도 9를 참조하면, 테스트용 반도체 장치(200)는 테스트 대상 영역(210)과 디코더(220)를 포함할 수 있다.
테스트 대상 영역(210)은 소스/드레인 패드들(212, 214)과 테스트 영역(216)을 포함할 수 있다. 테스트 영역(216)은 복수의 핀들이 존재하는 반도체 영역이다. 테스트 영역(216)에 대한 핀들이 생성되면, 본 발명의 실시 예에 따른 핀들간 라우팅은 자동으로 생성될 수 있다. 디코더(220)로 연결되는 핀들과 소스/드레인 패드들(212, 214)로 연결되는 핀들의 선택에 의해서 테스트 대상 트랜지스터들이 선택될 수 있다. 본 발명의 핀간 라우팅 방법에 따르면, 테스트 영역(216) 내에서 가능한 최대의 핀들이 선택될 수 있고, 선택된 핀들에 대한 라우팅이 상용 배치 및 배선 툴(134, 도 3 참조)에 의해서 자동으로 생성될 수 있다.
이상에서는 라이브러리가 생성되기 이전의 핀들에 대한 라우팅을 라이브러리 기반의 배치 및 배선 툴(134)을 사용하여 자동으로 생성하기 위한 설계 방법이 설명되었다. 본 발명을 사용한 반도체 설계 시스템의 경우, 라이브러리가 정의되기 이전의 트랜지스터들의 핀들간 라우팅을 자동으로 수행할 수 있다. 따라서, 매뉴얼에 의존하던 방식에 비하여 라우팅 생성 속도를 높일 수 있고, 테스트에 사용할 소자들의 수도 획기적으로 증가시킬 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 라이브러리 기반의 라우팅 툴을 구동하는 컴퓨터 시스템에서의 반도체 장치의 핀(Pin)간 라우팅을 설계하는 방법에 있어서:
    상기 컴퓨터 시스템이 상기 반도체 장치의 라우팅할 후보 핀들에 대한 정보를 입력받는 단계;
    상기 컴퓨터 시스템이 상기 라우팅 툴을 구동하여, 상기 후보 핀들 중에서 밀도, 형태, 거리, 그리고 사이즈 중 적어도 하나의 조건을 고려하여 라우팅 가능한 핀들을 선택하는 전처리 단계;
    상기 컴퓨터 시스템이 상기 라우팅 툴을 구동하여, 상기 선택된 핀들 간의 연결 정보를 넷리스트로 생성하는 단계; 그리고
    상기 컴퓨터 시스템이 상기 라우팅 툴을 구동하여, 상기 넷리스트를 상기 컴퓨터 시스템에서 구동되는 상기 라이브러리 기반의 배치 및 배선 툴에서 실행하기 위한 인터페이스 스크립트를 생성하는 단계를 포함하는 라우팅 설계 방법.
  2. 제 1 항에 있어서,
    상기 후보 핀들은 상기 반도체 장치의 소자 형성 공정(Front End of Line: FEOL)에서 형성되는 소자들의 단자 위치를 포함하는 라우팅 설계 방법.
  3. 제 2 항에 있어서,
    상기 후보 핀들은 상기 반도체 장치의 배선 공정(Back End of Line: BEOL)이후에 형성되는 프로빙 패드의 위치를 포함하는 라우팅 설계 방법.
  4. 제 1 항에 있어서,
    상기 후보 핀들에 대한 정보는 상기 후보 핀들의 위치, 형태, 사이즈 정보를 포함하는 라우팅 설계 방법.
  5. 제 1 항에 있어서,
    상기 전처리 단계는:
    상기 후보 핀들 중에서 라우팅 가능한 밀도 조건에 따라 일부 핀을 제거하는 밀도 조정 단계; 그리고
    배선들의 형성 효율을 높이기 위해 상기 밀도 조정 단계를 통해서 선택된 핀들의 형태를 조정하는 단계를 포함하는 라우팅 설계 방법.
  6. 제 5 항에 있어서,
    상기 밀도 조정 단계에서, 국소 면적에서 상기 후보 핀들을 제 1 밀도 기준에 따라 체크하기 위한 로컬 윈도와, 상기 국소 면적보다 넓은 영역에서의 상기 후보 핀들을 제 2 밀도 기준에 따라 체크하기 위한 글로벌 윈도를 사용하는 라우팅 설계 방법.
  7. 제 5 항에 있어서,
    상기 선택된 핀들의 형태를 조정하는 단계에서, 상기 선택된 핀들의 크기, 상기 선택된 핀들에 대응하는 비아의 형태, 또는 상기 비아의 방향이 조정되는 라우팅 설계 방법.
  8. 제 5 항에 있어서,
    상기 선택된 핀들의 형태를 조정하는 단계에서, 상기 배선들을 형성하기 위한 마스크의 칼라 위배(Color violation)를 고려하여 핀들의 형태, 위치, 사이즈 중 적어도 하나가 조정되는 라우팅 설계 방법.
  9. 제 5 항에 있어서,
    상기 선택된 핀들의 형태를 조정하는 단계가 완료되면, 상기 선택된 핀들의 라우팅 가능성 여부를 체크하는 단계를 더 포함하는 라우팅 설계 방법.
  10. 제 1 항에 있어서,
    상기 넷리스트는 상기 선택된 핀들 간의 전기적 연결 관계를 포함하는 라우팅 설계 방법.
  11. 제 1 항에 있어서,
    상기 인터페이스 스크립트를 상기 라이브러리 기반의 배치 및 배선 툴에서 실행하여 상기 선택된 핀들 간의 배선을 자동으로 생성하는 단계를 더 포함하는 라우팅 설계 방법.
  12. 제 1 항에 있어서,
    상기 반도체 장치는 소자의 전기적 특성을 측정하기 위한 테스트용 반도체 장치인 라우팅 설계 방법.
  13. 라이브러리 기반의 라우팅 툴을 구동하는 반도체 설계 시스템에서 테스트용 반도체 장치의 설계 방법에 있어서:
    테스트할 소자들의 단자 위치에 대응하는 핀들을 생성하는 단계;
    상기 생성된 핀들 중에서 라우팅 가능한 밀도에 따라 핀들을 선택하는 단계;
    상기 선택된 핀들 중 적어도 하나의 위치, 형태, 사이즈, 거리 중 어느 하나를 조정하는 단계;
    상기 조정된 핀들의 연결 정보를 넷리스트로 생성하는 단계;
    상기 넷리스트로 제공된 연결 정보를 상기 라우팅 툴에서 구동 가능한 인터페이스 스크립트로 작성하는 단계; 그리고
    상기 라우팅 툴에서 상기 인터페이스 스크립트를 실행하여 상기 선택된 핀들 간의 배선 구조를 생성하는 단계를 포함하는 설계 방법.
  14. 제 13 항에 있어서,
    상기 핀들은 상기 라우팅 툴에서 활용되는 셀 라이브러리가 생성되기 이전에 생성되는 설계 방법.
  15. 제 13 항에 있어서,
    상기 조정된 핀들 중 적어도 하나는 상기 테스트할 소자의 전기적 특성을 측정하기 위해 형성되는 프로빙 패드에 대응하는 설계 방법.
  16. 제 13 항에 있어서,
    상기 조정하는 단계 이후에, 상기 조정된 핀들에 대한 밀도 체크를 수행하는 단계를 더 포함하는 설계 방법.
  17. 제 13 항에 있어서,
    상기 핀들을 선택하는 단계에서, 서로 다른 기준 면적의 윈도들을 사용하여 상기 생성된 핀들의 밀도를 체크하여 밀도 기준에 위배되는 핀들을 제거하는 설계 방법.
  18. 제 17 항에 있어서,
    상기 서로 다른 기준 면적의 윈도들 각각에 포함되는 핀들의 수를 제한하는 설계 방법.
  19. 제 13 항에 있어서,
    상기 조정하는 단계에서, 상기 선택된 핀들을 형성하기 위한 마스크의 칼라 룰 체크가 수행되는 설계 방법.
  20. 반도체 장치의 설계를 수행하기 위한 배치 및 배선 툴을 구동하는 컴퓨터 기반의 설계 시스템에 있어서:
    상기 반도체 장치에서 테스트할 소자들의 단자 위치에 대응하는 후보 핀들의 기하 또는 위치 정보를 입력받는 입출력 장치;
    상기 후보 핀들 중에서 라우팅 가능한 밀도에 따라 핀들을 선택하고, 상기 선택된 핀들 중 적어도 하나의 위치, 형태, 사이즈, 거리 중 어느 하나를 조정하고, 상기 조정된 핀들의 정보를 넷리스트로 작성하고, 상기 넷리스트를 상기 배치 및 배선 툴에서 실행하기 위한 인터페이스 스크립트로 생성하는 핀간 라우팅 생성 툴을 로드하는 워킹 메모리; 그리고
    상기 입출력 장치로부터 제공되는 정보를 참조하여 상기 핀간 라우팅 생성 툴과 상기 배치 및 배선 툴을 실행하는 중앙 처리 장치를 포함하는 설계 시스템.
KR1020160003331A 2016-01-11 2016-01-11 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템 KR102494048B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160003331A KR102494048B1 (ko) 2016-01-11 2016-01-11 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템
TW105138326A TW201734866A (zh) 2016-01-11 2016-11-23 半導體元件接腳間路由選擇方法及其設計系統
US15/400,333 US10248752B2 (en) 2016-01-11 2017-01-06 Method for routing between pins of semiconductor device and design system therewith
US16/284,318 US10509884B2 (en) 2016-01-11 2019-02-25 Method for routing between pins of semiconductor device and design system therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160003331A KR102494048B1 (ko) 2016-01-11 2016-01-11 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템

Publications (2)

Publication Number Publication Date
KR20170084411A KR20170084411A (ko) 2017-07-20
KR102494048B1 true KR102494048B1 (ko) 2023-02-01

Family

ID=59275667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160003331A KR102494048B1 (ko) 2016-01-11 2016-01-11 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템

Country Status (3)

Country Link
US (2) US10248752B2 (ko)
KR (1) KR102494048B1 (ko)
TW (1) TW201734866A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102494048B1 (ko) * 2016-01-11 2023-02-01 삼성전자주식회사 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템
CN108520128B (zh) * 2018-03-29 2022-04-15 北京集创北方科技股份有限公司 集成电路设计方法和计算机可读存储介质
US11127673B2 (en) * 2018-08-20 2021-09-21 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor device including deep vias, and method of generating layout diagram for same
US10810341B1 (en) * 2019-06-17 2020-10-20 Xilinx, Inc. Method and system for making pin-to-pin signal connections
US11810920B2 (en) 2019-11-29 2023-11-07 Samsung Electronics Co., Ltd. Integrated circuits including integrated standard cell structure
US11836435B1 (en) * 2020-08-07 2023-12-05 Synopsys, Inc. Machine learning based parasitic estimation for an integrated circuit chip design
CN115688671B (zh) * 2022-11-14 2023-11-03 深圳市奇普乐芯片技术有限公司 布线方法、装置、终端及存储介质
CN115688672B (zh) * 2022-11-14 2024-03-08 深圳市奇普乐芯片技术有限公司 显示方法、装置、终端及存储介质
CN115884588B (zh) * 2023-01-16 2023-04-25 长城电源技术有限公司 开关电源变换器的形成方法及其形成的开关电源变换器
CN117634414B (zh) * 2024-01-26 2024-03-29 上海合见工业软件集团有限公司 不同元器件之间的飞线互连方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061770A1 (en) 2005-09-15 2007-03-15 Tsutomu Kobayashi Semiconductor integrated circuit and layout designing method of the same
US20090070726A1 (en) 2005-06-09 2009-03-12 Pyxis Technology, Inc. Enhanced Routing Grid System and Method
US20100100862A1 (en) 2008-10-17 2010-04-22 Fujitsu Limited Wiring design method
US20120221994A1 (en) 2011-02-28 2012-08-30 Suparn Vats Wire Routing Using Virtual Landing Pads

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613941A (en) * 1985-07-02 1986-09-23 The United States Of America As Represented By The Secretary Of The Army Routing method in computer aided customization of a two level automated universal array
US6519749B1 (en) * 1998-01-09 2003-02-11 Silicon Perspective Corporation Integrated circuit partitioning placement and routing system
TW476069B (en) 1998-11-20 2002-02-11 Via Tech Inc Placement and routing for array device
US6701474B2 (en) * 2000-06-28 2004-03-02 Cadence Design Systems, Inc. System and method for testing integrated circuits
US6980211B2 (en) * 2002-06-04 2005-12-27 Springsoft, Inc. Automatic schematic diagram generation using topology information
US20050076319A1 (en) 2003-10-03 2005-04-07 Chow Shau-Lim Stan Pin assignment in block-based integrated circuit design methodologies
US7401312B2 (en) 2003-12-11 2008-07-15 International Business Machines Corporation Automatic method for routing and designing an LSI
US7707537B2 (en) 2004-06-04 2010-04-27 Cadence Design Systems, Inc. Method and apparatus for generating layout regions with local preferred directions
JP2007026170A (ja) * 2005-07-19 2007-02-01 Matsushita Electric Ind Co Ltd 半導体集積回路の自動レイアウト方法、自動レイアウトプログラム、および自動レイアウト装置
US7793249B1 (en) * 2006-07-25 2010-09-07 Cadence Design Systems, Inc. Method and system for adaptive bundling of connections in user-guided autorouting
US8028259B2 (en) 2008-02-15 2011-09-27 International Business Machines Corporation Automated method and apparatus for very early validation of chip power distribution networks in semiconductor chip designs
US8060843B2 (en) 2008-06-18 2011-11-15 Taiwan Semiconductor Manufacturing Company, Ltd. Verification of 3D integrated circuits
US8484594B2 (en) 2011-01-12 2013-07-09 International Business Machines Corporation Routing-based pin placement
US9292644B2 (en) * 2011-08-12 2016-03-22 William Loh Row based analog standard cell layout design and methodology
US8418113B1 (en) * 2011-10-03 2013-04-09 International Business Machines Corporation Consideration of local routing and pin access during VLSI global routing
US9026976B2 (en) 2012-04-12 2015-05-05 International Business Machines Corporation Congestion aware routing using random points
US10423749B2 (en) * 2013-03-14 2019-09-24 New York University System, method and computer-accessible medium for providing secure split manufacturing
US9009642B1 (en) * 2013-10-22 2015-04-14 International Business Machines Corporation Congestion estimation techniques at pre-synthesis stage
US9064081B1 (en) 2013-12-11 2015-06-23 Taiwan Semiconductor Manufacturing Company, Ltd. Generating database for cells routable in pin layer
US10026661B2 (en) 2014-09-18 2018-07-17 Samsung Electronics Co., Ltd. Semiconductor device for testing large number of devices and composing method and test method thereof
US10127338B2 (en) * 2015-12-15 2018-11-13 Taiwan Semiconductor Manufacturing Company Ltd. System, method and associated computer readable medium for designing integrated circuit with pre-layout RC information
KR102494048B1 (ko) * 2016-01-11 2023-02-01 삼성전자주식회사 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템
US10268795B2 (en) * 2017-04-20 2019-04-23 Taiwan Semiconductor Manufacturing Company Ltd. Method and system for timing optimization with detour prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070726A1 (en) 2005-06-09 2009-03-12 Pyxis Technology, Inc. Enhanced Routing Grid System and Method
US20070061770A1 (en) 2005-09-15 2007-03-15 Tsutomu Kobayashi Semiconductor integrated circuit and layout designing method of the same
US20100100862A1 (en) 2008-10-17 2010-04-22 Fujitsu Limited Wiring design method
US20120221994A1 (en) 2011-02-28 2012-08-30 Suparn Vats Wire Routing Using Virtual Landing Pads

Also Published As

Publication number Publication date
US20170199955A1 (en) 2017-07-13
TW201734866A (zh) 2017-10-01
US20190188354A1 (en) 2019-06-20
US10248752B2 (en) 2019-04-02
KR20170084411A (ko) 2017-07-20
US10509884B2 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
KR102494048B1 (ko) 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템
US10691859B2 (en) Integrated circuit and method of designing layout of integrated circuit
US7962878B2 (en) Method of making an integrated circuit using pre-defined interconnect wiring
US10002223B2 (en) Method of designing layout of semiconductor device
KR102636095B1 (ko) 쿼드러플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법
KR102255450B1 (ko) 반도체 장치의 레이아웃 설계 방법
US20100270671A1 (en) Manipulating fill patterns during routing
USRE49780E1 (en) Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semiconductor device using the same
US10803226B2 (en) Integrated circuit for multiple patterning lithography, a computing system and a computer-implemented method for designing an integrated circuit
KR102458446B1 (ko) 스탠다드 셀을 포함하는 반도체 장치 및 그것의 전자 설계 자동화 방법
US20170116367A1 (en) Electromigration-aware integrated circuit design methods and systems
US20210082960A1 (en) Integrated circuit device with improved layout
KR20210042218A (ko) 반도체 소자 및 제조방법
US9436792B2 (en) Method of designing layout of integrated circuit and method of manufacturing integrated circuit
US10424518B2 (en) Integrated circuit designing system and a method of manufacturing an integrated circuit
KR102636094B1 (ko) 트리플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법
US10868538B1 (en) Logic cell structure and integrated circuit with the logic cell structure
US11227084B2 (en) Multi-bit standard cell
KR102257381B1 (ko) 집적회로 레이아웃의 설계 방법 및 그것을 수행하는 컴퓨터 시스템
US20240105633A1 (en) Wafer-scale chip structure and method and system for designing the structure
US10970452B2 (en) System for designing semiconductor circuit and operating method of the same
US11935894B2 (en) Integrated circuit device with improved layout
US10423754B1 (en) Electrostatic discharge cell placement using effective resistance
TW448560B (en) Layout method of antenna diode with low leakage current
US9391056B2 (en) Mask optimization for multi-layer contacts

Legal Events

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