생체계측 디지털논리회로 Prof. Jae Young Choi ( 최재영교수 ) 생체계측 (2014 Fall) Prof. Jae Young Choi
Section 01 논리게이트 디지털컴퓨터에서모든정보는 0 또는 1 을사용하여표현 게이트 (gate) 0, 1 의이진정보를처리하는논리회로여러종류가존재동작은부울대수를이용하여표현입력과출력의관계는진리표로표시 2
ND 게이트 모든입력이 1 인경우에만 1 을출력 ND 게이트기호와진리표 입력 () 입력 () 출력 () 0 0 0 0 1 0 1 0 0 1 1 1 ND 게이트의대수적표현 3
ND 게이트 4
OR 게이트 입력중최소한한개이상의입력이 1 을갖는경우 1 을출력 OR 게이트기호와진리표 입력 () 입력 () 출력 () 0 0 0 0 1 1 1 0 1 1 1 1 OR 게이트의대수적표현 5
OR 게이트 6
NOT 게이트 입력에대하여반대논리를출력 NOT 게이트기호와진리표 입력 () 출력 () 0 1 NOT 게이트의기호 1 0 NOT 게이트의대수적표현 7
OR 게이트 (Exclusive OR) 두입력이서로반대되는조건인경우 1 을출력 OR 게이트기호와진리표 입력 () 입력 () 출력 () 0 0 0 0 1 1 1 0 1 OR 1 1 0 OR 게이트의대수적표현 배타적 OR 여러개의입력중 1 의계수가홀수면 1 을출력 8
OR 게이트 (Exclusive OR) 9
NND 게이트 ND 와 NOT 게이트의결합형태로 ND 게이트와반대로동작한다. NND 게이트기호와진리표 입력 () 입력 () 출력 () 0 0 1 0 1 1 NND 1 0 1 1 1 0 NND 게이트의대수적표현 10
NND 게이트 11
OR 와 NOT 게이트의결합형태로 OR 게이트와반대로동작 NOR 게이트기호와진리표 NOR 게이트 입력 () 입력 () 출력 () 0 0 1 0 1 0 NOR 1 0 0 1 1 0 NOR 게이트의대수적표현 12
NOR 게이트 OR 와 NOT 게이트의결합형태로 OR 게이트와반대로동작 NOR 게이트기호와진리표 입력 () 입력 () 출력 () 0 0 1 0 1 0 1 0 0 NOR 1 1 1 NOR 게이트의대수적표현 13
유니버셜게이트 (Universal Gate) NND와 NOR 게이트를유니버셜게이트라한다. 모든게이트의구성이가능 ND 게이트 = (a) NND 게이트를사용한 ND 게이트 = () NOR 게이트를사용한 ND 게이트 14
유니버셜게이트 (Universal Gate) OR 게이트 NOT 게이트 = + (a) NOR 게이트를사용한 OR 게이트 (a) NND 게이트를사용한 NOT 게이트 = + () NND 게이트를사용한 OR 게이트 () NOR 게이트를사용한 NOT 게이트 15
Section 02 부울대수 (oolean lgebra) 논리회로의형태와구조를기술하는데필요한수학적인이론 부울대수를사용하면변수들의진리표관계를대수식으로표현하기에용이 동일한성능을갖는더간단한회로를만들기에편리하다. 부울대수를이용하여복잡한논리회를정확하고간결하게표현할수있음. 16
교환법칙 (commutative Law) 부울대수의기본법칙 결합법칙 (ssociative Law) 분배법칙 (Distributive Law) 다중부정 17
교환법칙 (commutative Law) = + = + =. =. = + = + + + 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 18
결합법칙 (ssociative Law) ( C) = ( ) C (+)+C = +(+C) C ( ) C ( C) (+)+ C +(+C ) 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 C = C (. ). C. (. C) C = C ( + ) + C + ( + C) 19
분배법칙 (Distributive Law) (+C) = + C C = C. ( + C) (. ) + (. C) C (+C) ( )+( C) 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 20
다중부정 21
부울대수의기본법칙 22
드모르강의정리 = = 23
순차논리회로 (Sequential logic circuit) 입력신호와논리회로의현재상태에의해출력이결정되는논리회로조합논리회로에출력이다시입력으로피드백 (feedback) 되는기억회로를포함순차논리회로는 1비트의기억능력을갖는다 R-S, J-K, D, T 플립플롭이대표적 24
R-S 래치 (Latch) NOR 게이트를이용한 R-S 래치 R(reset) Q S(set) Q NOR 게이트를이용한 R-S 래치 S R Q 0 0 불변 불변 1 0 1 0 0 1 0 1 1 1 불능 불능 래치의출력이변하는구간 ( 제어신호가 1 인구간 ) NND 게이트를이용한 R-S 래치의특성표 25
플립플롭 (Flip-Flop) 변경명령이있을때까지현재의상태를유지하는순차논리회로출력이다시입력으로피드백되어최종적인출력을을결정하는순차논리회로의가장기본적인회로상태를바꾸는신호는클럭신호가되거나혹은외부의입력신호가될수있다. 전이 (transition) 하는순간에만플립플롭을트리거하는방법을사용하면해결 26
플립플롭 (Flip-Flop) 27
R-S 플립플롭 래치에서클럭펄스가발생하는동안에만동작 R Q S SET Q CP CP ( 클럭펄스 ) S Q R CLR Q (a) 회로도 (b) 블럭도 R-S 플립플롭 R-S 플립플롭의특성표 Q R S Q(t+1) 0 0 0 Q 모든플립플롭의근본 2 개의입력이모두 1 인조건을불능함 논리게이트를가장적게사용함 0 0 1 1 0 1 0 0 0 1 1 불능 1 0 0 Q 1 0 1 1 1 1 0 0 1 1 1 불능 28
R-S 플립플롭 동작 29
D 플립플롭 동시에 1 이입력되는것을회로적으로차단 D Q D SET Q CP ( 클럭펄스 ) CP Q CLR Q (a) 회로도 (b) 블럭도 D 플립플롭 D 플립플롭의특성표 Q D Q(t+1) 1 비트데이터를저장하기에가장적합한플립플롭 입력 D 의값이출력이됨 0 0 Q 0 1 1 1 0 0 1 1 1 30
D 플립플롭 동작 31
J-K 플립플롭 입력이동시에 1 이입력되면를출력 ( 부정조건 ) Q K Q J SET Q CP CP ( 클럭펄스 ) J Q K CLR Q (a) 회로도 (b) 블럭도 [J-K 플립플롭 ] [J-K 플립플롭의특성표 ] Q J K Q(t+1) 0 0 0 Q 0 0 1 0 RS 플립플롭의부정조건을반전조건으로변형함 범용으로가장많이활용 0 1 0 1 0 1 1 상태반전 1 0 0 Q 1 0 1 0 1 1 0 1 1 1 1 상태반전 32
J-K 플립플롭 동작 33
J-K 플립플롭 J-K 플립플롭 TTL IC PR 은프리셋신호로, 0 을인가하면출력 Q 는입력에상관없이 1 을출력 CLR은클리어 ( 리셋 ) 신호로, 0을인가하면출력 Q 는입력에관계없이 1을출력 34
T 플립플롭 반전 (toggle) 기능을이용한단순카운터설계에활용 T Q TD SET Q CP CP ( 클럭펄스 ) Q CLR Q (a) 회로도 (b) 블럭도 T 플립플롭 Q T Q(t+1) 0 0 Q 0 1 상태반전 1 0 Q 1 1 상태반전 35
T 플립플롭 동작 36
조합논리회로 (Combinational logic circuit) 입력과출력을가진논리게이트의집합출력은현재의입력에의해결정순차논리회로와비교해기억능력이없다가산기, 감산기, 멀티플렉서, 디멀티플렉서가대표적인조합논리회로이다. 37
조합논리회로 (Combinational logic circuit) 가산기 : 2진수의덧셈을하는회로감산기 : 가신기응용해서구현비교기 : 2진수의크기를비교디코더 : 코드화된데이터로부터정보를찾아내는논리회로인코더 : 디코더의반대기능으로데이터를코드화하는데사용멀티플렉서 : 여러개의회로가단일회선을공동으로이용하여신호를전송하는데필요한회로디멀티플렉서 : 단일회선상의디지털신호를수신회로로전송하는데필요한회로 38
순차논리회로의현재출력값은현재의입력뿐만아니라이전상태의출력값에의해결정 순차논리회로는조합논리회로와기억소자로구성, 기억소 자가궤환 (feedback) 을형성하며연결 기억소자는 2 진정보를저장할수있는장치로구성, 가장널 리사용되는것은플립플롭 순자논리회로 (Sequential logic circuit) 조합논리회로와기억소자 ( 플립플롭 ) 로구성됨 클록펄스 (clock pulse) 가있는순차논리회로에서는기억소자부분에클록펄스의입력부분이있음 39
동기식 (synchronous) vs. 비동기 (asynchronous) 식순차논리회로 논리회로에서는항상지연이존재, 논리소자에 0 또는 1 이입력되면즉시이에응답하는출력이나오는것이아니라짧은시간이경과된후출력 이런지연문제를해결하기위한방법으로동기식회로와비동기식회로의개념이도입 동기식순차회로 클록펄스가들어오는시점에서상태가변화하는회로 클록생성기 (clock generator) 에의해생성 비동기식순차회로 클록펄스에영향을받지않고현재입력되는입력값이변화하는순서에따라동작하는논리회로 입력값이변화하는경우에만상태전이가발생하기때문에, 클록이거의없는기억소자 (unlocked memory device) 를사용 결론적으로비동기회로의정확한동작은입력타이밍에의존하기때문에마지막입력변화에서회로가안정적으로동작하도록설계 40
두개이상의입력을이용하여이들의합을출력하도록하는조합논리회로이다. 반가산기 (Half dder) 두개의입력과출력합 (Sum) 과올림수 (Carry) 가사용 반가산기의계산법과진리표 가산기 (dder) + C S 올림수 (C) 합 (S) 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 [ 그림 2-3] 반가산기 [ 표 2-1] 반가산기의진리표 41
반가산기 (Half dder) 반가산기 (Half dder) 두개의입력과출력합 (Sum) 과올림수 (Carry) 가사용 자리올림수 (C) 는입력 와 의값이모두 1 일때발생 42
올림수와합에대한부울대수식 반가산기의논리회로 반가산기 (Half dder) Carry Sum S 카르노도표 C [ 그림 2-4] 반가산기의논리회로 43
두입력, 2 진수 와 그리고하위비트에서발생한자리올림수를포함하여 2 진수세개를더하는조합논리회로 전가산기의계산과진리표 전가산기 (Full dder) 하위비트 Carry + C C 0 S C 0 C S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 [ 그림 2-5] 전가산기 [ 표 2-2] 전가산기의진리표 44
전가산기 (Full dder) 두입력, 2 진수 와 그리고하위비트에서발생한자리올림수를포함하여 2 진수세개를더하는조합논리회로 45
전가산기 (Full dder) 두입력, 2 진수 와 그리고하위비트에서발생한자리올림수를포함하여 2 진수세개를더하는조합논리회로 46
전가산기 (Full dder) 간략화된부울대수식을 OR 게이트를사용하여설계 47
전가산기 (Full dder) 간략화된부울대수식을 OR 게이트를사용하여설계 48
전가산기 (Full dder) 전가산기의올림수와합에대한부울대수식 Carry C 0 C 0 Sum C0 C0 C0 C0 전가산기의논리회로 S C 0 C [ 그림 2-6] 전가산기의논리회로 49
전가산기 (Full dder) 논리회로 50
병렬가산기 전가산기 (Full dder) 전가산기를병렬로연결하면여러비트로구성된 2 진수의덧셈연산을수행할수있음 4 개의전가산기를병렬로연결해서 4 비트의 2 진수덧셈을수행하는병렬가산기 즉 = 3 2 1 0 와 = 3 2 1 0 의덧셈을수행하는것으로최하위비트의덧셈결과에서발생한자리올림수는 C 1 이된다. 그다음비트의덧셈에서발생하는자리올림수는 C 2 이다. 상위비트에서의자리올림수는 C 3 와 C 4 가존재한다. 51
감산기 (Subtractor) 두개이상의입력의차를출력반감산기 (Half Subtractor) 두개의입력과출력차 (difference) 과빌림수 (borrow) 가사용반감산기의계산과진리표 - Y D Y 빌림수 () 차 (D) 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 [ 그림 2-7] 반감산기 [ 표 2-3] 반감산기의진리표 52
감산기 (Subtractor) 반감산기 (Half Subtractor) 두개의입력과출력차 (difference) 과빌림수 (borrow) 가사용 반감산기의계산과진리표 53
반감산기 (Half Subtractor) 반감산기의빌림수와차에대한부울대수식 orrow Y 반감산기의논리회로 Diff Y Y Y Y D [ 그림 2-8] 반감산기의논리회로 54
전감산기 (Full Subtractor) 두개의입력과빌림수를사용하여뺄셈수행 전감산기의계산과진리표 (-Y- 0 ) 수행 Y 0 D 0 0 0 0 0 상위비트빌림수 - 0 Y D 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 [ 그림 2-9] 전감산기 [ 표 2-4] 전감산기의진리표 55
전감산기 (Full Subtractor) 두개의입력과빌림수를사용하여뺄셈수행 (--r 0 ) 56
전감산기 (Full Subtractor) 카르노도표와부울대수식을이용한전감산기논리회로 전감산기의논리회로 57
병렬가감산기 전감산기 (Full Subtractor) 디지털장치에서는별도로감산기를사용하지않고, 가산기에게이트를추가해부호선택신호로뺄셈연산을수행 병렬가산기입력 에 OR 게이트를추가해서만든병렬가감산기 OR 게이트에입력되는부호선택신호의값이 0 이면뺄셈연산을그대로수용. 따라서 + 의연산을수행 부호선택신호의값이 1 이면 OR 게이트의또다른입력 의부호를변경해 +(-) 의연산을수행 58
전감산기 (Full Subtractor) 병렬가감산기를활용해 1111-1010 을수행하면? 59
멀티플렉서 (Multiplexer) 여러개의입력선중하나의입력선만을출력에전달해주는조합논리회로 Input 0 Input 1 Input 2 Output Input 3 S 0 S 1 출력 0 0 Input 0 0 1 Input 1 1 0 Input 2 S 0 S 1 1 1 Input 3 [ 그림 2-10] 입력이 4 개인멀티플렉서의회로도 [ 표 2-5] 입력이 4 개인멀티플렉서의진리표 60
디멀티플렉서 (Demultiplexer) 멀티플렉서의역기능을수행 선택선이 N 개인경우 2 N 개의출력선이존재 Output 0 Output 1 Output 2 Input Output 3 S 0 S 1 출력 0 0 Output 0 S 1 S 0 0 1 Output 1 1 0 Output 2 1 1 Output 3 [ 그림 2-12] 출력이 4 개인디멀티플렉서의회로도 [ 표 2-6] 입력이 4 개인멀티플렉서의진리표 61