At the Maker Faire in New York City, ValentFX showed off two open source FPGA boards that stack with BeagleBone and Raspberry Pi SBCs, and also unveiled BBot, a BeagleBone-based drink serving robot built with an earlier FPGA board version. The FPGA add-on boards use Xilinx Spartan 6 LX9 FPGAs, offer Arduino and PMOD expansion, and are supported with open source Linux code for the two ARM SBCs.
At last year’s Maker Faire in New York, ValentFX unveiled its first Logi board, the then alpha-stage Logi-Mark1, which features Arduino shield expansion and supports integration with the BeagleBone and Raspberry Pi SBCs. This past weekend atMaker Faire New York 2013, the company showed off the fully-baked Mark1, and debuted two next-generation boards: Logi-Bone for the BeagleBone Black, and Logi-Pi for the Raspberry Pi. ValentFX also showcased its BBot robot reference design, based on the Logi-Mark1 (see farther below).
None of the boards are yet available for consumer sales, but schematics, manuals, and code for the still developing designs have been posted. At the Faire, ValentFX founder Michael Jones told LinuxGizmos that they’re talking to distributors and considering launching a Kickstarter campaign in a few months.
Open source code has been posted for the Logi-Kernel Linux patch and Logi Loader Linux program that communicates from the BeagleBone and Pi boards and the Logi boards. There’s also an appstore program similarly optimized for each ARM SBC, enabling easy downloading of applications. In addition, HDL (hardware description language) code for the Xilinx Spartan 6 LX9 FPGA has been made available, along with tutorials on getting started with HDL programming.
The Spartan-6 family lies at the low end of the Xilinx family of field programmable gate arrays (FPGAs). By contrast, Xilinx’s own hybrid ARM/FPGA Zynq system-on-chip, which has appeared in numerous Linux-ready modules and boards like the Parallella and Avnet’s ZedBoard, uses the more powerful Artix-7. The Zynq also provides dual-core Cortex-A9 ARM processors, and like the similar Cortex-A9-based Altera Cyclone V, found in Arrow’s Sockit Development Kit, offers a high-speed AXI4 interconnect between the ARM and FPGA subsystems.
Jones concedes that the GPMC and I2C connections between the Logi boards and their ARM counterparts are much slower. In addition, the compatible ARM boards offer slower Cortex-A8 processors with the 1GHz Cortex-A8 TI Sitara AM3359 SoC on the BeagleBone Black and 700MHz ARM11 Broadcom BCM2835 processor on the Raspberry Pi. The Logi-Bone can also hook up with the original BeagleBone White, but is not optimized for it.
While, the Zynq enables some Linux control of the FPGA, and in a manner that’s much easier than hacking FPGAs via HDL, it’s a lot harder to develop for than the Logi boards, claims Jones. Although pricing has not yet been announced, the Logi boards are also going to be less costly than Zynq-based boards, he says, especially if you already own a BeagleBone or Raspberry Pi.
Applications already developed by ValentFX include a bitcoin miner, a machine vision app, and autonomous vehicle and robotics controllers. Another potential application is SDR (software defined radio), says Jones.
Drivers are provided for programming and communicating with the FPGA from the ARM Linux environment. APIs and Wrappers are said to provide easy access to the FPGA’s custom hardware peripherals using the wishbone bus. Developers can use C/C++, as well as Python.
The Logi-Bone and Logi-Pi are very similar, with both models having 256MB of RAM. The main difference is in their board-optimized code and their interconnects with the FPGA subsystem. Both use I2C and SPI signals to communicate between boards, but the Logi-Bone also depends heavily on GPMC. The Logi-Pi instead offers additional UART and GPIO/PRGM connections.
Arduino Shields can be connected via the common Arduino x1 interface, said to be compatible with more than 200 Arduino Due compatible Shields. An option is provided to share some of the signals used to interconnect the FPGA and ARM systems directly with the Arduino header.
In addition, up to 59 PMOD-compatible peripherals can be hooked up via four Digilant PMOD expansion ports. ValentFX has already designed two PMOD-compatible modules optimized for the device: a Logi-Cam and a Logi-Edu module.
Displays are supported via 10 length-tuned LVDS pairs, and storage is handled with a SATA port. Pushbuttons and DIP switches are also supplied. Some 32 FPGA I/O signals are accessible via the Arduino and PMOD expansion ports.
For more detail: BeagleBone and Raspberry Pi gain FPGA add-ons