RPGA Feather: A Lightweight FPGA Development Environment

From the Basics to Practical Functionality

Getting started with FPGAs can be daunting, and simply choosing a platform can be even more difficult. While platforms like those sold by Digilent are excellent for learning the basics, they may lack the integrated features that make FPGA development especially appealing. In practice, many FPGAs are paired with other devices, such as microcontrollers and general-purpose processors (GPPs), to enable a broader range of capabilities.

FPGAs have long been useful for developing tight control mechanisms that help keep systems functional even when processors and controllers are busy. FPGAs such as those from Lattice Semiconductor have been used to help manage wireless modems in cell phones, providing a reliable layer between the phone's processor and the modem so they can operate independently. In this way, FPGAs offload repetitive and predictable logic from processors, freeing those processors to improve overall system performance and responsiveness.

RPGA Feather as a Strong Foundation

RPGA Feather provides a strong foundation for learning these types of interactions. The first part of the equation is the RP2040, a dual-core Arm Cortex-M0+ microcontroller that runs at over 120 MHz. In addition to its speed, it provides flexible peripheral assignment and programmable I/O blocks (PIO) that run independently of the RP2040's CPU cores. PIO blocks run a specialized form of assembly called pioasm, so many ideas you can dream up for them can likely work. I spent time implementing a rudimentary Ethernet stack on the RP2040 using PIO, which shows how capable these blocks can be.

Next in the physical stack is the iCE5LP4K, a well-rounded FPGA with enough logic cells to implement a wide range of projects on a small Feather-sized development board. Its possibilities are even broader than those of PIO. As mentioned above, I implemented a simple Ethernet stack in PIO, then created an ARP- and ping-capable Ethernet implementation to run in the RPGA Feather's FPGA. Is it fast? No, but it demonstrates the kinds of interactions that happen every day in devices throughout your home. FPGAs take on the shape and functionality you need, and they do so comfortably.

Where RPGA Feather Can Shine

RPGA Feather provides not only a powerful pair of silicon components for implementing projects, but also a built-in test stand for FPGA designs. With as many as 12 GPIO pins shared between the RP2040 and iCE5LP4K, you can generate debug signals in your FPGA design and route them directly to the RPGA Feather. This kind of workflow is already used today. RPGA Feather is capable of running DungV, an Open Architecture Simplified Instruction Set (OASIS) soft core. DungV runs on the iCE5LP4K and communicates with the RP2040 for programming instructions and debugging.

This demonstrates another strength of FPGA development, and one reason FPGAs are so popular in technical areas such as software-defined radio (SDR). Running a soft-core CPU on an FPGA provides a tightly integrated way to control parallel logic while retaining the convenience of writing C and other modern programming languages for the soft-core program.

Final Thoughts

While it can be hard to look at RPGA Feather and immediately think of projects to build, we understand how important it is for embedded designers and hobbyists to see the potential of adding an FPGA to their projects. Kavrous supports this in a few ways.

  1. We provide integrated hardware that is ready to use. RPGA Feather provides a playground for getting the most out of the RP2040, along with a unified place to explore FPGAs through an accessible interface to your computer.
  2. We provide examples and links to projects others have done to make it easier to get started.
  3. We provide a way to integrate the same FPGA into other Feather projects with Lattice FeatherWing.

Together, these three things help promote our mission of making FPGAs accessible to everyone, especially when it comes to exploring advanced logic, FPGA-integrated designs, and test-fixture development for tightly integrated embedded environments.

You can purchase RPGA Feather through our Tindie shop and find examples on the getting-started page on our website.

Be sure to come back for more great content from Kavrous and learn about how you can use our products in your next project!

Seth Kerr

Founder/CEO

Kavrous Technologies