Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Aug 19, 2024

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

  • Bugfix

Names for probe Args will be the default toString. For example, if you use DataMirror to get the earlyName of a probe (derived from Arg.name), you will see this default toString.

import chisel3._
import chisel3.probe._
import chisel3.reflect.DataMirror
import chisel3.util.experimental.BoringUtils
import circt.stage.ChiselStage

class ProbedClockedData[D <: Data](gen: => D) extends Bundle {
  val dataProbe = Probe(gen)
  def data      = probe.read(dataProbe)

  val clockProbe = Probe(Clock())
  def clock      = probe.read(clockProbe)

  val resetProbe = Probe(Reset())
  def reset      = probe.read(resetProbe)

  def tapAndConnect(ref: D, clock: Clock, reset: Reset) = {
    dataProbe  := BoringUtils.tap(ref)
    clockProbe := BoringUtils.tap(clock)
    resetProbe := BoringUtils.tap(reset)
  }
}

class Dut extends Module {
  val io = IO(new Bundle {
    val in  = Input(UInt(4.W))
    val out = Output(UInt(4.W))
  })
}

class TestHarness extends Module {
  val dut    = Module(new Dut)
  val probed = Wire(new ProbedClockedData(chiselTypeOf(dut.io)))
  probed.tapAndConnect(dut.io, dut.clock, dut.reset)

  println(s"probed.data name: ${DataMirror.queryNameGuess(probed.data)}")
}

object Main extends App {
  println(ChiselStage.emitCHIRRTL(gen = new TestHarness))
}
probed.data name: Node(TestHarness.probed.dataProbe: Wire[AnonymousBundle])

If that name is ever used for an identifier, Chisel will throw an exception due to the invalid name.

Desired Merge Strategy

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

Release Notes

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), clean up the commit message, and label with Please Merge.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

This is an automatic backport of pull request #4359 done by [Mergify](https://mergify.com).

@mergify
Copy link
Contributor Author

mergify bot commented Aug 19, 2024

Cherry-pick of 15c3cc9 has failed:

On branch mergify/bp/6.x/pr-4359
Your branch is up to date with 'origin/6.x'.

You are currently cherry-picking commit 15c3cc921.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   core/src/main/scala/chisel3/internal/firrtl/IR.scala

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/test/scala/chiselTests/ProbeSpec.scala

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify mergify bot added Backport Automated backport, please consider for minor release bp-conflict labels Aug 19, 2024
@github-actions github-actions bot added the Bugfix Fixes a bug, will be included in release notes label Aug 19, 2024
(cherry picked from commit 15c3cc9)

# Conflicts:
#	src/test/scala/chiselTests/ProbeSpec.scala
@chiselbot chiselbot merged commit 3cd752d into 6.x Nov 25, 2024
15 checks passed
@chiselbot chiselbot deleted the mergify/bp/6.x/pr-4359 branch November 25, 2024 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport Automated backport, please consider for minor release Bugfix Fixes a bug, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants