視頻控制器的特殊技術
時鐘域同步模塊是輸出控制模塊設計的重點,它主要負責兩個時鐘域之間的控制信號傳遞。跨時鐘域的信號傳遞設計較為麻煩, 所以設計中將傳遞的信號分為兩類:數據信號和控制信號,其中控制信號就是通過時鐘域同步模塊傳遞。對需要跨時鐘域傳遞的信號數進行精簡,在*后方案中只需要2個信號:WrDone信號由系統時鐘域發出,通知顯示時鐘域某塊雙口SRAM中的數據已經更新完畢,可以讀取并進行顯示輸出;RdDone信號由顯示時鐘域發出,通知系統時鐘域某塊雙口SRAM中的數據已經顯示完畢,可以更新其內部的數據。信號在不同的時鐘域之間傳遞需要采取消除亞穩態(Metastability)的處理措施,可使信號通過兩級寄存器鎖存輸出。 設計中有兩點值得注意,首先,時鐘域同步電路應放在一個獨立的模塊中,保證綜合工具的優化、時序分析的正確,并方便電路的分析和調試;同時,為了能夠使信號的目標時鐘域采集到信號變化,設計中傳遞的控制信號都采用電平信號表征。
時鐘域之間要傳遞的另一種信號是數據信號,由于數據信號數目較多、變化也較快,所以它們的傳遞通過雙口DPRAM實現。雙口DPRAM要求讀寫端口對同一存儲地址的操作要滿足一定的時間間隔,否則會出現數據傳輸錯誤,甚至會破壞硬件電路。因此為了避免DPRAM的讀寫沖突,設計中采用了“乒乓”緩沖的方法,兩塊DPRAM交替存取解碼后用于顯示的亮度或色差數據:當顯示部分讀取一塊DPRAM中的數據時,系統向另一塊DPRAM中寫接下來要顯示的數據,數據讀取完畢時,兩塊DPRAM就進行交換。這部分共用4塊DPRAM來實現,2塊傳遞亮度信號,2塊傳遞色差信號。
下面分析在視頻控制器顯示輸出子模塊中運用到的格式轉換算法、圖像縮放處理算法以及它們的硬件實現。
顯示數據格式轉換分析
根據Sil 164 DVI信號編碼芯片資料,同時參考H.264視頻編碼標準中給出的YUV → RGB轉換格式,故在設計中采用的固定轉換算法如下式所示:
上式經過定點化處理,使用移位和相加的方法實現了轉換,如下式所示:
在硬件設計中的YUV、RGB信號都是用8位無符號數表示,中間變量采用12位保證精度。*后要在0~255的范圍內對計算出的RGB結果進行剪裁處理,式中的冪指數和除法運算都通過移位來實現。