KR20140116826A - 개선된 네트 라우팅을 제공하는 시스템 및 방법 - Google Patents

개선된 네트 라우팅을 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR20140116826A
KR20140116826A KR1020140034657A KR20140034657A KR20140116826A KR 20140116826 A KR20140116826 A KR 20140116826A KR 1020140034657 A KR1020140034657 A KR 1020140034657A KR 20140034657 A KR20140034657 A KR 20140034657A KR 20140116826 A KR20140116826 A KR 20140116826A
Authority
KR
South Korea
Prior art keywords
segment
shape
net
path
perimeter
Prior art date
Application number
KR1020140034657A
Other languages
English (en)
Inventor
프라샌스 코두리
산소쉬 필라이
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20140116826A publication Critical patent/KR20140116826A/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

Landscapes

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

Abstract

본 출원은 반도체 집적회로에 관한 분야에 관한 것으로, 좀더 구체적으로는 집적회로의 파워, 접지, 신호 네트들을 라우팅(routing)하는 것에 관한 것이다. 본 발명의 실시 예에 따른 방법은 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하는 단계; 상기 둘레선으로부터 오프셋 세그먼트를 생성하도록 상기 형상의 둘레선의 세그먼트의 적어도 일부를 오프셋하는 단계; 상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하는 단계; 상기 경로 세그먼트를 포함하는 경로의 적어도 일부를 생성하는 단계; 및 상기 경로의 적어도 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 단계를 포함한다.본 발명의 실시 예는 최적의 파워분배를 달성할 수 있는 개선된 네트 라우팅을 제공한다.

Description

