Viewing posts from June, 2011

Tools of the Trade #1

Posted by: Dave Vandenbout in Blog Post 9 years ago

We all have 'em: tools that let us do things easier and faster. Some we buy, others we make. This is my first entry about one of my favorite tools: an Eagle ULP I wrote that lets me do cost estimates on boards I'm designing using real-time prices fetched from Digi-Key. <<more...>>


Writing Tutorials Sucks Donkeys

Posted by: Dave Vandenbout in Blog Post 9 years ago

I'm writing a new book about doing FPGA design using Xilinx ISE WebPACK and the XuLA board. I've reproduced the preface for the book below. Here are the important points:

  • I'm currently writing the book. New chapters will be released as I write them. There are currently four chapters available that cover FPGA basics, ISE compiler flow basics, entering VHDL, synthesizing, simulating, implementing, downloading and running a simple LED blinker design. Additional planned topics are listed in the preface.
  • The book is covered under a Creative Commons Attribution-Sharealike 3.0 Unported license and stored on Github. So anyone can grab it, modify it, sell it, or whatever as long as they leave the other author names and affiliations intact and offer it freely with the same rights they got.
  • I'm using FOSS tools like LibreOffice/OpenOffice and Inkscape for creating the text, so nobody will have to buy any tools if they want to modify it.


Why aren't you using the FT2232?

Posted by: Dave Vandenbout in Blog Post 9 years ago

I recently received an email which contained the following question:

Well, despite the great choices you have made making the XuLA, I was wondering why you did not use a Cypress (e.g. cy7c67300) chipset (but instead you used a PIC) for the virtual JTAG over the USB. The Cypress would have given to the board the possibility of having a full fledged USB 2.0 comm. port after the FPGA is programmed, am I wrong? With the Cypress you could have used firmware available around the internet...

Also, if I do not mistake, instead of the PIC you could have used a FT2232D which next to the virtual JTAG it would have given a serial RS232, which is quite a good thing for FPGA. Did you consider this lack of serial comm.? <<more...>>

1 comment

VGA - the Rest of the Story

Posted by: Dave Vandenbout in Blog Post 9 years ago

In my previous blog post, I showed a circuit I built to interface my XuLA FPGA board to a VGA monitor. What I didn't show was the code that lets the FPGA fetch an image from SDRAM and display it on a monitor. I'll try to remedy that in this post.

I'll start off with the basics of VGA video signals: signal levels and timing. Then I'll show you the block-level architecture of a module for generating VGA video and an application that uses the module to display an image stored in SDRAM. Finally, I'll post an archive of the Xilinx ISE 13 project files that compiles into a downloadable bitstream for the FPGA on the XuLA board. Hopefully you'll find enough comments in the VHDL code to understand how it all relates to what I'll describe below. (And for all who are about to ask: NO, I do not have a Verilog version of this.)

OK, here we go... <<more...>>

1 comment

A Simple VGA Interface for the XuLA FPGA Board

Posted by: Dave Vandenbout in Blog Post 9 years, 1 month ago

XESS Boards have had built-in VGA interfaces since 1997 (and I stole the idea from others who were doing it before that). But the new XuLA FPGA board doesn't have any extraneous parts (just an FPGA, SDRAM, configuration flash and a USB interface), so how do you display graphics with it?

A simple VGA interface can be built on a breadboard with some resistors and a connector. The red, green and blue VGA signals are each driven by a simple DAC like the one shown below. Each color input presents a 75-ohm load to the DAC. The DAC resistors combine with the load resistor to divide the 3.3V digital logic outputs so the total stays below the maximum 0.7V expected by the VGA input. A set of five resistors that scale upwards by a factor of two will implement a single five-bit, 32-level DAC, so fifteen resistors are needed to drive the RGB inputs to create a total of 32 x 32 x 32 = 32,768 colors. <<more...>>


Recent Posts






RSS / Atom