『 DDR2/ DDR3의 고속화 집적화에 따른 문제 』
디지털장비의 고속화와 집적화로인해 기존에 발생하지 않았던 새로운 문제들이 발생되고 있습니다. 이번에는 DDR2/3 SDRAM의 경우를 예로 들겠습니다.
고속화와 집적화로 인해 나타나는 현상은 아래와 같이 크게 3가지로 나눌 수 있습니다.
1. 전원 Noise
동작주파수가 높아짐에 따라 선로에서의 전자기파 방출량도 증가하는데 이는 Signal 간의 간섭문제뿐만 아니라 전원 noise도 매우 민감하게 반응합니다. 이러한 전원 noise가 DDR2/3 SDRAM의 동작에 많은 영향을 줍니다.
2. Timing violation
DDR2/3 SDRAM의 동작주파수가 높아짐에 따라 주기가 짧아지고, 이로 인해 자연스럽게 Timing margin이 줄어듭니다. 이러한 문제로 Timing violation이 나타납니다.
아래의 표는 DDR2와 DDR3의 실제 Timing Specification 중에서 DQ Read부분 입니다. Spec.을 보면 DDR2와 DDR3가 Setup Skew는 0.4ns, Hold Skew는 0.25ns 차이가 나는 것을 볼 수 있습니다.
[Simulation 결과]
위와 같이 Timing Spec.에 맞게 동작하기 위해 DQ Signal의 길이와 DQS Signal을 연관시켜서 Simulation을 통해 Design Guide를 제시할 수 있습니다.
위의 Spec.을 만족시키기 위해 Simulation을 한 결과 DQS Signal과 DQ Signal의 길이 차이, 즉 Design Guide가 DDR2는 10mm정도의 범위 안에서도 정상동작이 가능하지만, DDR3는 3mm 범위 안에서만 정상 동작함을 알 수 있습니다.
3. Crosstalk noise
Crosstalk noise의 원인으로는 크게 배선간격에 의한 발생과 Trace Length가 길어짐에 의한 발생 이렇게 두 가지로 볼 수 있습니다.
우선 작은 크기의 PCB에 많은 Component들로 인한 고집적화로 배선간 간격이 줄어들고 그에 따라 Crosstalk noise가 발생합니다. 또한 신호의 고속화로 인한 clock주파수의 증가는 상대적으로 Signal의 Trace Length가 길어진다는 의미이고, 이것은 Trace에서 손실이 커지게 된다는 것으로 결국 Crosstalk noise를 증가시킵니다.
아래의 그림은 실제 CAD Data상에서 Crosstalk noise현상이 나타날 수 있는 부분과 Crosstalk noise현상이 나타나지 않을 부분을 예상하여 분석한 결과입니다.
[PCB상에서 Crosstalk noise가 발생할 수 있는 부분 (A Block)]
[PCB상에서 Crosstalk noise가 발생 하지 않는 부분 (B Block)]
A Block의 Signal_5층(파란색)과 Signal_6층(붉은색)이 Dual Strip 구조이며 이 층에 인접해서 지나가는 net들이 상당히 많고 그 구간이 100mm 이상 유지되고 있습니다. 이와 같이 Dual Strip에 나란히 지나가는 파란색, 붉은색 Nets는 모두 영향을 받고 있다고 볼 수 있습니다. 반면에 B Block에서는 인접한 net들이 없음을 볼 수 있습니다.
따라서 A Block에서 Crosstalk noise 현상이 일어날 것이라고 예상하고, B Block은 Crosstalk noise 현상이 일어나지 않을 것이라 예상하여 A Block에 대한 비교대상으로 각각의 Block에서 임의의 net을 선정하여 Crosstalk noise를 분석했습니다.
[Crosstalk noise 분석결과]
[인접한 net들이 있는 부분 (파란색)] [단위:mV]
|
HSOddXtalk
|
HSEvenXtalk
|
LSOddXtalk
|
LSEvenXtalk
|
A Block
|
368.4
|
97.4
|
284.7
|
137.1
|
368.3
|
97.35
|
284.2
|
137.1
|
[인접한 net들이 없는 부분 (빨간색)] [단위:mV]
|
HSOddXtalk
|
HSEvenXtalk
|
LSOddXtalk
|
LSEvenXtalk
|
B Block
|
0
|
0
|
1.90E-06
|
1.90E-06
|
0
|
0
|
1.90E-06
|
1.90E-06
|
용어 참고) HSEvenXtalk Crosstalk : Rise Stimulus to Neighbors and Victim held High
HSOddXtalk Crosstalk : Fall Stimulus to Neighbors and Victim held High
LSEvenXtalk Crosstalk : Fall Stimulus to Neighbors and Victim held Low
LSOddXtalk Crosstalk : Rise Stimulus to Neighbors and Victim held Low
위의 그래프는 A Block(인접한 net들이 있는 부분)과 B Block(인접한 net들이 없는 부분) 중 임의의 net을 선정해서 Crosstalk noise를 분석한 것입니다.
파란색파형이 A Block의 Crosstalk noise의 파형이며 Dual Strip으로 구성된 Signal_5층과 Signal6층 사이의 Net 중 하나를 임의로 선정해서 Crosstalk noise Simulation을 한 결과입니다.
빨간색파형은 B Block의 Crosstalk noise파형이며 마찬가지로 Dual Strip으로 구성된 Signal_5층과 Signal_6층 사이의 Net중 임의의 Net을 선정해 Crosstalk noise Simulation을 한 결과입니다.
이 결과에서 보면 파란색은 Crosstalk noise가 최대 261.621mV까지 영향을 준다는 의미이고, 빨간색 파형은 Crosstalk noise가 거의 발생하고 있지 않다는 것을 알 수 있습니다. 값 자체는 절대적인 값이 아니므로 큰 의미가 없습니다. 하지만 B Block과 비교하는 상대적인 지표는 될 수 있습니다.
그래프 아래의 표를 보면 인접한 net들이 있는 부분과 없는 부분이 각 Signal간에 얼마나 영향을 주고 있는지 수치상으로 확인 할 수 있습니다. A Block의 표를 보면 Crosstalk noise가 최고 약 370mV정도인데 반해, B Block의 표를 보면 최고 1.90E-06mV로 Signal간에 미치는 영향이 거의 없다는 것을 알 수 있습니다.
[Crosstalk noise를 해결하는 방법]
Crosstalk noise를 해결하는 방법으로는 Dual Strip 구조 사이에 Reference plane이 있는 것이 가장 좋은 방법입니다. 하지만 이러한 적층 구조를 변경 할 수 없다면 서로 영향을 받는 net들을 인접해서 지나가지 않게 설계를 수정해서 Crosstalk noise를 줄일 수 있습니다.
결론적으로 디지털장비의 고속화와 집적화로인해 전원 Noise, Timing면에서나 Crosstalk noise면에서 보면 Trace Length와 배선간의 간격 제약이 점점 더 많아지면서 동작이 되지 않는 장비들이 늘고 있습니다. 따라서 앞으로 더욱 Simulation의 필요성이 부각될 것 이라고 예상합니다.
|