Overview

BittWorks II tools provide drivers, libraries, utilities, and example projects to make your software and FPGA development easier and more efficient.

The BittWorks II Toolkit is a suite of development tools for BittWare’s FPGA-based hardware that serves as the main interface between the BittWare board and the host system. The Toolkit includes drivers, libraries, utilities, and example projects for accessing, integrating, and developing applications for the BittWare board. Utilities and drivers connect the board to the host – whether via PCIe, USB, Ethernet, or serial port – and provide easy access to the board’s system monitoring features and Flash programming. Extensive libraries provide a consistent, intuitive API for integrating the board into the system, and example projects illustrate data movement and provide a starting point for development. The Toolkit supports 64-bit Windows and Linux platforms.

Capabilities

During Development

Device setup, device information

FPGA developer controls and debugs live FPGA images

During Development & Application Run-Time

Driver and APIs for system integration

Flash loading and FPGA booting

Virtual PCIe hot-swap reduces time spent waiting for system reboots

Monitor board health via Board Management Controller (BMC)

Remote board upgrades: FPGA loads, BMC firmware, programmable clocks

Libraries

The BittWorks II Toolkit libraries provide a stable API that scales with new boards. The functions are C-callable and are cross-platform, allowing them to be run anywhere that Linux or Windows runs.

BwHIL

The BittWorks Host Interface Library (BwHIL) is a library of C-callable functions for controlling BittWare boards.

Supports PCIe and USB devices

Includes functions for FPGA configuration, reset, memory access

Includes functions for Flash loading, erasing, memory access

Supports virtual PCIe hot-swap

BmcLib

BmcLib is a function library to control the BMC on a BittWare board.

Manage board sensors

Program clocks and voltages

Perform firmware field-upgrades

Utilities

The Toolkit features several utilities that allow you to configure your device in the system, interact with FPGA projects and debug the FPGA, control the BMC on your board, and access the board from a remote system.

BwConfig

BwConfig is an interface for configuring BittWare devices in a system.

Control BittWare hardware in PC

Scan and map new devices via PCIe or USB

View device resources and information

Control FPGA booting and Flash loading

Backup Flash to restore a factory default image over PCIe

BwShell

BwShell is an interactive command-line shell for PHP scripting that provides access to the BwHIL API and the BittWare hardware.

Quick debug of live FPGA

Large PHP standard library and extensions

Refer to FPGA Development Kit components by name without hard-coding addresses

Access nearly all library functions

Inline help

BwMonitor

BwMonitor is an interface for controlling the Board Management Controller (BMC) on a BittWare board

View board health

Read and log sensors

Control sensor thresholds that determine when the board will shut down

Load programmable clocks

Voltage overrides

Access devices via I2C

Upgrade the BMC firmware

Monitor the board over PCIe or USB

BwMonitor provides a view into the baseboard management capabilities of your BittWare hardware.

BwServer

BwServer provides remote access to the BittWare board over a TCP/IP network via the BwHIL.

TCP/IP server for accessing Toolkit programs from a remote machine

Can be used with or without a user interface

Allows daisy-chaining of multiple BwServers

Supports unique names and access restrictions

Drivers

The BittWorks II Toolkit includes drivers for Linux and Windows. The Linux driver is BittWare’s fully customizable PCI Express driver, and Windows systems use a standard Jungo driver.

BwPCI

BwPCI is a customizable PCI Express driver for Linux.

Full source code included

Fully customizable interrupt service routines

Customer control for lowest latency, highest throughput

MSI support

User / Kernel interaction and custom command support

Use with any PCI vendor / device ID

Jungo Windows Driver

Windows systems use a standard driver from Jungo.

Customizable interrupt service routines

MSI support

Use with BittWare vendor / device IDs

Examples and Installers

Examples

Several reference designs are available to provide a starting point for your application development. These examples are available to download on BittWare’s developer site.

Installers

Download installers for the Toolkit from BittWare’s developer site: developer.bittware.com. The Toolkit installs quickly and allows you to begin using your BittWare hardware immediately.

Linux Packages

64-bit Linux

.RPM for Centos

.DEB for Ubuntu

Windows Installer

64-bit Windows

Support Resources

Developer.bittware.com

BittWare’s developer site – developer.bittware.com – provides many resources to help you get started with the BittWorks II Toolkit. Once you create an account, you can log in and download the latest release of the Toolkit, view complete online documentation for all of your BittWare products, and find reference designs and examples.

BittWare Technical Support

BittWare’s support team of technical experts are available to answer any installation and usage questions for BittWare products, while also providing assistance with more advanced technical problems that may arise. With your developer site account, you can create and access your technical support issues in our issue tracking system.

FDK Integration

The BittWorks II Toolkit is tightly integrated with BittWare’s FPGA Development Kit (FDK), which provides FPGA board support IP and integration for BittWare’s FPGA-based boards.

FDK is used to build IP, and the Toolkit is used to load the IP into Flash or the FPGA.

FDK contains a ‘Discovery ROM’ component which provides the Toolkit tools with IP-awareness. IP-awareness is the ability to refer to live FPGA components and their memory regions and registers by their names and instances in software.

User Experience

BittWorks II Toolkit User Experience

The BittWorks II Toolkit significantly eases the effort required to develop applications for BittWare’s FPGA board platforms. The following is an example user experience that steps through installing the Toolkit to deploying the final application.

Install the Toolkit and BittWare Hardware

Download and install the BittWorks II Toolkit quickly and with minimal interaction. After installing the Toolkit, install the BittWare hardware in the system.

Build the FPGA Project

Map the BittWare Devices and Configure Resources

The BwConfig utility contains an easy-to-use PCI and network scanner to find local or remote BittWare devices and map them to the local PC. BwConfig displays device and resource properties of the BittWare hardware. When a device is opened, some of its resources appear in the list, allowing them to be reset or loaded with an FPGA image.

Access Mapped Devices

BwShell provides access to all of the mapped devices. Enter PHP functions and commands into the shell to read and write to device resources. Later, gather functions into scripts to automate tasks.

Create an Application

With the BwHIL and BmcLib APIs, create an application to interact with BittWare hardware. BwHIL allows you to open the device, load the FPGA, read and write memory locations, and create and install an interrupt service routine. Use BwMonitor to view and monitor your board while the application is running.

Deploy the System

Deploy your application for Windows or Linux. You can use the BwHIL and your board’s BMC to remotely upgrade FPGA images and monitor system health.

Example BittWorks II User Experience Steps

Ordering Options

BW2TK-WIN-FDK-01

BW2TK-LNX-FDK-01

Datasheet Instant access

All the specs on this product are available in a PDF datasheet. Please share your contact info and you’ll get immediate access!

Your Name*

Email*

Company/Organization

Location

Country

Hello! Click Get PDF to see the datasheet for this product. If you want a PDF of all datasheets, click here.