KR20080028930A - 목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅 - Google Patents

목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅 Download PDF

Info

Publication number
KR20080028930A
KR20080028930A KR1020087000972A KR20087000972A KR20080028930A KR 20080028930 A KR20080028930 A KR 20080028930A KR 1020087000972 A KR1020087000972 A KR 1020087000972A KR 20087000972 A KR20087000972 A KR 20087000972A KR 20080028930 A KR20080028930 A KR 20080028930A
Authority
KR
South Korea
Prior art keywords
point
points
routing
quadrant
manhattan
Prior art date
Application number
KR1020087000972A
Other languages
English (en)
Other versions
KR101187431B1 (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 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20080028930A publication Critical patent/KR20080028930A/ko
Application granted granted Critical
Publication of KR101187431B1 publication Critical patent/KR101187431B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Processing Or Creating Images (AREA)
  • Complex Calculations (AREA)

Abstract

포인트들(P1, P2, P3, P4, P5, P6, P7, P8, P9)를 중앙 포인트(C)에 라우팅하기 위하여, 포인트들은 각 사분면(Q1, Q2, Q3, Q4) 안에 배치된 개별적인 세트로 그룹화된다. 각 포인트는 적어도 하나 이상의 포인트를 갖는 각 사분면 내에서 적어도 하나 이상의 최초 끝 포인트(initial end point)를 이끌어내기 위하여 각 포인트와 중앙 포인트에 의해 정의된 직사각형 내부에서 최소 맨해튼 거리(Manhattan distance)를 갖는 다른 포인트에 맨해튼 라우팅(Manhattan routing)된다. 적어도 하나 이상의 최초 끝 포인트들은 적어도 하나 이상의 포인트를 갖는 각 사분면 내에서 개별적인 최종 끝 포인트(EP1, EP2, EP3, EP4)를 이끌어내기 위하여 함께 맨해튼 라우팅된다. 이 개별적인 최종 끝 포인트들은 최소 라우팅 거리로 중앙 포인트에 라우팅된다.

Description

목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅{MANHATTAN ROUTING WITH MINIMIZED DISTANCE TO DESTINATION POINTS}
본 발명은 일반적으로 라우팅 기술(routing technology)과 관련되어 있고, 보다 특별하게 최소 맨해튼 거리(Manhattan distance)로 포인트들을 중앙 포인트에라우팅하는 것에 관련되는데, 한 예로서 집적회로 와이어링(wiring)에 적용될 수 있는 발명이다.
기하학적 매칭 알고리즘(geometric matching algorithm)이나 가중중심 알고리즘(weighted center algorithm)에 기초한 방식 같은 종래의 라우팅 방식은 복수개의 포인트들 각각의 개별적인 지연(delay)를 동등화(equalize)하기 위해 노력한다. 이러한 지연 동등화는 각 포인트에 도달하는 신호의 스큐(skew)를 최소화시키는 데에 유리하다.
도 1A는 예를 들어 클럭 신호(clock signal)와 같은 공통의 신호를 수신하기 위한 포인트들인 P1, P2, P3, P4가 있는 집적 회로(102)를 보여준다. 이 포인트들 P1, P2, P3, P4는 공통 클럭 신호(common clock signal)을 입력하는 집적회로(102)의 노드들(nodes)의 위치를 나타낸다.
도 1B를 참고해 보면, 기하학적 매칭 알고리즘에서, 제 1 세그먼트(104)는 가장 근접한 포인트들인 P1, P2 사이에 그어져 있고, 제 2 세그먼트(106)는 가장 근접한 포인트들인 P3, P4 사이에 그어져 있다. 또한, 제 3 세그먼트(108)는 세그먼트(104)와 세그먼트(106)의 중앙 포인트들 사이에 그어져 있다.
이 세그먼트(104), 세그먼트(106), 세그먼트(108)는 포인트 P1, P2, P3, P4 사이의 와이어링(wiring)을 나타낸다. 공통 신호는 포인트(110)으로부터 각 포인트 P1, P2, P3, P4에 이르는 지연이 동등화 되도록 제 3 세그먼트(108)를 통해 포인트(110)으로 들어간다. 예를 들어, 세그먼트(104)와 세그먼트(106)의 길이가 똑같다면, 포인트(110)는 세그먼트(108)의 정 중앙에 오게 된다. 그렇지 않은 경우에는, 포인트(110)의 위치는 포인트(110)로부터 세그먼트(108)을 따라 세그먼트(104)와 세그먼트(106) 중 하나까지의 거리가 각 포인트 P1, P2, P3, P4에 대해 동등하게될 때까지 세그먼트(108)의 길이에 따라 조정된다.
그 결과로, 공통 신호가 포인트(110)에서 입력된다면, 그 공통 신호는 동등화된 지연과 그로 인한 최소화된 스큐를 가지면서 각 포인트 P1, P2, P3, P4에 도달하게 된다. 기하학적 매칭 알고리즘이나 가중중심 알고리즘과 같은 종래의 라우팅 방식은 집적 회로의 포인트들에 이르는 와이어링 거리(wiring distance)를 동등화하기 위하여 노력하나, 집적 회로의 포인트들에 이르는 와이어링의 길이(wiring length)를 최소화시키려는 노력을 하지는 않는다. 그러나, 어떤 집적 회로에서는, 와이어링 길이를 최소화시키는 것이 상당히 중요하다. 예를 들어, 와이어링 길이를 최소화시키는 것은 집적회로의 면적, 복잡성 및 신호 지연을 최소화하는데에 있어서 중요하다.
따라서, 본 발명의 실시형태에 의할 때, 복수 개의 포인트들은 중앙 포인트로부터 최소화된 거리로 라우팅된다
본 발명의 일반적인 실시형태에 의하면, 포인트들은 적어도 하나의 포인트를 갖는 하나 이상의 사분면(quadrant) 각각의 내부에 배치된 개별적인 세트로 그룹화된다. 또한, 각 포인트는 각 포인트 및 중앙 포인트(center point)에 의해 정의된 직사각형 내부에서 최소 맨해튼 거리(Manhattan distance)를 가지는 다른 어떤 포인트와 맨해튼 라우팅(Manhattan routing)되어 있고, 이는 적어도 하나의 포인트를 갖는 사분면에서 적어도 하나의 최초 끝 포인트(initial end point)를 이끌어내기 위한 것이다.
본 발명의 세부적인 실시형태에 따르면, 사분면의 적어도 하나의 최초 끝 포인트는 중앙 포인트에 함께 맨해튼 라우팅되어 있는데, 이는 가장 가까운 최종 끝 포인트(final end point)를 이끌어내기 위함이다.
본 발명의 한 실시예에 의하면, 이러한 과정들은 하나 이상의 포인트를 갖는 각 사분면에서 개별적인 최종 끝 포인트를 결정하기 위하여 수행된다. 예를 들어, 이 과정들은 적어도 하나의 사분면 각각에서 병행되어 수행된다.
본 발명의 추가적인 실시형태에 따르면, 각 개별적인 최종 끝 포인트는 중앙 포인트에 맨해튼 라우팅되어 있다
본 발명의 세부적인 실시예에 의하면, 최소 라우팅 거리는 사분면의 적어도 하나의 최초 끝 포인트를 함께 라우팅하기 위해 결정된 것이고, 각각의 최종 끝 포인트를 중앙 포인트에 라우팅하기 위해 결정된 것이기도 하다.
본 발명의 한 실시예에 의하면, 데이터 프로세서(data processor)와 메모리 디바이스(memory device)는 포인트들을 중앙 포인트에 라우팅하는 것을 결정하는 과정을 자동화하기 위하여 사용되는 것이다
본 발명은 집적 회로의 와이어링에 특별한 이점을 가지고 사용될 수 있다. 이러한 경우에, 각 포인트들은 집적 회로의 개별적인 노드를 나타내고, 중앙 포인트는 집적 회로를 위한 신호원(signal source)의 위치이다. 그러나, 본 발명은 최소화된 거리로 포인트들을 중앙 포인트에 라우팅하는 것이 바람직하게 여겨지는 다른 어플리케이션(application)들에도 사용 가능하다.
본 발명의 이러한 특징 및 이점들과 다른 특징, 이점들은 뒤따르는 첨부된 도면들에 의해 나타내어진 발명의 실시를 위한 형태를 고려한다면 더욱 잘 이해될 것이다.
도 1A와 1B는 종래 기술에 따라 동등화된 지연을 가지면서 공통신호를 복수 개의 포인트에 결합시키는 기하학적 매칭 알고리즘을 보여준다.
도 2는 본 발명의 한 실시예에 따라 중앙 포인트로부터 최소화된 거리로 복수 개의 포인트를 라우팅하는 단계들을 수행하는 데이터 프로세서를 포함하는 컴퓨터 시스템을 나타낸다.
도 3은 본 발명의 한 실시예에 따라 도 2의 데이터 프로세서에 의해 수행된 단계들의 순서도(flow-chart)를 나타낸다.
도 4, 5, 6, 7, 8, 9는 본 발명의 한 실시예에 따라 도 3의 순서도의 단계들 중에서 복수 개의 포인트들 각각의 점증적 라우팅 과정과 결국에는 중앙 포인트 까지의 라우팅 과정을 보여준다.
여기에 언급된 도면들은 예시의 명확성을 위하여 그려진 것이고 반드시 스케일에 맞도록 도시된 것은 아니다. 도 1, 2, 3, 4, 5, 6, 7, 8, 9에서 비슷한 구조와 기능을 갖는 요소들은 동일한 참조 번호로 표기하였다.
도 2를 참고해 보면, 본 발명의 한 실시형태에 의할 때, 컴퓨터 시스템(202)은 라우팅 과정을 수행하기 위하여 메모리 디바이스(204)와 데이터 프로세서(206)를 포함한다. 컴퓨터 시스템의 메모리 디바이스와 데이터 프로세서는 개별적으로 전자기술분야에서는 통상의 기술 중 하나로서 알려져 있다.
본 발명의 한 실시예에 따르면, 명령어 시퀀스들이 메모리 디바이스(204)에 (예를 들어 소프트웨어 어플리케이션의 형식으로) 저장된다. 그러한 소프트웨어 어플리케이션은 예를 들어 CAD(computer assisted design) 소프트웨어 어플리케이션일 것이다. 데이터 프로세서(206)에 의한 메모리 디바이스(204)에 저장된 명령어들의 순서들의 실행은 복수 개의 포인트들을 중앙 포인트에 라우팅하기 위하여 데이터 프로세서(206)가 도 3의 순서도의 단계들을 수행하도록 유발시킨다.
도 2와 3을 참고해 보면, 데이터 프로세서(206)는 미리 결정된 중앙 포인트를 갖는 미리 결정된 그리드 위에 배치된 포인트들의 데이터 파일을 입력시킨다(도 3의 212 단계). 도 4를 참고해 보면, 데이터 파일은 집적 회로(230)의 이미지로부 터 만들어진다. 이러한 경우에, 복수 개의 포인트들 P1, P2, P3, P4, P5, P6, P7, P8, P9는 집적회로(230)의 노드들을 나타내고, 중앙 포인트 C는 집적회로(230)의 노드들에 결합되어야 할 신호원의 위치를 나타낸다.
집적 회로(230)의 그리드는 집적회로(230)의 레이 아웃(lay-out) 제약조건들에 의해 지시받는다. 예를 들어, 집적 회로(230)의 레이 아웃에서 와이어링과 같은 물체들은 집적회로(230)의 그 그리드에 평행하게 배치되도록 제약받는다. 수직선(232)과 평행선(234)이 집적회로(230)의 이미지에서의 그리드의 예가 된다.
도 2, 3, 5를 참고해 보면, 데이터 프로세서(206)는 집적회로(230)의 이미지로부터 4개의 사분면 Q1, Q2, Q3, Q4를 결정한다(도 3의 214 단계). 도 5를 참고해 보면, Y축(242)과 X축(244)은 중앙 포인트 C와 만나도록 그어져 있다. 중앙 포인트 C와 만나는 Y축(242)은 수직 그리드 선(232)에 평행하도록 제약되고, 중앙 포인트 C와 만나는 X축(244)는 수평 그리드 선(234)에 평행하도록 제약된다.
제 1 사분면 Q1은 Y축(242)과 X축(244)의 오른편 상위부분에 있고, 제 2 사분면 Q2는 Y축(242)과 X축(244)의 왼편 상위부분에 있다. 비슷한 방식으로, 제 3 사분면 Q3는 Y축(242)과 X축(244)의 왼편 하위부분에 있고, 제 4 사분면 Q4는 Y축(242)과 X축(244)의 오른편 하위부분에 있다.
데이터 프로세서(206)는 나아가 4개의 사분면 Q1, Q2, Q3, Q4 각각의 내부에 배치된 개별적인 세트에 포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9를 그룹화시킨다(도 3의 216 단계). 도면 5를 참고해 보면, 포인트 P1은 제 1 사분면 Q1 안에 배치된 제 1 세트를 형성한다. 포인트 P2, P3, P4는 제 2 사분면 Q2 안에 배치된 제 2 세트를 형성한다. 포인트 P5는 제 3 사분면 Q3 안에 배치된 제 3 세트를 형성한다. 포인트 P6, P7, P8, P9는 제 4 사분면 Q4 안에 배치된 제 4 세트를 형성한다.
포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9 중 적어도 하나의 포인트를 갖는 각 사분면을 위해, 데이터 프로세서(206)는 각 포인트를 각 포인트와 중앙 포인트에 의해 정의된 사각형 내부에서 최소의 맨해튼 거리를 갖는 다른 포인트에 맨해튼 라우팅한다(도 3의 218 단계). 집적회로(230)의 어떤 와이어링도 X축(244)이나 Y축(242)에 평행하도록 제약된다. X축(244)이나 Y축(242)에 평행한 이러한 라우팅을 "맨해튼 라우팅"이라 한다. X축(244)과/또는 Y축(242)에 평행한 어느 라우팅 거리의 합을 "맨해튼 거리"라 한다. 맨해튼 거리는 라우팅 거리의 한 예이다. 맨해튼 라우팅과 맨해튼 거리는 개별적으로 집적회로 분야에서 통상의 기술 중 하나로서 알려져 있다.
도 3과 6을 참고해 보면, 도 3의 218 단계에서, 각 포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9 와 중앙 포인트 C 는 도 6에서 파선으로 윤곽이 그려진 개별적인 직사각형을 형성한다. 만약 어떤 포인트들이 특정 포인트를 위한 개별적인 직사각형 내부에 배치되어 있다면, 그 포인트는 그 직사각형 안에서 가장 가까운 포인트에 맨해튼 라우팅되어 있다.
제 1 사분면 Q1에서, 포인트 P1으로 결정된 직사각형 안에 다른 포인트가 없다. 그래서, 단지 포인트 P1만이 제 1 사분면 Q1 안에서 최초의 끝 포인트로(initial end point) 남아있게 된다. 제 2 사분면 Q2에서는, P2, P3, P4로 결정된 직사각형들 안에 다른 포인트가 존재하지 않는다. 그래서, 포인트 P2, P3, P4만 이 제 2 사분면 Q2 안에서 최초의 끝 포인트로서 남아있게 된다. 제 3 사분면 Q3에서는, 포인트 P5로 결정된 직사각형 안에 다른 포인트가 존재하지 않는다. 따라서, 포인트 P5만이 제 3 사분면 Q3 안에서 최초의 끝 포인트로 남아있게 된다.
제 4 사분면 Q4에서는, 포인트 P6, P7, P8이 포인트 P9로 결정된 직사각형 안에 배치되어 있다. 그 포인트 P6, P7, P8중에서, 포인트 P8이 포인트 P9로부터 가장 가까운 맨해튼 거리를 갖는다. 그래서, 도 6과 7을 참고할 때, 포인트 P8은 맨해튼 라우팅 252로서 포인트 P9에 맨해튼 라우팅되어 있다.
또한 도 6의 제 4 사분면 Q4에서는, 포인트 P7은 포인트 P8로 결정된 직사각형 내부에 배치되어 있다. 그래서, 도 6과 7을 참고해 보면, 포인트 P7은 맨해튼 라우팅(254)으로서 포인트 P8에 맨해튼 라우팅되어 있다. 포인트 P8과 P9가 적어도 다른 한 포인트에 라우팅되어 있기 때문에, 그 포인트 P8, P9의 중앙포인트 C에 대한 라우팅은 포인트 P7의 중앙포인트 C에의 라우팅을 통해 보장받는다. 그래서, 포인트 P8과 P9는 중앙 포인트에 라우팅하는데 있어서 더 이상 필요한 것으로 고려되지 않는다.
이에 덧붙여서, 포인트 P7이 포인트 P7, P8 보다 중앙포인트 C로부터 작은 맨해튼 거리를 가지므로, 포인트 P7과 P6은 제 4 사분면 Q4 안에서 최초의 끝 포인트로서 남아있게 된다. 어떤 다른 포인트도 P6과 P7을 위한 직사각형들 안에 존재하지 않는다. 그러므로, 포인트 P7과 P6은 제 4 사분면 Q4 안에서 최초의 끝 포인트로서 남아있게 된다.
도 3의 218 단계에서 포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9 중 적어 도 하나를 갖는 각 사분면의 하나 이상의 최초의 끝 포인트가 결정된 후에, 데이터 프로세서(206)는 그러한 최초의 끝 포인트를 각 사분면 안에서 최소화된 맨해튼 거리로 맨해튼 라우팅을 수행한다. 그러한 맨해튼 라우팅은(각 사분면 안의 최초의 끝 포인트에서의) 각 사분면에서 중앙 포인트 C에 가장 가까운 최종의 끝 포인트(final end point)로 귀착시키기 위한 것이다.(도 3의 220 단계)
제 1 사분면 Q1과 제 3 사분면 Q3는 각각 하나의 포인트 P1과 P5를 최초의 끝 포인트로서 개별적으로 가지고 있다. 그래서, 포인트 P1은 제 1 사분면 Q1에서의 제 1 최종 끝 포인트(final end point) EP1이 되고, 포인트 P5는 제 3 사분면 Q3에서의 제 3 최종 끝 포인트 EP3가 된다.
제 2 사분면 Q2에서는, 최초 끝 포인트 P2, P3, P4 사이에서 최소 맨해튼 거리의 맨해튼 라우팅은 그 포인트 P2, P3, P4의 직사각형들의 부분들을 따라 결정된다. 제 1 라우팅 세그먼트(262)는 포인트 P2를 제 2 최종 끝 포인트 EP2에 맨해튼 라우팅 하고, 제 2 라우팅 세그먼트(264)는 포인트 P4를 제 2 최종 끝 포인트 EP2에 맨해튼 라우팅한다.
또한, 제 3 라우팅 세그먼트(266)는 포인트 P3를 제 1 라우팅 세그먼트(262)에 맨해튼 라우팅한다. 제 3 라우팅 세그먼트(266)는 제 4 라우팅 세그먼트(268)보다 짧은 길이를 가지고 있기 때문에 제 4 라우팅 세그먼트(268)(도 8에 파선으로 표시되어 있는)보다는 제 3 라우팅 세그먼트(266)가 제 2 라우팅 세그먼트(264)에 이어서 선택된 것임을 밝혀 둔다. 제 2 최종 끝 포인트 EP2는 제 2 사분면 Q2 내부의 포인트 P2, P3, P4보다 중앙 포인트 C에 가깝다.
제 4 사분면 Q4에서는, 최초 끝 포인트 P6과 P7사이에서 최소화된 맨해튼 거리의 맨해튼 라우팅은 그 포인트 P6과 P7의 직사각형들의 부분들을 따라 결정된다. 제 5 라우팅 세그먼트(272)는 포인트 P6를 제 4 최종 끝 포인트 EP4에 맨해튼 라우팅하고, 제 6 라우팅 세그먼트(274)는 제4 최종 끝 포인트 EP4에 포인트 P7을 라우팅한다.
사분면 Q1, Q2, Q3, Q4내에서 각각의 최종 끝 포인트 EP1, EP2, EP3, EP4가 개별적으로 결정된 후에는, 데이터 프로세서(206)는 그 최종 끝 포인트 EP1, EP2, EP3, EP4를 중앙 포인트 C에 최소화된 맨해튼 거리로 맨해튼 라우팅한다(도 3의 222 단계). 예를 들어, 데이터 프로세서(206)는 최종 끝 포인트 EP1, EP2, EP3, EP4의 중앙 포인트 C에의 모든 가능한 맨해튼 라우팅을 결정한다.
또한, 데이터 프로세스(206)는 어느 맨해튼 라우팅이 최소 맨해튼 거리를 이끌어 내는지를 결정한다. 도 8과 9의 예를 보면, 수직 라우팅 세그먼트(282)(도 9에 굵은 선으로 표시된)는 최종 끝 포인트 EP1과 EP3의 Y성분 사이의 Y축을 따라 그어져 있다.
게다가, 제 1 수평 라우팅 세그먼트 284는 제 2 최종 끝 포인트 EP2로부터 수직 라우팅 세그먼트(282)까지 그어져 있다. 비슷한 방식으로, 제 2 수평 라우팅 세그먼트(286)는 제 1 최종 끝 포인트 EP1으로부터 수직 라우팅 세그먼트(282)까지 그어져 있다. 또한, 제 3 수평 라우팅 세그먼트(288)는 제 3 최종 끝 포인트 EP3로부터 수직 라우팅 세그먼트(282)까지 그어져 있다. 마지막으로, 제 4 수평 라우팅 세그먼트(290)는 제 4 최종 끝 포인트 EP4로부터 수직 라우팅 세그먼트(282)까지 그어져 있다.
이러한 방식으로, 각 포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9는 최소 맨해튼 거리로 중앙 포인트 C에 맨해튼 라우팅 되어 있다. 집적 회로에서 와이어링에 적용한다면, 도 9의 각 라우팅 세그먼트는 와이어링 세그먼트를 나타낸다. 이 최소화된 라우팅은 집적회로(230)의 면적과 복잡성, 그리고 신호 지연을 줄이는 데에 유리하다. 본 발명의 한 실시예에 의하면, 데이터 프로세서(206)는 더욱 빠른 프로세싱을 위하여 포인트 P1, P2, P3, P4, P5, P6, P7, P8, P9 중 적어도 하나를 갖는 4개의 사분면 Q1, Q2, Q3, Q4 각각에서 도 3의 218 단계와 220 단계를 병행하여 수행한다.
위에서 언급한 것은 단지 한 예를 제시한 것일 뿐이고 그것으로 제한하고자 한 것은 아니다. 예를 들어, 본 발명은 집적회로(230)의 와이어링을 위해 기술해왔고 설명해왔다. 그러나, 본 발명은 최소 거리로 중앙 포인트에 포인트들을 라우팅하는 것이 바람직하게 여겨지는 다른 어플리케이션(application)에도 이용이 가능하다. 또한, 여기서 설명되고 기술된 포인트들의 수나 위치는 단지 예시에 불과하고, 본 발명은 어떠한 포인트 수나 위치에도 사용될 수 있다. 게다가, 본 발명은 어플리케이션에서 필수적인 것으로 여겨지는 어떤 포인트들의 부분집합들을 최소 거리로 라우팅하는 데에도 사용될 수 있다.
본 발명은 뒤따르는 청구항이나 그것들의 균등물에 의해서만 한정될 수 있다.

Claims (10)

  1. 복수 개의 포인트(P1, P2, P3, P4, P5, P6, P7, P8, P9)를 중앙 포인트(C)에 라우팅하는 방법으로서:
    포인트들을 적어도 하나 이상의 사분면(Q1, Q2, Q3, Q4) 각각의 내부에 배치된 개별적인 세트로 그룹화시키는 A 단계; 그리고
    적어도 하나의 사분면 안에서 적어도 하나의 최초 끝 포인트(initial end point)를 갖게 하도록, 각 포인트와 중앙 포인트로 정의된 직사각형 내부에서 최소 맨해튼 거리(Manhattan distance)를 갖는 다른 포인트와 각 포인트를 맨해튼 라우팅(Manhattan routing)하는 단계 B를 포함하는, 복수 개의 포인트를 중앙 포인트(C)에 라우팅하는 방법.
  2. 제 1 항에 있어서,
    적어도 하나 이상의 포인트를 갖는 사분면 안에서 중앙 포인트에 가장 가까운 최종 끝 포인트(EP1, EP2, EP3, EP4)를 이끌어내기 위하여 적어도 하나 이상의 최초 끝 포인트를 함께 맨해튼 라우팅하는 단계 C를 더 포함하고, 그리고
    적어도 하나 이상의 각 사분면을 위한 개별적인 최종 끝 포인트를 이끌어내기 위하여 단계 B와 C를 수행하는 것을 특징으로 하는 라우팅 방법.
  3. 제 2 항에 있어서,
    상기 단계 B와 C는 적어도 하나 이상의 각 사분면을 위해 병행으로 수행되는 것을 특징으로 하는 라우팅 방법.
  4. 제 2 항에 있어서,
    각 개별적인 최종 끝 포인트를 중앙 포인트에 맨해튼 라우팅하는 과정을 더 포함하는 것을 특징으로 하는 라우팅 방법.
  5. 제 4 항에 있어서,
    적어도 하나의 포인트를 갖는 각 사분면 안의 적어도 하나의 최초 끝 포인트를 함께 라우팅하기 위한 최소 라우팅 거리와, 각 개별적인 최종 끝 포인트를 중앙 포인트에 라우팅하기 위한 최소 라우팅 거리를 결정하는 과정을 더 포함하고,
    상기 각 포인트는 집적회로(230)의 개별적인 노드이고, 상기 중앙 포인트는 집적회로의 신호원(signal source)의 위치인 것을 특징으로 하는 라우팅 방법.
  6. 집적 회로(230)로서:
    집적 회로의 노드인 복수 개의 포인트(P1, P2, P3, P4, P5, P6, P7, P8, P9);
    각 사분면 안에 배치된 개별적인 세트에 그룹화된 포인트를 갖는 적어도 하나의 사분면(Q1, Q2, Q3, Q4); 그리고
    각 포인트 및 중앙 포인트(C)에 의해 정의된 직사각형 내부에서 최소 맨해튼 거리를 갖도록 하는 각 포인트 사이에서 또 다른 포인트와의 맨해튼 와이어링(252, 254)으로서, 적어도 하나의 포인트를 갖는 사분면에서 적어도 하나의 최초 끝 포인트를 이끌어내기 위한 와이어링을 포함하는 집적 회로(230).
  7. 제 6 항에 있어서,
    상기 적어도 하나 이상의 사분면은 집적회로를 위해 미리 결정된 중앙 포인트와 미리 결정된 그리드에 의해 정의된 네 사분면들로부터 형성된 것을 특징으로 하는 집적 회로.
  8. 제 7 항에 있어서,
    상기 중앙 포인트는 집적회로의 신호원의 위치인 것을 특징으로 하는 집적 회로.
  9. 제 6 항에 있어서,
    중앙 포인트에서 가장 가까운 개별적인 최종 끝 포인트(EP1, EP2, EP3, EP4)를 이끌어내기 위하여 적어도 하나 이상의 포인트를 갖는 각 사분면 안에서 적어도 하나 이상의 최초 끝 포인트 사이를 맨해튼 와이어링하는 단계를 더 포함하는 것을 특징으로 하는 집적회로.
  10. 제 9 항에 있어서,
    각 개별적인 최총 끝 포인트와 중앙 포인트 사이의 맨해튼 와이어링을 더 포함하고,
    상기 적어도 하나 이상의 포인트를 갖는 각 사분면 내의 적어도 하나 이상의 최초 끝 포인트 사이의 와이어링과 각 개별적 최종 끝 포인트와 중앙 포인트 사이의 맨해튼 와이어링은 최소 라우팅 거리로 와이어링 된 것을 특징으로 하는 집적 회로.
KR1020087000972A 2005-06-13 2006-04-19 목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅 KR101187431B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/151,045 2005-06-13
US11/151,045 US7376927B2 (en) 2005-06-13 2005-06-13 Manhattan routing with minimized distance to destination points
PCT/US2006/014697 WO2006137964A1 (en) 2005-06-13 2006-04-19 Manhattan routing with minimized distance to destination points

Publications (2)

Publication Number Publication Date
KR20080028930A true KR20080028930A (ko) 2008-04-02
KR101187431B1 KR101187431B1 (ko) 2012-10-02

Family

ID=36648690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087000972A KR101187431B1 (ko) 2005-06-13 2006-04-19 목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅

Country Status (8)

Country Link
US (1) US7376927B2 (ko)
JP (1) JP4999840B2 (ko)
KR (1) KR101187431B1 (ko)
CN (1) CN100573536C (ko)
DE (1) DE112006001554B4 (ko)
GB (1) GB2442380B (ko)
TW (1) TWI406144B (ko)
WO (1) WO2006137964A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023084B1 (ko) * 2009-05-14 2011-03-24 한양대학교 산학협력단 무선 센서 네트워크를 위한 위치 기반 라우팅 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012123989A1 (ja) * 2011-03-16 2012-09-20 三菱電機株式会社 空気調和システムの管理装置
CN105786618B (zh) * 2016-02-24 2019-06-18 华为技术有限公司 加速器网络中路由报文的方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3621208A (en) * 1969-07-15 1971-11-16 Texas Instruments Inc Signal point interconnection routing
JP3068892B2 (ja) * 1991-07-08 2000-07-24 株式会社東芝 自動配線方法
US5587922A (en) * 1993-06-16 1996-12-24 Sandia Corporation Multidimensional spectral load balancing
US5757656A (en) * 1995-12-20 1998-05-26 Mentor Graphics Method for routing breakouts
US6442743B1 (en) * 1998-06-12 2002-08-27 Monterey Design Systems Placement method for integrated circuit design using topo-clustering
JP4031874B2 (ja) * 1998-09-11 2008-01-09 富士通株式会社 回路配置最適化問題処理方法及び回路配置最適化問題処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US6178539B1 (en) * 1998-09-17 2001-01-23 International Business Machines Corporation Method and system for determining critical area for circuit layouts using voronoi diagrams
TW495686B (en) * 1998-10-19 2002-07-21 David S Chapman Approach for routing an integrated circuit
US6310398B1 (en) * 1998-12-03 2001-10-30 Walter M. Katz Routable high-density interfaces for integrated circuit devices
JP3199707B2 (ja) * 1999-08-09 2001-08-20 株式会社半導体理工学研究センター 半導体演算回路及び演算装置
WO2001054002A1 (en) * 2000-01-18 2001-07-26 Cadence Design Systems, Inc. System and method for h-tree clocking layout
US6625611B1 (en) * 2000-03-15 2003-09-23 Cadence Design Systems, Inc. Method and apparatus for representing multidimensional data
US6513149B1 (en) * 2000-03-31 2003-01-28 International Business Machines Corporation Routing balanced clock signals
US6473891B1 (en) * 2000-05-03 2002-10-29 Lsi Logic Corporation Wire routing to control skew
US6591411B2 (en) * 2001-03-15 2003-07-08 International Business Machines Corporation Apparatus and method for determining buffered steiner trees for complex circuits
US6588003B1 (en) * 2001-06-26 2003-07-01 Lsi Logic Corporation Method of control cell placement for datapath macros in integrated circuit designs
US7155698B1 (en) * 2001-09-11 2006-12-26 The Regents Of The University Of California Method of locating areas in an image such as a photo mask layout that are sensitive to residual processing effects
US7200827B1 (en) * 2003-05-14 2007-04-03 Apex Design Systems, Inc. Chip-area reduction and congestion alleviation by timing-and-routability-driven empty-space propagation
US20050081173A1 (en) * 2003-10-14 2005-04-14 Olivier Peyran IC design planning method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023084B1 (ko) * 2009-05-14 2011-03-24 한양대학교 산학협력단 무선 센서 네트워크를 위한 위치 기반 라우팅 방법 및 장치

Also Published As

Publication number Publication date
KR101187431B1 (ko) 2012-10-02
JP2008544369A (ja) 2008-12-04
GB2442380A (en) 2008-04-02
JP4999840B2 (ja) 2012-08-15
CN101198956A (zh) 2008-06-11
WO2006137964A1 (en) 2006-12-28
US7376927B2 (en) 2008-05-20
TW200705231A (en) 2007-02-01
US20060294486A1 (en) 2006-12-28
DE112006001554T5 (de) 2008-04-30
DE112006001554B4 (de) 2012-08-23
GB0724869D0 (en) 2008-01-30
CN100573536C (zh) 2009-12-23
GB2442380B (en) 2011-10-26
TWI406144B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
US20080072202A1 (en) Techniques for super fast buffer insertion
US20070271543A1 (en) Buffer Insertion to Reduce Wirelength in VLSI Circuits
US20090089735A1 (en) Method and apparatus for routing
JP2013037451A (ja) レイアウト設計装置、レイアウト設計方法およびレイアウト設計プログラム
KR101187431B1 (ko) 목적 포인트에 최소거리로 라우팅하는 맨해튼 라우팅
US20120240090A1 (en) Clock tree designing apparatus and clock tree designing method
JP5380969B2 (ja) レイアウト設計方法、及び装置
US20210073347A1 (en) Net routing for integrated circuit (ic) design
US10719654B2 (en) Placement and timing aware wire tagging
JP5900540B2 (ja) レイアウト設計方法及びレイアウト設計支援プログラム
US8683415B2 (en) Wiring support method and apparatus
WO2018133023A1 (en) Method for partial updating
JP5187217B2 (ja) 半導体レイアウトシステム、方法、及び、プログラム
JP5672341B2 (ja) レイアウト設計方法、装置及びプログラム
JPH1091673A (ja) 配線混雑見積方法及びそれを利用した半導体集積回路設計システム
JP2508227B2 (ja) 半導体集積回路の概略配線経路決定方法
JP2006054348A (ja) 半導体装置、クロック分配方法及びプログラム
JP2002215704A (ja) モジュールの端子位置決定方法及び装置
JP2004013675A (ja) 自動レイアウト設計装置、自動レイアウト設計方法及び自動レイアウト設計プログラム
JPH0645446A (ja) 配置配線方法
Tsai et al. Routability optimization for crossbar-switch structured ASIC design
Boshra et al. Performance and routability improvements for routability-driven FPGA routers
JP2002217299A (ja) 自動配置配線装置
JP2015210703A (ja) Cad装置、セル、およびレイアウト方法
JP2001118930A (ja) 半導体集積回路装置の設計方法及び設計装置

Legal Events

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

Payment date: 20150827

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee