FPGA 處理視頻SDRAM帶寬計算

FPGA 處理視頻 SDRAM 帶寬計算

FPGA 處理多路視頻需要用多少 SDRAM 帶寬。

多路視頻通過 FPGA 寫入或讀出 SDRAM 需要多少帶寬?多路視頻進出SDRAM時該怎麼計算SDRAM的帶寬?FPGA 處理視頻時,像素佔用內存的位寬一般按整數位寬(8、16、32 便於圖像分割計算地址),24位真彩在SDRAM中一個像素佔 32位內存。
假設內存數據總線寬度32位,24位真彩視頻一個像素佔32位,
考慮多路讀寫SDRAM仲裁效率,動態RAM刷新等,我們按80%的效率來計算(多路仲裁讀寫SDRAM效率能做到大於80%就不錯了)。

一路1920x1080@24P60視頻寫進或者讀出SDRAM內存的速率爲 1920x1080x60/0.8 = 156MHz@32。
一路1920x1080@24P30視頻寫進或者讀出SDRAM內存的速率爲 1920x1080x30/0.8 = 78MHz@32。

例如:XILINX FPGA ARTIX-7 外接 800MHz@32bit DDR3 SDRAM
800/156 = 5 能支持 5路 1920x1080@24P60視頻進出內存。
800/78 = 10能支持10路 1920x1080@24P30視頻進出內存。

FPGA 單畫面拼接器SDRAM的帶寬計算

1080P60 單畫面拼接器,將一路視頻的一部分(比如田字四拼接屏,畫面四分之一,一個角)放大到全屏。
按2x2 田字四拼接屏舉例,見下圖,一路視頻進內存(也可以裁剪出畫面的四分之一進內存),出內存->視頻只讀出這需要顯示的四分之一數據,進行放大到1080P全屏。
一路視頻進內存後再出內存,需要計算2次帶寬。這個方案需要佔用
1920x1080x60x2/0.8 = 312MHz@32 帶寬。
我們在做這個產品硬件設計時需要選大於 333MHZ@32bit 或 666MHZ@16bit 內存方案 (DDR/DDR2/DDR3/DDR4)
在一些需要縮放的產品中,比如輸入640x480@24P75轉換爲1920x1080@24P60輸出(視頻縮放、變幀率)也可以採用該方案。
在這裏插入圖片描述
舉例闡述:FPGA 四路2K60輸入,1路2K60輸出。四畫面分割器SDRAM的帶寬計算
舉例闡述:FPGA 四路2K60輸入,1路4K30輸出。四畫面分割器SDRAM的帶寬計算(文檔還沒寫完,近期會及時更新)
舉例闡述:FPGA 四路2K60輸入,1路2K60輸出。四畫面拼接單元SDRAM的帶寬計算(文檔還沒寫完,近期會及時更新)

FPGA 多屏多畫面視頻拼接器
採用FPGA構建數字視頻矩陣的一些設計思路和設計需求
FPGA 四畫面視頻分割邏輯框圖
FPGA 四畫面視頻拼接單元邏輯框圖
FPGA 視頻處理中外部SDRAM的作用
FPGA 處理視頻SDRAM帶寬計算
FPGA 處理視頻SDRAM帶寬計算(四畫面視頻分割器)

以上數據在 XILINX FPGA ARTIX-7 XC7A35TFGG484I-2、XC7A100TFGG484I-2、XC7A200TFGG484I-2 這些芯片上做過驗證。
有用過其他不同型號 FPGA 、不同速率 SDRAM 做過類似產品的,懇請將您的經驗和數據分享給大家。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章