USB FPGA PC Host Software, C++ Library with Python binding using Python.BOOST.

This page contains information for the USBP library usage and design. If you have a USBP FPGA Prototype board see the Getting Started section. Also see the SourceForge Project Website for more information.

The software described on this page can be used to communicate with USB FPGA boards. See usbp for examples.

Getting Started

The following are some applications build from the USBP_LIB. If you have a USB FPGA Prototype board and are looking for applications to test, program, or interface see the following applications. Source code for all of the following programs are available from SourceForge. Get the latest downloads here.

Applications

  • FPGA Tester - Simple wxPtyhon application available to test USB FPGA Prototype board functionality.
  • FPGA Programmer - wxPython application that will download a bit stream (.bit) file to the FPGA. The bit streams can be created with Xilinx's free Webpack software

Also see USB Projects for more examples.

USBP_LIB Design

Description

The USBP_LIB and the varies Ptyhon scripts provide an interface to USB. It provides FX2 firmware downloading, FPGA configuring, and data transfer through USB. The software can be used to quickly and easily interface with any FPGA design through USB. The Cypress FX2 USB controller is used to achieve USB 2.0 High Speed data rates of 480Mbps.

Class Diagram

www.fpgaz.com_usbp_images_usbp_lib_uml.jpg

USBP_LIB Code Documentaiton

See the API Documentation for more information on Python available methods.

C++

The USBP_LIB is a C++ library. The library will use the CyUSB or the LIBUSB drivers (depedning on how it was built). The library methods are then exported to Ptyhon via BOOST.Python. Complete C++ applications can be build as well with out using Ptyhon. The USBP_LIB will provide basic functionality to configure and interface with USB FPGA prototype board.

Python

Python is used to quickly and effeciently build applications and scripts using the USBP_LIB. Python provides a higher level abstraction and many tools.

The following are needed for many of the USBP Python applications

USB Libraries

  • CyUSB - Cypress USB Library
  • LIBUSB - USB Library for Unix and PC.

Other Libraries Used

  • BOOST

Building the Library

See Blog Post for information on building the software.

 
fpgaz/usbp/sw.txt · Last modified: 2007/03/24 19:42 by cfelton
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki