Forum Discussion
Altera_Forum
Honored Contributor
14 years agoHi Tricky,
--- Quote Start --- Dont really know where to start with the PCIe core. Very little experience with PCI. Anyone know some design to get me going. Some nice demos of the core? --- Quote End --- I'm going to be looking at PCIe early next year. I'd be interested in hearing your experiences, and I'll feedback mine. The first thing I'd suggest is getting an example design to work, without necessarily understanding the details, just to have something working to start with. For example, I have Stratix IV GX development kits. For PCIe testing, I have a laptop with an ExpressCard that implements a PCIe-to-cabled PCIe bridge, which then connects to a motherboard containing a PCIe switch. This hardware is from OneStopSystems; http://www.onestopsystems.com/ http://www.onestopsystems.com/pcie_over_cable_z6.php http://www.onestopsystems.com/pcie_atx_bp.php I prefer this to a standard motherboard, since I can test PCIe without having to deal with an OS on the PCIe motherboard, and 'unknown' hardware on the motherboard. This hardware is basically a PCIe switch. Here's my plan of attack; 1) Test the PCIe examples that come with the kit. * I did this, and some of the examples appeared to work, while others did not. I'll start with a working example when I move onto the next step. 2) Simulate one of the working designs using Modelsim with a PCIe BFM * Based on I think your earlier post, it appears Altera dropped BFM support circa Quartus 11.0. I'd install that version just to get the BFMs. 3) Make sure I can access the hardware from Linux * Accessing PCI and PCIe boards under Linux is very easy. No device driver development required until you want to use interrupts. Even when you need to write Linux drivers, they're pretty straightforward. 4) Once I can access the PCIe interface from Linux, then generate transactions to the core and use SignalTap II to capture transaction traces. Compare those traces to the simulations in (2). Adjust the BFM stimulus to match the hardware. At this point, I'll have a working hardware/simulation setup, so then I can start on a specific design. Basically I'll just write a PCIe-to-Avalon-MM master (or test whatever Altera provides). I'm interested in seeing how well Linux deals with PCIe hot-swap. Cheers, Dave