개선된 네트 라우팅을 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR IMPROVED NET ROUTING}
본 출원의 실시 예들은 반도체 집적회로(semiconductor integrated circuit, 이하 'ICs')에 관한 분야에 관한 것으로, 좀더 구체적으로는 집적회로의 파워, 접지, 신호 네트들을 라우팅(routing)하는 것에 관한 것이다.
내부 신호들(internal signals)은 ICs 인터페이스로부터 IO 패드들, IO 셀들과 같은 입출력 회로(Input/Output circuits, IO)를 통하여 외부로 나간다. 구리 금속 레이어들(copper metal layer)의 상부 2 및 3 레어어들은 칩의 내부에서 파워/접지 분배를 위하여 사용된다. 9LM-1RDL 금속 스킴에서는, 내부 배선(internal wiring)을 위한 9개의 구리 금속 레이어들, 그리고 재분배 레이어(redistribution layer) 또는 RDL을 위한 1개의 알루미늄 레이어(aluminum layer)가 있다. RDL 바로 아래에 위치하는 최상부 구리 레이어 metal-9(또는 M9) 그리고 metal-8(또는 M8)은, 파워/접지 메쉬 형태의 네트워크(mesh-like network)를 만드는데 사용된다. RDL 레이어는 플립-칩 범프들(flip-chip bumps) 사이를 접합하는데 사용되며, 파워와 접지 및 신호들(Power, Ground&Signals)에 대응한다. 신호 범프들(signal bumps)은 패키지 라우팅(package routing)을 쉽게 하기 위하여 칩의 가장자리에 배치되며, 코어 파워/접지 범프들(core power/ground bumps)은 칩의 코어(core) 부분을 향하여 배치된다. 신호 범프들 및 VDD/VSS 스트랩들(straps) 하에서 원활한 파워 전송을 위해서, 범프들은 빠른 속도의 디지털 회로를 구비할 것이 요구된다.
그러나, 신호 범프들 하의 파워를 위한 네트들과 그러한 회로들의 접지는 저항을 증가시킬 수 있다. 더욱이, 신호, 파워, 접지 네트들을 라우팅 하는 것에는 최적의 RDL 라우팅 리소스가 이용되지 않고, 코어 VDD/VSS 범프들을 M9 및 M8의 스트랩들에 연결한다. 이러한 매뉴얼 접근방식(manual approach)은 최적의 파워 분배를 달성할 수 없으며, 또한 균일적이지도 반복적이지도 않다.
본 발명은 최적의 파워분배를 달성할 수 있는 개선된 네트 라우팅을 제공하는 방법 및 시스템을 제공하는데 있다.
본 발명의 실시 예에 따른 방법은 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하는 단계; 상기 둘레선으로부터 오프셋 세그먼트를 생성하도록 상기 형상의 둘레선의 세그먼트의 적어도 일부를 오프셋하는 단계; 상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하는 단계; 상기 경로 세그먼트를 포함하는 경로의 적어도 일부를 생성하는 단계; 및 상기 경로의 적어도 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 단계를 포함한다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 원호이다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하는 단계; 및 상기 정점으로부터 세그먼트를 연장하는 단계를 더 포함하며, 상기 네트를 라우팅하는 단계는 상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅한다.
실시 예로써, 상기 연장된 세그먼트는 상기 둘레선에 실질적으로 수직으로 연장된다.
실시 예로써, 상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하는 단계는 상기 형상의 복수의 세그먼트들을 선택하는 단계; 및 대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하는 단계를 포함하며, 상기 방법은, 적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 늘리는 단계를 더 포함한다.
실시 예로써, 상기 형상은 팔각형이다.
실시 예로써, 상기 형상은 범프이다.
실시 예로써, 상기 형상은 제2 네트이다.
실시 예로써, 상기 네트는 제1 네트라고 칭해지며, 상기 방법은, 범프로부터 핀으로 제2 네트를 라우팅하는 단계를 더 포함하며, 상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함한다.
실시 예로써, 상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅하는 단계를 더 포함한다.
실시 예로써, 제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하는 단계; 및 상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅하는 단계를 더 포함한다.
실시 예로써, 반도체 장치의 재분배 레이어 상에 상기 네트를 라우팅하는 단계를 더 포함한다.
실시 예로써, 상기 오프셋 세그먼트에 응답하여 상기 경로 세그먼트를 형상하는 단계는 상기 형상의 비-인접 정점들에 기초하여 정점들을 이용하여 상기 경로 세그먼트를 형성한다.
본 발명의 실시 예에 따른 방법은 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하는 단계; 확장된 세그먼트를 생성하도록 상기 형상의 상기 세그먼트의 적어도 일부를 확장하는 단계; 상기 확장된 세그먼트에 응답하여 경로 세그먼트를 형성하는 단계; 상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하는 단계; 및 상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 단계를 포함한다.
실시 예로써, 상기 둘레선의 상기 세그먼트의 상기 적어도 일부는 상기 형상의 복수의 세그먼트들을 포함한다.
실시 예로써, 상기 둘레선의 상기 세그먼트의 상기 적어도 일부는 상기 형상의 모든 세그먼트들보다 적다.
실시 예로써, 상기 확장된 상기 둘레선의 상기 세그먼트의 상기 적어도 일부의 좌표를 발견하는 단계; 및 상기 좌표를 이용하여 상기 네트를 라우팅하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 시스템은 메모리; 및 프로세서를 포함하며, 상기 메모리는 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 저장하고, 상기 프로세서는 오프셋 세그먼트를 생성하도록 상기 둘레선으로부터 상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하고; 상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하고; 상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하고; 그리고 상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우트한다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 원호이다.
실시 예로써, 상기 프로세서는 상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하고; 상기 정점으로부터 세그먼트를 연장하며; 상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅한다.
실시 예로써, 상기 연장된 세그먼트는 상기 둘레선에 실질적으로 수직이다.
실시 예로써, 상기 프로세서는 상기 형상의 복수의 세그먼트들을 선택하고; 대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하고; 적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 연장한다.
실시 예로써, 상기 형상은 팔각형이다.
실시 예로써, 상기 형상은 범프이다.
실시 예로써, 상기 형상은 제2 네트이다.
실시 예로써, 상기 네트는 제1 네트라고 칭해지며, 상기 프로세서는 범프로부터 핀으로 제2 네트를 라우팅하며; 상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함한다.
실시 예로써, 상기 프로세서는 상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅한다.
실시 예로써, 상기 프로세서는 제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하고; 그리고 상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅한다.
실시 예로써, 상기 프로세서는 반도체 장치의 재분배 레이어 상에 상기 네트를 라우팅한다.
본 발명의 실시 예는 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 매체이며, 상기 비-일시적 컴퓨터 판독 가능 매체의 상기 명령어들은 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하고; 상기 둘레선으로부터 오프셋 세그먼트를 생성하도록 상기 형상의 둘레선의 세그먼트의 적어도 일부를 오프셋하고; 상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하고; 상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하고; 상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 명령어들을 포함한다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적다.
실시 예로써, 상기 둘레선의 세그먼트의 상기 적어도 일부는 원호이다.
실시 예로써, 상기 명령어들은 상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하는 명령어; 그리고 상기 정점으로부터 세그먼트를 연장하는 명령어를 더 포함하며, 상기 네트를 라우팅하는 것은 상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅하는 것을 포함한다.
실시 예로써, 상기 정점으로부터 연장된 상기 세그먼트는 상기 둘레선에 실질적으로 수직으로 연장된다.
실시 예로써, 상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하는 명령어는 상기 형상의 복수의 세그먼트들을 선택하고; 대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하며; 상기 명령어들은 상기 경로의 적어도 일부를 형상하기 위하여 적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 늘리는 명령어를 더 포함한다.
실시 예로써, 상기 네트는 제1 네트라고 칭해지며, 상기 명령어들은 범프로부터 핀으로 제2 네트를 라우팅하는 명령어를 더 포함하며, 상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함한다.
실시 예로써, 상기 명령어들은 상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅 하기 위한 명령어를 더 포함한다.
실시 예로써, 상기 명령어들은 제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하는 명령어; 그리고 상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅하는 명령어를 더 포함한다.
본 발명의 실시 예에 따른 방법 및 시스템은 개선된 파워분배를 달성할 수 있는 네트 라우팅을 제공한다.
도 1A는 본 발명의 실시 예에 따른 형태 오프셋의 둘레선의 세그먼트들을 보여주는 도면이다.
도 1B는 본 발명의 다른 실시 예에 따른 형상 오프셋의 둘레선의 세그먼트들을 보여주는 도면이다.
도 2는 본 발명의 확장된 실시 예에 따른 도 1A의 세그먼트들을 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 도 2의 세그먼트들을 이용하여 생성된 경로 세그먼트들의 예를 보여주는 도면이다.
도 4A는 본 발명의 실시 예에 따른 도 2의 세그먼트들의 정점들을 사용하여 생성된 경로 세그먼트들을 보여주는 도면이다.
도 4B는 본 발명의 다른 실시 예에 따른 도 2의 세그먼트들의 정점들을 사용하여 생성된 경로 세그먼트들의 예들을 보여주는 도면이다.
도 5 내지 10은 본 발명의 다양한 실시 예에 따른 도 3, 4A, 4B의 경로 세그먼트들을 사용하여 생성된 경로들의 일부를 보여주는 도면들이다.
도 11 내지 도 15는 본 발명의 다양한 실시 예에 따른 다양한 형상들로부터 생성된 경로 세그먼트들을 보여주는 도면들이다.
도 16은 본 발명의 실시 예에 따라 경로가 설정된 경로들을 가지는 집적 회로 레이아웃의 평면도이다.
도 17은 본 발명의 다른 실시 예에 따라 생성된 경로 세그먼트들의 예들을 보여주는 도면이다.
도 18 및 도 19는 본 발명의 다양한 실시 예에 따른 경로 세그먼트들을 사용하여 생성된 경로들의 일부들의 예들을 보여주는 도면들이다.
도 20은 본 발명의 실시 예에 따른 라우팅을 수행하는 전자 시스템을 보여주는 도면이다.
본 출원의 실시 예들은 집적 회로들의 라우팅(routing)에 관련된 것이다. 이하의 실시 예들은 본 발명의 기술분야의 통상의 지식을 가진 자로 하여금 본 발명을 구현하고 이용하는 것을 가능하게 할 것이며 특허 출원 및 그 필수요소에 대한 내용으로 제공된다. 여기서 설명되는 실시 예들, 일반 원칙들 그리고 그 특징들은 대한 다양한 변형은 명확하고 분명할 것이다. 실시 예들은 주로 구체적인 실행에 있어서 구체적인 방법과 시스템을 사용하여 설명될 것이다.
도 1A는 본 발명의 실시 예에 따른 형태 오프셋의 둘레선의 세그먼트들을 보여주는 도면이다. 본 발명의 실시 예는 경로(route)의 적어도 일부분을 생성하기 위하여 소정 형상(shape)의 둘레선의 적어도 일 부분을 둘레선(perimeter)으로부터 오프셋(offset) 하는 것을 포함한다. 본 실시 예에 있어서, 형상(100)은 팔각형이다. 둘레선은 팔각형의 둘레선(102)이다.
형상(100)은 복수의 측선들(sides, 102)을 포함한다. 본 실시 예에 있어서, 팔각형은 8개의 측선들을 포함한다. 측선들(102)은 둘레선의 적어도 일부를 형성한다. 이하의 설명에서 8개의 측선들 모두가 실시 예로써 사용될 수 있다. 그러나 모든 측선들(102)의 개수보다 적은 수의 측선들 또는 측선들(102)의 일부가 사용될 수도 있다.
각 측선(102)은 대응하는 세그먼트(segment, 104)를 생성하기 위하여 오프셋 된다. 여기서, 측선들(102)은 거리(106)에 의하여 오프셋 된다. 비록 측선들(102)이 동일 거리(106)에 의하여 오프셋 되는 것으로 설명된다고 하더라도, 측선들(102)은 서로 다른 거리 또는 서로 다른 양(amount)에 의하여 오프셋 될 수 있다.
본 실시 예에 있어서, 형상(100)의 각 세그먼트(103)는 대응하는 형상(100)의 에지(edge)에 대하여 실질적으로 수직의 방향으로 오프셋 된다. 그러나, 다른 실시 예에 있어서, 세그먼트(103)는 다른 방향으로 오프셋 될 수 있다.
도 1B는 본 발명의 다른 실시 예에 따른 형상 오프셋의 둘레선의 세그먼트들을 보여주는 도면이다. 본 실시 예에 있어서, 형상(100)은 도 1A에서 설명된 것과 유사하게 측선들(102) 및 세그먼트들(103)을 포함한다. 세그먼트들(103)은 대응하는 세그먼트(104)를 생성하기 위하여 거리(106)에 의하여 유사하게 오프셋 될 것이다. 그러나, 형상(100)의 각 세그먼트들은 동일한 거리 또는 동일한 양(amount)에 의하여 오프셋 될 필요는 없다.
예를 들어, 형상(100)의 세그먼트(109)는 세그먼트(105)를 생성하기 위하여 거리(107)에 의하여 오프셋 된다. 즉, 도시된 바와 같이, 형상(100)의 몇몇 세그먼트들은 거리(106)에 의하여 오프셋 되고 다른 몇몇의 세그먼트들은 거리(107)에 의하여 오프셋 된다. 그러나, 다른 실시 예에 있어서, 형상(100)의 각 세그먼트는 서로 다른 거리에 의하여 오프셋 될 수 있다. 또는 하나 또는 그 이상의 세그먼트들은 동일한 거리에 의하여 오프셋 되고 다른 세그먼트들은 서로 다른 거리에 의하여 오프셋 될 수 있다. 더욱이, 이하에서 설명될 바와 같이, 새로운 세그먼트들을 생성하기 위하여 형상(100)의 모든 세그먼트들이 오프셋 될 필요는 없다.
도 2는 본 발명의 확장된 실시 예에 따른 도 1A의 세그먼트들을 보여주는 도면이다. 본 실시 예에 있어서, 일단 세그먼트(104)가 생성되고 형상(100)으로부터 오프셋 되면, 세그먼트(104)는 길이방향으로 연장될 것이다. 여기서, 세그먼트(104)는 점선으로 도시된 연장된 세그먼트(108)를 생성하기 위하여 길게 늘어날 것이다.
본 실시 예에 있어서, 연장된 세그먼트(108)는 세그먼트(104)를 포함하는 선들(lines)이 교차하는 정점들(vertices, 120)까지 연장될 것이다. 그러나, 다른 실시 예에 있어서, 연장된 세그먼트(108)는 이러한 정점들(120)까지 연장되지 않거나 이를 넘어서까지 연장될 수 있다.
일 실시 예는 적어도 하나의 세그먼트(108)를 생성하기 위하여 형상(100)의 둘레선(102)의 적어도 일부를 연장하는 것을 포함한다. 본 실시 예에 있어서, 둘 또는 그 이상의 연장된 세그먼트들(108)에 의하여 만들어진 형상을 생성하도록, 둘레선(102)의 전부 또는 일부는 연장될 수 있다. 즉, 비록 세그먼트(108)를 생성하기 위하여 세그먼트(103)가 오프셋 되는 것으로 하나의 실시 예가 설명되었다고 하더라도, 본 실시 예에 있어서, 둘레선(102)은 원하는 세그먼트(108)를 만들기 위하여 연장될 수 있다.
이하에서 설명될 바와 같이, 네트(net)는 하나 또는 그 이상의 세그먼트들(108)을 사용하거나, 세그먼트들(108)의 일부를 사용하는 등의 방법에 의하여 라우트(routed) 될 수 있다. 몇몇의 실시 예에 있어서, 네트의 라우팅은 자동적(automatically)으로 수행될 수 있다. 즉, 유저는 장애물, 범프(bump)의 주위에서 수동으로 네트를 라우트할 필요가 없다. 따라서, 네트의 경로들은 좀더 균일할 수 있으며, 공간을 보다 효과적으로 사용할 수 있고, 유저 또는 유저의 선호 등에 대하여 좀더 덜 의존적이게 된다. 한편, 비록 팔각형이 형상(100)의 예로써 사용되었으나, 이하에서 설명될 바와 같이, 형상(100)은 다른 형태를 가질 수 있다.
비록 도 1A의 세그먼트들(104)이 연장된 세그먼트들(108)의 예로써 사용되었지만, 다른 세그먼트들이 유사하게 연장될 수도 있다. 예를 들어, 도 1B의 세그먼트(105)는 일치하는 연장된 형상의 정점(vertex)으로 연장될 수 있으며, 정점(120)으로부터의 오프셋과 나란하거나 이와 유사하게 연장될 수도 있다.
도 3은 본 발명의 실시 예에 따른 도 2의 세그먼트들을 이용하여 생성된 경로 세그먼트들(route segments)의 예를 보여주는 도면이다. 본 실시 예에 있어서, 세그먼트들(108)은 경로 세그먼트들(110)을 생성하기 위하여 사용될 것이다. 여기서, 각 세그먼트(108)는 대응하는 경로 세그먼트들(110-1~110-8)을 생성하기 위하여 사용된다. 상업적 용도나 경로 툴(route tool)에 있어서, 경로 세그먼트들은 그 말단이 설계 규칙 체킹(design rule checking, DRC)에 저촉되는 것을 피하기 위하여, 직사각형 형태가 아닌 팔각형의 형태 또는 다른 형태일 수 있다.
비록 경로 세그먼트들(110-1~110-8)이 대응하는 세그먼트들(108)의 말단에서 말단으로 연장되는 것으로 도시되어 있지만, 경로 세그먼트들(110-1~110-8)은 대응하는 세그먼트들(108)의 말단까지 또는 말단을 넘어서까지 연장될 수 있다. 예를 들어 경로 세그먼트(110)는 실질적으로 균일한 이동경로를 생성하기 위하여 다른 경로 세그먼트와 적절하게 접속하도록 길어지거나 짧아질 수 있다.
도 4A는 본 발명의 실시 예에 따른 도 2의 세그먼트들(108)의 정점들을 사용하여 생성된 경로 세그먼트들을 보여주는 도면이다. 본 실시 예에 있어서, 경로 세그먼트들(122)은 정점들(vertices, 120)을 사용하여 생성된다. 예를 들어, 경로 세그먼트(122)는 정점(vertex, 120)으로부터 연장될 수 있다. 복수의 경로 세그먼트들(122)은 동일한 정점(120)으로부터 생성될 수 있다. 동일한 정점(120)으로부터의 각 경로 세그먼트(122)는 서로 다른 방향으로 연장될 수 있다. 예를 들어, 제1 경로 세그먼트(122-9)는 정점(120)을 사용하는 하나의 세그먼트(108)로부터 실질적으로 수직의 방향으로 연장될 수 있다. 다른 경로 세그먼트(122-13)는 정점(120)을 사용하는 다른 세그먼트(108)에 실질적으로 수직의 방향으로 연장될 수 있다. 경로 세그먼트들(122-1~122-16)은 정점들(vertices, 120)을 사용하여 생성된 경로 세그먼트들의 실시 예들을 나타낸다.
비록 경로 세그먼트들(122)이 세그먼트(108)에 실질적으로 수직한 것으로 설명되었다고 하더라도, 다른 실시 예에 있어서, 경로 세그먼트들(120)은 다른 방향으로 연장될 수 있다. 예를 들어, 경로 세그먼트(122)는 형상에 대하여 실질적으로 독립적인 방향으로 연장될 수 있다. 다른 예로, 경로 세그먼트(122)는 정점(vertex, 120)의 각도를 양분하는 방향으로 연장될 수 있다. 다른 실시 예로, 경로 세그먼트(122)는 두 개의 세그먼트들(108)에 의하여 형성된 각에 큰 연관이 없는 방향으로 연장될 수 있다.
도 4B는 본 발명의 다른 실시 예에 따른 도 2의 세그먼트들의 정점들을 사용하여 생성된 경로 세그먼트들의 예들을 보여주는 도면이다. 본 실시 예에 있어서, 경로 세그먼트(122)는 도 4A와 유사하게 정점들(120)로부터 연장될 것이다. 그러나, 본 실시 예에 있어서, 경로 세그먼트(123)는 확장된 형상의 정점이 아닌 정점(vertex, 121)으로부터 연장될 것이다. 여기서, 정점(vertex, 121)은 세그먼트(108) 상에 위치하며, 세그먼트(108)의 말단에 위치하지 않는다.
경로 세그먼트들(123)은 정점(121)으로부터 다양한 방향으로 연장될 것이다. 예를 들어, 경로 세그먼트(123-1)는 대응하는 세그먼트(108)와 실질적으로 수직하는 방향으로 정점(121)으로부터 연장될 것이다. 경로 세그먼트들(123-2, 123-3)은 인접하는 세그먼트들(108)과 실질적으로 수직하는 방향으로 연장될 것이다.
비록 경로 세그먼트들(123)이 대응하는 세그먼트(108)에 실질적으로 수직하는 방향으로 연장되는 것으로 설명되었지만, 경로 세그먼트들(123)은 앞서 설명된 경로 세그먼트들(122)과 유사하게 어느 각도로도 연장될 수 있다. 더욱이, 비록 하나의 정점(121)과 대응하는 경로 세그먼트들(123)이 실시 예로 사용되었지만, 다양한 숫자의 정점들(121)이, 동일한 세그먼트(108) 상에 위치하던 다른 세그먼트 상에 위치하던, 대응하는 경로 세그먼트들(123)을 생성하기 위하여 사용될 수 있다.
도 5 내지 10은 본 발명의 다양한 실시 예에 따른 도 3, 4A, 4B의 경로 세그먼트들을 사용하여 생성된 경로들의 일부를 보여주는 도면들이다. 일 실시 예에 있어서, 앞서 설명된 다양한 경로 세그먼트들이 적어도 하나의 경로의 일부를 형성하기 위하여 다양한 방법으로 결합될 수 있다.
도 5를 참조하면, 경로 세그먼트들(110, 122)이 두 개의 경로 세그먼트들(130, 132)을 생성하기 위하여 결합된다. 도 3으로부터, 경로 세그먼트들(110-1, 110-2, 110-3)이 경로 세그먼트(130)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(110-5, 110-6, 110-7)이 경로 세그먼트(132)의 일부를 형성하기 위하여 사용되었다. 도 4로부터, 경로 세그먼트들(122-1, 122-3)이 경로 세그먼트(130)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(122-2, 122-4)이 경로 세그먼트(132)의 일부를 형성하기 위하여 사용되었다. 경로 세그먼트들(130, 132)은 모두 형상(100)을 회피한다. 구체적으로, 형상(100)으로부터 오프셋 된 세그먼트들로부터 경로 세그먼트들(130, 132)의 구성성분이 형성됨으로써, 경로 세그먼트들(130, 132)은 형상(100)을 회피할 것이다 다른 실시 예에 있어서, 경로 세그먼트들(130, 132)은 다른 네트(net)의 일부일 수 있다. 그러나, 다른 실시 예에 있어서, 경로 세그먼트들(130, 132)은 동일한 네트의 일부일 수 있다.
도 6의 경로 세그먼트들(134, 136)은 도 5의 경로 세그먼트들(130, 132)과 유사하다. 그러나, 경로 세그먼트들(134, 136)은 도 3 및 도 4의 다른 경로 세그먼트들로부터 형성된다. 도 3으로부터, 경로 세그먼트들(110-1, 110-2, 110-8)이 경로 세그먼트(134)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(110-4, 110-5, 110-6)이 경로 세그먼트(136)의 일부를 형성하기 위하여 사용되었다. 도 4로부터, 경로 세그먼트들(122-5, 122-7)이 경로 세그먼트(134)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(122-6, 122-8)이 경로 세그먼트(136)의 일부를 형성하기 위하여 사용되었다.
이와 유사하게, 도 7의 경로 세그먼트들(138, 140)은 도 5의 경로 세그먼트들(130, 132)과 유사하며, 또한 도 3 및 도 4의 서로 다른 경로 세그먼트들로부터 형성된다. 도 3으로부터, 경로 세그먼트들(110-1, 110-7, 110-8)이 경로 세그먼트(138)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(110-3, 110-4, 110-5)이 경로 세그먼트(140)의 일부를 형성하기 위하여 사용되었다. 도 4로부터, 경로 세그먼트들(122-9, 122-11)이 경로 세그먼트(138)의 일부분을 형성하기 위하여 사용되었으며, 반면에 경로 세그먼트들(122-10, 122-12)이 경로 세그먼트(140)의 일부를 형성하기 위하여 사용되었다.
도 8의 경로 세그먼트(142)는 도 5의 경로 세그먼트(130)와 유사하다. 그러나, 본 실시 예에서, 다른 경로 세그먼트들이 형성되지 않는다. 즉, 경로 세그먼트(132)와 유사한 경로 세그먼트가 형성될 필요가 없다.
도 9의 경로 세그먼트들(144, 146)은 도 5의 경로 세그먼트들(130, 132)과 유사하다. 그러나, 경로 세그먼트(144)는 그 말단에 경로 세그먼트들(110-1, 122-3)을 포함하지 않는다. 반대로, 경로 세그먼트(144)는 도 5, 6, 8의 경로 세그먼트(110-2)와 유사하며 보다 연장된 경로 세그먼트(148)를 포함한다. 다시 말하면, 새로운 경로 세그먼트들을 형상하기 위하여, 형상(100)과 관련이 없는 반면 다른 방법들과 관련이 있는 다른 경로 세그먼트들이 도 3 및 도 4의 경로 세그먼트들과 결합될 수 있다.
도 10의 경로 세그먼트(150)는 도 8의 경로 세그먼트(142)와 유사하다. 그러나, 본 실시 예에 있어서, 경로 세그먼트(150)는 경로 세그먼트(122-1)를 포함하지 않는다. 이를 대신하여, 경로 세그먼트(150)는 경로 세그먼트들(111-1, 123-3)을 포함한다. 경로 세그먼트(111-1)는 앞서 설명된 도 4B의 정점들(120, 121)을 이용하여 생성된 경로 세그먼트의 일 예이다. 즉, 경로 세그먼트(111-1)는 확장된 형상의 정점(vertex, 120)으로부터 세그먼트(108) 상의 정점(vertex, 121)으로 연장된 것이다. 경로 세그먼트(123-3)는 정점(vertex, 121)으로부터 연장된 것이다. 비록 정점(vertex, 121)과 유사한 정점과 연관된 경로 세그먼트를 사용한 실시 예가 사용되었다고 하더라도, 다른 실시 예에 있어서, 다양한 세그컨트들(108)을 따라 다른 정점들로부터 형성된 경로 세그먼트들 또는 다른 세그먼트들이 사용될 수도 있다.
비록 앞서 설명된 바와 같이 경로 세그먼트들에 단절(discontinuities)이 존재하는 것으로 도시되었다고 하더라도, 소정 구조들이 경로 세그먼트들 사이에 독립적인 경로 세그먼트들로써 사용될 수 있다. 따라서, 경로 세그먼트들은 이러한 단절 없이 형성될 수 있다.
도 11 내지 도 15는 본 발명의 다양한 실시 예에 따른 다양한 형상들로부터 생성된 경로 세그먼트들을 보여주는 도면들이다. 도 11을 참조하면, 형상은 육각형이다. 점선(202)은 형상(200)으로부터 오프셋 되고 연장된 세그먼트들의 일 예를 보여준다. 복수의 경로 세그먼트들(204, 206, 208, 210)이 확장된 형상(202)의 세그먼트들을 사용하여 도시된다.
도 12를 참조하면, 형상(300)은 오각형이다. 형상(300)의 세그먼트들이 두 개의 서로 다른 형상들(302, 304)과 나란한 세그먼트들로 확장된다. 경로 세그먼트(306)는 형상(302)의 일 세그먼트 및 형상(302)의 정점들(vertices)을 사용하여 형성된 세그먼트들로부터 형성된다. 경로 세그먼트(308)는 형상(304)의 세그먼트들 및 정점들(vertices)을 사용하여 형성된다. 다시 말하면, 본래의 형상(200)으로부터 다른 거리들에 의하여 오프셋 된 세그먼트들이 동일한 형상(300) 주변의 경로들을 만들기 위하여 사용된다.
도 13을 참조하면, 형상(400)은 원이다. 즉, 일 실시 예에 있어서, 형상들은 제한된 숫자의 측선들을 갖는 다각형일 필요는 없으며 연속적인 커브들(curves)을 포함할 수 있다. 형상(400)은 정점들을 갖지 않기 때문에, 경로 세그먼트들(402, 404)를 생성하기 위하여 세그먼트들의 정점들이 형상(406)으로부터 생성되었다. 예를 들어, 원(400)의 호(arc)는 오프셋 되고 경로 세그먼트(402)의 호 또는 경로 세그먼트(404)의 호로 확장된다. 따라서, 경로 세그먼트들(402, 404)은 확장된 원(406)의 적어도 일부의 호를 포함한다.
도 14에 있어서, 형상(400)은 도 13과 유사한 원이다. 비록 경로 세그먼트들(402, 404)의 호들이 앞서 설명되었지만, 형상(406)을 따라 정점들(vertices)을 사용하는 다른 경로 세그먼트들이 생성될 수 있다. 예를 들어, 경로 세그먼트(414)는 경로 세그먼트(408)로써 현(chord)을 포함한다. 경로 세그먼트(408)의 현은 형상(406)을 따라 정점들(410, 412) 사이에 연장된다. 이는 범프(bump)로부터 경로 세그먼트(408)까지의 최소 거리가 만난다면 다각형으로 연장될 수도 있다.
비록 형상(406)과 연관된 현(chord)과 호(arc)가 실시 예로써 사용되었다고 하더라도, 대응하는 정점들(vertices) 사이의 경로 세그먼트들은 다른 모양을 만들 수 있다. 예를 들어, 경로 세그먼트는 정점들(410, 412) 사이에 연장되지만 형상(406)과 일치하지 않는 현을 형성할 수 있다. 다른 예로, 경로 세그먼트는 다른 경로 세그먼트들이나 형상에 기초하지 않는 정점들(410, 412) 사이의 임의의 경로(path)를 가질 수 있다.
도 15를 참조하면, 형상(500)은 불규칙적인 형태이다. 즉, 형상(500)은 호와 직선 세그먼트(straight segment)를 포함한다. 비록 하나의 호와 하나의 세그먼트를 가지는 불규칙적인 형상이 구체적인 실시 예로써 사용되었다고 하더라도, 어떠한 숫자의 호들과 세그먼트들과 커브들 등이 형상을 만들기 위하여 사용될 수 있다.
형상(500)을 사용하는 일 실시 예로, 호 세그먼트(arc segment, 508)가 확장된 형상(502)을 따라 형성될 것이다. 직선 세그먼트(straight segment, 504)는 확장된 형상(502)을 따라 형성될 것이다. 호 세그먼트(508)와 유사하게, 직선 세그먼트(504)의 말단은 대응하는 확장된 형상(502)의 세그먼트의 말단까지 연장되지 않을 것이다. 세그먼트(506)는 원하는 직선 세그먼트(504)의 말단으로부터 연장될 것이다.
다시 말하면, 경로 세그먼트를 생성하기 위하여 사용된 형상(500)의 둘레선의 적어도 일부는 대응하는 형상(500)의 세그먼트 모두를 포함할 필요는 없다. 즉, 대응하는 형상(500)의 모든 세그먼트 보다 적은 부분이 사용될 수 있다.
비록 하나의 세그먼트, 하나의 호, 하나의 커브가 형상의 특징을 명확히 하기 위하여 사용되었지만, 그 각각은 세그먼트들에 대하여 오프셋 되거나, 확장되거나, 길어지거나, 짧아지거나 또는 앞서 설명된 것과 유사하게 될 수 있다.
도 16은 본 발명의 실시 예에 따라 경로가 설정된 경로들을 가지는 집적 회로 레이아웃의 평면도이다. 본 실시 예에 있어서, 레이아웃(600)은 집적 회로의 내부 회로(626)와 인터페이스 하는데 사용되는 상호연결 레이어들(interconnection layers)을 나타낸다. 회로(626)는 디지털 회로일 수 있다. 여기서, 레이아웃(600)은 범프들(bumps; 602, 604, 606)을 포함한다. 회로(626)는 범프들(602, 604, 606) 아래에 배치될 것이다. 다른 실시 예에 있어서, 회로(626)는 단지 범프(606) 아래에만 배치될 수 있다.
본 실시 예에 있어서, 범프들(602, 604)은 파워 연결을 위하여 사용된다. 범프(606)는 입력 또는 출력과 같은 신호들의 연결을 위하여 사용된다. 보다 명확하게, 참조 부호를 사용하여 표시되어 있지는 않으나 범프(606)와 유사한 육각형의 형상들이 신호들의 연결을 위하여 사용될 것이다.
Vss와 Vdd를 사용하는 실시 예들에 있어서, 범프(602)와 범프(604)는 각각 Vss와 Vdd에 연결하는데 사용될 것이다. 스트랩들(straps; 608, 610)은 파워를 집적 회로 주변부 위의 회로(626)에 전송하기 위하여 레이어 위에 배치된다. 범프들(606)은 집적 회로의 에지(622) 위 또는 근처에 배치될 것이다. 스트랩들(608, 610)은 에지(622) 근처에서 회로(626)에 파워를 공급할 것이다. 그러나, 범프들(606)이 실질적으로 에지(622) 부근의 범프 자리들을 대부분 차지하기 있기 때문에, 범프들(602, 604)을 통한 파워의 연결은 파워를 필요로 하는 회로(626)로부터 오프셋 될 것이다. 네트들(612, 614)은 각각 바이어스(616, 624)를 통하여 Vss와 Vdd를 스트랩들(610, 608)에 연결한다. 이러한 네트들(612, 614)은 범프들 뿐만 아니라 범프들(606)을 집적 회로의 핀들(618)에 연결하는 네트들(618)의 주위에서도 라우트 된다.
네트들(612, 614, 618)을 형성하는 것은 수신된 레이아웃에 대하여 앞서 설명된 기술들을 이용하여 수행될 것이다. 예를 들어, 직선 경로는 에지(622)에 가장 가까운 범프(606)를 대응하는 핀(620)에 연결하기 위하여 사용될 수 있다. 그러나, 에지(622)로부터 멀리 떨어진 범프(606)를 위하여, 앞서 설명된 바와 같이 범프(606)의 형상이 경로 세그먼트를 생성하기 위하여 사용될 수 있다. 다른 실시 예에 있어서, 에지(622)로부터 보다 오프셋 된 범프(606)를 위하여, 앞서 설명된 바와 같이 다른 범프들(606)과 대응하는 경로 세그먼트들(618)이 경로 세그먼트를 생성하기 위한 형상으로 사용될 수 있다.
예를 들어, 설계 규칙(design rule)이 네트들(618)을 위한 경로의 너비(W)를 구체화 할 것이다. 이와 유사하게, 설계 규칙이 경로와 인접하는 도전체 구조 사이의 최소 거리(D)를 구체화할 것이다. 도 1 내지 도 3 및 도 16을 참조하면, 예를 들어, 거리(106)는 D+W/2와 동일할 것이다. 즉, 세그먼트(104)는 D+W/2에 의한 오프셋 이다. 경로 세그먼트(110)는 대응하는 세그먼트(108) 중심의 너비(W)를 갖도록 생성될 것이다. 결과적으로, 설계 규칙을 만족시키는 경로가 형성될 것이다.
일 실시 예에 있어서, 일단 네트들(618)이 형성되면, 네트들(612, 614)이 형성될 것이다. 범프들(606)은 네트들(612, 614)의 경로 세그먼트를 생성하기 위한 형상으로써 사용될 것이다. 즉, 범프들(606) 및 네트들(618)의 형상들은 경로 세그먼트들을 형성하는 세그먼트를 생성하기 위하여 사용될 것이다. 경로 세그먼트들을 사용하여 네트들(616, 614)은 범프들(606)에 실질적으로 인접한 대응하는 바이어스들(616, 624)에 라우트 될 것이다.
일 실시 예에 있어서, 네트들(612, 614, 618)은 집적 회로의 재분배 레이어(redistribution layer)에 라우트 될 것이다. 그러나, 다른 실시 예에 있어서, 네트들은 다른 레이어들에 라우트 될 것이다. 더욱이, 집적 회로에 입력/출력 인터페이스를 라우팅 하는 것이 실시 예로 사용된다고 하더라도, 여기서 설명되는 라우팅 기술은 집적 회로의 다른 부분들 또는 다른 유사 구조에 적용될 수 있을 것이다.
일 실시 예에 있어서, 플립-칩(Flip-Chip)을 사용하는 집적 회로는 외부와 인터페이스 하는 IO 패드들과 범프들과 RDL(Redistribution Layer) 금속 레이어로 구성된다. RDL 레이어는 패드들과 범프들에 연결된다. 범프들은 코어 파워와 접지 범프(core power and ground bump)와 IO(Input/Output) 범프들로 나뉘어진다. 코어 파워와 접지 범프들은 칩의 중앙에 위치할 것이며, IO 범프들은 칩의 주변에 위치할 것이다. IO 범프들 아래에 위치한 회로(626)는 IR 하강(drop)으로 인하여 보다 적은 파워를 수신할 것이다. IR 하강을 줄이고 효과적으로 RDL 레어어를 이용하기 위하여, 가장 가까운 파워와 접지 범프들로부터 IO 범프들로의 자동 스니킹(automatic sneaking)이 수행될 것이다.
일 실시 예에 있어서, 신호, 파워 및 접지 신호들을 위하여 RDL 레이어를 사용하는 것은 보다 향상되고 개선된 방법에 해당할 것이다. 게다가 IC 칩의 IR 하강이 줄어들 것이다. 이러한 라우팅은 자동적으로 수행될 것이다.
앞서 설명된 바와 같이, 이러한 라우팅은 다각형과 원들을 확장하고 새롭게 조직하여 새로운 형상들을 생성하도록 수행될 수 있다. 파이프들(pipes)과 같은 새로운 금속 형상들이 하나의 좌표(coordinate)로 부터 다른 방향으로 연장되거나 다른 좌표로 연장하여 형성될 수 있다. 파이프들은 앞서 설명된 경로 세그먼트들과 유사할 것이다. 예를 들어, 파이프들은 앞서 설명된 도 4A 및 도4B와 관련된 경로 세그먼트들(122, 123) 등과 유사할 수 있다.
일 실시 예에 있어서, 코어 파워 및 접지 범프들은 주로 칩의 중앙에 집중된다. (계층적 디자인에서) IO 범프 영역(IO bump region) 아래에 물리적인 장소와 경로 파티션들(route partitions)이 위치할 수 있다. 이러한 장소와 경로 파티션들은 IO 범프 영역에 충분한 파워 및 접지 범프들이 부족하기 때문에 충분한 파워를 공급받지 못할 것이다. 파워를 공급하기 위하여, 도 16에 도시된 바와 유사하게 파워 및 접지 네트들이 가장 가까운 파워 및 접지 범프들로부터 라우트 될 것이다. 이러한 파워 및 접지 RDL 경로들은 도 16에 도시된 바와 같이 바이어스들(616, 624)을 사용하여 스트랩들(608, 610)의 낮은 레벨 파워 메쉬(mesh)에 연결될 것이다.
일 실시 예에 있어서, 라우팅의 효율을 개선하고, IO RDL 네트들의 오픈(open)을 방지하며 코어 영역으로부터 IO 영역으로의 코어 파워 및 접지 네트들의 스니킹(sneaking)을 충분히 허여하기 위하여, 스네이크 라우팅(snake routing)이 사용될 수 있다. 스네이크 라우팅은 RDL 상에서 이동하는 뱀의 형태와 유사한 지그재그 패턴으로 네트를 라우팅 하는 것을 가리킨다. IO 네트들은 (직선 경로를 대신하여) 범프들의 형상을 취하는 스태거드 범프들(staggered bumps)의 주변에 라우트 될 것이다. 이것은 스네이크 형태의 라우팅 패턴을 생성할 것이다.
일 실시 예에 있어서, 이러한 종류의 스네이크 라우팅은 IO 네트들과 코어 및 접지 네트들과 같은 다양한 타입의 네트들을 위하여 행하여 질 수 있다. IOs와 관련된 네트들과 관련하여, 네트들은 일반적으로 IO 패드들 위의 영역에서 라우트 되고 IO들을 가장 가까운 범프에 연결할 수 있다. 이러한 네트들은 일반적으로 우선적으로 가장 짧고 깨끗한 경로를 선택하도록 라우트 된다. 코어 파워 및 접지 네트들에 있어서, 네트들은 코어 영역으로부터 IO 패드 영역으로 라우트된 VDD/VSS 네트들 일 것이다. 이러한 네트들은 마지막으로 라우트 될 것이며 일반적으로 되도록 IO 영역에 대하여 "스네이크드(sneaked)"될 것이다. 이러한 라우팅은 단지 IO 영역 근처의 IR 하강(drop)을 줄이기 위하여 필요하다. 비록 본 설명에서 스네이킹(sneaking)와 스니킹(snaking) 경로들이 분리되는 것으로 설명되었으나, 앞서 설명된 라우팅 기술은 스네이킹(sneaking)와 스니킹(snaking) 경로들 모두에 사용될 수 있다.
스네이크 라우팅(snake routing)을 달성하기 위하여, 범프 형상(bump shape)을 고려한다고 가정하자. 앞서 설명된 바와 같이, 범프들은 일련의 스태거드형(staggered fashion) 또는 선형(linear fashion)으로 놓여진 일반적인 팔각형을 포함할 것이다. 일반적이 팔각형은 길이(S)를 갖는 8개의 에지들과 8개의 정점들(vertices)을 갖는다. X0 및 Y0의 좌표(coordinate)가 주어진다고 했을 때, 팔각형의 좌표들은 표 1(Table 1)과 같이 얻어질 수 있다.
Figure pat00001
테이블 1에서, 0.707은 1/√2를 나타내는데 사용된다. 그러나, 다른 실시 예에 있어서, 보다 정확한 값들이 사용될 수 있다.
일단 좌표들이 계산되면, 팔각형은 테이블 1에서 보여지는 바와 같이 상응하는 X와 Y를 가지는 정점들의 리스트에 따라 물리적 공간에서 나타내어 질 것이다. "생성_팔각형(create_octagon)"이라고 불리는 함수가 상기의 공식을 사용하여 주어진 origin(X, Y) 및 길이 "s"를 가지는 팔각형을 생성하기 위하여 사용될 것이다.
"생성_팔각형_에지(create_octagon_edges)" 함수가 주어진 팔각형 좌표들의 리스트로부터 팔각형 에지들을 생성하기 위하여 사용될 것이다. 예를 들어, 앞서 설명된 각 근접하는 좌표들의 쌍이 팔각형의 세그먼트를 생성하기 위하여 사용될 것이다.
금속 형상들이나 또는 다른 경로 세그먼트들을 생성하기 위하여, X,Y 좌표들의 쌍이 생성될 것이다. 네트들(618)과 유사한 스네이크 패턴들(sneak patterns)을 생성하기 위하여, 주어진 거리(d)에서의 팔각형 오프셋 주위의 좌표들이 생성될 것이다. 그리고 주어지 너비(W)의 금속 형상들이, 각 에지들의 오프셋 에지들(offset edges)이 생성될 것이다.
일 실시 예에 있어서, d+w/2의 거리의 옥타곤 주위의 좌표들이 확인될 것이다. 예를 들어, 도 1의 세그먼트들(104)의 좌표들이 확인될 것이다. 이 후, 그러한 좌표들은 금속 형상들을 생성하기 위하여 사용될 것이다. 이를 달성하기 위하여, 팔각형의 좌표들은 새로운 좌표들을 획득하기 위하여 확장되거나 새롭게 크기가 조정될 수 있다. 먼저 팔각형의 개개의 에지들은 거리 d+W/2의 실질적으로 평행한 에지들을 발견하도록 확장될 것이다. 평행한 에지들의 새로운 좌표들은 대응하는 에지의 X와 Y의 좌표들로부터 값을 더하거나 빼는 것에 의하여 얻어질 것이다. 수평 및 수직의 에지들의 새로운 좌표들은 d+W/2를 더하거나 빼는 것에 의하여 얻어지며, 반면에 45°의 에지들은 해당 에지의 직각삼각형에 의존하는 ((d+W/2)*sin45) 또는 ((d+W/2)*cos45)의 덧셈 및/또는 뺄셈에 의하여 얻어진다. 비록 여기서 sin45가 cos45와 동일하다고 하더라도, 다른 각도들을 갖는 다른 실시 예들에 있어서, 그 값들은 동일하지 않을 것이다. 따라서, 직각삼각형의 적절한 변의 길이는 적절하게 더하여 지가나 줄어들 수 있다.
다음으로 이러한 에지들의 교차점이 새롭게 확정된 좌표들을 발견하기 위하여 사용될 것이다. 이러한 에지들의 교차점은 다른 직각삼각형을 사용하는 것에 의하여 발견될 수 있다. 이러한 삼각형들의 반대편 또는 근접하는 변들은 두 개의 인접하는 에지들 사이의 X 및 Y 좌표들에 차이가 있다. 이러한 차이는 두 개의 인접하는 확정된 에지들이 교차하는 새로운 X 및 Y 좌표를 계산하는데 사용된다.
비록 좌표들을 발견하기 위하여 특정한 기술이 앞서 설명되었지만, 다른 기술들이 사용될 수도 있다. 예를 들어, 오리진(origin) 팔각형의 정점(vertex)이 확장되고 확장된 정점들이 확장된 다각형의 정점들의 위하여 사용될 수 있다.
일단 확장된 다각형이 생성되면, 범프들 주위의 금속 형상들이 생성될 것이다. 그러나 파이프(pipes)라고 불리우는 금속 형상들을 생성하는 것을 원할 수도 있다. 파이프들은 개개의 팔각형의 에지들의 정점들로부터 비롯된 금속 조각들로 파이프_길이(pipe_length)라 칭해지는 길이로 연장된 것이다. 파이프들은 범프들에 접근하기 위한 공간을 제공한다. 파이프들은 앞서 설명된 경로 세그먼트들(122)과 유사할 것이다.
팔각형 범프 주위의 금속 형상들을 생성하기 위하여, "생성_메탈_형상_주위_범프(create_metal_shapes_around_bump)"라 칭해지는 함수가 다음의 입력들을 취할 수 있다. 1) 에지들(edges) - 에지의 좌표들의 연결을 위하여 생성될 필요가 있는 금속 형상들의 에지들의 리스트, 각 에지들에 대하여 그 값들은 0-7일 것이다. 2) 파이프_에지들(pipe_edges) - 생성될 필요가 있는 파이프 금속 형상들의 에지들의 리스트, 각 에지들에 대하여 그 값은 0-7일 것이다. 3) 파이프_길이(pipe_length) - 파이프 금속 형상의 길이, 그 값은 실수(float) 또는 정수(integer)일 것이다. 4) 거리(distance)- 팔각형 범프 경계로부터의 금속의 거리, 그 값은 실수 또는 정수일 것이다. 5) 너비(width) - 금속의 너비, 그 값은 실수 또는 정수일 것이다. 6) 네트_네임(Net_name) - VDD, VSS 등과 같이 생성될 필요가 있는 금속 형상을 위한 네트의 이름. 7) 옥타곤(Octagon) - 팔각형의 좌표들.
함수의 결과는 제공된 입력들의 선택에 기초한 범프 주위의 일반적인 금속 형상들의 생성일 것이다. 에지들(edges)과 파이프_에지들(pine_edges)의 모든 순열들(permutations)과 조합들(combinations)은 형상들을 생성하기 위하여 사용될 수 있다. 앞서 설명된 도 5 내지 도 10은 함수의 출력의 보여준다.
비록 실수들과 정수들과 같은 특정한 파라미터 타입들이 앞서 설명되었다고 하더라도, 다른 타입들이 요구되는 정확성, 레이아웃 시스템의 능력(capability) 등을 위하여 사용될 수 있을 것이다.
일 실시 예에 있어서, 이러한 함수들을 위한 코드(code)는 다양한 언어들로 쓰여질 수 있다. 예를 들어, 코드는 TCL(Tool command Language)로 쓰여질 수 있으며, 사용되는 툴(tool)은 상업적 장소 및 경로 툴(commercial place and roote tool)일 수 있다.
따라서, 일 실시 예에 있어서, 코어 파워와 접지 스니킹(core power and ground sneaking)은 스네이크(snake)와 같은 패턴을 사용하여 생성될 수 있다. 이러한 경로들은 도 16에서 보여진 것과 같이 네트들을 스네이크 패턴으로 라우트하는 RDL 라우터를 위한 가이드와 같이 동작할 것이다. 스네이크 라우팅 패턴은 도 16의 것과 유사한 성취된 네트들(achieved net)일 것이다. 더욱 많은 코어 VDD/VSS의 일반적인 스네이킹이 있을 수 있으며, 이전의 오픈 IO 네트(open IO net) 중 하나가 깨끗하게 라우트 될 것이다.
도 17은 본 발명의 다른 실시 예에 따라 생성된 경로 세그먼트들의 예들을 보여주는 도면이다. 본 실시 예에 있어서, 형상(700)은 확장된 형상(702) 및/또는 정점들(704, 706)을 생성하는데 사용된다. 본 실시 예의 형상(700)은 앞서 설명된 형상(100)과 유사하다. 그러나, 다른 형상들도 사용 가능할 것이다. 경로 세그먼트들(707)은 정점(704)과 정점들(706) 중 대응하는 하나 사이에서 형성된다. 예를 들어, 경로 세그먼트(707_1)는 정점(704)과 정점(706_1) 사이에 형성되며, 경로 세그먼트(707_2)는 정점(704)과 정점(706_2) 사이에 형성된다.
앞서 설명된 경로 세그먼트들과 반대로, 경로 세그먼트들(707)은 확장된 형상(702)을 따를 필요가 없다. 즉, 경로 세그먼트들(707)을 생성하기 위하여 사용된 정점들은 확장된 형상(702)을 따르는 정점들에 인접하지 않는다. 이는 경로 세그먼트(707)가 인접하는 정점들로 구성된 경로 세그먼트들과 함께 사용될 수 없다는 것을 의미하는 것은 아니며, 경로 세그먼트들이 대체 및/또는 보충 경로 세그먼트들임을 의미한다.
비록 경로 세그먼트들(707)이 하나의 정점(704)을 공통으로 가지는 것으로 설명되었으나, 다른 세그먼트들은 다른 정점들을 공통으로 가질 수 있다. 즉, 정점(704)을 사용하는 것은 단지 하나의 실시 예에 불과할 뿐이며, 다른 경로 세그먼트들이 다른 인접하지 않는 정점들로 연장된 다른 정점들을 이용하여 생성될 수 있다.
도 18 및 도 19는 본 발명의 다양한 실시 예에 따른 경로 세그먼트들을 사용하여 생성된 경로들의 일부들의 예들을 보여주는 도면들이다. 도 17 및 도 18을 참조하면, 경로 세그먼트(708)는 경로 세그먼트(707_2)와 유사하게 생성된다. 경로 세그먼트(707_2)는 정점(704)으로부터 정점(706_2)으로 연장된다.
본 실시 예에 있어서, 경로 세그먼트(708)는 형상(700)과 겹친다. 그러나, 경로 세그먼트(708)는 형상(700)과 다른 레이어 상에 라우트 된다. 예를 들어, 경로 세그먼트(708)는 멀티-레이어 RDL을 갖는 레이아웃 내의 다른 RDL 레이어 상에 라우트 된다. 여기서, 바이어스(710, 712)는 경로 세그먼트(708)를 경로 세그먼트들(714, 716)에 연결한다.
비록 두 개의 바이어스(710, 712)가 도시되어 있지만, 다른 실시 예들에서는, 다른 경로 세그먼트들이 경로 세그먼트(708)로서 동일한 레이어 상에 배치될 수 있다. 예를 들어, 경로 세그먼트(716)는 경로 세그먼트(708)와 동일한 레이어에 배치될 수 있다. 경로 세그먼트들(708, 716)는 바이어스(712) 없이 연결될 수 있다.
도 17 및 19를 참조하면, 경로 세그먼트(718)는 다시 정점(704)으로부터 정점(706_2)으로 연장되며 경로 세그먼트들(714, 716)에 연결된다. 그러나, 경로 세그먼트(718)는 형상(700)과 동일한 레이어 상에 생성될 것이다. 결과적으로, 경로 세그먼트(718)는 형상(700)에 쇼트된다. 일 실시 예로써, 형상(700)과 경로 세그먼트(718)는 VSS 네트와 같은 동일한 네트의 일부 일 것이다. 따라서, 형상(700)과 교차하는 경로 세그먼트(718)가 선택될 것이다.
비록 경로 세그먼트들(714, 716, 718)이 사각형의 말단들을 갖는 것으로 도시되어 있지만, 말단들은 요구되는 모양으로 선택될 수 있다. 더욱이, 비록 경로 세그먼트들과 형상의 다양한 크기, 위치 등이 앞서 설명되었으나, 크기, 위치 등은 설계 규칙의 제약에 맞도록 선택될 수 있다.
도 20은 본 발명의 실시 예에 따른 라우팅을 수행하는 전자 시스템을 보여주는 도면이다. 전자 시스템(2000)은 휴대용 노트북 컴퓨터, Ultra-Mobile PCs(UMPC), 태블릿 PC, 서버, 워크스테이션, 모바일 커뮤니케이션 장치 등을 포함하는 컴퓨터와 같은 넓은 범위의 전자 장치의 일부일 수 있다. 예를 들어, 전자 시스템(2000)은 버스(2020)를 이용하여 데이터 통신을 수행하는 메모리 시스템(2012), 프로세서(2014), 램(2016), 유저 인터페이스(2018)를 포함할 것이다. 유저 인터페이스(2018)는 앞서 설명된 기술들을 이용하여 설계자로 하여금 레이아웃을 라우트 하는 것을 가능하게 할 것이다.
프로세서(2014)는 마이크로 프로세서 또는 모바일 프로세서(AP)일 것이다. 프로세서(2014)는 FPU(floating point unit), ALU(arithmetic logic uint), GPU(graphic processing unit), DSP core(digital signal processing core) 또는 그 조합들을 포함하는 프로세서 코어(미도시)를 포함할 것이다. 프로세서(2014)는 프로그램을 수행하고 전자 시스템(2000)을 제어할 것이다.
램(2016)은 프로세서(2014)의 동작 메모리로 사용될 것이다. 그 대신, 프로세서(2014)와 램(2016)은 하나의 싱글 패키지 바디(single package body)에 패키지 될 것이다.
유저 인터페이스(2018)는 전자 시스템(2000)으로부터 데이터를 출력하거나 전자 시스템(2000)에 데이터를 입력하는데 사용될 것이다. 예를 들어, 유저 인터페이스(2018)는 레이아웃을 보기 위한 디스플레이, 경로들을 조정하기 위한 입력 및 출력 장치, 초기화 자동 라우팅(initiate automatic routing) 또는 앞서 설명된 것들을 포함할 것이다.
메모리 시스템(2012)은 집적 회로의 레이아웃과 같이, 프로세서(2014)를 구동하기 위한 코드들, 프로세서(2014)에 의하여 처리되는 데이터, 또는 외부 입력 데이터를 저장할 것이다. 메모리 시스템(2012)은 컨트롤러 및 메모리를 포함할 것이다. 메모리 시스템은 하드 드라이브, 솔리드 스테이트 드라이브, 광학 드라이브, 플래시 메모리, 네트워크 소속 저장장치(network attached storage)와 같은 컴퓨터 판독 가능한 매체(computer readable media)에 대한 인터페이스를 포함할 것이다. 이러한 컴퓨터 판독 가능한 매체는 앞서 설명된 다양한 동작들을 수행하기 위한 명령어들을 저장할 것이다.
한편, 본 설명에 있어서, 하나의 실시 예 또는 일 실시 예는 특정한 특징, 구조, 특성들이 본 발명의 적어도 하나의 실시 예임을 의미하는 것이다.
따라서, 앞서 설명된 내용 중 여러 곳에서 사용된 하나의 실시 예 또는 일 실시 예라는 용어는 동일한 실시 예를 가리키는 것은 아니다. 더욱이, 소정의 특성, 구조 또는 특징들은 적당한 방법으로 하나 또는 복수의 실시 예들과 결합될 수 있을 것이다.
비록 구조, 방법, 시스템이 본 발명의 실시 예에 따라 설명되었지만, 본 발명의 기술적 사상이 이러한 실시 예들이 한정되는 것은 아님이 이해될 것이다. 따라서, 본 발명의 실시 예에 대한 다양한 응용 예 및 변형 예가 가능함이 이해될 것이다. 따라서, 이러한 다양한 응용 예 및 변형 예가 본 발명의 기술적 사상에 속함이 이해될 것이다.
100:형상
102:둘레선
103, 104:세그먼트
106, 107, 108: 거리
120, 121: 정점
110-1~110-8, 122-1~122-16, 123-1~123-3: 경로 세그먼트
200: 형상
204, 206, 208, 210: 경로 세그먼트
300: 형상
306, 308: 경로 세그먼트
400: 형상
402, 404, 408: 경로 세그먼트
500:형상
504: 직선 세그먼트
508:호 세그먼트
600:레이아웃
602, 604, 606: 범프

