UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
5,552 Views
Registered: ‎04-02-2014

CDMA Not Triggering Interrupt with Vivado Project, but works with XPS

Hello,
 
I am busy trying to use a CDMA to move data into the DDR on a Zynq Zedbaord. I have followed a tutorial on how to do this (http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_2/ug873-zynq-ctt.pdf) pg 51. I have been able to successfully use the CDMA when creating the system using XPS (and Plan Ahead). However, when I use Vivado to create the same system the interrupt doesn't trigger to indicate a successful transfer, neither does the transfer occur. It's a simple system but I can't seem to see why it works on XPS and not Vivado.
 
I would like to continue using Vivado as all my other designs are housed within it and it takes around 8 minutes to implement as opposed to 30 (for these two systems). 
 
I've attached the two projects if anyone can see an obvious issue with the vivado project - please let me know
 
PS: You might notice that the XPS project has a BRAM included, that's just for my testing and not in use in this design.
 
 
Thanks,
Dean
Tags (4)
0 Kudos
4 Replies
Xilinx Employee
Xilinx Employee
5,540 Views
Registered: ‎08-02-2011

Re: CDMA Not Triggering Interrupt with Vivado Project, but works with XPS

Hi Dean,

I haven't had a chance to look at your projects, but i'd check the following things
- Are the interrupt lines from the CDMA hooked up to the GIC in hardware?
- Have you enabled interrupts in the CDMA registers?
- Have you enabled interrupts in GIC?
- Have you registered your handler with GIC?
- Do you have any errors in the CDMA status registers indicating that a transfer failed for some reason?
- Do you see Memory-mapped accesses being attempted once you kick off the transfers (via Vivado Logic Analyzer)
- Do you see all the data in your buffers in software?
www.xilinx.com
0 Kudos
5,533 Views
Registered: ‎04-02-2014

Re: CDMA Not Triggering Interrupt with Vivado Project, but works with XPS

Hi bwiec,

 

Thanks for the quick reply. To answer your questions:

 

- Are the interrupt lines from the CDMA hooked up to the GIC in hardware? - Yes, there is one interrupt line connected directly to IRQ_F2P, should I be using an AXI interrupt handler?

irq connection.jpg
- Have you enabled interrupts in the CDMA registers? - See below
- Have you enabled interrupts in GIC? - See below
- Have you registered your handler with GIC? - See below

For the 3 previous questions: I am using the exact same program (provided with the file ug873-zynq-ctt.pdf) and I assume the registers are being set correctly as the same code works with the XPS system.

code.jpg

 


- Do you have any errors in the CDMA status registers indicating that a transfer failed for some reason? - Not that I can see, no
- Do you see Memory-mapped accesses being attempted once you kick off the transfers (via Vivado Logic Analyzer) - Yes, but no interrupt is ever produced - I put a trigger on the intrrupt line in logic-analyser which never fires
- Do you see all the data in your buffers in software? - No

 


The Vivado project includes the exported SDK files as well as the code if you have a few minutes to check. It hsould be passed implementation and ready to run.

 

Thanks,

Dean

0 Kudos
5,532 Views
Registered: ‎04-02-2014

Re: CDMA Not Triggering Interrupt with Vivado Project, but works with XPS

Hi bwiec,

Please see reply below...
0 Kudos
5,523 Views
Registered: ‎04-02-2014

Re: CDMA Not Triggering Interrupt with Vivado Project, but works with XPS

Hi bwiec,

 

I have tried to recreate the Vivado project with the most basic components. Exported to SDK and then created a bare bones app based on the 'Periperal Tests' template. All tests pass except the CDMA one. If you open the test app you can see. The test app uses polling, so it doesn't seem to be an interrupt thing.

 

There must be something wrong with the hardware setup but it's very simple and I can't find it. Any ideas?

 

https://www.dropbox.com/s/0qfu6xetn3l50oc/CDMABasic.zip

 

Thanks,
Dean

 

per_tests.png

0 Kudos