Reader Paul Green was inspired by one of my blog posts, and has done an amazing job of taking it to the next level. The vj-uart project allows communication to the DE0-Nano using a virtual com port connection.

This tutorial will explain how to pull the files down from GitHub, and how to start talking to the DE0-Nano using PuTTY. (You can use any of the many available tools that can make a telnet connection, but my preference is PuTTY.

Getting the DE0-Nano Configuration File

The FPGA project is essentially a Virtual JTAG connection set up in a loop back configuration. In other words any data you send to it should be sent right back, a good way to ensure everything is connected and running properly. Once you’re sure things are working you can extend the vj-uart to work with your own project.

You can find the vj-uart project over on GitHub here. If you’re not familiar with GitHub and their Source Control tool, you can just download all the files as a zip file, just look for this button

07-12-14 183309

Once you’ve downloaded the project, open the Quartus Project File: DE0-Comm.qpf

Use the Processing menu, and Compile the project as you normally would:

07-12-14 184516

Once you’ve finished compiling, open the FPGA programmer in the Tools menu:07-12-14 184638

If the programmer shows that no hardware is connected, like this:07-12-14 184838Then just click the Hardware Setup… button, and hopefully you can select it:

07-12-14 184948

Now that the USB-Blaster is setup, click the Start button, and wait until the progress hits 100%:

07-12-14 185035

Running the TCL – Quartus_stp.exe Server

Next, you’ll need to head over to the vj-uart\bin directory, and find the vjuart.tcl file.

This is the file you will need to run using quartus_stp.exe, much like we did with the TCL server in my earlier post.

The quartus_stp.exe is an application that is normally used with the Altera SignalTap II. It has the API hooks that let us talk directly to the Virtual JTAG using TCL. Vern Muhr has done some impressive reverse engineering and created the open_sld project that bypasses the quartus_stp.exe application.

I recommend you just make a shortcut that will launch this file inside quartus_stp.exe, so you don’t always have to type out the full path.

Right click the vjuart.tcl file, and create a new shortcut. You can rename the shortcut, then you’ll need to update the Target path inside the shortcut path:

07-12-14 185902The exact path depends on which version of Quartus you’re running but should look much like this:

C:\altera\13.0sp1\quartus\bin\quartus_stp.exe -t "C:\Users\Chris\Dropbox\GitHub\vj-uart\bin\vjuart.tcl"

Once the shortcut is created, launch it and you should see something like this:

07-12-14 190114

Connecting with PuTTY

Head over and download PuTTY if you don’t have it already.

Launch PuTTY and setup the connection using the localhost IP: port 2323:07-12-14 190419

In order to better see the loopback behavior, I recommend clicking on the Terminal category, and setting the Local Echo to Force on, and the Local line editing to Force Off

07-12-14 190709Once you click and open the connection, you should be greeted by a test string of the alphabet. You can then type some characters and watch them be sent back to you:

07-12-14 191147

That’s all!

I hope you’ve enjoyed this tutorial. Soon I’ll put together a more practical project, probably a small project that writes characters to a display. Many thanks to Paul Green for his very well written project!