Claims (40)

  1. 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하는 단계;
    상기 둘레선으로부터 오프셋 세그먼트를 생성하도록 상기 형상의 둘레선의 세그먼트의 적어도 일부를 오프셋하는 단계;
    상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하는 단계;
    상기 경로 세그먼트를 포함하는 경로의 적어도 일부를 생성하는 단계; 및
    상기 경로의 적어도 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적은 방법.
  3. 제1항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 원호인 방법.
  4. 제1항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하는 단계; 및
    상기 정점으로부터 세그먼트를 연장하는 단계를 더 포함하며,
    상기 네트를 라우팅하는 단계는 상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅하는 방법.
  5. 제1항에 있어서,
    상기 연장된 세그먼트는 상기 둘레선에 실질적으로 수직으로 연장되는 방법.
  6. 제1항에 있어서,
    상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하는 단계는
    상기 형상의 복수의 세그먼트들을 선택하는 단계; 및
    대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하는 단계를 포함하며,
    상기 방법은, 적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 늘리는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 형상은 팔각형인 방법.
  8. 제1항에 있어서,
    상기 형상은 범프인 방법.
  9. 제1항에 있어서,
    상기 형상은 제2 네트인 방법
  10. 제1항에 있어서,
    상기 네트는 제1 네트라고 칭해지며,
    상기 방법은, 범프로부터 핀으로 제2 네트를 라우팅하는 단계를 더 포함하며,
    상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함하는 방법.
  11. 제10항에 있어서,
    상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서,
    제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하는 단계; 및
    상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅하는 단계를 더 포함하는 방법.
  13. 제1항에 있어서,
    반도체 장치의 재분배 레이어 상에 상기 네트를 라우팅하는 단계를 더 포함하는 방법.
  14. 제1항에 있어서,
    상기 오프셋 세그먼트에 응답하여 상기 경로 세그먼트를 형상하는 단계는 상기 형상의 비-인접 정점들에 기초하여 정점들을 이용하여 상기 경로 세그먼트를 형성하는 방법.
  15. 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하는 단계;
    확장된 세그먼트를 생성하도록 상기 형상의 상기 세그먼트의 적어도 일부를 확장하는 단계;
    상기 확장된 세그먼트에 응답하여 경로 세그먼트를 형성하는 단계;
    상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하는 단계; 및
    상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 둘레선의 상기 세그먼트의 상기 적어도 일부는 상기 형상의 복수의 세그먼트들을 포함하는 방법.
  17. 제15항에 있어서,
    상기 둘레선의 상기 세그먼트의 상기 적어도 일부는 상기 형상의 모든 세그먼트들보다 적은 방법.
  18. 제15항에 있어서,
    상기 확장된 상기 둘레선의 상기 세그먼트의 상기 적어도 일부의 좌표를 발견하는 단계; 및
    상기 좌표를 이용하여 상기 네트를 라우팅하는 단계를 더 포함하는 방법.
  19. 메모리; 및
    프로세서를 포함하며,
    상기 메모리는 둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 저장하고,
    상기 프로세서는
    오프셋 세그먼트를 생성하도록 상기 둘레선으로부터 상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하고;
    상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하고;
    상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하고; 그리고
    상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우트하는, 네트 라우팅 시스템.
  20. 제19항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적은 네트 라우팅 시스템.
  21. 제19항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 원호인 네트 라우팅 시스템.
  22. 제19항에 있어서,
    상기 프로세서는
    상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하고;
    상기 정점으로부터 세그먼트를 연장하며;
    상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅하는 네트 라우팅 시스템.
  23. 제22항에 있어서,
    상기 연장된 세그먼트는 상기 둘레선에 실질적으로 수직인 네트 라우팅 시스템.
  24. 제19항에 있어서,
    상기 프로세서는
    상기 형상의 복수의 세그먼트들을 선택하고;
    대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하고;
    적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 연장하는 네트 라우팅 시스템.
  25. 제19항에 있어서,
    상기 형상은 팔각형인 네트 라우팅 시스템.
  26. 제19항에 있어서,
    상기 형상은 범프인 네트 라우팅 시스템.
  27. 제19항에 있어서,
    상기 형상은 제2 네트인 네트 라우팅 시스템.
  28. 제19항에 있어서,
    상기 네트는 제1 네트라고 칭해지며,
    상기 프로세서는 범프로부터 핀으로 제2 네트를 라우팅하며;
    상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함하는 네트 라우팅 시스템.
  29. 제19항에 있어서,
    상기 프로세서는 상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅하는 네트 라우팅 시스템.
  30. 제19항에 있어서,
    상기 프로세서는
    제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하고; 그리고
    상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅하는 네트 라우팅 시스템.
  31. 제19항에 있어서,
    상기 프로세서는 반도체 장치의 재분배 레이어 상에 상기 네트를 라우팅하는 네트 라우팅 시스템.
  32. 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 매체이며,
    상기 비-일시적 컴퓨터 판독 가능 매체의 상기 명령어들은
    둘레선을 가지는 형상을 포함하는 집적 회로의 레이아웃을 수신하고;
    상기 둘레선으로부터 오프셋 세그먼트를 생성하도록 상기 형상의 둘레선의 세그먼트의 적어도 일부를 오프셋하고;
    상기 오프셋 세그먼트에 응답하여 경로 세그먼트를 형성하고;
    상기 경로 세그먼트를 가지는 경로의 적어도 일부를 생성하고;
    상기 경로의 일부를 이용하여 상기 집적 회로의 상기 레이아웃 내의 네트를 라우팅하는 명령어들을 포함하는 비-일시적 컴퓨터 판독 가능 매체.
  33. 제32항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 상기 둘레선의 모든 세그먼트들보다 적은 비-일시적 컴퓨터 판독 가능 매체.
  34. 제32항에 있어서,
    상기 둘레선의 세그먼트의 상기 적어도 일부는 원호인 비-일시적 컴퓨터 판독 가능 매체.
  35. 제32항에 있어서,
    상기 명령어들은
    상기 둘레선의 세그먼트의 상기 적어도 일부를 이용하여 정점을 생성하는 명령어; 그리고
    상기 정점으로부터 세그먼트를 연장하는 명령어를 더 포함하며,
    상기 네트를 라우팅하는 것은 상기 연장된 세그먼트를 이용하여 상기 네트를 라우팅하는 것을 포함하는 비-일시적 컴퓨터 판독 가능 매체.
  36. 제35항에 있어서,
    상기 정점으로부터 연장된 상기 세그먼트는 상기 둘레선에 실질적으로 수직으로 연장되는 비-일시적 컴퓨터 판독 가능 매체.
  37. 제32항에 있어서,
    상기 형상의 상기 둘레선의 세그먼트의 적어도 일부를 오프셋하는 명령어는
    상기 형상의 복수의 세그먼트들을 선택하고;
    대응하는 상기 형상의 에지에 대하여 실질적으로 수직의 방향으로 상기 형상의 상기 선택된 세그먼트들을 각각 오프셋하며;
    상기 명령어들은
    상기 경로의 적어도 일부를 형상하기 위하여 적어도 하나의 다른 오프셋 세그먼트와 교차되도록 상기 형상의 상기 오프셋 세그먼트들을 각각 늘리는 명령어를 더 포함하는 비-일시적 컴퓨터 판독 가능 매체.
  38. 제32항에 있어서,
    상기 네트는 제1 네트라고 칭해지며,
    상기 명령어들은 범프로부터 핀으로 제2 네트를 라우팅하는 명령어를 더 포함하며,
    상기 형상은 상기 범프 및 상기 제2 네트 중 적어도 하나를 포함하는 비-일시적 컴퓨터 판독 가능 매체.
  39. 제38항에 있어서,
    상기 명령어들은 상기 제1 네트를 상기 범프에 인접하는 바이어스에 라우팅 하기 위한 명령어를 더 포함하는 비-일시적 컴퓨터 판독 가능 매체.
  40. 제32항에 있어서,
    상기 명령어들은
    제3 형상의 적어도 하나의 세그먼트를 생성하도록 제2 형상의 둘레선을 확장하는 명령어; 그리고
    상기 제3 형상의 상기 적어도 하나의 세그먼트를 이용하여 상기 네트를 라우팅하는 명령어를 더 포함하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020140034657A 2013-03-25 2014-03-25 개선된 네트 라우팅을 제공하는 시스템 및 방법 KR20140116826A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361804988P 2013-03-25 2013-03-25
