Language/ASIC

Virtuoso : NOT GATE

짱도르딘 2024. 10. 8. 16:29
728x90

오늘은 Cadence의 Virtuoso를 활용해보려 한다.

 

Cadence Virtuoso

MobaXterm을 실행한 후 다음과 같이 명령어를 입력한다.

 

명령어를 입력하면 다음과 같은 창이 뜨는 것을 확인할 수 있다.

 

Tools에서 Library manager를 클릭하면 다음과 같은 화면이 뜬다.

 


 

다음은 Library를 생성하는 방법이다.

아래와 같은 과정대로 진행을 하게 되면,

아래의 사진처럼 나만의 Lib가 생긴 것을 확인할 수 있다.

 


이번에는 NOT 연산자를 구현하려고 한다.

 

다음과 같이 새로운 File을 생성한다.


 

단축키 'I'를 누르면 다음과 같은 창이 뜨는 것을 확인할 수 있다.

PMOS와 NMOS를 선택해서 추가한다.

 

단축키 'Q'를 누르면 속성 화면으로 통해진다.

다음과 같이 설정한다.

 

다음과 같이 NOT 연산자를 PMOS와 NMOS로 구성한다.

PMOS의 모빌리티가 NMOS의 2배이기 때문에, PMOS의 Width는 2로 설정하였다.

 


NOT 연산자를 만들기 위해 다음과 같은 과정을 진행한다.

 

'L'을 눌러 'NOT' 라벨을 생성한 후 다음과 같은 NOT 연산자를 생성한다.


TEST

이제 만들어진 NOT 연산자를 테스트해보려 한다.

 

 

 

다음과 같이 설정한다.

 

시뮬레이션을 하기 위해 다음과 같이 진행한다.

 

 

시뮬레이션을 하면 다음과 같은 창과 결과가 뜨는 것을 확인할 수 있다.

 

아래의 사진처럼 결과가 나왔으므로, 가운데로 값을 맞추기 위해 PMOS의 w를 키워야 한다.

 

PMOS의 Width을 조절하기 위해 다음과 같이 설정한다.

 

시뮬레이션을 위해 다음과 같이 설정을 한 후,

 

적절한 WIDTH 범위를 설정한다.

 

다음과 같이 그래프가 도출된 것을 확인할 수 있다.

이제 정확한 500mV값을 찾아보는 과정을 수행해보자.


중앙값 찾기

중앙값을 정확하게 찾기위해 소수점 둘째자리까지 찾아보려한다.

 

위와 같이 시뮬레이션 한 결과 2.91u과 2.92u사이에 있는것을 확인할 수 있다.

 

따라서 아래와 같이 pmos의 width 값을 2.91u 로 설정하였다.

728x90

'Language > ASIC' 카테고리의 다른 글

Virtuoso : 4NAND  (1) 2024.10.15
Virtuoso : 4NOR  (0) 2024.10.15
Virtuoso : 3NOR  (0) 2024.10.10
Virtuoso : 3NAND  (0) 2024.10.10
Virtuoso : 2NOR  (0) 2024.10.10