Forum Discussion

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

memory usage by DCFIFO in cyclone III

I'm trying to get an understanding of the memory usage by the DCFIFO MegaWizard function in a cyclone III application.

For example, in my application I'm looking at a FIFO that is 18 bits wide by 8K long. In the MegaWizard, the usage is listed as 18 M9K blocks.

The internal memory in a Cyclone III is 9 bit blocks, right? So shouldn't this pack into 16 M9K blocks? Is there some reason that the 9th bit isn't being used by the FIFO MegaFunction?

Thanks.

2 Replies

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

    See Table 4-1 of the following:

    http://www.altera.com/literature/hb/cyc3/cyc3_ciii51004.pdf

    I would assume the M9Ks are set up in the 8192 x 1 configuration. (8192deep x 1wide) Thus, for 18 wide, it would take 18 M9Ks.

    To pack into 16 M9Ks, it would have to stack 16 of the 512 x 18 configuration.

    The 8192x1 configuration is probably faster and uses less logic then the 512x18 configuration. In 9.0, there is a checkbox called Reduce RAM usage, may be in other versions also. Checking this box yields a 18wide x 8k deep fifo that uses 16 M9Ks. Unchecked, it uses 18 M9ks.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks gmpstr

    The check box is grayed out unit I set it to a 8K x 18 FIFO. Once I do I'm able to pack it into 16 M9Ks.