These are some notes and projects on working with FPGAs.
A roundup of current entry-level FPGA boards, updated March 2011.
A pure Python loader for the new XESS XuLA FPGA board. No drivers required.
J1 is a minimal 16-bit stack-based CPU that can run Forth
at 100 MIPS. Designed for FPGAs and coded in under 200 lines of
Verilog, it uses block RAM for code and data, has large internal
stacks, and executes one instruction per cycle without pipelining.
With the speed of an FPGA, all you need is two digital logic lines
- and a page of VHDL - to generate NTSC composite video. This implementation
uses PWM to get 16 shades of gray.
Short transmit-only UART; useful for adding an RS-232 debug port
to your next design.
A tiny stack-based 16-bit CPU from 2003.
Python loader for the popular XESS XSA-3S1000 development board.
The Xilinx RAM64X1S primitive also makes an incredibly efficient ROM - in this case to make a 64-entry sine wave.
You can make an incredibly compact FIFO from Xilinx SRL16E primitives.
Signed operations and values have been part of Verilog for about a decade. This article explains a few common uses of signed values, and shows how to mix operations involving signed and unsigned values.
Notes on how to derive a fractional lower frequency clock in VHDL and Verilog.
A minimal Makefile for building Xilinx WebPack ISE projects on Linux/Unix.
fpga4fun - FPGA projects and tutorials
John’s FPGA Page - VHDL and FPGA resources, many CPU projects
Mail: jamesb-2011@excamera.com