반응형

DLD 6

[디지털 로직 설계] - #5. 흐름제어

이번 글에서는 Combinational logic의 세 번째 유형, '흐름제어' 로직에 대해 이야기합니다. 이 유형의 로직은 앞의 두 유형과 쓰임새가 조금 다릅니다. 이름에서 알 수 있듯이, '연산'이 아니라 '제어'죠. 입력 신호를 어디로 전달할 것인지 결정해 줍니다. 즉, 전달 경로를 선택하는(제어하는) 로직입니다. 우리가 설계한 디자인을 철도 시스템에 비유해 볼까요. 열차는 '신호'이고 선로는 '노드'라 할 수 있습니다. 처음부터 끝까지 선로가 일자로 쭉 이어져 있다면, 운용하기가 정말 쉬울 겁니다. 선로를 제어할 필요도 없고, 열차는 선로 위로만 달릴 것이니 앞 뒤 간격만 잘 띄워주면 사고 날 일도 없죠. 한바퀴 돌아서 제자리로 연결되는 경우도 마찬가지입니다. 선로가 갈라지거나 합쳐지는 형태라면 ..

강의 2024.05.07

[디지털 로직 설계] - #4. 산술연산

Combinational logic의 두 번째 유형, 산술연산 로직에 대해 다뤄보겠습니다. '산술연산' 로직은 덧셈이나 뺄셈 같이 산술적인 계산을 하는 로직을 가리킵니다. 숫자를 입력받아 숫자를 출력하는 로직입니다. 가장 대표적인 예로는 half adder와 full adder가 있습니다.두 adder의 차이점은 'carry 입력'(위 그림에서는 Ci 포트)의 유무에 있습니다. 1-bit full adder는 입력 포트로 받을 수 있는 최대값이 1에 불과하기 때문에 그다지 실용적이지 않습니다. 이걸로는 2+3 같은 계산조차 할 수 없으니까요. 이제 입력포트 A, B의 폭을 3비트로 늘려봅시다. 3비트짜리 두 값을 받아서 더하고 그 결과를 출력해야 합니다. 이 로직은 어떻게 만들 수 있을까요? A, B 포..

강의 2024.04.30

[디지털 로직 설계] - #3. 논리연산

Combinational logic의 첫 번째 유형, '논리연산'에 대해 알아보겠습니다. '논리연산' 유형의 로직은 어떤 입력에 대해 그것이 참인지 거짓인지 판별해줍니다. 앞서 소개했던 기초 논리 소자들도 그 자체로 논리연산 로직이죠. 입력 및 출력 값을 표현할 때, 참(true)/거짓(false) 대신에 숫자 1(true) 또는 0(false)으로 표현하기도 합니다. 여기, 좀 더 복잡한 로직의 예를 가져왔습니다. 3-input AND 게이트와 2-input XOR 게이트입니다. 3-input AND 연산 결과가 참이려면, 입력값이 모두 참이어야 합니다. 3개 입력값에 대해 2-input AND 연산을 순차적으로 적용하면 되겠네요. 위 그림과 같이 (2-input) AND 게이트를 2개를 조합해 만들 ..

강의 2024.04.16

[디지털 로직 설계] - #2. Combinational Logic

combinational logic은, 앞서 언급한 기초 논리 소자들을 "조합"해서 만들 수 있는 회로를 가리킵니다.  지금부터는 이 유형의 디지털 로직을 기능적 측면에서 분류해 하나씩 설명할까 합니다. combinational logic의 유형 세 가지:논리연산산술연산흐름제어이제 하나씩 살펴봅시다.목차 (연재 순서)0. 강의 개요1. 기초 논리 소자 (Basic Logic Elements)2. Combinational Logic    1) 논리연산 -- 3-input AND, 2-input XOR    2) 산술연산 -- Half Adder, Full Adder    3) 흐름제어 -- Mux, Demux3. Truth Table 및 Look-Up Table    1) 우리는 어떤 목적으로, 왜 tru..

강의 2024.04.16

[디지털 로직 설계] - #1. 기초 논리 소자 (Basic Logic Elements)

Boolean Algebra에서 다루는 논리식은 모두 AND, OR, NOT, 이렇게 세 가지 기본 연산자들의 조합으로 이루어집니다. 디지털 로직에서도 "로직 게이트"라고 불리는 부품 또는 소자가 있습니다. 예를 들어, 아래 그림과 같이 AND, OR, NOT 게이트를 꼽을 수 있습니다. 그 외에 (XOR, NAND 등) 더 많은 유형의 게이트가 있지만, 저는 처음 언급한 3개만 따로 묶어서 '기초 논리 소자'라고 부릅니다. 이 소자들은 Boolean Algebra의 기본 연산자와 일대일로 대응됩니다. (이름도 똑같고 기능도 똑같습니다.)  이들은 디지털 로직을 구성하는 가장 기본적인 요소입니다. Boolean Algebra의 논리 연산이 그렇듯, 디지털 로직 역시 제아무리 복잡해도 결국 이 세 가지 소..

강의 2024.04.09

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

여러분은 아마 실물 칩(FPGA나 ASIC)의 회로를 어떻게 만들 수 있는지에 관심이 많을 겁니다. 하지만 제아무리 뛰어난 엔지니어라 해도, 그런 '회로(circuit)'를 아무런 준비 과정 없이 곧바로 만들어낼 수는 없습니다. 눈에 보이고 실제로 작동하는 회로를 만들어내는 일은 생각보다 훨씬 어렵고, 시간도 많이 걸리고, 배워야 할 것도 많습니다. 그래도 "개발 과정은 보통 이렇다"고 간단하게 말할 수는 있겠죠. 저는 아래와 같이 세 단계로 요약하겠습니다.단계 1: 만들고자 하는 대상을 '정의'하기,단계 2: '설계' 작업을 통해 대상을 구체화하기,단계 3: 구체화한 대상을 실물로 '구현'하기. 이번 강의 시리즈, "디지털 로직 설계"에서는 이 중 두 번째 단계인 '설계'를 중점적으로 다뤄보려고 합니다..

강의 2024.04.02
반응형