基于FPGA的RGB到Y(jié)CrCb顏色空間轉(zhuǎn)換
根據(jù)B’的取值不同,ofset的取值取整后為14,15,16。在計(jì)算過(guò)程中,可以用一個(gè)數(shù)據(jù)選擇器根據(jù)B’值的不同選擇offset的值。0.5-B’的計(jì)算可以用移位實(shí)現(xiàn)?;?jiǎn)后的轉(zhuǎn)換算法.對(duì)Y,Cb,Cr的計(jì)算將比原來(lái)節(jié)省4個(gè)乘法器。在FPGA中,加法器、數(shù)據(jù)選擇器和移位算法的實(shí)現(xiàn)比乘法器簡(jiǎn)單,該化簡(jiǎn)將利于減少邏輯資源的應(yīng)用,簡(jiǎn)化實(shí)現(xiàn)電路,提高運(yùn)算速度。轉(zhuǎn)換電路結(jié)構(gòu)如圖l所示。本文引用地址:http://butianyuan.cn/article/191650.htm
3 基于FPGA的實(shí)現(xiàn)
在FPGA中,對(duì)乘法的實(shí)現(xiàn)比較復(fù)雜,可以采用如下幾種方法:
(1)直接用編程語(yǔ)言描述乘法運(yùn)算,由綜合工具自動(dòng)實(shí)現(xiàn),用該方法描述,實(shí)現(xiàn)簡(jiǎn)單,但是耗用比較多的邏輯資源。
(2)利用查找表的方式實(shí)現(xiàn)乘法運(yùn)算,事先把要相乘數(shù)據(jù)的所有結(jié)果算出來(lái)存到ROM中,根據(jù)輸入數(shù)據(jù)的值讀取相應(yīng)的結(jié)果,當(dāng)用該方法相乘數(shù)據(jù)位數(shù)比較多時(shí),會(huì)占用大量的存儲(chǔ)空間。
(3)用FPGA中內(nèi)嵌的乘法器實(shí)現(xiàn),該方法實(shí)現(xiàn)簡(jiǎn)單,當(dāng)用VHDL語(yǔ)言實(shí)現(xiàn)時(shí),調(diào)用相應(yīng)的乘法模塊即可。
本文采用第三種方法,用專用乘法器來(lái)實(shí)現(xiàn)轉(zhuǎn)換公式中的乘法運(yùn)算。Xilinx的Virtex 4系列FPGA芯片內(nèi)嵌的乘法器為Xtreme DSPTM S1i-ceDSP48 Slice其工作頻率高達(dá)500 MHz,支持多種獨(dú)立的功能,包括乘法器、乘累加器(MAC)、后接加法器的乘法器、三輸入加法器、桶形移位寄存器、寬路線多路復(fù)用器、大小及比較器或?qū)捰?jì)數(shù)器。本文將運(yùn)用DSP48 Slice模塊實(shí)現(xiàn)乘加運(yùn)算,在電路結(jié)構(gòu)圖的虛線框中,乘法和加法的運(yùn)算將用單個(gè)DSP48 Slice模塊實(shí)現(xiàn)。這樣將會(huì)減少轉(zhuǎn)換關(guān)系式中加法器的數(shù)量,節(jié)約邏輯資源,在程序中可以用元件例化語(yǔ)句調(diào)用DSP-48 Slice模塊,實(shí)現(xiàn)方法簡(jiǎn)單,程序簡(jiǎn)潔。為了滿足浮點(diǎn)數(shù)和運(yùn)算精度的要求,適合在FPGA中實(shí)現(xiàn),將式(2)改寫為:
評(píng)論