AAC音頻解碼中位數(shù)可選且自動加載移位寄存器設(shè)計
之所以選擇64位的移位寄存器,是因為若選擇一倍于存儲器寬度的移位寄存器長度(32位),移位后剩余的有效數(shù)據(jù)的位數(shù)可能不夠下一次的移位長度,為滿足移位長度的要求,需要在加載后再次移位,因此移位最多要花費(fèi)三個時鐘周期的時間;若選擇三倍于存儲器寬度的移位寄存器的長度或更長(>=96位)時,當(dāng)設(shè)定加載數(shù)據(jù)的標(biāo)志為有效數(shù)據(jù)不大于32時,需要加載兩次數(shù)據(jù),當(dāng)設(shè)定加載數(shù)據(jù)的標(biāo)志為有效數(shù)據(jù)不大于64時,此時移位寄存器中的有效數(shù)據(jù)相對于需要移位的最長數(shù)據(jù)偏長且沒有必要。所以,將移位寄存器的長度選擇為2倍于存儲器的寬度(64位)在時間和空間上都達(dá)到了最優(yōu)。
初始化過程:初始化狀態(tài)機(jī)產(chǎn)生的輸出信號init_0和init_1為兩次加載的控制信號,這兩個信號控制移位寄存器在初始化的兩個時鐘周期內(nèi),從存儲器中取出數(shù)據(jù)并將其分別加載到高32位和低32位。
移位過程:當(dāng)取數(shù)信號發(fā)出取數(shù)要求時,輸入的取數(shù)位數(shù)作為多路選擇器的數(shù)據(jù)選擇端,當(dāng)前移位寄存器的值和0作為多路選擇器的數(shù)據(jù)端,通過數(shù)據(jù)選擇決定移位寄存器下個周期從高位到低位的值。
加載過程:當(dāng)加載信號發(fā)出時,剩余有效數(shù)據(jù)作為多路選擇器的數(shù)據(jù)選擇端,當(dāng)前移位寄存器的值、FIFO輸出的值和0作為多路選擇器的數(shù)據(jù)端,通過數(shù)據(jù)選擇決定移位寄存器下個周期從高位到低位的值。
移位和加載同時發(fā)生的過程:當(dāng)移位和加載信號同時產(chǎn)生時,移位寄存器中剩余的有效數(shù)據(jù)的位數(shù)和輸入的取數(shù)位數(shù)共同作為多路選擇器的數(shù)據(jù)選擇端,當(dāng)前移位寄存器的值、FIFO輸出的值和0作為多路選擇器的數(shù)據(jù)端,通過數(shù)據(jù)選擇決定移位寄存器下個周期從高位到低位的值。
4、實(shí)驗結(jié)果
為完成解碼實(shí)時性的要求,本設(shè)計對典型的移位寄存器在速度上進(jìn)行改進(jìn),但控制邏輯變得復(fù)雜,從而消耗了更多資源。因此,我們選擇速度、面積作為性能指標(biāo)對兩種設(shè)計進(jìn)行比較。在基于FPGA的硬件設(shè)計中,面積指標(biāo)通常用查找表數(shù)和寄存器數(shù)來表示,速度指標(biāo)我們選擇最大時鐘頻率及解碼時平均每幀消耗的周期數(shù)來表示。
我們采用altera公司FPGA開發(fā)工具QuartusII分別對兩塊電路進(jìn)行綜合和時序分析,從綜合報告中獲得查找表和寄存器的數(shù)目,從時序報告中獲得最大時鐘頻率。并將兩個設(shè)計分別同AAC音頻解碼電路一起整體下載到stratix II EP2S180 的FPGA開發(fā)板,以AAC音頻壓縮文件中隨機(jī)抽取的10幀數(shù)據(jù)為測試矢量,使用一計數(shù)器記錄下移位寄存器消耗的周期數(shù),將其寫入片內(nèi)ram,并將觀測到的數(shù)據(jù)通過計算得平均每幀消耗的周期數(shù)。實(shí)驗結(jié)果如下表所示:
表1 實(shí)驗數(shù)據(jù)對比
由對比數(shù)據(jù)可得以下結(jié)論:
1、典型移位寄存器的工作頻率大于位數(shù)可選、自動加載移位寄存器的頻率。但由于此移位寄存器只是更大電路中的一個小模塊,由實(shí)際結(jié)果可知電路整體的工作頻率并不取決于此模塊的工作頻率,所以在整體電路中對單獨(dú)模塊的頻率進(jìn)行比較并不能得出速度的優(yōu)劣。
2、由查找表數(shù)和寄存器數(shù)的比較可得:典型移位寄存器消耗的資源遠(yuǎn)小于位數(shù)可選、自動加載移位寄存器,即典型移位寄存器在面積上占有較大優(yōu)勢。
3、由平均每幀消耗周期數(shù)的比較可得:兩者工作在相同的時鐘頻率下時,位數(shù)可選、自動加載移位寄存器消耗的時間約為典型移位寄存器的28%,單位時間內(nèi)傳輸?shù)臄?shù)據(jù)量提高到典型移位寄存器的356%,所以位數(shù)可選、自動加載移位寄存器在速度上占有較大優(yōu)勢。
綜上,為完成AAC音頻解碼的實(shí)時性要求,本設(shè)計進(jìn)行了速度和面積上的折中處理,相對于典型移位寄存器本設(shè)計以犧牲面積為代價換取了速度上的優(yōu)勢,使之在規(guī)定時間內(nèi)完成解碼。
評論