spi 成功触发主机发送
This commit is contained in:
@@ -70,9 +70,9 @@ class SpiInterface extends Module{
|
||||
|
||||
// spiRegUp.io.enw := isSckPosedgeNext(1) & ~shiftCSn(1+1) & bitSel === 0.U & spiCmd === 1.U
|
||||
|
||||
io.isEnR := isSckPosedgeNext(0) & bitSel === 0.U & byteSel >= 3.U & isSpiRead
|
||||
io.isEnW := isSckPosedgeNext(1) & ~shiftCSn(1+1) & bitSel === 0.U & isSpiWrite & byteSel >= 4.U
|
||||
io.dataw := exReg
|
||||
io.isEnR := isSckPosedge & ~shiftCSn(1+1) & bitSel === 7.U & byteSel >= 3.U & isSpiRead
|
||||
io.isEnW := isSckPosedgeNext(0) & ~shiftCSn(1+1) & bitSel === 0.U & isSpiWrite & byteSel >= 4.U
|
||||
io.dataw := RegNext(exReg)
|
||||
|
||||
when( shiftCSn(2) & ~shiftCSn(1) ){
|
||||
bitSel := 0.U
|
||||
@@ -86,9 +86,9 @@ class SpiInterface extends Module{
|
||||
|
||||
when( shiftCSn(2) & ~shiftCSn(1) ){ //CS下跳
|
||||
addrSel := 0.U
|
||||
} .elsewhen(isSckPosedgeNext(0) & ~shiftCSn(1) & bitSel === 0.U & byteSel === 1.U){ //CS为低,且SCK上跳的第0byte
|
||||
} .elsewhen(isSckPosedge & ~shiftCSn(1) & bitSel === 7.U & byteSel === 0.U){ //CS为低,且SCK上跳的第0byte
|
||||
addrSel := exReg
|
||||
} .elsewhen(isSckPosedgeNext(0) & ~shiftCSn(1) & bitSel === 0.U & byteSel === 2.U) {//CS为低,且SCK上跳的第0byte
|
||||
} .elsewhen(isSckPosedge & ~shiftCSn(1) & bitSel === 7.U & byteSel === 1.U) {//CS为低,且SCK上跳的第0byte
|
||||
addrSel := Cat(exReg, addrSel(7,0))
|
||||
} .otherwise{ // byteSel > 1.U
|
||||
when( isSckPosedge & byteSel > 3.U & bitSel === 7.U ){
|
||||
|
||||
Reference in New Issue
Block a user