Skip to content

Ensure past intrinsics are emitted with an explicit clock#5291

Merged
jackkoenig merged 2 commits intochipsalliance:mainfrom
TaoBi22:past-explicit-clock
May 7, 2026
Merged

Ensure past intrinsics are emitted with an explicit clock#5291
jackkoenig merged 2 commits intochipsalliance:mainfrom
TaoBi22:past-explicit-clock

Conversation

@TaoBi22
Copy link
Copy Markdown
Contributor

@TaoBi22 TaoBi22 commented May 7, 2026

Slight modification to the intrinsic introduced by #5260 to ensure explicit clocks are always emitted - this is so we can avoid relying on implicit clock inference from IR in CIRCT (relevant CIRCT PR).

First time Chisel contributor so please let me know if I've missed anything!

AI-assisted-by: Claude Code: claude-sonnet-4.6

CC: @fabianschuiki

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Backend code generation

Desired Merge Strategy

  • Squash: The PR will be squashed and merged (choose this if you have no preference).

Release Notes

Emitted past intrinsics are now always emitted with explicit clocks.

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash) and clean up the commit message.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented May 7, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: jackkoenig / name: Jack Koenig (d371506)
  • ✅ login: TaoBi22 / name: Bea Healy (d371506, 6528822)

AI-assisted-by: Claude Code: claude-sonnet-4.6
@TaoBi22 TaoBi22 force-pushed the past-explicit-clock branch from 9d40e2c to 6528822 Compare May 7, 2026 15:16
@jackkoenig jackkoenig added the Backend Code Generation Affects backend code generation, will be included in release notes label May 7, 2026
Copy link
Copy Markdown
Contributor

@jackkoenig jackkoenig left a comment

Choose a reason for hiding this comment

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

LGTM, are there any other operations that need similar treatment?

Comment thread src/main/scala/chisel3/ltl/LTL.scala Outdated
Copy link
Copy Markdown
Contributor

@fabianschuiki fabianschuiki left a comment

Choose a reason for hiding this comment

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

Very neat! Thanks for cleaning this up @TaoBi22 🥳. It would be amazing if we could do the same thing for ltl.delay as we've chatted about in the past -- then we could get rid of that ugly ltl.clock altogether 😏

Co-authored-by: Jack Koenig <jack.koenig3@gmail.com>
@TaoBi22
Copy link
Copy Markdown
Contributor Author

TaoBi22 commented May 7, 2026

LGTM, are there any other operations that need similar treatment?

As @fabianschuiki alluded to, there's a plan to make the same changes to ltl.delay but I believe those are stalled right now so we don't have an explicit clocking operand for that op yet. Once we have one I'd imagine we'll want to make the same changes here.

@jackkoenig jackkoenig enabled auto-merge (squash) May 7, 2026 20:48
@jackkoenig jackkoenig merged commit cb50735 into chipsalliance:main May 7, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend Code Generation Affects backend code generation, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants