TOFE - Tim’s Open FPGA Expansion

The TOFE interface dramatically reduces the cost of high-speed I/O functionality by taking inspiration from the PCI-Express standard and re-purposing its connectors and mechanical specifications.

TimVideos and Numato are committed to developing expansion boards to add new features (such as VGA capture) to the Opsis board through the TOFE connector. We also plan to create simple adapter boards to other existing expansion I/O standards such as PMOD and the Digilent VHDCI.

We hope that the significantly reduced cost of the TOFE interface will also enable the community to create new expansion boards we haven’t even dreamt of yet!

Why?

We want a FPGA expansion that fits the following criteria;

  • Open standard that anyone can access without NDA or other agreements.
  • Cheap connection interface that are easily accessible to any hobbyists.
  • Supports high speed signals >5 Gbit/s.

Document examining wide variety expansion board interfaces

Specification

Naming

Motherboard Connectors

The aim with naming of a TOFE motherboard connector completely describes the features available.

The name scheme needs to include;

  • PCI Express connector size
    • 1x
    • 4x
    • 8x
    • 16x
  • The number of lanes populated. To improve brevity, if the number of lanes populated is left out then all lanes in the connector should be populated.

  • If the connector supports “bi-directional” or “uni-directional” signaling.
    • B - Bi-Directional
    • S - Uni-directional
  • The maximum operating lane speed;
    • 1500M
    • 3125M
    • XXXXM
  • The minimum operating lane speed. If unspecified, then it is assume the lane can operate down to DC.

  • The compatible IO standards that are supported.
    • Voltage levels which are compatible.
      • 1.5V, 1.8V, 2.5V, 3.3V.
    • Signalling standards.
      • LVDS - Low Voltage Differential Signaling
      • RSDS - Reduced Swing Differential Signaling
      • PPDS - Point-to-Point Differential Signaling
      • TMDS - Transition Minimized Differential Signaling
      • BLVDS - Bus LVDS
    • Line encodings which are compatible.
      • 8b/10b - Used by pretty much everything.
      • 64b/66b - 10 Gbit/s Ethernet
      • 64b/67b - Interlaken
      • 128b/130b - PCI-Express Gen 3 and higher.
      • 128b/132b - USB3.1
  • The amount of power that can be provided,
    • All together (from both 3.3V and 12V combined).
    • Just via the 12V pins.
    • Just via the 3.3V pins.
  • Any extra properties that could be useful like;
    • Beacon signaling for PCI Express compatibility.
    • SATA Out-of-Band signaling.

Daughterboard

The aim with naming a TOFE daughter board is to completely describe the features required for the daughter board to correctly operate.

PCI-Express

PCI-Express cards are actually compatible with TOFE motherboard sockets which meet the following requirements;

Version Generation Lane Speed Line code
1.0 Gen 1 2.5 Gbit/s 8b/10b
2.0 Gen 2 5.0 Gbit/s 8b/10b
3.0 Gen 3 8.0 Gbit/s 128b/130b
4.0 Gen 4 16.0 Gbit/s 128b/130b

PCI-Express 1st gen would be TOFE-Xx-3000M-PS

Spreadsheet of connections

Edit or Comment Link

Comparison

TOFE Digilent VHDCI FMC LPC FMC HPC Altera HSMC
Open Specification Yes None No No Yes
Autodetect and Configuration Interface SMBUS or JTAG [5] None JTAG or SMBUS JTAG or SMBUS JTAG or SMBUS
Power 12V and 3.3V 3.3V or 2.5V 12V, 3.3V and adjustable 12V, 3.3V and adjustable 12V and 3.3V
Transceiver Pairs Up to 14 RX and 14 TX 0 0 Up to 10 Up to 8 RX and 8TX
LVDS Pairs
Total Up to 34 22 Up to 34 Up to 80 Up to 18 TX and 18 RX
IO Pairs Up to 34 [6] 22 ? ? Up to 16 TX and 16 RX
Clock Pairs Up to 7 [6] 2 ? ? Up to 2 TX and 2 RX
Additional low speed IO 11 0 ? ? 4 x IO, 2 x CLK
Connector
Motherboard PCI-Express
~$1 USD
VHDCI
~$8 USD
Low Density FMC
~$30 USD
High Density FMC
~$80 USD
HSMC
~$5 USD
Daughterboard None
~$0 USD
VHDCI
~$8 USD
Low Density FMC
~$30 USD
High Density FMC
~$80 USD
HSMC
~$5 USD

Mechanical

TOFE boards should be mechanically identical to PCI-Express half length cards in either full height or half height (also called low profile).

However, the only regions which matter for TOFE boards are the PCI-Express fingers and the mechanical drill holes. See the following diagram;

TOFE Requirements Diagram

Any of the area marked in green is free to be changed. This offers a wide range of mechanical designs, such as shown in this diagram;

TOFE Examples Diagram

Boards

Existing

These boards are currently available;

Planned

These boards are planned for construction or currently under development;

Adapter Boards

Boards which adapt to other standards for peripheral interfacing.

  • To PMOD - Simple passive adapter which allows PMOD based peripherals be used on a TOFE header.

  • To VHDCI Adapter - Simple passive adapter which allows usage of peripherals designed for the Digilent Atlys board.

  • To Arduino Shield - Adapter which is compatible with Arduino shields. Contains an ADC/DAC to be compatible with the Analog pins.

  • To FMC LPC - Adapter which is allows FMC LPC compatible boards be used on TOFE expansion.

Functionality Boards

Boards which add new functionality to TOFE compatible device.

  • VGA Input - Adaption of Rohit’s vmodvga designed with a TOFE interface rather than a VHDCI interface.

  • 4 x HDMI - Board which adds 4 x HDMI ports using a 8xTOFE connector.

  • 3 x 1G Ethernet - Board which adds 3 (maybe 4?) x Gigabit Ethernet ports.

  • ? x SDI - Board which adds SDI interfacing capabilities.

Templates

A KiCad template for TOFE boards can be found on GitHub.