제 3 장 디지털 시스템과 논리 회로

3장 디지털 시스템과 논리회로

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

3.1	부울 대수

3.2	논리 게이트

3.3	조합 논리 회로

3.4	순차 논리 회로

3.5	디지털 집적회로

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

부울 대수(Boolean Algebra)

두 가지 상태를 수학적으로 해석하는 방법

● 부울 대수

3장 디지털 시스템과 논리회로

○ 부울 대수의 개념

1854 년 영국의 수학자 부울(G. Boole)이 창안

1938 년 미국의 샤논(C. E. Shannon)

전기 회로의 스위치가 ON, OFF 의 두 상태이므로 이 부울	대수에 의해 표시될 수 있음을 증명

― 부울 대수에서 사용하는 변수 :

참, 거짓의 값, 참을 1, 거짓을 0 으로 표시

논리 변수, 2 가 변수(2-valued variable)

0 과 1 : 논리 상수

○ 부울 대수의 기본 연산

[1] 논리곱

AB, A∧B, A∩B, A·B , A AND B

표 3-1.  논리곱

A	B	A·B
0 0 1 1	0 1 0 1	0 0 0 1

[2] 논리합

A+B, A∨B, A∪B, A OR B

표 3-2.  논리합

A	B	A + B
0 0 1 1	0 1 0 1	0 1 1 1

[3] 논리 부정

[eqn: RM OVERLINE A], A', NOT A

표 3-3.  논리 부정

A	□
0 1	1 0

[4] 배타적 논리합

[eqn: rm overline A B ~ + ~ A OVERLINE B] : Exclusive-OR

A□B, A[eqn: FORALL] B, A □ B, A XOR B

표 3-4.  배타적 논리합

A	B	A□B
0 0 1 1	0 1 0 1	0 1 1 0

[5] 논리 동치

[eqn: rm overline A`barB ~ + ~ A B] : Exclusive-NOR

A□B, A XNOR B

표 3-5.  논리 동치

A	B	A□B
0 0 1 1	0 1 0 1	1 0 0 1

○ 부울 대수의 기본 법칙

[1] 교환 법칙

A ／ B = B ／ A

A □ B = B □ A

[2] 결합 법칙

A／(B／C) = (A／B)／C

A·(B·C) = (A·B)·C

[3] 분배 법칙

A·(B／C) = A·B／A·C

A／(B·C) = (A／B)·(A／C)

[4] 부정 법칙

[eqn: RM {OVERLINE OVERLINE A}~=~ A]

[eqn: RM A~ + ~ OVERLINE A ~=~1]

[eqn: RM A~ CDOT ~OVERLINE A ~ = ~ 0]

[5] 드 모르강(De Morgan)의 정리

(1) 드 모르강의 제 1 법칙

[eqn: rm {overline A~+~B}~=~OVERLINE A ~CDOT ~OVERLINE B]

(2) 드 모르강의 제 2 법칙

[eqn: RM OVERLINE {A ~ CDOT ~ B } ~=~OVERLINE A ~ + ~OVERLINE B]

○ 논리 함수의 간소화

부울 대수의 공식을 이용 긴 논리 대수식을 간소화

[1] 논리식의 표현

― 논리식 : 각 변수에 할당되는 값에 대한 가능한 모든 조합을	만족하는 하나의 식으로 표현

― 논리식의 유도 : 논리식에 나타낼 각 변수의 값과 이들의 조	합에 따른 결과를 진리표로 만들고, 전체 결과를 위	한 논리 함수인 관계식으로 유도

― 최대항(maxterm) : 각 변수에 대한 진리표에서 각 변수의 결	합이 논리합 형식

― 최소항(minterm) : 각 변수에 대한 진리표에서 각 변수의 결	합이 논리곱의 형식

표 3-6.  최소항과 최대항

A	B	Y	최소항	최대항
0	0	0	[eqn: RM BAR A][eqn: RM BAR B]	A + B
0	1	0	[eqn: RM BAR A] B	A +[eqn: RM BAR B]
1	0	1	A[eqn: RM BAR B]	[eqn: RM BAR A] + B
1	1	1	A B	[eqn: RM BAR A] +[eqn: RM BAR B]

[2] 부울 대수의 공리와 기본 정리

표 3-7.  부울 대수의 공리와 기본 정리

[eqn: &RM①~A+0=A##&RM③~A+BARA = 1##&RM⑤~A+A=A##&RM⑦~A+1=1##&RM⑨~A+B=B+A##&RM⑪~A+(B+C)=(A+B)+C##&RM⑬~A CDOT(B + C)=AB +AC##&RM⑮~BAR A+B = BAR A CDOT BAR B ##&RM□~BAR BAR A =A]       [eqn: &RM②~A CDOT1=A##&RM④~A CDOT BARA =0##&RM⑥~A CDOT A =A##&RM⑧~A CDOT 0=A##&RM⑩~A CDOT B = B CDOT A##&RM⑫~A(B CDOT C)=(A CDOTB) CDOTC##&RM⑭~A+BC=(A+B)(A+C)##&RM□~BAR {A CDOTB} = BAR A + BAR B##&RM□~BAR BAR BAR A = BAR A]

(예제 3.1) Z	= A／A·B

= A·1 ／ A·B	② 적용

= A(1／B)	⑦ 적용

= A

(예제 3.2) Z	= A／[eqn: RM OVERLINE A]·B

= (A／AB)／[eqn: RM OVERLINE A B]	예제 3.1 적용

= A／B(A／[eqn: RM OVERLINE A])	⑦ 적용

= A／B·1

= A／B

(예제 3.3) Z	= (A／B)·(A／C)

= AA／AC／AB／BC	⑥ 적용

= (A／AC)／AB／BC	예제 3.1 적용

= A／AB／BC

= A／BC

(예제 3.4) Z	= AB／[eqn: RM OVERLINE A C]／BC	Cocensus 정리

=[eqn: RM AB + OVERLINE A C + BC(A+ OVERLINE A )]	③ 적용

=[eqn: RM AB + OVERLINE A C + ABC + OVERLINE A BC]	⑬ 적용

=[eqn: RM AB(1+C)+ OVERLINE A C(1+B)]	⑬ 적용

= [eqn: RM AB + OVERLINE A C]	⑦ 적용

(예제 3.5) Z	=[eqn: RM A + B(OVERLINE A + OVERLINE B )]

=[eqn: RM A+ B OVERLINE A + B OVERLINE B]	⑬ 적용

=[eqn: RM A + OVERLINE A B + 0]	④ 적용

=[eqn: RM A + AB + OVERLINE A B]	예제 3.1 적용

=[eqn: RM A + B(1)]	③ 적용

=[eqn: RM A + B]

[3] 항들의 결합

[eqn: RM XY + X OVERLINE Y = X]의 정리를 이용.

(예)	[eqn: RM AB OVERLINE C `OVERLINE D + ABC OVERLINE D = AB OVERLINE D]	[eqn: RM [ X = AB OVERLINE D .~~Y = C]]

(예) [eqn: RM A OVERLINE B C+ ABC + OVERLINE A BC = A OVERLINE B C + ABC + OVERLINE A BC = AC + BC]

(예) [eqn: RM (A+BC)(D+OVERLINE E )+OVERLINE A (OVERLINE B + OVERLINE C )(D + OVERLINE E ) = D+ OVERLINE E]

[eqn: RM [X~=~D+ OVERLINE E , ~ Y~=~ A+BC,~ OVERLINE Y ~=~ OVERLINE A (OVERLINE B + OVERLINE C )]]

