Full Custom IC One Chip 5

2023. 7. 17. 09:42[Harman] 세미콘(semiconductor) 아카데미-반도체설계/Full Custom IC One Chip 설계

728x90

N TAP

P TAP 

이 있는 이유 -> 노이즈를 막기 위해 사용

 

평가때 레이아웃 부분 나올 수 있는 점 많음 

밖의 P+를 주입하기 위해 P TAP을 만들어야 한다.

 

VIA : 아래쪽의 Layer를 연결하기 위해 사용

층을 나누기 위해서는 아래쪽의 층과 윗쪽의 층을 

 

가장 아래층에는 pmos nmos 연결 

 

CMOS의 단점 : CMOS는 상보적으로 P TAP과 N TAP을 같이 구성해야한다. -> 공정상 복잡해진다. 

Stack
선택한 layer를 한번에 합칠 수 있다
층이 높을수록 저항성분 낮아진다.
층이 높아져도 패키징 형태는 동일 / 그러나 무작정 높이지는 못한다. / 아날로그에서 층을높인다면 메탈 라인이 높은걸 사용하게 되면 저항성분이 남아있게 된다.
게이트를 만들기 전 손으로 그리는 계획도

 

 

 

Fingering : pmos nmos의 모빌리티 차이때문에 pmos가 width값을 2배정도 갖는다. 길을 2차선으로 만든다. -> 이렇게 만들면 poly, drain쪽이 항상 기판쪽으로 노출되어있기 때문에 기생cap등의 노출이 많아진다. (gate는 저항성분이 크다) 그래서 fingering을 통해 기생값을 줄일 수 있다 / 보통 짝수 fingering을 많이 사용

 

fingering할 때 gate를 연결하는 이유 : 게이트를 같이 제어할 수 있도록 합쳐줘야 한다.
tap을 양쪽으로 깔아주면 어느곳에서든 gnd가 더욱 많이 깔리게 된다. -> 공간들을 차폐하게 된다.
노이즈를 막아주는 RF소자에선 위와 같이 구성한다. 위 : P TAP / 아래 : N TAP

 

 

트랜지스터레벨에서 보면 핑거링과 비슷 / 전체적 면적을 줄이면서 가로로 줄인다.  / PMOS NMOS영역이 있다면 전부 소스영역이 된다,(소스영역을 공유하게 된다)

 

소스의 크기가 중요하지 길이가 중요하진않는다. 원레 나눠져있는 것을 합쳐버린다. 두개를 합쳐버리면 그만큼 Saving area가 생기게 된다.

 

컨택의 개수, 비아의 개수를 촘촘히 넣어줘야 좋다.(layout의 룰에 벗어나지 않는 정도로)
폭의 규칙들이 공정 종류에 따라 다르게 되어있다. 삼성, sk하이닉스 공정들 마다 폭이 다르다.

 

기생값들을 회피할 수 있는 간격의 규칙들이 존재

 

메탈라인들을 어떤방식으로 메워 나가는지 규칙이 존재

메탈라인  크기가 정해져있다. (지침서가 존재)

위와 같은 지침서가 존재 - 위의 지침서가 각 공정들마다 다르다 -> 그래서 지침서 스터디가 필요 / 위의 사항들을 고려하지 않으면 내부적으로 탈 수 있다. / 특히 파워라인은 더욱 고려해야 한다. 파워라인을 고려하지 않으면 파워공급조차 안되어 current mirror도 발생할 수 없다. -> 공정회사에서 제공해주는 파일이 있더라도 각 상황에 맞게 매칭시켜줄 순 없다 -> 그래서 노하우가 필요 (경험이 중요)
메탈 아래층에 oply, n+ p+등이 존재하는 것을 지침서에서 확인 가능

 

MPW : Multi Porject Wafer : 다양한 목적의 웨이퍼 / 실험용이나 논문제출용 등 다양한 목적에서 사용된다. / 일주일안에 나온다. 대신 마이크로가 상당히 높다.(1u 짜리 length를 사용해야함)


  • Pcell

기존에 만들었던 layout의 속성값들을 수정가능
pcell : 특정한 코드(규칙)등을 이용해서 layout을 설계할 수 있다. / pcell은 스킬 언어라 해서 특정한 프로그램을 만드는 엔지니어들이 많이 없다.

 

 

pcell을 사용하게 되면 좀더 손쉽게 layout을 만들 수 있다.

 

 

 

 

 

90나노 공정에서의 layout도 전부 pcell로 만든 것들이다. / 왼쪽 예제 pcell / 90나노 공정의 layout pcell 

 

 

중간을 기준으로 늘어나면 된다. / 가로로 늘릴지, 세로로 늘릴지에 따라 중간의 기준이 달라진다. / width값을 증가하면 위로 증가하게 된다.

 

폴리의 게이트를 몇개 Repetition시킬 지 나타낸다.

 

pcell을 하게 되면 좌, 우로 변환 가능 -> 이 기능을 통해 데이터의 메모리를 줄일 수 있다.

 

