앞서 3회에 걸쳐 combinational logic의 대표적인 유형 세 가지를 소개해드렸습니다. 이번에는 로직 설계의 방법에 대해 이야기해볼까 합니다.
로직 블럭을 설계하는 방법은 크게 두 가지로 나눌 수 있습니다.
- 동작의 규칙성을 파악해 구조화한 다음 이를 수식/글/그림 등으로 표현하는 방법. 해당 로직 블럭이 의도된 동작을 할 수 있도록, 블럭의 내부 구조를 만드는 방법.
- 어떤 신호에 어떤 반응을 보이는지를 빠짐없이 명시하는 방법. 즉, 외부에서 관찰 가능한 정보만으로 해당 로직 블럭을 정의하는 방법.
각 설계 방법에 대한 아래 예시를 보시면 두 방법의 차이가 바로 느껴질 겁니다.
지금까지는 첫 번째 방법을 써서 로직을 만들고 설명했습니다. 디지털 로직 설계를 배우면서 가장 먼저 접하게 되는, 정석적인 방법이라 할 수 있습니다. 그에 반해, 두 번째 방법은 어째 좀 무식해 보입니다. 정말 이걸로도 로직을 '설계'했다고 말할 수 있나요? 물론입니다. 별로 멋은 없어 보여도 첫 번째 방법보다 이 쪽이 더 실용적입니다.
이 설계 방법은 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
'강의' 카테고리의 다른 글
[디지털 로직 설계] - #8. 설계한 로직은 어떻게 FPGA에서 작동하는가? (0) | 2024.06.09 |
---|---|
[디지털 로직 설계] - #7. 우리는 어떤 목적으로, 왜 truth table을 작성하는가? (1) | 2024.05.21 |
[디지털 로직 설계] - #5. 흐름제어 (0) | 2024.05.07 |
[디지털 로직 설계] - #4. 산술연산 (0) | 2024.04.30 |
[디지털 로직 설계] - #3. 논리연산 (0) | 2024.04.16 |