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.

Part 2


Part 3


Followup – Changing the ISE project for use with the Papilio One 500K board

10 Replies to “Xilinx VHDL UART Example”

  1. hi Jack,

    I finally got time to test the papilio 500k. The basic bitstream in papilioloader works (the one sending the ascii
    table to serial port). But I cannot manage to make the above tutorial work. I compiled the code and change the settings to make it work for the 500k version… but cannot get anything echoed from minicom (set baudrate to 3mbauds). Is there something to change?

    Thanks for helping,


    1. Hello,

      I should have thought about the 500k version! Sorry about that, what you did sounds like it should work but I’m going to put on my task list an item to follow up with this. I will get the code working on the 500k board and make a followup video for it.


          1. Hello Fabien,

            The ASCIITable example is a sketch that runs on the AVR8 processor. So you can look at the VHDL source for the AVR8 processor but there is no “source” I can give you for the ASCIITable_Quickstart example. It is a combination of C code that gets merged into the bitstream along with the AVR8 and is a dynamic bitstream.


  2. Hello,
    I am new to FPGAs and to the Papilio boards.
    As you may know Arduino Mega has 4 UARTs. If we try to emulate super version of Arduino Mega on Papilio board, how many UARTs a Papilio board can have? (i.e. can we have more than 4 UARs on Papilio?)

Leave a Reply