SDK software box

BittWare SDK

Software Development Kit for BittWare FPGA Hardware

Overview

BittWare’s SDK is a cross-platform collection of drivers, libraries, modules, and utilities that aid in debugging and developing applications using BittWare FPGA cards. Use the SDK to get started quicker, with code samples for interfaces and a complete Card Support Package. Once your application is up and running, use the SDK utilities to monitor the health of your card.

What's in the SDK?

General Purpose Libraries

  • PCI, USB, and BMC
  • C APIs and Python modules

General Purpose Utilities

  • Card lister
  • Card monitor
  • PCI peek-poke
  • Clock programmer
  • BMC firmware upgrader
  • I2C peek-poke

Card Support Package

  • Card Test
  • Card and FPGA description files
  • FPGA family library
  • Card-specific utilities and examples

PCI and USB drivers

  • Support for Windows and Linux
SDK block diagram

Get Started Quickly

With a variety of features for testing and development, the SDK gets you up and running quickly.

Quickly Test Card Function

The CSP includes a Card Test utility that customers can run on-site as an initial step to verify that all of the card’s interfaces are functioning properly.
  • Represents a real-life FPGA application
  • Tests all high-speed FPGA interfaces concurrently
  • Tests the card power consumption and temperature
  • Configurable settings

Start Development with Use-Specific Examples

The SDK provides several examples that you can use as a reference for your application development. Examples vary based on FPGA card, but may include:

  • BMC example
  • DMA example

The SDK also includes a number of use-specific CLI utilities, which prevent overly complicated command line. The utilities are written in Python, so they can also be used as examples.

Empty heading

520R-MX PCIe card photo

Get started today using the SDK

Available on BittWare’s Agilex and Achronix FPGA products

When you purchase a BittWare card that has SDK support, the SDK is included free of charge. You will always have access to the initial release, with the option to purchase future updates.

Enterprise Class Commitment

As part of our commitment to enterprise-class products, we are making full use of continuous integration & deployment tools to automate BMC, SDK, and CSP testing and packaging.

This shortens release cycles and ensures more accuracy with each release.

Simplify Development and Integration

With a simplified scripting language and features for integrating the FPGA cards in a server, the SDK saves time and reduces risk. 

Python Libraries and Examples

Libraries, examples, and utilities in the SDK are written in Python, which is easy to use and lets you develop and test applications more quickly. 

Each library is also available as a C API, allowing greater optimization. 

Windows and Linux Support

The SDK has drivers for Linux (CentOS and Ubuntu), along with a BittWare driver for Windows support.

TeraBox 1401B server photo

PLDM for Server Integration

BittWare’s FPGA cards with SDK support are PLDM-ready. The BMC on the BittWare cards provides a PLDM protocol to each interface on the card, allowing integration with server BMCs.

System Monitoring with the BMC

BMC 3.0 block diagram

BittWare’s PCIe FPGA cards feature a Board Management Controller (BMC) that controls, monitors, and allows access to the card and its peripherals.

PLDM protocol to each interface

  • PCIe I2C (to integrate with the server BMC)
  • USB
  • FPGA

BMC features

  • Power sequencing
  • Sensor monitoring
  • Clock programming
  • BMC firmware upgrade over USB or FPGA interfaces
  • Card-level security
    • BMC Root of Trust
    • BMC and FPGA secure boot
    • BMC and FPGA secure upgrade
    • Key management
  • Low-level I2C access