 |

BittWorks for Application Development
Software Toolset for BittWare Hardware

|
BittWorks BittWare I/O (BWIO)
|

BittWorks BittWare I/O (BWIO) is a software library for BittWare’s GT, GX, and S4 families of FPGA & DSP signal processing hardware, and is tightly interconnected with BittWare's ATLANTiS FrameWork, BittWare’s integrated system framework implemented in Altera FPGAs, and with BittWare’s FINe™ Host/Control Bridge. A collection of device drivers and utilities, it is a cross-platform library, able to run on the DSPs on BittWare boards or access the hardware via the BittWorks Toolkit or BittWorks on any platform.
Users of BWIO are building their applications upon a strong foundation of proven code. Each component in BWIO is peer reviewed, unit tested, and in-system tested as part of a larger example application. BittWare relies on internal applications that use BWIO for production testing of our FPGA & DSP signal processing hardware. This permits customers to use BWIO on their hardware with confidence.
BWIO benefits include:
- Cross-platform; supports remote access
- Customizable for user FPGA components
- Proven code base
- Multi-process ready
- Seamless integration with BittWare's ATLANTiS FrameWork
- Reduces complexity of routing FPGA data paths
Initialization files included for each ATLANTiS™ FrameWork (AFW) project
Component and driver interfaces for ATLANTiS™ FrameWork (AFW) components, BittWare boards, and TigerSHARC DSPs
POSIX-based I/O: Open, Read/Write, Ioctl, Close
Available on ADSP-TS201 TigerSHARC, FINe™ Host/Control Bridge/NIOS (Altera Cyclone FPGA), and PC/host (x86, PowerPC)
Source code included
Remote capability (built on the BittWorks Toolkit)
Will port to embedded NIOS in FPGA*
Utilities included for shared memory manager and timing/delay routines
Examples included for ATLANTiS™ FrameWork (AFW) and BittWare’s FPGA & DSP signal processing hardware
Common interface for supported components
Easily supports new features with minor API changes
Works in conjunction with the BittWorks Toolkit Host Interface Library (HIL) for command and control
*Contact BittWare for availability. |
BWIO leverages a POSIX-based Application Programming Interface (API) for extensibility and ease-of-use. Its main purpose is to provide control over the ATLANTiS™ FrameWork (AFW), BittWare’s integrated system framework implemented in Altera FPGAs. BWIO also allows convenient access to other resources on the target board. It provides this control over both the board and FPGA resources in a way that is multi-processor and multi-process safe. BWIO was built with multiple processors in mind, whether they are two remote hosts or four embedded DSPs.
BittWare provides BWIO to BittWare’s FPGA & DSP signal processing hardware users to speed development of their applications. BWIO gives users the flexibility to run those applications on the platform of their choice. Software developers will find during development of their applications that complicated operations can be performed with a minimum of operational code. BWIO saves the developers more time by taking care of the sharing of board and FPGA resources between multiple processes.
BWIO includes the following:
|
| BWIO & ATLANTiS FrameWork (AFW) |
BittWare's ATLANTiS™ FrameWork (AFW) provides reconfigurable FPGA components, along with the infrastructure necessary to implement, simulate, synthesize, validate, and deploy a complete FPGA application on our Altera-based signal processing hardware.
AFW Integration
BWIO is tightly integrated with ATLANTiS™ FrameWork. Each ATLANTiS™ FrameWork component with a register interface has a matching BWIO software component. Each software component gives the user complete control over its counterpart in the FPGA. This seamless integration is significant to reducing the complexity of configuring and reconfiguring the ATLANTiS™ FrameWork components and data paths.
AFW Data Paths
A BWIO driver is used to transfer data through a component or series of components. BWIO’s concept of stacked drivers gives users a simple way to mirror ATLANTiS™ FrameWork connections in software. Once the connections are made in software, a single function call can perform the data transfer through all of the involved ATLANTiS™ FrameWork components.
Because drivers have the same API, one driver and thus an ATLANTiS™ FrameWork data path can be swapped out for another driver / ATLANTiS™ FrameWork data path. Consequently, BWIO can be easily adapted to different uses. An example of this is when a developer must use one set of FPGA components in a lab environment and another set of components in the deployed system. With BWIO, switching between the two environments is trivial as the controlling software can be nearly identical for each environment.
ATLANTiS™ FrameWork project-specific information is stored in a human-readable INF format. BWIO includes an INF file for each ATLANTiS™ FrameWork project to describe the components in the project and their connections, and is initialized using this file.
AFW Interfaces
BWIO includes the following driver interfaces for ATLANTiS™ FrameWork (AFW) components:
- Switch: provides direct access to the ATLANTiS FrameWork Switch component register interface, allowing full control over the switch configuration and routing
- DMA Controller: direct interface to the ATLANTiS FrameWork DMAController component
- Arbiter: allows multiple memory-mapped devices to access a single memory-mapped resource
- Slave Window: provides access to DDR2 memory directly from a TigerSHARC DSP or a host processor
- IRQ Decoder: allows the user to manipulate the ATLANTiS FrameWork IRQ Decoder component
- Example Component: serves as a skeleton for creating new components
- Video/Image Processing: implements a 2D FIR Filter with fixed coefficients or an image scaler
- Video Adapter: converts raw image data to and from Altera’s streaming video format
AFW Examples
Examples for BittWare's ATLANTiS™ FrameWork (AFW) include various examples for the ATLANTiS™ FrameWork (AFW) DMA controller component as well as examples for DDR2 memory, IRQ decoder, slave window, TigerSHARC link ports, and video image processing. |
Driver Interfaces
BWIO includes driver interfaces for certain features on BittWare’s FPGA & DSP signal processing hardware and on the ADSP-TS201 TigerSHARC DSPs:
FPGA & DSP Signal Processing Hardware interfaces include: PCI, FINe™ Host/Control Bridge DMA, and access to and control of FINe™ Host/Control Bridge resources, including TCP, UDP, uCLinux file system, uCLinux shell, and memory.
- PCI: supports bus mastering over the PCI bus
- FINe DMA: supports FINe DMA controller
- Finesvc: provides access to and control of FINe resources, including TCP, UDP, uCLinux file system, uCLinux shell, and memory
TigerSHARC interfaces include TigerSHARC DMA and link ports.
- Tiger DMA: provides a standard interface to the four external memory TigerSHARC (ADSP-TS201) DMA engines; supports interrupts, DMA chaining, and 2D DMA
- Link Ports: provides control over the TigerSHARC’s (ADSP-TS201) link ports; supports interrupts and DMA chaining
Other Board Resources
BWIO contains several components for accessing other board resources. Without BWIO, these features would in some cases remain inaccessible, or the user would be required to expend time and resources developing their own interface. Using BWIO, an embedded DSP can use the FINe™/NIOS’s socket interface for TCP/IP or UDP/IP. A remote host can read and write to the FINe™/NIOS’s uCLinux file system. A TigerSHARC ADSP-TS201 processor can use BWIO’s link port driver to connect and transfer data between ATLANTiS™ FrameWork (AFW) components. This gives users the power to control board resources from the same library and API used to control the ATLANTiS™ FrameWork (AFW).
Test and Utility Functions
BWIO provides utilities for a shared memory manager supporting memory allocation from multiple processes or processors, as well as for timing and delay routines.
Board Examples
BWIO’s board examples include tcp and udp, various FINe™ Host/Control Bridge examples, PCI busmaster, log file, and link port I/O. |
|
|

Products & Services
Development Tools


|