Some common Radar Signal and Data Processing Algorithms Implementation in Vivado HLS with detailed explanation and math modelling (Python). The lessons show how to do for some basic algorithms:
- mathematical modelling in Python for verification of simulation output and hardware design consideration
- Vivado High-Level Synthesis simulation, implementation and hardware design optimization
The lessons are very useful for understanding Radar Signal and Data processing fundamentals, FPGA hardware design and implementation by using advantage of high-level synthesis.
Folders and files of the repository
+-- doc\
| |
| +-- fft-hls-python.md -- main documentation
| +-- cfar-hls-python.md -- main documentation
| +-- images\
|
+-- py_scripts\
| |
| +-- fft_generator.py -- complex data generator for RTL simulation and fft_model.py
| +-- fft_model.py -- math model of FFT DIT algorithm for int16
| +-- cfar_generator.py -- data generator for RTL simulation and cfar_model.py
| +-- cfar_model.py -- math model of OS-CFAR algorithm
|
+-- hls_src\ -- Vivado HLS sources
| |
| +-- fft\
| | |
| | +-- fft_hls.cpp
| | +-- fft_hls.h
| | +-- fft_hls_tb.cpp
| | +-- fft_hls_tb.h
| |
| +-- cfar\
| | |
| | +-- cfar_hls.cpp
| | +-- cfar_hls.h
| | +-- cfar_hls_tb.cpp
| | +-- cfar_hls_tb.h
|
+-- tcl\ -- tcl script for compiling Vivado HLS
| |
| +-- run_cfar_hls.tcl
| +-- run_fft_hls.tcl
|
+-- Makefile -- Makefile for building Vivado HLS project
|
+-- README.md
|
+-- LICENSE
How to work with the repository
- Create synthetic signal with the fft_generator.py script
python3 py_scripts/fft_generator.py 1024 3 40
- In the repository root directory run make command for building and launching Vivado HLS project
make fft_accel
- Run fft_model.py script for cheking Vivado HLS simulation result
python3 py_scripts/fft_model.py