6 設計功能模塊
設計的結構如上圖所示,包括髮送模塊與接收模塊,發送模塊包括9位輸入寄存器、8b/10b編碼器、並串轉換。接收模塊包括:輸出寄存器、8b/10b解碼器、comma檢測器、串並轉換模塊、CDR。
在實際的程序設計中,其程序的結構如圖所示:
6.1 發送模塊
發送模塊包括3個子模塊:
Ø t_sim:系統復位後先發送comma碼K28.5,延時一段時間後,生成一個8位的累加數提供給encode模塊。
Ø encode:將8bit的數據進行編碼,輸出10bit的編碼數據給serial_10b模塊。
Ø serial_10b:並串轉換模塊,將10bit的編碼數據通過發送時鐘發送給LVDS的IO。
6.2 接收模塊
接收部分包括:CDR_block、s2p_10bit、r_check、decode
發送模塊包括3個子模塊:
Ø CDR_block:時鐘數據恢復模塊,將輸入的串行的數據進行重定時,並從數據中恢復出數據採樣時鐘,該模塊下包含一個PLL的模塊,將輸入的20Mhz時鐘倍頻出4個相位相差90的採樣時鐘,分別爲clk0、clk90、clk180、clk270。並通過這四個時鐘對數據進行採樣,其採樣的效果與過採樣相同。