소개글
"디지털회로실험 교안"에 대한 내용입니다.
목차
1. 디지털회로실험
1.1. 논리 게이트
1.2. 가산기
1.3. 다중화기와 역다중화기
1.4. 인코더와 디코더
1.5. 산술논리연산회로(1)
1.6. 산술논리연산회로(2)
1.7. 플립플롭(1)
1.8. 플립플롭(2)
1.9. 카운터(1)
1.10. 카운터(2)
1.11. 쉬프트 레지스터(1)
1.12. 쉬프트 레지스터(2)
1.13. Term Project(1)
1.14. Term Project(2)
1.15. Term Project(3)
2. Combinational Logic
2.1. 실험 목적
2.2. 배경 이론 및 사전조사
2.3. 실험의 내용
2.4. 실험의 예상 결과
3. Schematic Design with Logic Gates
3.1. 실험 목적
3.2. 배경 이론 및 사전조사
3.3. 실험의 내용
3.4. 실험의 예상 결과
4. 참고 문헌
본문내용
1. 디지털회로실험
1.1. 논리 게이트
논리 게이트는 회로 내에서 전압이나 전류로 표현된 정보의 흐름을 제어하는 스위치이다. 대표적인 논리 게이트에는 AND, OR, NOT, NAND, NOR, XOR 게이트가 있다.
AND 게이트는 모든 입력이 1 상태일 때에만 출력이 1 상태가 되고, 그 외의 경우에는 0을 출력으로 낸다. AND 게이트에서의 Boole의 함수(Boolean function)는 C=A∙B이다.
OR 게이트는 입력 가운데 적어도 한 개의 상태가 1 이면 출력이 1 상태가 되고, 모든 입력이 0일 때에만 0을 출력으로 낸다. OR 게이트에서의 Boole의 함수(Boolean function)는 C=A+B이다.
NOT 게이트는 입력의 상태와 반대가 되는 상태를 출력으로 낸다. NOT 게이트에서의 Boole의 함수(Boolean function)는 C=A이다.
NAND 게이트는 AND 게이트 출력에 NOT 게이트가 연결되어 있는 것과 같다. NAND 게이트에서의 Boole의 함수(Boolean function)는 C=A∙B이다.
NOR 게이트는 OR 게이트 출력에 NOT 게이트가 연결되어 있는 것과 같다. NOR 게이트에서의 Boole의 함수(Boolean function)는 C=A+B이다.
Exclusive-OR (XOR) 게이트는 두 개의 입력 상태가 서로 다를 때에만 출력이 1이 되고, 같을 때에는 0이 되는 게이트이다. XOR 게이트에서의 Boole의 함수(Boolean function)는 C=A⊕B=A∙B+A∙B이다.
이와 같은 다양한 논리 게이트들은 컴퓨터와 전자 회로에서 정보를 처리하고 제어하는 기본 요소로 사용된다.
1.2. 가산기
가산기(Adder)는 두 개의 2진수를 더할 수 있는 덧셈기를 구성하는 기본 요소이다. 가산기에는 반가산기(Half Adder)와 전가산기(Full Adder)가 있다.
반가산기(Half Adder)는 두 개의 2진수 비트 A와 B를 입력으로 받아 합 S와 자리 올림수 C_out을 출력한다. 이때 자리 올림수 C_in이 없는 경우로, 즉 C_in=0인 경우를 의미한다. 반가산기의 진리표와 논리회로도는 다음과 같다.
반가산기의 진리표
A | B | S | C_out
--- | --- | --- | ---
0 | 0 | 0 | 0
0 | 1 | 1 | 0
1 | 0 | 1 | 0
1 | 1 | 0 | 1
반가산기 논리회로도
A -> XOR -> S
A -> AND -> C_out
B -> XOR
B -> AND
전가산기(Full Adder)는 두 개의 2진수 비트 A와 B, 그리고 이전 자리수에서 올라온 자리 올림수 C_in을 입력으로 받아 합 S와 다음 자리수로 보낼 올림수 C_out을 출력한다. 전가산기의 진리표와 논리회로도는 다음과 같다.
전가산기의 진리표
A | B | C_in | S | C_out
--- | --- | --- | --- | ---
0 | 0 | 0 | 0 | 0
0 | 0 | 1 | 1 | 0
0 | 1 | 0 | 1 | 0
0 | 1 | 1 | 0 | 1
1 | 0 | 0 | 1 | 0
1 | 0 | 1 | 0 | 1
1 | 1 | 0 | 0 | 1
1 | 1 | 1 | 1 | 1
전가산기 논리회로도
A -> XOR -> S
A -> AND -> C_out1
B -> XOR
B -> AND -> C_out2
C_in -> AND -> C_out3
C_out1 + C_out2 + C_out3 -> C_out
전가산기는 반가산기에 자리 올림수 입력 C_in을 추가한 것으로, 2진수의 덧셈을 수행할 수 있다. 전가산기의 논리회로도는 반가산기를 두 개 사용하여 구현할 수 있다.
즉, 반가산기는 2개의 2진수를 더하는 기본적인 회로이며, 전가산기는 반가산기에 자리 올림수를 입력으로 받아 2진수의 덧셈을 수행할 수 있는 회로라고 할 수 있다.
1.3. 다중화기와 역다중화기
다중화기(Multiplexer)는 일종의 스위치로, n개의 입력들 중 하나를 선택하여 출력으로 연결시켜주는 장치이다. 이러한 다중화기는 2^n개의 입력 단자와 이들 중 어떤 입력을 출력으로 연결할지를 결정하는 n개의 "선택단자"로 구성된다. 예를 들어, 2개의 선택단자가 있는 2x4 다중화기는 4개의 입력 중 하나를 선택하여 출력으로 내보낼 수 있다.
다중화기의 역할은 여러 개의 정보를 하나의 출력선으로 전송하는 것이다. 선택단자에 따라 각각의 입력 정보를 출력으로 선택하여 전송할 수 있다. 이는 하나의 선로로 여러 개의 정보를 보낼 수 있게 해주어 회로의 복잡도를 낮출 수 있다는 장점이 있다.
반대로 역다중화기(Demultiplexer)는 하나의 입력 신호를 선택단자에 따라 여러 개의 출력단자 중 하나로 보내는 장치이다. 즉, 다중화기의 반대 기능을 수행한다고 볼 수 있다. 역다중화기 역시 2^n개의 출력과 n개의 선택단자로 구성된다.
역다중화기는 주로 데이터 전송 과정에서 활용된다. 하나의 선로로 여러 개의 신호를 모아서 보내고, 수신단에서 역다중화기를 이용해 각각의 신호를 분리하여 처리할 수 있다. 이를 통해 통신 회선을 효율적으로 사용할 수 있다.
종합적으로 볼 때, 다중화기와 역다중화기는 디지털 회로에서 중요한 역할을 수행하는 회로 소자이다. 복잡한 회로를 단순화하고 효율적인 데이터 전송을 가능하게 하여 전자 시스템 설계에 활용된다고 할 수 있다.
1.4. 인코더와 디코더
인코더(encoder)란 어떤 입력 값에 대해 이에 대응되는 2진 출력을 내는 회로를 말한다. 디지털 시스템에서는 10진수나 한글 자음과 모음, 영문 알파벳 등을 그에 상응하는 약속된 2진수로 바꾸어 입력받는 경우가 많은데, 이때 인코더를 사용한다.
대표적인 예로 10진수/BCD(binary-coded decimal) 인코더를 들 수 있다. 이 인코더는 10개의 10진수 입력을 대응하는 BCD 코드로 변환시키는 논리 회로이다. 이때 보통 "10선/4선 인코더(10-line to 4-line encoder)"라고도 부른다. 진리표를 통해 각 비트의 논리 함수를 구할 수 있는데, 최상위 비트 D는 10진수 8과 9의 입력이 있을 때만 1이 되고, C는 4, 5, 6, 7일 때만 1이 되는 식이다. 이를 OR 게이트를 사용하여 구현할 수 있다.
한편 인코더에는 우선순위를 부여하는 경우도 있다. 예를 들어 숫자가 클수록 높은 우선순위를 갖도록 할 수 있는데, 이 경우 9와 8의 키가 동시에 눌러질 때는 9에 대한 BCD 코드가 먼저 출력된다. 이를 "10진수/BCD 우선순위 인코더"라 한다.
디코더(decoder)는 인코더와는 반대로 2진수로 표현된 값들을 다시 대응되는 다른 정보로 변환하는 회로이다. 10진수의 10개 아라비아 숫자를 4개의 2진수로 표현한 BCD 코드가 대표적인 예이다. BCD/10진수 디코더는 BCD 코드를 입력받아 그에 대응하는 10진수 숫자 출력을 내보내는 회로이다.
또한 BCD/7-segment 디코더/드라이버 회로도 많이 사용된다. 이는 BCD 코드를 입력받아 7-세그먼트 디스플레이 소자의 적정 요소를 on 시켜 0에서 9까지의 숫자를 표시하도록 하는 장치이다. Boole 대수를 이용하여 각 세그먼트를 구동하는 논리 함수를 유도할 수 있다.
요약하면, 인코더는 여러 입력 신호를 2진 코드로 변환하고 디코더는 2진 코드를 해당 출력 신호로 변환하는 회로라 할 수 있다. 이는 디지털 시스템에서 필수적인 기능을 수행하는 핵심 부품이다.
1.5. 산술논리연산회로(1)
ALU는 다기능의 산술 및 논리연산을 수행하는 조합논리회로이며, 특정한 연산을 수행하기 위해서 여러 개의 선택기능을 가지고 있다. [그림 5-1]은 4-bit ALU의 블록도이며, A와 B로부터 각각 4개의 데이터를 입력받아 적절한 조합을 통해 출력 F를 만들어 내다. 모드 선택 입력 s2는 산술과 논리 연산을 구분하게 해 주며, 두 개의 기능선택 입력 s1과 s0는 특정한 산술 및 ...
참고 자료
M. Morris Mano, "DIGITAL DESIGN", Third Edition, Prentice-Hall International Edition
M. Yarbrough John "DIGITAL LOGIC APPLICATIONS AND DESIGN", Second Edition, P.W.S International Edition
박송배, “디지털회로 및 시스템”, 문운당
대한전자공학회, “디지털 전자회로 및 시스템 실험”, 청문각
이행우, “디지털회로설계 실습”, 과학기술
박용수, “디지털 논리 설계”, 북두출판사
김정태 “디지털 이론 및 실험”, 차송
서울시립대학교 전자전기컴퓨터설계실험2 실험 교안
M. Morris Mano, Michael D. Ciletti(2016). Digital Design with an Introducton to the Verilog HDL 5thedition
연세대학교 정보통신용 SoC설계연구실 Verilog 문법 교안
김영진(2007). Hierarchical Modeling Concepts.
한빛미디어. IT CookBook, 디지털 논리회로. 조합논리회로.
https://blog.naver.com/kjb04/46924603
https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=119333938&qb=UFJPTSBQQUwgQ1BMRCBGUEdBIOywqOydtA==&enc=utf8§ion=kin&rank=3&search_sort=0&spq=0
https://blog.naver.com/rutin98/100078514459
https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=64655459&qb=RlBHQSDtnJjrsJzshLE=&enc=utf8§ion=kin&rank=2&search_sort=0&spq=0
https://blog.naver.com/entrylabs/220595649371 (FND 1DIGIT)
https://blog.naver.com/ntrex/220608354174 (FND 4DIGIT)
https://colomy.tistory.com/102 (RS-232)
https://blog.naver.com/dokkosam/221168994116 (PIEZO)