数字信号处理器的数据路径电路制造技术

技术编号:9830888 阅读:150 留言:0更新日期:2014-04-01 19:47
数据路径电路可包括用于并行计算的数字乘法和累加电路(MAC)与数字硬件计算器。数字硬件计算器和MAC可耦合到用于接收输入操作数的输入存储器元件。该MAC可包括数字乘法器结构,其具有耦合到加法器的部分乘积发生器以使第一和第二输入操作数相乘并产生乘法结果。该数字硬件计算器可包括耦合在计算器输入和计算器输出寄存器之间的第一查找表。第一查找表可包括根据第一预定的数学函数映射到相应数学函数结果的表项目值。数字硬件计算器可配置成基于第一查找表计算很难计算的数学函数诸如对数函数、指数函数、除法函数和平方根函数。

【技术实现步骤摘要】
数字信号处理器的数据路径电路本专利技术涉及用于数字信号处理器的数据路径电路。数据路径电路包括配置用于并行计算的数字乘法和累加电路(MAC结构)与数字硬件计算器。数字硬件计算器和MAC都耦合到用于接收第一二输入操作数和第二输入操作数的输入存储器元件。该MAC可包括常规的数字乘法器结构,其具有耦合到加法器结构的多个部分乘积发生器以使第一和第二输入操作数相乘并产生乘法结果。该数字硬件计算器包括可操作地耦合在计算器输入和计算器输出寄存器之间的第一查找表。第一查找表包括根据第一预定的数学函数映射到多个相应数学函数结果的多个表项目值。数字硬件计算器可有利地配置成基于第一查找表计算很难计算的数学函数诸如对数函数、指数函数、除法函数和平方根函数。专利技术背景数字乘法器在数字信号处理器(DSP)中被广泛使用用于二进制数的快速乘法。许多基本DSP算法诸如FIR滤波器、IIR滤波器、卷积和快速傅立叶变换(FFT)严重依赖于DSP的乘法-累加性能,使数字乘法器成为DSP的主要部件。数字乘法器通常伴有加法器以形成快速乘法-累加(所谓的MAC)计算结构。二进制数可以用各种二进制数格式诸如2的补码、带符号量值等表示。二进制数可用定点格式或浮点格式表示。取决于特定应用的格式和要求,用来表示N位被乘数(Y)的每个的位数即N和M位乘数(X)的每个的位数即M可以变化很大。用于表示N位被乘数和M位乘数的每个的位数通常介于8和56之间。这些传统MAC结构非常适于提供输入操作数或上述基本DSP算法的变量的快速乘法和加法。然而,大量信号处理算法需要基础数学函数,这些基础数学函数很难计算,这些实例是对数、指数、除数和平方根。这些很难计算的函数共有难以映射到二进制数学的共同特征,例如对数函数,或者它们具有非确定性的性质例如除法操作。在此上下文中,非确定性意味着提前预测产生的数学序列是非常困难或者不实际的。该事实导致必须搜索正确解决方案的算术电路设计。作为实例,人们可以将数字乘法器和数字除法器的数学序列的预测进行比较。在传统信号处理算法和可编程数字信号处理器的设计中,这些很难计算的数学函数的快速和有效计算已经在很大程度上不被注意。通过使用可编程DSP的传统MAC结构的软件例程,或者在替代方案中,通过建立专门适于计算特定类型的困难数学函数的定制数字状态机或定制数据路径,该方法将解决这些很难计算的数学函数。该特定数学函数可以是对数。然而,在此类定制数字状态机或定制数据路径周围建立的DSP缺乏以快速和有效节能的方式运行其它类型的很难计算的数学函数和相关联的DSP算法的灵活性。通过适当配置的DSP软件,可编程DSP的传统MAC结构可以适用于运行宽范围的DSP算法。然而,当运行上述很难计算的数学函数时,传统MAC结构令人遗憾地缓慢和功率低效。这是因为传统MAC结构被优化以执行乘法、加法和减法操作,并因而通过设计不适合的操作来计算其它类型的数学函数。因此,大量的MAC周期通常被计算困难数学函数的程序例程消耗。这在传统MAC结构上强加了高计算负荷,通过阻断或延迟形成所考虑的DSP算法的部分的其它数学函数而损害了可编程DSP的计算性能。因此,存在对数据路径电路的需要,数据路径电路包括传统的数字乘法和累加电路(MAC)与数字硬件计算器或数学加速器,MAC用于执行有效和快速的乘法、加法和减法操作,数字硬件计算器或数学加速器用于上述很难计算的数学函数的有效和快速计算。如果(MAC)和数字硬件计算器能够并行操作来改善数据路径电路的计算吞吐量,那么甚至将更具吸引力。因此,为了将运行的不同类型的数学函数的不同需要,可以优化MAC和数字硬件计算器的硬件体系结构或设计。US7,284,027涉及在用于实时DSP应用的定点或浮点数上执行高速算术计算的方法和电路单元。该公开涉及用于定点或浮点复数的乘法结合快速FFT计算的定制乘法器体系结构/拓扑结构。复数乘法器结构基于数域计算通过对数加法操作来乘以复数输入数并随后应用取幂以返回在线性域中的乘法结果。US7,539,717公开了使用基于表格的泰勒级数近似来计算DSP应用中的浮点数的对数的方法和硬件电路块。在浮点输入操作数上执行某些预处理步骤的多个专用硬件块耦合到浮点FMAD,其基于预处理压缩值执行浮点输入操作数的对数的最终计算。专用硬件块包括第一查找表和第二查找表,分别存储与对数函数相关联的全精度变量和压缩变量值。
技术实现思路
本专利技术的第一方面涉及一种用于数字信号处理器诸如由可运行程序指令控制的软件可编程数字信号处理器的数据路径电路。数据路径电路包括用于存储第一和第二输入操作数的输入存储器元件例如输入寄存器。数据路径电路此外包括配置用于并行计算的数字乘法和累加电路和数字硬件计算器。所述数字乘法和累加电路包括:第一输入端和第二输入端,其均连接到所述输入存储器元件,用于分别接收所述第一输入操作数和所述第二输入操作数;多个部分乘积发生器,其被配置用于产生所述第一输入操作数或所述第二输入操作数的多个部分乘积;加法器结构,其被配置成接收和组合所述多个部分乘积以产生乘法结果;算术逻辑单元,其被配置用于接收所述乘法结果并向其加入第一变量以计算累加的乘法结果;第一累加器,其耦合到所述算术逻辑单元并被配置用于接收和操纵所述累加的乘法结果。所述数字硬件计算器包括连接到所述第一输入操作数和所述第二输入操作数中的一个的计算器输入端和用于存储计算的计算器结果的计算器输出寄存器。所述数字硬件计算器的第一查找表可操作地耦合在所述计算器输入端和所述计算器输出寄存器之间。第一查找表包括根据第一预定的数学函数映射到多个相应数学函数结果的多个表项目值。包含在本数据路径电路中的数字硬件计算器向数据路径电路提供了很多益处。这些尤为明显,如果数字硬件计算器被配置成计算多个先前讨论的很难计算的数学函数诸如对数函数、指数函数、除法函数和平方根函数中的一个。这些算术函数或者难以映射到二进制数学电路例如对数函数,或者是非确定性的例如除法函数。然而,这些很难计算的数学函数可以用径直的方式以期望的精度映射到查找表。通过选择表项目值的数量或表的大小,可以达到期望的精度水平。此外,精度可通过在相关的数学函数结果之间应用公知的表内插方案来改善。因此,对于所考虑的特定类型的算术操作,提供并行操作数字乘法和累加电路(MAC结构)与数字硬件计算器允许DSP算法的数学计算被分割成在数据路径电路的最佳计算硬件上同时运行的单独部分或程序例程。在这种方式下,本数据路径电路能够在MAC结构上运行传统的乘法-累加操作用于FIR滤波器、IIR滤波器等,MAC结构对这些类型的计算是有效的。同时,数学函数像先前所讨论的对数、除法、指数、平方根等可以在适当配置的数字硬件计算器上有效地运行。特定DSP算法的数学函数在数据路径电路的不同计算硬件资源之间的这种分割导致相当大的功率节省和许多DSP算法的更快运行,其利用乘法、加法和减法操作与上面讨论的困难的数学函数的混合。因此,数字硬件计算器可适用于支持基于贝叶斯或概率计算的非常有用的DSP算法的全部类型的有效计算。这类有用的DSP算法包括通常基于维特比算法的隐马尔可夫模型(HMM),维特比算法又严重依赖于对数函数的计算。此外,通过在本数据路径电路中维持传统的MAC结构,有利于现有的本文档来自技高网
...
数字信号处理器的数据路径电路

