!!! UNDER CONSTRUCTION: I am having trouble with my ISP, so downloads may not work.. Give me a day or two to fix 4/4/2002 !!!

These code samples are taken from various projects. Some are complete, some are just example test programs. As is.

C/C++ Code
HAMMING.C........(4KB)........Demonstrates a HAMMING code (FEC)
FEC.C....................(11KB)........Demonstrates another FEC code
MYRAND.C..........................Random Number Gen WITH VERILOG
SCRAMBLE.C..........................Demonstrates a "scrambler"
ILEAVER.C..........................Demonstrates an interleaver
TEST_VCD.C......................Trivial example showing that C program can produce VCD files.
CRC.C......................CRC routines (32-bit and also 16-bit) used for DOCSIS.
DELTASIG.C......................Super simple Delta-Sigma converter example.

Microcontroller (all these are PIC and are in C or Assembler)
LCD.ASM.............(13KB)........PIC LCD Controller (for complete, see link on main page)
LCD2.C.............(3KB)........Another "soft uart"/LCD example, but in C.
CONTROL.C........(39KB)........PIC Controller, uses CCS C compiler,16C63,A/D chip,etc.
PWRMGR.C........(38KB)........Power/Sleep Controller, CCS compiler,16C73,A/D,Sleep.
CMDPROC.C...............Shows how to do simple command line loop.

VHDL/Verilog code
SYNTHPIC.ZIP....(48KB)........The Synthetic PIC, 16C5X Core (see link on main page)
PIC.V....(45KB)........The Synthetic PIC, Verilog (see link on main page)
TESTING.V..........(15KB)........Verilog testbench tidbits, text & code
MULT16.V.....(5KB)........Verilog Multiplier
DIV16.V.....(5KB)........Verilog Divider
MULTA4.VHD.....(2KB)........Multiplier (4-bit serial)
MULTB4.VHD.....(2KB)........Multiplier (4-bit parallel)
UAT.VHD............(3KB)........ASYNC Serial Output (e.g. UART minus the 'R')
CLK4800.VHD.....(1KB)........Simple Clk Generator (used with UAT)
WPULSE.V.....(very short..)........Generate WE pulses from a clock
FIFO.V.....(very short..)........Small synchronous FIFO
DDS.V.....(very short..)........Simple demo of a DDS
NCO.V.....(very short..)........Simple demo of a NCO
STRING.V.....(very short..)........Did you know you can use strings to help you debug?
MYRAND.C..........................Random Number Generator (C and Verilog)
ONEHOT.V..........................One-Hot FSM
GENCRC.V..........................Simple behavioral CRC16/CRC32 tasks
FRAMER.V........................Example of a "framer", e.g. for 188-byte MPEG frames
PLI.TAR.................Very simple example of Verilog PLI (archived in a TAR file)

Back to Tom Coonan's Home Page

(..just for fun..)