verilog學習(8)實戰之PPL與串行/解串器


一:PLL

1:組成

  輸出時鍾產生器,相位比較器,可變頻率振盪器(VFO),PLL會比較輸入時鍾相位與VFO產生的輸出時鍾之間的差別,並且通過這個差別來調整VFO產生的時鍾頻率。

  

2:VFO代碼

  我們定義比較器給VFO加快頻率的指令是2‘b11,減慢頻率的指令是2’b00.

  

3:比較器設計

(A)方法一:用一個時鍾來對另一個時鍾的高電平寬度進行計數。如果每次PLLClock高電平時計數都為1,那么說明兩個時鍾是吻合的。

  

 (B)對A改進

  首先HiCount計數可能會溢出,技術值重新翻轉到2‘b00。2’b00的作用是加快產生時鍾頻率,這使得頻率的調整方向與真實情況正好相反。如果我們把HiCount的位寬由兩比特擴展至3比特,可以解決這個問題。

  接着,來解決調整精度的問題,這可以通過把高電平的計數值在多個時鍾里求平均的辦法來解決;當兩個時鍾同步時,這個計數值應該一直為1。(這點不明白)

  

   

4:頂層設計

  

二:倍頻PLL(以32倍頻為例)

1:電路圖

  

  即在原1倍頻的輸出端加n比特向上計數器,如,32倍頻時,每16個時鍾,輸出端輸出一個時鍾用於與輸入時鍾進行比較,從而起到倍頻PLL。 32=2^5,因此計數器為5.                                                                                                                                                                                                                                                                                                        

 三:SerDes與PCI Express簡介

1:基本概念

  PCI是32比特的並行總線協議;

  PCI Express用來取代PCI總線的新的串行總線協議

  SerDes:串行/解串器

  下面將完成一個符合PCI Express規范的串行/解串器(SerDes)的設計

2:並串轉換器模型

  

   串行協議:每一個時鍾發送一個比特,先發送MSB,同時把信號SerValidFlag拉高;當發送了LSB后,再把SerValidFlag拉低。

  主要代碼:ParValid=1,SarValid=1,然后將BusIn[ix]的值循環輸出,最后SarValid拉低。(ParValid是仿真給的值)

  

 3:串行幀編碼器

  數據串行輸出之前有一定的幀格式,例如一個並行包32bit,串行輸出,要在每個字節后加一個字節。如下:x代表數據,數據后面為一個字節的幀邊界。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM