embedded PCI

C

colin

Guest
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
 
colin wrote:
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.
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 ;)


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.
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
 
Sylvain Munaut <tnt_at_246tNt_dot_com@reducespam.com> wrote in message news:<4122353f$0$2518$ba620e4c@news.skynet.be>...
colin wrote:
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.

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 ;)

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.
 
colin wrote:
Sylvain Munaut <tnt_at_246tNt_dot_com@reducespam.com> wrote in message news:<4122353f$0$2518$ba620e4c@news.skynet.be>...

colin wrote:

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.

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 ;)


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.
Look for a passive PCI backplane. I have one that came with a Intel dev board.


Sylvain
 
Sylvain Munaut <tnt_at_246tNt_dot_com@reducespam.com> wrote in message news:<41235d89$0$338$ba620e4c@news.skynet.be>...
colin wrote:
Sylvain Munaut <tnt_at_246tNt_dot_com@reducespam.com> wrote in message news:<4122353f$0$2518$ba620e4c@news.skynet.be>...

colin wrote:

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.

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 ;)


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.

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


Sylvain
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
 
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).
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.
 
hmurray@suespammers.org (Hal Murray) wrote in message news:<_sadnTQqu_1KsbvcRVn-iw@megapath.net>...
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.
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
 

Welcome to EDABoard.com

Sponsor

Back
Top