Difference between revisions of "Qsys USB BLASTER Jtag-avalon-MM"

From ArmadeusWiki
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
[[Category: Quartus]]
 
[[Category: Quartus]]
 
[[Category: USB-Blaster]]
 
[[Category: USB-Blaster]]
 +
[[Category: APF6_SP]]
 +
[[Category: CycloneV]]
 +
[[Category: Qsys]]
 +
  
 
== Introduction ==
 
== Introduction ==
  
It's possible to access avalon-MM bus with an USB-Blaster connected to jtag. To do that a special ip-core must be instanciated in Qsys and a system console must be launched in Quartus.
+
It's possible to access avalon-MM bus with an [[Quartus_installation_on_Linux#USB-Blaster |USB-Blaster]] connected to jtag. To do that a special ip-core must be instanciated in Qsys and a system console must be launched in Quartus.
  
 
== Instanciate Jtag-avalon-MM ==
 
== Instanciate Jtag-avalon-MM ==
  
 +
In Qsys library, the component to instanciate is named '''JTAG to Avalon Master Bridge'''.
 +
* Click twice on it to integrate it in your project then connect the clock and reset on the same signal than the avalon slave you want to access.
 +
* Once done, plug the avalon interface «master» on the avalon slave interface you want to access.
 +
* Generate the HDL files then synthesize all design.
  
 
== Access avalon-MM registers ==
 
== Access avalon-MM registers ==
  
* Launch Systemp console in Quartus :
+
* Launch System console in Quartus :
 
<pre>
 
<pre>
 
tools -> System debugging tools -> system console
 
tools -> System debugging tools -> system console
Line 18: Line 26:
  
 
* Connect to USB-BLaster JTAG-avalon-MM instance :
 
* Connect to USB-BLaster JTAG-avalon-MM instance :
<pre>
+
<source lang="tcl">
 
% set masters [get_service_paths master]
 
% set masters [get_service_paths master]
 +
/devices/5CGXBC3B(6|7)|5CGXFC3B(6|7)@1#1-1.2.4/(link)/JTAG/jtag_phy_1.jtag/phy_1/master
 
% set master [lindex $masters 0]
 
% set master [lindex $masters 0]
 +
/devices/5CGXBC3B(6|7)|5CGXFC3B(6|7)@1#1-1.2.4/(link)/JTAG/jtag_phy_1.jtag/phy_1/master
 
% open_service master $master
 
% open_service master $master
</pre>
+
</source>
 
* Write 32bits value
 
* Write 32bits value
<pre>
+
<source lang="tcl">
 
% master_write_32 $master 0x4 0xdeadbeef
 
% master_write_32 $master 0x4 0xdeadbeef
</pre>
+
</source>
 
* Read 32bits value
 
* Read 32bits value
<pre>
+
<source lang="tcl">
 
% master_read_32 $master 0x0 2
 
% master_read_32 $master 0x0 2
</pre>
+
</source>
 +
 
 +
== Links ==
 +
 
 +
* [https://www.altera.com/en_US/pdfs/literature/ug/ug_usb_blstr.pdf USB-Blaster (pdf)]
 +
* [https://www.altera.com/en_US/pdfs/literature/hb/qts/qts_qii53028.pdf Analyzing and Debugging Designs with System Console]

Latest revision as of 15:28, 23 August 2017


Introduction

It's possible to access avalon-MM bus with an USB-Blaster connected to jtag. To do that a special ip-core must be instanciated in Qsys and a system console must be launched in Quartus.

Instanciate Jtag-avalon-MM

In Qsys library, the component to instanciate is named JTAG to Avalon Master Bridge.

  • Click twice on it to integrate it in your project then connect the clock and reset on the same signal than the avalon slave you want to access.
  • Once done, plug the avalon interface «master» on the avalon slave interface you want to access.
  • Generate the HDL files then synthesize all design.

Access avalon-MM registers

  • Launch System console in Quartus :
tools -> System debugging tools -> system console
  • Connect to USB-BLaster JTAG-avalon-MM instance :
% set masters [get_service_paths master]
/devices/5CGXBC3B(6|7)|5CGXFC3B(6|7)@1#1-1.2.4/(link)/JTAG/jtag_phy_1.jtag/phy_1/master
% set master [lindex $masters 0]
/devices/5CGXBC3B(6|7)|5CGXFC3B(6|7)@1#1-1.2.4/(link)/JTAG/jtag_phy_1.jtag/phy_1/master
% open_service master $master
  • Write 32bits value
% master_write_32 $master 0x4 0xdeadbeef
  • Read 32bits value
% master_read_32 $master 0x0 2

Links