Introduction to Red Pitaya FPGA Development
Understanding the Red Pitaya Architecture
Red Pitaya software is composed of two main parts working together:
FPGA Image - Hardware logic running on the Xilinx Zynq FPGA that handles high-speed signal processing, data acquisition, and generation (also called the Programmable Logic (PL) side)
Linux Operating System - Software running on the ARM processor with drivers for interfacing with the FPGA (also called the Processing System (PS) side)
The FPGA and ARM processor are integrated into a single Xilinx Zynq System-on-Chip (SoC), allowing seamless communication between hardware and software components.
Required Development Tools
FPGA development for Red Pitaya requires specific versions of Xilinx tools:
Xilinx Vivado 2020.1
What it is: Vivado is the primary development environment for creating and modifying FPGA designs. It includes:
HDL editor for writing Verilog/VHDL code
Block diagram editor for graphical design
Synthesis and implementation tools
Simulation environment
Bitstream generation
When you need it: Always required for any FPGA development work.
Xilinx SDK 2019.1
What it is: The Software Development Kit (SDK) is used for developing C/C++ applications that run on the ARM processor and interface with your FPGA design.
When you need it: Only required if you’re modifying the software running on the ARM processor (drivers, APIs, custom applications). If you’re only changing the FPGA logic and using existing software, you don’t need SDK.
What You Can Accomplish
Depending on your project goals, you can:
Modify FPGA Design Only
Change signal processing algorithms
Add new hardware peripherals
Modify timing and data paths
Customize existing Red Pitaya projects
Tools needed: Vivado only
Modify ARM Software Only
Change application logic
Add new software features
Modify APIs and drivers
Tools needed: SDK only (using existing FPGA bitstreams)
Full Custom Development
Create entirely new FPGA designs
Develop matching software drivers
Integrate custom hardware peripherals
Tools needed: Both Vivado and SDK
Development Workflow Overview
The typical FPGA development workflow follows these steps:
Setup Environment - Install Vivado (and SDK if needed)
Create/Modify Project - Start with existing project or create new one
Design - Write HDL code or modify block diagrams
Simulate - Verify logic with behavioral simulation (critical step!)
Synthesize - Convert HDL to hardware gates
Implement - Place and route design on FPGA
Generate Bitstream - Create FPGA binary file
Test on Hardware - Load to Red Pitaya and verify
Integrate Software - Create/update drivers and applications (if needed)
Next Steps
Now that you understand the architecture and tools, proceed with:
Install Vivado - Set up your development environment
Install SDK (optional) - If you need to modify ARM software
Create Your First Project - Follow the project creation guide
Learn Simulation - Essential for efficient development
The following sections will guide you through each step in detail.