FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits

PCIe on Stratix IV

Altera_Forum
Honored Contributor II
1,590 Views

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.
0 Kudos
13 Replies
Altera_Forum
Honored Contributor II
351 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

 

--- 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
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

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?
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

 

--- 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
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
351 Views

 

--- 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
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

 

--- 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
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

Weirdest thing with method A is, that soft reset for the fpga is not working. Whenever the system is rebooted, the fpga also is restarted and hence loses its configuration. This does not happen when fpga is configured with a non PCIe system and system is restarted.

0 Kudos
Altera_Forum
Honored Contributor II
351 Views

 

--- Quote Start ---  

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. 

 

--- Quote End ---  

 

I cannot look at it this week. Can you ping me on Monday and I'll check on the DE4-530K that I have. Which board do you have? 

 

 

--- Quote Start ---  

 

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. 

--- Quote End ---  

 

 

What do you mean by "hard reset"? The board should see PCIe reset asserted, but that should not cause the configuration to clear. 

 

Have you probed the hardware to check that all the voltages are present through power-on? How about checking whether the configuration source is correct? (I forget how many options this board has, others have the option for MAX II PFL/FPP configuration or AS configuration, depending on jumper or dial settings). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
351 Views

Thanks for the reply Dave. Your help is greatly appreciated. 

 

I am using Terasic Altera DE4 Development and education board - the 230K version.The voltages are present through power on. 

 

By hard reset i mean, the board itself is restarted not just the PCIe system.I have still not been able to figure that out. 

 

Meanwhile,I was able to generate a flash file from the sof.( Although at the end it gives a memory malformed error, I wanted to test with the flash file it produced)I was also able to successfully flash the CFI Flash following the procedures of the manual. But upon reset, the board is not being configured from the flash or atleast with the desired flash. I have been looking all over the internet to find some configuration settings for the board(some jumper or dial settings) but could not find them. They are not given in the user manual or the kit. I however found similar info for DE4 development board (530K), which has a rotary switch to select between the factory flash pages and user flash pages.Maybe something similar is preset for this board too, still in the pursuit of that.  

 

The flash procedure is still not without errors and configuration settings are still amiss.Would you have any info in this direction.
0 Kudos
Reply