§ Setup Time이란?
Switching이 일어나기 전까지 입력이 정확히 인식되는데 필요한 최소 유지 시간을 말합니다.
즉 Data의 파형이 High인지 Low인지를 판별하는데 필요한 최소시간을 의미합니다.
§ Hold Time이란?
Switching이 일어난 후 상태의 변화가 정확히 인식되도록 필요한 최소 시간을 말합니다. 즉 판별된 결과가 유지되어야 하는 최소시간을 의미합니다.
아래의 그림 1은 Setup Time과 Hold time을 만족시키는 그림입니다.
아래의 그림 2는 Setup Time Violation에 대한 그림입니다.
그림 3은 Hold Time Violation에 대한 그림입니다.
§ Setup Time과 Hold Time을 만족시키지 않을 때의 문제점
그렇다면 이번에는 Setup Time과 Hold Time을 만족시키지 않았을 때는 어떠한 문제점이 생기는지에 대해 알아보겠습니다.
우선 당연한 말이지만 정상 동작을 하지 못하게 됩니다.
쉽게 설명하자면 위의 그림 2를 보면 Clock이 “1”이 되었을 때 Data의 경우 Chip이 요구하는 Setup Time까지 “1”을 유지하고 있어야
“1”로 인식하게 됩니다. 하지만 요구하는 Setup Time 전에 Data가 Switching 되고 있다는 것을 볼 수 있습니다. 따라서 이러한 경우
Data가 “0”인지 “1”인지를 정확하게 인식하지 못해 오작동을 할 수 있다는 겁니다. 이를 Setup Time Violation이라고 합니다.
마찬가지로 Hold Time Violation은 그림 3에서 보듯이 Clock이 “1”이 된 후에 Data는 Chip이 요구하는 Hold Time을 유지하고 있어야
정확하게 “1”이라고 판별하게 됩니다. 하지만 그 전에 다시 Switching이 되므로 역시 “1”인지를 정확하게 인식하지 못하게 됩니다.
§ Timing은 “길이”가 아닌 “Delay”
그렇다면 이러한 Setup/Hold Time Violation이 발생되지 않게 하기 위해선 어떻게 해야 할까요?
위의 그림에서 보듯이 결국은 Clock의 Delay와 Data의 Delay를 고려해서 Setup Time과 Hold Time의 Margin안에 들어오게 설계를 하면 됩니다.
여기서 중요한 점은 “길이”를 맞추는 것이 아니고 “Delay”를 맞춰야 한다는 겁니다.
왜냐하면 같은 길이라고 할지라도 Microstrip과 Stripline의 Delay는 차이가 나기 때문입니다.
아래의 그림 및 표는 길이 등 다른 조건은 모두 동일하고 구조만 Microstrip과 Stripline으로 구현한 Simulation 결과입니다.
위의 결과를 보면 알 수 있듯이 파형이나 특성 등에는 큰 차이가 없으나 Flight Time 즉, Delay는 차이가 난다는 것을 알 수 있습니다.
다음의 수식을 보면 일반적으로 Microstrip 구조에서 속도가 더 빠르다는 것을 알 수 있습니다.
여기서 v는 propagation velocity이며, c는 빛의 속도, er은 유전율, TD는 time delay, 그리고 x는Transmission Line의 길이를 의미합니다.
예를 들어 같은 Bus의 Signal 중 어떤 net은 Stripline에 배선을 하고 어떤 net은 Microstrip에 배선을 한 경우 길이를 동일하게 설계했더라도
System이 정상적인 동작을 하지 않을 수도 있다는 말입니다.
이렇듯 Timing은 길이를 맞춘다고 되는 것이 아니고 Delay를 맞춰야 되는 문제이므로 System의속도가 점점 더 빨라짐에 따라
Timing을 맞추기 위해서는 더 많은 신경을 써야만 합니다.
참고자료 : HIGH-SPEED DIGITAL SYSTEM DESIGN
작성자 : Internex CAE Team
Park. Jung Yoon
|