FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5914 Discussions

Qsys On-chip memory access

anil_naik
Employee
295 Views

Hi All,

 

We have Qsys design with JTAG to Avalon Master Bridge and On-chip memory targeted to MAX10 Dev Board.

Could not access memory through system console. seeing following error

SEVERE: master_read_memory: This transaction did not complete in 60 seconds. System Console is giving up.

 

anil_naik_0-1626407365568.png

Could access JTAG loopback, sample clock, sample reset from system console.

 

Any help will be really useful.

Thank you

 

0 Kudos
7 Replies
sstrell
Honored Contributor III
277 Views

(Platform Designer, not Qsys)

Did you set up the master service path in System Console and claim the service?  What are the commands you've issued in System Console?

anil_naik
Employee
249 Views

Hi sstrell

 

Thanks for the Response

I have set the master service and claim the path. I have used below commands in system console also pasted response.

Using Max10M50DA dev kit.

Pin loc clock is     M8  (25MHz)

Pin loc reset_n is D9 

% set jd_path [lindex [get_service_paths jtag_debug] 0]
/devices/10M50DA(.|ES)|10M50DC@1#USB-1/(link)/JTAG/(110:132 v1 #0)/phy_0
% jtag_debug_sample_clock $jd_path
1
% jtag_debug_sample_clock $jd_path
0
% jtag_debug_sense_clock $jd_path
1
% jtag_debug_sample_reset $jd_path
1
% jtag_debug_loop $jd_path [list 1 2 3 4 5 6 7 8 9 10]
0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a
% jtag_debug_reset_system $jd_path

% jtag_debug_sample_reset $jd_path
1
% set ocram 0x0
0x0
% set m_path [lindex [get_service_paths master] 0 ]
/devices/10M50DA(.|ES)|10M50DC@1#USB-1/(link)/JTAG/(110:132 v1 #0)/phy_0/master
% set c_path [claim_service master $m_path ""]
/channels/local/(lib)/master_1
% master_read_32 $c_path $ocram 1
error: master_read_32: This transaction did not complete in 60 seconds. System Console is giving up.
while executing
"master_read_32 $c_path $ocram 1"

 

Thanks

sstrell
Honored Contributor III
223 Views

Your $ocram Tcl variable becomes a string variable because of the "x", so that's probably why the command is failing.  Just put the address itself in the master_read_32 command to test.  If you're going to need a variable for this address in a script, you'll probably need to do some Tcl "finagling".  I like the Tcl reference here: http://tmml.sourceforge.net/doc/tcl/index.html

anil_naik
Employee
205 Views

Thanks for sharing Tcl reference.

I have tried with below command as well but still errored out

master_read_memory $c_path 0 32 

 

Do we need valid quartus license for program and debug?

 

sstrell
Honored Contributor III
197 Views

You don't need a license for this.  Could the design be stuck in reset?  You got 1 back from the jtag_debug_sample_reset command.

anil_naik
Employee
188 Views

Yes. I did get 1 back from jtag_debug_sample_reset command

I have pasted commands and responses below.

 

% jtag_debug_sample_clock $jd_path
0
% jtag_debug_sample_clock $jd_path
1
% jtag_debug_sample_reset $jd_path
1
% jtag_debug_reset_system $jd_path

% jtag_debug_sample_reset $jd_path
1
% set m_path [lindex [get_service_paths master] 0]
/devices/10M50DA(.|ES)|10M50DC@1#USB-1/(link)/JTAG/(110:132 v1 #0)/phy_0/master
% set claim_path [claim_service master $m_path ""]
/channels/local/(lib)/master_1
% master_read_32 $claim_path 0 1
error: master_read_32: This transaction did not complete in 60 seconds. System Console is giving up.
while executing
"master_read_32 $claim_path 0 1"

anil_naik
Employee
185 Views

Changed the clk pin from 25MHz board clock to 50MHz clock. 

Now able to read and write to memory

% master_read_32 $claim_path 0 1
0x00000000
% master_write_8 $claim_path 0x0 0xe

% master_read_32 $claim_path 0 1
0x0000000e

 

Thank you very much for your support

Reply