How To Control What You See On A Screen in Two Hours and For Less Than $25!

Imagine how cool it would be to control what appears on your screen and at a bargain price, just using your FPGA (yes! Your Papilio!) and some other easy-to-get components.

All you need is read today´s article (and buy the tiny things of course). This how-to post is one of those which are written thinking of the user. It explains everything, even the physics that rule the system.

For this specific example, a DAC resistor is connected to the FPGA on a CPLD board so it can output 512 colors to a VGA screen. Knowledge of VHDL is needed in order to implement your own code, otherwise, simply use the one given although you can follow the links on the article to learn some more about VHDL.

The real advantage is that you will be able to implement your own VHDL modules so you will actually control what appears on the screen!


Now it´s your time. Show the World what you can do…through a VGA monitor!


By Chris

VHDL 101: Beginner’s Guide To VHDL

Paul Clark from Design Spark has a great wiki on VHDL 101 – Combinational Logic that we thought we’d repost here to give those of you that are new to VHDL kind of a kick start.  This one is actually the follow-up to his first article titled What Is VHDL that has some great explanations of the what, how and why of VHDL for the beginner.  Here’s what Paul has to say about the subject:

[This wiki is a] short guide to the basics of VHDL and [we will] work though some examples as to what you can do.  I’ll draw parallels to writing in C code as I’m guessing that a large amount of you have seen or used C code.  Some people have found my comment that VHDL is a pure and beautiful language a little hard to swallow.  I will show how simple it is to write and in one example show just how powerful it can be.  This hopefully should be enough to get you thinking and off the starting blocks.

Paul has made it easy to read the VHDL code in the VHDL 101 wiki by placing an explanation of how the code works next to each code example.  Every step is nicely explained, and should be fairly straightforward to follow.  The wiki covers the basic structure of VHDL, along with specific examples of various functions, as well as how these relate to writing in C code for those that may be already familiar with that language.  Making it easy and relatable certainly helps when you’re just getting started!

Check out the VHDL 101 wiki here.

(via Design Spark)

VHDL Tutorials With Mike Field

Happy New Year!  2012 is the year that the Mayans predicted would be the end of the world, or some such rot.  Don’t worry, we don’t believe in this at all.  We believe in hard science.  But if you believe, then there’s not much time left – so why not get started with some FPGA goodness?

Papilio enthusiast Mike Field was recently featured on Hackaday for his VHDL tutorial:

“FPGAs are the bee’s knees. Instead of programming a chip by telling it what to do, FPGAs allow you to tell a chip what to be. Like everything though, a new skill set is needed to fully exploit the power of FPGAs. [Mike Field] decided to give back to the internet community at large and put up a crash course in FPGA design.

Right now, [Mike] has a couple of modules up that include subjects like binary math, busses, counting, and of course setting up the FPGA hardware. The recommended hardware is the Papilio One…”

You can check out Mike’s tutorials here!

Interested in FPGA? Maybe start your new year off right and give it a try.

(via Hackadayquoted article by Brian Benchoff)

Tutorial: Simulate AVR8 and Custom User Cores

NOTE: Please note that the tutorial does not show that you must select “Gadget Factory Papilio Custom Board” under tools/board in the Arduino IDE for the simulation file to be generated.

This screencast shows how to simulate a custom user core connected to the AVR8 Soft Processor. Simulation is the most efficient way to debug your custom VHDL or Verilog code or to learn about the AVR8 internals.


Follow along as we debug a custom core that extends the functionality of the AVR8 Soft Processor. We dig into the AVR8’s program counter, opcodes, and external pins as we delve into the internals of the soft processor.





Part 1

  • Modify the Arduino Makefile to enable Simulation (2:00)
  • Load and modify custom user core sketch. (3:05)
  • Compile sketch with verbose output. (4:30)

Read the entire article for Videos 2-5.

Continue reading “Tutorial: Simulate AVR8 and Custom User Cores”

Tutorial: Custom User cores in the AVR8 Soft Processor.

This screencast provides instructions for downloading and synthesizing a custom AVR8 soft processor for use with a version of the Arduino IDE that has been modified for use with the Papilio.



Part 1

Continue reading “Tutorial: Custom User cores in the AVR8 Soft Processor.”

Tutorial: Custom AVR8 Soft Processor for use with Arduino IDE. (V1.2)

This screencast provides instructions for downloading and synthesizing a custom AVR8 soft processor for use with a version of the Arduino IDE that has been modified for use with the Papilio.


Part 1:

  • Downloading the AVR8 source code.
  • Selecting only the peripherals you need.

Continue reading “Tutorial: Custom AVR8 Soft Processor for use with Arduino IDE. (V1.2)”

How-to debug internal FPGA Logic with the $50 Openbench Logic Sniffer.

This tutorial shows how to use the $50 OpenBench Logic Sniffer to debug internal FPGA logic. Debugging internal FPGA logic can be pretty challenging and time consuming, a lot can be done using simulation but when you have logic that interacts with the outside world debugging can come to a grinding halt. The traditional solution is to use the $500+ Chipscope Pro software, but for many this is just too expensive. This tutorial shows a cheap and effective way to get a look at what is going on inside your FPGA.


The FPGA development board used in the screencast is Gadget Factories Open Source Papilio One board. Think of the Papilio One as the “Arduino” of FPGA development boards.


Part 1

Introduction, overview, and background information.

Continue reading “How-to debug internal FPGA Logic with the $50 Openbench Logic Sniffer.”

Xilinx VHDL UART Example

Here is a three part screencast that provides an example of implementing a high speed 3Mb/s UART with the Papilio One board and the FT2232 USB chip.


The project uses the free Xilinx VHDL UART example because it is optimized for Xilinx hardware, it provides the smallest and fastest UART possible. The source code requires an end user license agreement which prevents us from providing the source code. Part one of the video tutorial walks you through adding the source code to the project after it has been downloaded from Xilinx.

Part 1


Download the Example project from Gadget Factory.

Xilinx App Note. XAPP223

Download Picoblaze source code.

Please click the link to view the rest of the videos.

Continue reading “Xilinx VHDL UART Example”