All Projects → ferrandi → PandA-bambu

ferrandi / PandA-bambu

Licence: GPL-3.0, LGPL-3.0 licenses found Licenses found GPL-3.0 COPYING LGPL-3.0 COPYING.LIB
PandA-bambu public repository

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
M4
1887 projects
Makefile
30231 projects
TeX
3793 projects
VHDL
269 projects

Projects that are alternatives of or similar to PandA-bambu

Hls4ml
Machine learning in FPGAs using HLS
Stars: ✭ 467 (+262.02%)
Mutual labels:  fpga, hls
Gemm hls
Scalable systolic array-based matrix-matrix multiplication implemented in Vivado HLS for Xilinx FPGAs.
Stars: ✭ 134 (+3.88%)
Mutual labels:  fpga, hls
Pipecnn
An OpenCL-based FPGA Accelerator for Convolutional Neural Networks
Stars: ✭ 775 (+500.78%)
Mutual labels:  fpga, hls
scalehls
A scalable High-Level Synthesis framework on MLIR
Stars: ✭ 62 (-51.94%)
Mutual labels:  fpga, hls
soap
🎯 soap - Structural Optimisation of Arithmetic Programs
Stars: ✭ 21 (-83.72%)
Mutual labels:  fpga, high-level-synthesis
Pp4fpgas Cn
中文版 Parallel Programming for FPGAs
Stars: ✭ 339 (+162.79%)
Mutual labels:  fpga, hls
Pp4fpgas Cn Hls
HLS Project of pp4fpgas - https://github.com/xupsh/pp4fpgas-cn
Stars: ✭ 97 (-24.81%)
Mutual labels:  fpga, hls
hwt
VHDL/Verilog/SystemC code generator, simulator API written in python/c++
Stars: ✭ 145 (+12.4%)
Mutual labels:  fpga, hls
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (+40.31%)
Mutual labels:  fpga, hls
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (+27.13%)
Mutual labels:  fpga, hls
Halide Hls
HLS branch of Halide
Stars: ✭ 59 (-54.26%)
Mutual labels:  fpga, hls
hlsclt
A Vivado HLS Command Line Helper Tool
Stars: ✭ 35 (-72.87%)
Mutual labels:  fpga, high-level-synthesis
Openwifi
open-source IEEE 802.11 WiFi baseband FPGA (chip) design
Stars: ✭ 2,257 (+1649.61%)
Mutual labels:  fpga, hls
polyphony
Polyphony is Python based High-Level Synthesis compiler.
Stars: ✭ 90 (-30.23%)
Mutual labels:  fpga, high-level-synthesis
Limago
Limago: an FPGA-based Open-source 100 GbE TCP/IP Stack
Stars: ✭ 95 (-26.36%)
Mutual labels:  fpga, hls
nginx-audio-track-for-hls-module
🔉 Nginx module that generates audio track for HTTP Live Streaming (HLS) streams on the fly.
Stars: ✭ 122 (-5.43%)
Mutual labels:  hls
vericert
A formally verified high-level synthesis tool based on CompCert and written in Coq.
Stars: ✭ 63 (-51.16%)
Mutual labels:  high-level-synthesis
systemc-compiler
This tool translates synthesizable SystemC code to synthesizable SystemVerilog.
Stars: ✭ 128 (-0.78%)
Mutual labels:  hls
PothosZynq
DMA source and sink blocks for Xilinx Zynq FPGAs
Stars: ✭ 19 (-85.27%)
Mutual labels:  fpga
ghichep-StreamingVideo
Ghi chép về Livestream sử dụng Opensource - Xây dựng một máy chủ Livestream theo cách đơn giản nhất - NGINX RTMP Dockerfile
Stars: ✭ 40 (-68.99%)
Mutual labels:  hls

PandA Bambu HLS Framework

License: GPL v3


The primary objective of the PandA project is to develop a usable framework that will enable the research of new ideas in the HW-SW Co-Design field.

The PandA framework includes methodologies supporting the research on high-level synthesis of hardware accelerators, on parallelism extraction for embedded systems, on hardware/software partitioning and mapping, on metrics for performance estimation of embedded software applications and on dynamic reconfigurable devices.

PandA is free software, free in the sense that it respects the user’s freedom, released under the GNU General Public License version 3 and being developed at Politecnico di Milano (Italy).

The source files currently distributed mainly cover the high-level synthesis of C/C++ based descriptions. In particular, the tool Bambu provides a research environment to experiment with new ideas across HLS, high-level verification and debugging, FPGA/ASIC design, design flow space exploration, and parallel hardware accelerator design. Bambu accepts as input standard C/C++ specifications and compiler intermediate representations coming from the well-known Clang/LLVM and GCC compilers. The broad spectrum and flexibility of input formats allow the electronic design automation research community to explore and integrate new transformations and optimizations.

If you use Bambu in your research, please cite:

@INPROCEEDINGS{ferrandi2021bambu,
  author={Ferrandi, Fabrizio and Castellana, Vito Giovanni 
          and Curzel, Serena and Fezzardi, Pietro and Fiorito, Michele 
          and Lattuada, Marco and Minutoli, Marco and Pilato, Christian 
          and Tumeo, Antonino},
  booktitle={2021 58th ACM/IEEE Design Automation Conference (DAC)}, 
  title={Invited: Bambu: an Open-Source Research Framework for the 
         High-Level Synthesis of Complex Applications}, 
  year={2021},
  pages={1327-1330},
  abstract = {This paper presents the open-source high-level synthesis (HLS) research 
              framework Bambu. Bambu provides a research environment to experiment with 
              new ideas across HLS, high-level verification and debugging, FPGA/ASIC design,
              design flow space exploration, and parallel hardware accelerator design. The 
              tool accepts as input standard C/C++ specifications and compiler intermediate 
              representations (IRs) coming from the well-known Clang/LLVM and GCC compilers. 
              The broad spectrum and flexibility of input formats allow the electronic 
              design automation (EDA) research community to explore and integrate new 
              transformations and optimizations. The easily extendable modular framework 
              already includes many optimizations and HLS benchmarks used to evaluate 
              the QoR of the tool against existing approaches [1]. The integration with 
              synthesis and verification backends (commercial and open-source) allows 
              researchers to quickly test any new finding and easily obtain performance 
              and resource usage metrics for a given application. Different FPGA devices 
              are supported from several different vendors: AMD/Xilinx, Intel/Altera, 
              Lattice Semiconductor, and NanoXplore. Finally, integration with the OpenRoad 
              open-source end-to-end silicon compiler perfectly fits with the recent push 
              towards open-source EDA.},
  publisher={{IEEE}},
  doi={10.1109/DAC18074.2021.9586110},
  ISSN={0738-100X},
  month={Dec},
  pdf={https://re.public.polimi.it/retrieve/668507/dac21_bambu.pdf}
}

Installation instructions

Installation instructions for many different operation systems are available at https://panda.dei.polimi.it/?page_id=88 or in the INSTALL file in this repository.

You may also download pre-compiled AppImage distributions and VMs at https://panda.dei.polimi.it/?page_id=81 or you can generate them yourself following the instructions under etc/Appimage and etc/VMs.

Dockerfiles are also available under etc/containers along with a VS Code devcontainer configuration which may be useful for development purposes. Pre-built docker images can be downloaded at Docker Hub.

A Google Colab notebook with many examples to play with Bambu is available. Open In Colab


Contacts

Issues, patches, and pull requests are welcome at https://github.com/ferrandi/PandA-bambu.
For further information send an e-mail to [email protected], visit PandA website or the Google group page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].