+ All Categories
Home > Documents > BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries...

BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries...

Date post: 02-Jun-2020
Category:
Upload: others
View: 19 times
Download: 0 times
Share this document with a friend
4
www.XilinxBoards.com Integrated Platforms Technology Partners Custom Solutions Board Platforms Development Tools FPGA PLATFORMS Your Solution... Built on BittWare BittWorks II Toolkit Application Development Software for BittWare FPGA Boards BittWorks II Toolkit Includes BwHIL: Cross-platform library of C-callable functions for controlling a local or remote BittWare board BwConfig: Interface for finding, tracking and displaying information for all BittWare devices in a system BwServer: Remote interface via a TCP/IP network for the BwHIL BwShell: Interactive command-line shell for PHP scripting language with access to BwHIL API functions BwPCI: Customizable PCI Express driver for Linux BwMonitor: Interface for controlling the Board Management Controller (BMC) on a BittWare board BmcLib: Function library to control the BMC on a BittWare board BittWorks Porting Kit: (Optional) Source code and pre-built ports for porting the BittWare Toolkit to other operating systems T he BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale FPGAs. Designed to make developing and debugging the applications for BittWare’s boards easy and efficient, the Toolkit provides the glue between the host application and the hardware. The Toolkit supports 32-bit, and 64-bit Windows and Linux platforms. Overview The BittWorks II software tools provide a stable software base designed to get developers up and running on their BittWare boards quickly and efficiently. BittWorks II provides complete hardware and FPGA interfaces, which greatly reduces development time. And because it is based on a consistent, intui- tive API that works across different operating systems, BittWorks II not only reduces the cost of porting efforts, it also allows developers the flexibility of de- veloping on the platform that best fits their needs. Providing further flexibility are remote tools that allow developers to share hardware resources and control their BittWare devices from any network-connected PC, even when the devices are in different locations. The BittWorks II tools provide a variety of features to allow developers to take full advantage of the FPGA capabilities on the BittWare board. BittWorks II FPGA support includes: complete control of the FPGA via PCIe or USB, custom interrupt service routines, and monitoring of FPGA temperature and power. This combination of tools results in a software suite that shortens designers’ learning curve while increasing their productivity. Working together, all of these tools significantly ease the effort involved in developing applications for BittWare’s signal processing hardware. BittWorks II Benefits Risk Reduction Based on mature and robust software tools from two de- cades of development effort Backed by a dedicated support team Time Savings Includes complete hardware and FPGA Interfaces Cross-platform software reduces cost of porting efforts Flexibility Remote tools allow developers to work anywhere with net - work access Share hardware resources with multiple developers Switch between Windows and Linux, 32-bit and 64-bit plat - forms with ease Ease of Use Developers can get up and running on their hardware within minutes Consistent, intuitive API
Transcript
Page 1: BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale

www.XilinxBoards.com

Integrated PlatformsTechnology Partners

Custom Solutions

Board Platforms

Development Tools

FPGA PLATFORMS

Your Solution... Built on BittWare

BittWorks II Toolkit

Application Development Software for BittWare FPGA Boards

BittWorks II Toolkit Includes

• BwHIL: Cross-platform library of C-callable functions for controlling a local or remote BittWare board

• BwConfig: Interface for finding, tracking and displaying information for all BittWare devices in a system

• BwServer: Remote interface via a TCP/IP network for the BwHIL

• BwShell: Interactive command-line shell for PHP scripting language with access to BwHIL API functions

• BwPCI: Customizable PCI Express driver for Linux

• BwMonitor: Interface for controlling the Board Management Controller (BMC) on a BittWare board

• BmcLib: Function library to control the BMC on a BittWare board

• BittWorks Porting Kit: (Optional) Source code and pre-built ports for porting the BittWare Toolkit to other operating

systems

The BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale FPGAs. Designed to make developing and debugging the applications for

