YUV分離的兩種FPGA實(shí)現
3 基于速度的實(shí)現
前面提到了FPGA設計中面積與速度不斷變換的原則,基于面積的實(shí)現方式只用到了一片雙口RAM,在一定程度上達到了面積優(yōu)化的目標,但是也看到讀/寫(xiě)是串行執行的,在系統運行速度上確實(shí)有一定的缺陷,無(wú)法滿(mǎn)足系統對實(shí)時(shí)性的要求,同時(shí)系統需要兩個(gè)不同頻率的時(shí)鐘,容易引起亞穩態(tài)。下面將介紹一種基于速度的實(shí)現方式。
3.1 乒乓操作
乒乓操作是一個(gè)用于數據流控制的處理技巧,本文利用了兩片雙口RAM來(lái)作為乒乓操作的數據緩沖區,乒乓操作如圖4所示。外部視頻數據在輸入數據選擇控制模塊和輸出數據選擇控制模塊的控制下,完成緩沖區的選擇和視頻數據的輸入/輸出,并將經(jīng)過(guò)緩沖的數據流不停頓地送到下一模塊進(jìn)行運算或處理。它適合于對數據流進(jìn)行流水線(xiàn)式處理,能高效地完成大量實(shí)時(shí)視頻數據的無(wú)縫緩沖和處理。在第一個(gè)緩存周期,也稱(chēng)之為雙口RAM0的寫(xiě)周期。視頻數據在雙口RAM控制器控制下選擇將視頻數據輸入到雙口RAM0;在下一個(gè)周期,輸入控制模塊將視頻數據輸入到雙口RAM1,同時(shí)輸出控制模塊輸出雙口RAM0的視頻數據到后續模塊進(jìn)行處理;在第三個(gè)周期時(shí),在輸入控制模塊的控制下,將輸入視頻數據輸入到雙口RAM0,同時(shí)在輸出控制模塊控制下,將雙口RAM1中存儲數據輸出到后續模塊,如此不斷循環(huán)。本文引用地址:http://dyxdggzs.com/article/190540.htm
3.2 模塊設計與仿真
該模塊利用了兩片雙口RAM在不同的緩沖周期內分別進(jìn)行讀/寫(xiě)。該模塊主要由有效數據抽取、雙口RAM控制器、兩片雙口RAM組成,模塊結構如圖5所示。該模塊在控制器控制下視頻數據經(jīng)有效數據抽取模塊抽取后進(jìn)入雙口RAM,控制器為雙口RAM提供讀/寫(xiě)使能,通過(guò)寫(xiě)使能控制數據寫(xiě)入是否有效,data_valid是有效數據抽取模塊,用來(lái)標識有效視頻數據的信號,由它為模塊提供寫(xiě)使能,等到寫(xiě)操作完成后向SDR AM控制器發(fā)送滿(mǎn)信號,此時(shí)讀使能r_en由SDRAM控制器提供。通過(guò)控制器提供的讀/寫(xiě)使能完成兩片雙口RAM的讀寫(xiě)切換。該模塊利用了兩片雙口RAM之間的乒乓操作,流水地實(shí)現了YUV分離的并行處理。
電子鎮流器相關(guān)文章:電子鎮流器工作原理
評論