Color me surprised, because I just heard that the folks at BugBlat have created two rather cunning FPGA boards based on the MachXO2 FPGA family from Lattice Semiconductor.
Introducing the TIF
The TIF is a tiny board (1.0" long, 0.7" wide). It's got 20 pins arranged in two rows of 10 with a 0.1" pitch, which makes it ideal for plugging into a breadboard or attaching it to a lead through hole (LTH) circuit board.
The TIF: A tiny FPGA board.
The big chip on the right of the board is the MachXO2 FPGA, which has Flash-based configuration and is therefore instant-on. The TIF-1200 ($24.99) is based on an XO2-1200, which boasts 1,280 4-input lookup tables (LUTs), 64 kilobits of on-chip RAM, 64 kilobits of on-chip user Flash memory, and one PLL. The TIF-4000 ($34.99) is based on an XO2-4000, which features 4,320 4-input LUTs, 92 kilobits of on-chip RAM, 96 kilobits of on-chip user Flash memory, and two PLLs. Both devices also provide a counter-timer, an SPI interface, and dual I2C interfaces.
The smaller chip in the middle of the board is a pre-programmed 8051 from Silicon Labs that performs a variety of tasks, including handling the USB connection to the host computer. Users can capture a design in Verilog or VHDL, synthesize it into a configuration file using free synthesis software from Lattice, and then upload their design into the TIF using free software supplied by BugBlat.
I don’t know about you, but -- in addition to learning about FPGAs -- I can see all sorts of uses for this little rascal. Suppose you are building a hobby project from an old magazine, or trying to maintain a legacy product, and one or more of the digital components you need are no longer being sold. You could program a TIF to act like these components. This is just one potential application off the top of my head. Can you suggest any others?
Please visit www.bugblat.com/products/tif for more details on the TIF.
Introducing the PIF
Now let's consider the PIF FPGA board, which has been designed to be used in conjunction with a Raspberry Pi. The PIF is the small white board in the image below. The Raspberry Pi is the larger green board into which the PIF is connected.
The PIF: An FPGA for the Raspberry Pi.
There are two PIF variants available, both of which feature a MachXO2 FPGA. The PIF-1200 is based on an XO2-1200 FPFA as discussed earlier for the TIF. The PIF-7000 is based on an XO2-7000, which boasts 6,864 4-input LUTs, 240 kilobits of on-chip RAM, 256 kilobits of on-chip user Flash memory, two PLLs, a counter-timer, an SPI interface, and dual I2C interfaces.
General-purpose microcontrollers such as the one powering the Raspberry Pi are very good at performing a wide variety of tasks. They are especially good when it comes to decision-making activities. Sad to relate, however, they are less than efficient when it comes to performing many algorithmic data-processing tasks. In this case, the FPGA on the PIF can be configured to implement one or more hardware acceleration functions, which can be controlled by the Raspberry Pi. These hardware accelerators, which perform tasks in a massively parallel manner, can offer humongous computational performance. In fact, the combination of a general-purpose processor with an FPGA is the basis for many high-performance computing (HPC) systems.
Please visit www.bugblat.com/products/pif for more details on the PIF.