Files
eb001/src/main/scala/backBoard/shin/ShinTop.scala

65 lines
1.5 KiB
Scala
Raw Normal View History

2025-04-24 16:18:33 +08:00
package BACK
2025-04-02 16:40:25 +08:00
2025-04-24 16:18:33 +08:00
import chisel3._
import chisel3.util._
2025-04-02 16:40:25 +08:00
2025-08-26 17:52:23 +08:00
import chisel3.experimental.dataview._
2025-04-02 16:40:25 +08:00
2025-08-26 17:52:23 +08:00
class ShinTopIO extends TopBase_IO_Bundle{
2025-09-11 15:50:38 +08:00
val multiCLK = Input(Vec(16, Bool()))
val multiCLKDiv4 = Input(Vec(4, Bool()))
2025-04-24 16:18:33 +08:00
}
2025-04-02 16:40:25 +08:00
2025-08-26 10:30:12 +08:00
class ShinTop extends Module with RequireAsyncReset{
2025-08-26 17:52:23 +08:00
val io: ShinTopIO = IO(new ShinTopIO)
2025-04-02 16:40:25 +08:00
2025-08-26 17:52:23 +08:00
val mstSlvSwitch = Module(new MstSlvSwitch)
2025-09-05 17:15:04 +08:00
2025-06-04 16:51:16 +08:00
{
val downCDRInSampleA = Module(new CDRInMultiSample)
val upCDRInSampleA = Module(new CDRInMultiSample)
2025-06-04 16:51:16 +08:00
downCDRInSampleA.multiCLK := io.multiCLK
upCDRInSampleA.multiCLK := io.multiCLK
2025-04-27 14:56:07 +08:00
downCDRInSampleA.io <> mstSlvSwitch.io.downCDRSampleIn(0)
upCDRInSampleA.io <> mstSlvSwitch.io.upCDRSampleIn(0)
}
{
val downCDRInSampleB = Module(new CDRInMultiSample)
val upCDRInSampleB = Module(new CDRInMultiSample)
downCDRInSampleB.multiCLK := io.multiCLK
upCDRInSampleB.multiCLK := io.multiCLK
downCDRInSampleB.io <> mstSlvSwitch.io.downCDRSampleIn(1)
upCDRInSampleB.io <> mstSlvSwitch.io.upCDRSampleIn(1)
}
{
val downCDRInSampleC = Module(new CDRInMultiSample)
val upCDRInSampleC = Module(new CDRInMultiSample)
downCDRInSampleC.multiCLK := io.multiCLK
upCDRInSampleC.multiCLK := io.multiCLK
downCDRInSampleC.io <> mstSlvSwitch.io.downCDRSampleIn(2)
upCDRInSampleC.io <> mstSlvSwitch.io.upCDRSampleIn(2)
}
2025-09-05 17:15:04 +08:00
2025-04-27 14:56:07 +08:00
2025-09-05 17:15:04 +08:00
2025-08-26 17:52:23 +08:00
io.viewAsSupertype(new TopBase_IO_Bundle) <> mstSlvSwitch.io.viewAsSupertype(new TopBase_IO_Bundle)
2025-07-31 15:26:17 +08:00
2025-08-26 10:30:12 +08:00
2025-07-31 15:26:17 +08:00
}
2025-08-26 10:30:12 +08:00