Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

Lost Interrupts with Cyclone IV PCIe HIP

Hi,

I have a problem with receiving Interrupts from an external bus to my host computer via a Cyclone IV GX FPGA.

Short description of my System:

- I have an external Bus-System (About 10MHz) with 8 interrupt lines.

- The Interrupt lines are directly connected to the FPGA. (Well, with Schmidt-Triggers)

- The Interrupt-Lines are then routed to my QSYS-System which only holds The PCIe HIP and a Interrupt-Bridge with 8 Inputs to route the interrupts to PCIe HIP.

- The FPGA is connected with PCIe Gen 1, one Lane to an Intel Atom-Processor

- My OS is Linux Debian 7

- I wrote a small Kernel Module which counts the Incoming MSIs so I can read the number with <cat /proc/interrupts>.

Now I generate some Interrupts on my external bus just by pulling the lines to ground with a burst generator (self made on a DE0nano).

And everything works (nearly) fine. The problem is: about 0,5 to 2 percent of the interrupts get lost on the way. I checked the Interrupt-Signals even on the Interrupt-Port on the PCIe Core with LAI. The Signals don't get lost until they reach the PCIe Core.

I send only one Interrupt on the external bus in about 500us. I don't think this is too fast, right?

Do you need further information? Or am I doing something terribly wrong? Is there an Issue with the PCIe Core?

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    OK, sorry for that. It was a problematic configuration in BIOS which caused a massive CPU-Load.

    Afterreconfiguring BIOS the Interrupts are functioning in normal parameters.