2025-04-24 17:31:44 +08:00
|
|
|
// package BACK
|
2025-04-02 16:40:25 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// import chisel3._
|
|
|
|
|
// import chisel3.util._
|
2025-04-02 16:40:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// class MasterRegisterBundle extends Bundle{
|
|
|
|
|
// val isMstNSlv = Bool()
|
|
|
|
|
// val hwVersion = UInt(8.W)
|
|
|
|
|
// val hwSerial = UInt(48.W)
|
|
|
|
|
// val busRate = UInt(16.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val isExInfoInit = Bool()
|
|
|
|
|
// val isTxReq = UInt(8.W)
|
|
|
|
|
// val txStatus = UInt(16.W)
|
|
|
|
|
// val spiSel = UInt(2.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val isSoftReset = Bool()
|
|
|
|
|
// val encryptKey = UInt(128.W)
|
|
|
|
|
// val isEncrypt = Bool()
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val intEnable = UInt(8.W)
|
|
|
|
|
// val intMask = UInt(8.W)
|
|
|
|
|
// val intStatus = UInt(8.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val upRecErrorCnt = UInt(32.W)
|
|
|
|
|
// val downRecErrorCnt = UInt(32.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val upForwardErrorCnt = UInt(32.W)
|
|
|
|
|
// val downForwardErrorCnt = UInt(32.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val qspiErrorCnt = UInt(32.W)
|
|
|
|
|
// val forwardCnt = UInt(32.W)
|
|
|
|
|
// val recByteCnt = UInt(32.W)
|
|
|
|
|
// val forwardByteCnt = UInt(32.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val linkStatus = UInt(8.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val wdtStatus = UInt(16.W)
|
|
|
|
|
// val wdtOverflow = UInt(8.W)
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val timeStamp = UInt(64.W)
|
|
|
|
|
// val deltaTime = UInt(32.W)
|
|
|
|
|
// }
|
2025-04-23 17:57:38 +08:00
|
|
|
|
|
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// class SlaveRegisterBundle extends Bundle{
|
|
|
|
|
// val isMstNSlv = Bool()
|
|
|
|
|
// val hwVersion = UInt(8.W)
|
|
|
|
|
// val hwSerial = UInt(48.W)
|
|
|
|
|
// val busRate = UInt(16.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val RAMSize = UInt(8.W)
|
|
|
|
|
// val MMUNum = UInt(8.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val nodeSeqAddr = UInt(16.W)
|
|
|
|
|
// val nodeSetAddr = UInt(16.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val spiSel = UInt(2.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val isSoftReset = Bool()
|
|
|
|
|
// val encryptKey = UInt(128.W)
|
|
|
|
|
// val isEncrypt = Bool()
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val ebmmu = Vec(8, new Bundle{
|
|
|
|
|
// val logicAddr = UInt(32.W)
|
|
|
|
|
// val length = UInt(16.W)
|
|
|
|
|
// val phyAddr = UInt(32.W)
|
|
|
|
|
// val op = UInt(2.W)
|
|
|
|
|
// val enable = Bool()
|
|
|
|
|
// })
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val intStatus = UInt(16.W)
|
|
|
|
|
// val mb = Vec(8, new Bundle{
|
|
|
|
|
// val ctrl = UInt(8.W)
|
|
|
|
|
// val status = UInt(8.W)
|
|
|
|
|
// })
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val upRecErrorCnt = UInt(32.W)
|
|
|
|
|
// val downRecErrorCnt = UInt(32.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val upForwardErrorCnt = UInt(32.W)
|
|
|
|
|
// val downForwardErrorCnt = UInt(32.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val qspiErrorCnt = UInt(32.W)
|
|
|
|
|
// val forwardCnt = UInt(32.W)
|
|
|
|
|
// val recByteCnt = UInt(32.W)
|
|
|
|
|
// val forwardByteCnt = UInt(32.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val linkStatus = UInt(8.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val wdtStatus = UInt(16.W)
|
|
|
|
|
// val wdtOverflow = UInt(8.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val timeStamp = UInt(64.W)
|
|
|
|
|
// val downTimeStamp = UInt(64.W) //下行本地时间戳寄存器
|
|
|
|
|
// val upTimeStamp = UInt(64.W) //上行本地时间戳寄存器
|
|
|
|
|
// val mstTimeStamp = UInt(64.W) //主站时间戳
|
|
|
|
|
// val deltaTime = UInt(32.W)
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val dcSyncEnable = Bool()
|
|
|
|
|
// val dcSyncWidth = UInt(16.W)
|
|
|
|
|
// }
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// class SPIInterfaceIO extends Bundle{
|
|
|
|
|
// val sck = Input(Bool())
|
|
|
|
|
// val csn = Input(Bool())
|
|
|
|
|
// val mosi = Input(Bool())
|
|
|
|
|
// val miso = Output(Bool())
|
|
|
|
|
// }
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// class InterfaceIO extends Bundle{
|
|
|
|
|
// val spi = new SPIInterfaceIO
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val req = Valid(new Bundle{
|
|
|
|
|
// val addr = UInt(16.W)
|
|
|
|
|
// val dataw = UInt(8.W)
|
|
|
|
|
// val isWRn = Bool()
|
|
|
|
|
// })
|
2025-04-24 16:18:33 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// val resp = Valid(new Bundle{
|
|
|
|
|
// datar = UInt(8.W)
|
|
|
|
|
// })
|
|
|
|
|
// }
|
2025-04-23 17:57:38 +08:00
|
|
|
|
|
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// abstract class InterfaceBase extends Module{
|
|
|
|
|
// val io: InterfaceIO = IO(new InterfaceIO)
|
2025-04-02 16:40:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-23 17:57:38 +08:00
|
|
|
|
|
|
|
|
|
2025-04-24 16:18:33 +08:00
|
|
|
|
|
|
|
|
|
2025-04-23 17:57:38 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// // val softReset = Reg(Bool())
|
|
|
|
|
// // val logicAddr = Reg(UInt(30.W))
|
|
|
|
|
// // val logicLength = Reg(UInt(16.W))
|
|
|
|
|
// // val phyAddr - Reg(UInt(16.W))
|
2025-04-16 16:49:42 +08:00
|
|
|
|
|
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// }
|
2025-04-16 16:49:42 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// class Interface extends InterfaceBase{
|
2025-04-16 16:49:42 +08:00
|
|
|
|
2025-04-24 17:31:44 +08:00
|
|
|
// }
|