上传者: j_hang
|
上传时间: 2019-12-21 20:02:23
|
文件大小: 1.95MB
|
文件类型: pdf
CORDIC算法是一种用于计算三角函数、双曲函数以及平方根等数学运算的有效算法,其全称为坐标旋转数字计算机(Coordinate Rotation Digital Computer)。Xilinx公司推出的LogiCORE IP核,就是一种基于CORDIC算法的硬件实现,可以集成到FPGA或ASIC设计中。
CORDIC IP核的主要特点包括:
1. 功能配置:用户可以根据自己的需求选择不同的功能模块,以实现不同的数学运算功能。
2. 可选粗调旋转模块:粗调旋转模块可以将输入样本从整圆旋转到第一象限,这是因为在第一象限内,CORDIC算法能够有效工作。
3. 可选的幅度补偿缩放模块:由于CORDIC算法在运算过程中会引入比例因子,幅度补偿模块可以自动补偿由此产生的幅度比例因子,保证运算结果的准确性。
4. 算法输出舍入模式:支持不同的舍入模式,如截断、正无穷舍入、负无穷舍入、最近偶数舍入等。
5. 支持不同的数据格式:X和Y数据可以是带符号分数、无符号分数和无符号整数,相位数据则支持弧度和π弧度两种格式。
6. 完全同步设计:采用单一时钟进行操作,保证了设计的稳定性和可靠性。
CORDIC IP核支持两种架构配置:
- 完全并行架构配置:这种配置可以提供单周期的数据吞吐量,适用于对速度要求较高的场景,但代价是较大的硅片面积。
- 串行架构配置:这种配置在减少硅片面积的同时,通过多周期处理提高了吞吐量,适合对面积要求更严格的场景。
在硬件实现上,操作数X_IN、Y_IN和PHASE_IN分别通过不同的通道输入。X_IN和Y_IN通过S_AXIS_CARTESIAN通道输入,而PHASE_IN则通过S_AXIS_PHASE通道输入。使用这些通道,CORDIC核心能够执行包括向量旋转、向量平移以及三角函数、双曲函数和平方根等多种运算。
Xilinx的Vivado设计套件提供了对CORDIC IP核的支持,使得用户能够在Vivado环境中进行综合、实现以及相关的模拟和测试。同时,为了便于用户快速上手,Xilinx还提供了示例设计、测试台和约束文件等资源。
在性能方面,CORDIC核心的延迟和吞吐量会受到架构配置的影响。并行架构能够提供更低的基本延迟和较高的吞吐量,而串行架构则能在面积占用上更经济。
关于Xilinx LogiCORE IP模块的许可和订购信息,Vivado®软件设计套件中免费提供了一些Xilinx LogiCORE IP模块。其他模块和工具的定价以及可用性信息,则需要与当地Xilinx销售代表联系获取。
Xilinx在设计CORDIC IP核时,特别关注了资源利用率和性能,提供了一系列的设计文件和文档,帮助用户进行设计、测试和优化。此外,系统生成器(SystemGenerator)也为DSP设计提供了支持,进一步简化了设计流程。
对于那些希望深入了解或扩展CORDIC核心功能的开发者来说,Xilinx也为支持的模拟器和设计工具提供了详细的版本说明指南,方便用户查阅。无论是通过Vivado综合还是其他第三方工具,Xilinx都鼓励用户测试设计流程,并对结果进行评估。
作为文档的摘要,该文件介绍了CORDIC算法的原理、Xilinx LogiCORE IP核的特点和架构选项、支持的工具和设备,以及相关的设计流程。它也提供了对CORDIC核心在FPGA或ASIC设计中应用的全面了解。开发者如果想要在自己的设计中利用CORDIC算法,可以参考这份指南来选择正确的IP核配置,优化资源使用,并最终提高设计的整体性能。