Vivado & HLS project: neural monitor for missile case study
This is a source code to generate a vivado project which is used as a case study for a neural monitor in DATE'2016 paper.
- Vivado 2015.2
- Vivado HLS
- Python 2.7
To generate all the required IPs and the Vivado project run:
installation_script
(i.e. the above script will do ALL the required work up to bit-stream generation, as a USER in an ideal world you do not need to do anything)
The structure of the repository:
-
hls_src
contains C/C++ sources for generating neural monitors in vivado HLS. Each sub-monitor is generated in a sequence of steps which are governed by the corresponding tcl-scripts. -
ip_from_hls
is a folder to store IPs generated by vivado HLS. The scriptcopy_hls_ips.sh
in this folder copies generated IPs to fromhls_src
to this directory. -
ip_infineon
contains IPs that are used in the project developed by Infineon (e.g. RS-trigger, Clock divider, signal generator) -
vivado
holds all vivado related source files and tcl-scripts for generating a vivado project. The script build_missile.tcl` is a main script for creating the project.
The flow to generate the vivado project:
-
hls_src
contains C/C++ sources for generating neural monitors in vivado HLS. Each sub-monitor is generated in a sequence of steps which are governed by corresponding tcl-scripts. Formonitor
s:- and_mon - bounded_hist - bounded_once - edge_mon - impl_mon - punc_once_4 - punc_once_5
we need to run
vivado_hls -f {monitor}.tcl
. This script invokes Vivado HLS to perform compilation, RTL synthesis, co-simulation and finally to generate IP which corresponds to a sub-monitor. -
IPs generated by HLS are buried in directory tree (e.g. {monitor}/solution1/impl/ip/{IP_NAME}.zip). The script
copy_hls_ips.sh
inip_from_hls
directory copies all the generated IPs in one place to use these IP further in Vivado project. -
The tcl-script
build_missile.tcl
in thevivado
folder generates the Vivado project that contains block design and a debug core. Files invivado/src
folder are sourced and included if necessary.To create the project, run
source build_missile.tcl
from Vivado Tcl Console.
Need to agree about licencing terms.
I am a PhD Student at Vienna University of Technology and a project assistant in HARMONIA FFG Project.
Konstantin Selyunin