Skip to content

Feature/signal value format registry - #697

Draft
desmonddak wants to merge 86 commits into
intel:mainfrom
desmonddak:feature/signal-value-format-registry
Draft

Feature/signal value format registry#697
desmonddak wants to merge 86 commits into
intel:mainfrom
desmonddak:feature/signal-value-format-registry

Conversation

@desmonddak

@desmonddak desmonddak commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Description & Motivation

This is a dependency needed as central for widgets to communicate changes in the way a signal value is displayed.

Related Issue(s)

None.

Testing

This feature is used in future widgets where testing is performed, but not introduced yet. But basic testing for store/recall of format is performed.

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?

No, not yet. This is a narrow dependency needed to introduce future widgets.

desmonddak and others added 30 commits April 17, 2026 08:30
Clarify comment

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This aligns central_naming with the simplified naming approach already
adopted by all downstream branches (module_services, netlist, source_debug,
systemc_trace, fst-writer).

Changes:
- Remove Namer._instanceNames cache field
- Remove Namer.instanceNameOf(Module) method
- Update synthesizers to use Namer.allocateName(String) directly
- Remove destination tracking from _BusSubsetForStructSlice

Benefit: Eliminates duplication across 5+ branches, making each branch
truly orthogonal and mergeable without conflicts.

Trade-off: Instance names no longer cached across synthesis passes, but all
downstreams already use this simpler approach.
# Conflicts:
#	tool/gh_codespaces/install_dart.sh
instanceNameOf(Module) allocates a collision-free instance name on the
first call and returns the cached result thereafter.  The _instanceNames
Map is keyed by Module.instanceNameKey so repeated synthesis passes over
the same hierarchy always produce stable names.

This method belongs in central_naming because it is pure naming
infrastructure with no dependency on any feature branch.
- Update comment: 'allocateName' → 'instanceNameOf'
- Add 'submodule instance names are stable across repeated definitions'
  test (the canonical 'run synthesis twice, same names' regression test)

Both belong here since they directly exercise Namer.instanceNameOf,
which is now defined in central_naming.
@desmonddak
desmonddak requested a review from mkorbel1 August 20, 2026 16:18
@desmonddak
desmonddak force-pushed the feature/signal-value-format-registry branch from 7699f36 to 8176a25 Compare August 24, 2026 17:34
desmonddak and others added 2 commits August 24, 2026 11:29
Exact cumulative tree from original branch 7412bd260ddd235b6005d54ae7dadba372fad0b3 in the netlist-first merge order.
@desmonddak
desmonddak force-pushed the feature/signal-value-format-registry branch from 8176a25 to 15e4ed5 Compare August 24, 2026 21:20
@desmonddak
desmonddak marked this pull request as draft August 25, 2026 00:30
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.

2 participants