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
Visitor guenselmann
Visitor
419 Views
Registered: ‎12-03-2018

Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

Hi all!

 

I am currently working on a design involving a Zedboard Mini-ITX with a Zynq XC7Z100-2FFG900 on it (https://www.avnet.com/shop/us/products/avnet-engineering-services/aes-mini-itx-7z100-sys-g-3074457345635221590/?aka_re=1). The board has 1 GB of DDR3 memory for the PS and 1 GB DDR3 connected to the PL. I am new to Zynq designing and I ran out of things to try to resolve my problem, so I decided to ask here. My final goal is to have a design involving the PL DDR3.

 

To get familiar with the system, I ran the out-of-box demo provided by AVNET on zedboard.org (http://zedboard.org/support/design/2056/17). Booted from the SD-card, connected via SSH and ran some programs. The board seems to work so far.

Then I set up a block design in Vivado 2016.4 (I am kind of stuck with this version) containing only the processing system and executed the "Hello World" program in the SDK via JTAG boot. Works great, I get the UART response!

Now I tried to make a design involving the PL DDR3 by following the tutorial which is included in the board file .zip on http://zedboard.org/support/documentation/2056. I attached a screenshot of the block design. When I try to run "Hello World" on this design the LED indicates that the board was programmed successfully, but I don't get any UART output. So I followed the tutorial again, still no luck.

Eventually I decided to extend my working PS-only design by just the MIG for the PL DDR3 (DL here: https://www.dropbox.com/s/f5em9xua567leqi/minimal_example_ddr3.xpr.zip?dl=0), but with this design I also get no UART output. I used the Vivado board automation features of cause. So, I suspect that I have narrowed down the cause of my problems to the MIG. Remember that the out-of-box-demo worked fine and it includes a MIG, but it was made in Vivado 2013.4.

What am I doing wrong that makes the entire system not work as soon as I add a MIG for the PL DDR3? I have tested some other designs not involving the PL DDR3 and they all worked fine. Example: http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html

 

I really appreciate your help because I don't know what else to do.

Best regards!

Tags (5)
Screenshot from 2019-01-21 19-27-56.png
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
366 Views
Registered: ‎03-19-2014

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

which DDR memory is your test code linked to - PL or PS?   If PL, that memory won't exist until after the FSBL is run and the PL is programmed.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
8 Replies
Visitor guenselmann
Visitor
370 Views
Registered: ‎12-03-2018

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

Some updates as the issue persists:

Today I decided to use an older version of Vivado (2015.3) because that is what the most recent board files provided by AVNET are released for.

I set up a fresh project with a minimal design only including the PS and MIG for the PL DDR3, which you can see in the attached screenshot. Long story short, the system still hangs. I assume it hangs because when I run the "Hello World" sample given in the SDK the FPGA LED says that it has been programmed correctly, but I get no UART output. If I try to run the application again, SDK says that another application is still running and asks if I want to reset the processor.

However, I also ran some other applications with surprising (to me at least) results. The "Memory Tests" given in the SDK pass, but I'm not sure what to make of this. Because I then gave the Zynq-specific "Zynq DRAM tests" a go and there I get a lot of errors. Can anyone help me interpret these results?

Screenshot from 2019-01-22 19-37-26.png
Screenshot from 2019-01-22 19-52-17.png
Screenshot from 2019-01-22 20-41-52.png
Screenshot from 2019-01-22 20-43-42.png
Screenshot from 2019-01-22 20-44-33.png
0 Kudos
Moderator
Moderator
367 Views
Registered: ‎03-19-2014

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

which DDR memory is your test code linked to - PL or PS?   If PL, that memory won't exist until after the FSBL is run and the PL is programmed.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor guenselmann
Visitor
354 Views
Registered: ‎12-03-2018

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

I did not touch the linker scripts after making the Application Projects because I assumed that the tests would automatically include all memories from the bitstream I exported to the SDK from Vivado. Is this what you mean?

0 Kudos
Moderator
Moderator
348 Views
Registered: ‎03-19-2014

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

I'd advise you check them out to see where your code is linked.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor guenselmann
Visitor
331 Views
Registered: ‎12-03-2018

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

Alright, I see that I had no clue what I actually tested before. Is it even possible to test the PL DDR, which is connected via AXI, in this way?

EDIT: Well, I just had a look at the linker script for the "Hello World" program and it was set up to be placed in the PL DDR (MIG) by the SDK. It works now after re-generating the script and pointing it to the PS DDR. I don't understand why the SDK would ever think it was a good idea to default to the MIG, but I guess I'm supposed to be the one thinking here.

Do I have to worry about those errors shown by the memory test earlier?

Screenshot from 2019-01-22 21-34-27.png
0 Kudos
Moderator
Moderator
312 Views
Registered: ‎03-19-2014

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

The code is linked to OCM, which is what I would expect for the DDR test.    I would use the SDK debugger to see what is going on and look for the hang your seeing.    Make sure ps7_init is run and the PL is programmed. 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor guenselmann
Visitor
277 Views
Registered: ‎12-03-2018

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

I accepted your initial response as the solution since it pointed me in the right direction of checking the auto-generated linker scripts - see the edit in my last post.

Do I have to worry about those errors shown during the memory test earlier?

Thanks a lot for your help!

0 Kudos
Moderator
Moderator
190 Views
Registered: ‎03-19-2014

Re: Zedboard Mini-ITX (Zynq XC7Z100) seems to hang when PL RAM (MIG) is used

Jump to solution

The DDR eye tests move the eye and tests data.  As the eye shifts there will be more or less errors in your output.   The idea is to see how sensitive your design is to shifts in the eye.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos