Skip to content

SystemC#662

Open
desmonddak wants to merge 27 commits into
intel:mainfrom
desmonddak:systemc
Open

SystemC#662
desmonddak wants to merge 27 commits into
intel:mainfrom
desmonddak:systemc

Conversation

@desmonddak
Copy link
Copy Markdown
Contributor

Description & Motivation

We should have a SystemC translation of our ROHD modules to simulate in a SystemC environment.

Related Issue(s)

None.

Testing

Leverage iverilog tests to drive SystemC testing, except for somethings like lack of 'X' propagation.

Backwards-compatibility

Is this a breaking change that will not be backwards-compatible? If yes, how so?

No.

Documentation

Does the change require any updates to documentation? If so, where? Are they included?

Very basic documentation added to parallel SystemVerilog.

Introduces a singleton service registry (ModuleServices) that provides a
unified query surface for DevTools and inspection tools. Module.build()
now registers the root module with ModuleServices.instance.

Also adds SvService which wraps SystemVerilog synthesis and registers
with ModuleServices for DevTools access to SV metadata.

This is a clean separation: no netlist code is included. The netlist
branch will later extend ModuleServices with a netlistService field.
Adds a complete netlist synthesis pipeline that converts ROHD module
hierarchies into Yosys-compatible JSON netlists. Key additions:

- NetlistSynthesizer: traverses module hierarchy producing cell/wire JSON
- NetlistService: async factory that registers with ModuleServices
- NetlistOptions: configurable post-processing passes (DCE, struct
  grouping, concat collapsing, etc.)
- NetlistPasses: optimization and structural transformations
- LeafCellMapper: maps ROHD gates to standard cell definitions
- NetlistUtils: wire naming, bit-range formatting, JSON helpers

Also extends Module.build() with optional netlistOptions parameter,
updates ModuleServices with netlistService field, and refactors
examples into lib/src/examples/ for reuse in tests.

Comprehensive test coverage across 11 new/updated test files (146 tests).
@desmonddak desmonddak changed the title Systemc SystemC May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant