From 0de87ce40d0a2de597a6745d29185265d21a2b69 Mon Sep 17 00:00:00 2001 From: Marcin Dawidowicz <40853321+mdejw@users.noreply.github.com> Date: Wed, 21 Feb 2024 22:32:49 +0100 Subject: [PATCH] Send serial data to sim uart only if rx_ready is set. --- .../sim/core/modules/serial2console/serial2console.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/litex/build/sim/core/modules/serial2console/serial2console.c b/litex/build/sim/core/modules/serial2console/serial2console.c index 824662170..05dba1282 100644 --- a/litex/build/sim/core/modules/serial2console/serial2console.c +++ b/litex/build/sim/core/modules/serial2console/serial2console.c @@ -155,11 +155,13 @@ static int serial2console_tick(void *sess, uint64_t time_ps) { } *s->rx_valid = 0; - if(s->datalen) { - *s->rx = s->databuf[s->data_start]; - s->data_start = (s->data_start + 1) % 2048; - s->datalen--; - *s->rx_valid = 1; + if(*s->rx_ready) { + if(s->datalen) { + *s->rx = s->databuf[s->data_start]; + s->data_start = (s->data_start + 1) % 2048; + s->datalen--; + *s->rx_valid = 1; + } } return RC_OK;