Forum Discussion
Stratix 10 PCI Express Avalon®-MM DMA Reference Design. Interrupt generation.
Hello !
Working with a Stratix 10 board. Per AN 829: PCI Express* Avalon®-MM
DMA Reference Design built the design and uploaded it to the board. I work with Windows. I successfully run DMA Read, DMA Write. After the end of the DMA procedure, I register an MSI interrupt.
Than want to additionally register user interrupts. To do this, I use the intx_req_i input, which became available after selecting Export Interrupt conduit interface. And also tried using the rxm_irq_i[15..0] inputs. I apply a logical unit signal of a certain duration to these inputs, but I do not register an interrupt.
As I understood from the description, I must first enable interrupts by accessing the PCIe Interrupt Enable Register, which is located at 0x0050.
Please tell me how to properly translate the address from BAR in order to access this register from under windows. The map of connections and addresses is shown in the picture. Thank you. .
15 Replies
- Volodymir
New Contributor
Hi ! Thanks.
In your last answer you wrote: You need to enable export MSI interface to implement custom MSI interrupt handle and send the MSI interrupt via TXS interface.....
I selected the option in platform designer – Export MSI/MSI-X conduit interface and after then, interface added to the top level of the project:
.intx_req_i (), // input, width = 1, intx_intfc.intx_req
.msi_intfc_o(), // output, width = 82, msi_intfc.msi_intfc
.msi_control_o(), // output, width = 16, msi_control.msi_control
.msix_intfc_o (), // output, width = 16, msix_intfc.msix_intfc
When trigger interrupt using input .intx_req_i (), OS (operating system) register legacy interrupt.
how this interface can help generate MSI interrupt ?
Can you give an example for your recommendations ? about which you wrote:
- ……….you need to create a MSI (Memory Write) Transaction,
- and transmit it through the TXS interface based on the information that you obtain from the MSI conduit interface,
Regards
- Wincent_Altera
Regular Contributor
Hi,
To enable/generate MSI Interrupt. You can refer the link provided in the previous reply.
https://community.intel.com/t5/FPGA-Wiki/Handling-PCIe-Interrupts/ta-p/736044
If you have any doubt, you may refer to the design example , MSI Design Example for Stratix V
It might not exactly the same as Stratix 10. But you can refer to it as a case study.
Hope this is able to help.Regards,
Wincent_Intel
- Wincent_Altera
Regular Contributor
Hi
We do not receive any response from you.
This thread will be transitioned to community support.
If you have a new question, feel free to open a new thread to get support from Intel experts.
Otherwise, the community users will continue to help you on this thread. Thank you
If you feel your support experience was less than a 9 or 10,
please allow me to correct it before closing or please let me know the cause so that I may improve your future support experience.
Regards,
Wincent_Intel
__________________________________________________________________________________
- Toros
New Contributor
Can this design be run on Stratix 10 AX board?