강의

[디지털 로직 설계] - #0. 강의 개요

gybak 2024. 4. 2. 19:58

여러분은 아마 실물 칩(FPGA나 ASIC)의 회로를 어떻게 만들 수 있는지에 관심이 많을 겁니다. 하지만 제아무리 뛰어난 엔지니어라 해도, 그런 '회로(circuit)'를 아무런 준비 과정 없이 곧바로 만들어낼 수는 없습니다.

 

눈에 보이고 실제로 작동하는 회로를 만들어내는 일은 생각보다 훨씬 어렵고, 시간도 많이 걸리고, 배워야 할 것도 많습니다. 그래도 "개발 과정은 보통 이렇다"고 간단하게 말할 수는 있겠죠. 저는 아래와 같이 세 단계로 요약하겠습니다.

  • 단계 1: 만들고자 하는 대상을 '정의'하기,
  • 단계 2: '설계'[각주:1] 작업을 통해 대상을 구체화하기,
  • 단계 3: 구체화한 대상을 실물로 '구현'하기.

 

이번 강의 시리즈, "디지털 로직 설계"에서는 이 중 두 번째 단계인 '설계'를 중점적으로 다뤄보려고 합니다. 같은 이름의 전공 과목에서 다루는 내용이기도 합니다. 이미 수업을 통해 한 차례 들으셨을 테니, 여기서는 실전에 도움이 될만한 내용들 위주로 재구성해 보여드릴까 합니다.

 

강의 순서와 주요 내용은 이렇습니다.

먼저 디지털 로직 설계의 기본 재료가 되는, '기초 논리 소자'에 대해 설명합니다. 디지털 로직은 결국 이 '기초 논리 소자'들을 조합하여 만들어지는 것입니다. 그 다음에는 combinational logic과 sequential logic에 대해 다룹니다. 이 두 유형을 나누는 기준은 flip-flop과 같은 메모리 소자를 포함하고 있는지 여부에 있습니다. 각 유형에 대해, 특징, 예시, 설계 도구(기법) 등이 차례로 언급됩니다.

 

앞으로 주 1회씩, 아래의 목차대로 연재할 예정입니다...만,

제가 본업이 너무 바쁘면 업데이트가 늦어질 수 있습니다. (미리 양해 바랍니다.) 질문은 해당 글에 코멘트로 남겨주시면 최대한 답변 드리겠습니다.


목차 (연재 순서)

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

  1. 저는 대체로 설계와 구현을 구분해서 말하는 편입니다. 이때 말하는 설계는 좁은 의미의 설계, '개념적 수준'의 설계를 가리킵니다. [본문으로]