merge mirror read/write
This commit is contained in:
@@ -8,7 +8,7 @@ import chisel3.util._
|
||||
|
||||
class FSMC_Port_Bundle extends Bundle{
|
||||
|
||||
val addr = Input(UInt(11.W))
|
||||
val addr = Input(UInt(10.W))
|
||||
val dataIn = Input(UInt(16.W))
|
||||
val dataOut = Output(UInt(16.W))
|
||||
val dataOEn = Output(Bool())
|
||||
@@ -71,18 +71,17 @@ trait BackBoardMstFSMC{ this: BackBoardMstBase =>
|
||||
io.FSMC.dataOEn := io.FSMC.oen
|
||||
|
||||
|
||||
val isWriteSRAM = ~fsmcAddrSync.extract(10) & fsmcAddrSync.extract(9)
|
||||
val isReadSRAM = ~fsmcAddrSync.extract(10) & ~fsmcAddrSync.extract(9)
|
||||
val isAccessReg = fsmcAddrSync.extract(10)
|
||||
val activeAddr = fsmcAddrSync(8,0)
|
||||
val isAccessSRAM = ~fsmcAddrSync.extract(9)
|
||||
val isAccessReg = fsmcAddrSync.extract(9)
|
||||
val activeAddr = fsmcAddrSync(8,0)
|
||||
val regOut = Wire(UInt(16.W))
|
||||
|
||||
mirrorDown.io.enw := (~fsmcCEnSync & isWriteSRAM & (~fsmcWEnSync) )
|
||||
mirrorDown.io.enw := (~fsmcCEnSync & isAccessSRAM & (~fsmcWEnSync) )
|
||||
mirrorDown.io.addrw := activeAddr
|
||||
mirrorDown.io.dataw := fsmcdataInSync
|
||||
|
||||
|
||||
mirrorUp.io.enr := (~fsmcCEnSync & isReadSRAM & (~fsmcOEnSync) )
|
||||
mirrorUp.io.enr := (~fsmcCEnSync & isAccessSRAM & (~fsmcOEnSync) )
|
||||
mirrorUp.io.addrr := activeAddr
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user