Hot on the heels of Adiuvo’s introduction of the Explorer FPGA board (see “Need a low-cost FPGA dev board? Check out Adiuvo Engineering’s $99 Explorer board with an AMD Artix UltraScale+ FPGA”), the company has now introduced a $50 development board called Forgix, which combines a Raspberry Pi Pico RP2354 with Efinix Trion T8 FPGA, all fitted into the 28-pin DIP footprint of a Teensy microcontroller board.
The RP2354 variant of the Raspberry Pi Pico microcontroller includes all the features of the RP2350, including a 32-bit dual-core processor complex, with the addition of 2Mbytes of in-package Flash memory. The Trion T8 FPGA incorporates 7384 logic elements (LEs), 122.88 kbits of on-chip SRAM, 25 5Kbit BRAMs, and 8 18×18-bit multipliers. The RP2350 microcontroller connects to the Trion T8 FPGA through an 8MHz SPI connection, which it uses to configure the FPGA upon powering up. After initialization, the microcontroller communicates with the FPGA over the same SPI connection. The Forgix board also incorporates a 16Mbit APS1604M pseudo-static RAM, which communicates with the RP2354 over a QSPI port.

Adiuvo’s $50 Forgix development board combines a Raspberry Pi Pico RP2354 with Efinix Trion T8 FPGA, all fitted onto a circuit board with the 28-pin DIP footprint of a Teensy microcontroller board. Image credit: Adiuvo Engineering & Training Ltd
Like the original RP2350 Raspberry Pi Pico microcontroller, the RP2354 incorporates a 32-bit dual-core processor subsystem running at 150 MHz. Each processor can execute either the Arm Cortex-M33 or the Hazard3 RISC-V instruction set independently, depending on a register setting. You have access to only two physical processor cores at a time; however, it is possible to start one processor core, then spin up a second processor core, and then switch that second processor core to the alternate instruction set.
The RP2354 Raspberry Pi Pico’s dual-core processor subsystem accesses the usual collection of hardened on-chip peripherals including two UARTs, two SPI controllers, two I2C controllers, 24 PWM channels, various timers, a 12-bit ADC with four or eight ADC channels, and a USB 1.1 controller. However, the real powerhouse in the RP2354 peripheral stable is the PIO block, which is a bank of four high-speed programmable state machines, registers, and FIFOs that can implement a variety of I/O protocols including parallel microprocessor buses, I2C, I2S, SDIO, SPI, DSPI, QSPI, UARTs, DPI, VGA, or your own custom protocol. Each state machine in a PIO block executes from the same memory dedicated to that block. The RP2354 has three PIO blocks (for a total of 12 state machines), which you program with a separate dedicated assembler and programming language. “The PIOs on the Raspberry Pi Pico are crazy capable,” said Adam Taylor. Adiuvo Engineering & Training Ltd, the maker of this board, is his company.
The RP2354’s PIOs almost make the addition of an FPGA unnecessary. Almost. But the Forgix board’s small Efinix Trion T8 FPGA can perform hardware-speed tasks and even do some signal processing with its 7,384 LEs and eight non-fractionable multipliers. The Trion T8 FPGA also incorporates 24 block RAMs (BRAMs). Each Trion BRAM has a capacity of 5 kbits with independent read and write ports that can operate in true dual-port mode. Each BRAM read and write port can be independently configured as 512 x 8 bits, 1024 x 4 bits, 2048 x 2 bits, 4096 x 1 bit, 512 x 10 bits, or 1024 x 5 bits. If you’re not familiar with Efinix, see “A Deeper Dive into Efinix with VP of Marketing Mark Oliver.”
Microcontroller software development tools come from the mature Arm and growing RISC V development tool ecosystems. Efinix’s FPGA development tool is called Efinity, which includes an RTL-to-bitstream compiler and tools for synthesis, placement and routing, timing analysis, and debugging. The company does not charge for an Efinity license.
I asked Taylor to describe his experience with the Efinity development tools and he said:
“I think they’re a little bit more limited than perhaps [AMD’s] Vivado and [Altera’s] Quartus, but I think they’re still pretty good, to be honest. You can’t do it in [the Trion T8 FPGA] because it’s too small, but there’s a RISC V [soft processor] flow if you want to put a RISC V softcore processor in [the FPGA]. There’s [Efinix] IP cores that you can use. I’d say [Efinity] is akin to the older [Xilinx] ISE. It’s a reasonable [development] flow. The interesting thing with Efinix is they don’t have this split between [on-chip] routing and logic cells. They have a combined [logic element] that can be [used for] either logic or routing.
“If you can write VHDL or Verilog, the tool flow is actually quite simple. It’s not like Vivado. You open the tool, select the device, add the RTL files, add some constraints for the I/O, click a few buttons, and out drops the bit stream.”
I also asked Taylor what additional development tools Adiuvo would be supplying for the Forgix board. He said:
“We’re giving everybody everything they need. If you go to the repo area, there are the files needed for the Raspberry Pi [Pico], that will then allow you to program the FPGA. There’s an FPGA loader that runs on the Raspberry Pi [Pico]. [There’s no] communication [with the FPGA after that] because there’s no application on the Raspberry Pi Pico. That’s the part you need to add. The demos that we’re going to put in the Hackster project will give you a series of Python libraries that you can put on the Raspberry Pi Pico that will then allow you to access the Forgix board from your PC.”
I then asked Taylor to expand on the somewhat low bandwidth of the SPI connection between the Raspberry Pi Pico microcontroller and the Efinix Trion T8 FPGA. He explained:
“You’re going to want [the FPGA] to be as autonomous as possible and just use the Raspberry Pi Pico to set up registers [in the FPGA], or read back status… or things like that. I don’t think you’re going to really be doing any huge amount of acceleration or offloading into the FPGA from the Raspberry Pi Pico microcontroller because the link’s too slow and the FPGA is too small.”
He also said: “If you want to learn FPGA design, [the Forgix board] is relatively cheap. It’ll help you get to grips with the basics before you perhaps move on to a more powerful board like the [Adiuvo] Explorer board.”
Adiuvo’s Forgix board is in production and is an open-source project. You’ll find the repo for the board here. Considering that the finished board costs $50, purchasing the board from Adiuvo seems like a good place to start. Then, if you need a bigger implementation with more bells and whistles, you can use the open-source files to develop the board you need for your project, or you can step up to the company’s Explorer board, but the FPGA development tools will be different because the Explorer board uses an AMD Artix UltraScale+ AU7P FPGA and therefore requires the use of AMD’s Vivado FPGA development tool suite. Also, the Explorer board uses a Raspberry Pi RP2040 rather than the Forgix board’s Raspberry Pi Pico RP2354, so that too is a significant difference.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.