Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
82e900e
move synthesis naming to a common naming utility so all synthesizers …
desmonddak Apr 17, 2026
85f88ce
dart 3.11 parameter_assignments pickiness
desmonddak Apr 17, 2026
b1de1e5
Merge branch 'main' into central_naming
desmonddak Apr 17, 2026
b7087c4
conflict resolved and dart format . works
desmonddak Apr 17, 2026
4a55214
properly assign naming spaces for instances vs signals
desmonddak Apr 18, 2026
ed7be36
format issue
desmonddak Apr 18, 2026
ab09aed
Controllable enforcement of signal vs instance name uniqueness.
desmonddak Apr 19, 2026
520d280
Refactored to Namer class. No external API changes for ROHD
desmonddak Apr 19, 2026
61d0319
signal registry
desmonddak Apr 20, 2026
becdb36
module context name uniquification instead of signal/instance split
desmonddak May 1, 2026
a86f80c
Merge branch 'main' into central_naming
desmonddak May 3, 2026
d5904a6
cleanup of port vs signal name assumptions, constant merging and sign…
desmonddak May 3, 2026
3645293
Add ModuleServices singleton and SvService
desmonddak May 6, 2026
6dfe0f9
simplified forModule, improved code doc
desmonddak May 12, 2026
3c90e5d
more coverage for Namer
desmonddak May 12, 2026
f918ec7
first passing version of SystemC translated tests
desmonddak May 8, 2026
91604b1
SystemC and SV tests are comingled.
desmonddak May 8, 2026
810eec7
we need sudo in installation scripts
desmonddak May 8, 2026
6c39020
avoid a race and using a lock for SystemC
desmonddak May 8, 2026
340af62
cascade introduced
desmonddak May 9, 2026
0b4732b
use BigInt.one shifted instead of a platform-dependent constant
desmonddak May 9, 2026
6aeb6aa
JS platform skip SystemC
desmonddak May 9, 2026
832ef9f
cleanup tmp_test after systemc tests
desmonddak May 9, 2026
4b92fc6
create test dir
desmonddak May 9, 2026
824a191
cascade issue
desmonddak May 9, 2026
de589e5
yet another JS issue
desmonddak May 9, 2026
d0e985b
trying to match devcontainer to normal ci
desmonddak May 9, 2026
60974d7
dart tests using ffi to drive systemc
desmonddak May 21, 2026
1951d17
fixed recent analyzer failure (version change)
desmonddak May 21, 2026
e4d931d
skip FFI tests in CI as dart:ffi is not available
desmonddak May 21, 2026
0ea6f1e
remove netlist leakage into this branch
desmonddak May 22, 2026
d1da6a2
module_services_test only on vm
desmonddak May 22, 2026
1989dd0
resolve naming crash for systemc and ensure names are aligned
desmonddak May 23, 2026
6ca2e8c
fix perf problem reported by Carlos
desmonddak May 27, 2026
cb11009
feat(systemc): scLineMap records all assignment LHS positions
desmonddak May 27, 2026
881fb08
formatting
desmonddak May 28, 2026
42fba62
canonical names at last, even in the comments
desmonddak Jun 12, 2026
6a41f8d
pesky override rule surfaced again on tutorials file
desmonddak Jun 12, 2026
139280f
new keyring-based installation for dart in codespaces
desmonddak Jun 12, 2026
62e4a2c
new keyring-based installation for dart in codespaces
desmonddak Jun 12, 2026
caecb02
keyring-style dart installation rather than holding keys
desmonddak Jun 14, 2026
089faf8
new dart analyzer failure with bad override
desmonddak Jun 14, 2026
e015889
Merge branch 'override-bug' into new-dart
desmonddak Jun 14, 2026
1232afb
Potential fix for pull request finding
desmonddak Jun 15, 2026
e558a4d
Orthogonalize: simplify Namer by removing instance name caching
desmonddak Jun 17, 2026
8ef6820
Fix orthogonalized Namer: remove stale instanceNameOf method
desmonddak Jun 17, 2026
1225df1
Clean DevTools extension analysis and formatting
desmonddak Jun 20, 2026
c8440c4
Keep DevTools extension changes on owning branches
desmonddak Jun 20, 2026
8a92fb9
first passing version of SystemC translated tests
desmonddak May 8, 2026
4d467ce
SystemC and SV tests are comingled.
desmonddak May 8, 2026
f2d5fd6
avoid a race and using a lock for SystemC
desmonddak May 8, 2026
09bd0b3
cascade introduced
desmonddak May 9, 2026
4cb001b
use BigInt.one shifted instead of a platform-dependent constant
desmonddak May 9, 2026
7b330d7
JS platform skip SystemC
desmonddak May 9, 2026
1c9a706
cleanup tmp_test after systemc tests
desmonddak May 9, 2026
9f79c7e
create test dir
desmonddak May 9, 2026
3158f28
cascade issue
desmonddak May 9, 2026
57aad95
yet another JS issue
desmonddak May 9, 2026
e821b4d
trying to match devcontainer to normal ci
desmonddak May 9, 2026
274be02
dart tests using ffi to drive systemc
desmonddak May 21, 2026
147b601
fixed recent analyzer failure (version change)
desmonddak May 21, 2026
bfd36d1
skip FFI tests in CI as dart:ffi is not available
desmonddak May 21, 2026
8ea068e
remove netlist leakage into this branch
desmonddak May 22, 2026
062be8a
resolve naming crash for systemc and ensure names are aligned
desmonddak May 23, 2026
446b7e4
fix perf problem reported by Carlos
desmonddak May 27, 2026
b890de0
feat(systemc): scLineMap records all assignment LHS positions
desmonddak May 27, 2026
f6496bb
formatting
desmonddak May 28, 2026
df29290
Avoid shared SystemC simcompare temp files
desmonddak Jun 20, 2026
a87fa5c
added back pubkeys, and made a wget a fallback solution with loud war…
desmonddak Jun 21, 2026
35558b0
trailing comma reduction
desmonddak Jun 22, 2026
d2760eb
Merge branch 'new-dart' into central_naming
desmonddak Jun 22, 2026
04defe3
Merge branch 'new-dart' into systemc
desmonddak Jun 22, 2026
9bbe55d
merge new-dart
desmonddak Jun 22, 2026
4e332ca
Fix committed conflict markers in simcompare.dart
desmonddak Jun 22, 2026
fc690f3
Restrict module_services_test to VM platform
desmonddak Jun 22, 2026
b7e46c0
Add instanceNameOf to Namer: cached instance-name lookup
desmonddak Jun 22, 2026
0f13c7b
Move instanceNameOf stability test to central_naming
desmonddak Jun 22, 2026
e2a07f9
Clean up tmp_test after SystemC tests
desmonddak Jun 22, 2026
26a1abc
Fix tmp_test cleanup for FFI cosim test
desmonddak Jun 22, 2026
ca49954
Fix always_put_control_body_on_new_line lint in cleanupCache
desmonddak Jun 22, 2026
d4be883
Fix always_put_control_body_on_new_line in cleanupCache early return
desmonddak Jun 22, 2026
319706b
Wire pickName through instanceNameOf for stable instance names
desmonddak Jun 22, 2026
11bc2cd
Add instance-signal namespace collision stability tests
desmonddak Jun 22, 2026
3b8a8a8
consistency in naming
desmonddak Jun 22, 2026
41ef3cb
Clean up tmp_test after provider/consumer SystemC tests
desmonddak Jun 22, 2026
acf01a9
Self-clean tmp_test in checkSystemCVector (single-shot path)
desmonddak Jun 22, 2026
9be2d45
Fix cleanupSystemCCache: use entity.path not entity.uri for name
desmonddak Jun 22, 2026
b0e97c1
Allow pch/ in check_tmp_test.sh (intentional PCH cache)
desmonddak Jun 22, 2026
32797ec
Split base SystemC support from services
desmonddak Jun 23, 2026
2c27014
Adapt SystemC support to central naming
desmonddak Jun 23, 2026
9aaf558
Restore FFI cosim cleanupCache and use Node 24 in CI
desmonddak Jun 23, 2026
6371036
Clean up Namer allocation API
desmonddak Jun 24, 2026
e06b6bb
Add ModuleServices singleton and SvService
desmonddak May 6, 2026
9ca2a8f
Slim ModuleServices API branch
desmonddak Jun 25, 2026
6429977
attempt to reduce conflict in module.dart
desmonddak Jul 2, 2026
90fb738
Normalize module import spacing
desmonddak Jul 2, 2026
a88af28
Merge remote-tracking branch 'origin/systemc_naming' into module_serv…
desmonddak Jul 2, 2026
4b27f90
conflict resolution after merging main
desmonddak Jul 10, 2026
8529232
fix systemc installer
desmonddak Jul 10, 2026
fc2bcaa
systemc compiler cleanup
desmonddak Jul 10, 2026
e4ecc62
Remove SystemC changes from module services API
desmonddak Jul 15, 2026
58cea41
Merge branch 'main' into module_services_api
desmonddak Jul 15, 2026
ab98dd2
enhance SvService with SystemVerilogSynthesizerConfiguration
desmonddak Jul 15, 2026
df8a606
Remove dart_test.yaml - only needed in branches with FFI tests
desmonddak Jul 16, 2026
ee6c7a3
fully deprecate WaveDumper, multiple review fixes
desmonddak Jul 16, 2026
4db1142
deprecate generateSynth
desmonddak Jul 17, 2026
b8f5f63
refactor: Convert rootModule field to property with ModuleTree sync
desmonddak Jul 17, 2026
a6120e9
Merge remote-tracking branch 'upstream/main' into module_services_api
desmonddak Jul 17, 2026
73e06a5
missed generateSynth calls
desmonddak Jul 17, 2026
e8bc6d3
cleanup module_services lookup and rootModule APIs
desmonddak Jul 18, 2026
d8dc42a
Support headers in multi-file SV output
desmonddak Jul 19, 2026
e98a0c0
single and multi-file header control for SV
desmonddak Jul 19, 2026
8d9be73
cleaner ModuleTree update
desmonddak Jul 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ Please include the SPDX tag near the top of any new files you create:
Here is an example of a recommended file header template:

