Digital Logic 1

2023. 6. 13. 01:24FPGA/Verilog

728x90
  • Verilog ( = Hardwate Description Language )
  1. 하드웨어를 표현하는 언어 / 반도체를 설계하기 위한 언어 / 디지털회로를 설계
  2. ic칩 설계를 위해 사용한다
  3. 베릴로그 디자인(Verilog Design) == 디지털 회로 디자인(Digital Circuit Design)
  4. FF은 존재하지 않는다 -> FF의 기능을 하는 트랜지스터가 존재할 뿐
  5. 사람이 베릴로그 코드를 작성하면 컴퓨터가 해당 베릴로그 코드를 참고하여 회로도를 작성하낟

 

  • 베릴로그를 통해 얻을 수 있는 장점
  1. 하드웨어 구조 이해 / 최근의 소프트웨어흐름은 하드웨어의 성능과 밀접한 관계를 가지고 있다.
  2. 새로운 가능성 추구 / 기존의 MCU로는 구현할 수 없는 기능을 구현 가능
  3. 원가 절감 
    1. FPGA를 사용하지 않고 NOT GATE, AND GATE를 사용하여 설계를 하는 사람 존재
    2. 만약, 보드 변경 시 게이트 변경이 번거롭다
    3. 이때, 베릴로그를 사용하면 변경이 용이
  4. 새로운 개발 영역 확장

 


  • Digital Logic

출력의 기준에 따라 Combinational Logic과 Sequential Logic을 구분

 

  • Combinational Logic
  1. "지금(현재)"의 입력 로직값을 기준으로 출력 값이 결정되는 회로
  2. 메모리 기능 존재하지 않는다.

 

  • Sequential logic
  1. 현재 입력로직 + 이전의 상태값을 포함하여 출력 값이 결정되는 회로
  2. 메모리 기능 존재한다.
  3. 출력값을 결정할 때는, 입력측의 로직뿐만 아니라 그 이전 출력상태의 로직도 포함하여 그 다음값을 출력한다.
    1. 현재의 값은 알 수 있지만 과거의 값을 알려면 그 값을 기억해야 한다
    2. 과거의 값을 기억하기 위해 메모리가 필요.

 

  • NOT GATE

NOT GATE/ Truth table

 

실제로 실로콘 웨이퍼에 식각이 될 때, 식각되어져야 하는 트랜지스터의 개수가 가장 적은 로직 게이트이다.

(가장 적은 트랜지스터의 조합으로 이루어진 게이트)

NOT GATE는 트랜지스터의 조합으로써, 해당 트랜지스터들로 NOT GATE의 진리표 기능을 구현한다.

 

  1. INPUT이 트랜지스터 gate에 입력된다.
  2. P - ch Mosfet, 
    1. Vdd 전류 소스가 p-ch source에 연결되어 있다. 
    2. gate = 0일 때, drain에 연결되어 전류가 output으로 흐른다.
    3. P - ch Mosfet은 전류가 source -> drain으로 흐르게 된다.
  3. N - ch Mosfet
    1. gate = 1일 때,  전류가 흐르게 된다.
    2. drain -> source로 흐른다.
  4. INPUT = 0
    1. P - ch Mosfet은 Vdd가 source -> drain으로 전류가 흘러 OUTPUT으로 간다.
    2. N - ch Mosfet는 dranin -> source으로 흐를 수 없다. OFF 되어있는 상태
    3. INPUT = 0일때, OUTPUT = 1이 출력
  5. INPUT = 1
    1. P - ch Mosfet는 OFF가 되어 source -> drain으로 전류 흐를 수 없다.
    2. N - ch Mosfet는 ON 되어 drain -> source로 전류 흐르게 된다. GND로 전류가 흐르는 상태.
      1. 현재 Vdd의 전류는 OUTPUT으로 흐르지 못하고, OUTPUT의 전류를 GND로 계속 흘러보내주고 있어, OUTPUT의 전류가 남아나지 않는상태. (GND와 OUTPUT이 연결된 상태)
      2. 이때 OUTPUT 단자에 외부 배터리(+단자를 OUTPUT으로 연결)를 연결하게되면 배터리는 OUTPUT으로 역으로 흐르게 되어 회로가 합선(쇼트)된 것 과 같게 된다.
      3. OUTPUT모드일 때, OUTPUT LOGIC= 0을 하는 것은 굉장히 위험하다.

 

  • OR GATE

 