[4] 항들의 소거

[eqn: RM X+XY = X 와 ~XY+ OVERLINE X Z + YZ ~=~ XY+OVERLINE X Z]의 Concensus 정리 이용

(예)	[eqn: RM OVERLINE A B + OVERLINE A BC = OVERLINE A B ~]	[eqn: [X= OVERLINE A B,~ Y = C]]

[eqn: RM OVERLINE A B OVERLINE C + BCD + OVERLINE A BD = OVERLINE A B OVERLINE C + BCD]	[eqn: RM [X=C, ~ Y= BD,~ Z= OVERLINE A B]]

[5] 여분의 항 추가

[eqn: rm X OVERLINE X] 를 함수에 더하거나, [eqn: RM (X+ OVERLINE X )] 를 함수에 곱하거나, [eqn: RM XY + OVERLINE X Z] 에 YZ 를 추가 또는 X 에 XY 를 더함으로써 다른 항들과 결합되거나 혹은 소거시킴

○ 카르노도(karnaugh map)

논리식의 간소화 과정을 그림으로 명확하게 나타냄. 진리표를 직사각형의 그림으로 나타내며, 최소항을 나타내는 내부의 사각형으로 구성된다. 카르노도에서는 가로축과 세로축에 입력 변수의 값에 따라 나타나는 결과를 교차 지점에 표현하며, 이때 대응되는 사각형이 최소항이 된다.

― 1 변수카르노도

	A
		0	1
		[eqn: RM OVERLINE X]	X

그림 3-1.  1 변수 카르노도

― 2 변수 카르노도

	A
B		0	1
	0	[eqn: RM OVERLINE A { OVERLINE A}]	[eqn: RM A OVERLINE B]
	1	[eqn: RM OVERLINE A B]	AB

X	Y	최소항
0 0 1 1	0 1 0 1	[eqn: RM OVERLINE A] [eqn: RM OVERLINE A] A A	[eqn: RM OVERLINE B] B [eqn: RM OVERLINE B] B

(a) 2 변수 카르노도	(b) 2 변수 최소항

그림 3-2.  2 변수 카르노도와 최소항

― 그림 3-3 은 논리식 [eqn: rm Y = {OVERLINE A} OVERLINE B + A OVERLINE B + AB] 를 카르노도로 간소화	시키는 것을 보여준다.

(a) 원 논리식	(b) 간략화된 논리식

그림 3-3.  2 변수 논리식의 간소화

― 3 변수 카르노도

	AB
B		00	01	11	10
	0	[eqn: RM OVERLINE A{OVERLINE B} { OVERLINE C }]	[eqn: RM OVERLINE A B OVERLINE C]	[eqn: RM AB OVERLINE C]	[eqn: RM A OVERLINE B {OVERLINE C}]
	1	[eqn: RM OVERLINE A {OVERLINE B} C]	[eqn: RM OVERLINE A BC]	[eqn: RM ABC]	[eqn: RM A OVERLINE B C]

A B C	최소항
0 0 0	[eqn: RM OVERLINE A{OVERLINE B} { OVERLINE C }]
0 0 1	[eqn: RM OVERLINE A {OVERLINE B} C]
0 1 0	[eqn: RM OVERLINE A B OVERLINE C]
0 1 1	[eqn: RM OVERLINE A BC]
1 0 0	[eqn: RM AB OVERLINE C]
1 0 1	[eqn: RM ABC]
1 1 0	[eqn: RM A OVERLINE B {OVERLINE C}]
1 1 1	[eqn: RM A OVERLINE B C]

(a) 3 변수 카르노도	(b) 3 변수 최소항

그림 3-4.  3 변수 카르노도와 최소항

― 그림 3-5 는 논리식[eqn: RM Y = OVERLINE A {OVERLINE B} OVERLINE C + OVERLINE A B OVERLINE C + A OVERLINE B {OVERLINE C} + A OVERLINE B C] 를 카르노도	로 간소화시키는 것을 보여준다.

(a) 원 논리식	(b) 간략화된 논리식

그림 3-5.  3변수 논리식의 간소화

―  4 변수 카르노도

― 그림 3-6 은 변수가 A, B, C, D 의 4 개인 경우의 카르노도

	AB
C		00	01	11	10
	00	[eqn: RM OVERLINE A {OVERLINE B} OVERLINE C {OVERLINE D}]	[eqn: RM OVERLINE A B OVERLINE C { OVERLINE D}]	[eqn: RM AB OVERLINE C {OVERLINE D}]	[eqn: RM A OVERLINE B { OVERLINE C} OVERLINE D]
	01	[eqn: RM OVERLINE A { OVERLINE B} OVERLINE C D]	[eqn: RM OVERLINE A B OVERLINE C D]	[eqn: RM AB OVERLINE C D]	[eqn: RM A OVERLINE B { OVERLINE C} D]
	11	[eqn: RM OVERLINE A { OVERLINE B } CD]	[eqn: RM OVERLINE A BCD]	[eqn: RM ABCD]	[eqn: RM A OVERLINE B CD]
	10	[eqn: RM OVERLINE A { OVERLINE B} C OVERLINE D]	[eqn: RM OVERLINE A BC OVERLINE D]	[eqn: RM ABC OVERLINE D]	[eqn: RM A OVERLINE B C OVERLINE D]

그림 3-6.  4 변수 카르노도

― 그림 3-7 은 논리식

[eqn: RM Y = ~ OVERLINE A {OVERLINE B} OVERLINE C {OVERLINE D} + OVERLINE A B OVERLINE C {OVERLINE D} + A OVERLINE B { OVERLINE C} OVERLINE D + OVERLINE A B OVERLINE C D + AB OVERLINE C D + OVERLINE A BCD + ABCD]

를 카르노도로 간소화시킨 것

(a) 원 논리식	(b) 간략화된 논리식

그림 3-7.  4 변수 논리식의 간소화

[5] 임의 상태

