트랜지스터의 최적배치 및 라우팅방법
A method for optimal placement and routing of transistors
특허 요약
본 발명은 레이아웃 면적의 최소화, 배치 구조의 다양화 및 라우팅 최적화를 달성하기 위하여, 회로를 구성하는 트랜지스터의 전기적 연결정보 및 트랜지스터의 파라미터를 이용하여 해당 트랜지스터를 1차적으로 배치하고, 휴리스틱 기반 패턴 최적화 및 우선 순위를 결정한 후, 상기의 결정에 따라 트랜지스터를 최적화된 상태로 배치하고 라우팅하는 트랜지스터의 최적 배치 및 라우팅 자동화 방법을 제안한다.
청구항
번호청구항
1

네트리스트 파일로부터 TR의 파라미터 및 연결정보를 추출하는 단계; 상기 TR의 파라미터 및 연결정보를 이용하여 수리 모델 최적화를 기반으로 전체 TR의 초기 배치구조를 생성하는 단계; 상기 전체 TR의 초기 배치구조를 기반으로 CCT 페어, TR 패턴 및 라우팅의 최적화를 위한 작업 우선순위를 부여하는 레이아웃 룰을 포함하는 휴리스틱 룰 설정단계; 및 상기 레이아웃 룰에 따라 TR 배치 및 라우팅 작업을 복수회 수행하고, 각각의 수행결과에 대하여 적합도 함수 평가를 적용하여 최적의 배치 및 라우팅 결과를 도출하는 단계; 를 포함하는 트랜지스터의 최적배치 및 라우팅방법.

2

제1항에 있어서, 상기 전체 TR의 초기 배치구조를 생성하는 단계는, 상기 TR의 파라미터를 이용하여 각 TR 패턴에 x, y 좌표를 배정하고, TR의 분할 정도 및 행 개념을 도입하여 TR의 y축 위치를 정렬하며, 정렬된 TR의 배치에 따른 수학적 변수를 적용하며, 각 TR의 추정 라우팅 값(estimated routing value)을 사용하여 1차적으로 전체 TR의 초기 배치 구조를 생성하며, 상기 수학적 변수는 TR이 y축에 정렬되었을 때, 페어(pair)를 구성하는 두 개 TR의 게이트의 폭과 길이, CCL을 구현하는 2개의 페어를 구성하는 TR 사이의 거리, 두개의 행을 사용하는 가의 여부에 대응하는 값 및 행 사이의 거리를 포함하는 트랜지스터의 최적배치 및 라우팅방법.

3

제2항에 있어서, 상기 전체 TR의 초기 배치구조를 생성하는 단계는, 1) 동일 행에 배치된 TR 중에서 최대 폭을 가지는 TR의 게이트 방향으로 모든 TR의 좌표의 일치시키는 것; 2) 동일 행에 2D TR 패턴을 사용하고 해당 TR이 짧은 게이트 길이를 가지는 경우, 이웃하는 TR과의 간격의 정의하는 것; 3) CCT의 좌우에 위치하는 TR의 게이트 길이는 CCT의 게이트 길이와 동일하도록 하는 것; 4) 상호 연결관계가 존재하고, 서로 다른 행에 위치하는 TR간에는 가상의 라인을 중심으로 배치하는 것; 5) CC 대상이 아닌 TR은 핑거 구조로 배치하는 것; 및 6) 2D CC 패턴의 경우 TR의 게이트 폭에 따라 두 개의 행에 나누어 배치할 지, 하나의 행에 배치할 지를 선택하는 것;을 포함하는 TR의 배치관련 제약사항 중 적어도 하나를 준수하는 트랜지스터의 최적배치 및 라우팅방법.

4

제3항에 있어서, 상기 전체 TR의 초기 배치구조를 생성하는 단계는, 주어진 네트리스트 상에서 TR의 구성 개수가 2의 거듭제곱 형태인 경우에만 2D 배치 패턴을 생성하도록 하는 트랜지스터의 최적배치 및 라우팅방법.

5

제4항에 있어서, 상기 전체 TR의 초기 배치구조를 생성하는 단계는, 서로 다른 게이트 폭을 가지는 복수의 TR을 포함하는 단위배치그룹에서 게이트 폭이 가장 긴 TR의 게이트 폭의 길이가 상기 게이트 폭이 가장 긴 TR과 인접하며 상기 게이트 폭이 가장 긴 TR보다 게이트 폭이 상대적으로 짧은 적어도 두개의 TR의 게이트 폭과 상기 2개의 TR 사이의 거리의 합보다 긴 경우에는 상기 두개의 TR 사이의 폭을 게이트의 최소간격으로 정의하는 트랜지스터의 최적배치 및 라우팅방법.

