PCIe signal De-emphasis, Pre-shoot, Boost란?



1. Differential signal

고속의 신호에서는 low-voltage differential signaling 이 많이 사용됩니다. 이러한 처리 방법은 noise에 강합니다. 만약 A+, A- 신호에 똑같이 a라는 noise가 들어온다고 가정해보겠습니다. dirrerential signaling은 서로 반대되는 신호가 들어와 두 신호의 차이를 이용하여 입력된 값을 해석하는데, ((A+) + a) - ((A-) + a) 와 같은 방식을 통해서 2A+라는 결론을 얻을 수 있습니다. differential signaling은 노이즈가 상쇄되는 구조이기 때문에, 고속 신호에서 많이 사용합니다.

2. De-emphasis & Pre-shoot

image

2.5GT/s(Gen1) & 5GT/s(Gen2) 상태에서는 De-emphasis 과정이 적용되고, 8GT/s 상태에서는 De-emphasis와 Pre-shoot 과정이 수행됩니다. 고속의 신호에서 조금 더 noise 가 많이 발생하여, 8GT/s 에서는 기존의 속도들보다 조금 더 정교한 신호 처리 과정이 필요하기 때문에 Pre-shoot이 추가된 것입니다. 자세한 내용은 아래에서 디테일하게 설명합니다.

2.1. De-emphasis in Gen1 and Gen2

신호 전송 과정에서 발생하는 왜곡을 줄이기 위하여 De-emphasis를 사용합니다. 데이터 전송률이 높아짐에 따라서, UI(Unit Interval) 이 점점 작아졌습니다. 이는 하나의 비트 시간에서의 값이 다른 비트 시간에서의 값에 영향을 미치는 것을 피하기 어려워졌다는 것을 의미합니다. 채널은 전압 레벨의 변화에 저항하는 성질을 가지고 있기 때문에, 전압이 일정한 상황 보다는 지속적으로 바뀔 때, 영향을 더 크게 미칠 수 있습니다.

image

De-emphasis는 bit stream에서 반복되는 bits의 voltage를 낮춰주는 역할을 합니다. 그림에서 보는 것처럼 연속되는 같은 voltage에서 첫 신호는 감소시키지 않고, 다음 따라오는 신호들에 대하여 voltage를 감소시키는 것이 De-emphasis입니다. 이러한 동작은 signal swing을 감소시키고 Receiver에 도달하는 에너지를 감소시키는 것 같아서 직관적이지는 않지만, 신호 퀄리티를 개선하는데 도움을 줍니다.

2.2. De-emphasis in Gen3

2.2.1. 3-Tap Tx Equalizaer 이란?

Gen3에서는 Gen1, Gen2 보다 훨씬 더 정교한 신호 처리가 필요합니다. 기존보다 속도가 훨씬 더 빠르기 때문입니다. LTSSM에서의 Recovery.Equalization 과정에서 Receiver는 Transmitter가 특정한 coefficients의 조합을 사용하는 것을 요청하고, Receiver는 Transmitter가 보낸 신호(자신이 받은 신호)가 얼마나 좋은지 테스트하고, 신호가 좋지 않으면 다른 조합을 추천합니다.

image

Transmitter가 파형을 더 잘 잡게하기 위하여, 스펙에서는 3-tap FIR (Finite Impluse Response) filter 사용을 요구합니다. 위의 필터에는 3 bit가 한 번에 입력으로 들어가고, 3가지 입력의 합이 출력으로 나가게 됩니다. 3개의 연속된 비트의 조합은 한 비트가 자신의 앞과 뒤의 비트에 영향을 받기 때문에, 신호처리를 잘 할 수 있습니다. 이해하기 쉽게 예시를 들면, 위의 그림에서는 x(n-1)은 x(n), x(n-2)에 모두 영향을 받는다고 보면 됩니다.

image

위의 이미지와 바로 위의 이미지는 동일한 이미지입니다. $ C_{-1} $ 는 “pre-cursor”, $ C_{0} $는 “cursor”, $ C_{+1} $는 “post-cursor” 라고 합니다. 3개의 cursor 절대값을 합치면 항상 동일한 값(1)이 나와야합니다. $ C_{0} $는 항상 양수이며, 나머지 2개의 cursor 값은 스펙에 주어집니다.

2.2.2. Pre-shoot, De-emphasis, Boost 개념

image

coefficient 값들의 효과는 output voltage에서 4가지의 다른 형태의 voltage level을 생성합니다. 4가지 형태는 각각 maximum-height($ V_d $), normal($ V_a $), de-emphasized($ V_b $), and pre-shoot($ V_c $)입니다. Gen1, Gen2 에서는 de-emphasis만 사용하고, Gen3에서는 pre-shoot도 함께 사용합니다. cursor에 대한 몇가지 특징은 아래와 같습니다.

  • maximum value는 $ C_{+1} $, $ C_{-1} $ 이 0 이고, $ C_{0} $이 1인 상태입니다.
  • cursor의 양쪽의 비트가 중앙의 비트와 반대 극성을 가지는 경우에, 전압은 maximum voltage가 됩니다.
  • 연속된 비트가 전송되는 경우에는 첫 비트는 $ V_a $, 마지막 비트는 $ V_c $, 첫 비트와 마지막 비트를 제외한 가운데 비트들은 $ V_b $입니다. 위의 이미지에서도 확인할 수 있습니다.

image

Gen1 or Gen2에서 Gen3로 속도가 올라갈 때, Downstream Port는 EQ TS2를 Upstream Port에 전송합니다. 이는 Upstream Port에게 처음 Link signal quality test를 진행하기 위한 preset 값을 주기 위해서입니다. 11개의 가능한 preset 들이 위와 같이 미리 선정되어 있습니다. 이 선정된 값을 통하여 처음에 coarse하게 Tx equalization을 수행합니다. $ 10^{-12} $ 의 에러율을 보인다면 해당 preset들을 사용하겠지만, 만약 에러율이 높으면 미세한 조정을 통하여 만족스러운 에러율이 나올 때 까지 조정합니다.


출처

  • https://m.blog.naver.com/PostView.nhn?blogId=lecroykorea&logNo=220230489433&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
  • https://ieeexplore.ieee.org/document/8347238
  • https://www.sciencedirect.com/topics/engineering/denominator-polynomial
  • https://www.chipestimate.com/Type-C-USB31-PHY-Challenges-in-Analog-and-Digital-Design/SilabTech/Technical-Article/2016/02/23
  • Mindshare_PCIe3.0
  • https://ednjapan.com/edn/articles/1512/18/news010_2.html
  • http://e2e.ti.com/support/interface/f/138/t/505444?Two-DS80PCI810-in-series-failing-to-get-PCI-Gen3-beyond-x1-link