```dart
// Copyright (C) 2021-2023 Intel Corporation
// Copyright (C) 2021-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// example.dart
Expand Down
4 changes: 2 additions & 2 deletions benchmark/many_submodules_benchmark.dart
Comment thread
desmonddak marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2024 Intel Corporation
// Copyright (C) 2024-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// many_submodules_benchmark.dart
Expand Down Expand Up @@ -33,7 +33,7 @@ class ManySubmodulesBenchmark extends AsyncBenchmarkBase {
Future<void> run() async {
final dut = ManySubmodulesModule(Logic(), numSubModules: 10000);
await dut.build();
dut.generateSynth();
SystemVerilogService(dut).output;
}
}

Expand Down
4 changes: 2 additions & 2 deletions benchmark/wave_dump_benchmark.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2023 Intel Corporation
// Copyright (C) 2023-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// wave_dump_benchmark.dart
Expand Down Expand Up @@ -56,7 +56,7 @@ class WaveDumpBenchmark extends AsyncBenchmarkBase {
_mod = _ModuleToDump(Logic(), _clk);
await _mod.build();

WaveDumper(_mod, outputPath: _vcdTemporaryPath);
WaveformService(_mod, outputPath: _vcdTemporaryPath);

await Simulator.run();

Expand Down
5 changes: 3 additions & 2 deletions doc/tutorials/chapter_2/helper.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2023-2025 Intel Corporation
// Copyright (C) 2023-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// helper.dart
Expand All @@ -13,7 +13,8 @@ import 'package:rohd/rohd.dart';

Future<void> displaySystemVerilog(Module mod) async {
await mod.build();
print('\nYour System Verilog Equivalent Code: \n ${mod.generateSynth()}');
print('\nYour System Verilog Equivalent Code: \n '
'${SystemVerilogService(mod).output}');
}

class LogicInitialization extends Module {
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_3/answers/exercise_sv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void main() async {
await fSub.build();

// ignore: avoid_print
print(fSub.generateSynth());
print(SystemVerilogService(fSub).output);

test('should return 0 when a and b equal 1', () async {
a.put(1);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_3/full_adder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,5 @@ void main() async {
final mod = FullAdderModule(a, b, cIn, faOps);
await mod.build();

print(mod.generateSynth());
print(SystemVerilogService(mod).output);
}
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_4/answers/exercise_1_sv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ void main() async {
final mod = NBitAdder(a, b);
await mod.build();

print(mod.generateSynth());
print(SystemVerilogService(mod).output);

test('should return 255 when both inputs are added', () {
a.put(127);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_4/answers/exercise_2_sv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ void main() async {

final mod = NBitSubtractor(a, b);
await mod.build();
print(mod.generateSynth());
print(SystemVerilogService(mod).output);

test('should return 5 when a is 25 and b is 20', () {
a.put(25);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_4/basic_generation_sv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ void main() async {

await nbitAdder.build();

print(nbitAdder.generateSynth());
print(SystemVerilogService(nbitAdder).output);

test('should return 10 when both inputs are 5.', () async {
a.put(5);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_5/answers/full_adder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ void main() async {
final mod = FullAdder(a: a, b: b, carryIn: cIn);
await mod.build();

print(mod.generateSynth());
print(SystemVerilogService(mod).output);

test('should return true if result sum similar to truth table.', () async {
for (var i = 0; i <= 1; i++) {
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_5/answers/full_subtractor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Future<void> main() async {

await diff.build();

print(diff.generateSynth());
print(SystemVerilogService(diff).output);

test('should return true if results matched truth table', () async {
for (var i = 0; i <= 1; i++) {
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_5/answers/n_bit_subtractor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Future<void> main() async {
final mod = NBitFullSubtractor(a, b);
await mod.build();

print(mod.generateSynth());
print(SystemVerilogService(mod).output);

test('should return 1 when a is 8 and b is 7.', () {
a.put(8);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_5/n_bit_adder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ void main() async {

await nbitAdder.build();

// print(nbitAdder.generateSynth());
// print(SystemVerilogService(nbitAdder).output);

test('should return 20 when A and B perform add.', () async {
a.put(15);
Expand Down
6 changes: 3 additions & 3 deletions doc/tutorials/chapter_7/answers/exercise_1_d_flip_flop.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2023-2024 Intel Corporation
// Copyright (C) 2023-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// exercise_1_d_flip_flop.dart
Expand Down Expand Up @@ -44,7 +44,7 @@ Future<void> main() async {
final dff = DFlipFlop(data, reset, clk);
await dff.build();

print(dff.generateSynth());
print(SystemVerilogService(dff).output);

data.inject(1);
reset.inject(1);
Expand All @@ -60,7 +60,7 @@ Future<void> main() async {

unawaited(Simulator.run());

WaveDumper(dff,
WaveformService(dff,
outputPath: 'doc/tutorials/chapter_7/answers/d_flip_flop.vcd');

printFlop('Before');
Expand Down
4 changes: 2 additions & 2 deletions doc/tutorials/chapter_7/shift_register.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2023-2024 Intel Corporation
// Copyright (C) 2023-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// shift_register.dart
Expand Down Expand Up @@ -69,7 +69,7 @@ void main() async {
// kick-off the simulator, but we don't want to wait
unawaited(Simulator.run());

WaveDumper(shiftReg,
WaveformService(shiftReg,
outputPath: 'doc/tutorials/chapter_7/shift_register.vcd');

printFlop('Before');
Expand Down
4 changes: 2 additions & 2 deletions doc/tutorials/chapter_8/answers/exercise_1_spi.dart
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ void main() async {

await tb.build();

print(tb.generateSynth());
print(SystemVerilogService(tb).output);

testInterface.cs.inject(0);
testInterface.sdi.inject(0);
Expand All @@ -163,7 +163,7 @@ void main() async {
Simulator.setMaxSimTime(100);
unawaited(Simulator.run());

WaveDumper(peri, outputPath: 'doc/tutorials/chapter_8/spi-new.vcd');
WaveformService(peri, outputPath: 'doc/tutorials/chapter_8/spi-new.vcd');

await drive(LogicValue.ofString('01010101'));
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,13 @@ Future<void> main(List<String> args) async {
final toyCap = ToyCapsuleFSM(clk, reset, dispenseBtn, coin);
await toyCap.build();

print(toyCap.generateSynth());
print(SystemVerilogService(toyCap).output);

toyCap.toyCapsuleStateMachine.generateDiagram();

reset.inject(1);

WaveDumper(toyCap, outputPath: 'toyCapsuleFSM.vcd');
WaveformService(toyCap, outputPath: 'toyCapsuleFSM.vcd');

Simulator.setMaxSimTime(100);
Simulator.registerAction(25, () {
Expand Down
4 changes: 2 additions & 2 deletions doc/tutorials/chapter_8/answers/exercise_3_pipeline.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ void main(List<String> args) async {
final pipe = Pipeline4Stages(clk, reset, a);
await pipe.build();

// print(pipe.generateSynth());
// print(SystemVerilogService(pipe).output);

a.inject(5);
reset.inject(1);

Simulator.registerAction(10, () => reset.put(0));

WaveDumper(pipe, outputPath: 'answer_1.vcd');
WaveformService(pipe, outputPath: 'answer_1.vcd');

Simulator.registerAction(50, () async {
// stage 4 / result: 30 + (30 * 3) = 120
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_8/carry_save_multiplier.dart
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ void main() async {
reset.inject(1);

// Attach a waveform dumper so we can see what happens.
WaveDumper(csm, outputPath: 'csm.vcd');
WaveformService(csm, outputPath: 'csm.vcd');

Simulator.registerAction(10, () {
reset.inject(0);
Expand Down
4 changes: 2 additions & 2 deletions doc/tutorials/chapter_8/counter_interface.dart
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ Future<void> main() async {

await counter.build();

print(counter.generateSynth());
print(SystemVerilogService(counter).output);

WaveDumper(counter,
WaveformService(counter,
outputPath: 'doc/tutorials/chapter_8/counter_interface.vcd');
Simulator.registerAction(25, () {
intf.en.put(1);
Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/chapter_8/oven_fsm.dart
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ Future<void> main({bool noPrint = false}) async {

// Attach a waveform dumper so we can see what happens.
if (!noPrint) {
WaveDumper(oven, outputPath: 'doc/tutorials/chapter_8/oven.vcd');
WaveformService(oven, outputPath: 'doc/tutorials/chapter_8/oven.vcd');
}

if (!noPrint) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ Future<void> main({Level loggerLevel = Level.FINER}) async {
await tb.counter.build();

// dump wave here
WaveDumper(tb.counter);
WaveformService(tb.counter);

// Set a maximum simulation time so it doesn't run forever
Simulator.setMaxSimTime(300);
Expand Down
4 changes: 2 additions & 2 deletions example/example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Future<void> main({bool noPrint = false}) async {

// Let's see what this module looks like as SystemVerilog, so we can pass it
// to other tools.
final systemVerilogCode = counter.generateSynth();
final systemVerilogCode = SystemVerilogService(counter).output;
if (!noPrint) {
print(systemVerilogCode);
}
Expand All @@ -70,7 +70,7 @@ Future<void> main({bool noPrint = false}) async {

// Attach a waveform dumper so we can see what happens.
if (!noPrint) {
WaveDumper(counter);
WaveformService(counter);
}

// Let's also print a message every time the value on the counter changes,
Expand Down
4 changes: 2 additions & 2 deletions example/fir_filter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Future<void> main({bool noPrint = false}) async {
await firFilter.build();

// Generate SystemVerilog code.
final systemVerilogCode = firFilter.generateSynth();
final systemVerilogCode = SystemVerilogService(firFilter).output;
if (!noPrint) {
// Print SystemVerilog code to console.
print(systemVerilogCode);
Expand All @@ -108,7 +108,7 @@ Future<void> main({bool noPrint = false}) async {

// Attach a waveform dumper.
if (!noPrint) {
WaveDumper(firFilter);
WaveformService(firFilter);
}

// Let's set the initial setting.
Expand Down
4 changes: 2 additions & 2 deletions example/logic_array.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,14 @@ Future<void> main({bool noPrint = false}) async {
// Build the module
await logicArrayExample.build();

final systemVerilogCode = logicArrayExample.generateSynth();
final systemVerilogCode = SystemVerilogService(logicArrayExample).output;
if (!noPrint) {
print(systemVerilogCode);
}

// Simulate the module
if (!noPrint) {
WaveDumper(logicArrayExample);
WaveformService(logicArrayExample);
}

// Set the input values
Expand Down
4 changes: 2 additions & 2 deletions example/oven_fsm.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2023-2024 Intel Corporation
// Copyright (C) 2023-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// oven_fsm.dart
Expand Down Expand Up @@ -225,7 +225,7 @@ Future<void> main({bool noPrint = false}) async {

// Attach a waveform dumper so we can see what happens.
if (!noPrint) {
WaveDumper(oven, outputPath: 'oven.vcd');
WaveformService(oven, outputPath: 'oven.vcd');
}

// Kick off the simulation.
Expand Down
4 changes: 2 additions & 2 deletions example/tree.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2021-2023 Intel Corporation
// Copyright (C) 2021-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// tree.dart
Expand Down Expand Up @@ -85,7 +85,7 @@ Future<void> main({bool noPrint = false}) async {

// Below will generate an output of the ROHD-generated SystemVerilog:
await tree.build();
final generatedSystemVerilog = tree.generateSynth();
final generatedSystemVerilog = SystemVerilogService(tree).output;
if (!noPrint) {
print(generatedSystemVerilog);
}
Expand Down
10 changes: 9 additions & 1 deletion lib/rohd.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
// Copyright (C) 2021-2023 Intel Corporation
// Copyright (C) 2021-2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// rohd.dart
// Main public API exports for the ROHD framework.
//
// 2026 July
// Author: ROHD Contributors

export 'src/diagnostics/diagnostics.dart';
export 'src/exceptions/exceptions.dart';
export 'src/external.dart';
export 'src/finite_state_machine.dart';
Expand All @@ -12,6 +19,7 @@ export 'src/signals/signals.dart';
export 'src/simulator.dart';
export 'src/swizzle.dart';
export 'src/synthesizers/synthesizers.dart';
export 'src/synthesizers/systemverilog/system_verilog_service.dart';
export 'src/utilities/naming.dart';
export 'src/values/values.dart';
export 'src/wave_dumper.dart';
12 changes: 12 additions & 0 deletions lib/src/diagnostics/diagnostics.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright (C) 2026 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// diagnostics.dart
// Barrel export for the diagnostics library.
//
// 2026 July 16
// Author: Desmond Kirkpatrick <desmond.a.kirkpatrick@intel.com>

export 'module_service.dart';
export 'module_services.dart';
export 'waveform_service.dart';
Loading
Loading