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
andjtag_client
shared libraries, so that the module can find it.The module uses the following sequence to find these libraries:
- Look in the directory in which
intel_jtag_uart.py
is located - Look in the directory in which the executable that uses this module is located
- 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.) - 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™. - Look in the directory in which
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for intel_jtag_uart-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce6aefd5986c61d46b04fcf3bccf4da8cc0f65390a05f1bf10d71666d2464a9a |
|
MD5 | 76815edd65487ca59efb6f4eaba2bfc3 |
|
BLAKE2b-256 | e36048b75e4bc69b19467dd96fe907565868dd1175c94a04d669b6402c86f9ca |