예비보고서 3장1. 멀티 플렉서(multiplexer)멀티 플렉서는 여러개의 입력선으로부터 필요한 데이터를 선택하여 하나의 출력선으로 내보내는 회로로서, 데이터 선택기라고도 한다.데이터 선택은 제어 입력에 의해 어떤 데이터 입력이 데이터 출력라인으로 선택되어 전송되는지를 보여준다.제어 입력출력S0S1Y00110101D0D1D2D3위 그림은 4 라인 멀티플렉서에 대한 예이다. 제어 입력은 (S0, S1)은 출력으로 하나으 ldlqfur 데이터만 전송되도록 적당한 AND 게이트를 활성시킨다. 위 그림에서 1과 0은 데이터 입력 D1이 선택되어서 다른 모든 AND 게이트들을 비활성 시키게 했을때 발생하는 레벨이다.아래는 위 4라인 멀티플렉서를 시뮬레이터를 돌렸을 때의 출력 값이다.그림에서 파란선을 보면 S0=0, S1=0 값일때 OUTPUT은 D0의 입력값과 같다.TTL 과 CMOS 멀티 플렉서FunctionDeviceLogic FamilyQuad two-input74157TTL74HC157H-CMOS4019CMOSDual eight-input74153TTL74HC153H-CMOS4539CMOSEight-input74151TTL74HC151H-CMOS4512CMOSSixteen-input74150T시2. 디멀티플렉서(demultiplexer)디멀티플렉서는 멀티플렉서의 반대 기능을 수행하는 회로로서, 하나의 입력선으로 들어오는 신호를 N개의 선택 신호에 의해 지정이 되는 2n개의 출력선 중 하나로 내보내는 기능을 한다.입력E B A출력D3 D2 D1 D00 X X1 0 01 0 11 1 01 1 10 0 0 00 0 0 10 0 1 00 1 0 01 0 0 0위 그림은 2 to 4 디멀티플렉서이다. 입력값 A, B에 따라서 D0에서 D3까지의 값을 선택하는데, 이때 디멀티플렉서를 사용할 경우 먼저 Enable에 1값을 줘야 디멀티플렉서가 동작을 한다.위 진리표를 보면 입력에서 Enable = 0을 주면 A, B에 어떠한 값을 줘도 출력에서는 값이 나오지 않는다. 즉, 디멀티플렉서를 사용하지 않는 것과 같다. Enable =1을 주면 A, B 값에 따라서 출력 값이 변하게 된다.
예비보고서 4장플립 플롭플립플롭은 항상 상반되는 상태인 두가지의 출력 Q 와 Q'를 가지는 디지털 회로이다. 만약 Q가 1이면 Q'는 0이며, 이때 플립플롭은 셋(set), 온(on), 프리셋(preset) 되었다고한다. 만약 Q가 0이면 Q'는 1이 되며, 이때 플립플롭은 리셋(reset), 오프(off), 클리어(clear) 되었다고 한다. 플립플롭은 몇가지 종류가 있으며, 제어 입력은 각 종류에 따라서 변한다. 플립플롭 입력의 논리 레벨은 각 종류의 플립플롭의 진리표에 따라서 출력 상태 Q 와 Q'를 결정할 것이다.플립플롭은 출력상태를 변화시키는 입력신호에 따라서 그것의 출력 상태를 유지할수 있다. 그래서 플립플롭은 1비트의 정보나 더 큰 2진수를 저장할 수있다. 그리고 플립플롭은 다른 많은 용도를 가지고 있다.1. 기본 R-S 플립플롭RS 플립플롭은 기본 게이트들로 구성될수 있는 데이터 저장회로이다. 두개의 NOR 게이트로 구성될수 있는 데이터 저장 회로이다. 두개의 NOR 게이트로 교차-연결 방법을 사용하여 플립플롭을 구성할수 있다.S RQ Q'Commnets0 01 00 11 1Q Q'1 00 10 0상태유지1 00 1불법2. R-S 플립플롭RS플립플롭은 이진법으로 표시되는 정보를 저장했다가 클럭 펄스가 들어오면 이를 플립플롭의 출력에 전달할 수 있도록 구성된다.C S RQ Q'Commnets0 0 00 1 00 0 10 1 11 0 01 1 01 0 11 1 1Q Q'Q Q'Q Q'Q Q'Q Q'1 00 10 0상태유지상태유지상태유지상태유지상태유지1 00 1불법클럭 펄스 입력 CLK가 0의 상태에 있으면 기본 RS 플립플롭에서의 S=R=0인 것과도 같은 경우가 되므로 Q와 Q'는 불변이다. CLK가 1이 되면 기본 RS 플립플롭과 같은 동작을 한다. 그러므로 RS 플립플롭은 클럭 펄스가 들어올때에만 성립하게된다.RS 플립플롭의 펄스 입력 CLK 앞에 NOT 게이트가 붙으면 negative 클럭펄스, 즉 하강 엣지에 동작한다는 것이고, NOT 게이트가 없으면 positive의 클럭, 즉 상승 에지에 동작한다.3. D 플립플롭D 플립플롭은 RS플립플롭에 인버터를 추가함으로서 구성할수 있다. 이것은 단일 입력으로 플립플롭을 셋, 리셋 모두 시킬수 있다.C DQ Q'Comments0 00 11 01 1Q Q'Q Q'1 00 1상태유지상태유지1 00 1RS플립플롭과 같이 CLK가 0이면 기존 값을 유지하고 CLK가 입력되었을때만 RS 플립플롭과 같은 동작을 하지만 입력이 하나만를 사용하므로 0,0 또는 1,1 의 RS 플립플롭의 값은 나오지 않는다.4. T 플립플롭T 플립플롭은 토글 플립플롭 또는 트리거 플립플롭이라고도 하며 입력이 들어올 때마다 출력의 상태가 바뀌는 성질을 갖고 있다.
디지털 공학1. 부울 대수부울 대수(Boolean algevra)는 0 과 1 의 두 논리요소와 AND, OR, NOT의 세 연산자로 구성되며, G. BOOLE에 의해서 개발되었고 C. Shannon에 의해서 디지털 시스템에 응용 되었다. 부울 대수를 구성하는 기본 연산을 열거하면 아래 표와 같다.{기본연산NOTANDOR{bar { 0 } =1{0 CDOT 0=0{0+0=0{0 CDOT 1=0{0+1=1{bar { 1 } =0{1 CDOT 0=0{1+0=1{1 CDOT 1=1{1+1=1부울 대수를 만족하는 임의 변수 Ark {0,1, bar { A } ,A와 결합하여 이루는 기본연산법칙은 아래 표와 같다. 또한 임의의 변수 A,B,C에 대하여 교환법칙, 결합법칙, 분배법칙이 성립한다.{기본법칙{A+0=A{A+1=A{A+A=A{A+ bar { A } =1{A CDOT 0=0{A CDOT 1=A{A CDOT A=A{A CDOT bar { A } =0{교환법칙결합법칙분배법칙{A+B=B+A{A+(B+C)=(A+B)+C{A CDOT (B+C)=A CDOT B+A CDOT C{A CDOT B=B CDOT A{A CDOT (B CDOT C)=(A CDOT B) CDOT C{부울정리{A+ bar { A } B=A+B{A( bar { A } +B)=AB{A+AB=A{A(A+B)=A{(A+B)(A+C)=A+BC{(A+B)( bar { A } +C)=AC+ bar { A } B{AB+ bar { A } C=(A+C)( bar { A } +B)2. 드모르간의 법칙{{bar { A } + bar { B } = bar { A CDOT B }{bar { A } CDOT bar { B } = bar { A+B }3. 카르노 맵카르노맵은 진리표를 도표의 형태로 나타낸 것으로서, 이를 이용하면 부울대수식을 쉽게 간소화시킬수 있다.예를 들면, AND 게이트에 대한 진리표와 카르노 맵은 아래와 같다.{AND 게이트 진리표ABX000010100111{AND 게이트 카르노 맵AB01000101역으로, 카르노 맵이 주어지면 이에 상응하는 논리식을 직접 읽어낼 수 있다. 이를 테면, 위의 그림에서 1 에 해당하는 입력을 읽으면 AB가 되는데, 이것이 곧 그 가르노 맵에 대한 논리식인 것이다.입력이 세 개인 논리회로의 카르노 맵을 살펴보자. {X=(A+ bar { B } )(A+ bar { C } )의 논리식을 갖는 논리회로에 대하여 그 진리표와 카르노 맵을 그리면 아래와 같다.{{X=(A+ bar { B } )(A+ bar { C } )진리표ABCX**************************011111{{X=(A+ bar { B } )(A+ bar { C } )카르노 맵ABC*************10011카르노 맵을 볼때 유의할 점은 AB 방향에 있어서 A와 B의 상태가 점진적으로 변하도록, 즉 두개의 상태가 동시에 변하는 일이 없도록 상태를 배열해야 한다는 점이다. 이러한 형태의 코드를 그레이코드라고 한다. {X=(A+ bar { B } )(A+ bar { C } )카르노 맵을 살펴보면 AB방향의 인접한 두 상대쌍 사이에는 A와 B중 한쪽의 상태만이 바뀌었음을 알 수 있다. 이 사실은 AB 방향에 대하여 순환적으로 성립한다.진리표나 카르노 맵으로부터 논리식을 찾아내려면, 상태 1이 표기된 결합을 모두 읽어내면 된다. 결국 {X=A+ bar { B } bar { C }가 됨을 알 수 있다. 그러나 이러한 관계는 카노 도표로 부턱 직접 읽어낼 수가 있다. 즉, 상태 변환이 점진적이고 순환적이란 점을 감안하면 카르노 맵내에 순환적으로 인접한 두자리에 1이 배열되는 것이 {(A+ bar { A } ),{(B+ bar { B } )또는 {(C+ bar { C } )의 관계와 직결됨을 알수 있다. 따라서 이러한 관계를 갖게 되는 입력을 반복 제거시키면 간소화된 논리식을 직접 얻을 수 있는 것이다. 예를 들면 {X=(A+ bar { B } )(A+ bar { C } )카르노 맵에서 점선 고리 내의 두개의 1은 {(A+ bar { A } )를 포함하므로, 이로부터 {( bar { B } bar { C } )를 직접 읽을 수 있다. 마찬가지로 실선 고리 내 4개의 1은 {(B+ bar { B } )와 {(C+ bar { C } )를 표함하므로, 이로부터 A를 직접 읽어낼수 있다. 입력이 4개, 5개, 6개인 경우에 대한 카르노 맵도 이와 유사한 방법으로 그릴수 있다.4. 연습문제 풀이문제 6. 그림의 진리표를 구현하기 위한 회로를 설계하라.{InputsOutputCBAY*************1*************01111문제 8. 그림의 진리표를 구현하기 위한 회로를 설계하라.{InputsOutputCBAY**************************011110a. 부울 대수를 사용하라.b. 카르노 맵 방법을 사용하라.문제 12. 다음 식을 간략화하라.a.{ABC+AB bar { C } + bar { B }c.{AB bar { C } +A bar { B } bar { C } +ABCb.{A bar { B } bar { C } +A bar { C } +Cd.{A bar { B } C+AB bar { C } +A bar { B } bar { C }문제 21. 진리표를 구현하기 위하여 그림에 필요한 퓨즈를 보여라.{DCBAY00**************************11**************************011*************10011111
복호기(decoder)복호기(decoder)는 이진 부호(Binary code), BCD 부호(Binary Coded Decimal code), 기타 여러 가지 부호들을 부호가 없는 형태로 바꾸는 변환회로를 일컫는다. 흔한 예로는 계산기에 있어서 연산회로로부터 나오는 BCD 부호를 발광다이오를 이용한 10개의 수치로 나타내는 수치 디플레이(numeric display) 장치를 들수 있다. 입력측에 어떤 신호가 있는가를 탐지해서 표시해 주는 집적 회로 또는 노리소자로 구성된 회로를 통틀어 복호기라고 할수 있다.N개의 입력에 대하여 출력은 2N개까지 있을수 있다. 가장 간단한 복호기(decoder)는 2-to-4 Line 복호기 회로이다2-to-4 Line 복호기 회로와 진리표{{AB출력 논리00L101L210L311L4A와 B의 입력이 결합하여 나타낼수 있는 4가지의 출력이 가능.입력이 3이면 출력은 8가지 가능.BCD-to-Decimal 복호기(decoder)는 4개의 입력을 사용하고 16가지의 출력중 10가지만 사용해서 BCD 부호로 표시된 수치를 십진법으로 변환시킨다.Stobe 입력은 모든 출력을 동시에 소거시킬 수 있는 Clear와 유사한 역할을 한다.{입 력출 력0000D00001D10010D20011D30100D40101D50110D60111D71000D81001D9BCD-to-Decimal 복호기(decoder)의 진리표부호기(encoder)부호기(encoder)는 복호기(decoder)의 상반된 역할을 하는 변환회로이다.부호화 되지 않은 입력을 받아서 부호화 하여 출력으로 내보낸다.4-to-2 Line 부호기는 2-to-4 Line 복호기 회로의 반대기능을 가졌다.4-to-2 Line 부호기 회로와 진리표{{DoD1D2D3AB1*************1010000111디지털 논리회로는 처은부터 이진법등을 부호화하여 신호를 발생시키기 때문에 집적회로화 되어 있는 부호기는 복호기(decoder)만큼 많지 않다. 부호기(encoder)로서 보통 사용되고 있는 것으로는 우선 순위 부호기(encoder)가 있다. 우선 순위 부호기(encoder)는 컴퓨터의 입출력에서 주변장치들의 접근을 제어하는데 사용된다. 세곳에 입력이 들어오면 최고 순위에 해당하는 7(즉 A=1, B=1, C=1)이 출력 된다.십진수치의표시십진 수치의 표시를 위한 대표적인 것으로 BCD-to-7 segment 복호기와 수치표시를 들수 있다. BCD로 나타나는 숫자번호를 7편의 십진수 구성요소들로 복호시킨 후 이를 해당 발광소자들에 연결하여 십진수 구성요소 7편 각각이 그를 필요로 하는 십진 수치가 입력으로 들어올 때 불이 들어온다.a-편은 십진수 1(즉 ABCD=0001) 과 4(즉 ABCD=0100)에 대해서만 "0"이고 그 밖의 다른 숫자에 대해서는 모두 1 이 되어야 한다.{{{{7편 십진 수치 표시기{{bar { D } bar { C }{bar { D } C{DC{D bar { C }{bar { B } bar { A }1011{bar { B } A0111{BA{B bar { A }11a-편에 대한 카노 도표이에 대한 카르노 맵을 그린다면 X표는 don't care를 나타낸다. 카르노 맵으로부터 논리식을 도출하면 {D(a)=B+D+AC+ bar { A } bar { C }b편 g편에 대해서도 D(b) D(g)를 구하여 논리회로 구현하면 BCD-to-7 segment 복호기를 얻는다.LED 수치표시기는 A형과 K형이 있다. A형은 에노드를 공통으로 하여 Vcc에 연결하고 ON 시키고자 하는 편에는 0(GND), 그외에는 1{DecimalDigit8-4-2-1CodeExcess-3 Code2-out-of-5 CodeGrayCode0*************00****************************************************0010*************001*************1**************************1*************1*************0*************011000100010진값에대한 2진코드들우선순위 부호기(encoder)의 동작원리가령,,에 1의 값이 주어질 때 출력값은 십진수 7을 출력하게 되는데 111이 출력되어야 하는데 마지막 OR 게이트의 첫 번째 입력 값이 1이되어 출력은 1이된다.
예비 보고서(1) 부록에 있는 7400, 7402, 7404, 7408, 7432, 7486의 데이터 표를 보고 다음 물음에 답하여라.1 논리게이트 AND, OR, NAND, NOR, XOR는 어떠한 논리를 사용하고 있는가?정논리 : 높은 전압을 1 에, 낮은 전압을 0 에 대응시키는 것.{ABX000010100111{ABX000011101111AND : 정논리(74HCT08) OR : 정논리(74HCT32)부논리 : 높은 전압을 0 에, 낮은 전압을 1 에 대응시키는 것.{AX0110{ABX001011101110{ABX001010100110NOT : 부논리(74HCT04) NAND : 부논리(74HCT00) OR : 부논리(74HCT02){ABX000011101110XOR : 부논리 (74LCX86))2 LS TTL 과 HC, HCT CMOS 의 입력 및 출력 전압, 전파 지연은 어떻게 되는가? 각각에 대해 기술하고 비교하라.{종류공급전원범위(V)입력 전압(5V Vcc)출력 전압(5V Vcc)잡음 여유폭전파지연(ns)VILmaxVIHminVILmaxVIHminVNMLVNMHLS TTL4.75~5.250.82.00.42.70.40.79.5HC2~61.353.150.1(20㎂ 부하)0.36(24 ㎃부하)4.4(20㎂ 부하)3.84(24 ㎃부하)1.251.258HCT4.5~5.50.82.00.72.48(2) 진리표 또는 드모르간 법칙을 이용하여 다음 식들이 성립함을 보여라.1-1. {bar { bar { A } bar { B } } `=`A+B{AB{bar { A } bar { B }{bar { bar { A } bar { B } }0*************01{ABX000011101111{bar { bar { A } bar { B } } ``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````=````r { B } } `````````````````````````````````````````````````````````````````````````````````````=`````````````````````````````````````````````````````````````````````````````````````````AB2 식 (1), (2), (3) 드모르간 정리로 성립함을 보여라.식 (1) {X`=`A` OPLUS `B`=`A bar { B } + bar { A } B식 (2) {X`=`A` OPLUS `B`=` bar { bar { A CDOT bar { AB } } CDOT bar { bar { AB } CDOT B } }식 (3) {X`=`A` OPLUS `B`=` bar { bar { A+ bar { A+ bar { B } } } + bar { bar { A+ bar { B } } + bar { B } } }식(2) 정리. {X`=`A` OPLUS `B`=` bar { bar { A CDOT bar { AB } } CDOT bar { bar { AB } CDOT B } }{=` bar { bar { A CDOT ( bar { A } + bar { B } ) } CDOT bar { ( bar { A } + bar { B } ) CDOT B } } `{=` bar { bar { A bar { A } +A bar { B } } CDOT bar { bar { A } B+B bar { B } } } `{=` bar { bar { A bar { A } +A bar { B } + bar { A } B+B bar { B } } } `{=`0`+`A bar { B } + bar { A } B+0`=`A bar { B } + bar { A } B식(1) = 식(2) 는 성립한다.식(3) 정리. {X`=`A` OPLUS `B`=` bar { bar { A+ bar { A+ bar { B } } } + bar { bar { A+ bar { B } } + ba { B } +AB+ bar { B } B }{`=` bar { bar { A } bar { B } +AB } `=` bar { bar { A } bar { B } } CDOT bar { AB } `=`(A+B)( bar { A } + bar { B } ){`=`A bar { A } +A bar { B } + bar { A } B+B bar { B } `=`A bar { B } + bar { A } B식(1) = 식(3)는 성립한다. 그러므로 식(1) = 식(2) = 식(3)는 성립한다.식(1a) {A+ bar { A } B=A+B식(1b) {A( bar { A } +B)=`AB정리. {`A+ bar { A } B=A(A+ bar { A } B)#`````````````````````````````````````````````````````````````````=AA+A bar { A } B#``````````````````````````````````````````````````````````````````=A+B정리. {A( bar { A } +B)=`A bar { A } +AB#``````````````````````````````````````````````````````````````````````````````````````=`AB식(2a) {A+AB=A식(2b) {A(A+B)`=A정리. {A+AB`=`A(1+B)#`````````````````````````````````````````````````````````````````=`A1#`````````````````````````````````````````````````````````````````=`A정리. {A(A+B)`=`AA+AB#````````````````````````````````````````````````````````````````````````````````````=`A+AB#`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````=`A(B+C)+A+BC#````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````=`A(B+C+1)+BC#`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````=`A+BC{(3) 3 입력 AND 게이트 또는 OR 게이트를 2 입력의 회로로 사용하는 경우 나머지 한개의 입력은 어떻게 연결해야 하는가 설명하라.결합법칙(A*B)C = A(B*C)(A+B)+C = A+(B+C)와 같다.(4) 4입력 AND 게이트와 OR 게이트DP 대한 진리표를 작성하고 이를 카노 도표로 도시하라.4입력 AND 게이트 진리표 4입력 OR 게이트 진리표(X = A*B*C*D) (X = A+B+C+D){InputOutputABCDX00**************************10*************0*************11*************10011111{InputOutputABCDX00***************************************0***************************************입력 AND 게이트 카노 도표 4입력 OR 게이트 카노 도표{ABCD*************0*************00000{ABCD**************************101111(5) NOT 게이트를 구현하는 트랜지스터 회로를 도시하고 그 동작을 설명하라. 그리고 그 전파 지연 특성을 조사하라.{{A{bar { A }ANOT 개의 FET게이트 입력 전압이 모두 낮아지게 된다. 이때, p-채널 FET의 소스에 대한 게이트의 전압차가 -VDD가 되어 p-채널은 켜지게 되며, n-채널 FET의 경우에는 소스에 대한 게이트의 전압차가 없으므로 꺼져 출력이 VDD가 된다. 마찬가지로 NOT 게이트의 입력이 높은 준위가 되며, p-채널 FET가 꺼지고, n-채널 FET가 켜져 출력이 낮은 준위(훙)RK 되므로 이 소자가 NOT 게이트로 동작하게 된다.(6) 그림 10(a) 패리티 확인회로의 동작 원리를 설명하라.{1) 대부분의 디지털 시스템에서는 정보 전송시 통계적으로 한 단어에서 두 개 또는 그 이상의 비트에 오류가 발생하는 경우는 적으며, 대부분 한 단어당 한 단어당 한 비트에 오류가 발생하는 단일 비트 오류의 경우가 많다 따라서 많은 디지털 시스템에서는 오류를 검출하기 위하여 패러티 비트를 사용2) 컴퓨터 비트는 패러티 코드를 만들기 위한 1비트의 여분 비트3) 패러티 비트는 시스템 설계에 따라 처음이든 마지막이든 어디에나 부가 가능4) 한 단어에서 2개 이상의 비트에서 오류가 발생하는 중복 오류는 검출할 수 없다.5) 오류 검출만 가능하고, 교정은 불가능6) 예) 2진 코드를 짝수 패러티 코드로*************0110110 01************* 101101117) 짝수 패러티 검사의 경우 함수값이 1인 경우는 오류의 정보임을 의미8) 패러티 검사기 진리표{4비트의 정보홀수 패러티 검사짝수 패러티 검사A B C DX{bar { X }0 0 0 0100 0 0 1010 0 1 0010 0 1 1109) 회로의 경우 4비트의 정보가 수신 되는되는데 실제 정보는 A B C 가 해당되고 D는 패러티 비트이다.10) 짝수 패러티 비트 검사기임을 알수 있다.11) 예로 A에 "0" B에 "0" C에 "1" D에 1일 경우 X는 "0"의 논리값이 나오고 오류가 없음을 의미한다.12) 그러나 D에 "0"의 값일 경우는 논리값이 "1"이 되므로 데이터의 전송도중 오류가 있었음을 알수 있1