【技术保护点】
一种用于数字信号处理器的数据路径电路,其包括:输入存储器元件,其用于存储第一输入操作数和第二输入操作数,数字乘法和累加电路与数字硬件计算器,其被配置用于并行计算;所述数字乘法和累加电路包括:第一输入端和第二输入端,其均连接到所述输入存储器元件,用于分别接收所述第一输入操作数和所述第二输入操作数;多个部分乘积发生器,其被配置用于产生所述第一输入操作数或所述第二输入操作数的多个部分乘积;加法器结构,其被配置成接收和组合所述多个部分乘积以产生乘法结果;算术逻辑单元,其被配置用于接收所述乘法结果并向其加入第一变量以计算累加的乘法结果;第一累加器,其耦合到所述算术逻辑单元并被配置用于接收和操纵所述累加的乘法结果;所述数字硬件计算器包括连接到所述第一输入操作数和所述第二输入操作数中的一个的计算器输入端和用于存储计算的计算器结果的计算器输出寄存器,第一查找表,其可操作地耦合在所述计算器输入端和所述计算器输出寄存器之间,其中所述第一查找表包括根据第一预定的数学函数映射到多个相应数学函数结果的多个表项目值。

【技术特征摘要】
2012.09.04 US 61/696,6191.一种用于数字信号处理器的数据路径电路,其包括:输入存储器元件,其用于存储第一输入操作数和第二输入操作数,数字乘法和累加电路与数字硬件计算器,其被配置用于并行计算;所述数字乘法和累加电路包括:第一输入端和第二输入端,其均连接到所述输入存储器元件,用于分别接收所述第一输入操作数和所述第二输入操作数;多个部分乘积发生器,其被配置用于产生所述第一输入操作数或所述第二输入操作数的多个部分乘积;加法器结构,其被配置成接收和组合所述多个部分乘积以产生乘法结果;算术逻辑单元,其被配置用于接收所述乘法结果并向其加入第一变量以计算累加的乘法结果;第一累加器,其耦合到所述算术逻辑单元并被配置用于接收和操纵所述累加的乘法结果;所述数字硬件计算器包括连接到所述第一输入操作数和所述第二输入操作数中的一个的计算器输入端和用于存储计算的计算器结果的计算器输出寄存器,第一查找表,其可操作地耦合在所述计算器输入端和所述计算器输出寄存器之间,其中所述第一查找表包括多个表项目,所述多个表项目由输入操作数数据索引,所述多个表项目存储与所述输入操作数数据相关联的预定数学操作的对应预计算结果。2.根据权利要求1所述的数据路径电路,其中所述第一输入操作数包括N位被乘数且所述第二输入操作数包括M位乘数;所述多个部分乘积发生器适用于选择所述N位被乘数的各自的部分乘积,其中每个部分乘积选自根据预定的编码方案由与所述M位乘数的预定位集相关的所述N位被乘数计算的一组部分乘积结果;M和N的每个表示正整数。3.根据权利要求1所述的数据路径电路,其中多个表项目值根据第一预定的数学函数映射到多个相应数学函数结果,所述第一预定的数学函数选自{对数函数、指数函数、除法函数、平方根函数}的组。4.根据权利要求1所述的数据路径电路,其中所述第一查找表包括将各自的N-1多个表项目值映射到相应数学函数结果的N维;其中N为大于2的正整数。5.根据权利要求1所述的数据路径电路,其中所述数字硬件计算器包括内插器,所述内插器被配置用于:从所述第一查找表读取第一数学函数结果和第二数学函数结果,将内插操作应用到所述第一数学函数结果和所述第二数学函数结果以产生内插的数学函数结果。6.根据权利要求1所述的数据路径电路,其中所述第一查找表包括存储所述多个表项目值和多个相应数学函数结果的掩模可编程只读存储器ROM和可合成只读存储器ROM中的一个。7.根据权利要求1所述的数据路径电路,其中多个表项目值根据第一预定的数学函数映射到多个相应数学函数结果,所述查找表包括存储所述多个表项目值和多个相应数学函数结果的可读和可写存储器;由此支持对所述第一预定的数学函数的运行时改变。8.根据权利要求1所述的数据路径电路,其中:所述查找表具有比在输入操作数数据的所有变化下的可能的项目少的项目;所述查找表具有一对输出,用于在输入操作数不与所述查找表的任何项目精确匹配时,输出与所述输入操作数最接近的一对表项目;并且所述计算...

【专利技术属性】
技术研发人员:米卡埃尔·莫尔滕森
申请(专利权)人:亚德诺半导体股份有限公司
类型:发明
国别省市:丹麦;DK

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1