1
0

Refactor package hierarchy. (#25)

This commit is contained in:
Henry Cook 2017-07-07 10:48:57 -07:00 committed by GitHub
parent 66b2fd11bd
commit fb9dd31374
27 changed files with 100 additions and 99 deletions

View File

@ -2,10 +2,10 @@
package sifive.blocks.devices.gpio package sifive.blocks.devices.gpio
import Chisel._ import Chisel._
import config.Parameters import freechips.rocketchip.config.Parameters
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import util.{AsyncResetRegVec, GenericParameterizedBundle} import freechips.rocketchip.util.{AsyncResetRegVec, GenericParameterizedBundle}
case class GPIOParams(address: BigInt, width: Int, includeIOF: Boolean = false) case class GPIOParams(address: BigInt, width: Int, includeIOF: Boolean = false)

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.gpio package sifive.blocks.devices.gpio
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule,LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule,LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
import uncore.tilelink2.TLFragmenter import freechips.rocketchip.tilelink.TLFragmenter
import util.HeterogeneousBag import freechips.rocketchip.util.HeterogeneousBag
case object PeripheryGPIOKey extends Field[Seq[GPIOParams]] case object PeripheryGPIOKey extends Field[Seq[GPIOParams]]

View File

@ -10,8 +10,8 @@ import Chisel._
// to put them otherwise. // to put them otherwise.
// ------------------------------------------------------------ // ------------------------------------------------------------
import config._ import freechips.rocketchip.config._
import jtag.{JTAGIO} import freechips.rocketchip.jtag.{JTAGIO}
class JTAGPinsIO(hasTRSTn: Boolean = true) extends Bundle { class JTAGPinsIO(hasTRSTn: Boolean = true) extends Bundle {

View File

@ -42,10 +42,10 @@
package sifive.blocks.devices.i2c package sifive.blocks.devices.i2c
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config._
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import util.{AsyncResetRegVec, Majority} import freechips.rocketchip.util.{AsyncResetRegVec, Majority}
import sifive.blocks.devices.gpio.{GPIOPinCtrl} import sifive.blocks.devices.gpio.{GPIOPinCtrl}
case class I2CParams(address: BigInt) case class I2CParams(address: BigInt)

View File

@ -2,10 +2,10 @@
package sifive.blocks.devices.i2c package sifive.blocks.devices.i2c
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule,LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule,LazyMultiIOModuleImp}
import rocketchip.{HasSystemNetworks} import freechips.rocketchip.chip.{HasSystemNetworks}
import uncore.tilelink2.TLFragmenter import freechips.rocketchip.tilelink.TLFragmenter
case object PeripheryI2CKey extends Field[Seq[I2CParams]] case object PeripheryI2CKey extends Field[Seq[I2CParams]]

View File

@ -2,9 +2,9 @@
package sifive.blocks.devices.mockaon package sifive.blocks.devices.mockaon
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config.Parameters
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import sifive.blocks.util.GenericTimer import sifive.blocks.util.GenericTimer

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.mockaon package sifive.blocks.devices.mockaon
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule, LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp}
import rocketchip.{HasSystemNetworks, HasCoreplexRISCVPlatform} import freechips.rocketchip.chip.{HasSystemNetworks, HasCoreplexRISCVPlatform}
import uncore.tilelink2.{IntXing, TLAsyncCrossingSource, TLFragmenter} import freechips.rocketchip.tilelink.{IntXing, TLAsyncCrossingSource, TLFragmenter}
import util.ResetCatchAndSync import freechips.rocketchip.util.ResetCatchAndSync
case object PeripheryMockAONKey extends Field[MockAONParams] case object PeripheryMockAONKey extends Field[MockAONParams]

View File

@ -2,12 +2,13 @@
package sifive.blocks.devices.mockaon package sifive.blocks.devices.mockaon
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config.Parameters
import diplomacy._ import freechips.rocketchip.diplomacy._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import freechips.rocketchip.util._
import sifive.blocks.devices.gpio.{GPIOPin, GPIOOutputPinCtrl, GPIOInputPinCtrl} import sifive.blocks.devices.gpio.{GPIOPin, GPIOOutputPinCtrl, GPIOInputPinCtrl}
import sifive.blocks.util.{DeglitchShiftRegister, ResetCatchAndSync} import sifive.blocks.util.{DeglitchShiftRegister, ResetCatchAndSync}
import util._
/* The wrapper handles the Clock and Reset Generation for The AON block itself, /* The wrapper handles the Clock and Reset Generation for The AON block itself,
and instantiates real pad controls (aka pull-ups)*/ and instantiates real pad controls (aka pull-ups)*/

View File

@ -3,7 +3,7 @@ package sifive.blocks.devices.mockaon
import Chisel._ import Chisel._
import Chisel.ImplicitConversions._ import Chisel.ImplicitConversions._
import util._ import freechips.rocketchip.util._
import sifive.blocks.util.SRLatch import sifive.blocks.util.SRLatch
import sifive.blocks.util.{SlaveRegIF} import sifive.blocks.util.{SlaveRegIF}

View File

@ -3,7 +3,7 @@ package sifive.blocks.devices.mockaon
import Chisel._ import Chisel._
import Chisel.ImplicitConversions._ import Chisel.ImplicitConversions._
import util.AsyncResetReg import freechips.rocketchip.util.AsyncResetReg
import sifive.blocks.util.{SlaveRegIF, GenericTimer} import sifive.blocks.util.{SlaveRegIF, GenericTimer}

View File

@ -3,11 +3,10 @@ package sifive.blocks.devices.pwm
import Chisel._ import Chisel._
import Chisel.ImplicitConversions._ import Chisel.ImplicitConversions._
import config.Parameters import freechips.rocketchip.config.Parameters
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import util._ import freechips.rocketchip.util._
import sifive.blocks.util.GenericTimer import sifive.blocks.util.GenericTimer
// Core PWM Functionality & Register Interface // Core PWM Functionality & Register Interface

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.pwm package sifive.blocks.devices.pwm
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule,LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule,LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
import uncore.tilelink2.TLFragmenter import freechips.rocketchip.tilelink.TLFragmenter
import util.HeterogeneousBag import freechips.rocketchip.util.HeterogeneousBag
import sifive.blocks.devices.gpio._ import sifive.blocks.devices.gpio._

View File

@ -2,7 +2,7 @@
package sifive.blocks.devices.spi package sifive.blocks.devices.spi
import Chisel._ import Chisel._
import util.GenericParameterizedBundle import freechips.rocketchip.util.GenericParameterizedBundle
abstract class SPIBundle(val c: SPIParamsBase) extends GenericParameterizedBundle(c) { abstract class SPIBundle(val c: SPIParamsBase) extends GenericParameterizedBundle(c) {
override def cloneType: SPIBundle.this.type = override def cloneType: SPIBundle.this.type =

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.spi package sifive.blocks.devices.spi
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule,LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule,LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
import uncore.tilelink2.{TLFragmenter,TLWidthWidget} import freechips.rocketchip.tilelink.{TLFragmenter,TLWidthWidget}
import util.HeterogeneousBag import freechips.rocketchip.util.HeterogeneousBag
case object PeripherySPIKey extends Field[Seq[SPIParams]] case object PeripherySPIKey extends Field[Seq[SPIParams]]

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.spi package sifive.blocks.devices.spi
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config.Parameters
import diplomacy._ import freechips.rocketchip.diplomacy._
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import freechips.rocketchip.util.HeterogeneousBag
import sifive.blocks.util.{NonBlockingEnqueue, NonBlockingDequeue} import sifive.blocks.util.{NonBlockingEnqueue, NonBlockingDequeue}
trait SPIParamsBase { trait SPIParamsBase {
@ -47,7 +47,7 @@ case class SPIParams(
require(sampleDelay >= 0) require(sampleDelay >= 0)
} }
class SPITopBundle(val i: util.HeterogeneousBag[Vec[Bool]], val r: util.HeterogeneousBag[TLBundle]) extends Bundle class SPITopBundle(val i: HeterogeneousBag[Vec[Bool]], val r: HeterogeneousBag[TLBundle]) extends Bundle
class SPITopModule[B <: SPITopBundle](c: SPIParamsBase, bundle: => B, outer: TLSPIBase) class SPITopModule[B <: SPITopBundle](c: SPIParamsBase, bundle: => B, outer: TLSPIBase)
extends LazyModuleImp(outer) { extends LazyModuleImp(outer) {

View File

@ -2,10 +2,11 @@
package sifive.blocks.devices.spi package sifive.blocks.devices.spi
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config.Parameters
import diplomacy._ import freechips.rocketchip.diplomacy._
import regmapper._ import freechips.rocketchip.regmapper._
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
import freechips.rocketchip.util.HeterogeneousBag
trait SPIFlashParamsBase extends SPIParamsBase { trait SPIFlashParamsBase extends SPIParamsBase {
val fAddress: BigInt val fAddress: BigInt
@ -38,7 +39,7 @@ case class SPIFlashParams(
require(sampleDelay >= 0) require(sampleDelay >= 0)
} }
class SPIFlashTopBundle(i: util.HeterogeneousBag[Vec[Bool]], r: util.HeterogeneousBag[TLBundle], val f: util.HeterogeneousBag[TLBundle]) extends SPITopBundle(i, r) class SPIFlashTopBundle(i: HeterogeneousBag[Vec[Bool]], r: HeterogeneousBag[TLBundle], val f: HeterogeneousBag[TLBundle]) extends SPITopBundle(i, r)
class SPIFlashTopModule[B <: SPIFlashTopBundle] class SPIFlashTopModule[B <: SPIFlashTopBundle]
(c: SPIFlashParamsBase, bundle: => B, outer: TLSPIFlashBase) (c: SPIFlashParamsBase, bundle: => B, outer: TLSPIFlashBase)

View File

@ -2,10 +2,12 @@
package sifive.blocks.devices.uart package sifive.blocks.devices.uart
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.chip.RTCPeriod
import regmapper._ import freechips.rocketchip.config.Parameters
import uncore.tilelink2._ import freechips.rocketchip.diplomacy.DTSTimebase
import util._ import freechips.rocketchip.regmapper._
import freechips.rocketchip.tilelink._
import freechips.rocketchip.util._
import sifive.blocks.util.{NonBlockingEnqueue, NonBlockingDequeue} import sifive.blocks.util.{NonBlockingEnqueue, NonBlockingDequeue}
@ -203,7 +205,7 @@ trait HasUARTTopModuleContents extends Module with HasUARTParameters with HasReg
val rxm = Module(new UARTRx(params)) val rxm = Module(new UARTRx(params))
val rxq = Module(new Queue(rxm.io.out.bits, uartNRxEntries)) val rxq = Module(new Queue(rxm.io.out.bits, uartNRxEntries))
val divinit = p(diplomacy.DTSTimebase) * p(rocketchip.RTCPeriod) / 115200 val divinit = p(DTSTimebase) * p(RTCPeriod) / 115200
val div = Reg(init = UInt(divinit, uartDivisorBits)) val div = Reg(init = UInt(divinit, uartDivisorBits))
private val stopCountBits = log2Up(uartStopBits) private val stopCountBits = log2Up(uartStopBits)

View File

@ -2,11 +2,10 @@
package sifive.blocks.devices.uart package sifive.blocks.devices.uart
import Chisel._ import Chisel._
import config.Field import freechips.rocketchip.config.Field
import diplomacy.{LazyModule, LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
import uncore.tilelink2.TLFragmenter import freechips.rocketchip.tilelink.TLFragmenter
import sifive.blocks.devices.gpio.{GPIOPin, GPIOOutputPinCtrl, GPIOInputPinCtrl} import sifive.blocks.devices.gpio.{GPIOPin, GPIOOutputPinCtrl, GPIOInputPinCtrl}
import sifive.blocks.util.ShiftRegisterInit import sifive.blocks.util.ShiftRegisterInit

View File

@ -3,11 +3,12 @@ package sifive.blocks.devices.xilinxvc707mig
import Chisel._ import Chisel._
import chisel3.experimental.{Analog,attach} import chisel3.experimental.{Analog,attach}
import config._ import freechips.rocketchip.amba.axi4._
import diplomacy._ import freechips.rocketchip.chip._
import uncore.tilelink2._ import freechips.rocketchip.config.Parameters
import uncore.axi4._ import freechips.rocketchip.coreplex.CacheBlockBytes
import rocketchip._ import freechips.rocketchip.diplomacy._
import freechips.rocketchip.tilelink._
import sifive.blocks.ip.xilinx.vc707mig.{VC707MIGIOClocksReset, VC707MIGIODDR, vc707mig} import sifive.blocks.ip.xilinx.vc707mig.{VC707MIGIOClocksReset, VC707MIGIODDR, vc707mig}
trait HasXilinxVC707MIGParameters { trait HasXilinxVC707MIGParameters {
@ -34,7 +35,7 @@ class XilinxVC707MIG(implicit p: Parameters) extends LazyModule with HasXilinxVC
val xing = LazyModule(new TLAsyncCrossing) val xing = LazyModule(new TLAsyncCrossing)
val toaxi4 = LazyModule(new TLToAXI4(beatBytes = 8, adapterName = Some("mem"), stripBits = 1)) val toaxi4 = LazyModule(new TLToAXI4(beatBytes = 8, adapterName = Some("mem"), stripBits = 1))
val indexer = LazyModule(new AXI4IdIndexer(idBits = 4)) val indexer = LazyModule(new AXI4IdIndexer(idBits = 4))
val deint = LazyModule(new AXI4Deinterleaver(p(coreplex.CacheBlockBytes))) val deint = LazyModule(new AXI4Deinterleaver(p(CacheBlockBytes)))
val yank = LazyModule(new AXI4UserYanker) val yank = LazyModule(new AXI4UserYanker)
val buffer = LazyModule(new AXI4Buffer) val buffer = LazyModule(new AXI4Buffer)

View File

@ -2,8 +2,8 @@
package sifive.blocks.devices.xilinxvc707mig package sifive.blocks.devices.xilinxvc707mig
import Chisel._ import Chisel._
import diplomacy.{LazyModule, LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
trait HasPeripheryXilinxVC707MIG extends HasSystemNetworks { trait HasPeripheryXilinxVC707MIG extends HasSystemNetworks {
val module: HasPeripheryXilinxVC707MIGModuleImp val module: HasPeripheryXilinxVC707MIGModuleImp

View File

@ -2,11 +2,11 @@
package sifive.blocks.devices.xilinxvc707pciex1 package sifive.blocks.devices.xilinxvc707pciex1
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.amba.axi4._
import diplomacy._ import freechips.rocketchip.coreplex.CacheBlockBytes
import uncore.tilelink2._ import freechips.rocketchip.config.Parameters
import uncore.axi4._ import freechips.rocketchip.diplomacy._
import rocketchip._ import freechips.rocketchip.tilelink._
import sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1.{VC707AXIToPCIeX1, VC707AXIToPCIeX1IOClocksReset, VC707AXIToPCIeX1IOSerial} import sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1.{VC707AXIToPCIeX1, VC707AXIToPCIeX1IOClocksReset, VC707AXIToPCIeX1IOSerial}
import sifive.blocks.ip.xilinx.ibufds_gte2.IBUFDS_GTE2 import sifive.blocks.ip.xilinx.ibufds_gte2.IBUFDS_GTE2
@ -30,7 +30,7 @@ class XilinxVC707PCIeX1(implicit p: Parameters) extends LazyModule {
axi_to_pcie_x1.slave := axi_to_pcie_x1.slave :=
AXI4Buffer()( AXI4Buffer()(
AXI4UserYanker()( AXI4UserYanker()(
AXI4Deinterleaver(p(coreplex.CacheBlockBytes))( AXI4Deinterleaver(p(CacheBlockBytes))(
AXI4IdIndexer(idBits=4)( AXI4IdIndexer(idBits=4)(
TLToAXI4(beatBytes=8, adapterName = Some("pcie-slave"))( TLToAXI4(beatBytes=8, adapterName = Some("pcie-slave"))(
TLAsyncCrossingSink()( TLAsyncCrossingSink()(
@ -40,7 +40,7 @@ class XilinxVC707PCIeX1(implicit p: Parameters) extends LazyModule {
AXI4Buffer()( AXI4Buffer()(
AXI4UserYanker(capMaxFlight = Some(2))( AXI4UserYanker(capMaxFlight = Some(2))(
TLToAXI4(beatBytes=4)( TLToAXI4(beatBytes=4)(
TLFragmenter(4, p(coreplex.CacheBlockBytes))( TLFragmenter(4, p(CacheBlockBytes))(
TLAsyncCrossingSink()( TLAsyncCrossingSink()(
control))))) control)))))

View File

@ -2,9 +2,9 @@
package sifive.blocks.devices.xilinxvc707pciex1 package sifive.blocks.devices.xilinxvc707pciex1
import Chisel._ import Chisel._
import diplomacy.{LazyModule, LazyMultiIOModuleImp} import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp}
import rocketchip.HasSystemNetworks import freechips.rocketchip.chip.HasSystemNetworks
import uncore.tilelink2._ import freechips.rocketchip.tilelink._
trait HasPeripheryXilinxVC707PCIeX1 extends HasSystemNetworks { trait HasPeripheryXilinxVC707PCIeX1 extends HasSystemNetworks {
val xilinxvc707pcie = LazyModule(new XilinxVC707PCIeX1) val xilinxvc707pcie = LazyModule(new XilinxVC707PCIeX1)

View File

@ -2,11 +2,10 @@
package sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1 package sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1
import Chisel._ import Chisel._
import config._ import freechips.rocketchip.config._
import diplomacy._ import freechips.rocketchip.diplomacy._
import uncore.axi4._ import freechips.rocketchip.amba.axi4._
import uncore.tilelink2.{IntSourceNode, IntSourcePortSimple} import freechips.rocketchip.tilelink.{IntSourceNode, IntSourcePortSimple}
import junctions._
// IP VLNV: xilinx.com:customize_ip:vc707pcietoaxi:1.0 // IP VLNV: xilinx.com:customize_ip:vc707pcietoaxi:1.0
// Black Box // Black Box

View File

@ -3,8 +3,7 @@ package sifive.blocks.ip.xilinx.vc707mig
import Chisel._ import Chisel._
import chisel3.experimental.{Analog,attach} import chisel3.experimental.{Analog,attach}
import config._ import freechips.rocketchip.config._
import junctions._
// IP VLNV: xilinx.com:customize_ip:vc707mig:1.0 // IP VLNV: xilinx.com:customize_ip:vc707mig:1.0
// Black Box // Black Box

View File

@ -2,7 +2,7 @@
package sifive.blocks.util package sifive.blocks.util
import Chisel._ import Chisel._
import regmapper._ import freechips.rocketchip.regmapper._
// MSB indicates full status // MSB indicates full status
object NonBlockingEnqueue { object NonBlockingEnqueue {

View File

@ -2,7 +2,7 @@
package sifive.blocks.util package sifive.blocks.util
import Chisel._ import Chisel._
import util.AsyncResetRegVec import freechips.rocketchip.util.AsyncResetRegVec
/** Reset: asynchronous assert, /** Reset: asynchronous assert,
* synchronous de-assert * synchronous de-assert

View File

@ -3,8 +3,8 @@ package sifive.blocks.util
import Chisel._ import Chisel._
import Chisel.ImplicitConversions._ import Chisel.ImplicitConversions._
import regmapper._ import freechips.rocketchip.regmapper._
import util.WideCounter import freechips.rocketchip.util.WideCounter
class SlaveRegIF(w: Int) extends Bundle { class SlaveRegIF(w: Int) extends Bundle {
val write = Valid(UInt(width = w)).flip val write = Valid(UInt(width = w)).flip