public domain tools for FPGAs
debian | ||
.gitignore | ||
autotest_diff.sh | ||
autotest.c | ||
bit_frames.c | ||
bit_regs.c | ||
bit.h | ||
bit2fp.c | ||
control.c | ||
control.h | ||
draw_svg_tiles.c | ||
floorplan.c | ||
floorplan.h | ||
fp2bit.c | ||
fpgastyle.css | ||
fpgatools.1 | ||
helper.c | ||
helper.h | ||
hstrrep.c | ||
lib.svg | ||
LINKS | ||
lut.svg | ||
Makefile | ||
merge_log.sh | ||
merge_seq.c | ||
model_conns.c | ||
model_devices.c | ||
model_helper.c | ||
model_main.c | ||
model_ports.c | ||
model_switches.c | ||
model_tiles.c | ||
model.h | ||
new_fp.c | ||
pair2net.c | ||
parts.c | ||
parts.h | ||
README | ||
sort_seq.c | ||
UNLICENSE |
Design Principles - small independent command line utilities, no GUI - plain C, no C++ - simple Makefiles - text-based file formats - automatic test suite - public domain software Introduction todo FAQ todo Libraries - libfpga-test autotest suite - libfpga-cores reusable cores - libfpga-design larger design elements on top of libfpga-control - libfpga-control programmatic access to libfpga-model - libfpga-model memory-only representation of an FPGA - libfpga-floorplan reads and writes .fp floorplan files - libfpga-bit reads and writes .bit bitstream files Design Utilities - new_fp creates empty .fp floorplan file - fp2bit converts .fp floorplan into .bit bitstream - bit2fp converts .bit bitstream into .fp floorplan - draw_svg_tiles draws a simple .svg showing tile types fpgatools Development Utilities - autotest executes test suite - sort_seq sorts line-based text file by sequence numbers in strings - merge_seq merges a pre-sorted text file into wire sequences - pair2net reads the first two words per line and builds nets - hstrrep high-speed hashed array based search and replace util TODO (as of 2012-08, expected time to delivery: months to years completion status overall: 1%) * support chips other than xc6slx9, maybe an ftg256 or fgg484-packaged xc6 or the xc7a100 * many more test cases for autotester * smarter autotester that can remember and verify groups of tests, automatically oversee test execution, etc. * 3 Debian packages: libfpga, libfpga-doc, fpgatools * auto-crc calculation in .bit file * many more cases in logic block configuration * configuration of bram and macc blocks, bram initialization data * routing switches * many more cases in model of switches and inter-tile connections * write standard design elements for libfpga-design library * support lm32 or openrisc core, either via libfpga or iverilog backend * ipv6 or vnc in hardware? * iverilog fpga backend ChangeLog 2012-08-20 * Beginning of full fidelity circle with model, floorplan, conversion from and to bitstream and floorplan formats. 2012-06-03 * Project started.