基于FPGA的音頻處理芯片的設(shè)計(jì)
其中,Zero,Sign,Shift分別為操作控制本文引用地址:http://butianyuan.cn/article/166625.htm
Zero表示不加任何操作數(shù)
Sign表示加上負(fù)的操作數(shù)
Shift表示移位操作
而Virtual Address表示操作數(shù)的虛擬地址。
Base Address總是指向DataRAM中最早寫入的值所在的地址,也就是x(n-7)的地址,而Virtual Address其他值相對(duì)于x(n-7)的地址,所以可以得出操作數(shù)在DataRAM中實(shí)際的地址:
Physical Address=BaseAddress+VirtualAddress
以y(n)=2-1(...2-1(2-1(2-1u1+u2)+u3)+...)+u16)中的u1為例
U1 = x(n-6) - x(n-7);
參數(shù)設(shè)置:C1= x(n-6)=000001
C2=-x(n-7)=011000
※最低的三位表示存儲(chǔ)地址
※第4位表示移位標(biāo)志,C2(4)為1表示計(jì)算出U1以后要右移得到2-1* U1
※第5位表示符號(hào)位,控制加減運(yùn)算。C1(5)為0表示加, C2(5)為1表示減
※最高位,也就是第6位在Un=0時(shí)為1,這里只有C19(6)為1
3.3 端口描述
3.4 模塊設(shè)計(jì)
3.4.1 EEPROM [5]
·EEPROM用來存儲(chǔ)系統(tǒng)參數(shù)
·EEPROM是32*6bit的存儲(chǔ)陣列
·EEPROM的輸入是Enable,Address(4 downto 0)
·EEPROM的輸出是CoeffData(5 downto 0)
·EEPROM的首單元存放了操作的個(gè)數(shù);例如,首單元存放011100表示一共有28個(gè)操作。
3.4.2 ProgramRAM [6]
·ProgramRAM接收EEPROM中的系統(tǒng)參數(shù)
·ProgramRAM是32*6bit的存儲(chǔ)陣列
·ProgramRAM的輸入是Write,Read,DataIn(5 downto 0),Address(4 downto 0)
·ProgramRAM的輸出是Zero,Sign,Shift,DataAddr(2 downto 0)
3.4.3串并轉(zhuǎn)換模塊[7] (Serial2Parallel)
·Serial2Parallel接收來自ADC的串行數(shù)據(jù)、數(shù)據(jù)時(shí)鐘和幀同步信號(hào)
·Serial2Parallel將串行輸入信號(hào)轉(zhuǎn)化為16bit的并行信號(hào)
·Serial2Parallel的輸入是DataClk,DataIn,F(xiàn)rameSync
·Serial2Parallel的輸出是DataOut(15 downto 0),DataOutSync
評(píng)論