embedded PCI

I would like to embed a device that has a PCI inteface with an FPGA (preferably a SPARTAN 3).

Two questions have arisen before I start

1) Many PCI based chips (including the one I want to use) can be purchased as a PCI card to speed up development. I have had a good google without success but does anyone know of an FPGA development platform that includes a PCI card site, I could then develop the firmware without designing a PCB.

2) I have no PCI experience but there seems to be a lot of talk about meeting the irdy/trdy timings. Is it a lot easier in my scenario because if I am not the master then I know that I am being addressed (ie. I don't need a big address decoder) and if I am the master I just need to write single words to the device so I can live with a big performance hit.

Thanks in advance

Colin

Reply to
colin
Loading thread data ...

By PCI site, you mean a slot where you can put PCI cards or a PCI edge so that you can use it your FPGA board as a PCI device.

Look at the avnet spartan 3 kit. I have it and it's real nice ;)

If you want to implement a PCI device that is not a PCI master then that should not be too hard. Implementing a PCI host bridge however is really more complex ... Look at opencore there is one IIRC.

Sylvain

Reply to
Sylvain Munaut

Err. You seem to have missed the point. I want to buy a PCI card with the silicon I want to use on it and plug it into an FPGA development board. The avnet card looks like just another FPGA based PCI card, I've googled and I've found many of them. My FPGA will be a high performance slave with just enough mastering to do the config cycles to the other chip (unfortunately the config registers reset to zeroe's else I wouldn't need to do this) and to set up the DMA's

By the loud silence I assume the FPGA board I want doesn't exist.

Reply to
colin

Look for a passive PCI backplane. I have one that came with a Intel dev board.

Sylvain

Reply to
Sylvain Munaut

Unfortunately a passive backplane is just that. I would need a card plugged into the "master" slot which provides the clock and arbiter.

I think that I would also need to plug the fpga card into the master slot so that it can drive idsel but I'm on the limits of understanding at about this point (at the moment).

Colin

Reply to
colin

I think you could plug some normal "master" card into the master slot, say a PC. It will do the configuration setup work. Then just let it sit there.

Now you can play with your FPGA card and whatever else you have installed. Your FPGA card can do PCI cycles to talk to other cards.

--
The suespammers.org mail server is located in California.  So are all my
other mailboxes.  Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

I appreciate that this is so. However my PCI firmware now has to have config registers and my firmware has to go to somewhere (I have no knowledge of OS's) to find out where the other card is in the address map.

There are many corners that can legitimately be cut in an embedded design. I have a device that HAPPENS to have a PCI bus that I want to connect directly to an FPGA. In the final design I can

1) Just do some writes to config registers in the other device. I know from the data sheets what a config read would get me so I won't do them. 2) As a slave I will get read and written to four locations. With complete control of the address map I can just decode AD31 and AD30. 3) I think I can do away with PAR and ignore the PERR signal but I need to check this. 4) The more that I read the more I think that I can even ignore most of IRDY and TRDY. As a master I need to set up DMA's by reading and writing registers which I think will allways be available, as a slave I might not be able to respond if my FIFOs are nearly full or empty and that is trivial.

No one has moaned about spartan 3 availability for a while so hopefully I can get hold of one and throw together a PCB with a PCI site on it.

Colin

Reply to
colin

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.