FPGA發展到今天,SerDes(Serializer-Deserializer)基本上是標配了。從PCI到PCI Express, 從ATA到SATA,從并行ADC接口到JESD204, 從RIO到Serial RIO,…等等,都是在借助SerDes來提高性能。SerDes是非常復雜的數模混合設計,用戶手冊的內容只是描述了森林里面的一棵小樹,并不能夠解釋SerDes是怎么工作的。SerDes怎么可以沒有傳輸時鐘信號?什么是加重和均衡?抖動和誤碼是什么關系?各種抖動之間有什么關系?本篇小文試著從一個SerDes用戶的角度來理解SerDes是怎么設計的, 由于水平有限,一定有不夠準確的地方,希望對剛開始接觸SerDes的工程師有所幫助。
FPGA學習要多練習,多仿真,signaltapII是很好的工具,可以看到每個信號的真實值,建議初學者一定要自己多動手,光看書是沒用的。關于英文文檔問題,如果要學會Quartus II的所有功能,只要看它的handbook就可以了,很詳細,對于IT行業的人,大部分知識來源都是英文文檔,一定要耐心看,會從中收獲很多的。