Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16597 Discussions

memory export via tcl commands in cmd

RonBuzaglo
Novice
800 Views

Hi, 

I wish to export the memory content via the command prompt, instead of using the In-System Memory Editor. so far I've tried : 

 

quartus_stp_tcl --tcl_eval begin_memory_edit -hardware_name "DE-SoC \[USB-1\]" -device_name "@2: 5CSEBA6(.|ES)/5CSEMA6/.. (0x02D020DD)"

 

which gives :

 

Error (261020): The modifiable node at index 0 had been accessed by another program
Error (261020): The modifiable node at index 1 had been accessed by another program
Error (261020): The modifiable node at index 2 had been accessed by another program

 

even tried  the following command:

quartus_stp_tcl --tcl_eval get_editable_mem_instances -hardware_name "DE-SoC \[USB-1\]" -device_name "@2: 5CSEBA6(.|ES)/5CSEMA6/.. (0x02D020DD)"

 

which gives :

 

Error (261020): The modifiable node at index 0 had been accessed by another program
Error (261020): The modifiable node at index 1 had been accessed by another program
Error (261020): The modifiable node at index 2 had been accessed by another program
{0 256 1280 RW ROM/RAM NONE} {1 256 1280 RW ROM/RAM NONE} {2 256 1280 RW ROM/RAM NONE}

 

now the purpose of all this is the following command :

quartus_stp_tcl --tcl_eval save_content_from_memory_to_file -instance_index 0 -mem_file_path "exp_red.hex" -mem_file_type hex

 

which gives :

 

ERROR: A memory edit sequence has not been started.

while executing
"save_content_from_memory_to_file -instance_index 0 -mem_file_path exp_red.hex -mem_file_type hex

 

i dont understand what other program is interfering with my attempt to export said memory.

also, it seems by the error above that the "begin_memory_edit" command doesnt work properly....

i would like to note the fact that attempting to do the following process manually (via quartus in system memory content editor) works beautifully (meaning that exporting the hex files is successfull and even the data itself is correct - my project works  ) 

 

pleas help me do this automatically with these commands 

 

thanks to whoever replies in advance

 

 

0 Kudos
1 Solution
RonBuzaglo
Novice
758 Views

everything works!!!!

thank you very much

 

 

View solution in original post

0 Kudos
4 Replies
sstrell
Honored Contributor III
776 Views

I'm not sure where you are getting the command "quartus_stp_tcl".  That's not a valid command that I've ever seen.  To see all the correct commands, open the Tcl console in Quartus from the View menu and click the little ? icon to open the Tcl and command line help.  To load the insystem_memory_edit Tcl API package, the executable is just "quartus_stp".

0 Kudos
RonBuzaglo
Novice
771 Views

hi

thank you for replying

 

i was working with quartus_stp_tcl becuase quartus_stp gave me the same errors so i saw no difference ...

 

although you gave me the idea of looking at "quartus_stp -help" which led me to "quartus_stp -s" 

now the cmd turns into a tcl terminal , so i dont need the "--tcl_eval" anymore.

everything works !!!! i successfully exported the memory data from the fpga . 

 

thank you so much!

 

i now wish to write everything to a simple tcl script to so when i open cmd 

i will only need the "quartus_stp -t" command and the file ofcourse

 

how do i do that?

would the following be enough as a script?

do i need any other common commands prior or after this?

###########script starts here#################

begin_memory_edit -hardware_name "DE-SoC \[USB-1\]" -device_name "@2: 5CSEBA6(.|ES)/5CSEMA6/.. (0x02D020DD)"

read_content_from_memory -instance_index 0 -content_in_hex -start_address 0 -word_count 256
read_content_from_memory -instance_index 1 -content_in_hex -start_address 0 -word_count 256
read_content_from_memory -instance_index 2 -content_in_hex -start_address 0 -word_count 256

save_content_from_memory_to_file -instance_index 0 -mem_file_path "exp_red.hex" -mem_file_type hex
save_content_from_memory_to_file -instance_index 1 -mem_file_path "exp_green.hex" -mem_file_type hex
save_content_from_memory_to_file -instance_index 2 -mem_file_path "exp_blue.hex" -mem_file_type hex

###########script ends here#################

 

thanks again

0 Kudos
sstrell
Honored Contributor III
762 Views

Looks good to me.  Can't hurt to try it.

0 Kudos
RonBuzaglo
Novice
759 Views

everything works!!!!

thank you very much

 

 

0 Kudos
Reply