OK, I used a Cypress USB peripheral controller from the same family about 4 years ago on a custom board I designed. I designed some custom IP to reside on a FPGA and it used the HPI interface to help boot the Cypress chip and send data to the PC over an endpoint. Then I wrote some software using their usblib and got the data to appear on my PC screen.
Now i have a ML605 board. I downloaded the Cypress USB dev kit software from their site and installed the appropriate drivers. When I plug a cable between the USB peripheral connector and a PC, it enumerates as it should. However, I'm not sure what I need on the FPGA to properly drive the Cypress chip. I've incorporated a Microblaze in the design and have read that I can just add an EPC core to the SOC through XPS and it should know how to use the HPI interface. However, I've read on this forum that other people have had to reprogram the EEPROM on the Cypress chip and do other weird things to make it work. I also noticed that the ML605 board wires the SDA adn SCA lines on the Cypress chip to "high". The Cypress datasheet mentions that in order to use the HPI interface, both of these lines should be wired to "low".
Does anybody have any experience building a USB peripipheral using a Microblaze and this particular demo board? I would like to know what steps I need to take to get data off my board and through the USB port easily. I've read that reprogramming teh EEPROM is necessary, but the Xilinx documentation says that an EPC core and USB config data off the flash memory is enough to get it going. Before I randomly go and reprogram teh Cypress EEPROM, I'd like to know if it is absolutely necessary. Thanks.