High Speed Communications Package Between Host Computer and FPGA
The Problem
You've created an amazing FPGA circuit, and downloaded it to your demo board.
Now you want to monitor and control it from your PC,
send data to it and get the results back.
If you are using an Altera/Terasic DE-3 or DE-4 demo board,
this package is for you.
The Solution
The TMU (Transmogrifier USB) ports package allows you to easily transfer data between a program
on a Linux workstation and your circuit in a FPGA development board.
This implementation of the ports package uses a USB
2.0 cable to talk to the board.
The boards supported are the Altera DE-3 (Stratix 3) and DE-4 (Stratix 4)
sold by Terasic.
We are seeing data transfer rates of 3 to 8 Mbytes/second when reading
data from the board,
and 4 to 11 Mbytes/second when writing data to the board.
[If you have a DE-4 and need higher transfer rates, have a look at our new
TME FPGA communications package,
which is very similar, but uses the PCIe bus to talk to the board.]
Easy to Use
On the FPGA side, you declare the names of your ports and connect your circuit
to a communications sub-module that is automatically generated by TMU.
On the workstation side, you can open the ports by name, and read or write to them:
char result[BUFSIZE];
p = tmopen("my_port", "r");
tmread(p, result, BUFSIZE);
New Version 1.3 Released
The new version removes the restriction that ports be exactly 32 bits wide, and allows ports of any width.
Download it Here
To install the package, you need to unpack the tar file,
and read the installation
instructions in the README.txt file that it contains:
The tar file contains the source for the package, along with two examples
that work on both types of boards. One of the examples is a simple counter
that increments its output every time it is read. The other example is
a summation circuit that adds up all of the data that is fed to it.
Documentation
The TMU Ports Package
Creating and Running Circuits with the TMU Ports Package
An Example Application for the TMU Package
The tmumon Program