Skip to main content

Crate bitloom_macro

Crate bitloom_macro 

Source
Expand description

Proc macros expand only to bitloom_builder / prelude paths (AD-6). Never depend on rhdl-hir.

Attribute Macros§

abstraction
Handwritten untimed / transaction abstraction (FR29). Host-only.
both
Mixed both simulation: RTL (tick) + handwritten view in one fixture (FR29).
bridge
Handwritten TLM↔pin adapter (FR29). Host-only; never enters FrozenHir / freeze. Does not generate TLM from HIR.
combinational
Marks a hardware process as combinational. Expands to a builder open/close around the function body (must call session helpers for assigns).
fsm
FR157: mark an FSM state enum so variant names become a label set.
functional_model
Marks a handwritten functional model (Story 3.3). Does not enter FrozenHir.
hls
Marks a function for HLS (FR35 external and/or FR95 in-tree). Does not schedule in the macro; scheduling is bitloom::hls::schedule_in_tree (FR95) or external Bambu (FR35).
module
Marks a struct as an RHDL module shell for Story 1.1. Generates Elaboratable that records directed ports via the builder session.
process
Rejects unmarked hardware process attributes — use combinational/sequential.
sequential
Marks a hardware process as sequential.
top
Marks the elaboratable top for cargo rhdl build (AD-19).

Derive Macros§

Bundle
Derive [bitloom_prelude::Bundle] from named struct fields (FR80 / Story 32.3).