基于FPGA的音频处理芯片的设计
其中,Zero,Sign,Shift分别为操作控制本文引用地址:https://www.eepw.com.cn/article/166625.htm
Zero表示不加任何操作数
Sign表示加上负的操作数
Shift表示移位操作
而Virtual Address表示操作数的虚拟地址。
Base Address总是指向DataRAM中最早写入的值所在的地址,也就是x(n-7)的地址,而Virtual Address其他值相对于x(n-7)的地址,所以可以得出操作数在DataRAM中实际的地址:
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);
参数设置:C1= x(n-6)=000001
C2=-x(n-7)=011000
※最低的三位表示存储地址
※第4位表示移位标志,C2(4)为1表示计算出U1以后要右移得到2-1* U1
※第5位表示符号位,控制加减运算。C1(5)为0表示加, C2(5)为1表示减
※最高位,也就是第6位在Un=0时为1,这里只有C19(6)为1
3.3 端口描述
3.4 模块设计
3.4.1 EEPROM [5]
·EEPROM用来存储系统参数
·EEPROM是32*6bit的存储阵列
·EEPROM的输入是Enable,Address(4 downto 0)
·EEPROM的输出是CoeffData(5 downto 0)
·EEPROM的首单元存放了操作的个数;例如,首单元存放011100表示一共有28个操作。
3.4.2 ProgramRAM [6]
·ProgramRAM接收EEPROM中的系统参数
·ProgramRAM是32*6bit的存储阵列
·ProgramRAM的输入是Write,Read,DataIn(5 downto 0),Address(4 downto 0)
·ProgramRAM的输出是Zero,Sign,Shift,DataAddr(2 downto 0)
3.4.3串并转换模块[7] (Serial2Parallel)
·Serial2Parallel接收来自ADC的串行数据、数据时钟和帧同步信号
·Serial2Parallel将串行输入信号转化为16bit的并行信号
·Serial2Parallel的输入是DataClk,DataIn,FrameSync
·Serial2Parallel的输出是DataOut(15 downto 0),DataOutSync
评论