没有接入从机情况下,主机初始化将在600us超时
This commit is contained in:
@@ -253,6 +253,7 @@ with BackBoardMstFSMC
|
||||
trait BackBoardMstLVDSInit{ this: BackBoardMstLVDSBase =>
|
||||
|
||||
val isInitStart = ~RegNext(ctrlInit, false.B) & ctrlInit
|
||||
val timeoutCnt = Reg(UInt(13.W))
|
||||
|
||||
when(ctrlInit){
|
||||
when( isInitStart ){
|
||||
@@ -275,6 +276,7 @@ trait BackBoardMstLVDSInit{ this: BackBoardMstLVDSBase =>
|
||||
tx_start := false.B
|
||||
} .elsewhen( stateCur === 1.U ){ // tx start
|
||||
stateCur := 2.U
|
||||
timeoutCnt := 0.U
|
||||
|
||||
frame_info_update_en := false.B
|
||||
tx_start := true.B
|
||||
@@ -282,6 +284,7 @@ trait BackBoardMstLVDSInit{ this: BackBoardMstLVDSBase =>
|
||||
} .elsewhen( stateCur === 2.U ){
|
||||
|
||||
tx_start := false.B
|
||||
timeoutCnt := timeoutCnt + 1.U
|
||||
|
||||
when( lvdsMst.io.slave_link_num_valid ){
|
||||
linkNum := lvdsMst.io.slave_link_num
|
||||
@@ -291,6 +294,16 @@ trait BackBoardMstLVDSInit{ this: BackBoardMstLVDSBase =>
|
||||
interrupt := true.B
|
||||
}
|
||||
|
||||
when( timeoutCnt === 6000.U ){
|
||||
linkNum := 0.U
|
||||
stateCur := 3.U
|
||||
statusInit := true.B
|
||||
ctrlInit := false.B
|
||||
interrupt := true.B
|
||||
}
|
||||
|
||||
|
||||
|
||||
} .elsewhen( stateCur === 3.U ){
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user