katte
개발새발 우주정복기
katte
전체 방문자
오늘
어제
  • 분류 전체보기 (73)
    • 블로그 소개 (1)
    • Computer (36)
      • 자료구조 (0)
      • 알고리즘&백준 (19)
      • 컴퓨터구조 (0)
      • C++ (17)
      • Kotlin (0)
    • EE (29)
      • Verilog (22)
      • 디지털 시스템 (2)
      • 집적회로설계 (1)
      • 임베디드 시스템 (4)
    • 토이프로젝트 (3)
    • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • for 루프
  • cin
  • c++
  • 입력버퍼
  • C++ 스트림 개요
  • 표준스트림
  • 함수포인터
  • cctype
  • C++ 스트림 클래스
  • EOF
  • ctime
  • c++ 입출력
  • 스트림
  • ignore
  • Get
  • 배열포인터
  • C++11
  • C언어

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
katte

개발새발 우주정복기

EE/집적회로설계

[집적회로설계] transmission gate, pass gate

2023. 3. 24. 16:27

알다시피 NMOS의 drain이 VDD와 연결되었을때, source의 전압은 Vs = VDD - Vtn까지만 올라올 수 있다.(MOS의 channel 형성 조건 때문에)

PMOS 역시 drain이 GND와 연결된다면 Vs = Vtp까지만 내려갈 수 있다. 

 

즉 NMOS는 weak 1, PMOS는 weak 0를 전달하게 된다는 문제가 있다.(voltage drop이 생긴다)

따라서 static CMOS에서는 PUN으로 PMOS, PDN으로 NMOS를 사용하여 strong 0, 1을 전달할 수 있도록 하는 것이다.

 

 

static CMOS 방식 말고도 strong 0, 1을 전달할 수 있도록 하는 방식이 있는데, 이것이 transmission gate(=pass gate)이다. 

 

transmission gate는 NMOS와 PMOS를 parallel하게 연결한 것으로 다음과 같은 구조를 갖는다. 

 

출처: 위키피디아

 

 

(입력단이 source, 출력단이 drain이다)

A = 1일때, 인풋으로 0(GND)이 들어오면 NMOS의 Vg = VDD, Vgs = VDD가 되어 ids current가 흐르게 되고, 이 current와 출력단의 parasitic capacitor 덕분에 출력단의 전압을 GND로 끌어내릴 수 있다.(strong 0)

 

반대로 인풋으로 1(VDD)이 들어오면 PMOS의 Vg = GND, Vsg = VDD가 되어 역시 ids current가 흐르고, 이 current와 출력단 parasitic capacitor로 인해 출력단의 전압이 VDD까지 올라오게 된다.(strong 1)

 

 

정리하자면, 0이 들어올 땐 NMOS가 작동해 strong 0을 전달하고, 1이 들어올 땐 PMOS가 작동해 strong 1을 전달한다. 

 

 

기호는 주로 다음과 같은 기호를 사용한다. 

 

 

 

 

단점은 인풋으로 들어오는 신호가 VDD, GND가 아닌 weak 0, weak 1이라면, 출력단의 전압이 입력단의 전압까지만 올라갈 수 있기 때문에 출력단의 신호 역시 weak 0, weak 1이 된다는 것이다. (이러한 성질을 nonrestoring이라고 한다.)

 

참고로 static CMOS는 restoring하다. (weak 신호가 들어와도 strong 신호로 출력시킨다. 이를 rail-to-rail swing이라고도 한다.)

 

저작자표시 (새창열림)
    katte
    katte
    개발새발 코딩하는 블로그 / HW 위주

    티스토리툴바