I would like to simulate a datapath design using perl. The data path will have FIFOS, PIPES, MUXES and ARBS. Any suggestion on how I should go about coding these elements in perl? For example, how would I code a FIFO of depth N that I can instance M times and independently push/pop?