Skip to content

larsjoost/llvm2hdl

Repository files navigation

The goal of the project is to convert languages (Ada, C, C++, D, Delphi, Fortran, Haskell, Julia, Objective-C, Rust, and Swift). that support LLVM IR generation (https://llvm.org/docs/LangRef.html) files to VHDL or Verilog, so that the code can be synthesized to FPGA firmware.

The first milestone is to implement a RISC-V CPU in C++.

The current version can convert a C++ file to VHDL by typing (LLVM2HDL variable points to llvm2hdl installation directory):

source $LLVM2HDL/setup.sh

cpp2vhdl test/cpp/add/add.cpp

Run tests by typing:

cd $LLVM2HDL; ./test.sh

Installation:

cd $LLVM2HDL; ./install.sh