package BACK import chisel3._ import chisel3.util._ import chisel3.experimental.dataview._ class ShinTopIO extends TopBase_IO_Bundle{ val multiCLK = Input(Vec(16, Bool())) } class ShinTop extends Module with RequireAsyncReset{ val io: ShinTopIO = IO(new ShinTopIO) val mstSlvSwitch = Module(new MstSlvSwitch) { val downCDRInSampleA = Module(new CDRInMultiSample) val upCDRInSampleA = Module(new CDRInMultiSample) downCDRInSampleA.multiCLK := io.multiCLK upCDRInSampleA.multiCLK := io.multiCLK 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) } io.viewAsSupertype(new TopBase_IO_Bundle) <> mstSlvSwitch.io.viewAsSupertype(new TopBase_IO_Bundle) }