1
0

Use BundleWithConf to avoid clone method boilerplate

This commit is contained in:
Andrew Waterman
2014-05-09 19:30:05 -07:00
parent 94c1f01ec6
commit 4ca152b012
9 changed files with 29 additions and 55 deletions

View File

@ -64,17 +64,15 @@ class PseudoLRU(n: Int)
}
}
class TLBReq()(implicit conf: AddressSpaceConfiguration) extends Bundle
class TLBReq()(implicit val conf: AddressSpaceConfiguration) extends BundleWithConf
{
val asid = UInt(width = conf.asidBits)
val vpn = UInt(width = conf.vpnBits+1)
val passthrough = Bool()
val instruction = Bool()
override def clone = new TLBReq().asInstanceOf[this.type]
}
class TLBResp(entries: Int)(implicit conf: AddressSpaceConfiguration) extends Bundle
class TLBResp(entries: Int)(implicit val conf: AddressSpaceConfiguration) extends BundleWithConf
{
// lookup responses
val miss = Bool(OUTPUT)
@ -83,8 +81,6 @@ class TLBResp(entries: Int)(implicit conf: AddressSpaceConfiguration) extends Bu
val xcpt_ld = Bool(OUTPUT)
val xcpt_st = Bool(OUTPUT)
val xcpt_if = Bool(OUTPUT)
override def clone = new TLBResp(entries)(conf).asInstanceOf[this.type]
}
class TLB(entries: Int)(implicit conf: AddressSpaceConfiguration) extends Module