仅当sm为空时方可修改sm的触发长度,注意cnt=cPtr-rPtr,之前可能wPtr已经移动(可能撤销)
This commit is contained in:
@@ -687,17 +687,22 @@ trait InterfaceCheckSM{ this: InterfaceBase =>
|
|||||||
cReg.smUsedDepth(i) := io.smUsedDepth(i)
|
cReg.smUsedDepth(i) := io.smUsedDepth(i)
|
||||||
cReg.smTrigLen(i) := Cat( smTrigLen_H(i), smTrigLen_L(i) )
|
cReg.smTrigLen(i) := Cat( smTrigLen_H(i), smTrigLen_L(i) )
|
||||||
|
|
||||||
when( isEnW & addrw === ("h303".U(16.W) + (i*4).U) ){
|
when( cReg.smUsedDepth(i) === 0.U ){
|
||||||
smTrigLen_H(i) := dataw
|
when( isEnW & addrw === ("h303".U(16.W) + (i*4).U) ){
|
||||||
} .elsewhen( io.lvds.isEnW & io.lvds.addrw === ("h303".U(16.W) + (i*4).U)){
|
smTrigLen_H(i) := dataw
|
||||||
smTrigLen_H(i) := io.lvds.dataw
|
} .elsewhen( io.lvds.isEnW & io.lvds.addrw === ("h303".U(16.W) + (i*4).U)){
|
||||||
|
smTrigLen_H(i) := io.lvds.dataw
|
||||||
|
}
|
||||||
|
|
||||||
|
when( isEnW & addrw === ("h302".U(16.W) + (i*4).U) ){
|
||||||
|
smTrigLen_L(i) := dataw
|
||||||
|
} .elsewhen( io.lvds.isEnW & io.lvds.addrw === ("h302".U(16.W) + (i*4).U)){
|
||||||
|
smTrigLen_L(i) := io.lvds.dataw
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
when( isEnW & addrw === ("h302".U(16.W) + (i*4).U) ){
|
|
||||||
smTrigLen_L(i) := dataw
|
|
||||||
} .elsewhen( io.lvds.isEnW & io.lvds.addrw === ("h302".U(16.W) + (i*4).U)){
|
|
||||||
smTrigLen_L(i) := io.lvds.dataw
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user