spi compile pass

This commit is contained in:
RuigeLee
2023-07-31 22:56:09 +08:00
parent 0f79860656
commit 24800cce9d
3 changed files with 143 additions and 1 deletions

View File

@@ -0,0 +1,57 @@
package BACK
import chisel3._
import chisel3.util._
class BackBoardMstIO extends Bundle{
val downStreamReqDat = Input( Bool() )
val downStreamRespdat = Output(Bool())
val CS = Input(Bool())
val MISO = Output(Bool())
val MOSI = Input(Bool())
val SCK = Input(Bool())
val interrupt = Output(Bool())
val clk4 = Input( Bool() )
val reset = Input(Bool())
}
class BackBoardMst extends RawModule{
val io: BackBoardMstIO = IO(new BackBoardMstIO)
withClockAndReset( io.SCK.asClock, io.reset.asAsyncReset ){
val spi = Module( new SpiSlv )
val in = Module( new CDR4MultiIn )
val out = Module( new CDROutBus )
spi.io.CS := io.CS
io.MISO := spi.io.MISO
spi.io.MOSI := io.MOSI
io.interrupt := spi.io.interrupt
spi.io.CDRIn <> in.io.latDat
spi.io.CDROut <> out.io.pkgDat
in.io.clk4 := io.clk4
in.io.dat := io.downStreamReqDat
io.downStreamRespdat := out.io.dat
spi.clock := io.SCK.asClock
in.clock := io.SCK.asClock
out.clock := io.SCK.asClock
spi.reset := io.reset.asAsyncReset
in.reset := io.reset.asAsyncReset
out.reset := io.reset.asAsyncReset
}
}