PandA release 0.9.7
fabrizioferrandi
released this
23 Mar 13:10
·
1579 commits
to main
since this release
Sun 20 March 2022, PandA release 0.9.7
Eighth public release of PandA framework.
New features introduced:
- Added support to CLANG/LLVM compiler versions 8, 9,10, 11 and 12.
- Added support to Xilinx Vitis HLS LLVM 2020.2. https://github.com/Xilinx/HLS
- Added support to Svelto methodology. Reference paper: M. Minutoli, V. Castellana, N. Saporetti, S. Devecchi, M. Lattuada, P. Fezzardi, A. Tumeo, and F. Ferrandi, “Svelto: High-Level Synthesis of Multi-Threaded Accelerators for Graph Analytics,” IEEE Transactions on Computers, iss. 01, pp. 1-14, 2021.
- Added support to Tensor flow optimization. Reference paper: M. Siracusa and F. Ferrandi, “Tensor Optimization for High-Level Synthesis Design Flows,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Best Paper Candidate of CODES+ISSS 2020, vol. 39, iss. 11, pp. 4217-4228, 2020.
- Example of integration between Soda-Opt (https://gitlab.pnnl.gov/sodalite/soda-opt) and Bambu: Reference paper: S. Curzel, N. Bohm Agostini, S. Song, I. Dagli, A. Limaye, C. Tan, M. Minutoli, V. G. Castellana, V. Amatya, J. Manzano, A. Das, F. Ferrandi, A. Tumeo, "Automated Generation of Integrated Digital and Spiking Neuromorphic Machine Learning Accelerators", 2021 40th International Conference on Computer-Aided Design (ICCAD).
- Paper describing the PandA-bambu framework: F. Ferrandi, V.G. Castellana, S. Curzel, P. Fezzardi, M, Fiorito, M. Lattuada, M. Minutoli, C. Pilato, A. Tumeo, "Invited: Bambu: an Open-Source Research Framework for the High-Level Synthesis of Complex Applications," 2021 58th ACM/IEEE Design Automation Conference (DAC), pp. 1327-1330.
- Improved support to discrepancy analysis. Reference paper: P. Fezzardi and F. Ferrandi, “Automated Bug Detection for High-Level Synthesis of Multi-Threaded Irregular Applications,” ACM Trans. Parallel Comput., vol. 7, iss. 4, 2020.
- Added initial support to ASIC flow based on Yosys+OpenROAD projects (see https://theopenroadproject.org/). Nangate45 and ASAP7 PDKs supported.
- Simplified the simulation/synthesis backends integration. In case the used simulator or synthesizer is in the system path, the configuration can be as simple as ../configure --prefix=/opt/panda
- Added support to multi-thread simulation when Verilator version 4 is used (it is disabled by default).
- Improved bambu memory consumption.
- Added support to AppImage bambu binary distribution (https://appimage.org/).
- Added support to xc7z045-2ffg900-VVD device.
- Added support to ECP5 Lattice semiconductor devices (e.g., LFE5UM85F8BG756C, LFE5U85F8BG756C).
- Improved and better integrated value range analysis.
- Improved support to interface synthesis by allowing references in called functions.
- Added a first support to axis interface.
- Simulation and synthesis tools are now detected at runtime. Configure options have been removed, now vendor specific install directories may be specified using Bambu option ---root= (e.g. --xilinx-root=/opt/Xilinx).
- Added a Google Colab notebook with many examples to play with Bambu.
What's Changed
- Panda 0.9.7 release by @fabrizioferrandi in #45
- Panda 0.9.7 dev by @fabrizioferrandi in #30
- Panda 0.9.7 release by @fabrizioferrandi in #46
Full Changelog: v0.9.6.1...v0.9.7
Link to the binary AppImage: https://release.bambuhls.eu/appimage/bambu-0.9.7.AppImage