parameterized asynchronous fifo