6

제5항에 있어서, 상기 전체 TR의 초기 배치구조를 생성하는 단계는, 서로 다른 게이트 폭을 가지는 복수의 TR을 포함하는 단위배치그룹에서 게이트 폭이 가장 긴 TR의 게이트 폭의 길이가 상기 게이트 폭이 가장 긴 TR과 인접하며 상기 게이트 폭이 가장 긴 TR보다 게이트 폭이 상대적으로 짧은 적어도 2개의 TR의 게이트 폭 및 상기 2개의 TR 사이의 거리의 합보다 짧은 경우에는, 상기 2개의 TR 중 하나의 TR의 일 면에 더미패턴을 추가할 수 있는가의 여부에 따라 상기 최소간격을 정의하는 트랜지스터의 최적배치 및 라우팅방법.

7

제2항에 있어서, 상기 휴리스틱 룰 설정단계는, CCT 페어에 대해 우선순위를 부여하는 단계; 독립 TR을 포함하는 페어에 우선순위를 부여하는 단계; 및 라우팅 제약사항을 부여하는 단계;를 포함하는 트랜지스터의 최적배치 및 라우팅방법.

8

제7항에 있어서, 상기 CCT 페어에 대해 우선순위를 부여하는 단계는, 동일 행에서 누적되어 둘러 쌓인 CCT 내부의 TR에 최우선순위를 부여하고, 최우선순위가 부여된 TR과 페어를 이루는 TR 중 다른 행에 위치하는 TR에 두번째 우선순위를 부여하는 제1 우선순위부여단계; 및 순위가 부여되지 않은 TR 중 이미 부여된 순위에 따라 최적화가 완료된 TR 셋(set)과 인접 연결관계를 가지는 TR에 대해서는, 상기 제1 우선순위 부여단계를 적용하여 순위를 부여하는 제2 우선순위부여단계;를 포함하는 트랜지스터의 최적배치 및 라우팅방법.

9

제8항에 있어서, 상기 CCT 페어에 대해 우선순위를 부여하는 단계는, 제1 우선순위 부여단계 및 상기 제2 우선순위부여단계 각각은, 최우선순위 및 두번째 우선순위가 부여된 후, TR에 타이가 발생하는 경우 2D로 구현된 TR 및 TR이 상대적으로 많이 쪼개져 있는 TR이 순차적으로 우선순위를 부여하는 트랜지스터의 최적배치 및 라우팅방법.

10

제7항에 있어서, 상기 독립 TR을 포함하는 페어에 우선순위를 부여하는 단계는, 라우팅 편차의 충족이 필요한 복수의 독립 TR을 포함하는 제1 그룹과 라우팅 편차의 충족이 필요하지 않는 복수의 독립 TR을 포함하는 제2 그룹으로 구분하고, 상기 제2 그룹 보다 상기 제1 그룹에 우선순위를 부여하는 트랜지스터의 최적배치 및 라우팅방법.

11

제10항에 있어서, 상기 독립 TR을 포함하는 페어에 우선순위를 부여하는 단계는, 상기 제1 그룹 및 상기 제2 그룹 내에서는 메인 TR과 연결관계가 있는 TR, 상대적으로 더 많은 TR을 포함하고 더 많이 쪼개진 TR에 우선 라우팅 최적화순위를 부여하며, 상기 메인 TR과 연결관계가 있는 TR 중에서 2D로 구현된 TR은 동일 그룹 내에서 상대적으로 우선순위를 부여하는 트랜지스터의 최적배치 및 라우팅방법.

12

제7항에 있어서, 상기 라우팅 제약사항을 부여하는 단계는, 1) 패턴 매칭이 필요한 라우팅 쌍에 대해, 게이트 레이어 및 제1~제2 메탈레이어의 라우팅 사용 횟수 및 길이를 일치시키는 것; 2) 제0 메탈레이어는 허용 편차 이내의 길이로 매칭하도록 하는 것; 3) 레이아웃 상에서 전력선의 위치는 미리 정하고, 상기 전력선이 설치되는 곳의 상부 층 또는 하부 층에는 상기 전력선을 구현하는 메탈라인 이외의 메탈라인을 설치하지 않도록 하는 것; 4) 외부 신호는 고속의 주파수를 가지는 타 신호와 격리하는 것; 5) 서로 매칭해야 하는 메탈라인 사이에는 더미라인을 설치하는 것; 6) 연결되어야 하는 2개 CC 페어와 핀과의 정렬이 어려운 경우, 직선 형태의 상기 제0 메탈레이어를 일정한 각도로 꺾어 연결하는 것; 7) 게이트 라인 및 상기 제1 메탈레이어는 양 옆에 배치될 수 있는 레이어와 매칭이 되도록 행 사이에 배치하는 것; 및 8) 게이트 레이어의 배선을 최소로 사용하기 위해 복수의 게이트를 연결하는 상기 제1 메탈레이어가 게이트 정렬 방향과 교차되도록 하는 것;을 포함하는 제약사항 중 적어도 하나를 준수하는 트랜지스터의 최적배치 및 라우팅방법.

