복습
Half adder
![](https://blog.kakaocdn.net/dn/KQUlM/btshi635UZR/kW1khXfEIQYx6wbjvcOMFK/img.png)
Full adder
![](https://blog.kakaocdn.net/dn/l3i6W/btshiD17bfg/6jJ4tmDia1LWMgHfZZ98I1/img.png)
Adder
2개의 half adder를 사용하는 Full adder
![](https://blog.kakaocdn.net/dn/ed2zTE/btshjv3BVQs/o1KdaayvumEVK8nOMbPxdK/img.png)
![](https://blog.kakaocdn.net/dn/JL1HN/btshj45Ltk3/0Kk4f6pIIDYb8AcKSw8HK0/img.png)
![](https://blog.kakaocdn.net/dn/doyMFV/btshhIiT5LF/aHIzzkmWAK5VJVi7cyQI0k/img.png)
![](https://blog.kakaocdn.net/dn/cDGNPn/btshiF6DDov/vjlhXPnwUgZ3itWbsqEGl1/img.png)
Ripple-carry adder
- 리플캐리 에더는 n비트 바이너리 숫자를 더할 수 있다.
- n개의 full adder의 carry-out bit 는 다음 계산기의 carry-in bit가 된다.
- Parallel adder (병렬 계산기)라고 불린다.
빼기 기능이 있는 리플 캐리 계산기
- 뺄셈은 2의 보수를 이용해서 할 수가 있다.
2개의 4비트 계산기를 사용하는 1-nibble BCD adder
BCD와 Binary계산차이
![](https://blog.kakaocdn.net/dn/cJSS4a/btshj5cvMUe/j8E4f7YrSIrx6m9El707S0/img.png)
- 바이너리를 BCD로 계산하는 방법 : 합이 9보다 크면 6을 더한다.
- 따라서 BCD 캐리비트를 예측할 필요가 있다.
K-map을 이용한 캐리비트 계산
![](https://blog.kakaocdn.net/dn/lAouF/btshjDmWYvW/ubfXkQeuLiKv637UX3jvwk/img.png)
계산기 예시
![](https://blog.kakaocdn.net/dn/nUl82/btsheEgF7Xw/jdA4KG391eEUSwdczGCC80/img.png)
Comparator(비교기)
- 주어진 수가 큰지 작은지 같은지에 대해서 비교하는 논리회로이다.
1-bit comparator
2-bit comparator
4-bit comparator
- 입력
- 𝐴 (4-bit), 𝐵 (4-bit)
- AGBI (𝐴 > 𝐵), ALBI (𝐴 < 𝐵), AEBI (𝐴 = 𝐵)
- Note) AGBI: A의 입력이 B보다 크다.
- Note) 주로 확장에 사용된다. (~ carry-in in a full adder).
8-bit comparator
4비트 비교기 2개를 사용한다.
![](https://blog.kakaocdn.net/dn/bhe3Mi/btshgoLK5B2/TizhfEgfTHOnOPeZSk42pK/img.png)
Decoder
질문 : 모든 디코더는 다 1 hot출력인가.
- n비트 입력을 최대 2^n개의 고유 출력으로 변환하는 논리 회로
- 예시 : 7세그먼트 display-controller : 4비트 바이너리 입력 → 10개의 출력
- 예시 : 1-of-n 디코더 : n비트 바이너리 입력 → 2^n개 one -hot출력
- one hot 방식 : 1개 빼고 다 0으로 나오는 방식 (머신러닝에서 많이 사용)
1-to-2 decoder (a.k.a. 1-of-1 decoder)
1-to-2 decoder with the enable signal
2-to-4 decoder (a.k.a. 1-of-2 decoder)
3-to-8 decoder (a.k.a. 1-of-3 decoder)
4-to-16 decoder
1-of-n decoder의 특징
- 1-of-n 디코더는 n개의 변수의 SOP식을 구현할 수 있다.
예시 3-to-8 decoder (a.k.a. 1-of-3 decoder)
![](https://blog.kakaocdn.net/dn/yHixN/btshjup6nQ9/NVlqGfYTdm2tI4y5spIJ4K/img.png)
OR게이트를 추가해서 뭐든지 확장 할 수 있다.
Encoder
- 1 hot을 binary number로 변환시키는 장치
- An inverse of an 1-of-n decoder
2-to-1 encoder
![](https://blog.kakaocdn.net/dn/c8dGH2/btshhGkXHtM/DqL8MKvocDSfngfYRHn9p0/img.png)
4-to-2 encoder
![](https://blog.kakaocdn.net/dn/dm18Zz/btshih54qj1/iUVrCy12ys5CB77Ui59cdK/img.png)
8-to-3 encoder
![](https://blog.kakaocdn.net/dn/cTuD4e/btshjC9rBoy/1dgTftLxsNmWgKwFRLmVL0/img.png)
Multiplexer and Demultiplexer
- Multiplexer 줄여서 mux (데이터 선택기)은 여러 입력 신호 중에서 단일 출력을 선택하는 장치이다.
- 신호는 디지털 또는 아날로그이다.
- 모니터는 HDML입력 또는 RGB 또는 Display port 중에서 입력 신호를 선택한다.
- 반대로 Demultiplexer(dmux)는 하나의 입력을 여러개의 출력 중에 하나의 방향을 선택하는 장치이다.
Multiplexer
2-to-1 multiplexer
![](https://blog.kakaocdn.net/dn/bu59Nr/btshjvifpux/RWyj2DmI8W7mekJ2ABEw41/img.png)
4-to-1 multiplexe
![](https://blog.kakaocdn.net/dn/bpHict/btshialND8j/G6UdznZNzk3TBHBcACNCI1/img.png)
8-to-1 multiplexer
![](https://blog.kakaocdn.net/dn/S9W4i/btshhHK3See/NPIJbRAeNw9bw93vEpnle1/img.png)
16-to-1 multiplexer using five 4-to-1 multiplexers
![](https://blog.kakaocdn.net/dn/2ojcR/btshjvvLiM1/C0ykbmAFNENwWE5KFZuC81/img.png)
멀티플렉서를 사용한 조합 논리 설계
- 입력 : 벌티 플렉서의 Selection bits
- 논리 구현 : 0 또는 1로 주어진 데이터 비트
Demultiplexer
- 디멀티 플렉스는 활성화 신호(enable signal)가 있는 디코더와 동일하게 동작한다.
- Input data ~ Enable signal
- Selection bits ~ Input data
![](https://blog.kakaocdn.net/dn/bIDpIv/btshj36ShYm/79wN6dh2eOlRbqJjRZGKnk/img.png)
Review) Parity Bit
- 가장 간단한 형태의 오류감지 코드
- 패러티 비트는 1의 총 갯수가 짝수인지 홀수인지 검사한다.
- 짝수 패리티 비트 : 1의 갯수 (패리티 비트 포함) 짝수이면 정답이다.
- 홀수 패리티 비트 : 1의 갯수 (패리티 비트 포함) 홀수이면 정답이다.
![](https://blog.kakaocdn.net/dn/befXS1/btshjeucq0Z/UwwLW3QEdiJVJ0KEFdDSXK/img.png)
제한 사항
- 패리티 비트는 1비트 오류만 감지 가능
- 패리티는 1비트 이상 오류는 감지 부락.
8bit parity generator
- XOR게이트는 2개의 1비트 입력에 대해서 짝수 패리티를 생성할 수 있다.
![](https://blog.kakaocdn.net/dn/kHu9u/btshjDUOHCo/KXSt3yhkJY2gZosW7T4KVk/img.png)
Uploaded by N2T