Digital design
5장. 동기식 순차논리
5-1 순차회로
조합회로 + 저장소자 구성 (일반적인 디지털 시스템의 구성)
순차회로의 출력 : 입력과 순차회로의 현재 상태에 관한 함수
순차회로의 현재 상태 : 기억소자에 의해 주어짐
즉> 순차회로의 입력, 출력, 내부상태가 시간에 따라 어떻게 변하는 가에 따라 순차회로의 특성이 결정된다.
순차회로
순차 회로의 두 유형
동기식 : 규정된 각 시점에서의 입력신호를 이용하여 출력 결정 (저장소자 : 클럭발생기와 논리게이트를 사용)
비동기식 : 입력신호가 변하는 모든 시간에서의 입력신호에 대해 출력 결정 (저장소자: 시간지연소자, 논리게이트를 사용) - 논리 게이트 자체에 시간전파 지연이 있으므로 이를 이용하여 데이터를
저장한다.
Flip-flops (플립-플롭)
클럭형 순차 회로에 사용되는 저장소자를 말한다.
한 bit 의 정보를 저장할 능력을 가지는 2진 소자.
플립플롭의 출력: 조합회로나 다른 플립플롭에 의해 결정
플립플롭의 상태: 조합회로에 상관없이 클럭펄스의 트리거링 (상위,하위)에 따른다.
-> 클럭펄스가 동작하지 않으면 귀환은 동작하지 않는다.
플립플롭의 메모리 특성 :
플립플롭은 입력이 없어진 뒤에도 계속적으로 변화된 출력값을 유지하는데 이것을 플립플롭의 메모리특성 이라고 한다.
FF
input Q
Q’
(Normal output) (Inverted output)
CLK
5-2 Latches
래치 (latch) : 플립 플롭을 구성하는 가장 기본적인 회로로써 비동기 순차회로에 사용된다.
SR 래치 : 2개의 교차결합된 NOR게이트로 구성
S=1,R=0 이면 Q=1 (세트)
S=0,R=1 이면 Q=0 (리세트 혹은 clear)
S=0,R=0 이면 변화 없음 (2진 상태유지)
S=1,R=1 Q=Q′=0 (정의되지 않음)
- 이의 경우를 피하기 위해 S=0, R=0 상태로 복귀필요
NAND게이트를 갖는 S′R′ 래치
NOR 래치의 보수값을 입력으로 사용 => NAND 게이트 사용
S=1,R=0 이면 Q=0 (리세트 혹은 clear)
S=0,R=1 이면 Q=1 (세트)
S=1,R=1 이면 변화 없음 (2진 상태유지)
S=0,R=0 Q=Q′=1 (정의되지 않음)
- 이의 경우를 피하기 위해 S=1, R=1 상태로 복귀필요
제어 입력을 가진 SR 래치
2개의 NAND 게이트에 제어 신호를 결합
C=0(변화없음), C=1(SR 래치로 동작)
- C=0인 경우 S, R 입력에 상관없이 출력은 불변 - C=1인 경우 S’R’ latch 부분의 동작
S’R’ latch 부
SR 래치
문제 다음의 S, R 파형 입력에 대한 NAND latch 와 NOR latch Q 의 파형을 구하라 S
R
NAND latch
S
R
NOR latch
SR 래치
문제 다음의 S, R 파형 입력에 대한 NAND latch 와 NOR latch Q 의 파형을 구하라 S
R
S
R
Q Q
D 래치
SR 래치 에서 정의되지 않았던 상태를 해결
C=0, S’R’ 래치 입력이 모두 1이므로 no change 상태 C=1, D=0, Q=0 출력값은 D 의 값과 같다.
C=1, D=1, Q=1 출력값은 D 의 값과 같다.
제어신호가 1을 유지하는 시간 동안 Q=D 이다. (투명성래치) 즉 위의 시간 동안 데이터를 저장하는 효과를 가진다.
S’R’ latch
D 래치
문제 다음의 D, Enable 파형 입력에 대한 Q 의 파형을 구하라
D latch Enable=C
D
D 래치
문제 다음의 D, Enable 파형 입력에 대한 Q 의 파형을 구하라
Enable=C
D
transparent transparent Q
래치의 그래픽 기호
S
R
S
R
D
C
Q Q Q
SR latch S’R’ latch D latch
Flip-flops (플립-플롭)
클럭형 순차 회로에 사용되는 저장소자를 말한다.
한 bit 의 정보를 저장할 능력을 가지는 2진 소자.
플립플롭의 출력: 조합회로나 다른 플립플롭에 의해 결정
플립플롭의 상태: 조합회로에 상관없이 클럭펄스의 트리거링 (상승,하강)에 따른다.
-> 클럭펄스가 동작하지 않으면 귀환은 동작하지 않는다.
플립플롭의 메모리 특성 :
플립플롭은 입력이 없어진 뒤에도 계속적으로 변화된 출력값을 유지하는데 이것을 플립플롭의 메모리특성 이라고 한다.
FF
input Q
Q’
(Normal output) (Inverted output)
CLK
5-3 플립플롭
래치 :클럭(a)의 경우 입력이 변하면 출력도 변화
래치가 저장요소로 사용될 때의 문제점
- C = clock pulse 가 1일 될 때 -> 래치의 상태 전이 C = 1 을 유지할 때 -> D=Q 로 출력
Q로 출력된 것은 다시 조합회로를 지나서 D로 입력
이때도 클럭펄스가 1이라면, 래치의 출력은 D의 입력, 즉 귀환된 조합회로의 출력에 맞춰 계속 변하게 된다.
D Q
5-3 플립플롭
플립플롭 : 출력이 단지 클럭 에지(상승,하강) 에서만 변화
- 양의 값에서 출력이 데이타값에 따라가는 현상을 막기 위해 전이하는 순간에만 FF를 트리거 하는 것
* 트리거 : 제어신호의 순간적 변화
트리거링 : 제어신호 변화에 따라 플립플롭의 상태가 전이되는 것
0 -> 1, PGT
1 -> 0, NGT
마스터-슬레이브 D 플립플롭
하강 에지 트리거 D 플립플롭
C=0 : 마스터 정지, 슬레이브 동작, Q=Y
출력은 입력의 상태에 영향 받지 않음.
C=1 : 마스터 동작, 슬레이브 정지, D=Y
이 FF의 출력 Q는 CLK가 1->0으로 변할 때만 변한다,
D형 상승 에지 트리거 플립플롭
3개의 SR 래치로 구성
Q는 C가 0에서 1로 되는 순간에만 변화
C D S R Q
0 1 1 출력유지 1 0 1 0 reset 1 X 1 0 reset
잠김상태 0 1 1 출력유지 1 1 0 1 set
0 X 0 1 1
D형 상승 에지 트리거 플립플롭
상승엣지, 하강엣지 사용 시에는 플립플롭의 반응 타이밍이 중요 셋업시간 : 클럭의 상승엣지가
발생하기 이전에 D의 입력값이 일정하게 유지 되어야 하는 시간
홀드시간 : 클럭의 상승엣지 발생 이후에 D의 입력값이 일정하게 유지 되어야 하는 시간.
Propagation delay : 트리거 엣지 발생 이후 새로운 출력이 안정화 될 때 까지의 시간.
JK 플립플롭
세가지 동작을 수행
세트(J=1), 리세트(K=1), 보수화(J=K=1)
D=JQ′+K′Q
J=1, K=0 일 때 D=1, J=0, K=1 일 때 D=0 J=1, K=1 일 때 D=Q’ J=0, K=0 일 때 D=Q
T 플립플롭
보수화를 수행
D=TQ′+T′Q
T = 0 일 때 J=K=0, D=Q 출력 유지 T = 1 일 때 J=K=1, D=Q’ 보수 출력
특성표, 특성식
플립플롭 특성표 : 플립풀롭의 상태를 표(식)의 형태로 표시한 것.
Q(t) 는 클럭 펄스가 들어오기 전의 현재상태, Q(t+1) 은 한 클럭 경과 후 현재상태를 의미
특성식 J-K FF :
Q(t+1)=JQ′+K′Q D FF :
Q(t+1)=D
다이렉트 입력
다이렉트 입력 : 플립플롭의 상태를 독자적으로 제어 할 수 있는 비 동기식 신호.
Pre–set, direct-set :플립플롭을 1로 만드는 입력 Clear, direct-reset : 플립플롭을 0으로 만드는 입력
•비 동기적 리셋을 가지는 D 플립플롭 data
CLK
Q Q’
reset
R C D Q 0 X X 0 1 0 0
1 1 1 Function table
5-4 클럭에 동기화된 순차회로 분석
클럭에 동기화된 순차회로의 동작은 입력, 출력, 플립플롭의 현재 상태에 따라 결정
출력과 다음 상태의 값은 입력과 현재 상태의 값 에 대한 함수
시간 순서에 따른 표 나 도표를 이용하여 분석
(상태식, 상태표, 상태도표, FF 입력식)
상태식
현재 상태와 입력값에 의해 다음 상태와 출력을 규정
A(t+1)=A x + B x
B(t+1)=A′ x
Y =(A+B) x ′
위의위의 식에서식에서 A, BA, B는는 A(tA(t), ), B(tB(t))의의 현재상태현재상태 의의 축소표현축소표현
상태표
입력과 출력, 플립플롭의 상태간의 관계를 기술 (현재상태, 입력, 다음상태, 출력의 순으로 기술)
현재상태와 입력으로 가능한 2진 조합을 나열하고, 다음 상태값은 논리도표나 상태식을 이용하여 얻는다.
예) A(t+1)=Ax + Bx
A가 1이 되는 경우는 Ax=1 이거나 Bx=1 즉 A와 x가 1의 값이 입력되거나
B와 x가 1의 값이 입력되는 경우.
상태표
상태표의 또 다른 유형 : 현재 상태 , 다음상태, 출력 순으로 기술
다음상태, 출력은 입력조건 에 따라 다시 나누어짐
상태도표
흐름도의 일종 : 상태는 원으로 표시되고 전이는 화살표로 표시,원안의 2진수는 FF의 상태를 표시, 입출력은 화살표 위에 입력/출력으 로 표시
상태도는 상태표로부터 얻음
원(상태), 선(전이), 입력/출력으로 이루어짐FF 입력식
외부출력을 만드는 조합회로의 부분을 부울 함수로 나타낸 것 => 출력식
FF의 입력을 만들어 내는 조합회로의
부분을 부울 함수로 나타낸 것 => FF 입력식
Ex> 입력식의 표현 Dq = X + Y
입력에 연결된 조합회로 혹은 FF 출력
FF 입력 기호
FF 출력 기호
D 플립플롭을 가진 회로의 분석
FF 입력식 :
상태식은 FF 입력식과 같다. Q(t+1) = D A
JK 플립플롭을 가진 회로의 분석
FF 입력식JA=B KA=Bx′
JB=x′ KB=A′x+Ax′
JK FF의 특성식Q(t+1)=JQ’+K’Q 에서 A(t+1)=JA’+K’A
B(t+1)=JB’+K’B
위의 두 식을 조합 하면.A(t+1)=BA’ + (Bx’)A
B(t+1)=x’B’ + (A′x+Ax’)’B
상태표나 상태도의 작성JK 플립플롭을 가진 회로의 분석
상태표와 상태도표
T 플립플롭을 가진 회로의 분석
입력식과 출력식 T
A=Bx, T
B=X y=AB
상태식은 특성식으로 부터 유도
Q(t+1)=T’Q+TQ’
A(t+1)=T
AA′+T
A′A
B(t+1)=T
BB′+T
B′B
T 플립플롭을 가진 회로의 분석
A(t+1)=(XB)’A+ (XB)A’ = AB’+AX’+A’BX B(t+1)=X’B+XB’
Mealy 모델과 Moore 모델
Mealy 모델 : 출력은 현재 상태와 입력에 대한 함수 예) Y=(A+B)X’
클럭에 의해 동기화된 FF출력과 입력변화에 따른다.
Mealy FSM 이라고 함.
Moore 모델 : 출력은 현재 상태에 대한 함수
예) Y=A, Y=B, Y=A+B : FF의 출력만으로 결정됨.
회로의 출력은 클럭에 동기화된 FF출력에 의존.
5-6 상태 축소와 상태 지정
FF의 수를 줄이는 데 사용
FF: m개 -> 2 m 개의 상태를 가진다.
상태 축소는 상태표를 이용 상태의 갯수를 줄여 구현.
임의의 두 현재상태가 모든 경우의 입력에 대해 같은
출력을 내보내고, 다음의 상태도 같은 경우, 이 두 상
태는 등가상태라고 하고 그 중 하나는 제거 가능하다.
State reduction
상태 축소
상태 지정
상태들을 코드화된 2진 값으로 지정(m개의 상태를 갖는 회로는 2 ⁿ ≥ m 를 만족하는 n비트의 코드로 변환)
사용하지 않는 상태는 don’t care 조건이 된다.
상태 지정의 3가지 방법
5-7 설계 과정
순차 회로 설계 : 상태표 필요
⇔ 조합 회로 설계 : 진리표 필요
플립플롭의 수는 회로의 상태 수에 의해 결정됨.
2ⁿ 개의 상태가 존재 → n 개의 플립플롭 필요
설계 절차
설계 단계
1)상태도표 또는 상태표를 구한다.
2)필요하다면 상태의 수를 줄인다.
3)각 상태에 2진값을 지정한다.
4)사용할 플립플롭의 종류를 선택한다.
5)플립플롭의 입력식과 출력식을 구한다.
6)논리도를 그린다.
상태도표의 유도
순차 검출기
입력 라인을 통해 1이 3개 이상 연속으로 들어오는 것을 검 출
0
D 플립플롭을 이용한 합성
입력식은 다음 상태로부터 직접 구해짐
D 플립플롭을 이용한 합성
K-맵과 논리도
JK 플립플롭을 이용한 합성
입력식은 현재 상태에서 다음 상태로의 전이 과정을 관찰
해 얻음
JK 플립플롭을 이용한 합성
K-맵과 논리도
T 플립플롭을 이용한 합성
3비트 2진 카운터
3개의 플립플롭으로 구성, 0에서 2ⁿ-1(n=3)까지 카운트 가능
T 플립플롭을 이용한 합성
상태표와 논리도
T =A A , T =A , T =1
1