본문 바로가기

Digital Design

Set up time과 Hold time

지난 시간에 clock domain crossing과 metastable에 대해 알아보았습니다.

clock domain이 바뀔 때, clock domain crossing 처리를 해주지 않으면 metastable 상태에 빠지게 되고 회로가 정상적으로 작동할 수 없다고 했습니다.

metastability는 바로 오늘 알아볼 내용인 set up time, hold time과 관련이 깊습니다.

metastability가 발생하는 근본적인 이유를 생각해보면 data가 flip flop에 입력될 때 clock이 해당 data를 채가지 못하기 때문에 발생합니다.

이상적으로 생각해보면 신호가 flip flop으로 들어온 직후에 clock이 toggle해도 flip flop이 data를 챌 수 있을 것 같지만 실제로는 그렇지 않죠.

data가 안정되기 까지 물리적으로 시간이 필요한데 이를 set up time과 hold time으로 나누어 정의할 수 있습니다.

set up time과 hold time

위 그림을 보면 data가 들어온 후 set up time만큼 유지를 하고 clock이 data를 챕니다. 그리고 data는 hold time 만큼 유지가 됩니다.

set up time과 hold time은 최소 시간으로 이 시간만큼 data를 유지 하지 않는다면 flip flop의 출력은 신뢰할 수 없을 것입니다.

정리하자면,

Set-up Time: Data가 flip flop의 D로 입력되는 순간부터 Clock이 Data를 채갈 때 까지 충분히 확보되어야 하는 시간
Hold Time: Data가 flip flop의 D로 입력되고 Clock이 Data를 채가는 시점부터 Data가 바뀌지 않고 유지되어야 하는 시간

이라고 할 수 있겠습니다.

오늘 공부한 Set-up/Hold Time 역시 면접 단골 질문이기 때문에 반드시 잘 정리하셔야 합니다.

다음 시간에는 다양한 CDC 처리 기법에 대해 알아보겠습니다.

Vamos!

'Digital Design' 카테고리의 다른 글

I2C의 장점과 여러 가지 모드  (0) 2024.10.13
CDC와 Metastable  (0) 2024.05.16