DeepSimulator is a part of the DeepHLS toolchain. For more information about the toolchain and how to use DeepSimulator, please refer to DeepHLS tool opensourced under the same github user page.
If you find this work helpful for your research, please consider citing our paper published in The 27th IEEE International Conference on Electronics, Circuits and Systems (ICECS), 2020.
Riazati, Mohammad, Masoud Daneshtalab, Mikael Sjödin, and Björn Lisper. "DeepHLS: A complete toolchain for automatic synthesis of deep neural networks to FPGA." In The 27th IEEE International Conference on Electronics, Circuits and Systems (ICECS), pp. 1-4. IEEE, 2020.
The tool is built and tested in:
- Microsoft Visual Studio 2019
- Linux Ubuntu 22.04 (g++ 11.3.0)
g++ -g *.*pp --std c++17 -o deepsimulator
..> deepsimulator
There are five files which need to be created by other tools. After creating them, they must be copied beside other project files before building. DeepHLS and KerasPreprocessings are published under the same github user page.
- Use KerasPreprocessings to create data.h, param.h.
- Use output_arch.py (generated by KerasPreprocessings) as the input for DeepHLS to create the synthesizable C implementation. DeepHLS creates main.cpp, data-types.h, and param-list.h
When creating files with DeepHLS, you may supply various parameters. Among them, two are related to DeepSimulator.
- add-main-function: Required
- store-analysis-data: If you use DeepSimulator to anlayze data ranges and to determine fixed-point configurations.