Physical Interface Components

The FDK includes all the physical interface components necessary for providing board-specific external I/O interfaces. In a typical FPGA design, physical interface development can account for the majority of the development time, but using the FDK’s pre-configured physical interface components saves significant design effort. The physical interfaces are verified and performance tested and have been configured to meet the specific requirements of each BittWare FPGA-based board. Many of the FDK physical interfaces are Altera IP cores with a component wrapper to configure them for each BittWare board, ensuring that the IP is optimized for both the FPGA and the board.

Component Library

To help further reduce integration time, the FDK includes a library of components for system, interconnect, simulation, and test. Each component in the FDK uses standard Altera Avalon Streaming and Memory Mapped interfaces. Using a common interface makes the components more reusable and portable.

Board I/O and Timing Constraints

The FDK includes board-level projects to define all board-specific details for each supported product. These scripts define the resources available to the FPGA for each board, including I/O constraints, device-specific configuration, pin locations, and voltage levels. Projects are easily portable between BittWare boards, simplifying an upgrade to latest generation FPGAs.

Example Projects

Qsys-based example projects designed for each board illustrate how to move data between each of the board’s interfaces. These projects provide a reference for new development and are complete with simulation, project setup, synthesis scripts, complete I/O and timing constraints, software, and documentation.

Simulation Support

The FDK provides automatic generation of Modelsim simulation scripts. Example projects include a testbench to verify operation before going to the lab. The verification architecture is easily extensible to allow you to add components to verify your own custom IP.

IP Discovery

The FDK includes an IP Discovery ROM with each FPGA load to describe the FPGA’s contents. IP Discovery provides a complete address map of the design, which simplifies simulation and host software development.

Reference Designs

Many reference designs are available, including ADCs, DACs, and 10GigE. Check BittWare’s developer site for a complete list and to download the designs.

Software Support

The BittWorks II Toolkit provides access to the FPGA over PCI Express and USB. FPGA projects containing IP Discovery can be automatically detected by Toolkit software. Graphical and command-line toolkit utilities help identify the IP loaded in an FPGA. A C-callable FDK library provides component register access functions for C/C++ applications. With IP Discovery, components can be referred to by their names in the FPGA project instead of using their addresses, making the software more portable and scalable. A PHP-based FDK library is built into BwShell, BittWare’s command-line scripting utility. This enables rapid development, test, and debug cycles in an easy-to-use scripting language. The toolkit also contains a PCI Express driver. On Linux operating systems, full source code is provided with examples for modifying it to suit the needs of your application.

Intel Components
  • DDR4*
  • DDR3
  • QDR-II/QDR-II+
  • PCIe with DMA
  • SerialLite III
  • 10GigE
  • 40GigE*
  • JESD204B
BittWare Components
  • BMC
  • FMC
  • LEDs
  • I2C
  • SPI

* In development

Workflow

An essential piece to working with the FPGA on BittWare’s FPGA-based boards, BittWare’s FPGA Development Kit provides proven resources that can reduce FPGA development efforts by months. It includes an extensive component library with pre-configured physical interfaces and many examples that enable you to get an FPGA project running on your board with minimal effort. It fits into your existing FPGA development process, minimizing risk and eliminating the learning curve of adopting a new methodology.

System Architecture Example

Example of a System Architecture Featuring the BittWare FPGA Development Kit

By providing the underlying infrastructure for FPGA development, BittWare’s FDK lets you focus on developing your unique processing components (application user processing, application user interface, and user development modules) rather than on the infrastructure around it.