PCI-Express drivers with Xilinx FPGA?

Hi guys:

First of all, forgive me for being a dumb mechanical engineer...FPGA's are new to me.

I'm programming a Xilinx Spartan-3 FPGA development kit. I'm doing pretty well so far. I've gotten my huge Verilog program written and finally got it to simulate correctly and set up all the I/O pins, etc. Now all I have to do is download it to the chip.

My problem is that the board communicates via a PCI-Express slot. I shut down my computer, plug the Xilinx board into my PCI-x slot, then turn the computer back on. Unfortunately, the computer then insists that I provide it with some sort of software or drivers to recognize the new hardware (which it identifies as a "coprocessor").

Well, as far as I can tell, they never gave me these drivers or software (and I wouldn't know them if I found them anyway) and finding any answers on their website has proven to be extremely difficult. They have a forum, but it is not very active (only a post every day or so).

Has anyone here ever dealt with this kit? And, if so, do you know how I can get hooked up? I'm thinking it's probably something ridiculously simple that I'm not grasping right now. Thanks for any help.

Don

Reply to
eromlignod
Loading thread data ...

[snip]

It would really help if you told us what kit you're talking about. Most of us don't have the time to search out the manufacturer based on the little bit of info you've given us.

--
Joe Samson
Pixel Velocity
Reply to
Joseph Samson

It's a Spartan-3/PCI-Express Starter Kit.

Don

Reply to
eromlignod

The development kit allows the designer to create a custom PCIe interface. Within the PC architecture, the system expects that the software that will interface to this board will provide the driver.

Unfortunately, one cannot just develop a board and plug it into the PC, expecting built-in support for unknown functionalty.

You can choose not to "install the hardware" on your PC and still have diagnostic access to the PCIe space. The Avnet-taught PCIe session (about 4 hours, hands-on) used a freeware PCIe snoop utility - I don't find my notes but may come across them later - to verify the configuration settings that were applied in the FPGA.

If you do anything with the interface, software needs to be involved on the PC end. If you perform DMA, where do they go to or come from? If you perform register accesses, how are those registers physically mapped?

It would be ideal if we could just hook hardware up to a PC and have something happen without involving software. We're not there.

- John_H

Reply to
John_H

Well, normally I would have used some type of microcontroller. The only reason I chose this version of FPGA is that I needed a large amount of I/O (over 250) and the Spartan-3/PCIe version had enough for my application. They also offer Spartan-3A and Virtex versions that include programming cables, but they didn't have enough I/O. The Digikey description said I was getting a programming cable with this model, but when I enquired as to why I didn't receive one, they said it was a misprint. I didn't realize that the PCIe interface was the only thing available for communication and downloading.

So I guess the upshot is that there is no other way to download my program except through the PCIe and there is no existing software that allows me to do that. So apparently I must develop some sort of drivers myself. I'm OK with doing that, but I guess I need more information. Can you recommend a source?

Don

Reply to
eromlignod

While you will still need a driver and api/control software to interface to your board via the PCIe port, what you may be looking for is a Xilinx programming cable to load your bit file into the FPGA.

formatting link

Reply to
Colin Hankins

I didn't realize you were using the board as a non-PCIe device, just a general FPGA development board with a large number of I/O. This board is designed to operate stand-alone as well. I am a little disappointed they didn't include the embedded USP programming interface found on other boards.

I would also recommend the Platform Cable USB programming cable (as opposed to the Parallel-IV or a home-built Parallel-III compatible cable) because the power is supplied by the USB connection and the Vref - not used on the Parallel-III - gives a good range of acceptable voltages for any future development.

Maybe you can push Digikey for a discount on the cable thanks to their poor description. If not, maybe going direct to the Xilinx online store would be a better route.

- John_H

Reply to
John_H

Aha! Brilliant! That's just what I'm looking for (I think) and well worth the $150 if it solves my problem. Thanks to everyone...I owe you a beer.

Don

Reply to
eromlignod

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.