Xilinx Virtex or Kintex UltraScale FPGA

The Xilinx UltraScale FPGAs are built on 20 nm process technology and provide ASIC-like clocking for scalability, performance, and lower dynamic power. UltraScale devices are available in two variants: Virtex and Kintex; the XUSPL4 board supports both. The FPGAs feature two types of multi-gigabit transceivers: Virtex devices support up to 30 Gbps, enabling 100 GbE and 25 GbE, while Kintex devices support up to 16 Gbps, enabling 40 GbE and 10GbE. The GTY transceivers enable 100GbE and 25GbE. The FPGAs support 768 DSP slices. The UltraScale FPGAs provide four integrated blocks for PCI Express, supporting x8 Gen3 Endpoint and Root Port designs. Integrated blocks for 100 Gb/s Ethernet (100G MAC/PCS) enable simple, reliable support for Nx100G switch and bridge applications.

I/O Interfaces

The XUS-PL4 provides a variety of interfaces for high-speed serial I/O as well as debug support. Two QSFP28 cages are available on the front panel, each supporting 100GbE, 40GbE, four 25GbE, or four 10GbE channels, for a total of up to 200 Gbps of bandwidth. The QSFP channels are connected directly to the UltraScale FPGA via 32 Gb/s transceivers (or 16 Gb/s for Kintex devices). The QSFP cages can optionally be adapted for SFP+. Two Gen3 x8 PCIe interfaces connect to the FPGA via 16 transceivers, allowing for a x8 PCIe connection in a standard slot or two x8 interfaces in a bifurcated slot. A USB 2.0 interface provides BMC access. The board also supports precision timestamping with provision for a 1 PPS and reference clock input and output.


The XUS-PL4 features up to 32 GBytes DDR4 on-board. Additional on-board memory includes Flash with factory default and support for multiple FPGA images.

Board Management Controller

The XUS-PL4 features an advanced system monitoring subsystem, similar to those typically found on today’s server platforms. At the heart of the board’s monitoring system lies a Board Management Controller (BMC), which accepts Intelligent Platform Management Interface (IPMI) messaging protocol commands. The BMC provides a wealth of features, including control of power and resets, monitoring of board sensors, FPGA boot loader, voltage overrides, configuration of programmable clocks, access to I2C bus components, field upgrades, and IPMI messaging. Access to the BMC is via PCIe or USB. BittWare’s BittWorks II Toolkit also provides utilities and libraries for communicating with the BMC components at a higher, more abstract level, allowing developers to remotely monitor the health of the board.

BwMonitor in the BittWorks II Toolkit provides a view into the board management capabilities of your BittWare hardware.

Development Tools

BittWorks II Toolkit

BittWare offers complete software support for the XUS-PL4 with its BittWorks II software tools. Designed to make developing and debugging applications for BittWare’s boards easy and efficient, the Toolkit is a collection of libraries and applications that provides the glue between the host application and the hardware. A variety of features allow developers to take full advantage of the Xilinx UltraScale FPGA capabilities on the BittWare board, including FPGA control via PCIe, Flash programming, custom ISR scripts, and convenient control of FPGA loads. The Toolkit supports 32-bit, and 64-bit Windows and Linux platforms and can connect to the board via PCIe or USB, providing a common API no matter the connection method.

FPGA Examples

Working example projects are available for each board which illustrate how to move data between the board’s different interfaces. Supported interfaces include DDR4, QDR-IV, QDR-II+, PCIe, 10GbE, LVDS, SerDes, and Double Data Rate I/O.

Board Specifications


  • Xilinx UltraScale FPGA
    • Virtex UltraScale 65/95
    • Kintex UltraScale 95
    • Multi-gigabit transceivers
      • Virtex: 8 GTY at 30.5 Gbps and 16 GTH at 16 Gbps
      • Kintex: 24 GTH at 16 Gbps
    • Up to 940K logic elements
    • Up to 60 Mb of embedded memory
    • Up to 4 integrated PCIe cores
    • Up to 768 DSP slices with 27×18 multipliers

    On-Board Memory

    • Two banks of up to 16 GB DDR4 (x72)
    • Flash memory for booting FPGA

    PCIe Interface

    • Two x8 Gen1, Gen2, Gen3 interfaces direct to FPGA (One x8 interface in a standard slot; two x8 interfaces requires bifurcated slot)

    USB Header

    • Micro USB port (USB 2.0) for BMC access and programming Flash

    QSFP Cages

    • 2 QSFP28 (zQSFP) cages on front panel connected directly to FPGA via 16 GTY transceivers (GTH for Kintex)
    • Each supports 100GbE, 40GbE, 4x 25GbE, or 4x 10GbE (100GbE, 25 GbE Virtex only)
    • Backward compatible with QSFP and can be optionally adapted for use as SFP+


    • 1 PPS input/output
    • Reference clock input/output

    Board Management Controller

    • Voltage, current, temperature monitoring
    • Power sequencing and reset
    • Field upgrades
    • FPGA configuration and control
    • Clock configuration
    • I2C bus access
    • USB 2.0
    • Voltage overrides


    • Low profile (Half-height, half-length) PCIe slot card; x16 mechanical

    Development Tools

    System Development

    • BittWorks II Toolkit – host, command, and debug tools for BittWare hardware; Matlab API; source code porting kit also available

    FPGA Development

    • FPGA Development Kit
      • Physical interface components
      • Board, I/O, and timing constraints
      • Example projects
      • Software components and drivers
    • Xilinx Tools
      • Vivado® Design Suite
      • USB to JTAG converter