diff --git a/Makefile b/Makefile index 4537e9d..dafacf0 100644 --- a/Makefile +++ b/Makefile @@ -200,7 +200,7 @@ sw: $(TARGET)-objcopy -O binary ./tb/sw/build/slvTest.elf ./tb/sw/build/slvTest.bin - $(TARGET)-objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.text.init --section=.data --section=.bss --section=.rodata --section=.trap_entry ./tb/sw/build/slvTest.elf > ./tb/sw/build/slvTest.dump + $(TARGET)-objdump -S -s --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.text.init --section=.data --section=.bss --section=.rodata --section=.trap_entry ./tb/sw/build/slvTest.elf > ./tb/sw/build/slvTest.dump $(TARGET)-objcopy -O verilog ./tb/sw/build/slvTest.elf ./tb/sw/build/slvTest.verilog sed -i 's/@400/@000/g' ./tb/sw/build/slvTest.verilog diff --git a/rocket-chip b/rocket-chip index 0eec8c6..2131fe7 160000 --- a/rocket-chip +++ b/rocket-chip @@ -1 +1 @@ -Subproject commit 0eec8c65489e0e6ace60126d4ba500b3a0c4417c +Subproject commit 2131fe7cd62dfa695da82463007cab310650aa22 diff --git a/tb/sw/src/halfLvdsMacSvr.c b/tb/sw/src/halfLvdsMacSvr.c index a956983..5f34d8b 100644 --- a/tb/sw/src/halfLvdsMacSvr.c +++ b/tb/sw/src/halfLvdsMacSvr.c @@ -125,6 +125,7 @@ uint32_t HLM_poll(uint32_t mode) else if (mode == WORKMODE_SLAVE) { uint32_t rx_index = 0; + uint32_t rx_len; while (1) { if (isr_flag[CDR_INT_TX0_FIFO_DEQ]) @@ -156,12 +157,16 @@ uint32_t HLM_poll(uint32_t mode) len = (first >> 20U); *tx1_txLen = len + 8U; *tx1_txFifo = first; + rx_len = len + 4; rx_index += 4U; } else { - *tx1_txFifo = *rx0_rxFifo; - rx_index += 4U; + if (rx_len > rx_index) + { + *tx1_txFifo = *rx0_rxFifo; + rx_index += 4U; + } } } @@ -177,7 +182,6 @@ uint32_t HLM_poll(uint32_t mode) break; } } - } else {