1
0
rocket-chip/src/main/scala/uncore/apb/Bundles.scala
2016-12-15 13:48:50 -08:00

33 lines
944 B
Scala

// See LICENSE.SiFive for license details.
package uncore.apb
import Chisel._
import util.GenericParameterizedBundle
abstract class APBBundleBase(params: APBBundleParameters) extends GenericParameterizedBundle(params)
// Signal directions are from the master's point-of-view
class APBBundle(params: APBBundleParameters) extends APBBundleBase(params)
{
// Flow control signals from the master
val psel = Bool(OUTPUT)
val penable = Bool(OUTPUT)
// Payload signals
val pwrite = Bool(OUTPUT)
val paddr = UInt(OUTPUT, width = params.addrBits)
val pprot = UInt(OUTPUT, width = params.protBits)
val pwdata = UInt(OUTPUT, width = params.dataBits)
val pstrb = UInt(OUTPUT, width = params.dataBits/8)
val pready = Bool(INPUT)
val pslverr = Bool(INPUT)
val prdata = UInt(INPUT, width = params.dataBits)
}
object APBBundle
{
def apply(params: APBBundleParameters) = new APBBundle(params)
}