remove debug output
fix bug in fifo_push

The ram address variable can leave the upper bound temporarily, which causes the
simulation to fail. This is not a problem in hardware, so I have made sure that
the synthesized code remains the same. This requires 'synthesis translation_off'
which is quite ugly, so we may want to use the 'right' code in both cases.