Forum Discussion
PCIe on Stratix IV
Hello,
I am an altera newbie and am currently working on getting the PCIe system running on DE4.The version of quartus I am using is 10.0 and the SOPC builder fails every time I try to build the PCIe system showing a Java null pointer exception without giving any reason.I am following the directions given by the IP Compiler for PCI Express User Guide. Any help in this matter would be very much appreciated.13 Replies
- Altera_Forum
Honored Contributor
10.0 is quite old, and SOPC builder has been superseded by QSYS.
Can you try a more recent version of Quartus and use Qsys? Nial. - Altera_Forum
Honored Contributor
Hey,
I would prefer to work with the latest version, but unfortunately till that is available i want to find if theres some way to work with the available tools. - Altera_Forum
Honored Contributor
--- Quote Start --- I would prefer to work with the latest version, but unfortunately till that is available i want to find if theres some way to work with the available tools. --- Quote End --- If you are running Quartus 10.0, and compiling for the DE4, then you must already have a subscription license. In that case, just install the newer version of Quartus. I did some tests on the Qsys stuff in this thread: http://www.alteraforum.com/forum/showthread.php?t=35678 Using the 11-series of tools. I haven't tried using PCIe with 12.x or 13.x, but the PDF describes the sequence used to create the IP cores, so it should be sufficient for you to create an example for the DE4. Cheers, Dave - Altera_Forum
Honored Contributor
Thanks Dave for the reply.
Newer version of the Quartus(12.0) is installed now and I am able to build the PCIe system. But I am not able to communicate with the board. I am working on a linux machine, and lspci command shows no track of the altera board being connected. I noticed in your pdf that sometimes wthout the reconfiguration reset logic, the device would never negotiate with a X4 width. The design currently under test is without reconfiguration reset logic and withX4 width. Would this be a problem? - Altera_Forum
Honored Contributor
--- Quote Start --- Newer version of the Quartus(12.0) is installed now and I am able to build the PCIe system. --- Quote End --- OK. I think that 13.x has better support for PCIe now ... but I have not looked at that version yet. --- Quote Start --- But I am not able to communicate with the board. I am working on a linux machine, and lspci command shows no track of the altera board being connected. I noticed in your pdf that sometimes wthout the reconfiguration reset logic, the device would never negotiate with a X4 width. The design currently under test is without reconfiguration reset logic and withX4 width. Would this be a problem? --- Quote End --- Download one of the original example designs that comes with the kit. If that design shows up ok, then you know that your problem is related to your current design. Cheers, Dave - Altera_Forum
Honored Contributor
Thanks Dave. I had a more obvious problem there which i didnt identify when posting this. The problem is that the system needs to be rebooted for the PCI system to be enumerated and when its done, the the FPGA is also restarted, which makes it lose its bit stream, hence not detected. Could you suggest any solution which would not require a separate power supply to the board. I am currently trying to keep the program in its CFI flash and configure it upon restart.
- Altera_Forum
Honored Contributor
--- Quote Start --- I had a more obvious problem there which i didnt identify when posting this. The problem is that the system needs to be rebooted for the PCI system to be enumerated and when its done, the the FPGA is also restarted, which makes it lose its bit stream, hence not detected. Could you suggest any solution which would not require a separate power supply to the board. I am currently trying to keep the program in its CFI flash and configure it upon restart. --- Quote End --- The procedure depends on whether you use one machine or two. A.) Using one machine, boot and use Quartus to configure the board, then restart the machine. A restart causes the machine to reboot and re-enumerate the PCIe bus, and hopefully causes it to find the DE4. B.) Using two machines, power-on the machine with the DE4 board plugged in and hit ESC or DEL to enter the BIOS. Use your other machine running Quartus to configure the DE4. Then allow the machine with the DE4 to boot. Personally I prefer method B. Cheers, Dave - Altera_Forum
Honored Contributor
Thanks Dave, thats really helpful.
Unfortunately it will be some time till another machine is available, so I need to try and flash the board with the bit stream. Have you tried with flashing the board and configuring it from Flash.There are quite a few ways which have been given in the Board User manual but I didnt find them clear and generic. Would you have any pointers on where to start. - Altera_Forum
Honored Contributor
--- Quote Start --- Unfortunately it will be some time till another machine is available --- Quote End --- That is ok, method (A) should work fine. You could at least try it :) --- Quote Start --- so I need to try and flash the board with the bit stream. --- Quote End --- This should also work fine. The only caveat is that the DE4 must configure within whatever time it takes for your PC's BIOS to start enumerating the PCIe bus, i.e., within 100ms. --- Quote Start --- ave you tried with flashing the board and configuring it from Flash.There are quite a few ways which have been given in the Board User manual but I didnt find them clear and generic. Would you have any pointers on where to start. --- Quote End --- I'd start with the user manual. If you get stuck, let me know, and I'll look at the user manual, I have it downloaded, but don't have time to look at it right now. Cheers, Dave - Altera_Forum
Honored Contributor
Thanks Dave. I keep trying with the method A but to no success. I followed the DE4 Getting started manual, but the tools are giving a problem. Could you please look into it if you have the time and suggest a possible direction. I understand the catch of configuration time vs the BIOS start time, but am willing to try it.
The weirdest thing with method A is the fpga undergoes a hard reset when , it is programmed with a PCIe system and PC is rebooted, thus losing its configuration. This does not happen when a non PCIe system is programmed on the fpga.