Add comments on ResetStretchers
This commit is contained in:
@@ -41,6 +41,8 @@ class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8)(implicit
|
|||||||
|
|
||||||
// Note this is not synchronized to the output clock, which takes time to appear
|
// Note this is not synchronized to the output clock, which takes time to appear
|
||||||
// so this is still asyncreset
|
// so this is still asyncreset
|
||||||
|
// Stretch the reset for 40 cycles, to give enough time to reset any downstream
|
||||||
|
// digital logic
|
||||||
sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
|
sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
|
||||||
reg
|
reg
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ class TLClockSelector(address: BigInt, beatBytes: Int)(implicit p: Parameters) e
|
|||||||
mux.io.sel := sel
|
mux.io.sel := sel
|
||||||
mux.io.resetAsync := asyncReset.asAsyncReset
|
mux.io.resetAsync := asyncReset.asAsyncReset
|
||||||
sinks(i).clock := mux.io.clockOut
|
sinks(i).clock := mux.io.clockOut
|
||||||
|
// Stretch the reset for 20 cycles, to give time to reset any downstream digital logic
|
||||||
sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
|
sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
|
||||||
|
|
||||||
reg
|
reg
|
||||||
|
|||||||
Reference in New Issue
Block a user