Butterfly Platform's USB Cocoon Module
The USB Cocoon Module mates with the Spartan 3E FPGA module and provides power, JTAG, and USB functionality. The power system provides three stable voltages that should work well with high speed designs. Great care was taken to create a power supply that can support the most demanding applications.USB is provided by the FTDI 2232 chip which supports two independent communication channels. The MPSSE feature of the FT2232 allows one channel to emulate a native JTAG connection which allows high speed programming of the FPGA over USB. The second channel can be used for high speed communications once a design is loaded. This dual channel setup allows the Butterfly Platform to morph between multiple applications with ease. For example it is possible to load a Logic Analyzer design over the JTAG channel, use the Logic Analyzer over the second channel, and if a Flash Programmer is needed then the JTAG channel is used to load the new design.

Specifications
- Three independent power rails at 3.3V, 2.5V, and 1.2V.
- Power supplied by a power connector or USB.
- High speed two channel USB connection for JTAG and serial communications implemented with FT2232.
- JTAG and USB connections are protected by high speed buffers.
- EEPROM memory to store configuration settings for FT2232 USB chip.
- Open Source design that includes Schematic and Board layouts in Eagle format.
Resources
Current Status
All functionality has been verified and boards are currently in production.
Prototypes have been built and have been tested with the S3E Cocoon module. All major functionality of the combination has been tested and verified. The following functionality has been verified:
- USB Connectivity, the device shows up in Windows XP and the drivers install correctly.
- USB EEPROM configuration settings, the FTDI tool correctly programs the configuration setting to the EEPROM.
- Programming a bitstream over the JTAG port, bitstreams are saved in the svf format and then programmed over the JTAG channel using the Open Source URJTAG project.
- Programming a design that uses a UART and communicating with the UART over the second USB channel. A PWM example project was synthesized and programmed on the Butterfly Platform. Serial communications over the second USB channel worked correctly and was able to control the PWM channels.
- 8MHz oscillator, the PWM design used a DCM to change the 8MHz clock to the required clock speed for the design.
License
The Butterfly Platform USB Cocoon is released under the Creative Commons Attribution license. The goal is to support commercial and noncommercial scenarios such as the following:
- Using the design as the basis for a commercial or non commercial product. In this scenario all that is required is that "Butterfly Platform" and "www.GadgetFactory.net" is credited somewhere on the circuit board and on the webpage. We would like to see the design used as much as possible so we are open to granting licenses without the attribution requirement.
- Using the design as is or modifying it for a personal or educational project.
- Manufacturing boards for personal usage.
- Manufacturing boards for unique commercial products. We highly encourage using the design to derive unique products. What we discourage is manufacturing and selling boards for a product that is not unique from what someone else created. Let the original creator manufacture and sell the boards, unless of course they have no interest in doing so.

This work is licensed under a Creative Commons Attribution 3.0 License.
Even though we are releasing the design open source we hope that people take into consideration that a considerable amount of time and resources have been put into developing the Butterfly Platform. We are hoping to recoup our costs and finance future development through sales of the Butterfly Platform hardware. So we ask that if you find the design useful that you either buy hardware from us or donate something so we can continue to develop the Butterfly Platform.
Pictures


