Check that HarnessClockInstantiator doesn't receive requests for similarly-named-clocks with different frequencies (#1460)
This commit is contained in:
@@ -21,9 +21,15 @@ trait HarnessClockInstantiator {
|
|||||||
|
|
||||||
// request a clock bundle at a particular frequency
|
// request a clock bundle at a particular frequency
|
||||||
def requestClockBundle(name: String, freqRequested: Double): ClockBundle = {
|
def requestClockBundle(name: String, freqRequested: Double): ClockBundle = {
|
||||||
val clockBundle = Wire(new ClockBundle(ClockBundleParameters()))
|
if (_clockMap.contains(name)) {
|
||||||
_clockMap(name) = (freqRequested, clockBundle)
|
require(freqRequested == _clockMap(name)._1,
|
||||||
clockBundle
|
s"Request clock freq = $freqRequested != previously requested ${_clockMap(name)._2} for requested clock $name")
|
||||||
|
_clockMap(name)._2
|
||||||
|
} else {
|
||||||
|
val clockBundle = Wire(new ClockBundle(ClockBundleParameters()))
|
||||||
|
_clockMap(name) = (freqRequested, clockBundle)
|
||||||
|
clockBundle
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// refClock is the clock generated by TestDriver that is
|
// refClock is the clock generated by TestDriver that is
|
||||||
|
|||||||
Reference in New Issue
Block a user