설계5 결과보고서 2009069160 김기훈1. 간단한 이론 분석⊙ 계수 회로 : 시간 펄스의 수를 세거나 제어 장치에서 각종 회로의 동작을 ?제어하는 데에 중요한 역할을 하는 회로이며, 대표적인 순서 논리 회로 중의 하나이다.계수기 (counter)는 입력 펄스에 의해 미리 정해진 순서대로 플립플롭 회로의?상태가 변하는 것을 이용하는 것이며, 플립플롭 회로와 게이트의 조합으로 구성할 수 있다.계수 회로의 가장 기본이 되는 비동기형 계수기(asynchronous count)는 리플?계수기(ripple count)라 부르기도 하는데, 연속된 플립플롭 회로에서 앞에 있는 것의 출력이 다음 것의 입력으로 사용된다.리플 계수기는 주로 T나 JK 플립플롭 회로를 사용하여 구성하는데, 동작하는 시간이 많이 걸리지만 간단하다는 장점도 있다.그림 4-31. 2n진 리플 계수기동기형 계수기는 하나의 공통된 시간 펄스에 의해서 플립플롭들이?트리거되어 모든 플립플롭의 상태가 동시에 변하기 때문에 병렬 계수기(parallel?counter)라고도 한다.동기형 계수기는 리플 계수기보다 계수 속도가 빨라 보다 높은 주파수까지도 계수할 수 있어서 해독기를 사용할 때에 펄스의 일거러짐이 적다.그림 4-36 16진 동기형 계수기ABCD16 진수00**************************01***************************************123456789ABCDEF0표 4-11 16진형 동기형 계수기의?상태표그림 4-37 ?동기형 16진 계수기의 파형도2.시뮬레이션 결과① 비동기 계수기 회로도② 동기 계수기 회로도① 비동기 계수기 시뮬 결과② 동기 계수기 시뮬 결과3. 설계 실험결과비동기 계수기 회로도실험 결과사진이 너무 많은 관계로 1~6까지 LED출력만 올렸습니다.결과 분석우선 첫 번째 설계는 비동기 계수기를 만드는 것으로 앞에 있는 것의 출력이 다음 것의 입력으로 사용된다. 따라서 회로의 동작 시간이 순서대로 입력과 출력이 이루어지므로 시간이 오래걸린다는 단점을 가지고 있다. 하지만 다음 실험을 할 동기 계수기에 비해 회로의 형태가 간단한 기본 회로이므로 회로 설계면에서는 동기 계수기에 비해 간편하다는 장점을 가진다.동기 계수기 회로도실험 결과사진이 너무 많은 관계로 1~6까지 LED출력만 올렸습니다.결과 분석두 번째 설계는 동기 계수기를 만드는 것으로 첫 번째 설계한 비동기 계수기에 비해 회로도가 복잡하지만 동기 계수기의 시스템은 비동기 계수기의 앞에 있는 것의 출력이 다음 것의 입력으로 사용되어 동작 시간이 오래 걸린다는 단점을 보안한 시스템으로 하나의 공통된 시간 펄스에 의해서 플립플롭들이?트리거되어 모든 플립플롭의 상태가 동시에 변하는 시스템이다. 따라서 출력의 형태는 동기 비동기 모두 같지만 동기형 계수기는 시스템상으로 출력이 비동기 계수기에 비하여 빠르게 진행된다.비고 및 고찰이번 설계 실험은 비동기 및 동기식 계수기의 구조와 동작원리를 이해하여 16진 동기 계수기, 비동기 계수기를 설계하는 것이었다.회로가 비교적 간단하고 어렵지 않은 설계였기 때문에 비교적 쉽게 결과값을 구할수 있었다.우선 비동기 계수기부터 설계하였는데 그에 대한 이론을 살펴보았으므로 원리 자체를 이해 하는데는 무리가 없었다. 이를 이해하려면 우선 카운터의 개념부터 알고 있어야 하므로 간단히 설명하자면카운터란, 단순히 입력펄스의 숫자를 계수하는 데 사용될 뿐만 아니라 주파수 및 주기 측정, 제어 등등 많은 기능이 있다. 그중에 플립플롭의 구동방식에 따라 비동기식 계수기와 동기식 계수기로 나뉘는데 이 두가지가 이번 실계의 핵심 포인트였다.직렬 카운터와 병렬 카운터라고도 하는 이들은 각각, 동기식 계수기는 장치를 구성하고 있는 모든 플립플롭이 하나의 클럭신호에 의해 구동되는 장치를 의미하며, 모든 플립플롭이 같은 시간에 자기 각자의 입력을 보고, 그에 따라 자기 상태를 바꾸는 기능이 있다.이에 반해 비동기식 카운터는 첫 단의 플립플롭에 클럭 신호가 인가되어, 이 첫 단 플립플롭의 출력이 다음 단의 플립플롭을 활성화 시키도록 되어 있는 회로를 말하며,동기식 계수기에 비해 간단히 만들 수 있는 장점이 있으나, 각 플립플롭의 Delay는 종속 접속된 플립플롭의 수만큼 누적되어 최종단의 출력에 나타나므로 계수속도가 동기식 계수기 보다 느리다는 단점이 있다.
설계4 결과보고서 2009069160 김기훈1. 설계조건 및 간단한 이론 분석※ 설계조건- 비안정 멀티바이브레이터의 설계- 555 timer IC를 이용- 동작 주파수 100kHz, duty cycle 50%±5%를 만족① 기본 타이밍 개념출력 Q는 high라고 가정하면 Q 가 트랜지스터를 on상태로 만들어 콘덴서에 충전된 전압을 방전시킨다. 비교기의 비반전 입력전압을 문턱전압이라 하고 반전 입력전압은 기준전압이 된다. RS플립플롭을 세트시켜서 on된 트랜지스터가 0에서 문턱전압을 유지시킨다. 기준전압은 전압분배기에 의해서 +10V에 고정되어 있다. 높은 레벨의 전압이 R 입력에 가해진다고 생각하자. 이것이 RS플립플롭을 리셋시켜서, 출력 Q를 low로 만들고 트랜지스터를 차단시킨다. 콘덴서 C는 이제 저항 R을 통하여 충전되어 문턱전압이 증가한다. 결국 문턱전압은 기준전압(+10V)보다 약간 크게 되고 비교기의 출력은 high로 되서 RS플립플롭을 세트시킨다. 이때 콘덴서의 양단 전압은 지수함수적으로 증가하고 Q출력에서 Positive 펄스로 나타난다.0+10Vcontrol0+15VVout< 문턱 및 출력 전압 >② 비안정 멀티 바이브레이터비안정 멀티 바이브레이터는 안정되지 않는 두 개의 다른 상태를 갖는 스위칭 회로이다. 즉, 이 회로는 두 개의 안정되지 않는 상태 사이를 계속하여 오가며 스위칭하고 있다. 따라서 이 회로는 발진하는 상태이고 출력은 주기적인 구형파가 얻어진다. 따라서 발진기의 출력을 시스템 클럭으로 사용할 수 있다.※ 555 타이머( 555 Timer )- 555타이머는 단안정모드나 비안정모드로 사용할 수 있고 TTL이다. 발진기로 비안정모드에 사용할 때 발진주파수와duty cycle은 두 개의 외부저항R _{`A},R _{`B} 하나의 타이밍 콘덴서 C 에 의해 정확하게 조절할 수 있다.※ 주파수( Frequency )- 발진기로 연결된 LM555 타이머 논리심볼은 아래의 그림에 나타나 있다. 타이밍 콘덴서 C는 저항R _{`A},R _{`B} 를 통하여+V _{c`c} 까지 충전되며 충전시간t _{1}은t _{1} `=`0.693(R _{`A} +`R _{`B} ``)C 이는 출력이 고전위가 되는 시간이다. 다음 타이밍 콘덴서 C 는R _{`B}을 통해 GND까지 방전되고 방전시간t _{`2}는t _{`2} ```=`0.693R _{`B} `C 따라서, 주기T```=`t _{`1} `+`t _{`2} ``=`0.693(R _{`A} `+`2R _{`B} ``)C발진 주파수f는f```=` {1} over {T} ※ Duty cycle- Duty cycle은 주기와 높은 레벨이 유지되는t _{2}의 비로 정의할 수 있다.Duty cycle ={t _{1}} over {t _{1} +t _{2}} ={R _{A} +R _{B}} over {R _{A} +`2R _{B}}2.시뮬레이션 결과3. 설계 실험결과회로도실험 결과결과 분석우선 이번 설계는 동작 주파수 100kHz, duty cycle 50%±5%를 만족 조건을 만족하는 비안정 멀티바이브레이터를 설계하는 것이었다. 예비보고서를 통하여 위의 조건에 부합하는 부하의 값을 알아보고 왔기 때문에 조건에 맞도록 설계를 하였으며, 실험소자관계상 Rb의 값의 경우 6.7k인데 6.8k를 사용하였다. 우선 예비보고서를 통하여 위의 조건에 맞게 부하의 값을 맞추면 주파수의 경우 100.2khz정도로 나오고 듀티사이클의 경우 50%가 나왔다. 이에 맞도록 실험을 하여서 확인해본 결과 위의 결과에서 볼수 있듯이 주파수의 경우 97.3khz로 오차범위 5%안인 거의 근접하게 값이 나온 것을 확인할수 있으며 듀티사이클의 경우 상승펄스/주기를 통하여 알아보면 5.4/10.28로써 52.5%가 나오는 것을 확인할수 있었다. 이로써 처음에 설계조건에의 오차범위안에 완벽하게 드는 설계조건을 만족함으로써 완벽하게 실험이 되었는 것을 확인할수 있었다.비고 및 고찰이번 설계는 비안정 멀티바이브레이터를 555 timer IC 이용하여 설계하는 과정이었다. 동작 주파수 100kHz, duty cycle 50%±5%를 만족해야 하는 조건이 있던 이번 설계는 이제까지 한 실험중에 가장 잘된 설계가 아닌 듯 싶다.우선 회로설계를 하기 앞서 기본 타이밍 개념, 비안정 멀티 바이브레이터, 555타이머, Duty cycle 등등의 기본적인 원리를 숙지 한 상태에서 실험에 임하였다.비교기의 비반전 입력전압을 문턱전압이라 하고 반전 입력전압은 기준전압이 된다. RS플립플롭을 세트시켜서 on된 트랜지스터가 0에서 문턱전압을 유지시킨다는 개념은 회로이론 강의 때 이미 알고 있던 내용이라 쉽게 이해 되었다.비안정 멀티 바이브레이터는 안정되지 않는 두 개의 다른 상태를 갖는 스위칭 회로인데, 이 회로는 두 개의 안정되지 않는 상태 사이를 계속하여 오가며 스위칭하고 있다. 따라서 이 회로는 발진하는 상태이고 출력은 위의 결과사진 처럼 주기적인 구형파가 얻어진다. 따라서 발진기의 출력을 시스템 클럭으로 사용할 수 있다는 점을 알게 되었다.555 타이머는 단안정모드나 비안정모드로 사용할 수 있고, 발진기로 비안정모드에 사용할 때 발진주파수와 duty cycle은 두 개의 외부저항
설계3 결과보고서 2009069160 김기훈1. 간단한 이론 분석(1) Clock signal정해진 주기를 갖는 pulse 신호(2) Reset△SR flip flop 진리표위의 표에서 알수 있듯이 RESET=1 일 때 Q*는 0으로 초기화되고 SET=1일 때 Q*=1로 초기화된다.(3)Clear△Preset Clear 입력의 D flip flop 진리표(4) Positive edge triggered D flip flop의 동작 특성· flip-flop : clock 신호에 동기되어 한주기 동안 1bit 정보(state)를 저장하는 소자· Positive edge triggered : Leading-edge triggered, Rising-edge triggered 라고도하며 우리나라말로 상승 엣지 트리거드 라고 하며 클럭이 상승할 때 입력값을 읽어드려 드때의 입력값이 따라 축력하는 방식, 기호로 clock 입력부에 °표시 유무에 따라 positive/negative 로나뉘는데 °표시가 없는 경우가 positive edge triggered 이다(5) 마스터-슬레이브 플립플롭1. 두단의 플립플롭을 직렬 연결한 것을 일컫는 것2. 앞단을 마스터,뒷단을 슬레이브라 한다3. 한 개의 클럭 펄스가 동시에 마스터와 슬레이브를 동작시키도록 연결되어 있다4. 슬레이브쪽에는 NOT 게이트가 한개 삽입되어 있다5. 클럭펄스가 1로 될 때는 마스터를 동작시키고 , 0으로 될 때는 슬레이브를 동작6. 클럭펄스가 1로 될 때는 마스터를 동작시키고 슬레이브를 차단7. 마스터-슬레이브 플립플롭에 있어서는 입력과 출력이 분리되어 레이스 문제가 최소로 감소한다8. 클럭 펄스가 가해지고 있는 동안 입력이 변한다면 플립플롭 회로가 원치않는 결과를낼수도 있다(6) edge triggered flip flop이번 실험의 핵심으로서 edge triggered flip flop은 게이트 상호간의 작은 delay 차이를 이용하거나 다소 복잡한 회로를 구성하여 클럭 신호가 바뀌는 동안만 출력이 변화하도록 하는 역할을 한다.2. 설계 과정1.Positive edge triggered D flip flop의 동작 특성과 reset 과 clear의 기능을 이해 한다.2.Positive edge triggered master-slave D flip flop의 Digital 회로도를 구현.(진리표 및 time analysis 작성)3.TTL chip 을 이용한 회로도를 설계한다.4. 구성된 회로도가 진리표 대로 작동이 되는지 입력에 따른 결과값을 예상하여 본다.5. 실험을 통해 동작 결과를 검증해 본다.6. 실험 결과를 바탕으로 결과 보고서를 작성한다.3. 논리 회로도 및 시뮬결과Master-slave D flip-flop이 positive edge triggered D flip-flop의 특성을 가지고 작동을 하기 때문에 여기에 reset과 clear를 추가하였다.4. 실험결과 사진 회로도SRCDQQ11↑001Q : 0.15916VQ : 2.2248VSRCDQQ10xx01Q : 0.1324mVQ : 2.2222VSRCDQQ01xx10Q : 2.2014VQ : 14.411mVSRCDQQ00xxundefindQ : 2.2147VQ : 2.2179V5. 진리표SRCDQQ101xx1010xx0100xxUndefined11↑00111↑110비고 및 고찰이번 설계는 Positive edge triggered master - slave D flip을 설계하여 이것의 동작 특성과 reset, clear의 기능을 이해하는 데 주목적이 있었다.매번 설계실험을 하면서 느끼는 것이 회로를 구성하는데 있어 주의할 점은 생각보다 회로가 복잡하기 때문에 게이트 숫자를 최소화 하는 것이 중요하다. 그리고 브레드 보드 특성상 하나의 리드선만 잘못 꽂아도 회로가 동작하지 않기 때문에 높은 집중력이 필요하다.회로설계를 하기 앞서, 간단한 이론을 미리 습득해 보게 되었는데 디지털 공학 시간에 배웠던 D flip flop 이 나왔고 이의 응용형태인 Master slave D flip flop, positive edge triggered D flip flop 등등이 나왔다.DCP/enableQbar Q0무불 변0유011무불 변1유10우선 D flip flop은 단일입력을 갖고 있지만 출력은 두 개인 소자를 말하고, RS flip flop을 기본구조로 하여 만들어지는 것을 알고 있다. 또한 latch와 flip flop은 가장 기본적인 기억소자로, 일반적으로 pulse 지속시간에서 작동하는 flip flop을 latch라 하고, pulse transition에서 작동하는 flip flop을 register라 하는 것 또한 미리 배웠으므로 익숙하게 알고 있는 소자라서 회로 구성상 큰 어려움이 없었다.그리고, master slave D flip flop은 두 개의 gate D latches 를 직렬연결 한 것이며 그 중 한 단자에 input값을 넣어 준 것인데, 이것을 master slave라고 부르고, 그 이유는 second latch는 오직 first latch에 따라 변하기 때문이다.이번 설계의 핵심인 edge triggered flip flop들은 게이트 상호간의 작은 delay 차이를 이용하거나 다소 복잡한 회로를 구성하여 클럭 신호가 바뀌는 동안만 출력이 변화하도록 되어 있다.SRCDQQ10xx01Q : 0.1324mVQ : 2.2222V실험 결과 사진들 중에 하나의 예를 들자면,위의 오른쪽 표와 왼쪽 실험결과 사진을 비교하였을 때 1->0 으로 상태변화가 일어나는 결과를Q 와bar{Q}의 전압 값을 통해 게이트 상호간 작은 delay 차이가 결과값에 영향을 주었다는 것을 알 수 있었다.
설계2 결과보고서 2009069160 김기훈1. 간단한 이론 분석1) 4비트 전가산기 설계- 이진수의 한자리수을 연산하고, 하위의 자리올림수 입력을 포함하여 출력한다. 하위의 자리올림수 출력을 상위의 자리올림수 입력에 연결함으로써 임의의 자리수의 이진수 덧셈이 가능해 진다. 하나의 전가산기는 두개의 반가산기와 하나의 OR로 구성된다. 입력이 3개 존재해서 (입력 A, 입력 B, 자리올림수 입력) 모두 대등하게 동작한다. 하지만 회로상에서 3개 입력이 대칭되어 있다고 할 수 없다. 입력 A, 입력 B, 자리올림수 입력 (X), 출력 (S), 자리올림수 출력 (C)의 관계를 보여주는 진리표는 다음과 같다.ABXCS0***************************************2) 4비트 전가산기- 전가산기를 몇개로 조합하는 과정에 의하여 임의의 자리수의 이진수 가산기를 구성할 수 있다. 아래그림은 4비트 가산기의 회로도이다. (A3A2A1A0+B3B2B1B0→C4S3S2S1S0)※ 1Bit 전가산기(FA)3) 4비트 전감산기- 일반적으로 뺄셈은 보수의 덧셈으로 변환하여 수행할 수 있다. 예를 들어 뺄셈 A-B는 A+(B의 2보수)와 같이 B에 대한 2의 보수(2's complement)를 취하여 A에 더함으로써 계산할 수 있다. 따라서 실제 회로에서는 주로 감산기를 별도로 설계하지 않고 가산기를 감산기로 사용한다.4비트 전감가산기 설계- 설계방법 : 2의 보수나 1의 보수를 사용하여 감산연산을 없애고 적당한 보수기와 가산기만을 이용한다.- 2의 보수 : 1의보수를 취하고 최하위 비트에 1을 더하여 얻어질 수 있다.2. 설계결과 사진입력가산감산가산 0011+0010감산 0011-0010가산 0010+0010감산 0010-0010가산 0111+0101감산 0111-01012. 진리표A3A2A1A0SB3B2B1B0=CoS3S2S1S000000(+)000000*************01000101(-)*************0(+)0011*************0100001011(-)0*************(+)**************************1(-)10001000010010(+)100*************01010010111(-)*************0(+)110***************************************111110※본 진리표는 예비보고서에서 시뮬을 돌리면서 작성한 진리표입니다.여기서 확인할수 있는 것은 감산의 경우 carry out에 불이 들어 온다는 것입니다. 위의 실혐결과 사진에서도 감산을 할때마다 불이 모두 들어왔는 것을 확인할수 있었습니다.비고 및 고찰이번 두 번째 설계는 TTL chip SN7400, SN7402, SN7404, SN7408, SN7432를 이용하여 전감가산기(4-bit adder_subtractor)의 설계를 하는 것이었다. 1학기때 디지털 공학시간에 해서인지 기억이 가물가물해서 다시 책을 찾아 공부하니 1학기때보다는 가감산기에 대한 내용이 머리에 더 잘 들어왔다. 이번 실험도 역시 실험하기 전에 필요한 소자와 연결선을 확보하고 소자가 몇 개 필요한지, 어떤핀에 어떤입력이 들어가고 어떤출력이 나오는지 하나하나 체크하고 설계하기 전에 확인했다. 확인해 보니 우리조는 7486을 많이 넣고 설계해서 7486소자가 4개가 필요했다. 다른것들도 소자 개수를 확인하고 소자를 브래드보드상에 배치시켰다. 우리는 최대한 리드선을 짧게 연결하게끔 소자를 배치시키고 어떤 게이트의 핀에서 다른 게이트의 핀으로 들어가는 것 까지 생각해서 회로를 구성했다. 그리고 헷갈리지 않게 소자위에 연필로 핀번호를 써놨는데 그러다 보니까 중간에 회로가 엉켜도 금방 찾을수 있고 설계하는 속도도 매우 빨라졌다. 리드선도 예전에 썼던것들을 잘 보관해서 설계하는데 더 빠른 속도로 설계 할 수 있었다. 회로 한 개에 전가산기 감가산기 모두 구현해서 CIN값을 1로 변화시킴으로서 감산기 역할을 하고 0으로 넣어주었을때는 가산기 역할을 하게 했다. 위에 나와있는 사진은 진리표중 몇 개 부분만 확인해 봤는데 진리표와 동일하게 나오는 것을 확인할수 있었다. 이번 설계도 큰 문제는 없었지만 회로구성을 할때 아직 시간이 좀 걸리지만 계속 실험을 반복하면서 연습해야겠다는 생각이 들었다.
설계1 결과보고서 2009069160 김기훈설계결과1. 결과사진abcdefg위에 나타낸 그림처럼 세그먼트 상에 입력을 주어서 숫자를 나타내게 하는 실험이었다. 세그먼트에 0이 표시되게 하기 위해서는 a부터 f까지의 값이 1이 되어야 하고 g만 0이 되어야 한다. 위에 나타낸 진리표에서 확인할 수 있고, 그렇게 0에서부터 9까지 세그먼트상에 나타낼 수 있다. 아래는 실험하면서찍은 사진이다.위의 3개의 사진의 경우 우리 2조의 결과물로써, 7개의 신호 중에서 5개의 신호밖에 못살렸기 때문에 그 5개의 신호로 낼수 있는 1과 7을 만들어 본 것이다.※그리고 아래의 사진의 경우 자료를 참고한 것으로 우리가 실험을 하지 못한 것에 대한 결과물을 확인할수 있었다.십진수 0입력 ⇒ 0출력십진수 1입력 ⇒ 1출력십진수 2입력 ⇒ 2출력십진수 3입력 ⇒ 3출력십진수 4입력 ⇒ 4출력십진수 5입력 ⇒ 5출력십진수 6입력 ⇒ 6출력십진수 7입력 ⇒ 7출력십진수 8입력 ⇒ 8출력십진수 9입력 ⇒ 9출력2. 진리표입력(BCD)출력(Display)ABCDabcdefg*************01011***************************************0*************0*************0*************10011111011십진수 0~9까지의 ABCD의 입력으로 출력 LED의 abcdefg가 나오는 진리표를 나타낸 것이다.비고 및 고찰이번 설계는 4장에서 공부한 BCD7 segment를 직접 게이트들을 사용하여 설계해 보는 것으로 우리 2조의 경우 AND,OR,NOT게이트 3개를 사용하여 설계를 하였다.우선 결과부터 분석해보면 우리 2조는 3개의 AND게이트, 4개의 OR게이트, 2개의NOT게이트를 사용하여 회로를 구성했는데, 예상 시뮬을 돌려온것에 비해서 실제로 연결을 하다보니 너무 복잡한 회로의 형태가 나오게 되는 것을 확인할수 있었다. 따라서 각각의 게이트들에 대한 그라운드를 잡는것과 Vcc입력그리고 제대로된 핀입력에 대하여 실수를 범해서인지 첫 'a' LED회로를 구성하는데에만 2시간이 걸리게 되었다, 그래서 우리 조의 경우 LED 모두 불을 켜는 대신 지금까지 켠 5개의 불을 사용하여 만들 수 있는 숫자를 최대한 만들어 보기로 결정하였고, 위에 보이는 바와 같이 1,7의 출력 LED를 만들었다.비록 모든 출력 LED를 구성하지만 못하여 아쉬움이 있었지만, 1과 7을 출력해보면서 7segment의 사용을 익히고 실제로 LED시계가 어떻게 작동하는지를 알수 있는 실험이었다. 그리고 이번 실험을 통하여 복잡한 회로를 연결 구성해 봄으로써 앞으로 실험에 대해 좀 걱정이 많았는데 자신감이 생기게 되었고, 우리가 실험하는 각각의 회로들이 실제 생활에 모두 쓰이고 있음을 새삼 느낄수 있는 실험이 되었다.