项目简介
本项目运用C++14实现了基于CORDIC(Coordinate Rotation Digital Computer)算法的复数旋转功能。CORDIC算法是高效实现硬件复数旋转的方法,适合缺乏浮点运算单元的微控制器或微处理器。项目定义了两个基于ROM的CORDIC旋转单元类,通过不同方式生成ROM,还有一个未完成的智能CORDIC算法模板。项目遵循GNU Lesser General Public License协议,可用于硬件仿真和综合。
项目的主要特性和功能
- 基于ROM的CORDIC算法实现:具备
CCordicRotateRom
和CCordicRotateConstexpr
两种方式,不同的ROM生成机制提升了算法效率。 - 智能CORDIC算法:
CCordicRotateSmart
模板正在开发,无需ROM。 - 测试套件:采用Catch2测试框架结合CTest进行单元测试,确保代码正确性。
- 可配置性:能控制ROM大小、迭代次数、角度精度等,适应不同硬件平台和性能需求。
- 支持旋转角度:目前支持pi和pi/2的旋转,后续可能支持pi/2^k。
安装使用步骤
假设用户已下载本项目的源码文件,按以下步骤操作:
1. 安装依赖:安装CMake和Git,以及支持C++的编译环境(如GNU GCC 6.2及以上版本、LLVM Clang 12.0及以上版本),同时需安装Xilinx HLS任意精度类型库。
2. 解压源码:将下载的项目源码文件解压到指定目录。
3. 构建项目:打开终端,进入项目目录,运行cmake -B build -S .
命令构建项目。
4. 编译测试:运行ctest -C build
命令编译并运行测试套件,验证项目正确性。
5. 使用项目:依据项目文档和示例代码,使用项目提供的API进行开发。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】