I was able to synthesize a design with BRAM and am able to update the contents of the BRAM/ROM in the bitstream. Now for testing with actual hardware tomorrow.
I’m working on porting the OC8051 project from OpenCores to the Butterfly Platform. The ultimate goal is to have a core that supports a c compiler like gcc or sdcc and that supports wishbone for easily connecting Wings.
I’ve got the design synthesizing but am running into trouble with the ROM. It appears that the tool included to generate roms creates a format that doesn’t work with Webpack. So I’m working on implementing a BRAM based ROM that can be merged into the bitstream with out re-synthesizing everything.
I know its been quiet at Gadget Factory but I have been working overtime to develop a modular system to plug a suite of peripherals into the Butterfly Platform hardware. The designs have been sent off to the board house and there will be a slew of activity on the website very soon. The modules are called “Wings” as in Butterfly Wings and here is a list of designs that were sent to the board house:
- AVR Wing – This allows an Arduino Pro Mini to be used with the Spartan 3E FPGA Cocoon.
- MicroSD Card Wing – Connect and use a Micro SD card.
- LCD Wing – Connect an HD44780 compatible LCD.
- Zigbee Wing – Connect the MaxStream Zigbee module.
- 1 Axis Stepper Wing – Control a stepper motor.
- PS/2 Wing – Connect a keyboard, mouse, or barcode scanner.
- LED/Button Wing – Has 4 LED’s and 4 Buttons.
- Infrared Wing – Has an IRDA module with CIR support, a 38Khz IR detector, and an IR LED.
- Buffer Wing – 32 bits of buffered lines to connect -.7V to 7V signals. Direction can be controlled for every 8 bits.
- Wiznet Ethernet Wing – A design derived from the Arduino Ethernet Shield.
Look for more information on the website over the next several weeks as they are tested out and documented.
Also in the works, but a ways out, is a Virtual Breadboarding application.
Version 2.0 of the Spartan 3E Cocoon was submitted to a board house today. It should arrive within 7-10 days and take a couple more days for verification.
This new version adds SPI Flash so designs can work independently of a computer. It also implements the new Butterfly Bus which is designed to allow peripheral widgets to easily plug into the FPGA board. It is meant to make breadboarding unnecessary.
Still working on revision 2.0 of the USB and S3E boards and the Butterfly Platform specification. It’s taking way longer then I was thinking it would.
On a side note, I looked through the Logic Analyzer source code and commented out the XON/XOFF code that is most likely limiting the speed to 38400. Next step is to re-synthesize the Logic Analyzer design at 115000 and do some testing.
Revision 2 of the USB board follows the new Butterfly Specification and implements a 16 Cocoon Bus. Most pins from the FTDI2232 are routed to the 16 Bit Cocoon bus to allow more flexible use of the FT2232 chip. A mini-USB footprint is also implemented.
Revision 2 of the S3E board implements SPI flash to save persistent designs and implements a Full Wing for peripherals. The Full Wing is also outlined in the Butterfly Specification.
The new FPGA Wiki is up and running at http://wikis.gadgetfactory.net/index.php/FPGA_Wiki. The neat thing is that it allows screencasts to be recorded and embedded directly from the Wiki.
I also need to build more boards today. So the rest of the day is going to be spent doing that.
I did get some time to work on the Butterfly Specification. The initial draft can be found at http://www.gadgetfactory.net/Butterfly_Specification.html. I had some more ideas about the Specification last night that I want to get updated as well.
Will be working on adding Jabber and MediaWiki to the website today. Collaboration is a crucial part of Gadget Factory so I am going to take some time to improve the collaboration tools available. Hopefully it will only take half a day and then I will FINALLY be able to work on the Butterfly Spec.