Download of the imperix firmware IP for FPGA sandbox

This page provides the imperix sources files required to start programming the FPGA on imperix controllers. The provided archive contains the imperix firmware IP and sandbox template creation script, as well as helper modules.

The template creation procedure is detailed in the getting started with FPGA page.

Downloads

Compatible
SDK versions
Generation 4
B-Box 4
Generation 3
B-Box RCP3.0, B-Box Micro, B-Board PRO, TPI8032
2026.1IXIP 4.0 Rev. 0
FPGA_Sandbox_template_4.0rev0.zip
IXIP 3.10 Rev. 3
FPGA_Sandbox_template_3.10rev3.zip
2026.1
2025.2
2025.1
Not applicable.IXIP 3.10 Rev. 1
FPGA_Sandbox_template_3.10rev1.zip
2026.1
2025.2
2025.1
2024.3
Not applicable.IXIP 3.10 Rev. 0
FPGA_Sandbox_template_3.10rev0.zip

Imperix recommends using the most up to date SDK and sandbox source files. The latest SDK installer is available on the download software installers page.

Change logs

New in 3.10 Rev. 0

  • Repurposing the SFP ports
    One or multiple SPF ports can now be detached from RealSync and the corresponding GTX transceivers accessed via additional ports on the imperix firmware IP. The SFP ports can therefore be used for custom communication, using Aurora 8B10B for instance.
  • Saving of FPGA resource
    Unused modulators can bow be disabled in the imperix firmware IP, significantly reducing the resource consumption of the IP in the FPGA. Users with large custom FPGA designs might take advantage of it to extend their design even further.

New in 3.10 Rev. 1

  • Improved configurability of the RES block
    The resolution and excitation frequency of the resolver can now be changed. The default values are 12-bit and 10 kHz, as set in the previous firmware versions.

New in 3.10 Rev. 2

Internal version.

New in 3.10 Rev. 3

  • Support for remote debugging over the network
    Thanks to the support of Xilinx Virtual Cable (XVC), it is now possible to instantiate and connect to on-chip Integrated Logic Analyzer (ILA) cores via Ethernet. This provides access to the internal FPGA signals without any physical JTAG cable, greatly facilitating the debug of FPGA logic. Find more information in How to debug an FPGA design.
  • Propagation of Ethernet between devices at full gigabit speed
    An upgrade of the Ethernet-over-RealSync protocol – from Mbps to Gbps – allows inter-device traffic to reach the Gigabit speed in master-slave and multi-master setups.

Archives content

The content of the archives follows the following structure.

/constraints/Constraints associated to the imperix firmware, mainly the assignation of top-level ports to physical package pins.
/hdl/Ready-to-use VHDL helper modules, detailed in the next section, provided by imperix for convenience.
/ix_repo/Imperix firmware IP, called the IX IP, that encaspulates the imperix firmware and provides access to several internal interfaces – such as the analog measurements – to interact with the firmware from the sandbox ; also contains interface definition files for Vivado.
/scripts/Generation scripts to automatically create, open and configure a ready-to-use Vivado project template, simplifying the initial setup.
/vivado/Location of the projects created via the generation scripts from /scripts/.

VHDL helper modules

AXIS_interface.vhdProvides AXI4-Stream interfaces for ADC measurement and data exchange with the CPU. The module is further documented in PN126 (retrieving ADC measurements) and in PN128 (exchanging data between CPU and FPGA).
AXIS_64_interface.vhdExtended version of the AXIS_interface.vhd. Provides 64x AXI4-Stream interfaces to exchange data with the CPU.
AXIS_to_reg.vhdExposes the data of an AXI4-Stream interface as a register, updating its value whenever the input data is valid.
resets.vhdGenerates reset pulses based on the firmware synchronization pulse and CPU state.
sbio_registers.vhdGives access to 64x 16-bit registers that can be read/written from the user code running in the CPU using SBI and SBO blocks. The module is further documented in PN128 (exchanging data between CPU and FPGA).
sbio_256_registers.vhdExtended version of the sbio_registers.vhd. Provides 256x 16-bit registers.
sbio_interconnect.vhdSplits the 1024-addresses range of the CPU-FPGA communication into four smaller 256-addresses ranges. Allows to connect multiple SBIO modules simultaneously.
user_cb_pwm.vhdCarrier-based PWM modulator written in VHDL. The module is further documented in PN127.

Legacy IPs for older SDKs

C++ or ACG SDKimperix IP versionMinimal Vivado version requiredDownload
2024.23.9 Rev. 52022.1FPGA_Sandbox_template_3.9rev5.zip
2024.13.9 Rev. 42022.1FPGA_Sandbox_template_3.9rev4.zip
internal only3.9 Rev. 1 to 32022.1internal only
3.8.x.x3.8 Rev. 12022.1sandbox_sources_3.8.zip
3.7.x.x3.7 Rev. 12021.1sandbox_sources_3.7.zip
3.6.x.x3.6 Rev. 12019.2sandbox_sources_3.6.zip
3.5.x.x
3.4.x.x
3.4 Rev. 12019.2sandbox_sources_3.4.zip