一种实现CORDIC算法的硬件电路制造技术

技术编号:35598081 阅读:19 留言:0更新日期:2022-11-16 15:18
本发明专利技术公开了一种实现CORDIC算法的硬件电路,在提出的硬件实现中,加法和减法共享硬件资源。此外,二进制补码的计算分为两个步骤:反求和加一操作。加一运算集成在迭代的加法运算中。此外,还采用了3:2压缩器,以减少加法器的数量,超前进位加法器也用于减少关键路径。综合结果表明,与最先进的设计相比,本发明专利技术的设计在精度相同的情况下节省了53.79%的面积和58.97%的延迟。和58.97%的延迟。和58.97%的延迟。

【技术实现步骤摘要】
一种实现CORDIC算法的硬件电路


[0001]本专利技术涉及一种硬件电路,具体涉及一种实现CORDIC算法优化的硬件电路。

技术介绍

[0002]CORDIC(坐标旋转数字计算机)算法是通信系统、信号处理、3

D图形、机器人和波形生成等各个领域中常用的算法。在CORDIC的实现中,只使用了简单的加法器和移位器。CORDIC的这一优点使其适合于VLSI电路设计中复杂功能的实现。在CORDIC算法的实现中,迭代的计算类型(加减)由旋转方向决定。部分研究者提出了一种硬件实现,在加减法之间共享硬件资源。为了使用加法器计算减法,需要计算两者对被减数的补数。两者的补的计算,包含了逆加一的运算。虽然加法器由加减法共享,但加一运算使用的加法器增加了硬件开销和延迟。

技术实现思路

[0003]专利技术目的:为了克服现有技术的不足,本专利技术提供一种实现CORDIC算法优化的硬件电路,该方法解决了上述出现的技术问题。
[0004]技术方案:本专利技术所述的一种实现CORDIC算法的硬件电路,所述CORDIC算法包括圆形CORDIC算法,对应的电路包括X信号迭代单元、Y信号迭代单元和Z信号迭代单元,所述X信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号x
i+1
,所述Y信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号y
i+1
,Z信号迭代单元用于根据坐标信号z
i
输出迭代后的坐标信号z
i+1
,所述X信号迭代单元和Y信号迭代单元电路结构相同,均包括移位器、反相器、多路复用器、压缩器和超前进位加法器,且X信号迭代单元的输入信号x
i
输入到Y信号迭代单元的反相器和本迭代单元的压缩器中,Y信号迭代单元的输入信号y
i
输入到X信号迭代单元的反相器和本迭代单元的压缩器中,且X信号迭代单元或Y信号迭代单元的移位器的输出信号一路输入到反相器,另一路输入到多路复用器,反相器置于移位器和多路复用器之间,反相器的输出信号同样输入到多路复用器中,多路复用器的输出信号输入到压缩器中,所述压缩器将两路的输入信号压缩并输出到超前进位加法器中;
[0005]Z信号迭代单元包括移位器一、多路复用器一、压缩器一和超前进位加法器一,输入信号z
i
输入到压缩器一中,另一个输入信号RD1一路输入到移位器一中,另一路输入到多路复用器一中,多路复用器一将两路的输入处理后输出到压缩器一中,压缩器一将相关信号处理后输出到超前进位加法器中,得到z
i+1
,其中,i表示迭代次数。
[0006]进一步的,包括:
[0007]所述CORDIC算法包括线性CORDIC算法,对应的电路包括:移位器二、反相器二、反相器三、多路复用器二、多路复用器三、压缩器二、压缩器三、超前进位加法器二、超前进位加法器三,输入信号x
i
输入到移位器二中,移位器二的输出分两路分别输入到反相器二和多路复用器二中,输入信号y
i
与多路复用器二的输出共同作为压缩器二的输入,所述超前进位加法器二将压缩器二的输出作为其输入进行处理,得到输出信号y
i+1
;输入信号RD2一
路输入到反相器三,反相器将输出的结果与输入信号z
i
共同输入到多路复用器三中,多路复用器三的输出信号输入到超前进位加法器三中,进而得到z
i+1
,输入信号x
i
=x
i+1

