目錄
1. 超頻介紹
2. VCU正常設計
2.1. VCU時鐘
2.2. Clocking Wizard配置
2.3. 單闆時鐘
2.3.1. vivado接口屬性
2.3.2. vivado限制
3. 超頻步驟
3.1. vivado接口屬性
3.2. vivado限制
4. 結論
1. 超頻介紹
很多晶片可以暫時超頻使用。 當然,出于良品率、長期可靠性考慮,廠家官方都不建議超頻使用。
Xilinx的器件質也能超頻。幾年前,當Zynq-7000剛面世時,通過修改PLL的設定,7020的A9的頻率被超頻到1GHz後,也能正常運作。
最近有人問到MPSoC的VCU能不能超頻。檢查Vivado裡的VCU設計後,确認通過簡單步驟,VCU也能超頻。這是黑客操作。請確定電源有足夠的供電、單闆有足夠的散熱能力。超頻後,VCU已經工作在産品規格之外,工程師需要承擔器件可能損壞的責任。如果在産品中使用,一定要注意在高溫、低溫等極端情況下,是否能正常工作。
2. VCU正常設計
VCU編解碼器内部使用時鐘pll_ref_clk,所有外部AXI接口使用其它時鐘。如果調整内部時鐘pll_ref_clk,不會影響外部接口時鐘,也不會引起時序問題。是以非常友善。
VCU的信号如下。

VCU的信号說明。
VCU的工作時鐘一般是667MHz,由VCU自己内部的PLL産生。
VCU内部時鐘pll_ref_clk來自于外部時鐘晶片si570的輸出。si570的輸出是300MHz的時鐘,進入PL後,經過一個Clocking Wizard,産生33MHz給VCU作為pll_ref_clk。
下圖展示了VCU的時鐘來源,包括從si570到Clocking Wizard的設計。
Clocking Wizard的輸入是300MHz。
Clocking Wizard的輸出是33.33MHz。
PL設計中,來自于外部時鐘晶片si570的信号是si570_user。在Vivado的屬性設定裡,聲明了si570_user是300MHz。
vivado限制檔案裡,也指定了si570_user的周期是3.333ns,對應的頻率是300MHz。
3. 超頻步驟
Vivado會檢查VCU的時鐘。如果VCU的時鐘超出規格,會報錯。
超頻的核心訣竅是欺騙Vivado,向Vivado聲明一個假的時鐘頻率。比如實際輸入頻率是300MHz,我們在設計中卻告訴它是200MHz。那麼在後續的倍頻操作中,Vivado會以200MHz計算出産生667MHz的倍頻分頻系數,實際得到的頻率就是667*(300/200),也就是1000MHz。
測試時,打算把VCU的頻率超頻到933MHz。VCU的配置裡,已經把VCU的頻率,改為712MHZ。是以要把輸入頻率,降低933/712=1.310倍,也就是改為300/1.310=228.9MHz,對應的周期4.368。
在Vivado的屬性設定裡,把si570_user的頻率,從300MHz,改為228.9MHz。
vivado限制檔案裡,也指定了si570_user的周期是4.368ns,對應的頻率是933MHz。
4. 結論
編譯Vivado工程,更新PetaLinux工程的HDF檔案,再産生Linux檔案。單闆能正常啟動,編碼4K檔案時,幀率能夠顯著提升。
最後,再次聲明,超頻後,VCU已經工作在産品規格之外,需要自己承擔器件可能損壞的責任。