Forum Discussion

RonBuzaglo's avatar
RonBuzaglo
Icon for New Contributor rankNew Contributor
4 years ago
Solved

memory export via tcl commands in cmd

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

4 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    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".

    • RonBuzaglo's avatar
      RonBuzaglo
      Icon for New Contributor rankNew Contributor

      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

      • sstrell's avatar
        sstrell
        Icon for Super Contributor rankSuper Contributor

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