EDA Tool/Cadence Virtuoso

CMOS inverter 설계

semikang 2024. 8. 26. 14:03

0. CMOS 설명

CMOS는 Complementary MOSFET의 약자다. Complementary는 ‘상호 보완’, ‘보상’이란 뜻으로 두 가지 종류가 보완적으로 쓰인다는 의미다. 첫 번째는 전자를 전하 캐리어로 하는 nMOSFET이고, 두 번째는 정공(Hole)을 전하 캐리어로 하는 pMOSFET인데 이를 같이 쓰기에 CMOS로 불린다.

 

CMOS로 로직 회로를 구성하면 두 MOSFET의 금속 게이트 전극에 똑같이 0V를 주었을 때, nMOSFET은 꺼지고 pMOSFET은 켜진다. 금속 게이트에 전압을 가해주면 반대로 nMOSFET은 켜지고 pMOSFET은 꺼진다. 이처럼 대칭적으로 상호 보완하며 움직이는 nMOSFET과 pMOSFET 두 종류의 스위치로 논리 연산하는 회로를 구성하는 것을 CMOS 기술이라고 부른다.

 

CMOS로 만든 부울대수 연산자의 예를 보자. nMOSFET과 pMOSFET 두 스위치를 직렬로 연결한 회로를 보자. In 단자에 1이 들어가면(전압이 걸리면) 위에 있는 pMOSFET은 꺼지고 아래의 nMOSFET은 켜진다. 그러면 Out 단자는 아래의 접지와 연결이 되어서 전압이 0이 되므로 0이라는 신호가 나오게 된다. 반대로 In 단자에 0이 들어가면(전압이 걸지 않으면) pMOSFET는 켜지고 nMOSFET는 꺼지면서 Out 단자는 전압이 높은 VDD 선과 연결된다. 그래서 높은 전압이 되므로 1이라는 신호가 나오게 된다. 이렇게 0이 들어가면 1이 나오고 1이 들어가면 0이 나오게 되므로 논리 회로에서 NOT 논리 연산을 수행하는 인버터(Inverter)가 된다.

출처 : sk하이닉스 뉴스룸

물론 nMOSFET 하나를 사용한 스위치로도 구성 가능하다. 위 예시를 보면 저항과 nMOSFET을 직렬로 연결했고 저항의 윗단은 전압이 걸려 있다. nMOSFET의 아래 단은 접지되어 있다. In 단자에 0이 들어가서(전압이 걸리지 않아서) nMOSFET이 꺼져 있다면 Out 단자는 저항을 통해서 VDD 선과 연결되므로 1이라는 상태가 된다. 또 In 단자에 1이 되는 경우(전압이 걸리는 경우)는 nMOSFET이 켜진다. 이때 nMOSFET 스위치의 저항은 위에 달린 저항에 비해서 매우 미미하므로 Out은 아래의 접지와 연결되는 셈이 되어 0이 된다. 이렇게 해서 예시 회로의 경우 In에 0을 넣으면 1이 나오고, 1을 넣으면 0이 나오는 인버터가 되는 것이다.

 

출처 : https://news.skhynix.co.kr/post/rino-choi-column-3

 


1. Schematic

CMOS INVERTER(NOT GATE)

NMOS의 다수 캐리어인 전자의 모빌리티(이동도_mobility)가 PMOS의 다수 캐리어인 Hole의 모빌리티보다 약 2~3배 정도 높은 값이기 때문에 NMOS가 PMOS보다 동작 속도가 빠릅니다.

상온에서 전자, 정공의 모빌리티 차이

 

최적화된 동작을 위해 NMOS와 PMOS의 대칭성(NMOS와 PMOS의 전류구동능력)이 비슷한 게 중요합니다.

모빌리티 차이때문에 같은 width에서 PMOS의 전류구동능력이 2~3배 낮기 때문에

PMOS의 전류구동능력을 올리기 위해 *width값을 올려주겠습니다.

*드레인 전류는 width와 정비례한다.

 

spectre 시뮬레이션을 통해 width 값을 정하기 위해

NMOS 소자의 width= 1μm , length= 100nm

PMOS 소자의 width값을 변수 WIDTH로 지정했습니다.


2. Spectre

인버터를 심벌로 만들고 테스트(적정 width 찾기) 위한 스케메틱을 그렸습니다.

입력 전압 VINA를 전압으로 두고 sweep 범위를 0~1v로 두어 width 변화에 따른 VOUT값의 토글을 측정하려 합니다.

spectre simulation with ADE L

ADE(Analog Design Environment) : 사용자가 원하는 목표에 따라 디자인을 완벽하게 탐색, 분석 및 확인하는데 필요한 모든 기능을 제공

parameter analysis를 통해 분석하려는 PMOS의 width값을 1μm ~10μm로 설정했습니다.

VINA와 VOUT의 결과를 보겠습니다.

이상적인 INVERTER는 0.5V에서 VOUT값이 1에서 0으로 토글 되는 것입니다.

 

확대해서 그래프를 본다면 2μm ~3μm 사이 값에서 500mV 토글이 확인됩니다.

정확한 값을 위해 WIDTH 파라미터 sweep값을 2μm ~3μm 사이 범위에서 step size 0.1μm로 다시 시뮬레이션을 보겠습니다.

2.9μm ~3μm의 값으로 근사했습니다. step size를 줄여서 더 근사한 값을 찾을 수도 있지만

보통 pdk에서 제공하는 layout gird 범위가 0.005μm 이기 때문에 2.91μm로 width값을 정해주겠습니다.

inverter 스케메틱으로 돌아가 width를 변수에서 2.91μm로 바꾸고 layout으로 넘어가겠습니다.


3. Layout

 

'EDA Tool > Cadence Virtuoso' 카테고리의 다른 글

CS Amp 설계  (0) 2024.09.02
transmission gate 설계(switch 동작)  (0) 2024.08.28
MUX 설계(논리게이트)  (0) 2024.08.27
2-input NAND 설계  (0) 2024.08.27