Skip to content

Conversation

@MrRoy09
Copy link
Contributor

@MrRoy09 MrRoy09 commented Jan 14, 2026

This PR adds a domainKind (FlatSymbolRefAttr) attribute to WireOp to explicitly track domain type information for domain-typed wires (!firrtl.domain)

Summary of Changes

  • Added OptionalAttr<FlatSymbolRefAttr> to WireOp arguments in FIRRTLDeclarations.td
  • Updated all 4 OpBuilder overloads to accept an optional domainKind parameter with default value FlatSymbolRefAttr()
  • Updated getDomainTypeName() to check WireOp::getDomainKindAttr() for domain-typed wires in FIRRTLOps.cpp
  • Simplified getDomain() to directly query WireOp::getDomainKindAttr() instead of iteratively following connections in LowerLayers.cpp
  • Added testcases to verify domain.define works as expected
  • Modifed testcases to include {domainKind = @ClockDomain} on domain-typed wires

Related to #9398

@MrRoy09 MrRoy09 changed the title [FIRRTL] Add DomainKind attribute to WireOp for domain-types Wires [FIRRTL] Add DomainKind attribute to WireOp for domain-typed Wires Jan 14, 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