BittWare’s boards easy and efficient, the Toolkit provides the glue between the host application and the hardware. The Toolkit supports 32-bit, and 64-bit Windows and Linux platforms.

OverviewThe BittWorks II software tools provide a stable software base designed to get developers up and running on their BittWare boards quickly and efficiently. BittWorks II provides complete hardware and FPGA interfaces, which greatly reduces development time. And because it is based on a consistent, intui-tive API that works across different operating systems, BittWorks II not only reduces the cost of porting efforts, it also allows developers the flexibility of de-veloping on the platform that best fits their needs. Providing further flexibility are remote tools that allow developers to share hardware resources and control their BittWare devices from any network-connected PC, even when the devices are in different locations.

The BittWorks II tools provide a variety of features to allow developers to take full advantage of the FPGA capabilities on the BittWare board. BittWorks II FPGA support includes: complete control of the FPGA via PCIe or USB, custom interrupt service routines, and monitoring of FPGA temperature and power.

This combination of tools results in a software suite that shortens designers’ learning curve while increasing their productivity. Working together, all of these tools significantly ease the effort involved in developing applications for BittWare’s signal processing hardware.

BittWorks II BenefitsRisk Reduction

• Basedonmatureandrobustsoftwaretoolsfromtwode-cadesofdevelopmenteffort

• Backedbyadedicatedsupportteam

Time Savings• IncludescompletehardwareandFPGAInterfaces

• Cross-platformsoftwarereducescostofportingefforts

Flexibility• Remotetoolsallowdeveloperstoworkanywherewithnet-workaccess

• Sharehardwareresourceswithmultipledevelopers

• SwitchbetweenWindowsandLinux,32-bitand64-bitplat-formswithease

Ease of Use

• Developerscangetupandrunningontheirhardwarewithinminutes

• Consistent,intuitiveAPI

Page 2: BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale

www.XilinxBoards.comYour Solution... Built on BittWare

BittWorks II

BwHILBwHIL is a cross-platform library of C-callable functions that allows your program to control a local or remote BittWare board.

BwHIL Features

• Simplifies communication and control between the host and the BittWare board

• Portable, C-callable functions• Cross-platform library• PCI driver allows control of an FPGA over PCIe• Supports custom interrupt service routines

The primary component of the Toolkit, the BittWorks Host Interface Library (BwHIL) provides an API that is compatible with all of BittWare’s boards. BwHIL is structured to model your system with one or more BittWare devices, each device containing a collection of resources. Device entries and board information are stored in databases. Device entries can be made for remote devices so that a device refers not to local hardware, but to hardware in another system over a TCP/IP network. BwHIL provides functions for reading and writing memory, board control, and interrupts. It allows control of the FPGA over PCIe using the BwHIL PCIe driver, and it supports custom ISR scripts without the need to recompile the kernel or write a kernel driver. It is also eas-ily portable; written entirely in C, the same source code compiles for Windows and Linux. BwHIL builds and installs on many platforms:

• Windows 7 / XP / Vista / Embedded• Linux RedHat Enterprise / Fedora / uCLinux (NIOS) / Debian / Ubuntu• X86 / x86_64

BwServerBwServer provides remote access to the BittWare board over TCP/IP via the Host Interface Library.

BwServer Features

• TCP/IP server for accessing Toolkit programs from a remote machine• Can be used with or without a user interface• Supports daisy-chaining of multiple BwServers• Supports unique names and access restrictions

The BittWorks Server program (BwServer) is a TCP/IP server that allows the Toolkit programs to connect to it from a remote machine, using a mapped device number. HIL function calls are sent over TCP/IP to the BwServer, which sends the calls to the HIL residing on the server machine, which in turn com-municates with the BittWare hardware.

Establishing a connection is simple. Once communication is established, the TCP/IP link is virtually transparent to the user, and the program acts almost as if the hardware resides in the client machine. This can be especially useful for embedded systems or any system without a graphical user interface. BwServer supports daisy-chaining of multiple BwServers; it also supports unique names and access restrictions.

