新闻中心

EEPW首页 > 消费电子 > 设计应用 > AAC音频解码中位数可选且自动加载移位寄存器设计

AAC音频解码中位数可选且自动加载移位寄存器设计

作者:时间:2009-03-24来源:网络收藏


图3 初始化状态转移图

3.3

  之所以选择64位的,是因为若选择一倍于存储器宽度的移位寄存器长度(32位),移位后剩余的有效数据的位数可能不够下一次的移位长度,为满足移位长度的要求,需要在后再次移位,因此移位最多要花费三个时钟周期的时间;若选择三倍于存储器宽度的移位寄存器的长度或更长(>=96位)时,当设定数据的标志为有效数据不大于32时,需要两次数据,当设定加载数据的标志为有效数据不大于64时,此时移位寄存器中的有效数据相对于需要移位的最长数据偏长且没有必要。所以,将移位寄存器的长度选择为2倍于存储器的宽度(64位)在时间和空间上都达到了最优。

  初始化过程:初始化状态机产生的输出信号init_0和init_1为两次加载的控制信号,这两个信号控制移位寄存器在初始化的两个时钟周期内,从存储器中取出数据并将其分别加载到高32位和低32位。

  移位过程:当取数信号发出取数要求时,输入的取数位数作为多路选择器的数据选择端,当前移位寄存器的值和0作为多路选择器的数据端,通过数据选择决定移位寄存器下个周期从高位到低位的值。

  加载过程:当加载信号发出时,剩余有效数据作为多路选择器的数据选择端,当前移位寄存器的值、FIFO输出的值和0作为多路选择器的数据端,通过数据选择决定移位寄存器下个周期从高位到低位的值。

  移位和加载同时发生的过程:当移位和加载信号同时产生时,移位寄存器中剩余的有效数据的位数和输入的取数位数共同作为多路选择器的数据选择端,当前移位寄存器的值、FIFO输出的值和0作为多路选择器的数据端,通过数据选择决定移位寄存器下个周期从高位到低位的值。

4、实验结果

  为完成实时性的要求,本对典型的移位寄存器在速度上进行改进,但控制逻辑变得复杂,从而消耗了更多资源。因此,我们选择速度、面积作为性能指标对两种进行比较。在基于FPGA的硬件设计中,面积指标通常用查找表数和寄存器数来表示,速度指标我们选择最大时钟频率及时平均每帧消耗的周期数来表示。

  我们采用altera公司FPGA开发工具QuartusII分别对两块电路进行综合和时序分析,从综合报告中获得查找表和寄存器的数目,从时序报告中获得最大时钟频率。并将两个设计分别同电路一起整体下载到stratix II EP2S180 的FPGA开发板,以压缩文件中随机抽取的10帧数据为测试矢量,使用一计数器记录下移位寄存器消耗的周期数,将其写入片内ram,并将观测到的数据通过计算得平均每帧消耗的周期数。实验结果如下表所示:


表1 实验数据对比



  由对比数据可得以下结论:

  1、典型移位寄存器的工作频率大于位数可选、加载移位寄存器的频率。但由于此移位寄存器只是更大电路中的一个小模块,由实际结果可知电路整体的工作频率并不取决于此模块的工作频率,所以在整体电路中对单独模块的频率进行比较并不能得出速度的优劣。

  2、由查找表数和寄存器数的比较可得:典型移位寄存器消耗的资源远小于位数可选、加载移位寄存器,即典型移位寄存器在面积上占有较大优势。

  3、由平均每帧消耗周期数的比较可得:两者工作在相同的时钟频率下时,位数可选、加载移位寄存器消耗的时间约为典型移位寄存器的28%,单位时间内传输的数据量提高到典型移位寄存器的356%,所以位数可选、自动加载移位寄存器在速度上占有较大优势。

  综上,为完成解码的实时性要求,本设计进行了速度和面积上的折中处理,相对于典型移位寄存器本设计以牺牲面积为代价换取了速度上的优势,使之在规定时间内完成解码。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