Skip to content

Conversation

@seldridge
Copy link
Member

Add an anonymous domain create operation. This is used to model domains
that are fully self-contained within a FIRRTL circuit and are not
reachable from any external port.

Add an anonymous domain create operation.  This is used to model domains
that are fully self-contained within a FIRRTL circuit and are not
reachable from any external port.

Signed-off-by: Schuyler Eldridge <[email protected]>
@seldridge seldridge requested a review from darthscsi as a code owner December 3, 2025 19:32
@seldridge seldridge requested review from dtzSiFive and rwy7 December 3, 2025 19:32
Copy link
Contributor

@dtzSiFive dtzSiFive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! Generally looks great, left some feedback.

}

def DomainCreateAnonOp : FIRRTLOp<"domain.anon", [
ParentOneOf<["firrtl::FModuleOp", "firrtl::LayerBlockOp"]>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WhenOp, MatchOp ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. I'm going to use the same parents as HardwareDeclOp, but not use that tablegen class as it pulls in a requirement that these have a name. Fixed in: 6fd1f85

@dtzSiFive
Copy link
Contributor

Maybe FIRRTL Emitter needs touching, probably just skip these operations?

@seldridge
Copy link
Member Author

Maybe FIRRTL Emitter needs touching, probably just skip these operations?

Yes, just dropping these is the right thing. I'll take a look at that shortly... This may be kind of weird as these could get routed through wires. However, I think the right thing is to drop both the anonymous domain and any domain define user. WDYT?

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.

4 participants