Unified Development Kit
High-performance FPGA↔︎Host communication
As a pre-engineered proven successful solution, the CESYS UDK allows developers to implement high-performance FPGA configuration and FPGA-Host communication without a hassle.
A copy of the UDK comes free with all UDK-compatible CESYS FPGA boards.
- FPGA configuration and management
- address-based data communication using AXI4 bus (Vivado flow) or Wishbone bus (ISE flow)
- streaming data communication using AXIS bus (Vivado flow)
- support for multiple languages and operating systems
- long-time availability and support
properties & qualities
What is included in the UDK3 licence?
The UDK3 licence that comes with each Cesys FPGA board at no additional cost may only be used with Cesys boards. It includes:
Driver / Windows (x86, x86_64)
- driver for all UDK3 supported devices
- USB driver for USB based devices
- contains service which downloads the standard firmware to UDK3 USB devices after plug in (binary only)
- PCI(e) driver for PLX based devices
- installer package, which is intended to install on development as well as on customer PC's
Driver / Linux (x86_64, arm)
- driver for all UDK3 supported devices
- USB driver for USB based devices (called "Service")
- sets non-root exclusive permission to UDK3 devices
- service tool, which downloads the standard firmware to UDK3 USB devices after plug in (binary only)
- PCI(e) driver for PLX based devices (do not use for new designs)
Firmware (binary only)
- for FX2 and FX3 devices
Tools / Windows (x86, x86_64) + Linux (x86_64)
- UDK3 Performance Monitor (binary only)
measure the transfer speed between host and and UDK3 supported devices using the supplied example FPGA designs.
- packet size
- transfer direction
- data verification (on I/O direction)
- device site address space area for transfer test
- can be configured to test user designs as well
- UDK3 Board Manager (binary only)
- displays device information
- downloads designs using the respective connection USB/PCI(e) into the FPGA
- can be used to write FPGA designs into the flash, so they were used on device powerup.
- allows to set a user definiable string into the device, which can be accessed by the API
- contains a tool to convert FPGA designs (in .bin format) to source code, which can be compiled into the host application
API / Windows (x86, x86_64) + Linux (x86_64, arm)
The API is the core of UDK3. It allows unified access to UDK3 compatible devices, independent to the used bus (USB, PCI, PCIe), OS (Windows, Linux), platform (x86, x86_64, arm) and language (C, C++, Java, Python, .NET/CLR). So it is named Unified Development Kit, version 3 - UDK3.
- Core API (binary only)
- generic access layer, available as dll/so file
API interfaces to different languages
- .NET/CLR / Mono
every language interface contains example source code showing how to:
- enumerate devices
- program an FPGA design
- single register transfer
- block transfer
FPGA reference design
- VHDL reference designs for ISE 14.7 compatible devices (EFM-01, EFM-02, USBS6) based on wishbone-bus. This designs include the VHDL code to connect the the FX-2 / FX-3 USB-controller to the Wishbone bus used in the FPGA device.
- Block design for Vivado compatible devices (EFM-03) based on a AXI-4 bus. This designs include the IP core netlist to connect the FX-3 USB 3.0 controller to the AXI-4 bus used in the FPGA device.
What is included in the UDK source-code package ?
The UDK source-code package license is not needed to use Cesys FPGA boards. To use the UDK3 with compatible 3rd party boards (i.e. customer-made boards based on Cesys boards), it can optionally be purchased separately and includes:
- source code of service software
- FX2/FX3 firmware source code
- core API source code
- source code of the UDK3 performance monitor
- source code of the UDK3 board manager
- complete schematics (PDF Format) of all UDK3 compatible FPGA boards (EFM-01, EFM-02, EFM-03, USBS6, PCIS3BASE, PCIeV4BASE)
- source code of the FX-3 <--> AXI 4 bridge IP core.
The UDK is available at no additional cost when, and only when, used with boards supplied by Cesys.
This applies to our standard products and our customer specific boards.
Customers requiring to have access to the complete UDK source code can purchase an "inhouse source-code OEM license".
For details please contact Cesys sales.