Re: FPGA-pci communication
- From: john.orlando@xxxxxxxxx
- Date: 18 Dec 2005 15:42:54 -0800
> This is the PCI controller of your board which initiates the burst transfer
> (bus mastering) ,
> Before that, either your application (C/linux) or your design (VHDL) must
> provide transfer length AND physical memory
> start adress.
> Lookt at your doc to see how the actual 'go' signal (i.e start DMA
> transfer) is provided to the controller (onthe board i use at work, it is up
> to the C application to write to a register of the DMA ctlr)
>
So...lets say that the FPGA was capable of bus-mastering, and thus
could initiate a PCI write transaction. Lets say that the main system
processor (x86 or whatever) had already provided a set of physical
addresses to the FPGA through some other means (perhaps as a totally
separate PCI write transaction from the x86 to the FPGA). My
understanding is that the FPGA is then capable of initiating a PCI
write transaction, where it can write data to, say, SDRAM that is
connected up to the main system processor, without any intervention
from the system processor itself. I think the order of events would go
like this:
0) FPGA arbitrates for the PCI bus
0.5) FPGA is granted the PCI bus
2) FPGA starts a write transaction, with the target address being that
of SDRAM hooked up to the system processor.
3) Each data word is then clocked onto the PCI bus, received by the PCI
controller hooked up to the system processor, which then arbitrates for
the processor's local bus in order to write data to the local SDRAM.
4) When the FPGA has written all the data it wants, it would assert one
of the INTx lines to indicate to the system controller that data is now
available at the previously-assigned physical address.
Thus, no intervention from the system processor at all here...any flaws
in this logic? Also, I assume that if the FPGA can do a burst write in
step 3 above, all of the data that is bursted onto the bus by the FPGA
will end up in the sequential physical memory locations in the SDRAM,
until either the system processor/PCI controller stops the transaction
or the FPGA simply ends.
Does this make sense?
TIA,
John
.
- Follow-Ups:
- Re: FPGA-pci communication
- From: Nitesh
- Re: FPGA-pci communication
- References:
- FPGA-pci communication
- From: Nitesh
- Re: FPGA-pci communication
- From: John Adair
- Re: FPGA-pci communication
- From: Nitesh
- Re: FPGA-pci communication
- From: Jerome
- Re: FPGA-pci communication
- From: Nitesh
- Re: FPGA-pci communication
- From: Jerome
- FPGA-pci communication
- Prev by Date: Re: FPGA-pci communication
- Next by Date: Re: Get Start for XtremeDSP Developement Board -IV
- Previous by thread: Re: FPGA-pci communication
- Next by thread: Re: FPGA-pci communication
- Index(es):
Relevant Pages
|