USB Device Core for Xilinx FPGA’s

Vreelin’s USB 2.0 Function I/F core for Xilinx FPGA’s integrates into Vivaldo for series 7 and newer FPGA’s and the Xilinx Embedded Development kit for older versions. This allows developers to quickly add a USB 2.0 interface into a Xilinx development project. The core has a small footprint of 750 Slices on a Virex4 and later FPGA’s and uses a ULPI compliant external PHY that requires only 12 pins. The core attaches to the Xilinx LMB bus as a slave device and appears as BRAM. This interface allows very high performance will taking little space in the fabric. An AXI slave interface is also available. Push button system configuration with Vivaldo or Platform Studio allows the designer to add, delete or modify the core under both environments. Multiple cores can be added to a design as needed. The core supports both the Microblaze and Arm processors and runs on all current Xilinx FPGA’s. Fully plug and play compliant, the Vreelin USB 2.0 core includes working USB Chapter 9 and example mass storage device class firmware and Win2K/XP device driver software which can be customized by the designer for his application needs.  The device driver supplies W32API ReadFile and WriteFile for data, and IOCTL calls for control. Multiple handles can be open to the device driver so that the user’s application can be in multiple programs.

Small and fast, the core supplies control endpoint 0 plus 7 end points for the user’s application with double buffering on each end point. The maximum packet size for Bulk and Interrupt endpoints is 512 bytes. ISO endpoints can be 1024 bytes. Up to 16 KB of block RAM can be allocated as needed. As supplied the core uses 4 block RAM’s or 8KB. The type of each endpoint (bulk, interrupt, or ISO), the max packet size for each endpoint, and the endpoint’s buffer location in dual port RAM is configured by the firmware. HDL source code for the dual port RAM module is provided to allow the designer to minimize the foot print as required. To meet special circumstances, the core can be custom built by Vreelin Eng. with more or less than 8 endpoints and with other special features as required such as custom hardware interfaces for specific endpoints. The core sustains USB 2.0 high speed transfer rates up to the limits of the USB bus and is certified USB 2.0 Logo Compliant.

  • Supports Microblaze and Arm processors
  • Efficient Small Size: 750 Slices on a Virtex 4 and later FPGA’s (6 input LUT)
  • Attaches to LMB for speed and efficiency. Looks like BRAM
  • AXI slave and AXI Master interfaces available with increased resource usage – very fast, but a lot bigger than LMB
  • Uses Block Ram for Data Buffering
  • Supports external ULPI compliant PHY (12 pin I/F)
  • Works seamlessly with Microchip PHY’s (as well as other ULPI compliant PHY’s)
  • Seamless Integration into Vivaldo and the Xilinx Embedded Development Kit
  • Can be added to Vivaldo or Platform Studio project like any other core from Xilinx
  • Complete firmware for USB Chapter 9 Processing and example Bulk Only Mass Storage Device Class application code
  • Working plug and play device driver for Microsoft Windows  – others developed on request
  • Flexible and Configurable – Supports up to 7 application endpoints All 7endpoints are configurable as bulk, interrupt, or ISO. All endpoints have double buffering.

    To Request an Evaluation:

    Contact (replace the ### with @).

    A signed NDA is required for the evaluation due to the firmware source code provided.

    Basic Pricing:

    Net List: $15,000 per project


    • USB 2.0 Core, LMB Slave (Microprocessor Bus Interface)
    • Firmware Driver (library that operates the core including source code)
    • Sample firmware application – demonstrates how to communicate with core including Source.
    • Windows Device Driver – exposes each endpoint of the device core to application inlcuding driver source code
    • Installation Scripts
    • Sample Windows Application (including Source) that talks through the Windows device driver to the core.
    • 10 hours of consulting to help you bring up your design with respect to the USB interface.
    • Additional consulting beyound 10 hours available at 250.00/hour as needed
    • Vreelin USB Explorer Board with running example design for an additional $2000.00

    Location Site License : $50,000.00


    • Allows use of the device core at one company location on any number of projects.
    • 2 USB Explorer Boards running example Vivado USB Host Interface projects
    • 40 hours of consulting on USB aspects of your projects
    • Additional consulting for 250.00 / hour as needed

    HDL Source Code License: $100,000.00


    • Complete source code including HDL
    • Test Bench for HDL
    • Location site license for any number of projects
    • 4 USB Explorer Boards running example Vivado USB Host Interface projects
    • 80 hours of consulting on USB aspects of your projects
    • Additional consulting for 250.00 / hour as needed

    Standard Yearly Service Contract:

    Up to 20 hours of support  plus bug fixes and minor enhancements – 20% of license

    Hourly Contract (For customization):billed at $250/hour

Leave a Reply