Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20704 Discussions

No ROM initialization (FIR, NCO coeffecients, etc.) on MAX10 SCE Compact Devices?

Altera_Forum
Honored Contributor II
1,670 Views

Hi, 

 

The max 10 configuration user guide (https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/hb/max-10/ug_m10_config.pdf) states on page 2-2 that MAX 10 devices with "Compact" feature options do no support memory initialization. I would like to use a 10M50SCE (I like the SCE price point) device with existing DSP RTL that contains NCOs and FIR filters with ROM coefficient tables. How am I supposed to initiate these tables if memory initialization is not supported? Must I actually add explicit RTL overhead and use resources to read user flash and write the coefficients at start-up? Is there an easier way? This is a standalone device in the field and will not have a JTAG connection, etc. to QSYS. 

 

Best Regards, 

 

Steve
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
654 Views

You can certainly instantiate a ROM in a MAX 10. This is a true ROM and is not a RAM that needs loading from FLASH or similar. When you create a single port ROM through Quartus' IP catalogue, it'll ask you to provide (or create) a .hex or .mif file to specify the ROMs content. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
654 Views

Hi Alex, 

 

My original design does have .mif files. I have gone through the test of creating a new true ROM from the IP catalogue in an entirely new project. For a device such as the 10M50SCE which I specify in my original post, you can not initialize the ROM. Other MAX devices that are not SCE, such as the 10M50DAF can initialize the ROM. Please read the reference on page 2-2 of the MAX 10 configuration user guide I linked to, and try this experiment for yourself. You do not run into the problem until you try to synthesize a design and create output files. 

 

This is a showstopper for me and the MAX 10 devices I would like to use.  

 

Best Regards, 

 

Steve
0 Kudos
Altera_Forum
Honored Contributor II
654 Views

I've had a play - having seen another, similar, forum thread. I can reproduce your issue. I've not used any of the 'compact' MAX 10 devices. Hence, have not appreciated the limitations. 

 

Memory initialisation needs CFM2 - which the 10M02 doesn't have. Furthermore, the MAX 10 Device Overview, in the Device Feature Options section, covers the fact that 'Compact' devices don't support Memory Initialisation. So, unfortunately, the device you're targeting simply won't support what you want. However, as you've found the 'flash' (or 'analogue') variants will. 

 

I hope you can find a suitable alternative. 

 

Cheers, 

Alex
0 Kudos
Reply