Crate cmtc

Source
Expand description

The cmtc compiler

cmtc provides passes for cmtir to generate FIRRTL (and use firtool to generate optimized SystemVerilog) and different simulation backends (notably Verilator and Khronos).

cmtc also provides driver functions (in crate::ehdl) for the eHDL cmtrs, generate cmtir, and compile to FIRRTL/SystemVerilog/Verilator/Khronos.

§Passes

placed in crate::passes

§FIRRTL backend

placed in crate::to_fir

§Simulation backends

placed in crate::sim

§VERY IMPORTANT!!!

cmtrs use nightly features for span support. You need add a file .cargo/config.toml with the following content:

[build]
rustflags = "--cfg procmacro2_semver_exempt"

as well as a rust-toolchain.toml file with the following content:

[toolchain]
channel = "nightly-2024-12-25"

Re-exports§

pub use passes::*;
pub use to_fir::*;
pub use sim::*;
pub use ehdl::*;

Modules§

ehdl
passes
The passes for the cmtc compiler
sim
The simulation backends for the cmtc compiler
to_fir
utils

Macros§

circuit_from_file