BwShellBwShell is an interactive command-line shell for PHP that pro-vides access to the BwHIL functions and the BittWare hardware.

BwShell Features

• Command line access to nearly all HIL functions• BittWare shell extension for PHP to interface between the PHP, HIL, and

BWIO libraries• C/C++-like language constructs• Inline help• Large PHP standard library and extensions

BwShell is BittWare’s interactive command-line shell for the PHP scripting language. Its main purpose is to provide command-line access to BwHIL func-tions and the BittWare hardware that those functions interface with.

BwShell allows users to take advantage of the powerful PHP scripting language when authoring scripts to control BittWare hardware. It provides a BittWare shell extension for PHP to interface between the PHP and BwHIL libraries. Nearly all of the BwHIL functions in the public API are provided in the module. BwShell supports C/C++-like language constructs as well as a useful inline help system. The PHP Standard Library contains a large number of functions to handle math, strings, arrays, files, streams, sockets, etc.; it also includes exten-sions, which provide more support for cryptography, date and time, databases, file systems, xml, compression schemes, etc.

BittWorks tools provide drivers, libraries, utilities,

and example projects to make your software and

FPGA development easier and more efficient.

User Project

Altera FPGA

BittWare Hardware

USB

BMC

BittWorks IILibraries & Driver

Driv

er/L

ibra

ry

Mat

Lab

App

licat

ion

SW Development

Xilinx Vivado

FPGA Development

Hos

t Pla

tform

USB Blaster

FPG

A D

evK

it

(HDL)

Cus

tom

Cod

eLogic

Analyzer

Use

r App

licat

ion

BwSe

rver

BwCo

nfig

BwM

onito

rBw

Shel

l

BittWorks IIUtils

Flash/FPGA Programmer

PCIe

Viva

do IP

In

tegr

ator

Page 3: BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale

www.XilinxBoards.comYour Solution... Built on BittWare

BittWorks II

BwConfigBwConfig provides an easy-to-use interface for finding, tracking and displaying information for all BittWare devices in a system.

BwConfig Features

• GUI or console versions• Scan for devices and map them• Monitor mapped network devices• View device properties• Open devices and perform resource actions

BwConfig (BittWorks Configuration Manager) is the main configuration tool for BittWare boards. It provides an easy-to-use interface for finding, tracking and displaying information for all BittWare devices in a system. BwConfig allows users to change device numbers, map remote devices, and get and set board and processor properties. BwConfig supports resetting and loading FPGA images without the need to attach additional cables or hardware.

BittWorks Porting KitThe BittWorks Porting Kit contains the source code for the BittWare Toolkit to allow designers to port the Toolkit to the operating system of their choice.

BittWorks Porting Kit Features

Includes pre-built ports• MSVC++ projects supporting x86, x86_64• Linux Makefiles supporting x86, x86_64

Contains BittWare Toolkit Source Code• Entire Host Interface Library source code• All application source code• Remote device protocol source

The Porting Kit provides project and makefiles for Windows and Linux and is written mostly in C for portability. The Porting Kit allows developers to adapt the operating system-dependent portions of the HIL to their system’s requirements. Once they have defined the operating system-specific functions, users can compile the HIL and then link it with the Toolkit utilities or their host programs. The Porting Kit is sold separately from the BittWorks II Toolkit. Contact BittWare for details.

BwPCIBwPCI provides a customizable PCIe driver for Linux systems.

BwPCI Features

• Support for memory mapping• Compatible with any PCI Express vendor ID or device ID• Installation scripts for RedHat and Debian Linux

BwPCI is BittWare’s PCI Express driver for linux. Composed of a user library component and a kernel module component, BwPCI provides a gateway between an end-user application and BittWare PCIe devices in a system. Distributed with complete source code, the driver supports custom modifica-tions, including interrupt service routines, which allows customers to use and customize the BittWorks II Toolkit for lower latency transactions without writing their own driver..

