技术文章和通讯

自动数字滤波器的硬件实现音频编解码器

由联发科技公司。


工程一个音频编解码器过滤器链需要小心平衡性能,权力,和大小。我们组必须设计解决方案,不仅满足严格的标准信万博 尤文图斯噪比(SNR)和总谐波失真(THD),但也减少功耗和芯片所需的硅的总面积。

我们用来实现设计的寄存器传输级(RTL)代码写的字。虽然这种方法会产生一个相对较小的芯片面积,它会导致长的开发时间,和任何后续修改需求实现的可能导致重大返工。这种方法也有一些风险从业务的角度来看:我们经常不知道是多么困难的地点和路线的设计到最后的设计过程中,当它不可能改变,仍然满足我们的发布日期。

我们采用了一种新方法,在MATLAB设计®和使用滤波器设计高密度脂蛋白编码器™生成synthesizable RTL代码。通过连接硅系统设计,这种方法使我们能够迅速评估过滤器体系结构和优化硅区域。它减少了我们的RTL代码开发周期从三个月到不到两周。系统修改,用于需要近一个月来完成现在可以在三天。

设计一个音频编解码器

音频编解码器包括两个独立的处理链(图1)。从麦克风音频编码器提供了接口的数字信号处理器(DSP)。音频解码器工作相反的方向,将DSP的信号转换为数据发送到演讲者。

audio_codec_fig1_w.gif
图1所示。高级音频编解码器的框图。点击图片查看放大图。

我们设计的系统的一个关键技术挑战是模拟-数字转换器(ADC)麦克风前置放大器,数模转换器(DAC)之前扬声器功率放大器必须运行在6.5 MHz的频率相对较高。另一方面,DSP处理数据以一个共同的48 kHz的速度。数字音频编解码器的这两个频率之间的转换运用一系列的数字滤波器。立体声编码器通道,例如,使用8个过滤器毁掉它的输入信号,而立体声解码器使用九过滤器插入它的输入信号。

在建筑设计阶段,我们使用MATLAB模型编码器和解码器通道。使用我们提供的参数模拟设计师,我们模型数模转换和模拟数字转换器和构建多重速率的数字滤波链。

接下来,我们使用MATLAB信号处理工具箱™,滤波器设计工具箱™后处理结果产生的模型通过计算快速傅里叶变换(fft算法)和估计信噪比和。通过这种方式,我们可以制定一个优化的架构之前实现。

使用有限状态机实现音序器

在我们之前的设计方法中,我们使用一个multiplier-accumulator (MAC)和有限状态机定序器实现信号处理链(图2)。音序器负责解决RAM和ROM和控制操作。它还设置输入参数的MAC。罗店滤波器系数,RAM存储中间结果multiply-accumulate, MAC执行基于系数的计算和数据样本。

audio_codec_fig2_w.gif
图2。传统的音频编解码器设计的框图。点击图片查看放大图。

传统上,音序器的目的是使用纸笔复杂和耗时的过程。手写的RTL代码太呆板,即使很小的修改是十分困难的。有时,我们还发现的RTL代码音序器有限状态机地点和路线几乎是不可能的。大约有2000个国家的有限状态机与40多个变量分配在这些国家。这导致10%的面积利用率很低在位置和路由的门电路级网表。换句话说,该硅面积大于预期的10倍!花了一个巨大的努力合成定序器逻辑到自定义ROM内存。但仍有大约2 x地区罚金的测序仪在我们最初的投影组合逻辑(自定义ROM通常需要更多的硅区域)。

自动化实现

在我们的新设计方法,我们已经消除了复杂的音序器。相反,我们使用一系列数字滤波器设计的MATLAB和滤波器设计工具箱,实现滤波器设计高密度脂蛋白编码器(图3)。每个数字滤波器块独立运作,以便它可以很容易地修改、删除或添加到整个链中。

audio_codec_fig3_w.gif
图3。每个过滤器的新设计架构,实现独立使用滤波器设计高密度脂蛋白编码器。R1、R2和Rn表示速度变化(插值/大量毁灭)的第一,第二,和n过滤器链。点击图片查看放大图。

译码器链包括四个半分数段FIR滤波器和采样率转换器。每个过滤器插入两个,最初的48 kHz信号96 kHz, 192 kHz, 384 kHz,分别和768千赫。一个采样率转换器转换直接从768 kHz到目标频率,6.5 MHz。

编码器链包括两个级联integrator-comb (CIC)杀害多人者,以及两个halfband FIR滤波器。第一个中投杀害多人者会毁坏了25个从一个通道输入6.5 MHz到260千赫。这是紧随其后的是一个简单的、手写interpolate-by-48零填充物。插值数据的速度12.48 MHz然后受到大批杀害65年在第二个中投杀害多人者。这是后来加工的速度在第一halfband冷杉decimation-by-2过滤器192千赫。最后,第二halfband大批杀害过滤downsamples数据从96千赫至48 kHz的通道输出率。在编码器通道的情况下,滤波器设计工具简化了中投公司设计,使我们能够迅速评估众多设计选项,比如使用的比特数。

生成RTL代码和优化区域

在编码器和解码器设计单个过滤器链,我们生成的Verilog代码为每个过滤器使用滤波器设计高密度脂蛋白编码器(图4)。在这个阶段,我们可以开始优化实现最小化的硅区域设计。

audio_codec_fig4_w.gif
图4。滤波器设计高密度脂蛋白编码器接口显示过滤器体系结构的一部分和一段生成的代码。点击图片查看放大图。

我们尝试一些滤波器RTL设计高密度脂蛋白编码器优化和架构选项的一代。例如,优化halfband FIR滤波器,我们第一次尝试一个选项产生一个完全并行体系结构的滤波器时钟频率是一样的数据率。然后,我们使用Synopsys对此®设计合成代码的编译器和报告区域分配。分布式算法选择滤波器设计中HDL编码器,这需要一个时钟频率16至20倍数据速率,生产设计使用的面积大约25%的完全并行设计。因为我们已经足够高频率时钟上可用我们的芯片,这是最好的选择。

验证实施

我们使用MATLAB脚本,RTL测试长椅,Verilog模拟来验证RTL实现。事实上,我们使用的许多MATLAB脚本开发的架构阶段产生刺激信号和后处理结果通过绘制fft算法,计算信噪比和拉力。

这第一轮验证后,我们通过了RTL代码为合成我们的同事。place-and-route一步合成产生时间数据的自卫队延迟(标准格式)文件。我们将这个时间数据包含在另一轮的门电路级模拟,以确保没有竞态条件的逻辑。制造的设计被罚下。

测试芯片的初始运行发现没有任何问题与数字部分的音频编解码器。这意味着我们的团队可以自由地伸出援手的模拟部分设计和与其它测试工作。

新制造工艺的影响

改变制造工艺模拟和数字组件的天平在我们设计的芯片。而模拟晶体管必须保持一定规模,需要加载,数字晶体管收缩当一个新的制造流程介绍。在迁移从0.25微米到45纳米制造过程,例如,一个混合信号的音频编解码器的整体面积从50%的数字和50%的模拟模拟数字的25%和75%。

虽然我们的新设计方法比传统方法需要更多的硅面积,减少数字大小的组件在新的制造流程补偿增加而让我们保留大量节省开发时间。

在未来,有可能进一步优化我们的设计过程通过使用其他低压区架构提供的过滤器设计高密度脂蛋白编码器,如部分串行架构,或通过实现单一音序器架构与自动生成的代码。

2009 - 91761 v00出版

为相关行业观点文章