입력 변수에 대하여 실제 출력 결과에 아무런 상관이 없는 경우로 결합된 조합을 임의 상태(don't care condition)라 하며, 진리표나 카르노도에서는 X 로 표기

― 표 3-8 은 4 변수에 대하여 임의 상태가 3 곳이 있는 진리표

표 3-8.  4 변수 임의 상태 진리표

A	B	C	D	Y
0	0	0	0	X
0	0	0	1	1
0	0	1	0	X
0	0	1	1	1
0	1	0	0	0
0	1	0	1	X
0	1	1	0	0
0	1	1	1	1
1	0	0	0	0
1	0	0	1	0
1	0	1	0	0
1	0	1	1	1
1	1	0	0	0
1	1	0	1	0
1	1	1	0	0
1	1	1	1	1

― 그림 3-8 은 표 3-8 에 대한 카르노도를 1 의 경우와 이와는 반대되는 0 의 경우를 이웃한 항으로 묶어서 간소화된 논리식을 구하는 경우

(a) 1 기준 카르노도	(b) 0 기준 카르노도

그림 3-8.  4 변수 임의 상태인 카르노도

이와 같이 논리식을 구할 때 1 뿐만 아니라 0 을 기준할 수 있으며, 이들의 결과는 같아야 한다.

― 그림 3-8 에서 1 을 기준한 경우의 카르노도에서 얻은 간소화된 논리식은 식(3.3) 과 같다.

[eqn: RM Y ~=~ OVERLINE A D + CD]	식(3.3)

― 이와는 반대로 0 을 기준한 경우의 논리식은

[eqn: RM OVERLINE Y ~=~ OVERLINE C { OVERLINE D} + A OVERLINE C + C OVERLINE D]

― 이것을 더 간소화하여 식(3.4) 를 얻을 수 있다.

[eqn: RM OVERLINE Y = OVERLINE C { OVERLINE D} + A OVERLINE C + C OVERLINE D]

[eqn: RM = A OVERLINE C + OVERLINE D (OVERLINE C + C)]

[eqn: RM = A OVERLINE C + OVERLINE D (1)]

[eqn: RM = A OVERLINE C + OVERLINE D]	식(3.4)

― 식(3.4)는 그림 3-8 의 카르노도에서 0 을 기준한 것이므로 1 을 기준한 식(3.3)의 보수가 되어야 한다. 따라서 식(3.4)를 다음과 같이 논리 부정으로 표현하면 식(3.3)과 같아지는 것을 볼 수 있다.

[eqn: RM Y = OVERLINE { A {OVERLINE C} + OVERLINE D }]

[eqn: RM = OVERLINE { A OVERLINE C} CDOT OVERLINE OVERLINE D]

[eqn: RM = ( OVERLINE A + C) CDOT D]

[eqn: RM = OVERLINE A D + CD]

[6] 디지털 신호

― 논리 회로에서 다루어지는 두 가지 정보인 0 과 1 은 전압의 높이로 표시

― 전압으로 논리를 표현할 때 높은 전압으로 1 을 나타내는 방법을 양논리(positive logic)

― 양논리와 반대로 낮은 전압이 1 을 표시하는 방법을 음논리(negative logic)라 한다.

― 논리 회로에서 0 과 1 의 상태

전압의 차이

펄스의 유뮤

				+4[V]
		□1□
				0[V]
	□0□

	□0□			+4[V]
		□1□		0[V]

(a) 양논리	(b) 음논리

그림 3-9.  펄스의 유무와 논리값의 관계

1	0	1	1	1	0

	1	0		1		1		1	0

(a) 전압 차이	(b)펄스의 존재 유무

그림 3-10.  6 자리 2 진수 101110 의 표시

● 논리 게이트

― 논리 게이트(logical gate) :

부울 연산을 수행하는 전자 소자로서 주어진 입력 변수값에	대해서 정해진 논리 함수를 수행하여 그 함수의 연산 결과	와 동일한 것을 출력하는 하드웨어

○ 기본 게이트

[1] OR 게이트

(a) 스위칭 회로

(b) 트랜지스터

(c) 그림 기호

그림 3-11.  논리합 회로와 기호

― 그림 3-11 의 스위칭 회로의 2 개의 스위치 A, B 와 트랜지스터 회로의 2 개 입력 단자에 의하여 출력되는 C 의 동작은 네 가지 형태로 구분.

표 3-9.  OR 게이트의 동작 상태

스위치(A)	입력 또는 스위치(B)	출력(C)
OFF(0) OFF(0) ON(1) ON(1)	OFF(0) ON(1) OFF(0) ON(1)	0 1 1 1

OR 회로에서 두 입력 신호가 있을 때 신호적인 차원에서 논리합의 관계는 그림 3-12 와 같다.

A		OR 회로
				C
B

		1		1
A	0		0		0	0	0
				1		1
B	0	0	0		0		0
		1		1		1
C	0		0		0		0

(a) OR 회로 블록도	(b) OR 회로의 신호 파형

그림 3-12.  OR 게이트의 동작

OR 기능을 수행하는 14 핀의 기본적 집적 회로 :

IC 7432(그림 3-13)

그림 3-13.  IC 7432

[2] AND 게이트

AND 게이트는 논리곱과 같은 논리식의 회로(그림 3-14)

(a) 스위칭 회로	(b) 트랜지스터 회로	(c) 그림 기호

그림 3-14.  AND 게이트와 기호

표 3-10.  AND 게이트의 동작 상태

입력 또는 스위치(A)	입력 또는 스위치(B)	출력(C)
OFF(0) OFF(0) ON(1) ON(1)	OFF(0) ON(1) OFF(0) ON(1)	0 0 0 1

AND 회로의 블록도와 신호 파형(그림 3-15)

A		AND 회로
				C
B

		1		1		1
A	0		0		0		0
			1			1
B	0	0		0	0		0
						1
C	0	0	0	0	0		0

(a) AND 회로 블록도	(b) AND 회로의 신호 파형

그림 3-15.  AND 게이트의 동작

AND 기능을 수행하는 14 핀의 기본적인 집적 회로 :

IC 7408(그림 3-16)

그림 3-16.  IC 7408

[3] NOT 게이트

NOT 게이트의 스위치 회로(그림 3-17(a))

(a) 스위칭 회로	(b) 트랜지스터	(c) 그림 기호

그림 3-17.  NOT 게이트와 기호

NOT 게이트(인버터(inverter))의 동작 상태(표 3-11)

표 3-11.  NOT 게이트의 동작 상태

입력 또는 스위치(A)	전구(C)
OFF(0) ON(1)	1 0

NOT 게이트의 파형 신호와 블록도(그림 3-18)

□

그림 3-18.  NOT 회로의 동작

NOT 기능을 수행하는 14 핀의 기본적 집적 회로 :

IC 7404(그림 3-19) 와 7416

그림 3-19.  IC 7404

[4] XOR 게이트

TR 을 사용하여 XOR 게이트를 구성한 것과 그림 기호(그림 3-20)

(a) 트랜지스터 회로	(b) 그림 기호

그림 3-20.  XOR 게이트와 기호

XOR 기능을 수행하는 14 핀의 기본적 집적 회로 :

IC 7486(그림 3-21)

그림 3-21.  IC 7486

[5] 그 밖의 논리 회로

표 3-12.  인버터와 NOT 결합 게이트

그림 3-22.  NAND 기능 수행 집적 회로

그림 3-23.  IC 7402

○ 논리 회로도

― 논리 회로도 : 회로의 기능을 기본 논리 게이트들에 서로 연	결시켜 표현한 그림

그림 3-24 : AND 게이트와 결합된 OR 논리 회로

가장 널리 쓰이는 게이트 형태

그림 3-24. 논리 회로도

- 이 회로의 입력은 8 가지 조합이 발생되는데 입력과 출력에	대한 진리표(표 3-13)와 같게 된다. A, B, C 가 모두 1 인	경우나 B 가 1 이고 A 나 C 중 어느 하나가 1 이면 결과	는 1 이 됨을 알 수 있다.

표 3-13.  진리표

입 력			출 력
A	B	C	Y
0 0 0 0 1 1 1 1	0 0 1 1 0 0 1 1	0 1 0 1 0 1 0 1	0 0 0 1 0 0 1 1

- 논리 회로는 게이트에 의한 특정 결과를 얻기 위하여 별도로 만들어진 것을 최종 결과가 될 때까지 단계적으로 OR 게이트에 의해 합쳐지게 된다. 전체를 부정하는 경우는 최종 결과를 부정하는 것이므로 NOR 게이트가 최종 결합 지점이 될 수도 있다.

○ 와이어드 게이트

― 와이어드 게이트(wired gate) :

기본 논리 게이트를 거쳐서 수행되는 것을 기본 게이트에	사용되는 전체 부품을 사용하지 않고서도 동일한 결과를 가	져오도록 하는 방법이다.

― 그림 3-25 는 트랜지스터를 사용하여 4 개의 입력이 2 개씩	NAND 게이트를 통과한 것을 결합한 것과 동일하도록 결선	한 것

(a) 트랜지스터 회로	(b) 와이어드 결과

그림 3-25.  와이어드 AND의 원리

― 이 회로에서 하나의 트랜지스터만 포화되면 Y 지점의 전압	이 낮아져서 출력은 0 이 된다. 즉, 2 개의 트랜지스터의 베	이스 입력이 모두 차단되어야만 Y 는 1 이 출력되므로 자	동적인 AND 역할을 하고 있음을 알 수 있으며, 다음과 같	은 논리식이 성립된다.

[eqn: RM Y~=~ OVERLINE A {OVERLINE B} CDOT OVERLINE C { OVERLINE D}]

― 이러한 와이어드 게이트는 트랜지스터끼리 결선하는 TTL	에서 전체의 게이트를 사용하지 않고서도 간단히 그 기능을	수행할 수 있기 때문에 매우 중요하다. 그림 3-26 은 와이	어드 AND 를 논리 기호로 표현하는 것을 보여준다.

그림 3-26.  와이어드 AND

― 개방된 상태의 트랜지스터의 출력 단자를 묶음으로써 OR 기	능을 수행하도록 할 수 있는데, 이러한 회로를 와이어드	OR 이라 하며, 그림 3-27 과 같이 표현된다.

그림 3-27.  와이어드 OR

● 조합 논리 회로

논리 게이트가 모여서 입력 변수에 입력되는 데이터의 어떤 조합에 대해서 일정하게 정해진 특정 출력을 제공하기 위하여 연결된 회로를 조합 논리 회로(combination logic circuit)라 한다.

그림 3-28.  조합 논리 회로

○ 조합 논리 회로의 분석

조합 논리 회로는 회로 함수로 구성되며 분석 과정은 주어진 논리 회로의 입력으로 시작하여 부울 함수의 집합 또는 회로 연산에 대한 설명을 나타내는 진리표를 만들어 낸다.

― 조합 논리 회로의 두 가지 분석 방법

(1) 조합 논리의 출력을 회로 내에 들어 있는 개별적인 게이트의 논리 동작에 근거를 두고 주어진 입력 값들에 대하여 결정한다.

(2) 부울 대수를 이용하여 출력 함수에 대한 논리식을 유도하고 이식을 이용하여 입력 값들의 여러 조합에 대해서 출력값을 결정한다.

― 먼저 (1) 의 방법을 사용하여 A, B, C 를 3개 입력에 대하여 AB, BC 와 같이 결합될 때를 보기로 하자.

― A 와 B 가 1 인 경우나 C 가 1 인 경우는 결과가 1 인 것으로 가정하면 A 와 B 는 논리곱, B 와 C 는 논리합한	것을 논리합으로 모아야 한다.

― 그림 3-29는 A, B, C 의 8 가지 입력 조합에 대하여 위의 조건을 만족하도록 하는 논리 회로이다.

그림 3-29.  [eqn: rm Y ~=~ (A CDOT B) + (B + C) 의 ~논리~회로]

― A 와 B 가 1 인 경우나 C 가 0 인 경우는 결과가 1인 것을 (2) 의 방법을 사용하면 먼저 입출력 조건에 맞는 변수를 결정하고 진리표를 만든 후 논리 회로를 설계해야 한다.

표 3-14.  진리표

A	B	C	결과
0	0	0	1
0	1	0	1
1	0	0	1
1	1	0	1
0	0	1	0
0	1	1	0
1	0	1	0
1	1	1	1

그림 3-30.  논리식을 간략화 하는 카르노도

― A, B, C 의 입력 변수에서 C 가 0 이거나 A, B, C 가 모두	1 인 경우에 결과가 1 이 된다고 가정하면 진리표는 표	3-14 와 같고, 이것을 사용하여 카르노도를 작성하면 그림	3-30 과 같이 된다.

― 이 카르노도에 의하면 아래와 같은 논리식이 성립한다. 따라서 이 조건을 만족하는 논리 회로는 그림 3-31 과 같이 설계할	수 있다.

그림 3-31.  [eqn: rm Y~=~ AB + OVERLINE C]의 논리 회로

○ 논리 회로의 설계

― 논리 회로의 설계 순서

(1) 입출력 조건에 따라 변수를 결정하여 진리표를 작성

(2) 진리표에 대한 카르노도를 작성

(3) 간소화된 논리식을 구한다.

(4) 논리식을 기본 게이트로 구성

표 3-15.  진리표

입력			출력
A	B	C	D
0	0	0	1
0	0	1	0
0	1	0	0
0	1	1	1
1	0	0	0
1	0	1	1
1	1	0	1
1	1	1	0

― 표 3-15 에 의하여 3 변수 입력인 카르노도를 작성하면 그림	3-32 와 같이 된다.

그림 3-32.  3변수 입력 카르노도

―  그림 3-32 에서는 출력이 1 인 이웃되는 항이 없으므로 직	접 간소화된 논리식을 얻을 수 없다. 그러므로 출력이 1 인	4 가지 경우를 모두 모아서 논리식으로 표현하고, 대수적인	방법으로 간소화한다.

[eqn: RM Y ~=~ BAR A` Bar B` bar C + AB BAR C +BAR A BC + A BAR B C]

[eqn: RM ``=~ BAR A` (BAR B` bar C `+` BC ) `+` A` (B` BAR C `+` BAR B` C)]

[eqn: RM``=~BAR A `(B `BIGODOT` C)`+`A` ({ B `BIGOPLUS` C} )]

[eqn: RM``=~ BAR A` (`B` BIGODOT` C) `+` A` (Bar{B` BIGODOT` C})]

[eqn: RM``=~ A` BIGOPLUS `( B` BIGODOT` C)]	식(3.5)

― NXOR 는 XOR 를 부정하는 것이므로

[eqn: RM Y = A `BIGOPLUS` ( bar {B `BIGOPLUS` C}``)]	식(3.6)

― 식(3.6)은 표 3-15 의 진리표에 대한 간소화된 논리식이므로	그림 3-36 과 같은 조합 논리 회로를 설계할 수 있다.

그림 3-33.  간소화된 논리 회로

○ 덧셈과 뺄셈 회로

비트 상태의 데이터를 덧셈하거나 뺼셈하는 것은 컴퓨터의 가장 기본적인 연산으로 2진 연산이 주축

[1] 반가산기 (half-adder)

― 컴퓨터에서 가장 기본적인 계산을 수행하는 논리 회로이며,	2  비트만을 덧셈하는 회로

― 입력 변수를 A, B 라 하면 이에 대한

합과 캐리의 진리표(표 3-16)

표 3-16.  진리표

A	B	합(S)	자리올림(C)
0	0	0	0
0	1	1	0
1	0	1	0
1	1	0	1

그림 3-34.  반가산기의 논리 회로

[2] 전가산기(full-adder)

― 2 자리 이상을 덧셈할 때는 아래 자리에서 올라온 캐리를 함	께 덧셈하여 2 자리의 합을 계산하고, 캐리는 다음 자리에	서 함께 계산되도록 하여야 한다. 이렇게 2 자리 2 진수와	캐리를 함께 덧셈하는 회로

― 전가산기는 A, B의 입력 변수와 아래 자리에서 올라온 캐리	C 가 8 가지 조합을 이루며, 이들 각각에 대한 합 S 와 윗	자리로 전해주는 캐리 Cn 에 대한 진리표(표 3-17)와 카르	노도(그림 3-35)

표 3-17.  전가산기의 진리표

A	B	C	S	Cn
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) S 의 카르노도

(b) Cn 의 카르노도

그림 3-35.  전가산기의 카르노도

― 그림 3-35의 카르노도에서 논리식을 얻어 간소화시키면 S	는 식(3.7), Cn은 식(3.8)과 같이 얻는다.

[eqn: RM S~ =~ BAR A` bar B` C `BAR A` B BAR C` +` A`B`C `+`A` BAR B`bar C]

[eqn: RM=~ BAR A (BAR B C + B BAR C) + A (BC + BAR BC)]

[eqn: RM=~BAR A` (B` BIGOPLUS `C) + A `(B` BIGODOT `C)]

[eqn: RM=~BAR A `( B` BIGOPLUS` C) + A` ( BAR{ B` BIGOPLUS` C })]

[eqn: RM=~ A` BIGOPLUS`(B` BIGOPLUS` C)]

[eqn: RM=~A `BIGOPLUS` B` BIGOPLUS` C]	식(3.7)

[eqn: RM C_n ``=~ A`B` +` BAR A `B`C` +` A` BAR B` C]

[eqn: RM=~A`B `+` C`(BAR A` B` +` A` BAR B)]

[eqn: RM =~ A`B` +` C`(A` BIGOPLUS` B)]	식(3.8)

― 식(3.7)과 식(3.8)을 사용하여 게이트를 연결하여 그림 3-36	와 같은 전가산 회로도 작성(2 개의 반가산기를 캐리만 OR	회로로 합한 것과 같으므로 그림 3-37 참조)

그림 3-36.  전가산기의 논리 회로

(Cin 삽입 요망)

그림 3-37.  OR 회로로 합한 전가산기의 논리 회로

[3] 반감산기(half-subtracter)

― 반감산기는 1 자리인 2 진수를 뺄셈하는 회로이며, 2 개의	입력 변수와 뺄셈한 결과인 차(difference)와 피감수가 0 이	고 감수가 1 일 때 윗자리에서 빌려온 것과 같이 계산되도	록 하기 위한 빌림수(borrow)가 출력되어야 한다.

― 입력 변수에서 피감수를 A, 감수를 B 라 하고 출력은 차를	D, 빌림을 C 라 하면 진리표(표 3-18)

표 3-18. 반감산기의 진리표

A	B	D	C
0	0	0	0
0	1	1	1
1	0	1	0
1	1	0	0

― 표 3-18 에서 차는[eqn: RM BAR A` B] 와[eqn: RM A` bar B] 의 2 가지 경우이고, 빌림은	[eqn: RM BAR A` B] 인 경우 하나이다. 그러므로 이를 만족하는 논리식은	식(3.9)와 식(3.10)과 같다.

