Full Custom IC One Chip 2

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

728x90

IN : 0일때 / IN : 1일때

 

cmos는 p+ <-> p+사이는 0이 되어야 도통되고, n+ <-> n+사이는 1이 되어야 도통된다.

nmos는 p기판에 n+ <-> n+를 삽입하면 되는데 p+ p+는 N-well의 영역을 만들어야 한다.

 

CMOS, BJT, MOSFET의 일반적인 특징

 

cmos의 단점

RF - Radio Frequency, (고주파) 

 

pmos는 VDD와 연관되어 있어 1과 관련있다. 

nmos는 GND와 연관되어 있어 0과 관련있다.

PMOS는 병렬 구조, NMOS는 직렬 구조, NAND GATE

 

NOR GATE 진리표

 

Testbench : 시뮬레이션할 수 있는 환경 

 

변전소에서 나오는 전기 : AC

DC : 에디슨

AC : 테슬라

가 만들었다.

터미널 부분을 만들어 사용할 수 있다.

 

WIRE와 WIRE MAIN까지도 한번에 잡힌다

 

심볼 : 해당 게이트의 외형

터미널 : 내부와 외부를 연결시켜주는 통로

심볼의 옆면에 있는 붉은색 사각형이 터미널

 

Virtuoso 단축키

 


  • 시뮬레이션

시뮬레이션을 진행하기 위해서는 먼저 테스트벤치를 만들어야한다.

인버터 시뮬레이션

 

테스트벤치를 위한 파일 생성

 

테스트벤치 Schematic에 들어갈 소자들 선택

 

완성 Schematic

 

현재 OUT의 CAP은 로드 캐패시터로 사용되고 있다.

로드 캐패시터

 

  • 수동소자 R, L, C

R : 전류를 컨트롤 해주는 역할.

L : 전류의 흐르는 양에 따라 전류를 축적시키는 역할.

C : 전하를 충전하는 역할 (단위면적 당 전하를 축적), 직렬로 연결 시 DC성분을 제거.

 

이제 소자의 Property를 수정해야 한다.

 

소자의 Property를 수정하는 방법은 2가지가 있다.

소자의 Property를 수정하는 방법은 2가지이다. 1) 옆의 Editor를 사용하는 방법, 2) 소자 선택 후 Q 

 

V1, C0, V0의 값 설정

 

VDD, CAP, VIN 값 설정

 


 

Launch - ADE L
위 창이 시뮬레이션할 수 있는 창이다.

우리가 시뮬레이션을 하기 위해서는 Spice Parameter가 필요 -> 공정데이터가 필요한데 이 공정데이터를 공정하는 곳에서서 제공받아야 한다. / 이 공정데이터에서 소자의 문턱전압(Threshold Voltage)등의 정보들이 들어가있다.

 

 

 

  • 초기 전압 선택

Analyses - Choose
dc분석을 위해 dc선택. Save DC Operating Poin를 선택한다.
dc가 초기 설정되는 것을 확인할 수 있다.

 

 

 

  • 초기 소자값 입력

Variables - Copy From Cellview
Schematic의 소자 초기값을 설정할 수 있다
해당 값을 입력하면 Schematic 창의 값도 변경가능

 

 

  • 시뮬레이션할 부분 선택

To Be Plotted - Select On Design
선택하고자 하는 wire를 선택하면 된다.
선택한 wire가 뜨는 것을 확인할 수 있다.

 

 

  • 설정한 부분 저장

Session - Save State...
Cellview - State(DC입력) - OK
저장하게 된다면 해당 Schematic의 경로로 들어가게 된다.

 

 


  • Netlist

Schematic이 check and save가 되어있어야 netlist 가능.(게이트 심볼 내부 Schematic에도 check and save되어야 한다.)

Simulation - Netlist - Create / netlist창이 생성되는 것을 확인할 수 있다.

 

File - Save As ...
저장위치 선택
저장하면 넷리스트를 txt로도 볼 수 있다.

 

 

Simulation - Netlist and Run
시뮬레이션 결과 - 실패 시 Error 부분 출력한다.
S
090라이브러리만 남겨두는 것이 좋다.

 

VIN 더블클릭 - Value : 1.2입력 - Apply & Run Simulation(해당 버튼을 누르면 프로그램이 자동으로 넷리스트를 만들고 적용도 시켜버린다)

 

