본문내용
1. 기초 이론
1.1. 가산기
1.1.1. 반가산기
반가산기는 두 개의 입력을 가지며 합(sum)과 자리올림수(carry)의 두 출력을 갖는다. 컴퓨터에서의 덧셈연산은 십진수에서의 덧셈과 유사한 규칙으로 수행되는데 디지털 시스템에서는 각 비트수가 한정되므로 자리올림수(carry)를 고려하여야 한다.
반가산기는 1자리의 2진수를 더하는 회로이다. 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 1 0의 출력 결과를 보면 두 자리 중 상위 자리를 캐리(carry), 하위 자리를 합(sum)이라고 한다.
반가산기의 진리표와 회로도는 다음과 같다. 입력 A와 B에 따라 합과 자리올림수가 결정되는데, 이를 논리게이트로 구현할 수 있다. 이러한 반가산기 회로는 2개의 XOR 게이트와 1개의 AND 게이트를 이용하여 구성할 수 있다.""
1.1.2. 전가산기
전가산기는 컴퓨터 연산에서 중요한 역할을 담당한다. 반가산기로는 두 비트 이상의 2진수를 가산하는 데 불충분하기 때문에, 전가산기가 필요하다. 전가산기는 피가수, 가수 및 아랫자리에서 올라온 자리올림수 등 3개의 2진수를 더해서 합과 자리올림수를 출력한다.
전가산기의 입력은 A, B와 Cin(하위 위치에서 올라온 캐리)이며, 출력은 Cin+1(다음 자리로 올라가는 캐리)과 S(현재 자리에서의 합)이다. 전가산기는 하위에서 올라온 캐리를 고려하여 가산을 수행한다.
전가산기는 두 개의 반가산기를 이용하여 구성할 수 있다. 첫 번째 반가산기에서 A와 B를 더하면 Sum과 Carry가 출력되고, 이 Carry 출력은 두 번째 반가산기의 Cin에 연결된다. 그리고 첫 번째 반가산기의 Sum과 두 번째 반가산기의 Sum을 합하여 최종적인 합을 출력한다.
이와 같이 전가산기는 반가산기를 활용하여 구현될 수 있으며, 이를 통해 2비트 이상의 2진수 가산이 가능하다. 전가산기는 컴퓨터의 기본적인 연산 기능을 구현하는 데 필수적인 회로 블록이다.
1.2. BCD/10진수 디코더
BCD/7-세그먼트 디코더 드라이버는 입력받은 BCD 코드로 7-세그먼트 디스플레이 소자의 적정 요소를 on 시켜, 0에서 9까지의 숫자를 표시하는 장치이다.
7세그먼트의 각 요소를 a, b, ..., g로 표기하면, 각 숫자 입력에 대해 어떤 요소가 on 되어야 하는지를 알 수 있다. 예를 들어 숫자 "0"의 경우 a, b, c, d, e, f 요소가 on 되어야 하고, 숫자 "2"의 경우 a, b, d, e, g 요소가 on 되어야 한다.
이를 바탕으로 각 숫자에 대한 Boole 논리함수를 도출할 수 있다. 예를 들어 a 요소의 경우 다음과 같은 Boole 논리함수로 표현할 수 있다:
a = bar D * bar C * bar B * bar A + bar D * bar C * B * bar A + bar D * bar C * B * A + bar D * C * bar B * A + bar D * C * B * A + D * bar C * bar B * bar A + D * bar C * bar B * A
이처럼 7-세그먼트 디코더 드라이버는 입력된 BCD 코드를 해석하여 7-세그먼트 디스플레이의 각 요소를 on/off 시킴으로써 0에서 9까지의 숫자를 표시할 수 있게 해준다.
2. 가산기 입출력 설계
2.1. 진리표
진리표는 입력 A, B와 그에 따른 출력 SUM 및 캐리(carry)를 나타낸 것이다.
입력 A는 학번 끝자리 8,9를 7로 고정한 것이며, 입력 B는 0부터 7까지의 값을 가진다. SUM의 십의 자리와 일의 자리를 각각 표현하였다.
SUM의 십의 자리는 세 비트(D', C', B')로 표현되며, SUM의 일의 자리는 네 비트(D", C", B", A")로 표현된다. 이를 통해 SUM의 값이 7부터 14까지 나타난다.
BCD 코드로 표현된 입력을 가산하면 결과 값이 9를 초과할 수 있다. 이 경우 두 자리 숫자로 나타내어야 하므로, 결과 값을 바로잡기 위해 6(0110)을 더해준다. 이를 위해 두 개의 가산기를 사용하여, 첫 번째 가산기의 결과가 9 이하일 때는 0000을, 10 이상일 때는 0110을 더하도록 설계하였다.
이를 통해 BCD 코드로 입력된 값을 가산할 때 정확한 결과를 얻을 수 있다.
3. 회로도 및 구성
작성한 회로도는 크게 3부분으로 구성되어 있다"" 패턴도, 회로구성(기판 앞), 회로구성(기판 뒤)이다""
패턴도는 점프선 3개를 사용하여 가능한 한 간단하게 구성하였다"" 회로구성(기판 앞)에서는 각 IC와 세그먼트 등이 어떻게 배치되었는지를 보여준다"" 회로구성(기판 뒤)에서는 배선 및 점프선의 배치가 나타나 있다""
회로 구성을 최대한 단순화하고자 노력하였다"" 가산기를 2개 사용하여 두 번째 가산기의 A 입력에 SUM을 그대로 입력하고, 첫 번째 가산의 결과인 SUM이 9 이하일 때는 0000을, 10 이상일 때만 0110을 가산하도록 설계하였다""
이를 통해 BCD 코드의 덧셈 결과 값이 9보다 커지게 되면 두 자리의 숫자로 나타낼 수 있도록 하였다""
4. 실험 결과
이번 텀 프로젝트에...