BwMonitor and BmcLibThe BwMonitor (GUI and console version) and BMC Library (BmcLib) allow communication with the Board Management Controller on BittWare FPGA boards

BmcLib and BwMonitor Features

• Allow higher level of communication with BMC devices on BittWare board

• Cross-platform library of c-callable functions that uses the IPMI protocol• Control local or remote devices• GUI and console interface to control board management capabilities

BittWare’s FPGA boards feature a Board Management Controller (BMC), which provides voltage, current, temperature monitoring; configuring of pro-grammable clocks; presence detection and access to other peripheral compo-nents; and field upgrades of BMC firmware. The BittWorks II Toolkit provides utilities (BwConfig, BwMonitor) and libraries (HIL, BmcLib) for communicat-ing with these devices at a higher, more abstract level.

The BmcLib is a cross-platform library of C-callable functions that allows your program to command a BMC on a local or remote BittWare device using IPMI. BittWare Board Monitor (BwMonitor) is a view into the board management ca-pabilities of your BittWare hardware. BwMonitor shows current sensor values, status information, and provides commands for viewing detailed information or loading firmware onto your device.

BwMonitor provides a view into the baseboard man-agement capabilities of your BittWare hardware.

Page 4: BittWorks II Toolkit - Sarsen BittWorks... · he BittWorks II Toolkit is a collection of libraries and applications for BittWare’s board platforms featuring the Xilinx UlstraScale

BittWare, Inc.45SouthMainStreet|Concord,NH03301USAPhone:603.226.0404E-mail:[email protected]

Your Solution... Built on BittWare

DS-BWII | Rev 2015.09.24 | September 2015

© BittWare, Inc. 2015UltraScale, Virtex, Kintex, and Vivado are all registered trademarks of Xilinx. All other products are the trademarks or registered trademarks of their respective holders.

Download and install the BittWorks II Toolkit.

Installs in minutes with minimal user interaction.

Install the BittWare Hardware.

BittWorks II supports BittWare’s most recent board families.

Run BwConfig.Find BittWare devices and map

them to the local PC.

Run BwShell.(Optional)

Use PHP functions to access mapped devices and gather

functions into scripts to automate tasks.

Create an application.Use the HIL API to create an application to interact with BittWare hardware.

Deploy the system.Deploy the application to Windows or Linux, or use the Porting Kit to port the HIL to

another operating system.

BittWorks II Toolkit User ExperienceThe BittWorks II Toolkit significantly eases the effort required to develop applications for BittWare’s UltraScale 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 HardwareUsers can download and install the BittWorks II Toolkit quickly and with minimal interacation. After installing the Toolkit, the BittWare hardware can be installed in the system.

Map the BittWare Devices and Configure ResourcesThe 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 dis-plays 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 DevicesBwShell provides access to all of the mapped devices. Users can enter PHP func-tions and commands into the shell to read and write to device resources. Later, functions can be gathered into scripts to automate tasks.

Create an ApplicationWith the BwHIL API, users can create an application to interact with BittWare hardware from C/C++/C#. BwHIL allows users to open the device, load the FPGA, read and write memory locations, and create and install an interrupt service routine.

Deploy the SystemThe BwHIL Programmer’s Guide provides instructions on redistributing BittWare libraries. BwHIL provides the means for field upgrades of the FPGA images. Users can deploy their application for Windows or Linux, or use the Porting Kit to port the BwHIL to another operating system.

BittWorks II Toolkit installs quickly and easily and pro-vides tools for mapping, accessing, and configuring BittWare devices; creating an application to interact with the BittWare hardware; and deploying the final ap-plication.

Ordering Options

BW2TK-WIN-FDK-01 - BittWorks II Toolkit for Windows

BW2TK-LNX-FDK-01 - BittWorks II Toolkit for Linux


Recommended