Implementing a flight simulator (term used loosely...) in FPGA on the DE1-SoC: this time with help of Nios II!
This is a continuation/rewrite of the first version of the project: FlightGPA, where we tried to do the project in Verilog only.
![](https://private-user-images.githubusercontent.com/8998191/321067156-5d7bf9bb-779a-4e93-9488-3969b0ccf37e.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNzkxNjcsIm5iZiI6MTczOTE3ODg2NywicGF0aCI6Ii84OTk4MTkxLzMyMTA2NzE1Ni01ZDdiZjliYi03NzlhLTRlOTMtOTQ4OC0zOTY5YjBjY2YzN2UuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTBUMDkxNDI3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODQ1ZjViZDg0NWM0NmY4OWJlZGQzZmQxZDZkNGM1NzM5YzcyMjFiZjVkMmM5MThhMjBiYTkwNjMzMWUzYTI3MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.IQl1SG9_hsNiT-VmzGeqaKJ3ggJAWPFVVv2zCCZ_L88)
Big thanks to glm (OpenGL Mathematics library) licensed under the MIT license, without which this project would not be possible.
Targeted for/tested using:
- Quartus Prime 18.1
- Python 3.10.2
- C99 + C++14 standards
glm
1.0.2 commitab913bbdd0bd10462114a17bcb65cf5a368c1f32
- Ubuntu 22.04
fpga/
: Quartus project for running on FPGA: edited version of "DE1-SoC Computer System"software/
: C/C++ code for running on Nios II corebsp/
: board support package for Nios II corehost/
: Python code and data on the host computer, i.e. to provide interface to USB joystick
glm
needs to be patched usingglm_PR1264_fix_uninitialized_in_constexpr_warning.patch
taken from unmerged PRnios2eds/bin/gnu/nios2-elf/include/c++/5.3.0/bits/random.tcc
needs to be patched by turning allstd::max(<constant>, ... )
calls intostd::max((double)<constant>, ...)