circt/tools/CMakeLists.txt

23 lines
614 B
CMake
Raw Normal View History

add_subdirectory(arcilator)
add_subdirectory(circt-as)
add_subdirectory(circt-cocotb-driver)
add_subdirectory(circt-dis)
add_subdirectory(circt-lec)
add_subdirectory(circt-lsp-server)
2020-06-18 01:19:08 +08:00
add_subdirectory(circt-opt)
add_subdirectory(circt-reduce)
add_subdirectory(circt-rtl-sim)
2020-06-18 01:19:08 +08:00
add_subdirectory(circt-translate)
add_subdirectory(esi)
2020-06-18 05:14:02 +08:00
add_subdirectory(handshake-runner)
add_subdirectory(firtool)
Merge LLHD project into CIRCT (#14) * Merge LLHD project into CIRCT * Split LLHDOps.td into multiple smaller files * move LLHDToLLVM init definition and prune includes * Format tablegen files with 2 space indent, 80 col width; move out trait helper function * Move implementation logic from LLHDOps.h to cpp file * Empty lines for breathing space; nicer operation separators * Move simulator to Dialect/LLHD/Simulator * move `State.h` and `signal-runtime-wrappers.h` to lib directory * pass ModuleOp by value * make getters const, return ModuleOp by value * Use isa, cast, dyn_cast appropriately * wrap struct in anon namespace; make helpers static * [cmake] Fold into LINK_LIBS * fix for loops * replace floating point with `divideCeil` * prune redundant includes * make llhd-sim helpers static * remove StandardToLLVM pass registration * move verilog printer to cpp file, add global function as public API * Move transformation pass base classes and registration to lib, add file header boilerplate * Few improvements * Return diagnostics directly * isa instead of kindof * Improve walks * etc. * add 'using namespace llvm;' again * Always pass a location when creating new ops * Improve cmake files * remove unnecessary `LLVMSupport` links. * add `PUBLIC` where missing. * move LLVMCore under `LINK_COMPONENTS`. * Add file headers and improve simulator comments * Some LLHDToLLVM improvements * Fix walks. * Use `std::array` instead of `SmallVector` when resize is not needed. * Fix a potential sefgault by passing an ArrayRef with no data owner. * Remove some unnecessary steps. * Remove some unnecessary const strings. * Add new LowerToLLVMOptions argument The new argument was added in 10643c9ad85bf072816bd271239281ec50a52e31. * Add missing file header boilerplate and newline * Improve for-loop * use static instead of anonymous namespace for functions * fit to 80 columns, cast instead of dyn_cast * Changes for LLVM update * use llvm format instead of std::stringstream and iomanip Co-authored-by: rodonisi <simon@rodoni.ch>
2020-07-03 02:04:33 +08:00
add_subdirectory(llhd-sim)
add_subdirectory(om-linker)
add_subdirectory(py-split-input-file)
add_subdirectory(hlstool)
add_subdirectory(ibistool)
[ImportVerilog] Add Slang frontend dependency (#6620) This is the first PR in a longer chain that adds basic SV support to CIRCT. Add the Slang Verilog frontend as a CIRCT dependency. This will be the foundation for CIRCT's Verilog parsing, elaboration, type checking, and lowering to the core dialects. By default, Slang is built as a static library from scratch, which is then linked into the new `ImportVerilog` conversion. Alternatively, CIRCT can also be linked against a local Slang installation provided by the system. Add the `ImportVerilog` conversion library. This library statically links in the Slang dependency and wraps it in an exception-safe, LLVM-style API. Currently this only consists of the `getSlangVersion` function and the necessary linking flags to get it to link statically against Slang. Add the `circt-verilog` tool, which will provide a fully-flegded interface to the new `ImportVerilog` library. Later on we'll also add an MLIR translation library for single-file SV import. But in general, SV builds take a lot of command line options (macros, search paths, etc.) and multiple input files, which is why we have a dedicated tool. All the tool does at the moment is print the linked Slang version. More to come. Note that this intentionally links against **version 3** of Slang. Newer versions are available -- 4 and 5 as of this commit -- but they rely on fairly new C++ compiler features that didn't work out of the box in our CI images. We'll eventually want to upgrade, but for now Slang 3 is sufficient to get the ball rolling. See https://github.com/MikePopoloski/slang for details on Slang. Co-authored-by: ShiZuoye <albertethon@163.com> Co-authored-by: hunterzju <hunter_ht@zju.edu.cn> Co-authored-by: 孙海龙 <hailong.sun@terapines.com>
2024-01-31 05:22:00 +08:00
if(CIRCT_SLANG_FRONTEND_ENABLED)
add_subdirectory(circt-verilog)
endif()