一种三角函数CORDIC迭代运算协处理器制造技术

技术编号:23932136 阅读:48 留言:0更新日期:2020-04-25 01:51
本发明专利技术公开了一种三角函数CORDIC迭代运算协处理器,包括:象限变换单元、角度编码单元、CORDIC迭代运算单元、迭代控制单元、存储单元和输出校正单元;象限变换单元用于对输入的角度值进行判断其所在的初始象限并将输入的角度值转换到第一象限的范围内;角度编码单元用于对转换象限后的角度值进行二进制编码得到序列值,并根据序列值判断执行迭代运算动作;CORDIC迭代运算单元用于在迭代控制单元的控制下进行迭代运算;迭代控制单元用于控制CORDIC迭代运算单元执行迭代运算,直到完成全部的迭代运算次数;存储单元用于储存迭代运算过程中需要执行的常数参数;输出校正单元用于对CORDIC迭代运算单元进行迭代运算后输出的结果进行校正,得到最终的结果。

An iterative coprocessor for trigonometric function CORDIC

【技术实现步骤摘要】
一种三角函数CORDIC迭代运算协处理器
本专利技术涉及迭代运算协处理器领域,尤其涉及一种三角函数CORDIC迭代运算协处理器。
技术介绍
计算机在进行三角函数运算时,cpu往往要运行几十上百条指令才能完成一个三角函数的计算。并且随着计算精度的增加,计算的复杂度急速上升,效率低下。采用硬件电路来完成三角函数的计算相对于采用软件指令来说具有很大的优势。用来完成三角函数计算的硬件电路一般是通过在FPGA或者ASIC上利用CORDIC算法来实现的。CORDIC算法是一种基于数字坐标轴的计算方法,通过一系列和运算基数相关的角度不断地偏摆迭代来逼近所需旋转的目标角度。只需要的通过移位和加减法操作就能够实现三角函数,指数函数,对数函数等计算。迭代结构和流水线结构是目前CORDIC算法在FPGA和ASIC上实现的主要结构。迭代结构采用一个迭代运算单元,将输出反馈到输入反复迭代计算直到迭代完成。这种结构可以节省硬件面积资源,实现可调的算法精度。但是每一次的迭代运算都要依赖上一次迭代运算的结果,运行速度慢,无法满足实时性要求很高的应用场景,如自动驾驶领域本文档来自技高网...

【技术保护点】
1.一种三角函数CORDIC迭代运算协处理器,其特征在于,包括:象限变换单元、角度编码单元、CORDIC迭代运算单元、迭代控制单元、存储单元和输出校正单元;/n所述象限变换单元用于对输入的角度值进行判断其所在的初始象限并将所述输入的角度值转换到第一象限的范围内;/n所述角度编码单元用于对转换象限后的角度值进行二进制编码得到序列值,并根据序列值判断执行迭代运算动作;/n所述CORDIC迭代运算单元用于在所述迭代控制单元的控制下进行迭代运算;/n所述迭代控制单元用于控制所述CORDIC迭代运算单元执行迭代运算,直到完成全部的迭代运算次数;/n所述存储单元用于储存迭代运算过程中需要执行的常数参数;/...

【技术特征摘要】
1.一种三角函数CORDIC迭代运算协处理器,其特征在于,包括:象限变换单元、角度编码单元、CORDIC迭代运算单元、迭代控制单元、存储单元和输出校正单元;
所述象限变换单元用于对输入的角度值进行判断其所在的初始象限并将所述输入的角度值转换到第一象限的范围内;
所述角度编码单元用于对转换象限后的角度值进行二进制编码得到序列值,并根据序列值判断执行迭代运算动作;
所述CORDIC迭代运算单元用于在所述迭代控制单元的控制下进行迭代运算;
所述迭代控制单元用于控制所述CORDIC迭代运算单元执行迭代运算,直到完成全部的迭代运算次数;
所述存储单元用于储存迭代运算过程中需要执行的常数参数;
所述输出校正单元用于对所述CORDIC迭代运算单元进行迭代运算后输出的结果进行校正,得到最终的结果。


2.如权利要求1所述的三角函数CORDIC迭代运算协处理器,其特征在于,所述象限变换单元包括:
象限判断子单元,用于接收由cpu的下发的角度参数值,判断所述角度参数值所在的象限并将象限信息传输到输出校正单元;
角度转换子单元,用于将输入的角度参数值转化到第一象限的范围内,并把转换后得到的角度值传输到角度编码单元。


3.如权利要求1所述的三角函数CORDIC迭代运算协处理器,其特征在于,所述角度编码单元进行编码的公式包括:



【专利技术属性】
技术研发人员:刘玉佳
申请(专利权)人:广东省新一代通信与网络创新研究院
类型:发明
国别省市:广东;44

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

1