13

제12항에 있어서, 상기 라우팅 제약사항을 부여하는 단계는, 1) 특정 메탈라인의 라우팅 사용을 최소화하는 것; 2) 메탈레이어 간 스페이스는 메탈라인의 폭에 따른 허용 간격에 따라 결정하는 것; 3) 행을 건너 뛰어 라우팅할 때는 상기 제2 메탈레이어를 사용하는 것; 4) 2D와 연결 관계가 있는 페어가 다른 행에 배치될 때, 상기 제2 메탈레이어를 사용하도록 정의하고, 독립 TR 라우팅단계에서 상기 제0 메탈레이어로는 라우팅이 불가능할 경우 상기 제2 메탈레이어를 사용하도록 정의하는 것; 5) 게이트 레이어는 수평방향으로 라우팅하고, 수직방향은 게이트 레이어와 ISO와의 최소간격을 만족시키기 위한 용도로 사용하는 것; 및 6) 외부신호는 게이트 레이어의 종단 연결된 상기 제1 메탈레이어와 연결하도록 하는 것;을 포함하는 라우팅 실행조건 중 적어도 하나를 더 수행하는 트랜지스터의 최적배치 및 라우팅방법.

14

제13항에 있어서, 상기 라우팅 제약사항을 부여하는 단계는, 1) 연결이 이루어지는 두 TR의 게이트의 폭이 상대적으로 짧은 쇼트 게이트가 서로 연결되는 제1 타입, 한 TR의 쇼트 게이트가 다른 TR의 와이드 게이트/소스/드레인 중 하나에 연결되는 제2 타입, 그리고 상기 제1 타입 및 상기 제2 타입과는 다른 형태로 연결되는 제3 타입을 구분하고, 상기 제1 타입, 상기 제2 타입 및 상기 제3 타입의 순서로 라우팅을 수행하도록 설정하는 것; 2) 동일 TR이 같은 행에 배치된 경우와 다른 행에 나뉘어 배치된 경우를 구분하고, 다른 행에 나뉘어 배치된 TR에 대해 우선순위로 라우팅을 수행하도록 하고 이어 같은 행에 배치된 TR에 대해 후순위로 라우팅을 수행하도록 설정하는 것; 3) 레이아웃에서 TR의 게이트의 폭이 수평방향으로 진행하는지 또는 수직방향으로 진행하는지를 구분하고, 게이트의 폭이 수평방향으로 진행하는 TR에 대해 우선으로 배치 및 라우팅을 수행하도록 하고, 이어서 게이트의 폭이 수직방향으로 TR에 대해 후순위로 배치 및 라우팅을 수행하도록 설정하는 것; 및 4) 하나의 TR이 하나의 행에 배치되는 경우와 두 개의 행에 분할되어 배치되는가를 구분하고, 두 개의 행에 분할되어 있는 TR에 대해 배치 및 라우팅을 선순위로 수행하고 이어서 하나의 행에 배치되는 TR에 대해 배치 및 라우팅을 후순위로 수행하도록 설정하는 것;을 포함하는 TR 사이의 추정 라우팅 값을 사용하는 조건 중 적어도 하나를 적용하는 트랜지스터의 최적배치 및 라우팅방법.

15

제2항에 있어서, 상기 최적의 TR 배치 및 라우팅결과를 도출하는 단계는, 유전 알고리즘을 적용하여 상기 최적의 배치 및 라우팅 결과를 도출하는 트랜지스터의 최적배치 및 라우팅방법.

16

제15항에 있어서, 상기 최적의 배치 및 라우팅 결과는, TR의 분산, 정전용량, 저항, 레이아웃 면적, 레이아웃의 폭, 메탈 레이어의 수 및 행의 개수의 관점 중 적어도 하나의 관점을 포함하는 트랜지스터의 최적배치 및 라우팅방법.

17

제1항에 있어서, 상기 최적의 TR 배치 및 라우팅결과를 도출하는 단계에서 도출된 최적의 배치 및 라우팅 결과를 시각적으로 확인할 수 있는 자료로 변환하는 결과 시각화단계;를 더 포함하는 트랜지스터의 최적배치 및 라우팅방법.