An open API service indexing awesome lists of open source software.

https://github.com/kerciu/cordic-risc-v

My implementation of CORDIC algorithm in RISC-V assembly ๐Ÿงฎ๐Ÿ”ข โ€” a project for the Computer Architecture Lab at Warsaw University of Technology (WUT) ๐ŸŽ“. This project showcases the CORDIC algorithm's implementation and its application in RISC-V assembly language. ๐Ÿ’ป๐Ÿš€
https://github.com/kerciu/cordic-risc-v

algorithms assembly assembly-language c computer-architecture cordic-algorithm low-level-programming risc-v

Last synced: about 2 months ago
JSON representation

My implementation of CORDIC algorithm in RISC-V assembly ๐Ÿงฎ๐Ÿ”ข โ€” a project for the Computer Architecture Lab at Warsaw University of Technology (WUT) ๐ŸŽ“. This project showcases the CORDIC algorithm's implementation and its application in RISC-V assembly language. ๐Ÿ’ป๐Ÿš€

Awesome Lists containing this project

README

        

# ๐Ÿ”ข RISC-V CORDIC Algorithm

My implementation of the CORDIC algorithm in RISC-V assembly, a project subject for Computer Architecture Lab, WUT. ๐Ÿ“๐Ÿ–ฅ๏ธ

In this project, you'll find the CORDIC algorithm implemented in Python, C, and RISC-V. ๐Ÿ๐Ÿ’ป๐Ÿ”ข

## ๐Ÿ“š Project Description

The CORDIC (COordinate Rotation DIgital Computer) algorithm is used for various computations including trigonometric functions. ๐Ÿงฎ

## ๐Ÿ› ๏ธ Implementation Languages

- **Python**: A high-level implementation for easy understanding and validation. ๐Ÿ
- **C**: A low-level implementation that provides insights into performance optimization. ๐Ÿ’ป
- **RISC-V Assembly**: A hardware-oriented implementation to demonstrate how the algorithm operates at the assembly level. ๐Ÿ› ๏ธ

## ๐Ÿ“ Project Structure

- `CORDIC-PYTHON/` - Python implementation of the CORDIC algorithm.
- `CORDIC-C/` - C implementation of the CORDIC algorithm.
- `CORDIC-ASM/` - RISC-V assembly implementation of the CORDIC algorithm.

## ๐Ÿš€ Usage

1. **Python Implementation**:
- Navigate to the `python/` directory and run:
```bash
python cordic.py
```

2. **C Implementation**:
- Navigate to the `c/` directory and compile the code:
```bash
gcc -o CORDIC CORDIC.c
```
- Run the compiled program:
```bash
./CORDIC
```

3. **RISC-V Assembly Implementation**:
- Navigate to the `CORDIC-ASM/` directory and assemble the code.

## ๐Ÿ“ Notes

- Ensure you have the necessary compilers and tools installed for Python, C, and RISC-V assembly.
- For RISC-V, you might need an emulator (like "RARS" simulator) or hardware that supports RISC-V instructions.

## ๐Ÿ“œ License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. ๐Ÿ“œ

## ๐Ÿ“ฌ Contact

For questions, feedback, or support, feel free to reach out:

- **Author**: [Kacper Gรณrski](mailto:[email protected]) ๐Ÿง‘โ€๐Ÿ’ป
- **LinkedIn**: [Kacper Gรณrski](https://www.linkedin.com/in/kacper-gorski-se/) ๐ŸŒ
- **Instagram**: [@kxcper.gorski](https://www.instagram.com/kxcper.gorski/) ๐Ÿ“ธ
- **X**: [@Kerciuu](https://x.com/Kerciuu) ๐Ÿฆ
- **GitHub**: [Kerciu](https://github.com/Kerciu) ๐Ÿง‘โ€๐Ÿ’ป
- **Support**: For technical support, please email [[email protected]](mailto:[email protected]) ๐Ÿ“ง

For issues, please open a [GitHub Issue](https://github.com/Kerciu/riscv-cordic-algorithm/issues). ๐Ÿš€

---