IP核CORDIC——sin和cos


前言

对vivado的ip核cordic的使用说明,我在实验中使用的是sin函数


一、配置界面

在这里插入图片描述

1、Configuration Parameters

Functional Selection:功能选择
在这里插入图片描述
Cordic IP核一共可以实现7种运算操作,上表分别是7种操作所对应的输入和输出端口,1表示该通道的子字段存在,0表示该子字段不存在

Architectural Configuration:体系结构配置
Parallel:并行,单周期数据吞吐量。
Word Serial:串行,多周期吞吐量

Pipelining Mode:流水线模式
None:无流水线。
Optimal:最优,采用尽可能多的流水线阶段实现,而不使用任何额外的LUT。
Maximum:最大,在每次子迭代后使用流水线来实现。

Data Format:数据格式
SignedFraction:有符号小数,X和Y的输入输出默认表示为具有2位整数宽度的定点二进制补码。
UnsignedFraction:无符号小数,X和Y的输入输出表示为具有1位整数宽度的无符号定点数。仅适用于平方根功能配置

Phase Format:相位格式
Radians:弧度,表示为一个整数宽度为3位的二进制补码,单位为弧度。
Scaled Radians:归一化弧度,表示为一个整数宽度为3位的二进制补码,单位为π \piπ弧度。

2、Input/Output Options

Input Width:输入数据宽度,范围8-48。
Output Width:输出数据宽度,范围8-48。
Round Mode: 一共四种,分别是Truncate截断
Positive Infinity向上取整(相当于floor ( x + 0.5 ) \text{floor}(x+0.5)floor(x+0.5)
Pos Neg Infinity四舍五入(相当于round ( x ) \text{round}(x)round(x)
Nearest Even最接近偶数取整

3、 Advanced Configuration Parameters

Iterations: 迭代次数。 当Iterations设置为零时,执行的迭代次数由输出所需的精度决定。默认情况下,设置为零,因此迭代次数将自动确定。在这种情况下,对于除平方根以外的所有运算,设置的基本迭代次数是输出宽度。
Precision: 精度
当Precision设置为零时,内部精度将根据输出所需的精度和内部迭代次数自动确定。默认情况下,设置为零,因此会自动确定内部精度。
当Precision设置为(Input_Width+Output_Width+log2(Output_Width))时,无论输入幅度如何,输出相位都精确到全输出宽度。
Coarse Rotation: 粗略旋转
如果禁用了Coarse Rotation,则输入/输出范围仅限于第一象限(-Pi/4到+Pi/4)。标准CORDIC算法在第一象限上运行。粗略旋转通过将输入样本旋转到第一象限并将输出样本反向旋转回适当象限,将CORDIC操作范围扩展到完整的圆。
Compensation Scaling: 补充缩放 CORDIC幅度缩放影响矢量旋转和矢量平移功能配置。它不影响Sin、Cos、Sinh、Cosh、ArcTan、ArcTanh和平方根函数配置。对于后一种配置,补充缩放设置为No Scale Compensation。一共有四种设置,分别是No Scale Compensation(输出X和Y不进行补偿,而是按比例Zi 生成)、LUT Based(输出X和Y使用基于LUT的恒定系数乘法器进行补偿)、BRAM(输出X和Y使用基于块RAM的恒定系数乘法器进行补偿)、Embedded Multiplier(输出X和Y使用DSP Slice进行补偿)

第三部分配置一般只需要勾选上粗旋转(Coarse Rotation),其余默认

AXI4-Stream Options:

该选项卡用于配置AXI4接口,一般采用默认设置
请添加图片描述
复位信号至少要保持两个时钟周期才有效

二、ip核数据

输入数据和输出数据位宽为8的整数倍,若设置的数据不足8的整数倍,则将符号位扩展至8的整数倍。
使用sin and cos 方法高16位是sin值,低16位是cos值

三、使用遇到的问题

由于该ip核输入值的范围只能在-pi到pi之间,所以不能出现超过的取值范围的输入数据出现,若超过,则进行减2pi或加2pi的处理,但是若只是对输入值进行判定,则会造成,输入数据在被判定超过的时候,就已经被输入进ip核中,所以将输入数据打一拍,当原数据超过范围时,打一拍的数据进行处理,如此操作,打一拍的数据就不会超出范围,将打一拍的数据传入ip核中即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值