1.2V가 적용된 모습을 볼 수 있다.

결과값이 하나만 나오고 있다. 그래프는 점과 점 사이를 이어야 하는 것.

 

 

gm : 전달 컨덕턴스

 

 

 

 

해당 버튼을 눌러야 width를 표기할 수 있다.

 

 

DC SWEEP (VIN을 1.2V에서 흔들어볼 것)

PMOS와 NMOS의 movility(이동도의 차이값)가 같을 수 있을까?

-> 가운데 교차하는 곳이 한쪽으로 쏠리게 된다면 PMOS와 NMOS중 하나의 특성이 더욱 높다는 것.

-> 0V에 더욱 근접한다면 NMOS에 가깝다는 뜻

-> 1.2V에 가깝다면 PMOS에 가깝다.

 

 

 

1.2V에서 반전이 일어남 (DC TRANCICEVER DC반전)

몇V가 되어야 PMOS와 NMOS의 이동도가 동일해지는가 (왜 이동도가 동일해져야 하는가 -> 기준값을 만들지않으면 위의 INVERTER가 정상적으로 만들어지지 않을 수 있기 때문 / PMOS와 NMOS중 한쪽 특성으로 쏠려버리기때문에)

그래프가 왼쪽으로 가있다면 NMOS의 특성이 더욱 높다는 것 (NMOS의 width값을 1u고정)

-> PMOS의 값을 높혀  그래프를 맞춰준다.

 

특성 곡선

 

 

CUT OFF 영역
Saturation영역

 

전류를 고정시켜줘야 회로를 안정적으로 만들 수 있다. Saturation영역

작동영역은 중간점을 잡아주는 것이 좋다.

 

 

추가시킨 WID의 값을 입력 (이곳엔 무조건 소문자를 적어준다.)
이제 VID를 0 ~ 1.2V로 SWEEP시켜줘야한다.
Design Variable - Variable Name : VIN - Start,STOP

 

초록색 : 출력 / 붉은색 : 입력

 

0~1.2V까지 SWEEP하는 것을 나타낸다

 

만나는 지점을 확대해보면 

 

NMOS의 값이 높다면 PMOS의 width값을 줄여주면 된다. 

 

 

 

해당 창에선 병렬구조로 동작

 

 

값이 계속 증가하는 것을 볼 수 있다.

 

 

 

2.7u가 가장 근접해있는 것을 볼 수 있다.

위의 과정에서 계속 파고들어 최적의 이동도를 찾을 수 있다.

2.6u ~ 2.7u사이에서 0.01u의 간격으로 다시 측정한다.

위의 그래프에서 2.6u ~ 2.7u 사이에 최적의 이동도가 나올 수 있기 때문에 그 값을 입력하여 다시 시뮬레이션 돌려본다.
0.01u 단위로 세분화되어 그래프가 출력

 

WID : 2.66u에서 가장최적

시뮬레이션에서 정확히 맞춰도 차후 layout의 기생성분때문 값이 다시 틀어질 수 있다.

WID : 2.66u로 맞춘 후 시뮬레이션을 돌리면 정확히 맞는 것을 확인할 수 있다.

 

증폭률 

 

 


 

 

 

대역폭

 

이때의 0.6v를 DC OFFSET이라 한다.
vdc대신 vsin을 넣어준다

 

 

ignore를 선택하면 무시할 수 있다.

 

AC magnitude : 입력에 들어가는 AC의 값(Voltage)

Ampitude : dB scale

AC magnitude와 Ampitude의 차이점은?

 


 

Tools - Calculator

 

해당 창에서 연산식을 넣어 그래프를 볼 수 있다.

 

dB20(VF(OUT지점))의 파형을 본다

 

앞의 AC SWEEP과 동일한 결과값의 그래프를 얻을 수 있다.

 

 


 

 

 

A와 B를 누르면 진폭 크기의 값을 알 수 있다.

Bandwidth값을 넘어서면 위상이 뒤틀린다. 

 

vpulse를 추가한다.
왼쪽의 파형에 맞게 vpulse의 값을 변경한다.
Load Cap
pmos에서 nmos로 동작하는 순간 발생

커패시턴스는 단위면적 당으로 커진다.

 

CAP을 범위를 지정하여 값을 넣어준다.

 

Trade off