[eqn: RM D ~=~BAR A` B` + `A` BAR B]

[eqn: RM `=~ A` BIGOPLUS` B]	식(3.9)

[eqn: RM C~ =~ BAR A` B]	식(3.10)

[4] 전감산기(full-subtracter)

― 전감산기는 2 자리 이상의 2 진수를 연산할 때 1 자리의 2	진수일지라도 빌려준 값이 있을 경우에는 그것도 함께 계산	하여 현재의 차와 빌림이 출력되도록 하는 회로이다.

― 입력 변수를 되감수 A, 감수 B, 아랫자리에서의 빌림수 C 라	하고, 출력은 차 D 와 현재 자리에서 발생한 빌림 Cn 이라	하면 진리표는 표 3-19 와 같다.

표 3-19. 전감산기의 진리표

A	B	C	D	Cn
0	0	0	0	0
0	0	1	1	1
0	1	0	1	1
0	1	1	0	1
1	0	0	1	0
1	0	1	0	0
1	1	0	0	0
1	1	1	1	1

― 표 3-19 의 8 가지 입력 조합에 대한 카르노도는 그림 3-38	과 같으므로 이를 간소화된 논리식으로 바꾸면 식(3.11)과	식(3.12)와 같고, 이를 이용하여 회로를 설계하면 그림 3-39	와 같게 된다.

(a) D 의 카르노도

(b) Cn 의 카르노도

그림 3-38.  전감산기 8가지 입력 조합에 대한 카르노도

[eqn: RM D~ =~ BAR A` bar B` C` + `BAR A` B `BAR C `+` A`B`C `+` A` BAR B` bar C]

[eqn: RM=~C`(BAR A `bar B + A`B ) `+` BAR C `(BAR A` B` + `A `BAR B )]

[eqn: RM =~ C`(A` BIGODOT `B)` +` BAR C `(A` BIGOPLUS `B)]

[eqn: RM =~ C`(BAR {A` BIGOPLUS` B} ) `+` BAR C` ( A` BIGOPLUS` B)]

[eqn: RM =~C` BIGOPLUS`(A` BIGOPLUS` B)]

[eqn: RM =~ A` BIGOPLUS` B` BIGOPLUS` C]	식(3.11)

[eqn: RM C_n ~=~ BAR A` B` +` BAR A` bar B` C` +` A`B`C]

[eqn: RM ~ =~ BAR A` B `+` C` (BAR A` bar B` + `A`B)]

[eqn: Rm ~=~ BAR A` B `+` C (A` BIGODOT` B)]

