Forum Discussion

Alkesh_shah's avatar
Alkesh_shah
Icon for New Contributor rankNew Contributor
4 months ago

Quartus Prime Design Software - JTAG usage

I am using Quartus-Prime along with the USB-Blaster to control my Device (using JTAG).

I want to control my device without using Quartus. Please help me with the public (BSP) APIs of USB-Blaster so that I can access it without the need of Quartus.
Also if we do not have any public APIs, what can be the alternate solution on controlling the end-device without Quartus-prime application.

BR,

Alkesh

12 Replies

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

    Hi,
    so basically generic JTAG stuff. OpenOCD interface seems appropriate, either through Quartus jtagserver or third party drivers accessing USB Blaster directly.

    Regards
    Frank

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

      Hello,

      I am trying to execute the tcl commands few basic commands works as expected.
      eg: Finding the available devices, opening a device, locking it, closing it, etc.

      But was not successful in doing the scans (IR and DR scans), would like to know if you can help me with the exact commands supported.

      Thanks,
      Alkesh

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

    Hi,

    "control my device" doesn't say which interface to FPGA core you are using. Presume you are talking about virtual JTAG functions like Source&Probe, In-System-Memory Content Editor, JTAG UART, Virtual JTAG IP.

    USB Blaster and other programming cables are accessed through jtagserver. The client interface is documented here https://github.com/intel/libaji_client You need to install at least Quartus standalone programmer to have jtagserver available on a Windows or Linux computer.

    Quartus tools are accessing jtagserver through a common client stack with sld_hapi.dll on top, unfortunately completely undocumented. You can list the exports to get an idea what it's doing.

    Regards
    Frank

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

      Thanks for the update.

      When I say "control my device",

      I actually want to do all the operations (high-level and low-level) that are supported by the Quartus-Prime over JTAG-Chain Debugging.

      High-level may include operations such as device-programming or device-configuration.
      Low-level may include operations such as IR/DR boundary scanning or state transition of TAP-Controller, etc.

  • Well, I tried an approach of having a .svf and executing it using quartus_stp.exe.

    And unfortunately, it did not work.

    I created a .svf file using python. Would be great if you can provide some insights on how to execute it.

    Thanks

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Alkesh,


    Could you share what the issue you're facing? Btw, there are no official public APIs for direct USB-Blaster access outside of Quartus-Prime. However, you have a few alternative options:


    1. JAM STAPL Player: JAM STAPL Player which you're currently using.
    2. Quartus Standalone Programmer + jtagserver: You can use the libaji_client open-source library to interact with jtagserver for advanced JTAG tasks.


    Regards,

    Fakhrul


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

      Hello,

      I am using Quartus prime Standard version, with this is it possible to:
      1. Execute the .svf file?

      2. I do not have svf2jam.exe with this version, is it possible to get it ?

      3. Quartus Standalone Programmer + jtagserver: how do I use this with python application. Do you have any example source?

      Still I did not get the proper solution to work on my JTAG device. A quick response would be really helpful.

      Thanks,

      Alkesh Shah

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

      Thanks for the response.

      Regrading the point number 3.
      The url opens for Quartas prime Pro version. When tried to open for Standard it fails saying "404, page not found".
      So does it mean that STAPL is not supported by Quartus standard version?

      BR,
      Alkesh

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Alkesh_shah,


    There is a glitch with the download page. I will send the file to your email separately.


    To answer your question: The JAM Player is a standalone utility and can be used to program devices with JAM/STAPL files, regardless of the Quartus version installed.


    Regards,

    Fakhrul


  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    As we haven't received a response to our previous notification, this thread will be transitioned to community support. We hope all your concerns have been addressed. If you have any new questions, please feel free to open a new thread to receive support from Intel experts. Otherwise, community users will continue to assist you here. Thank you.