一言以蔽之:SerDes近年來在半導體設計中變得越來越重要。
什麼叫「並行資料」呢?多個bit的資料在同一個時間點一起抵達,就是parallel data。什麼叫「串列資料」呢?多個bit的資料在不同的時間點依序抵達,就是serial data。
SerDes是Serializer和Deserializer,也就是串列器和解串器的合稱,其中Serializer是把「並行資料」轉換成「串列資料」來發送,而Deserializer是把接收的「串列資料」轉換回「並行資料」。
那為什麼要轉去又轉回呢,沒事多轉一手做什麼?如上圖,左邊的IC #1有8-bit的資料要傳送到右邊的IC #2,本來在PCB板子上的走線應該也要有8條線才對,但如果我們使用了Serializer把IC #1的8條線『壓縮』成2條線,Deserializer收到後再『解壓縮』回8條線給IC #2,如此在PCB上就可以減少為2條線。
假設本來8條parallel data,每條速率是100Mbps,總共負載了800Mbps的資料量,現在被壓縮成2條serial data,還是要傳遞800Mbps的資料量,因此平均每一條線的傳遞量能要提高到400Mbps。由於在PCB上傳輸很容易會有損耗及干擾,為了提高PCB上傳輸的穩定度,會把single-ended的訊號變成differential-mode,如此一來每條線的傳遞量能會減半,因此每一條線得傳遞800Mbps。
為什麼要用differential-mode(差動訊號)取代single-ended(單端訊號)?
- 令訊號強度為S=10、雜訊強度為N=1。
- 當我們使用single-ended傳輸的時候,訊號v.s.雜訊的能量比就是(S^2)/(N^2)=100/1=100倍。
- 如果我們改用differential-mode傳輸的時候,因為有二條線,訊號變大為二倍2*S、訊號能量變大為(2*S)^2=400,但二條線的雜訊互不相關,所以雜訊能量只有變大為(N^2)+(N^2)=2,此時訊號v.s.雜訊的能量比就是(4*S^2)/(2*N^2)=400/2=200倍。
- 比較前二者,可以看出differential-mode在對抗雜訊上,比single-ended更強大。
近年來資料量爆炸,根據統計,雲端數據流量的年成長率超過25%,除了佈建越來越多條的線路(PCB走線、電線、電纜、光纖)以外,另外一個方案就是提高每條線路的傳輸速度。終端市場對速度的需求,就造就了高速SerDes在半導體設計中越來越火熱。