[eqn: RM ~=~ BAR A` B` +` C (BAR {A` BIGOPLUS` B})]	식(3.12)

그림 3-42.  전감산기의 회로도(C 표시 필요)

[5] 코드 변환기와 비교기

(1) 코드 변환기(code converter)

― 코드 변환기는 어떤 코드로 되어있는 것을 다른 종류의 코드	로 바꾸어 주는 회로

― Excess-3 코드는 2 진화 10 진수에 3 만큼의 값을 더 갖도	록 한 코드인데, 보수 변환을 가능하게 하여 뺄셈에 사용할	수 있도록 해준다. 표 3-20 는 0 에서 9 까지의 10 진수에	대한 Excess-3 코드를 보여준다.

표 3-20.  10 진수에 대한 3초과 코드

10 진수	3 초과 코드	10 진수	3 초과 코드
0	0011	5	1000
1	0100	6	1001
2	0101	7	1010
3	0110	8	1011
4	0111	9	1100

― 표 3-20 에서 각 코드값 1 은 0 으로, 0 은 1 로 바꾸어 보	수화 하면 10 진수 9 의 부호로 만든 것과 같으므로 자기	보수 코드(self-complement code)라고 부르기도 한다.

― Excess-3 코드의 입력값은 2 진화 10 진수의 A, B, C, D 이	고 이것이 Excess-3 코드로 바뀌어 출력되는 출력 변수를	[eqn: rm bar A], [eqn: rm bar B], [eqn: rm bar C], [eqn: rm bar D] 라 한다면 이들은 아래와 같은 논리식으로	표현할 수 있다.

[eqn: RM &BAR A = BAR A B BAR C D + BAR A BC BAR D + BAR A BCD + A BAR B `bar C D + A BAR C `bar D D ##& RM BAR B = BAR A`barB`barC D + BAR A` barB C BAR D + BAR A`bar B CD + BAR A B BAR CD + A BAR B` bar C D ##&RM BAR C = BAR A`barB`barC`barD + BAR A`barB CD + BAR A B BAR C`barD + BAR A BCD + A BAR B`barC`barD ##& RM BAR D = BAR A`barB`barC`barD + BAR A`barB C BAR D + BAR A B BAR C`barD + BAR A BC BAR D + A BAR B`barC`barD]

― 이들 논리식은 너무 복잡하므로 집적 회로를 설계하기가 어	렵다. 따라서 카르노도를 사용하여 간소화된 논리식을 구한	다.

그림 3-40.  카르노도

그림 3-41.  2 진화 10 진수를 Excess-3 코드로 바꾸는 회로

― 그림 3-40 의 카르노도에 의하여 간소화된 논리식을 구하여	2 진화 10 진수를 Excess-3 코드로 바꾸는 회로를 설계하	면 그림 3-41 과 같다.

[eqn: rm &BAR A = A + BC + BD ## RM& BAR B = BAR B D + BAR B C + B BAR C`barD ##RM & BAR C = BAR C`barD + CD = C` BIGODOT` D ## RM &BAR D = BAR D]

(2) 비교기(comparator)

― 비교기는 2 개의 수를 비교하여 기준으로 정한 한 수가 작다	와 크다 또는 같다를 결정

― 비교하는 방법은 2 진 코드의 상태의 절대값을 상대적으로	비교그림 3-42 은 A 와 B 에서 각각 2 비트의 데이터 값	을 가지고 있을 때 논리적으로 비교할 수 있는 회로도이다.	이 회로도에서 결과 X 가 1 이면 A 와 B 는 동일하다.

그림 3-42.  비교기의 회로도

[6] 해석기와 인코더

― 인코더는 자판에서 입력된 10 진수를 2 진수로 변환

― 해석기는 출력 때와 같이 2 진 부호를 10 진수와 같은 단일	신호로 변환

(1) 해석기(decoder)

코드 형식의 2 진 정보를 다른 형식의 단일 신호로 바꾸는 회로그림 3-43 은 2 비트가 입력되어 4 가지의 서로 다른 신호를 출력하는 2×4 해독기의 회로도이고, 표 3-21 은 진리표이다.

그림 3-43.  2×4 해석기의 회로도

표 3-21.  해석기의 진리표

입력		출력
A	B	D0	D1	D2	D3
0 0 1 1	0 1 0 1	1 0 0 0	0 1 0 0	0 0 1 0	0 0 0 1

그림 3-44. 4×10 해석기의 블록도

― 2 진화 10 진수를 10 진수로 바꾸어주는 해석기(74LS42)

(2) 인코더(encoder)

인코더는 해석기와 정반대의 기능을 수행하는 조합 논리 회로

표 3-22.  인코더의 진리표

입 력	출 력
8진수	A	B	C
0	0	0	0
1	0	0	1
2	0	1	0
3	0	1	1
4	1	0	0
5	1	0	1
6	1	1	0
7	1	1	1

그림 3-45.  8×3 부호기의 회로도

그림 3-46. 8×3 인코더의 블록도

[7] 멀티플렉서와 디멀티플렉서

(1) 멀티플렉서(MUX : multiplexer)

표 3-23.  4×1 멀티플렉서에 대한 진리표

선택 신호		선택된 입력 회선
S1	S2
0	0	D0
0	1	D1
1	0	D2
1	1	D3

(a) 논리 회로도

(b) 블럭도

그림 3-47.  4×1 멀티플렉서의 회로도와 블록도

(2) 디멀티플렉서(demultiplexer)

표 3-24.  1×4 디멀티플렉서의 진리표

선택 신호		선택된 출력 회선
S1	S2	D0	D1	D2	D3
0 0 1 1	0 1 0 1	I 0 0 0	0 I 0 0	0 0 I 0	0 0 0 I

(a) 회로도

(b) 블럭도

그림 3-48.  1×4 디멀티플렉서의 논리 회로도와 블록도

● 순차 논리 회로

― 순차 논리 회로는 현재의 상태와 입력 값에 따라 출력 결과를 만들어주는 논리 회로

― 순차 논리 회로는 CPU 내에서 제어 장치가 동작의 연속을 상태의 변화에 따라 제어 신호를 발생시키는 데에 사용

― 제어를 위한 상태를 보관하는 회로는 플립플롭 회로를 사용하는데, 이 회로는 트랜지스터로 만들 수 있고 1 비트를 기억할 수 있다.

○ 멀티바이브레이터(multivibrator)

― 쌍안정 멀티바이브레이터(bistable multivibrator) :

어떤 상태가 만들어지면 다음 신호가 입력될 때까지 현재의	상태를 유지하는 회로(트랜지스터 2 개로 제작 가능)

― 아래 그림은 트랜지스터를 사용하여 만든 쌍안정 멀티바이	브레이터

그림 .  트랜지스터를 사용한 쌍안정 멀티바이브레이터

○ 플립플롭 회로

― 플립플롭(flip-flop) 회로

쌍안정 멀티바이브레이터의 성질을 이용하여 두 가지 상태	인 1 과 0 을 기억하도록 만든 회로이며, 기억 회로의 기본	적 구성 요소

[1] RS 플립플롭

― RS 플립플롭은 가장 기본적인 플립플롭 회로이며, 쌍안정 멀	티바이브레이터 기능을 사용하여 트랜지스터 2 개로 제작.

―그림 3-49 는 트랜지스터를 사용한 RS 플립플롭 회로의 구성

그림 3-49.  RS 플립플롭 회로

표 3-25.  RS 플립플롭 회로에 대한 진리표

S	R	Qt+1
0 0 1 1	0 1 0 1	Qt 0 1 불안정

― 그림 3-50 는 NOR게이트를 사용하여 구성한 RS 플립플롭	회로와 그림으로 나타내는 논리 기호

(a) 회로도

(b) 논리 기호

그림 3-50.  NOR 게이트를 사용한 RS 플립플롭 회로와 논리 기호

― 그림 3-50 의 RS 플립플롭은 비동기(asynchronous)형으로	동작한다. 그러나 컴퓨터 내부의 시계인 수정 발진자에서	만들어주는 클럭 펄스(clock pulse)를 그림 3-51과 같이 연	결하면 일정한 시간에 따라 동작되는 동기형(synchronous)	으로 만들 수 있다.

(a) 회로도

(b) 논리 기호

그림 3-51.  동기형 RS 플립플롭 회로와 논리기호

[2] JK 플립플롭

― JK 플립플롭은 시간형 RS 플립플롭에 AND 게이트를 덧붙여서 만든다. 그림 3-52는 JK 플립플롭 회로도이고, 표 3-26 은 JK 플립	플롭 회로의 진리표이다.

그림 3-52.  JK 플립플롭 회로도

표 3-26.  JK 플립플롭 회로의 진리표

C	J	K	Qt+1
0 1 1 1 1	× 0 0 1 1	× 0 1 0 1	Qt Qt 0 1 [eqn: RM BAR Q _t]

[3] D 플립플롭

― D 플립플롭은 입력된 내용과 동일한 상태가 되도록 하여 데이터의 일시적인 보관이나 디지털 신호의 전송되는 시간을	늦추어주는 지연 목적에 사용한다.

― 그림 3-53은 D 플립플롭의 회로도와 논리 기호를 보여준다.

(a) 회로도

(b) 논리 기호

그림 3-53.  D 플립플롭의 회로도와 논리 기호

[4] T 플립플롭

― T 플립플롭은 JK 플립플롭을 변경시켜 1 과 0 이 번갈아 바	뀌는 토글(toggle) 신호를 만드는 회로이다.

― 그림 3-54는 T 플립플롭의 회로도와 논리 기호를 보여주는	것이며, 표 3-27 은 T 플립플롭 동작의 진리표이다.

(a) 회로도

(b) 논리 기호

그림 3-54.  T 플립플롭의 회로도와 논리기호

표 3-27.  T 플립플롭 동작에 대한 진리표

C	T	Qt+1
0 1 1	× 0 1	Qt Qt [eqn: RM BAR Q _t]

[5] 주-종 플립플롭

― 주-종 플립플롭(master slave flip-flop)은 시간 펄스가 상승	또는 하강함에 따라 입력에 대응하는 출력이 변하도록 하	며, JK 플립플롭이나 RS 플립플롭을 사용하여 구성할 수	있다.

― 주-종 플립플롭은 2 개의 플립플롭이 180°위상차를 가지고	동작되도록 하며, 1 개의 NOT 게이트 양쪽을 연결하도록	한다. 그림 3-55 는 주-종 플립플롭 회로

그림 3-55.  주-종 플립플롭 회로

― 그림 3-55 와 같이 2 개의 플립플롭이 연결되었을 때 앞의	것은 주인(master)이고, 뒤의 것은 종(slave)

― 그림 3-56은 주-종 플립플롭의 시간적 동작상태를 보여준다.

그림 3-60.  주-종 플립플롭의 시간적 동작상태

○ 순차 논리 회로의 설계

조합 논리 회로와 마찬가지로 간소화 과정을 거쳐서 축소시킨 후 플립플롭 회로를 대응시켜 설계

[1] 상태표

― 상태표(state table)는 현재와 다음의 상태 및 출력의 3 부분	으로 구성되며, 순차 논리 회로의 입력과 출력, 플립플롭의	상태를 나타낸다.

― 현재의 상태 :

시간 펄스가 발생하기 전에 플립플롭 회로가 기억하고 있는	상태

― 다음 상태 :

입력되는 값과 시간 펄스에 의해 트리거된 이후의 플립플롭	회로의 상태

― 출력 :

플립플롭 회로의 현재 상태와 입력에 의해 결정되는 출력값

예) 현재의 상태 A, B 가 조합되는 4 가지 경우에 대하여 입력	되는 값이 X 일 때 현재 상태 A, B 의 변화 및 출력값(표	3-28)

표 3-28.  상태표

현재 상태		다음 상태				출력
		X=0		X=1
A	B	A	B	A	B	X=0	X=1
0	0	0	0	0	1	0	0
0	1	1	0	0	1	1	0
1	0	1	0	1	1	1	0
1	1	1	1	0	0	0	1

[2] 상태도

― 상태도(state diagram)는 상태표로 표현된 순차 논리 회로의	동작  상태의 변화에 대한 흐름을 그림으로 나타낸 것이며,	순차 논리 회로 설계의 초기 단계에 사용한다.

― 상태도는 현재의 상태를 원 내에 표현하고, 다음의 상태로의	변환은 화살표로 흐름을 나타내며, 원의 바깥에 상태의 변	이를 일으키는 입력값과 현재 상태에서 출력되는 값을 표현	한다. 입력과 출력은 사선으로 구분하는데, 사선의 왼쪽은	입력값, 사선의 오른쪽은 출력값을 표현한다.

― 그림 3-57 은 표 3-28 을 상태도로 나타낸 것이다.

그림 3-57.  상태도

[3] 상태 방정식

― 상태 방정식(state equation)/응용 방정식(application	equation): 플립플롭 회로의 상태가 변하는 조건을 연산식으	로 나타낸 것

― 상태 방정식의 왼쪽은 플립플롭 회로의 다음 상태를 표기하	고, 오른쪽은 다음 상태가 1 이 되기 위한 현재 상태와 입	력 조건을 나타내는 부울 함수를 표기한다.

― 표 3-28 의 조건을 상태 방정식으로 표현(식(3.13))

[eqn: RM A`(t`+`1) ~=~ BAR X` (BAR A` B` +` A `BAR B `+` A`B) `+` X`(A `BAR B )]

[eqn: RM~=~ BAR X`barA `B` +` BAR X` A` BAR B` +` BAR X` A`barB `+` X`A` BAR B]

[eqn: RM ~=~ BAR X` B` (BAR A` + `A)` +` A` BAR B`(BAR X `+` X)]

[eqn: RM ~=~ A` BAR B` +` B` BAR X]	식(3.13)

[4] 순차 논리 회로의 간소화

― 순차 논리 회로의 간소화는 상태의 수를 간소화로 줄이는 것

― 플립플롭 회로의 수를 줄이는 것으로서 상태의 축소는 등가	회로 중에서 상태의 수가 적은 것을 선택한다.

그림 3-58.  상태도

표 3-29.  상태표

현재 상태	다음 상태		출력
	X=0	X=1	X=0	X=1
a b c d e f g	a c a e a g a	b d d f f f f	0 0 0 0 0 0 0	0 0 0 1 1 1 1

― 표 3-29 는 그림 3-58 를 상태표로 나타낸 것인데, 상태 g	와 e 는 출력과 다음 상태가 동일한 등가임을 알 수 있다.	그러므로 g 를 제거하고 모두 e 로 치환한다. 이렇게 바뀐	상태표인 표 3-30 에서 d 와 f 가 등가이므로 f 를 제거하	면 표 3-31 과 같은 축소된 상태표를 얻을 수 있다.

표 3-30.  d→e 로 치환한 상태표

현재 상태	다음 상태		출력
	X=0	X=1	X=0	X=1
a b c d e /d /e	a c a e a /e a	b d d /d /d f f	0 0 0 0 0 0 0	0 0 0 1 1 1 1

표 3-31.  축소된 상태표

현재 상태	다음 상태		출력
	X=0	X=1	X=0	X=1
a b c d e	a c a e a	b d d d d	0 0 0 0 0	0 0 0 1 1

그림 3-59.  축소된 상태도

― 축소된 표 3-31 에서 상태도를 작성하면 그림 3-59 과 같이	간결하게 축소된 상태표를 얻을 수 있다. 이것은 그림 3-59	의 복잡한 원상태도와 동일한 기능을 갖는 축소된 상태도이	므로 이 상태도에서 순차 논리 회로를 설계하면 간소화된	회로를 얻을 수 있다.

[5] 회로의 설계

― 순차 논리 회로를 설계할 때는 회로의 동작 원리를 정확히	정의하여 상태표와 상태도를 구하여 상태의 수를 줄인다.

― 함수를 간소화하여 간소화된 함수에 따라 게이트와 플립플롭	회로를 조합하여 회로도를 작성

표 3-32.  상태표

현재 상태		다음 상태				출력
		X=0		X=1
A	B	A	B	A	B	X=0	X=1
0	0	0	0	0	1	0	1
0	1	1	0	0	1	0	0
1	0	1	0	1	1	0	1
1	1	1	1	0	0	0	0

― A 와 B 가 4 가지로 조합되는 상태를 입력과 출력에 따라	상태도를 작성하면 그림 3-60 와 같다. 이것을 간소화시키	기 위하여 카르노도를 작성하면 그림 3-61 와 같고, 여기에	서 간소화된 함수를 구할 수 있다.

그림 3-60.  상태도

[eqn: rm D_A ~=~A BAR B ` + ` B BAR X]

[eqn: rm D_B ~=~BAR A X` + ` BAR B X `+` A B BAR X]

[eqn: rm Y~=~ BAR B X]

그림 3-61.  간소화 하기 위한 카르노도

그림 3-62.  회로도

[eqn: RM D_A &=~ A `BAR B `+` B `BAR X##RM D_B &=~ BAR A` X `+` BAR B` X `+` A`B` BAR X##RM Y&=~BAR B` X]

― 표 3-32 에서 결과가 1 인 2 가지 경우에 대한 DA, DB 와	결과 Y 의 간소화된 함수식에 따라 D 플립플롭이 2 개 필	요한 회로도는 그림 3-62 과 같이 작성할 수 있다.

○ 계수기

[1] 기본 계수기

비동기형 계수기(asynchronous counter) :

리플 계수기(ripple counter)

그림 3-65.  23 리플 계수기

[2] 상향 계수기

표 3-33 은 A, B, C, D 의 4 개 플립플롭 회로를 연결하여 4 단이 되도록 한 16 진 상향 계수기의 상태표

표 3-33.  16진 상향 계수기의 상태표

계수	각 단의 출력
	A	B	C	D
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15	0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1	0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1	0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1	0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

― 그림 3-66 은 JK 플립플롭 회로를 사용하여 16 진 상향 계	수기를 구성한 것이다.

그림 3-66.  16 진 상향 계수기

― A 단부터 D 단까지 각 플립플롭 회로는 20, 21 ,22, 23 의 자	리값을 가지게 되는데, 계수기의 출력상태는 펄스가 입력될	때마다 증가한다. 그림 3-67은 16 진 상향 계수기의 입출	력 동작의 파형을 나타낸 것이다.

그림 3-67.  16진 상향 계수기의 입출력 동작의 파형도

[3] 하향 계수기

플립플롭 회로 4 개를 연결하여 16 진으로 된 하향 계수기의 상태표는 표 3-34와 같다.

표 3-34.  16 진으로 된 하향 계수기의 상태표

펄스 입력 순서	각 단의 출력				계수 출력
	D	C	B	A
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15	1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0	1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0	1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0	1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0	0 또는 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

그림 3-68.  16진 하향 계수기

그림 3-69. 파형도

― 하향 계수기도 JK 플립플롭 회로를 사용하여 구성

― 그림 3-68 은 4 개의 JK 플립플롭 회로를 사용하여 구성한	16 진 하향 계수기

― 그림 3-68 의 하향 계수기는 4 개의 플립플롭 회로에 모두 1	이 기억된 상태에서 시간 펄스가 입력될 때마다 1 씩 감소	된다. 이 회로의 A, B, C, D 단에 대한 파형도는 그림 3-69	과 같다.

[4] 링 계수기

― 링 계수기(ring counter, circulating counter) :

여러 장치에 시간을 일정하게 배분하는 것과 같이 전체를	순화하는 일을 제어하는 데에 알맞은 계수기

― 그림 3-70은 링 계수기의 회로도와 1 을 기억하는 플립플롭	회로에 대한 시간별 파형도

(a) 논리 회로

(b) 하나의 1 이 계수기에 있을 때

그림 3-70.  Ring 계수기의 회로도와 플립플롭 회로에 대한 시간별 파형도

[5] 시프트 계수기

― 시프트 계수기(shift counter)는 1 비트가 첫 번째 플립플롭	부터 차례대로 모두 채워진 후 다시 0 비트가 첫 번째 플립	플롭 부터 차례대로 모두 채워지는 과정을 반복한다.

― 그림 3-71은 시프트 계수기의 회로와 파형도 및 상태표

표 3-35.  시프트 계수기의 상태표

C	B	A	계수 상태	2진수에 대한 등가 계산값
0 0 1 1 1 0	0 1 1 1 0 0	1 1 1 0 0 0	1 2 3 4 5 6	1 3 7 6 4 0
0	0	1	1	1

(a) 논리 회로

(b) 파형도

그림 3-71.  시프트 계수기의 회로도와 파형도

● 디지털 집적회로

― 집적회로(IC : integrated circuit) : 각 부품의 기능이 하나의 반도체 기판 위에서 활용될 수 있도록 내부적인 회로를 구성함으로써 독립된 하나의 회로 기능을 갖는다. 즉, 부품의 집합으로서의 회로개념이 아니라 부품과 회로가 단일 소자로서 기능을 갖도록 되어있다.

그림 3-72. 제조 기술에 따른 집적 회로의 분류

― 집적 회로의 특징

(1) 소형의 반도체 상에 수십만 개에서 수백만 개 이상의 트랜지스터, 다이오드, 저항, 콘덴서의 기능을 가진 소자를 집어 넣을수 있기 때문에 크기가 작고 가볍다.

(2) 집적 회로의 제조 공정으로 수천, 수만 개의 부품을 만들 수 있고, 부품 상호간에 접속 부분이 적기 때문에 신뢰성이 크다.

(3) 대량 생산이 가능하므로 가격이 저렴하다.

(4) 컴퓨터에서 처리속도의 고속화를 필요로 한 만큼 10-9초(□)에서 10-12초(□)단위로 처리 할 수 있다.

(5) 외부 배선이 적어 전력 소비가 적다.

○ 디지털 집적 회로와 LSI

― 집적 회로의 집적도

그림 3-73. IC 의 집적도에 의한 분류와 용도

○ 집적 회로의 구성

― 모놀리틱(monolithic) IC 는 아주 작은 반도체 칩(chip)에 구	성된 전자 회로로서 그 구성 요소는 트랜지스터, 다이오드,	저항, 콘덴서 등으로 되어 있다.

― 칩의 크기는 회로의 복잡도에 따라 다르나

1×1(□)에서 6.25	×6.25(□)정도의 정사각형이다.

― 수 개에서 수천 개에 이르는 소자들이 하나의 칩 위에 조립

― 그림 3-74 의 IC 제조과정의 설명도

직경 2.5 □ 의 실리콘 웨이퍼(wafer)에 1.25×1.25(□)크기	의 칩을 400 개 정도 만들 수 있다.

그림 3-74. IC 의 제조과정

― 패키지

DIP(dual inline package)

― 에피택시얼 성장(epitaxial growth)

― 확산(diffusion)

그림 3-75. 에피택시얼 확산을 가진 PN 접합의 구성

― 에피택시얼 처리 :

포토 마스크(photo mask) 방식

PN 접합

그림 3-76. IC 의 전형적인 구조

○ DTL

DTL(다이오드-트랜지스터-논리(diode-transistor-logic))

(a) M59469(DTL)

(b) 내부 회로

그림 3-77. DTL NAND 게이트 IC

표 3-36. DTL NAND 게이트의 진리표(정논리)

A	B	C	F
0{V] 0{V] +5[V] +5[V]	0[V] +5[V] 0[V] +5[V]	0[V] 0[V] 0[V] +5[V]	+5[V] +5[V] +5[V] 0[V]

○ TTL

TTL(transistor transistor logic)

쌍극성(bipolar) IC 에서 많이 사용됨

(a) 출력 f 가 0[V]인 경우

(b) 출력 f 가 +5[V]인 경우

그림 3-78. TTL NAND 게이트 IC

― 기타 IC

RTL(regisitor transistor),

ECL(emitter coupled),

I2L(integrated injection logic)등

● MOS

― MOS(metal oxide semiconductor) : 금속 산화물 반도체라고	하며 MOS 형 IC 의 구성에는 하나의 칩(chip) 상에 많은	회로의 기능을 집적할 수 있다.

― MOS 의 중요한 이점

(1) IC 제조 기술이 간단하고 경제적이다.

(2) 주어진 칩상에 좀더 많은 회로의 기능을 넎는 고밀도의 패킹(packing)이 가능하다.

(3) 전력소비가 쌍극성에 비해서 적다

― MOS  의 종류

PMOS

NMOS

CMOS