US61/804,988 2013-03-25
US14/029,728 2013-09-17
US14/029,728 US20140289693A1 (en) 2013-03-25 2013-09-17 System and method for improved net routing

Publications (1)

Publication Number Publication Date
KR20140116826A true KR20140116826A (ko) 2014-10-06

Family

ID=51570117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140034657A KR20140116826A (ko) 2013-03-25 2014-03-25 개선된 네트 라우팅을 제공하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US20140289693A1 (ko)
JP (1) JP2014186734A (ko)
KR (1) KR20140116826A (ko)
CN (1) CN104077430A (ko)
TW (1) TW201447621A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305131B2 (en) * 2013-12-03 2016-04-05 Mediatek Inc. Method for flip chip packaging co-design
TWI571760B (zh) * 2015-12-09 2017-02-21 英業達股份有限公司 佈局檢查系統及其方法
US10817642B1 (en) 2018-03-13 2020-10-27 Synopsys, Inc. Systems and methods for reserving IC design spacing for power net routing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092061A (ja) * 2000-09-19 2002-03-29 Shinko Electric Ind Co Ltd 半導体パッケージの配線編集方法
US6526540B1 (en) * 2001-01-08 2003-02-25 Lsi Logic Corporation Flip chip trace library generator
US7730440B2 (en) * 2005-06-30 2010-06-01 Scott Pitkethly Clock signal distribution system and method
US7904864B2 (en) * 2006-10-07 2011-03-08 Active-Semi, Inc. Interconnect layer of a modularly designed analog integrated circuit