OR GATE / Trurh table
C-MOS반도체 회로

OR GATE는 NOR GATE와 NOT게이트가 합쳐진 회

로인 것을 알 수 있다.

-> 실제 반도체에서는 LOGIC 게이트마다 사용되는 트랜지스터 갯수가 달라지고, 트랜지스터 갯수각 달라지기때문에 사용되는 소비전력이 달라지고, 작동하는데 소비되는 시간적인 요소들 또한 달라지게 된다.

 

붉은색 = P - ch Mosfet / 푸른색 = N - ch Mosfet

화살표가 밖(GATE단자의 반대방향으로)으로 되어있는 것은 P - ch Mosfet, 안으로 되어있는 것은 N - ch Mosfet.

Inverter 회로 = NOT GATE회로와 동일

 

 

 

게이트 입력(붉은색)과 게이트 출력(푸른색)은 물리적 거리가 가깝다.

-> 신호의 전달이 빠르다. 

 

Inverter에서 연산되는 시간 = 0.1ms / NOR gate에서 연산되는 시간 = 0.1ms

->OR gate에서 연산되는 시간은 0.2ms가 된다

->이 시간을 "전파 지연 시간(propagation delay time)"이라 한다.

INPUT A = 0, B = 0일때

  1. Q1 = 0, Q2 = 0, Q3 = 0, Q4 = 0이 gate로 입력된다.
  2. P - ch Mosfet는 gate가 0일때 도통된다. -> Q1, Q2가 도통된다.(Vdd가 흐른다)
  3. N - ch Mosfet는 gate가 0일때 도통되지 않는다. -> Q3, Q4로 전류가 흐를 수 없다. -> 인버터의 gate입력으로 흐르게 된다.
  4. Q5 = 1, Q6 = 1일 때, Q5는 도통되지 않고, Q6은 도통되므로 GND로 전류가 흐르게된다.

 

  • Timing Diagram (WAVE FORM) 

OR GATE Timing Diagram

LOGIC값에 대한 시간 정보가 나타나있다.

가상선을 그어 체크하고자 하는 시점의 파형을 체크하면 된다.

 

NOR GATE는 트랜지스터 4개로 구성된 게이트.

OR GATE는 NOR GATE에 NOT이 붙는 게이트. 

-> OR GATE는 NOR + NOT으로 만들어지는 게이트.

(NOR GATE가 OR GATE + NOT게이트로 이루어진 게이트가 아니다.)

-> NOR GATE가 디지털 게이트를 세길 공간적 여유가 더욱 있다.

 

  • NOR GATE

INPUT A = 0, B = 0일때

  1. Q1 = 0, Q2 = 0, Q3 = 0, Q4 = 0이 gate로 입력된다.
  2. Q1, Q2는 도통되고, Q3, Q4는 도통되지않아 OUTPUT으로 Vdd의 전류가 흐르게 된다.
  • Timing Diagram (WAVE FORM) 

NOR GATE Timing Diagram

 

  • NAND GATE, AND GATE

 

NAND GATE / Truth Table

 

AND GATE / Truth Table

 

NAND GATE CMOS CIRCUIT / AND GATE CMOS CIRCUIT

AND GATE는 NAND + NOT로 이루어진 LOGIC GATE인 것을 확인할 수 있다.

 

NAND GATE가 실제로 식각될 때는 트랜지스터의 갯수가 4개 필요

AND GATE는 식각될 때 INVERTER를 추가해야하기 때문에 트랜지스터의 갯수가 4 + 2로 6개가 필요하게 된다. 

NAND GATE INPUT A = 1, B = 1일때

  1. Q1, Q2는 gate입력이 1일때 도통되지 않는다.
  2. Q3, Q4는 도통되어도 잔류전류(플로팅전류)가 남아있어도 전부 GND로 흐르게된다.

NAND GATE Timing Diagram / AND GATE Timing Diagram

 

'FPGA > Verilog' 카테고리의 다른 글

Verilog Reperesentation of Digital Logic 3  (0) 2023.06.13
Digital Logic 3  (0) 2023.06.13
Verilog Reperesentation of Digital Logic 2  (0) 2023.06.13
Digital Logic2  (0) 2023.06.13
Verilog Reperesentation of Digital Logic 1  (0) 2023.06.13