04-21-2010 03:34 AM
04-21-2010 05:37 AM
I'm not shure what I think in the rigth way, but there is quotation from UG197 (Virtex5 integrated EP block):
"Virtex-5 FPGA Integrated Endpoint Block for PCI Express Designs
The Virtex-5 FPGA Integrated Endpoint block contains the functionality defined in the
specifications maintained by the PCI-SIG (www.pcisig.com):
• Compliant with the PCI Express Base 1.1 Specification
• Endpoint block or Legacy Endpoint block for PCI Express designs
• x8, x4, x2, or x1 lane width
• RocketIO™ GTP and GTX transceivers implement a fully compliant PHY
• Block RAMs used for buffering
• Fully buffered Transmit and Receive
• Management interface to access configuration space and internal configuration
• Full range of maximum payload size (128 to 4096 bytes) supported
• Up to 6 x 32 bit or 3 x 64 bit base address registers (BARs), or a combination of 32 bit
and 64 bit
• BARs configurable for memory or I/O
• One function
• Signals to the fabric for statistics and monitoring
• Up to two virtual channels (VCs)"
Unfortunately, I didn't find direct datasheet for the hardware PCIe block for Virtex6, logiCore IP datasheet only, and it don't include information about the question. I mean there should be a corresponding configuration space for every implemented function in the device, isn't it? Would it be able to implement configuration spaces for multi-function device?
04-21-2010 03:58 PM
04-22-2010 01:09 PM
Virtex-6 does not have multi-function support. I agree with John that there 3rd party IP providers of soft PCI Express cores that probably have multi-function capability (or have design services that can add it if desired), but they are not free. Two such providers are Northwest Logic and PLDA.
You might also be interested in looking at the Virtex-6 Connectivity kit (http://www.xilinx.com/products/devkits/EK-V6-CONN-G.htm) for ideas on how to use a single function when mult-function is desired. I know that the software developers for this kit indicated that multi-function would have made their implementation easier, but they were still able to complete the design with a single function. The source code for the driver is part of the kit.
I hope this helps.