Skip to content

Commit b108de3

Browse files
committed
Resolve no-implicit-clock error with AXI4 monitors
If a user enables AXI4 Monitors (using `AXI4MonitorBuilder`), they'll get a no-implicit-clock error at this point, which isn't easy to track down. Chipyard worked around a similar problem with TileLink Monitors here: ucb-bar/chipyard#1868
1 parent 0ea2deb commit b108de3

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Diff for: src/main/scala/subsystem/Ports.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,9 @@ trait CanHaveMasterAXI4MemPort { this: BaseSubsystem =>
105105
})
106106

107107
mbus.coupleTo(s"memory_controller_port_named_$portName") {
108-
(memAXI4Node
109-
:= AXI4UserYanker()
108+
// Disable monitors on this connection since the class with this trait (i.e. DigitalTop) doesn't provide an
109+
// implicit clock for the monitor.
110+
(DisableMonitors { implicit p => memAXI4Node := AXI4UserYanker() }
110111
:= AXI4IdIndexer(idBits)
111112
:= TLToAXI4()
112113
:= TLWidthWidget(mbus.beatBytes)

0 commit comments

Comments
 (0)