KR100896801B1 - 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체 - Google Patents

반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체

Info

Publication number
KR100896801B1
KR100896801B1 KR1020070050556A KR20070050556A KR100896801B1 KR 100896801 B1 KR100896801 B1 KR 100896801B1 KR 1020070050556 A KR1020070050556 A KR 1020070050556A KR 20070050556 A KR20070050556 A KR 20070050556A KR 100896801 B1 KR100896801 B1 KR 100896801B1
Authority
KR
South Korea
Prior art keywords
wiring
point
pin
setting
same signal
Prior art date
Application number
KR1020070050556A
Other languages
English (en)
Other versions
KR20080103364A (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 KR1020070050556A priority Critical patent/KR100896801B1/ko
Publication of KR20080103364A publication Critical patent/KR20080103364A/ko
Application granted granted Critical
Publication of KR100896801B1 publication Critical patent/KR100896801B1/ko

Links

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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Abstract

반도체 배선 경로 설정 방법 및 이를 구현하기 위한 프로그램을 기록한 기록 매체가 개시된다. 본 발명의 실시예에 따르면 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 있어서, (a) 배선 금지 영역을 설정하는 단계; (b) 상기 배선 금지 영역을 제외한 배선 영역 상에 탐색 그래프를 생성하는 단계; (c) 상기 동일 신호 핀들 각각에 대하여 적어도 하나의 후보 포인트를 설정하는 단계; 및 (d) 상기 후보 포인트를 핀별로 하나씩 선택하여 상기 탐색 그래프 상에서 상기 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정하는 단계를 포함하는 반도체 배선 경로 설정 방법이 제공된다. 본 발명은 향후 계속적으로 늘어날 다양한 설계 규칙들에 능동적으로 대처할 수 있음은 물론, 반도체 배선 경로를 설정함에 있어 최소한의 비용(메모리 사용량, 배선 시간 등)으로 최단 거리의 배선이 가능한 효과가 있다.

Description

반도체 배선 경로 설정 방법 및 이를 실행하기 위한 프로그램을 기록한 기록 매체{Routing Method for forming interconnetion line and record medium recorded program for realizing the same}
본 발명은 반도체 설계 기술에 관한 것으로서, 보다 상세하게는 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 관한 것이다.
배치 및 배선(Placement and Routing)은 반도체 레이아웃 설계에 있어서 주요한 과정으로서, 설계 규칙(layout design rule)을 준수하면서도 제작되는 반도체 장치(예를 들어, VLSI, PCB 등)의 전체 크기는 작게, 연결 배선의 길이는 짧게 하는 것을 그 목표로 한다. 특히, 최근의 모바일 환경, 유비쿼터스 환경은 제작되는 반도체 장치가 보다 초소형, 고밀도, 대용량일 것을 요구하고 있다. 이러한 요구에 따라 반도체 장치의 제조사들은 초소형, 고밀도, 대용량의 반도체 장치를 제작하기 위하여 반도체 배치, 배선을 위한 설계 규칙을 새로이 정의하거나 변경, 추가하고 있다.
그러나 종래의 배선 경로 설정을 위한 상용 툴은 추가 또는 변경된 설계 규칙들을 새로이 고려함에 있어서 그 튜닝(tunning)에 지나치게 많은 시간을 소비하는 등 배선 비용(배선 시간, 메모리 사용량 등) 면에서 비효율적이라는 문제점이 있다. 즉, 종래의 배선 경로 설정 방법은 향후 계속적으로 늘어날 다양한 설계 규칙에 대하여 능동적으로 대처할 수 없는 한계가 있는바, 향후 늘어날 다양한 설계 규칙들에 능동적으로 대처할 수 있는 배선 경로 설정 방법(routing method)의 개발이 필요한 실정이다.
따라서, 본 발명은 향후 늘어날 다양한 설계 규칙들에 대처하여 설계 규칙의 새로운 추가, 변경 등에 관계없이 적용가능한 반도체 배선 경로 설정 방법 및 이를 실행하기 위한 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명은 소프트 핀 방식의 핀 설정을 이용함으로써 가변 간격 및 선폭을 갖는 경우, 핀의 크기가 다양한 경우 등에도 능동적으로 대처할 수 있어 보다 효율적인 배선 경로 설정이 가능한 반도체 배선 경로 설정 방법 및 이를 실행하기 위한 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명은 최간 거리의 배선 경로의 설정을 위해 변형된 크루스칼 알고리즘을 적용한 라우팅 알고리즘을 이용함으로써, 배선 비용(메모리 사용량, 배선 시간 등)의 최소화, 배선 효율, 신뢰성을 보다 향상시킬 수 있는 반도체 배선 경로 설정 방법 및 이를 실행하기 위한 프로그램을 기록한 기록 매체를 제공한다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 있어서, (a) 배선 금지 영역을 설정하는 단계; (b) 상기 배선 금지 영역을 제외한 배선 영역 상에 상기 동일 신호 핀간의 배선 연결 경로의 탐색을 위한 탐색 그래프를 생성하는 단계; (c) 상기 동일 신호 핀들 각각에 대하여 상기 탐색 그래프가 상기 동일 신호 핀을 통과하는 통과 포인트들 중 미리 설정된 기준에 부합하는 적어도 하나의 포인트를 상기 동일 신호 핀간의 배선 연결 경로의 설정을 위한 후보 포인트로 설정하는 단계; 및 (d) 상기 후보 포인트를 핀별로 하나씩 선택하여 상기 탐색 그래프 상에서 상기 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정하는 단계를 포함하는 반도체 배선 경로 설정 방법이 제공될 수 있다.
여기서, 본 발명의 상기 단계 (a)는, (a1) 상기 반도체 레이아웃 상에 배치된 장애물을 포함하는 장애물 영역을 설정하는 단계; 및 (a2) 상기 장애물 영역의 각 변(edge)으로부터 각각 소정 간격만큼 이격된 상기 배선 금지 영역을 설정하는 단계를 포함할 수 있다.
여기서, 상기 장애물은 반도체 로직 또는 기연결된 배선일 수 있다. 또한, 상기 장애물 영역은 상기 장애물을 포함하여 최소 면적을 갖도록 설정될 수 있다. 또한, 장애물 영역은 직사각형 형태로 설정될 수 있다.
여기서, 상기 단계 (a2)의 상기 소정 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing)으로 설정될 수 있다.
여기서, 본 발명의 상기 단계 (b)는, (b1) 상기 배선 금지 영역의 각 변을 연장시킨 연장 격자선을 이용하여 제1 탐색 그래프를 생성하는 단계; 및 (b2) 상기 동일 신호 핀들 중 상기 제1 탐색 그래프가 통과하지 않은 미통과 핀에 대하여 상기 미통과 핀을 통과하는 제2 탐색 그래프를 생성하는 단계를 포함할 수 있다.
여기서, 본 발명의 상기 단계 (b)는, (b3) 상기 연장 격자선과 평행한 적어도 하나의 평행 격자선을 생성하는 단계를 더 포함하되, 상기 제1 탐색 그래프는 상기 연장 격자선 및 상기 평행 격자선으로 구성될 수 있다.
여기서, 상기 연장 격자선과 상기 연장 격자선에 인접한 상기 평행 격자선 간의 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing)으로 설정될 수 있다.
여기서, 상기 미통과 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는, (b4) 상기 미통과 핀의 변에서 적어도 하나의 포인트를 지정하는 단계; 및 (b5) 상기 지정 포인트가 포함된 해당 변의 수직 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함할 수 있다. 이때, 상기 지정 포인트는 상기 미통과 핀의 변에서 중앙 포인트, 끝 포인트 및 상기 배선 금지 영역의 각 변 또는 기생성된 격자선으로부터 소정 간격만큼 이격되어 위치하는 이격 포인트 중 어느 하나 이상이 선택될 수 있다.
여기서, 상기 배선 금지 영역의 각 변 또는 상기 기생성된 격자선과 상기 이격 포인트 간의 이격 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing) 또는 그 배수로 설정될 수 있다.
여기서, 상기 미통과 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는, (b6) 상기 미통과 핀의 내부에서 적어도 하나의 포인트를 지정하는 단계; 및 (b7) 상기 미통과 핀의 변에 평행한 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함할 수 있다. 이때, 상기 지정 포인트는 상기 미통과 핀의 내부에서 중앙 포인트, 좌측 포인트 및 우측 포인트 중 어느 하나 이상이 선택될 수 있다.
여기서, 상기 동일 신호 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우, 상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀의 각 변과 교차하는 통과 포인트로 결정될 수 있다.
여기서, 상기 동일 신호 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우, 상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀 내부의 중앙 통과 포인트, 좌측 통과 포인트 및 우측 통과 포인트 중 어느 하나 이상으로 결정될 수 있다.
여기서, 본 발명의 상기 단계 (d)는, (d1) 상기 동일 신호 핀들 중 어느 2개의 핀간을 최단 거리로 연결하는 후보 포인트를 연결 포인트로 설정하는 단계; (d2) 배선 경로가 미설정된 핀의 후보 포인트 중 연결 포인트로부터 최단 거리를 갖는 어느 하나의 후보 포인트를 상기 연결 포인트로 추가하는 단계; 및 (d3) 상기 동일 신호 핀 전부에 대하여 연결 포인트가 하나씩 설정될 때까지 상기 단계 (d2)를 반복 수행하는 단계를 포함할 수 있다.
여기서, 상기 단계 (d1) 이전에, (d4) 서로 다른 핀에 존재하는 후보 포인트 간의 배선 예상 거리를 산출하는 단계; 및 (d5) 상기 산출된 배선 예상 거리 및 이와 관련된 해당 후보 포인트를 저장하는 단계를 더 포함할 수 있다.
여기서, 상기 단계 (d5)는, (d6) 상기 배선 예상 거리가 짧은 순서대로 정렬시키는 단계를 포함할 수 있다.
여기서, 상기 단계 (d1)은, (d7) 상기 정렬된 순서에 따라 상기 배선 예상 거리가 가장 짧은 것으로 결정된 2개의 후보 포인트를 추출하는 단계; 및 (d8) 상기 추출된 2개의 후보 포인트를 상기 2개의 핀 간의 연결 포인트로 설정하는 단계를 포함할수 있다.
여기서, 상기 단계 (d3) 이후에, (d10) 상기 동일 신호 핀들 간에 설정된 모든 배선 경로에 상응하여 경로 설정 조건을 수정하는 단계를 더 포함할 수 있다.
여기서, 상기 단계 (d10)은, (d11) 상기 동일 신호 핀들 간에 설정된 상기 모든 배선 경로를 상기 배선 금지 영역에 추가하는 단계; 및 (d12) 상기 추가된 배선 금지 영역에 상응하여 상기 탐색 그래프를 갱신하는 단계를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 관한 명령어들의 프로그램이 유형적으로 구현되어 있으며, 컴퓨터에 의해 판독될 수 있는 기록 매체로서, (a) 배선 금지 영역을 설정하는 단계; (b) 상기 배선 금지 영역을 제외한 배선 영역 상에 상기 동일 신호 핀간의 배선 연결 경로의 탐색을 위한 탐색 그래프를 생성하는 단계; (c) 상기 동일 신호 핀들 각각에 대하여 상기 탐색 그래프가 상기 동일 신호 핀을 통과하는 통과 포인트들 중 미리 설정된 기준에 부합하는 적어도 하나의 포인트를 상기 동일 신호 핀간의 배선 연결 경로의 설정을 위한 후보 포인트로 설정하는 단계; 및 (d) 상기 후보 포인트를 핀별로 하나씩 선택하여 상기 탐색 그래프 상에서 상기 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정하는 단계를 포함하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체가 제공될 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 반도체 배선 경로 설정 방법을 나타낸 순서도이다. 여기서, 도 1은 반도체 레이아웃(layout) 상에서 동일 신호가 입력되는 핀(이하, 이를 '동일 신호 핀'이라 하며, 이러한 동일 신호 핀들로 구성된 하나의 집합(group)을 '네트(net)'라 칭함)간을 배선 연결하기 위한 반도체 배선 경로 설정 방법(라우팅 방법)을 크게 4개의 단계로 나누어 나타낸 것으로서, 특히 하나의 네트를 구성하는 동일 신호 핀들(고집적회로의 경우를 하나의 네트를 구성하는 동일 신호 핀은 수백개에 달할 수 있음)간을 배선 연결하기 위한 경로 설정 방법을 기준하여 도시한 것이다.
또한, 본 명세서에서의 '배선'은 동일 레이어 내에서의 금속선(metal wire) 등을 이용한 동일 신호 핀간의 연결은 물론, 서로 상이한 레이어 간에 비아(via) 등을 이용한 동일 신호 핀간의 연결을 통칭하는 용어로 사용한다.
이하, 도 2 내지 도 5를 함께 참조하여 본 발명에 따른 반도체 배선 경로 설정을 위한 도 1의 각 단계를 상세히 설명하기로 한다.
도 1의 단계 S110을 참조하면, 배치된 반도체 레이아웃 상에서 배선 금지 영역을 설정한다. 이때, 배선 금지 영역은 반도체 레이아웃 상에 배치된 반도체 로직(칩, 모듈), 기연결된 배선 등과 같이 동일 신호 핀간의 배선 연결을 위한 경로 설정에 있어 장애가 되는 객체(이하, 이를 장애물이라 함)의 위치에 상응하여 설정될 수 있다.
배선 금지 영역의 설정에는 예를 들어 다음과 같은 방법이 이용될 수 있다. 먼저 반도체 레이아웃 상의 장애물의 위치에 따라 장애물 영역을 설정한다. 이때, 장애물 영역은 배선 가용 면적을 최대로 확보하기 위하여 장애물을 포함하되 최소 면적을 갖도록 설정하는 것이 바람직하다.
이후, 장애물 영역의 각 변(edge)을 기준으로 소정 간격 만큼 이격시킨 위치에 배선 금지 영역을 설정한다. 이 경우에도 배선 가용 면적을 고려할 때, 장애물 영역의 각 변으로부터 레이아웃 설계 규칙에 따라 요구되는 최소 간격(minimum spacing) 만큼 이격시킨 영역까지를 배선 금지 영역으로 설정하는 것이 바람직할 수 있다.
이하, 도 2를 참조하여 장애물 영역 및 배선 금지 영역의 설정 방법을 설명하면 다음과 같다. 도 2에는 제1 장애물 영역(100), 제2 장애물 영역(200) 및 제3 장애물 영역(300)과 각각에 따른 3개의 배선 금지 영역(즉, 제1 금지 영역(150), 제2 금지 영역(250) 및 제3 금지 영역(350)) 및 4개의 동일 신호 핀(도 2의 식별번호 10, 20, 30 및 40 참조, 이하 이를 순서대로 제1 핀 내지 제4 핀이라 함)이 모두 직사각형의 형태로 설정된 경우가 예시되고 있다. 이와 같이 각 영역 및 핀들을 직사각형 형태를 갖도록 설정하는 이유는 배선 연결을 위한 경로 설정을 함에 있어 경로 탐색, 설정의 복잡성을 최대한 줄여 보다 빠른 시간 내에 라우팅을 완료하기 위함이며, 다만 이와는 다른 형태의 다각형, 폐곡선 등의 형태로 설정할 수도 있음은 자명하다. 또한, 본 실시예에서는 배선 연결의 경로를 설정함에 있어서 배선과 장애물 간의 접선(接線) 위험을 고려하여 장애물을 포함하여 최소 면적을 갖는 장애물 영역을 먼저 설정한 후, 설정된 장애물 영역을 기준으로 소정 간격 이격시킨 영역까지를 배선 금지 영역으로 정의하였지만, 이와 다른 방식으로 정의할 수도 있음은 물론이다.
이와 같이 본 발명에서는 본 단계를 통하여 배선 금지 영역의 설정 과정을 두고, 후술할 단계에서 생성될 탐색 그래프가 이러한 배선 금지 영역을 통과하지 않도록 설정함으로써 장애물을 회피하여 동일 신호 핀 간의 배선 경로의 설정을 가능하게 한다.
도 1의 단계 S120을 참조하면, 배선 금지 영역을 설정한 이후에는 배선 금지 영역을 제외한 영역(이하, 이를 배선 영역이라 함) 상에 탐색 그래프를 생성한다. 탐색 그래프는 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 탐색하는데 이용하기 위한 그래프로서, 수평 선분 및 수직 선분으로 이루어진 소정의 격자선들을 이용하여 구성할 수 있다. 탐색 그래프는 예를 들어 아래와 같은 방법 및 순서로 생성될 수 있다.
먼저, 배선 금지 영역의 각 변을 배선 영역 상에 연장시킨 격자선(이하, 이를 연장 격자선이라 함)을 생성한다(제1 과정). 일 예로서 도 3의 경우, 제1 금지 영역(150)의 각 변을 연장한 3개의 연장 격자선(도 3의 식별번호 111, 112 및 113 참조), 제2 금지 영역(250)의 각 변을 연장한 4개의 연장 격자선(도 3의 식별번호 211, 212, 213 및 214 참조), 제3 금지 영역(350)의 각 변을 연장한 3개의 연장 격자선(도 3의 식별번호 311, 312 및 313 참조)이 제1 과정을 통해 생성될 수 있다.
이후, 연장 격자선과 평행하도록 배열시킨 격자선(이하, 이를 평행 격자선이라 함)을 배선 영역 상에 생성한다(제2 과정). 일 예로서 도 3의 경우, 제1 금지 영역(150)에 따른 각 연장 격자선과 평행한 3개의 평행 격자선(도 3의 식별번호 121, 122 및 123 참조), 제2 금지 영역(250)에 따른 각 연장 격자선과 평행한 4개의 평행 격자선(도 3의 식별번호 221, 222, 223 및 224 참조), 제3 금지 영역(350)에 따른 각 연장 격자선과 평행한 3개의 평행 격자선(도 3의 식별번호 321, 322 및 323 참조)이 제2 과정을 통해 생성될 수 있다.
다만, 도 3에서는 1개의 연장 격자선에 대하여 1개의 평행 격자선을 생성시키는 경우를 예시하고 있지만, 연장 격자선 별로 이에 대응하는 2개 이상의 평행 격자선을 생성시킬 수도 있음은 물론이다. 이때, 연장 격자선과 이에 인접한 평행 격자선 간의 간격(혹은 인접한 2개의 평행 격자선 간의 간격)은 레이아웃 설계 규칙에 따라 요구되는 최소 간격(minimum spacing)으로 설정될 수 있다. 이하, 상술한 제1 과정 및 제2 과정을 통해 생성되는 연장 격자선과 평행 격자선으로 구성되는 탐색 그래프를 제1 탐색 그래프라 명명하기로 한다.
이와 같이 제1 탐색 그래프를 구성함에 있어서 배선 금지 영역의 각 변을 기준하여 적어도 2개의 격자선(즉, 1개의 연장 격자선과 1개의 평행 격자선)을 생성시키는 이유는 배선 연결에 금속선(metal wire)이 이용되는 경우와 비아(via)가 이용되는 경우의 배선 금지 영역과 금속선 간 및 배선 금지 영역과 비아 간에 각각 요구되는 최소 간격(minimum spacing)이 서로 상이하기 때문이다. 따라서, 제1 탐색 그래프가 배선 금지 영역의 각 변을 기준하여 최소 2개의 격자선을 갖도록 구성되는 경우, 배선 연결에 금속선이 이용되는지, 비아가 이용되는지와 상관없이 배선 연결의 경로 설정을 함에 있어 배선과 장애물 간의 접선(接線) 위험을 방지할 수 있게 된다.
제1 과정 및 제2 과정 이후, 동일 신호 핀들 중 제1 탐색 그래프가 통과하지 않는 미통과 핀에 대하여 미통과 핀을 통과하는 제2 탐색 그래프를 생성한다(제3 과정). 이와 같이 제2 탐색 그래프를 생성하는 이유는 상술한 제1 과정 및 제2 과정을 통해 생성된 제1 탐색 그래프가 동일 신호 핀들 중 일부 핀을 지나지 않게 되면, 그 일부 핀에 대하여 경로 탐색을 수행할 수 없어 다른 동일 신호 핀과의 배선 연결을 할 수 없기 때문이다. 따라서, 미통과 핀이 존재하는 경우에는 그 미통과 핀을 지나는 별도의 격자선(이하, 이를 지정 격자선이라 함)을 생성해 줄 필요가 있다. 이하, 제3 과정을 통해 생성된 각각의 지정 격자선으로 구성된 탐색 그래프를 제2 탐색 그래프라 명명하기로 한다.
도 4의 경우를 예로 들면, 제2 핀(20)은 제1 탐색 그래프을 구성하는 각각의 연장 격자선 및 평행 격자선과 교차하는 교차점이 존재하지 않는다. 따라서, 제2 핀(20) 중 적어도 1개의 포인트(이하, 이를 지정 포인트라 함, 도 4의 식별번호 21, 22 및 23 참조)를 지정한 후, 그 지정 포인트를 기준하여 별도의 지정 격자선(도 4의 식별번호 141 및 142 점선 참조)을 생성하게 된다. 제3 과정을 통한 포인트 지정 방법 및 격자선 생성 방법을 보다 상세히 설명하면 다음과 같다.
예를 들어, 미통과 핀이 동일 레이어(layer) 내에서 금속선 등을 통해서 배선 연결되는 핀인 경우, 미통과 핀의 변(edge)에 존재하는 소정의 포인트를 지정 포인트로 지정할 수 있다. 일 예로 미통과 핀의 변에서의 중앙 포인트(도 4의 식별번호 21 참조), 끝 포인트(vertex), 이격 포인트(도 4의 식별번호 22 및 23 참조) 등과 같이 핀 간 연결 포인트로의 사용 빈도가 높은 포인트들 중 어느 하나 이상을 미통과 핀에 대한 지정 포인트로 지정하는 방법 등이 있을 수 있다. 여기서, 이격 포인트는 배선 금지 영역의 각 변 또는 기 생성된 격자선으로부터 소정 간격(예를 들어, 레이아웃 설계 규칙에 따른 최소 간격 또는 그 배수)만큼 이격하여 위치하는 미통과 핀의 변에서의 포인트를 의미한다. 이 경우 지정 격자선은 지정 포인트가 존재하는 해당 변의 수직 방향으로 상기 지정 포인트를 통과하도록 생성할 수 있다(도 4의 식별번호 141 및 142 참조).
또한, 미통과 핀이 서로 다른 레이어(layer) 간에 비아 등을 통해서 배선 연결되는 핀인 경우, 미통과 핀의 내부에 존재하는 소정의 포인트를 지정 포인트로 지정할 수 있다. 일 예로 미통과 핀 내부의 중앙 포인트(후술할 도 5의 식별 번호 32와 유사한 위치의 포인트), 좌우측 포인트(후술할 도 5의 식별번호 43 및 44와 유사한 위치의 포인트) 등과 같은 포인트들 중 어느 하나 이상을 미통과 핀에 대한 지정 포인트로 지정하는 방법 등이 있을 수 있다. 이 경우 지정 격자선은 미통과 핀의 각 변에 평행한 방향으로 상기 지정 포인트를 통과하도록 생성할 수 있다.
다만, 이상에서는 제1 탐색 그래프가 미통과하는 핀에 대해서만 지정 포인트를 설정하여 그에 따른 지정 격자선을 생성시키는 경우를 중심으로 설명하였지만, 제1 탐색 그래프가 통과하는 핀에 대해서도 지정 포인트를 설정한 후 그에 따른 지정 격자선을 생성시킬 수도 있음은 물론이다. 예를 들어, 넓은 핀 혹은 긴 핀의 경우에는 배선 연결에 이용될 후보 포인트를 보다 많이 두는 것이 최단 거리의 배선 경로 설정에 보다 유리할 수 있으며, 이러한 경우 등에는 제1 탐색 그래프와 교차되는 포인트가 있는 경우에도 핀의 적절한 위치에 별도의 지정 포인트를 더 설정함으로써 그에 따른 지정 격자선을 경로 탐색에 이용할 수 있게 함이 바람직할 수도 있기 때문이다.
도 1의 단계 S130을 참조하면, 탐색 그래프를 이용하여 핀별로 동일 신호 핀 간의 배선 연결 경로의 설정을 위한 후보 포인트를 생성(설정)한다. 이때, 후보 포인트는 탐색 그래프를 구성하는 각 격자선이 동일 신호 핀을 통과함에 따라 생기는 핀에서의 각 통과 포인트들 중 미리 설정된 기준에 부합하는 적어도 하나의 포인트로 설정될 수 있다.
예를 들어, 동일 신호 핀이 동일 레이어 내에서 금속선 등을 통해서 배선 연결되는 핀(도 5의 제1 핀(10) 및 제2 핀(20))인 경우, 미리 설정된 기준에 부합하는 핀별 후보 포인트는 탐색 그래프를 구성하는 각 격자선과 동일 신호 핀의 각 변(edge) 간의 교차 포인트(도 5에서 제1 핀(10)의 경우에는 식별번호 11 내지 18의 총 8개의 후보 포인트, 제2 핀(20)의 경우에는 식별번호 21 내지 23의 총 3개의 후보 포인트 참조)로 설정될 수 있다.
또한, 동일 신호 핀이 서로 다른 레이어 간에 비아 등을 통해서 배선 연결되는 핀(도 5의 제3 핀(30) 및 제4 핀(40))인 경우, 미리 설정된 기준에 부합하는 후보 포인트는 탐색 그래프를 구성하는 각 격자선이 동일 신호 핀을 통과할 때의 핀 내부의 중앙 통과 포인트, 좌측 통과 포인트 및 우측 통과 포인트 중 어느 하나 이상으로 설정될 수 있다. 예를 들어, 제3 핀(30)과 같은 좁은 핀의 경우에는 중앙 통과 포인트(식별번호 31 및 32의 총 2개의 후보 포인트)만을 후보 포인트로 설정하고, 제4 핀(40)과 같은 넓은 핀의 경우에는 좌측 및 우측 통과 포인트(식별번호 41 내지 44의 총 4개의 후보 포인트)를 후보 포인트로 설정하는 등과 같은 방식이 이용될 수 있다.
이때, 본 단계를 통해 설정되는 후보 포인트들은 그 전부가 실제 배선 연결에 이용되는 것은 아니며, 각 핀별로 하나씩의 후보 포인트가 선택됨으로써 동일 신호 핀 간의 배선 연결을 위한 경로 설정에 이용되게 된다. 즉, 실제 배선 연결에 있어서는 하나의 핀 중의 어느 하나의 후보 포인트가 다른 핀 중의 어느 하나의 후보 포인트와 연결되게 되는 것이다.
이와 같이 본 발명은 설정된 배선 금지 영역의 위치 및 배치된 핀의 위치에 따라 탐색 그래프를 생성하고, 생성된 탐색 그래프에 따라 유동적으로 결정(설정)되는 핀의 일부 포인트들을 배선 경로 설정에 이용되는 후보 포인트로 설정하는 소프트 핀 방식을 이용하고 있다. 본 발명과 같이 배선 경로 설정에 있어 소프트 핀 방식(즉, 라우팅을 하기 이전에 실제 연결할 핀의 위치가 미리 정해지지 않은 방식)을 이용하게 되면, 요구되는 배선 조건(예를 들어, 핀 크기의 가변성, 핀 위치의 가변성, 설계 규칙의 추가, 장애물 위치의 가변성 등)에 따라 실제 배선 연결할 핀의 포인트를 라우팅 도중에 유동적으로 결정할 수 있게 되므로 최적의 배선 경로를 설정할 수 있는 이점이 있다. 즉, 본 발명은 종래의 라우팅 방법과 달리 실제 배선 연결할 핀의 위치를 미리 정해놓지 않지 않고, 실제 배선 연결할 핀의 위치(포인트 위치)가 라우팅 과정을 진행하는 도중에 결정되는 유동 포인트(floating point)를 후보 포인트로서 이용함으로써 보다 효율적이고 최적의 배선 경로를 설정할 수 있게 하는 것이다.
도 1의 단계 S140을 참조하면, 후보 포인트를 핀별로 하나씩 선택하여 탐색 그래프 상에서 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정한다. 본 단계를 통한 동일 신호 핀간에 최단 거리를 갖는 배선 경로의 설정은 예를 들어 다음과 같은 세부 단계에 의할 수 있다. 이하에서 설명할 각 세부 단계는 도 6의 라우팅 알고리즘을 통한 경로 설정 원리에 따른 것으로서, 이후 도 6에 대한 설명을 통해서도 다시 한번 확인될 수 있을 것이다.
먼저, 이전 단계(도 1의 단계 S130)을 통해 핀별로 후보 포인트가 설정(즉, 핀별로 각 후보 포인트의 위치가 결정)되면, 각각의 후보 포인트별로 서로 다른 핀에 존재하는 후보 포인트들과의 거리(이하, 이를 배선 예상 거리라 함)를 모두 산출한 후, 산출된 배선 예상 거리를 이와 관련된 해당 후보 포인트의 위치와 함께 저장(이하, 이를 라우팅 정보라 함)할 수 있다. 또한 이때, 저장된 라우팅 정보는 배선 예상 거리가 짧은 순서대로 정렬(sorting)되어 저장될 수 있다. 이는 후술할 도 6의 라우팅 알고리즘에서 라인 2 내지 라인 4에 대한 설명을 통해 보다 명확하게 이해될 수 있을 것이다.
동일 신호 핀들에 대한 모든 라우팅 정보가 정렬 저장된 이후에는, 동일 신호 핀들 중에서 최초 어느 2개의 핀 간을 최단 거리로 연결하는 배선 경로를 설정한다. 최초 배선 경로가 설정되는 어느 2개의 핀은 임의로 선택될 수도 있지만, 최단 거리의 배선 경로의 설정을 위하여 다음과 같은 방법을 이용하는 것일 바람직하다. 예를 들어, 정렬 저장된 라우팅 정보에서 정렬 순서에 따라 배선 예상 거리가 가장 짧은 것으로 결정된 2개의 후보 포인트를 추출한 후, 추출된 2개의 후보 포인트를 상기 2개의 핀 간의 실제 배선 연결에 쓰일 포인트(이하, 이를 연결 포인트)로 설정하는 방법을 이용할 수 있다. 이후, 핀별로 연결 포인트가 하나씩 설정될 때까지 연결 포인트를 추가하는 과정을 반복 수행하면, 동일 신호 핀들 전부에 대한 배선 경로의 설정을 완성할 수 있게 된다. 이때, 연결 포인트의 추가에는 예를 들어 기설정된 각각의 연결 포인트를 시작점으로 하여 이로부터 최단 거리에 있는 후보 포인트를 하나씩 선택한 후, 이를 연결 포인트로 추가 설정하는 방법이 이용될 수 있다.
상술한 도 1의 단계 S110 내지 단계 S140은 하나의 네트를 구성하는 동일 신호 핀들을 배선 연결하기 위한 경로 설정 방법을 중심으로 설명한 것에 불과하며, 반도체 레이아웃 상에는 각각 다른 신호가 입력되는 다수개의 네트(예를 들어, 접지(groud) 핀들, 전원(power) 핀들, 다양한 데이터(data) 핀들 및 그에 따른 각 출력(ouput) 핀들 등)가 존재할 수 있으므로 각각의 네트별로 배선 경로를 설정할 필요가 있다. 이와 같이 수개의 네트별로 배선 경로를 설정함에 있어서는 본 발명의 반도체 배선 경로 설정 방법에는 다음과 같은 단계가 더 포함될 수 있다.
예를 들어, 접지 핀들로 구성된 하나의 네트에 대한 배선 경로를 설정한 후, 이어서 전원 핀들로 구성된 다른 네트에 대한 배선 경로를 설정하는 경우를 가정한다. 이 경우 앞서 접지 핀들에 대하여 설정한 배선 경로는 전원 핀들에 대한 배선 경로 설정에 있어서 일종의 장애물로 기능하므로, 이를 배선 제약 조건으로 추가(즉, 경로 설정 조건을 수정)하는 단계가 더 포함될 필요가 있는 것이다. 따라서, 본 발명의 반도체 배선 경로 설정 방법에는 하나의 네트에 대한 배선 경로 설정이 완료된 이후 이에 따라 기설정된 모든 배선 경로를 배선 금지 영역으로 새로이 추가하는 단계가 더 포함될 수 있다. 이와 같이 배선 금지 영역이 새로이 추가되게 되면 이에 따라 상술한 제1 탐색 그래프도 갱신되게 될 것이며, 다른 네트를 구성하는 핀들의 위치(배치)에 따라 상술한 제2 탐색 그래프도 갱신될 것이다. 즉, 본 발명의 반도체 배선 경로 설정 방법에 의한 네트별 배선 경로의 설정이 수행됨에 따라 탐색 그래프는 계속적으로 추가, 갱신되게 되며, 네트별로 배선 경로가 전부 설정될 때(즉, 레이아웃 상에 미연결 네트가 더이상 존재하지 않을 때)까지 상술한 과정이 반복 수행됨으로써 반도체 레이아웃 상에 배치된 모든 핀들에 대한 배선 연결을 완성할 수 있게 되는 것이다.
도 6은 본 발명의 반도체 배선 경로 설정 방법(특히, 도 1의 단계 S140)에 이용되는 라우팅 알고리즘의 일 예를 나타낸 도면이다. 이하, 도 6의 라우팅 알고리즘을 상세히 설명하기에 앞서, 이에 대한 이해의 편의를 도모하기 위하여 먼저 도 7 내지 도 9를 간략히 설명하기로 한다. 도 7 내지 도 9는 임의의 레이아웃 모형을 일 예로 들어 핀 별 후보 포인트의 설정 과정까지를 순서대로 나타낸 것이다.
도 7을 참조하면, 3개의 배선 금지 영역(도 7의 식별번호 400, 500 및 600 참조, 이하 이를 순서대로 제1'금지 영역, 제2'금지 영역 및 제3'금지 영역이라 함)과 하나의 네트를 구성하는 4개의 동일 신호 핀(도 7의 식별번호 50, 60, 70 및 80 참조, 이하 이를 순서대로 A 핀, B 핀, C 핀, D 핀이라 함)이 배치된 반도체 레이아웃 모형이 제시되고 있다. 이와 같은 각 배선 금지 영역의 설정에는 앞서 설명한 도 1의 단계 S110과 같은 방법이 이용될 수 있다.
이때, 도 7의 레이아웃 모형에 따라 생성된 탐색 그래프는 도 8과 같이 수평 방향으로의 5개의 격자선과 수직 방향으로의 10개의 격자선으로 구성될 수 있다. 이와 같은 탐색 그래프의 생성에는 앞서 설명한 도 1의 단계 S120과 같은 방법이 이용될 수 있다. 다만, 도 8의 경우에는 배선 경로 설정에 대한 설명의 편의 및 도면 도시의 편의를 위하여 배선 금지 영역과 배선 간의 레이아웃 간격 규칙(spacing rule)은 고려하지 않고 나타낸 것임을 명확히 이해하여야 할 것이다.
또한, 상술한 도 7의 레이아웃 모형 및 도 8의 탐색 그래프에 따라 각 핀별로 설정되는 후보 포인트는 도 9와 같을 수 있다. 즉, 도 9를 살펴보면, 도 8의 탐색 그래프에 따라 A 핀(50)에는 4개의 후보 포인트(A1 포인트(51), A2 포인트(52), A3 포인트(53) 및 A4 포인트(54)), B 핀(60)에는 4개의 후보 포인트(B1 포인트(61), B2 포인트(62), B3 포인트(63) 및 B4 포인트(64)), C 핀(70)에는 2개의 후보 포인트(C1 포인트(71) 및 C2 포인트(72)), D 핀(80)에는 2개의 후보 포인트(D1 포인트(81) 및 D2 포인트(82))가 각각 설정될 수 있다. 이러한 핀별 후보 포인트의 설정에는 앞서 설명한 도 1의 단계 S130과 같은 방법이 이용될 수 있음은 물론이다. 이때, 핀별 후보 포인트들의 집합을 레퍼런스 셋(reference set)이라 명명하기로 한다. 예를 들어, A 핀(50)에 대한 레퍼런트 셋은 A1 포인트(51), A2 포인트(52), A3 포인트(53) 및 A4 포인트(54)로 이루어진 후보 포인트들의 집합이 될 것이다.
상술한 도 7 내지 도 9에 도시된 순서에 따라 각 핀별로 후보 포인트가 결정된 이후에는 도 6에 제시된 라우팅 알고리즘을 이용하여 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정할 수 있다. 이하, 도 6의 라우팅 알고리즘을 라인별로 상세히 설명한다. 이하에서 설명할 본 발명의 라우팅 알고리즘은 최소 비용 트리(MST, Minimum Spanning Tree)를 구현하는 대표적 알고리즘으로서 크루스칼 알고리즘(Kruskal's algorithm)을 반도체 배선 경로 설정 방법에 적용할 수 있도록 변형한 것이다. 다만, 이하에서 설명할 라우팅 알고리즘은 본 발명의 반도체 배선 경로 설정 방법에 이용할 수 있는 구현 알고리즘의 일 예에 불과하므로, 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 변형 및 다른 구현 방법이 존재할 수 있음은 자명하다.
도 6의 라인 2 내지 라인 4를 참조하면, 각 레퍼런트 셋(도 6의 라인 2의 식별부호 N 참조)을 구성하는 각각의 후보 포인트(도 6의 라인 2의 식별부호 p 참조)별로 인접한 후보 포인트(도 6의 라인 3의 식별부호 t 참조) 간의 라우팅 정보(배선 예상 거리(d(p,t)) 및 이와 관련된 후보 포인트의 위치 정보, 즉 도 6의 라인 4의 (t,d(p,t),p) 참조)가 우선 순위 큐(priority Que, 도 6의 라인 4의 식별부호 Q 참조)에 입력(저장)된다. 이러한 도 6의 라인 2 내지 라인 4를 통하여 2개의 후보 포인트들 간을 연결하는 모든 경우의 수에 따른 라우팅 정보가 저장될 수 있다. 이때, 우선 순위 큐는 라우팅 정보가 입력될 때마다 항상 배선 예상 거리가 짧은 것부터 순서대로 상위에 위치되도록 정렬(재구성)되므로, 우선 순위 큐의 최상위에는 항상 배선 예상 거리가 가장 짧은 라우팅 정보가 위치하게 된다. 이와 같이 본 발명의 반도체 배선 경로 설정 방법에 이용되는 라우팅 알고리즘은 우선 순위 큐라는 데이터 구조를 이용함으로써 최단 거리의 배선 경로가 선택(설정)될 수 있도록 한다.
도 6의 라인 6 내지 라인 12를 참조하면, 우선 순위 큐로부터 최상위 위치의 라우팅 정보(도 6의 라인 6의 (q,d,s) 참조)를 추출한다. 여기서, 후보 포인트 q가 이전에 방문된 적이 없는 포인트인 경우(도 6의 라인 7 참조)에는 이를 방문된 것으로 표시(도 6의 라인 8 참조)한 후, 후보 포인트 q로부터 인접한 미방문의 다른 후보 포인트 간의 라우팅 정보를 우선 순위 큐에 저장(도 6의 라인 10 및 라인 11 참조)한다. 이와는 달리 후보 포인트 q가 이전에 이미 방문된 적이 있는 포인트인 경우(도 6의 라인 13 참조)에는 다음의 세가지 케이스로 나누어 처리한다.
첫번째 케이스로서 도 6의 라인 14 내지 라인 15 참조하면, 다른 후보 포인트 s가 이미 방문된 후보 포인트 q의 레퍼런스 셋(s(q))과 동일한 레퍼런스 셋에 속하는 것인 경우(도 6의 라인 14 참조), 후보 포인트 s와 후보 포인트 q가 동일 핀에 존재하는 후보 포인트에 해당하거나 또는 후보 포인트 s가 존재하는 핀과 후보 포인트 q가 존재하는 핀 간에 이미 배선 연결된 상태에 있음을 의미한다. 왜냐하면 후술할 도 6의 라인 18을 통하여 배선 연결된 2개의 핀에 대한 각 레퍼런스 셋은 하나의 레퍼런스 셋으로 병합되는 과정을 거치게 되기 때문이다. 따라서, 동일 핀에 해당하거나 또는 이미 양 핀간에 배선 연결이 되어 있는 때에는 배선 연결할 필요가 없는 경우에 해당하므로, 이러한 라우팅 정보는 배선 경로 설정에 이용하지 않는다(도 6의 라인 15 참조).
두번째 케이스로서 도 6의 라인 16 내지 라인 20을 참조하면, 이미 방문된 후보 포인트 q와 다른 후보 포인트 s가 다른 레퍼런스 셋에 속하는 것인 경우에는 어느 2개의 핀 간의 미연결 구간에 해당하므로, 이를 후보 포인트 s가 존재하는 핀과 후보 포인트 q가 존재하는 핀 간을 연결하는 배선 경로로 설정한다(도 6의 라인 19 참조). 이때, 배선 연결된 두개의 레퍼런스 셋은 하나의 레퍼런스 셋으로 병합되며(도 6의 라인 18 참조), 그 병합의 결과에 따라 레퍼런스 셋의 수를 1만큼 감소시킨다(도 6의 라인 20 참조).
세번째 케이스로서 도 6의 라인 21 내지 라인 22를 참조하면, 상술한 두가지 케이스에 어느 하나에도 해당되지 않는 경우, 후보 포인트 q가 속한 레퍼런스 셋(즉, s(q))의 다른 후보 포인트와 후보 포인트 s 간의 라우팅 정보를 우선 순위 큐에 저장한다.
상술한 과정은 레퍼런스 셋의 개수가 1개로 줄어들 때까지 반복 수행된다(도 6의 라인 5 참조). 즉, 최초에 존재하던 수개의 레퍼런스 셋이 하나로 병합됨으로써 모든 핀들에 대한 배선 연결이 완료될 때까지 상술한 라우팅 알고리즘은 반복 수행되는 것이다.
상술한 도 6의 라우팅 알고리즘은 평균 비교 회수(order)가 O(nlogn + (m+k)logt)의 시간 복잡도를 가진다. 여기서, m은 장애물의 변(edge)의 개수, k는 탐색 그래프의 노드 수, t는 장애물의 개수를 의미한다. 일반적인 정렬 알고리즘(sorting algorithm)에 있어서 비교(정렬) 회수의 최소값(the lowest bound)이 O(nlogn)인 것을 감안하면(즉, 정렬 알고리즘 중 O(nlogn)보다 좋은 성능을 갖는 알고리즘은 없음을 감안하면), 본 발명의 라우팅 알고리즘은 장애물에 따른 영향을 반영하여 최소의 비교 회수를 갖는 최적의 라우팅 알고리즘이라는 것을 쉽게 알 수 있을 것이다. 따라서, 본 발명의 반도체 배선 경로 설정 방법은 최소한의 비교 회수를 통해 라우팅을 완성함으로써, 메모리 사용량 및 배선 시간을 최소한으로 줄일 수 있는 이점이 있는 것이다.
이를 도 9 내지 도 12를 예를 들어 설명하면 다음과 같다. 먼저, 도 9에서 하나의 네트를 구성하는 동일 신호 핀들인 A 핀(50), B 핀(60), C 핀(70) 및 D 핀(80)에 대하여 핀별 레퍼런스 셋이 결정된다. 즉, A 핀(50)에 대한 레퍼런스 셋은 {A1 포인트(51), A2 포인트(52), A3 포인트(53), A4 포인트(54)}로 정해지고, B 핀(60)에 대한 레퍼런스 셋은 {B1 포인트(61), B2 포인트(62), B3 포인트(63), B4 포인트(64)}로 정해지며, C 핀(70)에 대한 레퍼런스 셋은 {C1 포인트(71), C2 포인트(72)}로 정해지며, D 핀(80)에 대한 레퍼런스 셋은 {D1 포인트(81), D2 포인트(82)}로 정해진다. 이때, 각각의 2개의 후보 포인트 간의 라우팅 정보는 우선 순위 큐에 저장됨으로써 배선 예상 거리가 짧은 순서대로 정렬된다.
이때, 상술한 라우팅 알고리즘을 적용하게 되면 도 10에 도시된 바와 같이 B 핀(60)의 B2 포인트(62)와 D 핀(80)의 D1 포인트(81) 간을 연결하는 배선 경로가 가장 먼저 설정되게 된다. 즉, B2 포인트(62) 및 D1 포인트(81)는 각각 B 핀(60) 및 D 핀(80)에 대한 실제 배선 연결에 이용되는 연결 포인트가 된다. 왜냐하면, B2 포인트(62)와 D1 포인트(81)를 연결하는 배선 경로(도 10의 식별번호 101 참조)가 서로 다른 핀(즉, 서로 다른 레퍼런스 셋)간을 연결하는 어느 2개의 후보 포인트에 의한 배선 경로 중 가장 짧은 거리를 갖기 때문이다. 이때, B 핀(60) 및 D 핀(80) 간에 배선 연결됨에 따라 각 핀에 대한 레퍼런스 셋은 하나로 병합됨으로써 최초 4개였던 레퍼런스 셋의 개수는 3개로 줄어들게 된다(도 6의 라인 17 내지 라인 20 참조).
이후, 도 11에 도시된 바와 같이 D 핀(80)의 D1 포인트(81)와 C 핀(70)의 C1 포인트(71) 간을 연결하는 배선 경로를 설정(도 11의 식별번호 102 참조)한다. 왜냐하면, 앞선 과정을 통해 기연결된 B 핀(60)과 D 핀(80)간에는 더이상 배선 연결이 이루어지지 않게 되며(도 6의 라인 14 및 라인 15 참조), B 핀(60)의 B2 포인트(62) 또는 D 핀(80)의 D1 포인트(81)로부터 출발하여 최단 거리의 배선 경로를 갖는 다른 핀(A 핀(50) 또는 C 핀(60))의 일 후보 포인트를 찾는 경우 C 핀(70)의 C1 포인트(71)가 선택(연결 포인트로 추가)되기 때문이다. 도 11의 과정을 통하여 A 핀(50)을 제외한 B 핀(60), C 핀(70) 및 D 핀(80)이 배선 연결되며, 이에 따라 B 핀(60), C 핀(70) 및 D 핀(80)에 대한 레퍼런스 셋이 하나로 병합되는 이유로 전체 레퍼런스 셋은 3개에서 2개로 줄어들게 된다.
마지막으로, 도 12에 도시된 바와 같이 B 핀(60)의 B2 포인트(62)와 A 핀(50)의 A3 포인트(53)을 연결하는 배선 경로를 설정(도 12의 식별번호 103 참조)한다. 이의 배선 경로 설정 방법도 앞서 설명한 것과 동일한 방법에 따른다. 이에 따라 전체 레퍼런스 셋은 1개로 줄어들게 되며, 모든 핀들에 대한 배선 연결이 완료되게 된다.
이상에서는 본 발명에 일 실시예에 따라 반도체 배선의 경로 설정을 위한 방법만을 설명하였지만, 상술한 반도체 배선 경로 설정 방법은 이를 실행하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써 컴퓨터를 통해 판독될 수 있는 기록 매체(예를 들어, 하드 디스크, CD-ROM 등)에 포함되어 제공될 수도 있음을 당업자들은 쉽게 이해할 수 있을 것이다.
상술한 바와 같이, 본 발명에 따른 반도체 배선 경로 설정 방법 및 이를 실행하기 위한 프로그램을 기록한 기록 매체에 의하면, 향후 늘어날 다양한 설계 규칙들에 대처하여 설계 규칙의 새로운 추가, 변경 등에 관계없이 적용가능한 효과가 있다.
또한, 본 발명은 소프트 핀 방식의 핀 설정을 이용함으로써 가변 간격 및 선폭을 갖는 경우, 핀의 크기가 다양한 경우 등에도 능동적으로 대처할 수 있어 보다 효율적인 배선 경로 설정이 가능한 효과가 있다.
또한, 본 발명은 최간 거리의 배선 경로의 설정을 위해 변형된 크루스칼 알고리즘을 적용한 라우팅 알고리즘을 이용함으로써, 배선 비용(메모리 사용량, 배선 시간 등)의 최소화, 배선 효율, 신뢰성을 보다 향상시킬 수 있는 효과가 있다.
이상에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 반도체 배선 경로 설정 방법을 나타낸 순서도.
도 2는 본 발명의 반도체 배선 경로 설정 방법을 이용한 배선 금지 영역의 설정 과정을 설명하기 위한 예시도.
도 3은 본 발명의 반도체 배선 경로 설정 방법을 이용한 제1 탐색 그래프의 생성 과정을 설명하기 위한 예시도.
도 4는 본 발명의 반도체 배선 경로 설정 방법을 이용한 제2 탐색 그래프의 생성 과정을 설명하기 위한 예시도.
도 5는 본 발명의 반도체 배선 경로 설정 방법을 이용한 후보 포인트의 설정 과정을 설명하기 위한 예시도.
도 6은 본 발명의 반도체 배선 경로 설정 방법에 이용되는 라우팅 알고리즘의 일 예를 나타낸 도면.
도 7 내지 도 12는 임의의 배선 모형을 일 예로 들어 본 발명의 반도체 배선 경로 설정 방법을 적용시킨 결과를 순서별로 나타낸 도면.

Claims (34)

  1. 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 있어서,
    (a) 배선 금지 영역을 설정하는 단계;
    (b) 상기 배선 금지 영역을 제외한 배선 영역 상에 상기 동일 신호 핀간의 배선 연결 경로의 탐색을 위한 탐색 그래프를 생성하는 단계;
    (c) 상기 동일 신호 핀들 각각에 대하여 상기 탐색 그래프가 상기 동일 신호 핀을 통과하는 통과 포인트들 중 미리 설정된 기준에 부합하는 적어도 하나의 포인트를 상기 동일 신호 핀간의 배선 연결 경로의 설정을 위한 후보 포인트로 설정하는 단계; 및
    (d) 상기 후보 포인트를 핀별로 하나씩 선택하여 상기 탐색 그래프 상에서 상기 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정하는 단계
    를 포함하는 반도체 배선 경로 설정 방법.
  2. 제1항에 있어서,
    상기 단계 (a)는,
    (a1) 상기 반도체 레이아웃 상에 배치된 장애물을 포함하는 장애물 영역을 설정하는 단계; 및
    (a2) 상기 장애물 영역의 각 변(edge)으로부터 각각 소정 간격만큼 이격된 상기 배선 금지 영역을 설정하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  3. 제2항에 있어서,
    상기 장애물은 반도체 로직 또는 기연결된 배선인 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  4. 삭제
  5. 제2항에 있어서,
    상기 장애물 영역은 직사각형 형태로 설정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  6. 제2항에 있어서,
    상기 단계 (a2)의 상기 소정 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing)인 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  7. 제1항에 있어서,
    상기 단계 (b)는,
    (b1) 상기 배선 금지 영역의 각 변을 연장시킨 연장 격자선을 이용하여 제1 탐색 그래프를 생성하는 단계; 및
    (b2) 상기 동일 신호 핀들 중 상기 제1 탐색 그래프가 통과하지 않은 미통과 핀에 대하여 상기 미통과 핀을 통과하는 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  8. 제7항에 있어서,
    (b3) 상기 연장 격자선과 평행한 적어도 하나의 평행 격자선을 생성하는 단계를 더 포함하되,
    상기 제1 탐색 그래프는 상기 연장 격자선 및 상기 평행 격자선으로 구성되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  9. 제8항에 있어서,
    상기 연장 격자선과 상기 연장 격자선에 인접한 상기 평행 격자선 간의 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing)으로 설정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  10. 제7항에 있어서,
    상기 미통과 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는,
    (b4) 상기 미통과 핀의 변에서 적어도 하나의 포인트를 지정하는 단계; 및
    (b5) 상기 지정 포인트가 포함된 해당 변의 수직 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  11. 제10항에 있어서,
    상기 지정 포인트는 상기 미통과 핀의 변에서 중앙 포인트, 끝 포인트 및 상기 배선 금지 영역의 각 변 또는 기생성된 격자선으로부터 소정 간격만큼 이격되어 위치하는 이격 포인트 중 어느 하나 이상이 선택되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  12. 제11항에 있어서,
    상기 배선 금지 영역의 각 변 또는 상기 기생성된 격자선과 상기 이격 포인트 간의 이격 간격은 레이아웃 설계 규칙(Layout design rule)에 따라 요구되는 최소 간격(minimum spacing) 또는 그 배수로 설정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  13. 제7항에 있어서,
    상기 미통과 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는,
    (b6) 상기 미통과 핀의 내부에서 적어도 하나의 포인트를 지정하는 단계; 및
    (b7) 상기 미통과 핀의 변에 평행한 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  14. 제13항에 있어서,
    상기 지정 포인트는 상기 미통과 핀의 내부에서 중앙 포인트, 좌측 포인트 및 우측 포인트 중 어느 하나 이상이 선택되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  15. 제1항에 있어서,
    상기 동일 신호 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우,
    상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀의 각 변과 교차하는 통과 포인트로 결정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  16. 제1항에 있어서,
    상기 동일 신호 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우,
    상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀 내부의 중앙 통과 포인트, 좌측 통과 포인트 및 우측 통과 포인트 중 어느 하나 이상으로 결정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  17. 제1항에 있어서,
    상기 단계 (d)는,
    (d1) 상기 동일 신호 핀들 중 어느 2개의 핀간을 최단 거리로 연결하는 후보 포인트를 연결 포인트로 설정하는 단계;
    (d2) 배선 경로가 미설정된 핀의 후보 포인트 중 연결 포인트로부터 최단 거리를 갖는 어느 하나의 후보 포인트를 상기 연결 포인트로 추가하는 단계; 및
    (d3) 상기 동일 신호 핀 전부에 대하여 연결 포인트가 하나씩 설정될 때까지 상기 단계 (d2)를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  18. 제17항에 있어서,
    상기 단계 (d1) 이전에,
    (d4) 서로 다른 핀에 존재하는 후보 포인트 간의 배선 예상 거리를 산출하는 단계; 및
    (d5) 상기 산출된 배선 예상 거리 및 이와 관련된 해당 후보 포인트를 저장하는 단계를 더 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  19. 제18항에 있어서,
    상기 단계 (d5)는,
    (d6) 상기 배선 예상 거리가 짧은 순서대로 정렬시키는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  20. 제19항에 있어서,
    상기 단계 (d1)은,
    (d7) 상기 정렬된 순서에 따라 상기 배선 예상 거리가 가장 짧은 것으로 결정된 2개의 후보 포인트를 추출하는 단계; 및
    (d8) 상기 추출된 2개의 후보 포인트를 상기 2개의 핀 간의 연결 포인트로 설정하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  21. 제17항에 있어서,
    상기 단계 (d3) 이후에,
    (d10) 상기 동일 신호 핀들 간에 설정된 모든 배선 경로에 상응하여 경로 설정 조건을 수정하는 단계를 더 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  22. 제21항에 있어서,
    상기 단계 (d10)은,
    (d11) 상기 동일 신호 핀들 간에 설정된 상기 모든 배선 경로를 상기 배선 금지 영역에 추가하는 단계; 및
    (d12) 상기 추가된 배선 금지 영역에 상응하여 상기 탐색 그래프를 갱신하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법.
  23. 반도체 레이아웃 상의 동일 신호 핀간을 배선 연결하기 위한 반도체 배선 경로 설정 방법에 관한 명령어들의 프로그램이 유형적으로 구현되어 있으며, 컴퓨터에 의해 판독될 수 있는 기록 매체로서,
    (a) 배선 금지 영역을 설정하는 단계;
    (b) 상기 배선 금지 영역을 제외한 배선 영역 상에 상기 동일 신호 핀간의 배선 연결 경로의 탐색을 위한 탐색 그래프를 생성하는 단계;
    (c) 상기 동일 신호 핀들 각각에 대하여 상기 탐색 그래프가 상기 동일 신호 핀을 통과하는 통과 포인트들 중 미리 설정된 기준에 부합하는 적어도 하나의 포인트를 상기 동일 신호 핀간의 배선 연결 경로의 설정을 위한 후보 포인트로 설정하는 단계; 및
    (d) 상기 후보 포인트를 핀별로 하나씩 선택하여 상기 탐색 그래프 상에서 상기 동일 신호 핀간을 최단 거리로 연결하는 배선 경로를 설정하는 단계
    를 포함하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  24. 제23항에 있어서,
    상기 단계 (a)는,
    (a1) 상기 반도체 레이아웃 상에 배치된 장애물을 포함하는 장애물 영역을 설정하는 단계; 및
    (a2) 상기 장애물 영역의 각 변(edge)으로부터 각각 소정 간격만큼 이격된 상기 배선 금지 영역을 설정하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  25. 제23항에 있어서,
    상기 단계 (b)는,
    (b1) 상기 배선 금지 영역의 각 변을 연장시킨 연장 격자선을 이용하여 제1 탐색 그래프를 생성하는 단계; 및
    (b2) 상기 동일 신호 핀들 중 상기 제1 탐색 그래프가 통과하지 않은 미통과 핀에 대하여 상기 미통과 핀을 통과하는 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  26. 제25항에 있어서,
    상기 미통과 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는,
    (b4) 상기 미통과 핀의 변에서 적어도 하나의 포인트를 지정하는 단계; 및
    (b5) 상기 지정 포인트가 포함된 해당 변의 수직 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  27. 제25항에 있어서,
    상기 미통과 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우, 상기 단계 (b2)는,
    (b6) 상기 미통과 핀의 내부에서 적어도 하나의 포인트를 지정하는 단계; 및
    (b7) 상기 미통과 핀의 변에 평행한 방향으로 상기 지정 포인트를 통과하는 지정 격자선을 이용하여 상기 제2 탐색 그래프를 생성하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  28. 제23항에 있어서,
    상기 동일 신호 핀이 동일 레이어(layer) 내의 배선 연결을 위한 핀인 경우,
    상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀의 각 변과 교차하는 통과 포인트로 결정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  29. 제23항에 있어서,
    상기 동일 신호 핀이 서로 다른 레이어 간의 배선 연결을 위한 핀인 경우,
    상기 단계 (c)의 상기 미리 설정된 기준에 부합하는 상기 후보 포인트는 상기 동일 신호 핀 내부의 중앙 통과 포인트, 좌측 통과 포인트 및 우측 통과 포인트 중 어느 하나 이상으로 결정되는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  30. 제23항에 있어서,
    상기 단계 (d)는,
    (d1) 상기 동일 신호 핀들 중 어느 2개의 핀간을 최단 거리로 연결하는 후보 포인트를 연결 포인트로 설정하는 단계;
    (d2) 배선 경로가 미설정된 핀의 후보 포인트 중 연결 포인트로부터 최단 거리를 갖는 어느 하나의 후보 포인트를 상기 연결 포인트로 추가하는 단계; 및
    (d3) 상기 동일 신호 핀 전부에 대하여 연결 포인트가 하나씩 설정될 때까지 상기 단계 (d2)를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  31. 제30항에 있어서,
    상기 단계 (d1) 이전에,
    (d4) 서로 다른 핀에 존재하는 후보 포인트 간의 배선 예상 거리를 산출하는 단계; 및
    (d5) 상기 산출된 배선 예상 거리 및 이와 관련된 해당 후보 포인트를 저장하는 단계를 더 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  32. 제31항에 있어서,
    상기 단계 (d5)는,
    (d6) 상기 배선 예상 거리가 짧은 순서대로 정렬시키는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  33. 제32항에 있어서,
    상기 단계 (d1)은,
    (d7) 상기 정렬된 순서에 따라 상기 배선 예상 거리가 가장 짧은 것으로 결정된 2개의 해당 후보 포인트를 추출하는 단계; 및
    (d8) 상기 추출된 2개의 해당 후보 포인트를 각각 연결 포인트로 설정하는 단계를 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
  34. 제30항에 있어서,
    상기 단계 (d3) 이후에,
    (d10) 상기 동일 신호 핀들 간에 설정된 모든 배선 경로에 상응하여 경로 설정 조건을 수정하는 단계를 더 포함하는 것을 특징으로 하는 반도체 배선 경로 설정 방법을 실행하는 프로그램이 기록된 기록 매체.
KR1020070050556A 2007-05-23 2007-05-23 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체 KR100896801B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070050556A KR100896801B1 (ko) 2007-05-23 2007-05-23 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070050556A KR100896801B1 (ko) 2007-05-23 2007-05-23 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체

Publications (2)

Publication Number Publication Date
KR20080103364A KR20080103364A (ko) 2008-11-27
KR100896801B1 true KR100896801B1 (ko) 2009-05-11

Family

ID=40288776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070050556A KR100896801B1 (ko) 2007-05-23 2007-05-23 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체

Country Status (1)

Country Link
KR (1) KR100896801B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893073B2 (en) * 2012-12-27 2014-11-18 Synopsys, Inc. Displaying a congestion indicator for a channel in a circuit design layout
CN114423156B (zh) * 2021-11-19 2024-02-13 研祥智慧物联科技有限公司 一种pcb板上ic引脚与电阻引脚之间的布线算法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05343519A (ja) * 1992-06-05 1993-12-24 Fujitsu Ltd 半導体装置の配線方法
JPH1055382A (ja) * 1996-05-29 1998-02-24 Fujitsu Ltd 経路形成システム及び方法及びコンピュータに経路形成の処理を行わせるためのプログラムを格納した記録媒体
JPH10198722A (ja) * 1997-01-14 1998-07-31 Hitachi Software Eng Co Ltd 対話型配線パターン作成システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05343519A (ja) * 1992-06-05 1993-12-24 Fujitsu Ltd 半導体装置の配線方法
JPH1055382A (ja) * 1996-05-29 1998-02-24 Fujitsu Ltd 経路形成システム及び方法及びコンピュータに経路形成の処理を行わせるためのプログラムを格納した記録媒体
JPH10198722A (ja) * 1997-01-14 1998-07-31 Hitachi Software Eng Co Ltd 対話型配線パターン作成システム

Also Published As

Publication number Publication date
KR20080103364A (ko) 2008-11-27

Similar Documents

Publication Publication Date Title
US5615128A (en) Towards optimal steiner tree routing in the presence of rectilinear obstacles
US4615011A (en) Iterative method for establishing connections and resulting product
US6507941B1 (en) Subgrid detailed routing
CN111914507B (zh) 一种快速单磁通量子rsfq电路布线方法和装置
US6532581B1 (en) Method for designing layout of semiconductor device, storage medium having stored thereon program for executing the layout designing method, and semiconductor device
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
CN116070575B (zh) 一种芯片布线优化方法及软件系统
US5849610A (en) Method for constructing a planar equal path length clock tree
CN103930891A (zh) 利用已有预布线算法,使用直线斯坦纳最小树(rsmt)确定节点之间的线路长度的方法
CN112149378A (zh) 一种基于拥塞协商的拆线重布方法、设备及可读存储介质
KR102238312B1 (ko) 표준 셀들에 대한 핀 수정
CN111553125A (zh) 一种考虑先进技术的超大规模集成电路详细布线方法
CN109426693B (zh) 开发电子器件的架构设计和制造电子器件的系统及方法
KR100896801B1 (ko) 반도체 배선 경로 설정 방법 및 이를 실행하기 위한프로그램을 기록한 기록 매체
CN107209793A (zh) 具有用于3d集成电路的折叠块及复制引脚的知识产权块设计
US11855632B2 (en) Logic cell structure and integrated circuit with the logic cell structure
Radhakrishnan Nair et al. An efficient partitioning and placement based fault TSV detection in 3D-IC using deep learning approach
US6625792B1 (en) Semiconductor design system, semiconductor integrated circuit, semiconductor design method and storage medium storing semiconductor design program
US20200226317A1 (en) Constructing via meshes for high performance routing on silicon chips
Zhang et al. A hierarchy mcts algorithm for the automated pcb routing
US7676781B1 (en) Method and mechanism for implementing a minimum spanning tree
US7325217B2 (en) Automatic wiring method for the crosstalk reduction
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
US20050210422A1 (en) Method and apparatus for performing logical transformations for global routing
CN112668258B (zh) 一种广义对齐的布线方法

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
FPAY Annual fee payment

Payment date: 20120330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130409

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee