RingBuffer SystemVerilog module.
This module is a simple ringbuffer.
DATA_SIZE
controls the buffer width, which can be any number >0.
BUFFER_SIZE
controls the buffer depth, which needs to be power of 2.
tx_o
signal is high while the buffer is not empty.
rx_ack_o
signal is high while the buffer is not full.