Also Published As

Publication number Publication date
CN104077430A (zh) 2014-10-01
JP2014186734A (ja) 2014-10-02
US20140289693A1 (en) 2014-09-25
TW201447621A (zh) 2014-12-16

Similar Documents

Publication Publication Date Title
JP6235034B2 (ja) 閉塞部分を有するハードマクロ、同じものを含む集積回路、およびハードマクロを通過するル―ティングの方法
US11031385B2 (en) Standard cell for removing routing interference between adjacent pins and device including the same
US20190258768A1 (en) System for designing integrated circuit layout and method of making the integrated circuit layout
CN111368493B (zh) 一种基于稀疏网格的自动版图布线生成方法
KR101534121B1 (ko) 삼차원 물체의 보호 구역을 계산하도록 구성되는 방법 및 시스템
JP2013077844A (ja) 局所優先方向アーキテクチャ、ツール、及び機器
US20210183768A1 (en) Integrated circuits including via array and methods of manufacturing the same
TWI445150B (zh) 電源供應網之規劃方法
KR20140116826A (ko) 개선된 네트 라우팅을 제공하는 시스템 및 방법
JP2022159320A (ja) 鎖状量子チップ及びその配線方法、装置、電子デバイス、記憶媒体、並びにコンピュータプログラム
JP2007287908A (ja) 半導体集積回路及び半導体集積回路の設計方法
JP2007173760A (ja) 半導体集積回路及びその設計方法
US10936784B2 (en) Planning method for power metal lines
US9864829B2 (en) Multilayer substrate, design method of multilayer substrate, manufacturing method of semiconductor device, and recording medium
US7310793B1 (en) Interconnect lines with non-rectilinear terminations
US7069530B1 (en) Method and apparatus for routing groups of paths
US8171444B2 (en) Layout design method, apparatus and storage medium
US11552067B2 (en) Semiconductor cell blocks having non-integer multiple of cell heights
CN109709762B (zh) 一种通孔层的opc修正方法
JP6328974B2 (ja) 半導体装置及び半導体装置の設計手法
US7797649B1 (en) Method and system for implementing an analytical wirelength formulation
JP3157732B2 (ja) 対話型配線パターン作成システム
US20200201954A1 (en) Method of designing a layout for a semiconductor integrated circuit
Liu et al. Substrate topological routing for high-density packages
WO2024021797A1 (zh) 芯片版图的布线方法、装置、设备、存储介质及芯片版图

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination