1
0

RegField: default argument for .bytes

This commit is contained in:
Wesley W. Terpstra 2017-10-10 19:49:19 -07:00
parent e094b94ce5
commit b3bdf5eca6
2 changed files with 8 additions and 2 deletions

View File

@ -82,8 +82,8 @@ class CoreplexLocalInterrupter(params: ClintParams)(implicit p: Parameters) exte
node.regmap( node.regmap(
0 -> ipi.map(r => RegField(ipiWidth, r)), 0 -> ipi.map(r => RegField(ipiWidth, r)),
timecmpOffset(0) -> timecmp.flatMap(r => RegField.bytes(r, timeWidth/8)), timecmpOffset(0) -> timecmp.flatMap(RegField.bytes(_)),
timeOffset -> RegField.bytes(time, timeWidth/8)) timeOffset -> RegField.bytes(time))
} }
} }

View File

@ -122,6 +122,12 @@ object RegField
when (valid) { bytes(i) := data } when (valid) { bytes(i) := data }
Bool(true) Bool(true)
}))}} }))}}
def bytes(reg: UInt): Seq[RegField] = {
val width = reg.getWidth
require (width % 8 == 0, s"RegField.bytes must be called on byte-sized reg, not ${width} bits")
bytes(reg, width/8)
}
} }
trait HasRegMap trait HasRegMap