목차
레지스터(register)란
D 플립플롭
Edge-Triggered
Rising Edge-Triggered D 플립플롭
플립플롭 타이밍
레지스터의 종류
시프트 레지스터의 4가지 종류
D 플립플롭
Edge-Triggered
Rising Edge-Triggered D 플립플롭
플립플롭 타이밍
레지스터의 종류
시프트 레지스터의 4가지 종류
본문내용
실험 8. 레지스터의 구성
8조
실험목적
D플립플롭을 직렬로 연결하여 시프트레지스터를 구성하고 그 동작을 확인하며, 병렬로 연결하여 일반 레지스터를 구성하고 병렬 로드 동작을 확인한다
관련이론
레지스터(register)란
기차를 타기 위하여 대기하고, 타고 가던 기차에서 내릴 수 있는 역과 같은 기능을 수행한다. 컴퓨터 내부에서도 이와 유사한 원리로 데이터가 이동한다. 즉, 어떤 회로에서 연산된 데이터는 다음 회로로 이동하여야 그 곳에서 다시 연산된다. 이를 위하여 데이터가 이동될 수 있도록 그림에서 벨트와 같은 역할은 도체가 수행한다.
또한, 연산된 데이터가 이동될 때까지 대기하고, 이동된 내용이 연산될 때까지 대기시키는 역할을 수행하는 곳을 레지스터라 한다. 그러므로 레지스터는 기억 기능을 수행하여야 하기 때문에 플립플롭 회로를 사용하여 만들며, 여기에 기억된 데이터는 지시 신호에 의하여 이동한다
D 플립플롭
S-R 플립플롭의 문제
불확정조건
NOR S-R: 11 불허용
NAND S-R : 00 불허용
입력을 하나로 변화
동기화 플립플롭
Enable
Edge-Triggered
클럭 Edge에서 변화하여 래치글리치제거
Rising Edge-Triggered, Falling Edge-Triggered
D 플립플롭
Rising Edge-Triggered D 플립플롭
플립플롭 타이밍
셋업, 홀드, 시간지연
레지스터의 종류
직렬 이동 레지스터(시프트 레지스터)
레지스터에 기억된 내용을 이동하라는 지시 신호의 펄스가 하나씩 가해질 때마다 현재의 내용이 왼쪽이나 오른쪽의 이웃한 플립플롭으로 1비트씩 이동되어 밀어 내기와 같은 동작을 수행하는 레지스터를 직렬 이동(serial moving) 또는 시프트 (shift) 레지스터라 한다.
아래그림은 4비트로 구성된 시프트 레지스터이며, 각 플립플롭에 기억된 내용은 왼쪽에서 오른쪽으로 이동되고, 가장 오른쪽의 비트는 바깥으로 밀려난다.
병렬 이동 레지스터
병렬 이동 (parallel moving) 레지스터는 n개의 비트로 구성된 레지스터의 내용이 한 번의 이동 명령에 의하여 전체가 연결된 레지스터로 이동되는 레지스터이다.
따라서, 이 레지스터는 고속으로 전송할 수 있지만, 각 비트를 동시에 전달할 수 있는 n개의 회선이 연결되어 있어야 한다. 일반적으로, 중앙 처리 장치 내에서는 일정한 회선수의 회선을 연결하여 레지스터 전체의 비트가 병렬로 이동되도록 한다.
<병렬이동 레지스터의 구성>
시프트 레지스터의 4가지 종류
(a) 직렬입력/직렬출력
(b) 직렬입력-병렬출력
(c)병렬입력-직렬출력
(d) 병렬입력-병렬출력
직렬입력-직렬출력
<74LS91 핀배치도>
<논리도>
각 플립플롭의 클럭 입력은 NT에서 동작하도록 버블이 붙어 있으나, 실제는 클럭이 인버터를 거치므로 데이터는 클럭의 PT에서 이동
입력 A, B중 하나는 데이터 입력이고, 다른 하나는 제어신호(Enable)로 동작.
Enable = 1일 때 Data = 1이면 S=1 R=0 이고, Data = 0 이면 S=0 R=1. Enable = 0일 때는 Data에 관계없이 S=0 R=1. A=B로 공통으로 연결하면 클럭의 PT에서 Data가 계속 오른쪽으로 1자리씩 이동(shift).
<4비트 직렬입력 시프트 레지스터>
4비트 시프트레지스터에 QRST = 1010이 저장되어 있고 직렬입력이 0이라면 매 클럭의 NT에서 그림 9-4와 같이 QRST는 1010 → 0101 → 0010 → 0001 → 0000 으로 바뀜
직렬입력-병렬출력
<74LS164 핀배치도>
<논리도>
74LS164는 직렬로 데이터를 입력하고 병렬로 출력.
이 회로는 8개의 플립플롭을 동시에 0으로 리셋 시킬 수 있는 비동기 클리어(clear)입력이 있다. 또한 8개의 플립플롭의 출력 Q를 동시에 낼 수 있음.
병렬입력-직렬출력
<74LS166 핀배치도>
<동작>
동작설명의 3번째줄 로드를 보면 병렬입력-직렬출력이 가능.
그러나 직렬입력하여 오른쪽 시프트를 할 수도 있고, 먼저 값을 유지하거나. 모든 플립플롭을 0으로 할 수도 있다.
<논리도>
<공통제어회로>
그림에서 X1은 직렬 입력이고 이 값이 AND(1)의 출력으로 나가려면 control은 1.
병렬 데이터가 AND(2)출력 로 나가려면 control은 0이라야 한다.
한편 이 X1출력될 때는 X2가 0이고 X2가 출력될 때는 X1이 0.
이 값들이 NOR 게이트에 입력되어 NOR의 출력은 입력 값의 보수를 취하고, 플립플롭에는 S=X, R=X'가 입력.
따라서 control = 0일 때는 오른쪽시프트(shift right)로, control = 1일때는 병렬로드로 작용.
병렬입력-병렬출력
<74147 Hexa D FF을 이용한 병렬입력-병역출력 회로>
여기서는 clear입력으로 0이 들어오면 6개 FF의 출력이 모두 0
<74LS95핀배치도><동작>
<논리도>
Mode control = 0일 때는 right shift를 제어하는 clock 1이 4개 FF에 인가되며, Serial input, Qa, Qb, Qc, Qd 가 AND쌍의 왼쪽(홀수번)을 통과하여 SR FF에 입력.
따라서 첫 번 클럭 의 NT에서 플립플롭의 출력은 한 비트씩 오른쪽으로 이동.
Mode control = 1일 때는 left shift(짝수번)를 제어하는 clock 2가 4개 FF에 인가되며, 병렬입력 A, B, C, D가 AND쌍의 오른쪽을 통과하여 병렬 로드가 됨.
이 회로에서 왼쪽 시프트(left shift)를 얻으려면 Mode control을 1로 하고, 병렬입력 D에 직렬입력(left shift)을 주고, Qd→C, Qc→B, Qb→A로 각 FF의 출력을 병렬입력 단자에 연결.
8조
실험목적
D플립플롭을 직렬로 연결하여 시프트레지스터를 구성하고 그 동작을 확인하며, 병렬로 연결하여 일반 레지스터를 구성하고 병렬 로드 동작을 확인한다
관련이론
레지스터(register)란
기차를 타기 위하여 대기하고, 타고 가던 기차에서 내릴 수 있는 역과 같은 기능을 수행한다. 컴퓨터 내부에서도 이와 유사한 원리로 데이터가 이동한다. 즉, 어떤 회로에서 연산된 데이터는 다음 회로로 이동하여야 그 곳에서 다시 연산된다. 이를 위하여 데이터가 이동될 수 있도록 그림에서 벨트와 같은 역할은 도체가 수행한다.
또한, 연산된 데이터가 이동될 때까지 대기하고, 이동된 내용이 연산될 때까지 대기시키는 역할을 수행하는 곳을 레지스터라 한다. 그러므로 레지스터는 기억 기능을 수행하여야 하기 때문에 플립플롭 회로를 사용하여 만들며, 여기에 기억된 데이터는 지시 신호에 의하여 이동한다
D 플립플롭
S-R 플립플롭의 문제
불확정조건
NOR S-R: 11 불허용
NAND S-R : 00 불허용
입력을 하나로 변화
동기화 플립플롭
Enable
Edge-Triggered
클럭 Edge에서 변화하여 래치글리치제거
Rising Edge-Triggered, Falling Edge-Triggered
D 플립플롭
Rising Edge-Triggered D 플립플롭
플립플롭 타이밍
셋업, 홀드, 시간지연
레지스터의 종류
직렬 이동 레지스터(시프트 레지스터)
레지스터에 기억된 내용을 이동하라는 지시 신호의 펄스가 하나씩 가해질 때마다 현재의 내용이 왼쪽이나 오른쪽의 이웃한 플립플롭으로 1비트씩 이동되어 밀어 내기와 같은 동작을 수행하는 레지스터를 직렬 이동(serial moving) 또는 시프트 (shift) 레지스터라 한다.
아래그림은 4비트로 구성된 시프트 레지스터이며, 각 플립플롭에 기억된 내용은 왼쪽에서 오른쪽으로 이동되고, 가장 오른쪽의 비트는 바깥으로 밀려난다.
병렬 이동 레지스터
병렬 이동 (parallel moving) 레지스터는 n개의 비트로 구성된 레지스터의 내용이 한 번의 이동 명령에 의하여 전체가 연결된 레지스터로 이동되는 레지스터이다.
따라서, 이 레지스터는 고속으로 전송할 수 있지만, 각 비트를 동시에 전달할 수 있는 n개의 회선이 연결되어 있어야 한다. 일반적으로, 중앙 처리 장치 내에서는 일정한 회선수의 회선을 연결하여 레지스터 전체의 비트가 병렬로 이동되도록 한다.
<병렬이동 레지스터의 구성>
시프트 레지스터의 4가지 종류
(a) 직렬입력/직렬출력
(b) 직렬입력-병렬출력
(c)병렬입력-직렬출력
(d) 병렬입력-병렬출력
직렬입력-직렬출력
<74LS91 핀배치도>
<논리도>
각 플립플롭의 클럭 입력은 NT에서 동작하도록 버블이 붙어 있으나, 실제는 클럭이 인버터를 거치므로 데이터는 클럭의 PT에서 이동
입력 A, B중 하나는 데이터 입력이고, 다른 하나는 제어신호(Enable)로 동작.
Enable = 1일 때 Data = 1이면 S=1 R=0 이고, Data = 0 이면 S=0 R=1. Enable = 0일 때는 Data에 관계없이 S=0 R=1. A=B로 공통으로 연결하면 클럭의 PT에서 Data가 계속 오른쪽으로 1자리씩 이동(shift).
<4비트 직렬입력 시프트 레지스터>
4비트 시프트레지스터에 QRST = 1010이 저장되어 있고 직렬입력이 0이라면 매 클럭의 NT에서 그림 9-4와 같이 QRST는 1010 → 0101 → 0010 → 0001 → 0000 으로 바뀜
직렬입력-병렬출력
<74LS164 핀배치도>
<논리도>
74LS164는 직렬로 데이터를 입력하고 병렬로 출력.
이 회로는 8개의 플립플롭을 동시에 0으로 리셋 시킬 수 있는 비동기 클리어(clear)입력이 있다. 또한 8개의 플립플롭의 출력 Q를 동시에 낼 수 있음.
병렬입력-직렬출력
<74LS166 핀배치도>
<동작>
동작설명의 3번째줄 로드를 보면 병렬입력-직렬출력이 가능.
그러나 직렬입력하여 오른쪽 시프트를 할 수도 있고, 먼저 값을 유지하거나. 모든 플립플롭을 0으로 할 수도 있다.
<논리도>
<공통제어회로>
그림에서 X1은 직렬 입력이고 이 값이 AND(1)의 출력으로 나가려면 control은 1.
병렬 데이터가 AND(2)출력 로 나가려면 control은 0이라야 한다.
한편 이 X1출력될 때는 X2가 0이고 X2가 출력될 때는 X1이 0.
이 값들이 NOR 게이트에 입력되어 NOR의 출력은 입력 값의 보수를 취하고, 플립플롭에는 S=X, R=X'가 입력.
따라서 control = 0일 때는 오른쪽시프트(shift right)로, control = 1일때는 병렬로드로 작용.
병렬입력-병렬출력
<74147 Hexa D FF을 이용한 병렬입력-병역출력 회로>
여기서는 clear입력으로 0이 들어오면 6개 FF의 출력이 모두 0
<74LS95핀배치도><동작>
<논리도>
Mode control = 0일 때는 right shift를 제어하는 clock 1이 4개 FF에 인가되며, Serial input, Qa, Qb, Qc, Qd 가 AND쌍의 왼쪽(홀수번)을 통과하여 SR FF에 입력.
따라서 첫 번 클럭 의 NT에서 플립플롭의 출력은 한 비트씩 오른쪽으로 이동.
Mode control = 1일 때는 left shift(짝수번)를 제어하는 clock 2가 4개 FF에 인가되며, 병렬입력 A, B, C, D가 AND쌍의 오른쪽을 통과하여 병렬 로드가 됨.
이 회로에서 왼쪽 시프트(left shift)를 얻으려면 Mode control을 1로 하고, 병렬입력 D에 직렬입력(left shift)을 주고, Qd→C, Qc→B, Qb→A로 각 FF의 출력을 병렬입력 단자에 연결.
키워드
추천자료
4비트 2진 리플 카운터
Synchronus Counter
예비 보고서 - 멀티 바이브레이터
실험 19. 카운터 회로(예비보고서)
[결과]실험21. 동기카운터 설계
실험 19. 카운터회로
설계보고서 - 1 digit 7진 UP/DOWN COUNTER 및 7-Seg, 표시회로 설계
[아날로그 및 디지털회로 설계실습] (결과) 설계실습 12. 카운터 설계
자판기회로.ppt
[디지털 회로 설계] 4-Bit D Flip Flop 설계
[디지털 공학 실험] (결과) 07장 순차논리회로 설계 및 구현(1)
[마이크로프로세서응용실험] (예비) 실험 05: 타이머 인터럽트를 이용한 시계
FLIP FLOP, COUNTER, SHIFT REGISTER(예비+결과)(기초회로실험)
디지털 회로 (자판기 회로 레포트)