디 지 털 공 학 한국폴리텍V대학
강의내용 및 구성 조합 논리회로의 개요 및 설계 프로세스 기본 연산 회로 가산기 회로 반가산기(Half Adder) 전가산기(Full Adder) 2진 병렬 가산기 앞보기 캐리 가산기(Look-ahead Carry Adder) BCD 가산기 감산기 회로 오버플로와 언더플로
조합 논리회로의 개요 디지털 논리회로(교재 p.134) 조합 논리회로(Combinational Logic Circuit) 출력 = f(현재 입력) 현재의 입력에 의해서만 출력이 결정 n개의 입력이 일정 시간 후(전파지연) m개의 출력을 생성 No feedback 순차 논리회로(Sequential Logic Circuit) 출력 = f(현재입력, 현재상태) 현재의 입력뿐만 아니라 현재의 상태도 출력에 영향 feedback x1 x2 xn y1= f1(x1,x2,…,xn) y2= f2(x1,x2,…,xn) ym= fm(x1,x2,…,xn)
조합 논리회로의 설계 과정 조합 논리회로 설계 단계(Design Procedure) 조합 회로의 설계는 문제의 설정으로부터 시작하여 논리회로도 또는 논리회로도를 쉽게 얻을 수 있는 불 함수의 집합으로 종결된다 문제 기술 요구되는 입력과 출력의 수를 결정하고 이름 할당 입•출력 사이의 관계를 정의하는 진리표 작성 각 출력에 대한 불 함수의 간략화 논리 회로도 작성 설계 검증
조합 논리회로의 설계 과정(계속) 설계시 고려사항 최소 개수의 논리 게이트 게이트당 최소 입력수 최소의 전달지연 시간 최소의 연결선 수 각 논리 게이트의 구동한계(fanout)
가산기 회로(교재 p.108) 반가산기(Half Adder) 입•출력 수의 결정 및 이름 할당 진리표와 불 함수의 간략화 두개의 2진수 입력에 대한 합(S)와 캐리(C)를 출력 진리표 K-map에 의한 불 함수의 간략화
가산기 회로(계속) 논리 회로도 작성 반가산기의 또 다른 형태의 구현 SOP 표현식
가산기 회로(계속) POS 표현식 예 제) 반가산기를 NAND 게이트만으로 구현하라
가산기 회로(계속) 전가산기(Full Adder) (교재 P.110) 두 개의 이진수 입력 x,y외에 한 개의 캐리(z)를 입력으로 하여 덧셈을 수행하는 회로 전가산기 블록도 진리표와 출력에 대한 불 함수의 간략화 S
가산기 회로(계속) c c 논리 회로도 SOP형식의 논리회로도
가산기 회로(계속) 두 개의 HA를 이용한 논리회로도 HA
가산기 회로(계속) 직렬가산기(Serial Binary Adder)(교재 P.111) 최하위 자릿수부터 최상위 자릿수까지 한 번에 한 자리씩 피연산자에 대응하는 숫자를 더함으로써 덧셈을 수행 전가산기 하나만을 이용하여 n-비트의 덧셈을 수행 Ci는 1비트의 시간 지연 후(D플립플롭 통과) 다음 비트의 가산 때에 자리올림수 입력으로써 덧셈을 수행, 연산속도가 느리다
가산기 회로(계속) 2진 병렬 가산기(Binary Parallel Adder) (교재 P.111) 다음 전가산기의 입력 캐리로 연결된 하나의 전가산기로 부터 출력되는 캐리에 종속 4-비트 병렬 가산기의 예 S2를 계산하기 위해서는 이전단계 가산기로부터 전달되는 C2에 종속 4-비트 2진 병렬가산기의 블록도
가산기 회로(계속) 앞보기 캐리(Look-ahead Carry) (교재 P.113) 리플 캐리(Ripple Carry) 캐리의 전파 RCA(Ripple Carry Adder)의 문제점은 긴 회로 지연시간 각 단계에서 필요로 하는 캐리아웃을 미리 예측하여 구할 수 있다면 캐리의 전파 지연을 제거함으로써 연산속도를 증가시킬 수 있다 캐리발생함수(G)와 캐리전파함수(P)를 정의 각 단계에서 Cin 입력 후 Cout 출력까지 적어도 1 AND + 1 OR 지연
가산기 회로(계속) 캐리발생함수(G)와 캐리전파함수(P) 캐리 발생의 조건 출력 캐리가 전가산기에 의해 발생될 때, 즉 두 입력 비트가 1일 때만 만들어짐 캐리 전파의 조건 입력 캐리는 입력 비트의 둘 중 어느 하나가 1일 때 전가산기에 의해 전파 됨 FA 1 Ai Bi CIi COi Si FA 1 Ai Bi CIi COi Si FA 1 Ai Bi CIi COi Si FA 1 Ai Bi CIi COi Si
가산기 회로(계속) Gi와 Pi의 정의 n-비트 가산기로의 확장 C2 = G1+P1C1 C3 = G2+P2C2 = G2+P2(G1+P1C1) = G2+P2G1+P2P1C1 C4 = G3+P3C3 = G3+P3(G2+P2G1+P2P1C1) = G3+P3G2+P3P2G1+P3P2P1C1 … 각 단에 대한 출력 캐리는 최초의 입력 캐리 C1과 G, P의 함수에만 의존하므로 캐리 전파지연을 제거 할 수 있다
가산기 회로(계속) 앞보기 캐리 가산기의 논리회로도 예 … … … Ci+1을 계산하기위해 Ci를 기다리지 않아도 된다
가산기 회로(계속) 기타 가산기 BCD(8421) 가산기(교재 p.117) 2개의 BCD수를 더한 결과의 BCD 코드 출력 두 코드의 합이 10(10102)에서 15(11112) 사이의 값일 경우는 캐리 발생 두 코드의 합이 10(10102) 이상인 경우는 6(01102)를 더해 BCD 코드로 변환 두 개의 4-비트 병렬 가산기로 구현 요구되는 입력과 출력, 그리고 내부 변수의 결정 및 이름 할당 입력되는 두 개의 BCD코드 : Ai, Bi (i=1,2,3,4) 이전 단계에서 전달되는 캐리 : Carry_in 두 BCD 코드 합의 출력과 캐리에 대한 변수 : Zi(i=8,4,2,1), K 두 코드의 합이 10 이상인 경우 6을 더해 최종 BCD코드로 변환한 합의 결과와 발생 캐리 : Si(i=8,4,2,1), C 이전단계에서 넘어온 캐리를 다음단계로의 전파까지 고려
가산기 회로(계속) 내부 변수(Zi,K)를 이용한 진리표 두 코드의 합이 10 이상일 경우 다음 단계로 전파되는 캐리 C의 불 함수 표현은 최종 BCD 코드로 변환된 합 Si는 Zi와 (0CC02)의 합으로 표현
가산기 회로(계속) BCD 가산기의 논리회로 구현 Ai Bi C=K+Z8Z4+Z8Z2 if(Zi<10) 00002 입력 else 01102 입력
가산기 회로(계속) BCD 가산기의 확장
감산기 회로 반감산기(Half Subtractor) (교재 P.112) 2진 반감산기의 블록도와 진리표 출력에 대한 불 함수의 간략화 및 논리회로도 빌림(Borrow) 발생
감산기 회로(계속) 전감산기(Full Subtractor) 하위단계의 감산에서 빌림 요청 2진 전감산기의 블록도와 진리표 출력에 대한 불 함수의 간략화 하위단계의 감산에서 빌림 요청
감산기 회로(계속) 두 개의 HS를 이용한 논리회로도 HS
감산기 회로(계속) 4-비트 2진 감가산기(4-bit Binary Adder-Subtractor) 2의 보수를 이용한 감산기의 설계 A-B는 A+(B에 대한 1의 보수)+1 과 같다 M=0일 경우는 가산기, M=1일 경우는 감산기로 동작하는 4-비트 2진 감가산기의 논리회로도 M = 1 : 감산기 Bi= Bi’, C1=1 M = 0 : 가산기 Bi= Bi, C1=0
오버플로와 언더플로(교재 P.124) 오버플로(Overflow)란 산술 연산의 결과가 저장 장치나 가산기의 수용 가능 비트 수를 초과 n자리 수들의 합에 대한 결과는 (n+1) 자리가 필요 예) 8-비트의 레지스터는 +12710 ~ -12810까지 표현 가능 덧셈의 경우는 두 수의 부호가 같을 경우에만 발생하며, 뺄셈의 경우는 두 수의 부호가 다를 경우에만 발생 디지털 기기에서는 이러한 상태가 발생 했을 경우에 셋팅되는 플립 플롭(V flag)으로부터 검출