Jump to content
  • 0

Problem with Arty Z7 HDMI Out demo


jaypdx

Question

I'm having a problem with the Arty Z7 HDMI Out demo (https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-z7-hdmi-demo/start).  I can build, start and run the demo and it works  just fine after a power-cycle, but if I then re-load and re-start the SDK code (via the debugger) without re-loading the FPGA bitstream I get the following error and there is no output from the HDMI port:

Read channel reset failed 11000
VDMA Configuration Initialization failed 1
(error is happening in XAxiVdma_CfgInitialize(), right after XAxiVdma_ChannelInit(RdChannel); and XAxiVdma_ChannelReset(RdChannel);

If I re-load the bitstream before re-launching the code things work fine, but it doesn't seem like I should have to reload the bitstream every time.

Any idea what's going on?   I'm using Vivado 2018.3 and version 6.3 (rev 6) of the VDMA IP.

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Hi @jaypdx,

Welcome to the Digilent Forums!

Vivado projects are version specific and are not always easily upgraded to a different Version of Vivado. In this case, both the HDMI-OUT for the Arty-Z7-20 and the Arty-Z7-10 were last updated to "Vivado 2018.2".  It does sound like you have upgraded it correctly since you are able to get it to work.

I would suggest to press PS-RST button which is connected to a dedicated pin on the FPGA. The PS-RST button will reset the Processing system of the Zynq. I believe you should be able to re-run the application without an issue after you press the PS-RST. 

best regards,

Jon

Link to comment
Share on other sites

If I push the SRST or POR buttons I can re-program the FPGA and then reload the code via the SDK/debugger and everything works.  I'd just like to understand why the VDMA won't initialize properly following a soft-boot by the debugger.... it seems like the _ChannelInit () and _ChannelReset() should be enough to get the peripheral working properly - I wouldn't have expected a full bitstream re-load to be necessary.  Probably there's something that's not being fully re-initialized by the Xilinx SDK code.  I tried reversing the order of _ChannelInit() and _ChannelReset() but I still get the error on a soft-boot.

A couple of other things... I notice that the board stays powered if I remove the USB connection but leave HDMI Out connected (when my external monitor is powered on).  HDMI is only spec'd up to 50mA so the Arty shouldn't be running off that.

Also, I needed to modify the frame-buffer declaration in display_demo.c to avoid an occasional alignment-related error:

  u8 frameBuf[DISPLAY_NUM_FRAMES][DEMO_MAX_FRAME] __attribute__((aligned(16)));        // need to specify alignment or we sometimes get "Unaligned address 0: 12050c without DRE" error during DMA config
 

- Jay

 

Link to comment
Share on other sites

Hi @jaypdx,

You should either turn off the HDMI monitors that are connected to the Arty-z7 or unplug the HDMI cables prior to turning off the Arty-Z7. You can back power the Arty-Z7 through the HDMI connectors. This can cause potential issues with the Arty-Z7 startup power sequence which could affect your project. Its my understanding that back powering could potentially cause damage as well. 

best regards,

Jon

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...