티스토리 뷰
목차
설계 규칙의 이해와 레이아웃 수행
반도체 칩(chip)과 레이아웃
반도체 칩(chip)을 제작하기 위한 과정은 여러 가지 기계적 장치 및 물리․화학적 재료를 필요로 하는 반도체 공정(process)으로 진행된다. 반도체 공정을 통한 반도체 칩의 제작은 주로 자외선(UV)을 이용한 광 리소그라피(photo lithography) 기법에 의해 에칭, 확산, 이온 주입 등의 단위 공정으로 이루어지는데 이 때 각각의 공정을 진행하기 위한 기본 틀인 마스크(mask)가 필수적이다. 마스크를 제작하기 위한 반도체 집적회로의 실제 패턴 도면을 레이아웃이라고 한다. 반도체 칩의 특성은 우선 반도체 공정의 특성에 의해 기본적인 성능 및 한계가 정해지지만 공정의 특성을 잘 이해하고 있는 회로 설계자의 능력에 따라 가격 경쟁력이 있는 우수한 칩이 제작될 수 있다. 또 보다 직접적인 반도체 양산에 관련되어 있는 레이아웃 설계자는 칩의 특성 개선 및 수율 향상에 결정적인 역할을 한다.
반도체 레이아웃 편집은 회로 도면 편집과 같은 점과 다른 점이 있다. 설계에 필요한 소자를 불러서 배치하고 정해진 네트 정보에 맞게 배선을 하는 것은 동일하지만, 레이아웃은 실제 웨이퍼 상에 제작되는 형태 그대로 편집이 되는 것이 다르다. 회로 도면을 그릴 때에의 소자는 단자와 속성을 포함한 개념적인 심볼이며 연결선 역시 두께나 길이에는 의미가 없이 연결을 나타내는 그림일 뿐이다. 하지만 레이아웃에서는 소자나 레이어의 위치 및 모양 그대로 마스크가 만들어지고 그에 따라 반도체 공정을 거쳐 웨이퍼 위에 형상이 제작되므로 패턴의 모양과 길이, 면적 등에 세심한 신경을 써서 편집이 이루어져야 한다.
공정의 설계 규칙
집적회로는 레이아웃에 근거하여 만들어진 마스크를 이용하여 광 리소그라피 공정을 진행하면서 그 패턴이 실제 웨이퍼 위에 생성된다. 레이아웃 도면 및 마스크는 2차원 패턴이지만 그것에 근거하여 제작되는 패턴은 3차원 형상이므로 주어진 공정에서 정해진 규칙에 맞추어 마스크 패턴이 만들어지지 않으면 실제 제작에서의 불량이 발생할 가능성이 높다.
공정을 진행하면서 만들어지는 패턴 제작의 불량을 줄여서 수율을 높이기 위해서는 주어진 공정마다 설계 규칙(Design Rule)이라고 하는 반드시 지켜야 할 규칙이 있으며 레이아웃 설계자는 그 규칙에 맞추어 레이어 패턴 도면을 완성해야 한다. 레이아웃 설계 규칙은 대부분 최소 크기 또는 최소 간격이며 다음과 같은 네 가지 종류로 나눌 수 있다.
일반적인 CMOS 공정을 위해서는 보통 수십 개의 레이어를 필요로 하고 각각의 레이어에 해당하는 설계 규칙 및 상호 관련된 레이어 사이에 적용되는 설계 규칙이 여러 항목으로 나열되어 제공되므로 현재의 대규모 집적회로의 설계에서는 레이아웃 설계자가 일일이 그 모든 규칙을 수동으로 확인하는 것이 거의 불가능하다. 따라서 모든 파운드리 업체에서는 해당 공정에 대한 레이아웃 설계 규칙을 그림 및 도표 문서로 설계자에게 미리 전달하고, 자동으로 프로그램에 의해 설계 규칙을 검증할 수 있는 설계 규칙 파일을 제공한다. 설계자는 제공된 공정의 레이아웃 설계 규칙을 인지하고 최대한 해당 규칙에 맞추어 회로 설계자가 완성한 회로도를 근거로 레이아웃 설계를 하게 된다
1. DRC (Design Rule Check)
회로도 데이터를 참고하여 레이아웃을 완성하면 각 레이어들이 공정에서 제공하는 여러 설계 규칙을 잘 만족하고 있는지의 검증을 하여야 한다. 이러한 과정이 DRC이며 DRC를 위해서는 설계 규칙을 일종의 언어로서 기술된 DRC 룰 파일이 반드시 필요하다. DRC 룰 파일에는 여러 레이어들 간의 최소 간격이나 관계 및 레이어 자체의 두께 등 공정과 관련되는 항목들을 정의한다.
2. LVS (Layout Versus Schematic)
DRC 검증을 통해 레이어들 간의 설계 규칙의 검증이 완료되면 이번에는 레이아웃 데이터와 회로도 데이터가 일치하는지 여부를 알아보는 LVS가 필요하다. LVS를 위해서는 각 소자를 레이어의 연산으로써 정의한 룰 파일이 필요하며 레이아웃 데이터로부터 네트리스트 추출을 위한 룰 파일에서 정의된 대로 소자를 추출하여 툴에서 사용하는 특정한 포맷의 데이터로 변환한다. 또 회로도 데이터로부터 네트리스트를 추출하여 레이아웃의 경우와 같은 포맷의 데이터로 변환한다. 이렇게 변환된 공통의 데이터를 비교함으로써 레이아웃 데이터와 회로도 데이터의 비교 검증이 이루어진다
3. LPE (Layout Parasitic Extraction)
일반적으로 회로도는 기호 또는 심볼을 이용한 이상적인 그림이기 때문에 소자의 연결 부위에 저항 성분이나 캐패시턴스 성분이 존재하지 않지만 레이아웃은 실제 레이어에 의해 구성된 물리적인 소자와 물리적인 연결 패턴을 갖기 때문에 원래 회로도에는 나타나지 않는 저항 성분 및 캐패시턴스 성분이 존재하게 된다. 주파수가 높은 응용 분야 또는 완벽한 매칭 특성이 요구되는 설계 구현에서는 기생적인 RC 성분을 포함한 회로 동작을 확인하는 것이 필수적이다. 이와 같이 레이아웃이 완성된 후에 레이아웃 데이터로부터 기생적인 RC 성분을 추출하는 것을 LPE라고 한다
레이아웃 설계 절차
레이아웃 설계는 회로 설계가 완성된 후 주어진 회로도에 근거하여 작업이 시작된다. DRC는 대부분 길이 또는 거리에 대한 규칙이므로 에러가 발생하였을 때 설계 규칙에 따라 해당하는 부분을 수정하는 것은 시간 문제이다. 물론 상당한 시간과 노력이 필요하긴 하지만 대부분의 CAD 툴이 DRC 에러의 위치까지 그래픽으로 모니터 화면에 출력해 주기 때문에 더욱 작업이 수월하다. 하지만 LVS는 에러가 서로 복합적으로 꼬여서 나타나기 때문에, 초보 레이아웃 설계자는 에러 메시지를 보고도 해당하는 에러의 근본 위치를 정확히 파악하는 것이 쉽지 않다. 따라서 LVS 에러를 신속 정확하게 수정하여 레이아웃 설계 기간을 단축시키면서 좋은 특성을 갖는 칩을 얻기 위해서는 오랜 경험과 다양한 경력을 갖춘 레이아웃 설계자의 역할이 매우 중요하다. LVS는 회로도의 네트리스트와 레이아웃 네트리스트를 역시 해당 공정으로부터 제공받은 LVS 규칙 파일에 근거하여 자동으로 프로그램에 의해 체크한다. 레이아웃으로부터 네트리스트를 추출할 때, 기본적인 전기적 규칙 또한 검증되며 회로도와 레이아웃의 불일치된 부분을 알 수 있도록 해준다. LVS에서 오류가 발견된 부분을 찾아 레이아웃을 편집하여 수정하게 되면 다시 DRC를 수행하여 오류를 확인한 후, 수정된 레이아웃으로부터 네트리스트를 추출하여 LVS를 다시 수행하는 작업을 반복하게 된다.
[실습]
반도체 레이아웃에 필요한 요소를 파악한다.
1. 공정의 테크놀로지 파일의 정보를 파악하고 확인한다.
레이아웃 편집 툴을 이용하여 레이아웃을 설계하기 위해서는 레이어의 종류 색깔 형태, 데이터 입출력을 위한 레이어 변환 방법, 레이아웃 편집 화면을 조절하기 위한 여러 옵션 등이 정의되어 있는 테크놀로지 파일이 필요하다.
2. 설계 규칙 검증을 수행하기 위한 공정의 DRC 룰 파일을 파악하고 확인한다.
회로도 데이터를 참고하여 레이아웃을 완성하면 각 레이어들이 공정에서 제공하는 여러 설계 규칙을 잘 만족하고 있는지의 검증을 하여야 한다. 이러한 과정이 DRC이며 DRC를 위해서는 설계 규칙을 일종의 언어로서 기술된 DRC 룰 파일이 반드시 필요하다. DRC 룰 파일에는 여러 레이어들간의 최소 간격이나 관계 및 레이어 자체의 두께 등 공정과 관련되는 여러 가지 항목들을 정의한다.
3. 설계된 레이아웃으로부터 네트리스트 추출을 수행하기 위한 전기적 규칙 검증 룰 파일을 파악하고 확인한다. DRC 검증을 통해 오류가 없는 것으로 판별되면 이번에는 레이아웃 데이터와 회로도 데이터가 일치하는지 여부를 알아보는 과정이 필요하기 때문에 먼저 레이아웃의 각 소자를 레이어의 연산으로써 정의한 룰 파일을 파악하고 확인해야 한다.
4. 설계된 레이아웃과 회로도의 일치 여부 검증을 수행하기 위한 LVS 룰 파일을 파악하고 확인한다. 레이아웃과 회로도가 일치하는지 여부를 알아보는 LVS 수행을 위해서는 레이아웃 데이터
로부터 추출한 네트리스트 데이터와 회로도 데이터로부터 추출된 네트리스트 데이터를 서로 비교함으로써 설계된 레이아웃과 회로도의 비교 검증이 이루어진다.
반도체 소자에 대한 레이아웃을 수행한다.
반도체 소자는 크게 바이폴라 공정과 MOS 공정으로 나뉘는데 최근의 집적회로는 고집적화에 유리하고 저전력 특성이 우수한 CMOS 공정이 보편적이고 일반적이다. 반도체 레이아웃 설계는 공정마다 많은 차이가 있을 수 있지만 본 절의 레이아웃 수행 내용은 일반적인 CMOS 공정을 기준으로 한 NMOS, PMOS 트랜지스터에 대한 내용으로 진행하기로 한다.
1. NMOS 트랜지스터 소자에 대한 레이아웃을 수행한다.
일반적으로 p형 기판 웨이퍼 위에 제작되는 NMOS 트랜지스터는 다음 그림과 같은 수직 구조를 갖는 3차원 소자이며, 아래쪽 그림에 표시된 그림은 최대한 단순화시킨 레이아웃의 그림을 나타낸다. 소자의 특성은 복잡한 반도체 공정에 의한 3차원적인 구조에 의해 복합적으로 결정되지만, 반도체 집적회로 설계자가 정할 수 있는 것은 채널의 폭(W)과 길이(L)이며 그것에 의해 소자의 크기와 특성이 결정된다.
(1) NMOS의 레이아웃 설계 실습 (W=1.2μm, L=0.4μm)을 수행한다.
레이어를 그리는 순서는 상관이 없으나 중요한 설계 포인트는 다음과 같다.
- nplus와 active가 중첩되면 n형의 active 영역이 형성된다.
- n형의 active와 poly가 중첩되는 부분에 NMOS 트랜지스터가 형성된다.
- W=1.2μm, L=0.4μm가 되도록 n형의 active와 poly의 중첩 부위를 맞춘다.
- 드레인과 소스의 연결을 위한 메탈 콘택을 최소 규칙에 맞추어 그려 넣는다.
(2) NMOS의 레이아웃 설계 규칙 검증을 수행한다.
레이아웃 설계 규칙은 주어진 공정에 따라 달라지며 특별한 경우가 아니면 공정에서 정해진 최소의 설계 규칙을 따르는 것이 권장된다
2. PMOS 소자에 대한 레이아웃을 수행한다.
NMOS에서와는 달리 PMOS는 드레인(D)과 소스(S)가 p형이 되므로 p형 기판 위에 그대로 만들어질 수가 없다. 따라서 기판 위에 n형의 Well을 먼저 만들고 그 위에 p형의 active 레이어로 드레인과 소스를 만든다.
(1) PMOS의 레이아웃 설계 실습 (W=2.4μm, L=0.4μm)을 수행한다.
PMOS 트랜지스터의 레이아웃은 NMOS와 비교할 때, 기본적으로 거의 모든 내용이 유사하며, 채널의 액티브가 p형이므로 nplus가 pplus로 바뀌고, n웰을 소자 전체에 놓는 것이 특징이다. 각각의 레이어를 선택한 후 rectangle 명령어를 사용하여 주어진 공정의 설계 규칙에 맞추어 레이아웃을 하도록 한다. 레이어를 그리는 순서는 상관이 없으나 PMOS 레이아웃의 중요한 설계 포인트는 다음과 같다.
- p형 기판위에 PMOS가 만들어지려면 nwell이 있어야 한다.
- pplus와 active가 중첩되면 p형의 active 영역이 형성된다.
- p형의 active와 poly가 중첩되는 부분에 PMOS 트랜지스터가 형성된다.
- W=2.4μm, L=0.4μm가 되도록 p형의 active와 poly의 중첩 부위를 맞춘다
(2) PMOS의 레이아웃 설계 규칙 검증을 수행한다.
레이아웃 설계 규칙은 주어진 공정에 따라 달라지며 특별한 경우가 아니면 공정에서 정해진 최소의 설계 규칙을 따르는 것이 권장된다
기능 블록에 대한 레이아웃을 수행한다.
반도체 레이아웃 설계에서 기능 블록은 매우 다양하다. 본 절의 레이아웃 수행 내용은 표준 셀 방식의 인버터를 바탕으로 한 몇 가지 기능 블록의 구성에 대한 레이아웃에 대한 내용으로 진행하기로 한다. 표준 셀 라이브러리라고 하는 것은 모든 셀의 높이가 같고 전원 및 접지 메탈의 패턴이 표준화되어 옆으로 인접하여 배치할 때 최적화되는 특징을 갖는다.
1. 인버터의 레이아웃을 수행한다.
본 절에서는 디지털 표준 셀 라이브러리의 가장 기본이 되는 로직 게이트인 인버터 레이아웃을 실습하는데, NMOS와 PMOS 및 각종 콘택을 인스턴스로 불러들여 다음 회로도와 같은 인버터 레이아웃 셀을 설계하는 방식으로 진행한다.
(1) 필요한 셀들을 각각 인스턴스로 불러서 배치하든지 또는 직접 그려 넣는다.
인버터의 회로도를 보면 NMOS 1개와 PMOS 1개로 구성되어 있는 것을 알 수 있다. 또한 웰 콘택과 기판 콘택, 그리고 폴리 콘택도 필요하다. 따라서 필요한 셀들을 각각 인스턴스로 불러서 배치하든지 또는 직접 그려 넣으면 대략 [그림 2-9]와 같은 형태가 된다. 표준 셀의 높이는 정해진 크기로 맞추어 그려준다.
(2) poly 레이어를 선택한 후 PMOS 게이트의 아래쪽 폴리에서 NMOS의 게이트 폴리까지 연결한다. 일반적인 CMOS 공정에서 폴리 레이어는 메탈보다는 저항이 크지만 면저항이 작고, 또한 MOS의 게이트에는 이상적으로 전류가 흐르지 않기 때문에 너무 긴 거리가 아닌 경우에는 배선 레이어로 사용이 가능하다
(3) 인버터의 출력부는 PMOS의 드레인과 NMOS의 드레인을 metal1 레이어로 연결한다. 입출력 핀을 외부로 연결하기 위한 via도 그려 넣는다. 이것은 표준 셀을 설계할 때 일반적으로 권장되는 사항이며, metal1 레이어의 경우는 metal2와 via를 그려 넣으면 되고, poly 레이어의 경우는 contact으로 metal1과 연결한 후, 다시 via로 metal2와 연결해야 한다.
(4) PMOS의 소스 영역의 콘택과 n-well 콘택을 metal1로 연결하고 VDD metal을 그린다.마찬가지 방법으로 NMOS의 소스 영역의 콘택을 GND metal로 덮어 준다. GND metal도 정해진 크기대로 그려준다. 셀의 높이를 최종 확인하고, 연결이 필요한 모든 레이어를 연결하여 완성한다.
(5) Label 명령어로 VDD, A, Y, GND 이름을 입력한다.
(6) DRC를 수행하여, 설계 규칙 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 DRC 에러가 없을 때까지 반복한다.
(7) Extract를 수행하여, 전기적 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 반복한다.
(8) 회로도의 네트리스트를 지정하여 LVS를 수행하고, 에러가 있으면 해당 부분을 수정하여 DRC부터 다시 반복한다. LVS에서 에러가 없으면, 즉 주어진 회로도의 네트리스트와 설계된 레이아웃에서 추출된 네트리스트가 일치하면 DISCREPANCY의 개수가 0으로 표시된다. DISCREPANCY의 사전적 의미는 “불일치” 로서 DISCREPANCIES=0 이라는 것은 회로도와 레이아웃이 일치한다는 뜻이다.
2. AND 게이트의 레이아웃을 수행한다. AND 게이트는 NAND 게이트와 인버터를 이용하여 설계할 수 있다. DRC를 수행하여, 설계 규칙 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 DRC 에러가 없을 때까지 반복한다. Extract를 수행하여, 전기적 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 반복한다. 회로도의 네트리스트를 지정하여 LVS를 수행하고, 에러가 있으면 해당 부분을 수정하여 DRC부터 다시 반복한다.
3. OR 게이트의 레이아웃을 수행한다. NOR 게이트는 NOR 게이트와 인버터를 이용하여 설계할 수 있다. DRC를 수행하여, 설계 규칙 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 DRC 에러가 없을 때까지 반복한다. Extract를 수행하여, 전기적 오류가 있는지 확인하고 error가 있으면 해당 부분을 수정하여 반복한다. 회로도의 네트리스트를 지정하여 LVS를 수행하고, 에러가 있으면 해당 부분을 수정하여 DRC부터 다시 반복한다.
'반도체 공정 및 설계 > ASIC 설계' 카테고리의 다른 글
자동 배치 배선 및 기생 성분 추출 [레이아웃 설계] (0) | 2022.10.21 |
---|---|
자동 배치 배선하기 [레이아웃 설계] (0) | 2022.10.21 |
설계 가이드의 이해와 레이아웃 적용 [레이아웃 설계] (0) | 2022.10.20 |
배선 계획 수립 [레이아웃 설계] (0) | 2022.10.20 |
floorplan 계획 수립 [레이아웃 설계] (0) | 2022.10.20 |