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

Max10 initialize ram/rom

Altera_Forum
Honored Contributor II
2,298 Views

Hi, 

 

I'd like to know (datasheet are so confusing): for max10 devices  

 

Is it possible to initialize ram/rom data when programming bit stream with jtag? 

 

Is it possible to initialise ram/rom data when programming thru UCM/UFM ? Is to automatic or do I need to read data from flash and feed ram/rom manualy? 

 

Thanx to clarify. Still don't understand datasheet after reading, re-reading and reading it again and again! 

 

Thanx again
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
1,129 Views

If you are referring to RAM/ROM created from on-chip memory blocks, then yes. You can create a .hex or .mif file for any RAM/ROM in your design. Choose to create a memory initialization file when creating a new file in Quartus. The file is sent with the programming data to initialize the RAM/ROM.

0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

Thanx for the reply. 

So, the sof file contains both bit stream and ram/rom programming data. 

 

When sending the sof file with jtag to max10, neither the bit stream nor the ram/rom initialization data go to the internal flash. 

 

Is that correct ?
0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

You can put data into the UFM or the CFM, but when you program the device directly with a .sof, no, it doesn't get stored in the internal flash.

0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

TO_BE_DONE

0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

Volatile JTAG configuration is always available as alternative option, without configuring it in the device options. Select JTAG mode and *.sof file in Quartus programmer.

0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

 

--- Quote Start ---  

Volatile JTAG configuration is always available as alternative option, without configuring it in the device options. Select JTAG mode and *.sof file in Quartus programmer. 

--- Quote End ---  

 

 

Ok, I am starting to understand that I certainly can initialise ROM directly within the design and that these data will be set thru JTAG configuration inside bit stream. I also suspect that these data will be inside bit stream even when bit stream is programed into CFM.  

 

What is very confusing reading MAX10 documentation is that they seem to say that any initialisation can only be inside UFM which is limited to 512kbits. I understand now that it is not true. UFM are usable to store additional data other than the ones that are already inside bit stream. These additional data could be accessed thru the dedicated IP by using avalon bus. 

 

More confusing is that Quartus compilation failed if you initialise any ROM with mif data while not chosing configuration scheme with no initialization UFM. 

 

This sound to me like being a bug inside Quartus. Never found information about such a bug. 

 

I am right ? 

 

Thanx for helping.
0 Kudos
Altera_Forum
Honored Contributor II
1,129 Views

I think it depends on what configuration you have chosen in Assignments/device/device and pin options/configurations.  

 

If it is configuration with memory initialization, then you can probably init the device with an .hex file. Otherwise, the syn/par will give you error if you try to provide an .hex file to the BRAM block.
0 Kudos
Reply