Forum Discussion

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

MegaWizard-generated memory with Nios II

I need a MegaWizard-generated on-chip memory to be the main memory for Nios II system.

How is it possible? How can I get a suitable memory interface in SOPC?

5 Replies

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

    in your SOPC builder, see Component Library.

    [Library]->[Memories and Memory Controllers]->[On-Chip]->[On-Chip Memory(RAM or ROM)]

    and [Add] it.

    on chip memory may be small for NiosII in normal use.

    you should remove some functions from system property in NiosII EDS(eclips).
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    @akira:

    I know how to add on-chip memory inside SOPC, what I need is to have one outside (in my top-level), as if it was external memory.

    The reason is that I need to be able to manipulate with memory data and address outside SOPC.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I don't think there is any way of adding memory with its second port signals exposed (this ought to be a standard block! [1]). So you'd have to write your own avalon slave that contains the memory block and exposes its signals.

    The alternative (depending on what you are doing) it to use an avalon master - but that is harder.

    [1] Similarly memory blocks that are aliased into avalon address space, and blocks with missing high bits (eg 18 bit memory with the top bits read-zero).
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I will try to be more specific (maybe this will help to come up with alternative solutions).

    I need to make the on-chip memory (the only memory I have) protected with parity check. Say, if the memory is 32 bit then on every write access I want to write 33 bit word consisting of data and parity. And on every read access to calculate parity again and to compare it with the parity bit.

    I have easily build the memory I need with MegaWizard, and made some wrapper blocks for parity check on read and write, now I don't know how to make so that my Nios II system use this memory.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    do you know how to create custom-IP core.

    as dsl told you, you can create that part "inside" of SOPC builder.

    it is able to access from outside of SOPC builder via conduit out port.