大小端对换,主站已经发出初始化包

This commit is contained in:
RuigeLee
2024-10-29 18:11:50 +08:00
parent 332fcf010d
commit 9058337ffe
3 changed files with 22 additions and 17 deletions

View File

@@ -67,10 +67,10 @@ trait TLCDRTx{ this: TLCDRBase =>
txFifo.reset := reset.asBool | isTLWriteTxLen txFifo.reset := reset.asBool | isTLWriteTxLen
CDROut.io.axis.bits.tdata := Mux1H(Seq( CDROut.io.axis.bits.tdata := Mux1H(Seq(
(txCnt === 0.U) -> txData( 7, 0), (txCnt === 0.U) -> txData(31, 24),
(txCnt === 1.U) -> txData(15, 8), (txCnt === 1.U) -> txData(23, 16),
(txCnt === 2.U) -> txData(23, 16), (txCnt === 2.U) -> txData(15, 8),
(txCnt === 3.U) -> txData(31, 24), (txCnt === 3.U) -> txData( 7, 0),
)) ))
CDROut.io.axis.bits.tlast := ~txFifo.io.deq.valid & txCnt === 3.U CDROut.io.axis.bits.tlast := ~txFifo.io.deq.valid & txCnt === 3.U
@@ -133,7 +133,7 @@ trait TLCDRRx{ this: TLCDRBase =>
val rxCnt = RegInit(0.U(2.W)) val rxCnt = RegInit(0.U(2.W))
val rxData = Reg(UInt(24.W)) val rxData = Reg(UInt(32.W))
when( isTLWriteRxSoftReset ){ when( isTLWriteRxSoftReset ){
@@ -142,10 +142,10 @@ trait TLCDRRx{ this: TLCDRBase =>
rxCnt := rxCnt + 1.U rxCnt := rxCnt + 1.U
rxData := Mux1H(Seq( rxData := Mux1H(Seq(
(rxCnt === 0.U) -> Cat( 0.U(24.W), CDRIn.io.axis.bits.tdata ), (rxCnt === 0.U) -> Cat( CDRIn.io.axis.bits.tdata, 0.U(24.W) ),
(rxCnt === 1.U) -> Cat( 0.U(16.W), CDRIn.io.axis.bits.tdata, rxData( 7,0) ), (rxCnt === 1.U) -> Cat( rxData(31,24), CDRIn.io.axis.bits.tdata, 0.U(16.W) ),
(rxCnt === 2.U) -> Cat( 0.U(8.W ), CDRIn.io.axis.bits.tdata, rxData(15,0) ), (rxCnt === 2.U) -> Cat( rxData(31,16), CDRIn.io.axis.bits.tdata, 0.U(8.W ) ),
// (rxCnt === 3.U) -> Cat( CDRIn.io.axis.bits.tdata, rxData(23,0) ), // (rxCnt === 3.U) -> Cat( rxData(31,8) , CDRIn.io.axis.bits.tdata ),
)) ))
} }
@@ -157,10 +157,10 @@ trait TLCDRRx{ this: TLCDRBase =>
rxFifo.io.enq.valid := CDRIn.io.axis.fire & ( rxCnt === 3.U | CDRIn.io.axis.bits.tlast ) rxFifo.io.enq.valid := CDRIn.io.axis.fire & ( rxCnt === 3.U | CDRIn.io.axis.bits.tlast )
rxFifo.io.enq.bits := Mux1H(Seq( rxFifo.io.enq.bits := Mux1H(Seq(
(rxCnt === 0.U) -> Cat( 0.U(24.W), CDRIn.io.axis.bits.tdata ), (rxCnt === 0.U) -> Cat( CDRIn.io.axis.bits.tdata, 0.U(24.W) ),
(rxCnt === 1.U) -> Cat( 0.U(16.W), CDRIn.io.axis.bits.tdata, rxData( 7,0) ), (rxCnt === 1.U) -> Cat( rxData(31,24), CDRIn.io.axis.bits.tdata, 0.U(16.W) ),
(rxCnt === 2.U) -> Cat( 0.U(8.W ), CDRIn.io.axis.bits.tdata, rxData(15,0) ), (rxCnt === 2.U) -> Cat( rxData(31,16), CDRIn.io.axis.bits.tdata, 0.U(8.W ) ),
(rxCnt === 3.U) -> Cat( CDRIn.io.axis.bits.tdata, rxData(23,0) ), (rxCnt === 3.U) -> Cat( rxData(31,8) , CDRIn.io.axis.bits.tdata ),
)) ))
CDRIn.io.axis.ready := true.B CDRIn.io.axis.ready := true.B

View File

@@ -104,7 +104,7 @@ initial begin
reset <= 0; reset <= 0;
#160000 # 10000000
$display("Time Out !!!"); $display("Time Out !!!");
$stop; $stop;
end end

View File

@@ -20,10 +20,14 @@
main: main:
lui x5, %hi(cdr_0_tx_status) lui x5, %hi(cdr_0_tx_status)
li x6, 128 li x6, 520
sw x6, 4(x5) #cdr_0_tx_txLen sw x6, 4(x5) #cdr_0_tx_txLen
li x6, 32 # lui x6, 0x20000
sw x6, 8(x5) # len op param0
sw x0, 8(x5) # param1 param2
li x6, 128 #
li x10, 0x1234
1: 1:
beqz x15, 3f # x1003 beqz x15, 3f # x1003
2: 2:
@@ -34,7 +38,8 @@ main:
3: 3:
# cdr_0_tx_txFifo0x5532 # cdr_0_tx_txFifo0x5532
sw x6, 8(x5) # cdr_0_tx_txFifo0x55
sw x10, 8(x5) # cdr_0_tx_txFifo0
addi x6, x6, -1 # addi x6, x6, -1 #
bnez x6, 1b # 0 bnez x6, 1b # 0