Formic Board Overview

The Formic Board is an FPGA-based hardware prototyping board developed by the Computer Architecture & VLSI Systems Laboratory (CARV) of the Institute of Computer Science (ICS), Foundation for Research & Technology - Hellas (FORTH).

We designed Formic as a cost-efficient building brick for large systems. Most commercial boards do not offer multiple high-speed serial links and/or lots of SRAM memory for an affordable price. We address these problems by introducing the Formic board.

Prototyping sophisticated multi-core systems needs a combination of high-capacity, high-latency main memory (DRAM) as well as lower-capacity, low-latency cache memory (SRAM). Formic features a DDR2 DRAM for the former and 3 independent ZBT SRAMs for the latter, which complement nicely the limited on-FPGA BRAMs. Entering the many-core era, interconnecting multiple boards becomes a necessity. Formic features 8 high-speed serial links, which enable lots of different mesh-, torus- and hypercube-based board-to-board connections. The choice of SATA connectors allow large systems to be built with few, low-cost cables that latch reliably, compared to the 4 SMA/SMB cables per each link which are needed in many other high-end boards.

Feature Summary

  • Large, lean and fast FPGA heart: Xilinx Spartan-6 LX150T-4
  • 3 x ZBT SRAMs, 166 MHz, 9 Mbit each: Cypress CY1354CV25
  • 1 x DDR2 DRAM, 400 MHz, 1 Gbit: Micron MT47H64M16
  • 8 x GTP serial links, 3.0 Gbps, standard SATA connectors
  • FPGA configuration PROM, 32 Mbit: Xilinx XCF32P
  • 3 x high-reliability (<1.5 ps jitter) differential clocking sources: Silicon Labs Si500D
    [2 x 150 MHz to GTP banks, 1 x 200 MHz to FPGA user clock]
  • Small size (10x10 cm), convenient for building large systems
  • Single 12V supply; 7 on-board regulators: Texas Instruments PTH & TPS series
  • Power and buffered JTAG in/out connectors for easy board chaining;
    Intuitive JTAG chain selection & termination with slide switches
  • 12 x DIP switches; 12 x small, bright LEDs
  • RS-232 port and generic 2-pin port (ideal for I2C management chain)
  • Big, friendly reset button comforts frustrating debugging sessions