Altera_Forum
Honored Contributor
12 years agoPCIe Legacy Interrupts Not Happening
I have a Cyclone V design built with Qsys (Quartus II 13.0 SP1). The Qsys module has an Avalon-MM bus, a C5 HIP PCIe core and some other blocks connected to PCIe BARs (all 32-bit non-prefetch). The PCIe is a single DW completer, Gen1 x1 and using 62.5MHz clock from the PCIe, for Avalon. Pretty basic config.
I'm trying to use Legacy interrupts. The INTx port is exported out of the Qsys module and the interrupt input signal comes from a custom interrupt controller. I can control the interrupt signal at will, I see it going high/low (confirmed by bringing the signal out of the FPGA) but I don't see a corresponding change in the PCIe Status Register. (Should I?) In addition, I don't see eny change to the interrupt acknowledge signal. There should be a pulse appearing when the INTA TLP is sent out by the PCIe core. Using some windows utilities also show that not interrupt is seen coming from the PCIe core. I checked a number of things. The Command Register shows interrupt enabled (i.e. not disabled). MSI is not enabled. I even tried the "Auto enable PCIe interrupt (enabled on power-on)" option ticked, but no difference. Meanwhile, I have absolutely no problem reading/writing the BAR areas. :confused: I've read through many interrupt related messages on this forum and elsewhere and not many sounded similar and even the ones that did, are supposed to have been fixed by earlier versions of Quartus. I must be missing something basic. Has anybody seen anything similar? Do you have a similar design where you saw Legacy Interrupts working? Any advice on what to check for? Any helping comments will be appreciated, thanks! Sandor