Rules

Three public rules over the providers in //riviera:defs.bzl.

RuleProducesConsumes
riviera_libraryRivieraLibraryInfoVerilogInfo / VhdlInfo
riviera_sim_test(a bazel test)RivieraLibraryInfo
riviera_toolchainRivieraToolchainInfo (one RivieraToolInfo per tool)one executable per Riviera tool; only vsimsa is mandatory

Anything that produces RivieraLibraryInfo (a pre-built vendor library, an imported UVM archive, etc.) is a drop-in for riviera_sim_test.deps — no sim-rule surgery required.

  • riviera_library — compile a verilog_library / vhdl_library DAG into one Riviera library.
  • riviera_sim_test — vmap one or more riviera_library deps and elaborate + simulate a top under vsimsa. Automatic coverage under bazel coverage.
  • riviera_toolchain — bind Riviera executables to the toolchain type consumed by the rules above.