URL
https://opencores.org/ocsvn/wbuart32/wbuart32/trunk
Subversion Repositories wbuart32
Compare Revisions
- This comparison shows the changes necessary to convert path
/wbuart32/trunk/bench/cpp
- from Rev 2 to Rev 3
- ↔ Reverse comparison
Rev 2 → Rev 3
/uartsim.cpp
152,7 → 152,7
if (m_rx_state == RXIDLE) { |
if (!i_tx) { |
m_rx_state = RXDATA; |
m_rx_baudcounter =m_baud_counts+m_baud_counts/2; |
m_rx_baudcounter =m_baud_counts+m_baud_counts/2-1; |
m_rx_baudcounter -= m_rx_changectr; |
m_rx_busy = 0; |
m_rx_data = 0; |
182,7 → 182,7
// stop bit |
// (possible secondary stop bit) |
m_rx_data = ((i_tx&1)<<31) | (m_rx_data>>1); |
} m_rx_baudcounter = m_baud_counts; |
} m_rx_baudcounter = m_baud_counts-1; |
} else |
m_rx_baudcounter--; |
|
218,16 → 218,16
m_tx_busy = (1<<(m_nbits+m_nparity+m_nstop+1))-1; |
m_tx_state = TXDATA; |
o_rx = 0; |
m_tx_baudcounter = m_baud_counts; |
m_tx_baudcounter = m_baud_counts-1; |
} |
} |
} else if (m_tx_baudcounter == 0) { |
} else if (m_tx_baudcounter <= 0) { |
m_tx_data >>= 1; |
m_tx_busy >>= 1; |
if (!m_tx_busy) |
m_tx_state = TXIDLE; |
else |
m_tx_baudcounter = m_baud_counts; |
m_tx_baudcounter = m_baud_counts-1; |
o_rx = m_tx_data&1; |
} else { |
m_tx_baudcounter--; |
248,7 → 248,7
if (m_rx_state == RXIDLE) { |
if (!i_tx) { |
m_rx_state = RXDATA; |
m_rx_baudcounter =m_baud_counts+m_baud_counts/2; |
m_rx_baudcounter =m_baud_counts+m_baud_counts/2-1; |
m_rx_baudcounter -= m_rx_changectr; |
m_rx_busy = 0; |
m_rx_data = 0; |
279,7 → 279,7
// stop bit |
// (possible secondary stop bit) |
m_rx_data = ((i_tx&1)<<31) | (m_rx_data>>1); |
} m_rx_baudcounter = m_baud_counts; |
} m_rx_baudcounter = m_baud_counts-1; |
} else |
m_rx_baudcounter--; |
|
316,7 → 316,7
m_tx_busy = (1<<(m_nbits+m_nparity+m_nstop+1))-1; |
m_tx_state = TXDATA; |
o_rx = 0; |
m_tx_baudcounter = m_baud_counts; |
m_tx_baudcounter = m_baud_counts-1; |
} else if (nr < 0) { |
fprintf(stderr, "ERR while attempting to read in--closing input port\n"); |
perror("UARTSIM::read() "); |
330,7 → 330,7
if (!m_tx_busy) |
m_tx_state = TXIDLE; |
else |
m_tx_baudcounter = m_baud_counts; |
m_tx_baudcounter = m_baud_counts-1; |
o_rx = m_tx_data&1; |
} else { |
m_tx_baudcounter--; |
/linetest.cpp
74,7 → 74,7
run_interactively = true; |
break; |
case 's': |
setup= strtoul(argv[argn++], NULL, 0); j+= 4000; |
setup= strtoul(argv[++argn], NULL, 0); j+= 4000; |
break; |
default: |
printf("Undefined option, -%c\n", argv[argn][j]); |
193,20 → 193,36
|
tb.i_uart = (*uart)(tb.o_uart); |
|
/* |
fprintf(stderr, "%02x:%02x (%02x/%d) %d,%d->%02x [%d/%d/%08x]\n", |
tb.v__DOT__head, |
tb.v__DOT__tail, |
tb.v__DOT__lineend, |
tb.v__DOT__run_tx, |
tb.v__DOT__tx_stb, |
tb.v__DOT__transmitter__DOT__r_busy, |
tb.v__DOT__tx_data & 0x0ff, |
tb.v__DOT__transmitter__DOT__state, |
tb.v__DOT__transmitter__DOT__zero_baud_counter, |
tb.v__DOT__transmitter__DOT__baud_counter); |
*/ |
if (false) { |
static long counts = 0; |
static int lasti = 1, lasto = 1; |
bool writeout = false; |
|
counts++; |
if (lasti != tb.i_uart) { |
writeout = true; |
lasti = tb.i_uart; |
} if (lasto != tb.o_uart) { |
writeout = true; |
lasto = tb.o_uart; |
} |
|
if (writeout) { |
fprintf(stderr, "%08lx : [%d -> %d] %02x:%02x (%02x/%d) %d,%d->%02x [%2d/%d/%08x]\n", |
counts, tb.i_uart, tb.o_uart, |
tb.v__DOT__head, |
tb.v__DOT__tail, |
tb.v__DOT__lineend, |
tb.v__DOT__run_tx, |
tb.v__DOT__tx_stb, |
tb.v__DOT__transmitter__DOT__r_busy, |
tb.v__DOT__tx_data & 0x0ff, |
tb.v__DOT__transmitter__DOT__state, |
tb.v__DOT__transmitter__DOT__zero_baud_counter, |
tb.v__DOT__transmitter__DOT__baud_counter); |
} |
} |
|
if (iterations_before_check-- <= 0) { |
iterations_before_check = 2048; |
done = ((time(NULL)-start)>60); |