systemc: Implement sc_fifo::dump and improve sc_fifo::print.
authorGabe Black <gabeblack@google.com>
Fri, 31 Aug 2018 00:41:05 +0000 (17:41 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 3 Oct 2018 00:27:44 +0000 (00:27 +0000)
commit3c40f3c0c420dc4215c97a646359f7cda5de829e
tree54ef2c4c9b93b2d3fa41a795a83007a2b6c81d9b
parent4c467c9ea9838b3644be131f455263f47a8f3988
systemc: Implement sc_fifo::dump and improve sc_fifo::print.

The print function is supposed to print both pending and committed
writes, apparently.

Accellera's implementation of sc_fifo uses a ring buffer to store the
entries and manages a head and tail pointer to keep track of what's
full, etc. Their dump function prints that whole buffer using the
indexes. When not using a ring buffer, there's no easy way to determine
what those indexes should be.

Fortunately the test that uses dump never moves away from the base of
the ring buffer, so I can get the same effect (which also makes sense
on its own) by printing the index into the fifo instead.

Change-Id: I50fe049461f6a5e8a55b54eeb2f134d20f0812c6
Reviewed-on: https://gem5-review.googlesource.com/c/12455
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/systemc/ext/channel/sc_fifo.hh