Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
22 years ago

FIFO Interface

The fifo interface (http://www.ece.utexas.edu/~desimone/fifo_interface/) component interfaces a FIFO megafunction to the Avalon bus so the master can read or write it like a peripheral. It's pretty simple, really.

This is one of those peripherals that makes no sense whatsoever for a normal microcontroller, because there are too many fundamental variables (how wide? how deep?).

The main site (http://www.ece.utexas.edu/~desimone/fifo_interface/) has all the documentation, or if you don't believe in documentation, you could just go ahead and download the component (http://www.ece.utexas.edu/~desimone/fifo_interface/download.html).

This component is released as free software under the GNU Lesser General Public License. Since it is something I'm doing for fun, there is no guarantee of support. Of course, since it's open source, you're free to dive in and mess with your copy all you want.

Feel free to identify bugs, suggest improvements, even send patches. There is a support topic on this forum, or you can try to contact me via email. Be advised that I'm not constantly in my office, so email replies may take up to a day or two (or longer, if I'm on travel).

Have fun! http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/biggrin.gif

13 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for your reply Mike.

    In the software part you have some pretty fancy macros. Would it be posible for you to post some code snippets on how they are intended to be used.

    Interrupt use would also be interesting to see.

    This would be realy helpfull for me as a new NIOS user.

    henning
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    originally posted by larsen@Oct 12 2004, 08:51 AM

    i have created a read fifo (data towards nios) using your tool. on the processor port symbol appears a "clk_en_from_the_readfifo", in addition to the "fifo_rdreq_from_the_readfifo".

    --- Quote End ---

    That&#39;s a side-effect from something I don&#39;t quite understand about the undocumented Europa library. There&#39;s a vestigial "clk_en" output generated, which always drives a logic 1. It should be left unconnected.

    Removing it from the em_fifo.pl script would disable the internal read register. I&#39;m not sure why this is.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hello Mike,

    Thanks for your very useful contribution. I do however have a question which seems not to be answered by your documentation:

    I have created a read fifo (data towards nios) using your tool. On the processor port symbol appears a "clk_en_from_the_readFifo", in addition to the "fifo_rdreq_from_the_readFifo".

    I expect that the fifo_rdreq should go to the rdreq input in the fifo (external to nios) which I have generated using the megawizard, but whats the use of clk_en? On the symbol which I have got from the wizard I have no clk_en input.

    I browsed your documentation but could not find any mention of this pin. Can you give me a hint?

    thanks

    Hennnig

    Risoe national laboratory

    Denmark