Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 4/01/2024
Public
Document Table of Contents

4.1.15.4. read_content_from_memory (::quartus::insystem_memory_edit)

The following table displays information for the read_content_from_memory Tcl command:

Tcl Package and Version

Belongs to ::quartus::insystem_memory_edit

Syntax read_content_from_memory [-h | -help] [-long_help] [-content_in_hex] -instance_index <instance index> -start_address <starting address> [-timeout <timeout> ] -word_count <word count>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-content_in_hex The memory content string is represented in hexadecimal format
-instance_index <instance index> Index of the editable memory instance to read
-start_address <starting address> The lowest memory address to be read
-timeout <timeout> amount of time in milliseconds allocated before read times out. Defaults to 10 seconds
-word_count <word count> The number of contiguous memory words to be read
Description
Retrieves the memory content represented in the bit
stream from the specified editable memory instance
starting from the specified address.

The memory content string is in the same format as the
input content string in the TCL command
write_content_to_memory.	 	
Example Usage
# Instance 0 is configured as {0 1024 8 RW ROM/RAM mem0}

# Initiate a editing sequence
begin_memory_edit -hardware_name "USB-Blaster \[USB-0\]" -device_name "@1: EP1S25/_HARDCOPY_FPGA_PROTOTYPE (0x020030DD)"

# Write memory content using binary string
write_content_to_memory -instance_index 0 -start_address 575 -word_count 2 -content "0000001011011100" 

# Read back memory content in binary string written 
puts [read_content_from_memory -instance_index 0 -start_address 575 -word_count 2 -timeout 30000]

# Write memory content using hexadecimal string
write_content_to_memory -instance_index 0 -start_address 575 -word_count 2 -content "E2F1" -content_in_hex

# Read back memory content in hexadecimal string written 
puts [read_content_from_memory -instance_index 0 -start_address 575 -word_count 2 -content_in_hex]

# End the editing sequence
end_memory_edit
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: A memory edit sequence has not been started.
TCL_ERROR 1 ERROR: The specified word count and the starting address exceeds the specified memory buffer size.
TCL_ERROR 1 ERROR: The specified editable memory instance index is invalid.
TCL_ERROR 1 ERROR: JTAG communication error is detected. It can be caused by the hardware failure or poor signal integrity in the JTAG chain.
TCL_ERROR 1 ERROR: The device is locked by another application.