728x90
복습 Combinatorial Logic Circuit(조합논리 회로) vs. Sequential Logic Circuit (순차논리 회로)
- Combinatorial Logic Circuit과 Sequential Logic Circuit의 가장 큰 차이점은 입력이다.
Combinatorial Logic Circuit
- 현재의 입력이 output에 영향을 준다.
- 예시 : arithmetic logic unit (ALU), half adders, full adders, multiplexers, encoders, and decoders
Sequential Logic Circuit
- 결과에 현재의 입력 뿐 아니라 과거의 입력도 영향을 준다.
- 예시 : TV 채널
- sequential logic circuit의 특징 : state(메모리)을 가지고 있다.
- 메모리와 현재의 입력을 받고 있음을 볼 수가 있다.
- 여기서 clock이 들어가 있어서 동기화를 진행해준다.
상태(메모리)를 저장하는 방법?
2가지 유형의 메모리 요소가 있다.(목차)
- latch와 flip-flop은 1비트를 저장할 수 있는 메모리 엘리먼트이다.
1. Latches : SR latch, JK latch, D latch
2. Flip-flops : SR filp-flop, JK flip-flop, D filp-flop
SR Latch
- SR(set-reset) latch 는 1비트를 저장할 수 있고 상태를 변경한다.
- input으로 Set 신호는 S로 1비트를 1로 바꾼다.
- Reset 신호는 1비트를 0으로 만든다.
- set도 아니고 reset도 아니면 현재 상태를 그대로 가지고 있다.
- set과 reset을 둘 다 하는 건 허용되지 않는다.
- 별명 RS 래치
SR NOR latch
- SR래치를 여러방법으로 구현 할 수 있는데, 그 중 대표적인 방법이 SR NOR latch이다.
- Not allow를 보면 output이 0,0 이 되는 것을 보면 모순이다.
- 이걸 보면 왜 RS Latch라고 불렸는지 이해 할 수 있었을 것이다.
- 2개의 NOR게이트를 사용하는 SR latch
SR NAND latch
- NAND 게이트 2개를 이용해서도 구현 가능하다.
- 차이점이 좀 생기는데 S와 R이 invert가 되어서 입력이 들어온다.

2개의 NAND 게이트를 사용하는 SR latch 이다.
- 다양한 방법이 있다. (not not 게이트로도 만들 수 있다.. 다양한 방법이 있다.)
JK Latch
- JK래치는 SR래치의 확장버전이다
- 두 입력이 1과 1일 때 출력을 토글한다.
- SR latch에서 허용되지 않는 상황을 해결한다.
- 아까 SR latch가 두 종류를 봤지만 일반적으로 SR래치라고 하면 NOR게이트를 의미한다.
- 이름이 JK인 이유 : 만든사람의 이름을 땀.
- 가장 간단하게 JK래치를 구현하는 방법은 AND게이트 2개를 SR래치에 붙히는 것이다.
- J를 SET K를 RESET이라고 생각하면 된다.
- Case2번을 보면 원래 set인 경우 0,0 으로 해서 변경이 없음을 볼 수가 있다.
- Case 4번을 보면 계속해서 반복이 된다.!!!
- 토글 상태를 계속 유지하면 계속 왔다갔다 왔다갔다 하는 것이다.
- 밑의 flip-flop 을 보면 엣지에 값을 바꾸는 친구라고 보면된다.

D Latch
- 이 녀석도 SR래치의 확장이다.
- SR과 JK는 2개의 입력을 받았지만 이건 1개만 데이터로 사용한다.
- 즉 입력을 저장하는 용도이다.
- D래치와 버퍼게이트의 차이점
- D래치는 입력이 주어지지 않아도 현재 상태를 저장할 수 있다.
- 버퍼 게이트는 입력이 주어지지 않으면 현재 상태를 유지하지 않는다.
- 디래치와 SR플립플롭에 주로 SRAM의 기본 구성 요소이다.
Gated SR Latch (Level-triggered SR Flip-flop)
- 게이트형 SR Latch는 enable signal아 high(or low)일 때 변경된다.
- 일반 SR래치는 설정신호 또는 리셋 신호가 변경되면 상태를 즉시 변경했다.
- 다만 gated SR래치는 2개의 입력신호가 Enable signal이 올라감과 동시에 SR latch에 적용된다.
- 간단하게 설명하면 입력 신호를 high일 때 한번에 할 수 있도록 해준다.
- synchronous(동기식) SR latch, transparent(투명) high SR latch (opaque(흐릿한) low SR latch), level-triggered SR Flip-flop(이걸 flip flop이라고 부르기도 한다.), clocked SR flip-flop
- Enable signal이 0이면 hold상태를 유지한다.

Gated JK Latch (Level-triggered JK Flip-flop)
- Gated JK Latch를 만드는 방법
- 위에는 JK latch이고 아래가 gated JK latch이다.

