Giter Club home page Giter Club logo

alterajtaguart's Introduction

Introduction

The Altera JTAG UART is a serial interface which can be used for bidirectional communications between a FPGA and a computer. Like the AltSourceProbe module, it can be used as a portable bus supported across all Altera FPGAs, due to the ubiquity of JTAG pins in these devices, which in development kits are readily acessible in a computer using the same USB cable as used for programming the FPGA. However, Altera JTAG UART is much faster than AltSourceProbe, being able to achieve data rates in the order of 1 Mbit/s, though AltSourceProbe is best suited and easier to use for debugging hardware designs, whereas the UART is better for transferring larger amounts of data or test vectors.

Similar work

An implementation similar to ours is available from Intel/MIT designers, but it has a larger overhead because it uses an internal Avalon bus in order to be able to access an Altera JTAG UART instantiated by SOPCBuilder/QSYS. Our implementation, on the other hand, uses directly the undocumented alt_jtag_atlantic megafunction.

AlteraJtagUart interface

Our module is available in a single file: AlteraJtagUart.bsv. Just copy this file to your design, import it, and instantiate the mkAlteraJtagUart module passing as parameters the binary logarithm of the desired size for the receive and transmit FIFOs.

Examples

  • ExampleEcho.bsv implements an echo. It simply transmits back to the computer every byte received via the UART.
  • ExampleCounter.bsv implements a counter which continually sends bytes 0 to 255 to the UART. This example also discards any data received.

Software

This repository also contains instructions on how to communicate with the Altera JTAG UART using C++ programs. Please take a look at the software subdirectory for further information.

alterajtaguart's People

Contributors

thotypous avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

alterajtaguart's Issues

How can we import this on Quartus?

Hi Paulo,

I am a retro-computing enthusiast and I have been searching for a solution to use UART over JTAG for small Z80 emulations I write inside FPGA boards.
By searching for something that could be used without NiosII I have found this project of yours, but I am too much of a noob to get it to even import onto one of my Quartus projects.
I have tried using the Altera's JTAG-Uart module, the one with the Avalon bus, but I couldn't adapt it to work without NIOS.
I converted it onto a schematic element and I do get a few characters (64 to be exact) to print onto the nios2-terminal but that's it, it doesn't go any further, that's when I started searching the web for an alternative.
I was looking for something that I could use to emulate a regular UART, like a 16550 or 6850, just using the USB JTAG connection without having to plug a USB-UART dongle into th board.

Muito obrigado por qualquer ajuda.
Marcelo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.