강의

[디지털 로직 설계] - #6. Truth Table 및 Look-Up Table

gybak 2024. 5. 15. 14:49

앞서 3회에 걸쳐 combinational logic의 대표적인 유형 세 가지를 소개해드렸습니다. 이번에는 로직 설계의 방법에 대해 이야기해볼까 합니다. 

 

로직 블럭을 설계하는 방법은 크게 두 가지로 나눌 수 있습니다.

  1. 동작의 규칙성을 파악해 구조화한 다음 이를 수식/글/그림 등으로 표현하는 방법. 해당 로직 블럭이 의도된 동작을 할 수 있도록, 블럭의 내부 구조를 만드는 방법.
  2. 어떤 신호에 어떤 반응을 보이는지를 빠짐없이 명시하는 방법. 즉, 외부에서 관찰 가능한 정보만으로 해당 로직 블럭을 정의하는 방법.

각 설계 방법에 대한 아래 예시를 보시면 두 방법의 차이가 바로 느껴질 겁니다.

 

 

지금까지는 첫 번째 방법을 써서 로직을 만들고 설명했습니다. 디지털 로직 설계를 배우면서 가장 먼저 접하게 되는, 정석적인 방법이라 할 수 있습니다. 그에 반해, 두 번째 방법은 어째 좀 무식해 보입니다. 정말 이걸로도 로직을 '설계'했다고 말할 수 있나요? 물론입니다. 별로 멋은 없어 보여도 첫 번째 방법보다 이 쪽이 더 실용적입니다.

 

이 설계 방법은 truth table을 적극적으로 활용합니다. 앞서 예로 들었던 half adder의 truth table을 보면, 포트 A와 B로 받을 수 있는 입력값 조합이 4개 있고 이에 대한 출력값이 각각 적혀 있죠. Truth table은 이처럼, 대상 로직의 모든 입력값 조합에 대해 각각의 출력값을 명시한 것입니다.

 

바로 이 두 번째 로직 설계 방법이 이번 장에서 다룰 주요 내용입니다. 다음 2회에 걸쳐 truth table과 look-up table을 우리가 어떻게 활용할 수 있는지에 대해 살펴보겠습니다.


목차 (연재 순서)

0. 강의 개요
1. 기초 논리 소자 (Basic Logic Elements)
2. Combinational Logic
    1) 논리연산 -- 3-input AND, 2-input XOR
    2) 산술연산 -- Half Adder, Full Adder
    3) 흐름제어 -- Mux, Demux
3. Truth Table 및 Look-Up Table
    1) 우리는 어떤 목적으로, 왜 truth table을 작성하는가?
    2) 설계한 로직은 어떻게 FPGA에서 작동하는가?
4. 메모리 소자 (Memory Elements)
    1) Flip-Flop
    2) Memory Block
5. Sequential Logic
    1) D-FF with synchronous reset
    2) 2진법 반올림(round-up) 로직
6. Timing Diagram