Merge branch 'bug56' into eb_dev
This commit is contained in:
@@ -56,22 +56,12 @@ abstract class ShinTopBase extends Module{
|
|||||||
io.isSoftReset := interface.io.isSoftReset
|
io.isSoftReset := interface.io.isSoftReset
|
||||||
io.interrupt := interface.io.interrupt
|
io.interrupt := interface.io.interrupt
|
||||||
|
|
||||||
downCDRIn.io.serDat := io.dDatIn
|
|
||||||
downCDRIn.io.overCLK := io.clk8x
|
|
||||||
|
|
||||||
upCDRIn.io.serDat := io.uDatIn
|
downCDRIn.io.overCLK := io.clk8x
|
||||||
upCDRIn.io.overCLK := io.clk8x
|
upCDRIn.io.overCLK := io.clk8x
|
||||||
|
|
||||||
io.dDatOut := downCDROut.io.serDat
|
|
||||||
io.uDatOut := upCDROut.io.serDat
|
|
||||||
|
|
||||||
|
|
||||||
//override
|
|
||||||
when( slaveParser.io.isLoop & interface.io.cReg.modeSel === false.B){
|
|
||||||
upCDRIn.io.serDat := downCDROut.io.serDat
|
|
||||||
io.dDatOut := false.B
|
|
||||||
}
|
|
||||||
|
|
||||||
io.ospi <> interface.io.ospi
|
io.ospi <> interface.io.ospi
|
||||||
io.iqspi <> interface.io.iqspi
|
io.iqspi <> interface.io.iqspi
|
||||||
io.oqspi <> interface.io.oqspi
|
io.oqspi <> interface.io.oqspi
|
||||||
@@ -439,4 +429,40 @@ trait ShinTopWatchDog{ this: ShinTopBase =>
|
|||||||
class ShinTop extends ShinTopBase
|
class ShinTop extends ShinTopBase
|
||||||
with ShinTopMaster
|
with ShinTopMaster
|
||||||
with ShinTopSlave
|
with ShinTopSlave
|
||||||
with ShinTopWatchDog
|
with ShinTopWatchDog{
|
||||||
|
|
||||||
|
when( interface.io.cReg.modeSel === false.B ){ //slave
|
||||||
|
when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) ){ //硬件错误
|
||||||
|
downCDRIn.io.serDat := false.B
|
||||||
|
upCDRIn.io.serDat := false.B
|
||||||
|
when( slaveParser.io.isLoop ){ //回环
|
||||||
|
io.dDatOut := false.B
|
||||||
|
io.uDatOut := io.dDatIn
|
||||||
|
} .otherwise{ //非回环
|
||||||
|
io.dDatOut := io.dDatIn
|
||||||
|
io.uDatOut := io.uDatIn
|
||||||
|
}
|
||||||
|
} .otherwise{ //无硬件错误
|
||||||
|
when( slaveParser.io.isLoop ){ //回环
|
||||||
|
downCDRIn.io.serDat := io.dDatIn
|
||||||
|
upCDRIn.io.serDat := downCDROut.io.serDat
|
||||||
|
io.dDatOut := false.B
|
||||||
|
io.uDatOut := upCDROut.io.serDat
|
||||||
|
} .otherwise{ //非回环
|
||||||
|
downCDRIn.io.serDat := io.dDatIn
|
||||||
|
upCDRIn.io.serDat := io.uDatIn
|
||||||
|
io.dDatOut := downCDROut.io.serDat
|
||||||
|
io.uDatOut := upCDROut.io.serDat
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} .otherwise{ //master
|
||||||
|
downCDRIn.io.serDat := false.B
|
||||||
|
upCDRIn.io.serDat := io.uDatIn
|
||||||
|
io.dDatOut := downCDROut.io.serDat
|
||||||
|
io.uDatOut := false.B
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user