项目简介
本项目实现了基于C++的CORDIC(Coordinate Rotation Digital Computer)算法,将其性能与GCC和CLang的软件实现进行比较。CORDIC算法简单高效,适合用于无硬件乘法器的简单微控制器和FPGA,可计算三角函数和双曲函数。
项目的主要特性和功能
- CORDIC算法实现:用C++实现CORDIC算法,用于计算三角函数和双曲函数。
- 性能比较:通过基准测试,对比CORDIC算法与GCC和CLang软件实现的性能。
- 硬件抽象层测试:对硬件寄存器的读写操作进行测试,确保操作符合预期。
- 数学类型测试:测试固定精度类型和向量类型的数值转换与精度,保证数学计算准确。
- 性能数据分析:通过Python脚本读取性能数据,生成图形化报告,方便分析和展示性能指标。
安装使用步骤
环境准备
确保已安装以下工具:
- arm-none-eabi-gcc
- st-flash
在Arch Linux上,可通过以下命令安装:
bash
sudo pacman -S arm-none-eabi-newlib stlink arm-none-eabi-gcc
构建项目
- 复制项目仓库:
bash cd G474RE-CORDIC
- 使用
make
命令构建项目:bash make
运行测试
- 运行基准测试,比较CORDIC算法与GCC等效函数的性能。
- 运行硬件抽象层测试,验证寄存器的读写操作。
- 运行数学类型测试,确保数值计算的准确性。
性能数据分析
- 使用
perf.py
脚本读取performance.csv
文件,生成性能指标的图形化报告。 - 运行脚本:
bash python3 doc/perf.py
通过以上步骤,可全面了解和使用本项目进行CORDIC算法的性能测试和分析。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】