Skip to content
Raffaele Meloni edited this page Jun 26, 2024 · 4 revisions

This wiki contains details about the internals of the Tywaves project. It explains the tools that are involved in the project, the software architecture, and the pipeline, including the changes and contributions made to the Chisel and CIRCT repositories.

  • Tywaves internals: details about the approach used and software architecture. The backend is now integrated within the Chisel and CIRCT.
  • Changes in Chisel: explanation of all the changes done in the Chisel repository to get type information and pass it to CIRCT.
  • Changes in CIRCT: explanation of all the changes done in the CIRCT repository to consume the information passed by Chisel and associate it with compiled Verilog.
  • Waveform GUI
    • Tywaves-rs: a Rust library to help Surfer to read debug files (HGLDD) from CIRCT and manipulate debug information.
    • Surfer: the changes made in Surfer (the waveform UI) to display the waveforms
  • Sequence and class diagrams: UML diagrams showing more details of the internal execution, which exact steps changed in the Chisel-CIRCT pipeline and what data structures are used in Tywaves-rs.