-- To join: http://beagleboard.org/discuss
To unsubscribe from this group, send email to:
beagleboard...@googlegroups.com
Frequently asked questions: http://beagleboard.org/faq
It would require an FPGA for sure. There isn't a bus available on the expansion header that would give good enough throughput. You may be able to use the 8 bit MMC bus. That is the fastest thing available.Gerald
On Thu, Apr 5, 2012 at 2:34 AM, Rajendra Prasad <rajen...@gmail.com> wrote:
Hi,Can someone suggest me how can I have a PCIe interface on Beagleboard-XM, using expansion slot.Thanks & Regards,Rajendra-- To join: http://beagleboard.org/discuss
To unsubscribe from this group, send email to:
Frequently asked questions: http://beagleboard.org/faq
> PCIe requires 18 pins for 1x, 32 pins for 4x and so on. But there are only
> 8MMC pins avaliable.
But in 1x, there's only 2 sets of pins that need to drive really really
fast, for the data in each direction. The rest of the pins are quite a
bit slower. These 2 sets of fast pins are the "hard part". :)
> If my understanding is correct, FPGA will implement the PCIe core, and
> from the processor I can access just the data from FPGA using 8 bit MMC
> lines. Is my understanding correct?
I think what Gerald was saying (and maybe what you are saying, too) is
that you'll need an FPGA connected to the processor via the MMC 8 bit
data bus. Then that FPGA can use it's PCIe ability to
actually run the PCIe bus where you will plug your devices. You'll
have a custom interface from the SoC to the FPGA to tell it what to do
with the PCIe bus.
> If multiple slaves devices have to be connected to the FPGA, how can I
> access the configuration space in PCIe?
You will need to make your FPGA capable of exporting this info over the
MMC bus. It'll probably need to be a custom set of RTL code, I've not
heard of anyone trying to do this before. But, if you are successful,
I'm sure there's a market for it, there's a ton of PCIe devices out
there and having an easy way to hook them up to low cost SoCs could be
a nice little niche.
Creating the code to act as a PCIe root port is not easy. I do believe
that Altera and Xilinx have soft cores to do this now in their FPGAs,
but I'm not sure of the cost. If you go forward with this, I think
buying a soft core PCIe root port from a vendor and then customizing it
to support your MMC interface would be the way to go. You'll also
need to write some Linux drivers so that PCI can show up
through the MMC interface, if you're going to use Linux.
-Andrew