[0008]进一步的,包括:
[0009]所述CORDIC算法还包括双曲CORDIC算法,对应的电路包括:
[0010]X信号迭代单元、Y信号迭代单元和Z信号迭代单元,所述X信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号x
i+1
,所述Y信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号y
i+1
,Z信号迭代单元用于根据坐标信号z
i
输出迭代后的坐标信号z
i+1
,所述X信号迭代单元和Y信号迭代单元电路结构相同,均包括移位器四、反相器四、多路复用器四、压缩器四和超前进位加法器四,且X信号迭代单元的输入信号x
i
输入到Y信号迭代单元的反相器四和本迭代单元的压缩器四中,Y信号迭代单元的输入信号y
i
输入到X信号迭代单元的反相器四和本迭代单元的压缩器四中,且X信号迭代单元或Y信号迭代单元的移位器四的输出信号一路输入到反相器四,另一路输入到多路复用器四,反相器四置于移位器四和多路复用器四之间,反相器四的输出信号同样输入到多路复用器四中,多路复用器四的输出信号输入到压缩器四中,所述压缩器四将两路的输入信号压缩并输出到超前进位加法器四中;
[0011]Z信号迭代单元包括移位器五、多路复用器五、压缩器五和超前进位加法器五,输入信号z
i
输入到压缩器五中,另一个输入信号RD3一路输入到移位器五中,另一路输入到多路复用器五中,多路复用器五将两路的输入处理后输出到压缩器五中,压缩器五将相关信号处理后输出到超前进位加法器五中,得到z
i+1

[0012]进一步的,包括:
[0013]所述RD1=Round(tan
‑1(2

i
),qw),其中,qw为z
i
的总位宽。
[0014]进一步的,包括:
[0015]所述RD2=Round((2

i
),qw),其中,qw为z
i
的总位宽。
[0016]进一步的,包括:
[0017]所述RD3=Round(tanh
‑1(2

i
),qw),其中,qw为z
i
的总位宽。
[0018]有益效果:本专利技术与现有技术相比,其显著优点是:本专利技术通过一种新的基于软件的模拟器来完全模拟CORDIC的硬件实现,该模拟器可兼容六种常用的CORDIC。基于该模拟器,对误差进行分析,确定CORDIC算法实现中的迭代数和位宽。根据误差分析的结果,通过在加法器和减法器之间共享硬件资源来优化CORDIC的硬件实现,以减少硬件开销。此外,还使用了压缩器和超前进位加法器来紧固CORDIC的电路,将所提出的CORDIC算法的优化硬件实现与最先进的设计相比,本专利技术的设计在精度相同的情况下节省了53.79%的面积和58.97%的延迟。
附图说明
[0019]图1是本专利技术实施例所述的旋转和矢量模式下圆形、线性和双曲CORDIC算法的详细描述图。
[0020]图2(a)是现有技术中圆形CORDIC迭代的顶层结构,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现CORDIC算法的硬件电路,其特征在于,所述CORDIC算法包括圆形CORDIC算法,对应的电路包括X信号迭代单元、Y信号迭代单元和Z信号迭代单元,所述X信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号x
i+1
,所述Y信号迭代单元用于根据坐标信号x
i
,y
i
输出迭代后的坐标信号y
i+1
,Z信号迭代单元用于根据坐标信号z
i
输出迭代后的坐标信号z
i+1
,所述X信号迭代单元和Y信号迭代单元电路结构相同,均包括移位器、反相器、多路复用器、压缩器和超前进位加法器,且X信号迭代单元的输入信号x
i
输入到Y信号迭代单元的反相器和本迭代单元的压缩器中,Y信号迭代单元的输入信号y
i
输入到X信号迭代单元的反相器和本迭代单元的压缩器中,且X信号迭代单元或Y信号迭代单元的移位器的输出信号一路输入到反相器,另一路输入到多路复用器,反相器置于移位器和多路复用器之间,反相器的输出信号同样输入到多路复用器中,多路复用器的输出信号输入到压缩器中,所述压缩器将两路的输入信号压缩并输出到超前进位加法器中;Z信号迭代单元包括移位器一、多路复用器一、压缩器一和超前进位加法器一,输入信号z
i
输入到压缩器一中,另一个输入信号RD1一路输入到移位器一中,另一路输入到多路复用器一中,多路复用器一将两路的输入处理后输出到压缩器一中,压缩器一将相关信号处理后输出到超前进位加法器中,得到z
i+1
,其中,i表示迭代次数。2.根据权利要求1所述的实现CORDIC算法的硬件电路,其特征在于,所述CORDIC算法包括线性CORDIC算法,对应的电路包括:移位器二、反相器二、反相器三、多路复用器二、多路复用器三、压缩器二、压缩器三、超前进位加法器二、超前进位加法器三,输入信号x
i
输入到移位器二中,移位器二的输出分两路分别输入到反相器二和多路复用器二中,输入信号y
i
与多路复用器二的输出共同作为压缩器二的输入,所述超前进位加法器二将压缩器二的输出作为其输入进行处理,得到输出信号y
i+1
;输入信号RD2一路输入到反相器三,反相器将输出的结果与输入信号z
i
共同输入到多路复用器三中,多路复用器三的输出信号输入到超前进位加法器三中,进而得到z
i+1
,输入信号x
i

【专利技术属性】
技术研发人员:吕飞梁杏成吴超然黄硕陈建
申请(专利权)人:金陵科技学院
类型:发明
国别省市:

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

1