ElEctric_EyE wrote:
.The Spartan 2 was the first FPGA I grappled with after migrating from the XC9572 CPLD, schematic-only design entry. I was at the point of using 2 CPLD's and decided to tackle Xilinx FPGA's. However, ISE would not let me get away with what I described
here... So it sounds very similar to what you have described. Others here seem to be having problems with internal bi-directional busses in HDL/Verilog...
Well, I must admit I've have never done so myself, but that is what I've read. It may depend on the synthesizer tool, and the exact way things are written down so it can recognize it.
Quote:
What I would really like to know about, is your USB interface. Did you write your own, or use another core? Is it register based? Easily interfaced to the 6502?
Yes, I wrote my own USB client interface for use with an external USB PHY (Cypress CY7C68000). It uses a shared memory interface for slow stuff, and a dedicated high speed data bus for fast stuff (8 bits * 60 MHz). The 6502 would work best with the slower shared memory interface, and is really easy to interface. Just put the other port of the block RAM in your 6502 memory space, and hook up a couple of interrupt/status lines. Here's a link to the source code
http://ladybug.xs4all.nl/arlet/fpga/source/usb_client.v. Apologies for the lack of documentation. It's also 5 years old, from when I was just learning Verilog/FPGA stuff, so it probably could use some cleaning up.
Quote:
I chose an SD card interface for non volatile mass storage because it looks easier... I am interested in pluggable/unpluggable non-volatile mass storage, because I would like to lose my old EEPROM burner...
If you want to interface a USB stick, you'll need a USB
host, which is much more complicated. I would recommend using a simple (micro)SD card, which is almost trivial in comparison. ETA: But if, you have a SD card interface, then why do you still need the EEPROM ? You can put a simple bootloader in the FPGA itself. A single 2KB block RAM should be enough, I think.
Quote:
BTW, what is ETA?
Edited To Add.