Skip to main content

Package to interact with JTAG UART modules in Intel FPGA designs

Project description

intel_jtag_uart is a Python module that can be used to interact with the JTAG UART instances inside Intel FPGA designs.

The official ways to do this are either interactively, through nios2-terminal utility, or by scripting some TCL code inside the Quartus System Console. There is no official straightforward way to interact with a JTAG UART with Python.

This module is a wrapper around the jtag_atlantic shared library/DLL that is part of any modern Quartus installation. (jtag_atlantic is the internal code name for the JTAG UART.)

To use this module, you need access to the jtag_atlantic shared library as well as the jtag_client shared library, which provides lower level JTAG-related functions.

Usage

  • Install this package with pip3 install intel_jtag_uart.

  • Point to the jtag_atlantic and jtag_client shared libraries, so that the module can find it.

    The module uses the following sequence to find these libraries:

    1. Look in the directory in which intel_jtag_uart.py is located
    2. Look in the directory in which the executable that uses this module is located
    3. Use the OS-provided way to find shared libraries. (E.g. for Linux, it will check the directories of the $LD_LIBRARY_PATH environment variable.)
    4. Look in the $QUARTUS_ROOTDIR directory

    Most default Quartus installations will have $QUARTUS_ROOTDIR environment variable set to the correct directory, so everything should just work™.

  • Use some variation of the script below:

import intel_jtag_uart

try:
    ju = intel_jtag_uart.intel_jtag_uart()

except Exception as e:
    print(e)
    sys.exit(0)

ju.write(b'r')
time.sleep(1)
print("read: ", ju.read())

The script sends r to the JTAG UART, waits 1 seconds for a reply, and reads the reply, if there is any. If you have an Arrow/Terasic DECA FPGA board, you can check things out right away with a precompiled example bitstream.

Full List of Functions/Methods

Use the source, Luke!

This module is a very thin wrapper around a handful of function calls that are mostly self-explanatory.

Bug Reports/Comments/Questions

Bug reports, comments, or questions can be entered through the GitHub issue tracker of this project.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intel_jtag_uart-0.0.3.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

intel_jtag_uart-0.0.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file intel_jtag_uart-0.0.3.tar.gz.

File metadata

  • Download URL: intel_jtag_uart-0.0.3.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for intel_jtag_uart-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a7d1594f34763d78aa009db4af9adb82fafd51e5d9b4c99cc71a592e825501d6
MD5 005e564d6f971f0ece4db59141990feb
BLAKE2b-256 ecd2e03ba347fe63b5557d052b0bc7735023a6cdd6f70c2a52f46af33947a8f9

See more details on using hashes here.

File details

Details for the file intel_jtag_uart-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: intel_jtag_uart-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for intel_jtag_uart-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ce6aefd5986c61d46b04fcf3bccf4da8cc0f65390a05f1bf10d71666d2464a9a
MD5 76815edd65487ca59efb6f4eaba2bfc3
BLAKE2b-256 e36048b75e4bc69b19467dd96fe907565868dd1175c94a04d669b6402c86f9ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page