Latch vs. Flip-flop
공통점
- 둘 다 1비트 상태를 저장할 수 있다.
차이점
- 회로가 활성화(클록) 신호를 수신하지 못하는 경우 (latch)
- 이 회로는 비동기 식 회로이다.
- 회로가 활성화(클럭) 시그널을 사용한다.(flip -flop)
- 이 회로는 동기식 이다.
- 레벨 트리거 : 활성화 신호가 높거나 낮을 때 상태가 변경된다. (게이트 래치 또는 레벨트리거 플립플롭이라고 부른다.) ⇒ 완벽한 동기화라고 보기는 어렵지만 그래도 살짝은 동기화가 된다고 본다.
- 엣지 트리거 : 회로는 클럭 신호가 상승 또는 하강할 때 상태가 변경된다.
- 주로 엣지트리거를 보통 플립플롭이라고 부른다.
- 따라서 보통 게이티드 래치는 래치라고 본다. (다만 책마다 다르게 표현할 수 있다.)
Gated D Latch (Level-triggered D Flip-flop)
- 활성 신호가 높을 때 변경된다.
- D래치는 데이터 입력이 변경되면 상태를 변경했다.
D Flip-flop
- 위에서 설명 했든 flip flop은 엣지 트리거 한 경우만 플립플롭으로 본다.
- 참고) D 래치는 데이터 입력이 변경되면 즉시 상태가 변경됩니다.
- 참고) 게이트형 D 래치는 활성화 신호 가 높을 때 상태가 변경됩니다
- 레벨 트리거에서는 주로 enable signal 이라고 부르지만 edge triger에서는 주로 클럭이라고 많이 표현을 한다.
- D 플립플롭은 클럭 신호가 상승(또는 하강)할 때 상태가 변경됩니다.
An edge-triggered D flip-flop

- 구현을 master-slave gated D latches라고 부르는데 2개의 gated D latch를 이용해서 구현한다.
- 처음 입력을 받는 gated D latch를 master라고 부르고 두번째로 입력 받는 녀석을 slave라고 부른다.
Falling-edge triggered
- 이 경우는 1에서 0으로 바뀔때만 값의 변경이 발생한다.

Rising-edge triggered
- 라이징 엣지는 클럭 앞에 not하나 붙혀주면 라이징 엣지가 가능하다.
- 논 라이징 할 떄는 Q값이 그대로 유지가 되는 것을 볼 수가 있다.
- 여기서 라이징 엣지 심볼이 세모 모양인 것도 보고 가자.
JK Flip-flop
falling -edge tiggered

- 위의 그림을 보면 falling edge일때만 slave가 엑티브 되서 상태가 바뀌는 것을 볼 수 가 있다.
설정 및 리셋 신호가 있는 D 플립플롭
- 일부 플립플롭은 비동기 입력 신호를 수신하여 상태를 초기화합니다.
- 즉 클럭 신호와 관계없이 S와 R의 설정을 받기도 한다. 클럭과 관계없이 초기화 하고 싶은 경우에 작동을 시킨다.
플립플롭의 타이밍 특성
전파 지연시간 발생
이벤트 발생 시간과 출력 변경 시간사이의 간격이 존재한다.

플립 플롭의 특징으로 2가지의 시간을 가지는데 그게 setup time 과 hold time이다.
setup time : 클럭 이벤트 전에 입력 신호가 주어져야 하는 필요시간
Hold time: 클럭 이벤트 후 입력 신호가 주어져야하는 필요시간
- 클럭이 바꼈을 때 데이터를 얼마나 들고 있어야 하는 가?

Aperture time = setup time + hold time 최소 이 시간만큼 데이터가 켜져 있어야 한다.
동기화
- 두개의 이벤트가 꼭 하나인 것 처럼 맞추는 것이 싱크라고 부른다.
- 예시 : 립싱크, 캘린더, 오캐스트라.
- 시간적으로나 내용적으로 하나인 것처럼 하게
- 시계를 발명한 이유는 - 동기화를 위해서 이다.
디지털 회로에서 동기화가 필요한 이유
- 회로에는 많은 서브 모듈로 구성되는데 다같이 작동을 해야한다.
클럭 시그널이 없는 래치 같은 경우
- 입력 데이터는 항상 준비되어 있어야 한다.
레벨 트리거 서킷 (게이티드 래치)
- 클럭이 high 일때 입력 시그널이 준비되어 있어야 한다.
엣지 트리거 서킷 (flip-flop)
- 엣지가 발생할 때 데이터가 준비가 되어있어야 한다.

즉 엣지 트리거 서킷이 가장 대기 시간이 짧다.
디지털 컴퓨터에서 클럭 시그널이 있다.
즉 CPU가 100 HZ라는건 1초에 100개의 일을 할 수 있다는 것이다.
Uploaded by N2T
728x90