Launch - Piugins - Pcell

 

Pcell탭이 생성된다.

 

width값을 늘리면
옆을 드래그한 후 Enter누르게 되면 오른쪽의 창이 뜨게 된다.
기존의 width값이 0.36 이기 때문에 Default값 또한 0.36으로 설정한다.
x축은 poly가 기준이 된다. y와 동일하게 드래그 후 Enter로 설정창에 들어가 length를 입력한다. / x에선 오른쪽에도 Figures가 이루어져야해서 해당 부분 체크한다.
해당 부분을 stretch하면 위의 부분을 거리로 잡게 된다.

 

diff로 설정하여 ok
최종 결과

 

체크된 부분은 위로만 증가해야 함/ 그러나 컨택은 좌 우로도 증가해야함

 

메탈과 폴리메탈을 Repetition시켜줘야 한다.

 

메탈2개와 폴리를 선택하여 Enter

 

위의 창으로 Repeat되는 fingering을 진행 / 컨택을 선택하지 않은 이유는 x값을 할때는 해당하지 않기 때문이다. (컨택은 위로도 증가, x와 y로도 증가)

 

캔택은 위의 창을 선택하여 설정해야 한다.

 

컨택 부분 선택하여 Enter하게 되면 오른쪽 창이 뜨게된다. / 컨택은 x, y축 전부 증가하기때문에 x and y를 선택헤야 한다.

 

Pcell - Compile - To Pcell
현재 우리는 트랜지스터를 만들고 있기 때문에 transistor 선택
컴파일 완료 되었다는 것을 볼 수 있다.
save누를 시 다시 컴파일 된다.
밑에 Pcell이 뜬 것을 확인할 수 있다 -> 정상적으로 Pcell을 생성했다는 뜻.

 

Parameters에 우리가 설정한 값들이 반영된 것을 확인할 수 있다.

 

width 변경 (0.36u -> 1u)

 

width 변경됨 (0.36u -> 1u)

 

length 변경 (0.1u -> 0.5u)

 

length 변경됨 (0.1u -> 0.5u)

 

gate 개수 변경 (1개 -> 2개)

 

gate 개수 변경 됨 (1개 -> 2개)

 


PMOS Pcell 만드는 과정은 NMOS Pcell을 만드는 것과 동일

 

 

설정한 값을 수정하는 방법은 Modify를 선택하여 만들어둔 layout을 클릭하면 수정 가능
해당 중심좌표를 이동시켜주는 기능

 

기준점이 잡히는 것을 확인할 수 있다.

 


  • NAND GATE, NOR GATE

 

 

S와 D의 위치는 그때마다 다르다.
위와 같은 구조를 하게되면 Sharing하게된다.

 

finger : 나누는 것 / fingering 시 gate끼리는 연결되어있어야한다. -> 연결되어있지 않으면 타이밍이 맞지않아 합쳐나가지 못하기 때문이다.

sharing : 겹치는 것.

기존의 pmos width는 2.67
기존의 width가 2.67인 pmos를 절반으로 나누게 되면 채널 당 width가 1.335가 된다. -> 이때 나눠진 pmos를 sharing시켜버리면 gate : 2, width : 1.335 -> 2 * 1.335 = 2.67이 된다. 

 

이 부분은 어떻게 해석하는 가?

 

 

 

위에가 OUT 밑에가 GND

위의 과정으로 fingering과 sharing을 해줘야 layout의 공간을 더욱 줄이고 기생 cap의 성분들 또한 줄일 수 있다.

 

아직 N-well이 연결되어 있지 않다.

 

 

via를 추가한다.

 

pmos : n tap / nmos : p tap
가운데의 source와 drain이 합쳐져야하고 끝의 drain과 source또한 합쳐져야 한다.

 

NAND GATE
NOR GATE


  • 검증

검증단계에서 필요한것은 공정회사에서 제공하는 DRC/LVS파일이 필요하다

-> 위에서 우리가 만든 게이트의 넷리스트를 뽑아 검증을 진행  

 

  • DRC

DRC : 공정회사가 중요하게 생각해야 하는 룰

LVS : 디자이너가 중요하게 생각해야 하는 룰

 

 

 

현재 우리의 GPDK파일은 서버와 연동되어있으므로 서버와 연결해야 한다.

 

 

View를 눌러준다.

 

 

 

assura폴더 안에 있는 drc파일 / 해당파일에서 drc의 규칙들을 적용하여 layout을 검사한다.

 

-> 화살표 누르면 자동으로 ERROR부분으로 이동
에러 표시

 

에러 수정 후 다시 DRC RUN하면 NO DRC error가 뜨는 것을 확인할 수 있다.

 

 

 


  • LVS

 

LVS를 하기 전에 Schematic을 먼저 확인한다. 

 

 

 

 

왼쪽에서 에러 하나 선택 후 Open Tool누르면 오른쪽 창이 뜬다.

 

DRC : Layout에서의 에러를 잡는 것.

LVS : Schematic에서의 에러를 잡는 것.