Evocati

Members
  • Content Count

    17
  • Joined

  • Last visited

About Evocati

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Evocati

    Zybo DDR3-533 bandwidth

    Thank you Andrew for the clear explanation! I finally debugged it out last night. The reset signal for some blocks in PL was massed up. Now the system works fine. Thanks, Hao
  2. Evocati

    Zybo DDR3-533 bandwidth

    Hi all, I asked a question about how to use DDR on Zybo previously here: https://forum.digilentinc.com/topic/1017-how-to-use-the-ddr-on-zybo/ Now, I can successfully use AXI_DMA to write and read video data into and out from on-board DDR. But still I have doubt about the DDR3-533 bandwidth in the reference manual: http://www.xilinx.com/support/documentation/university/XUP Boards/XUPZYBO/documentation/ZYBO_RM_B_V6.pdf On page-12, it says the bandwidth = 1066Mbps. So that's around 125MB/s. But I can successfully read one frame and write one frame of 720p video data at the same time using Zybo. For that, the bandwidth is 1280 x 720 x 4 Bytes x 60Hz= 240MB/s for one read or one write channel. The sum of read and write combined is 240MB/s x 2 = 480MB/s. This is much larger than 125MB/s in the reference manual. But I do meet problem when reading 2 frames each time for my project on motion detection. The output video is purely noise. The bandwidth required for the motion detection is 1 write channel + 2 reads channel = 3 x 240MB/s = 720MB/s I am currently debugging my design and my first thought is that 720MB/s is beyond the max bandwidth for Zybo DDR. However, the number in reference manual does not seem to make sense to me since the bandwidth of 480MB/s works for Zybo DDR. And some online reference about DDR bandwidth(eg. http://frankdenneman.nl/2015/02/19/memory-deep-dive-memory-subsystem-bandwidth/) shows typical DDR3 has much large transfer rate. (DDR3-533 is not there, but I think it should be in the same magnitude of DDR3-800) Can we double check that the reference manual gives the right number for DDR3 bandwidth? This is probably the last step of my motion detection project. I hope I can finish it soon and post my project and some tips on the forum to help those who wanna do similar things. Thank you, Hao
  3. Those materials are great! Thank you Korken! Hao
  4. Thank you JColvin, Marshall and Hamster! Your replys are very helpful. I think my first step should be learning AXI and trying to configure PS. Then I will study what signal I should put on the AXI interface to read/write the DDR. Evocati
  5. Hi all, I am pretty new to FPGA design and wanna follow this tutorial(http://ece.wpi.edu/~rjduck/Microblaze MCS Tutorial v5.pdf) to create a "hello world" program through UART on Zybo. Basically, I wanna instantiate a microblaze MCS processor in PL and output its RX and TX signals to my laptop through UART. However, comparing Zybo with other board like Nexys4, there is no UART connection in XDC. (In XDC of Nexys4, there is TX/RX of UART connections.) For Zybo, TX/RX signals of UART is tied to PS MIO pins(read from chapter 6 of the Zybo manual). I tried to instantiate the ZYNQ7 Processing System and configure the "MIO configuration" part of this IP. I chose "UART 1"and selected IO to be MIO12/MIO13. Should I put MIO12 and MIO13 in the XDC file to tell vivado here is the ports for TX and RX of UART? Or I need to add some logic and configure "PS-PL configuration" in PS to connect the TX RX signals from microblaze to PS? I am stuck on this problem and any help is well appreciated! Thank you! Hao
  6. Some updates about my question: Below are 3 IPs I found related: a) AXI Direct Memory Access b) AXI Video Direct Memory Access (Figure-3 on Zybo Manual points out that the DDR Controller is connected with Programmable Logic through "High Performance AXI ports") c) Memory Interface Generator (found in Vivado IP Catalog) I am so confused about the above 3 IPs. Which one should I use to access DDR? Thank you! Evocati
  7. Hi all, I am currently working on a video processing project and need to store frames of RGB signals into the DDR on the Zybo board. But it seems there is not many documents discussing how to use it. Here are the material I have read: 1) Zybo reference manual (doesn't cover much but mentions to read Zynq-7000 manual) 2) Chapter-10 of Zynq-7000 manual DDR memory controller ( focus a lot on the architecture, but not on how to use it) 3) The Zynq Book Tutorial (mentions DDR while introducing processing system) Can someone give me more directions on how to use the DDR memory on Zybo? Things like what to read or where to find example project will be very very helpful. Thank you very much! Hao
  8. Evocati

    Zybo HDMI sink

    The problem is found and solved. The resolution in the default EDID(dgl_dvi_edid.txt) only support 3 resolutions: (https://github.com/DigilentInc/vivado-library/tree/master/ip/dvi2rgb_v1_5/src) 1280x10241024x820800x640 However, none of them matches the resolutions my GoPro Hero3 supports.(https://gopro.com/support/articles/hero3-faqs) The demo project provided by digilent here(http://www.instructables.com/id/Quick-Start-Test-Demo-Zybo-Xlinx-Zynq-7000-Image-F/) has resolution 1280x720 and this is supported by GoPro. Whoever have similar problem should either modify the file dgl_dvi_edid.txt, or use other video source that support more resolutions(laptop desktop with HDMI output like macbook). Thanks, Hao
  9. Evocati

    Zybo HDMI sink

    Thank you JColvin! Look forward to some good news. I will try to debug in the meantime. -Hao
  10. Hi Sam, Sorry to bother here since I have post so many questions recently on this forum. But I do find that what you mentioned here is the most urgent thing for newbies like me who has very limited experience on FPGA design. I found tons of documentations and answers for knowledge related to the GoPro project. Currently I'm trying to pass the signal through HDMI -> FPGA -> VGA. And the docs here in https://github.com/DigilentInc/vivado-library and discussions here https://forum.digilentinc.com/topic/560-help-with-a-zybo-video-design/#comment-1832 are extremely useful. However, none of the information is complete and solid. Especially when different IPs are put together, it is hard to figure out where the problem is. I am wondering if there is any tutorial that goes through a simple example like HDMI -> FPGA -> VGA? If there is, I think it will be the best foundation for people who start to do video processing on Zybo. Thank you very much!! Hao
  11. Evocati

    Zybo HDMI sink

    Hi guys, Here are some more details about my situation. My current status is: 1) (success) Making the demo go pro project working, no coding needed. (http://www.instructables.com/id/Quick-Start-Test-Demo-Zybo-Xlinx-Zynq-7000-Image-F ) 2) (no success)Trying to reproduce Marshall's design I found in this post(https://forum.digilentinc.com/topic/560-help-with-a-zybo-video-design/#comment-1832). It's the first reply on that link. For short, the design tried to do this: Camera -> HDMI -> Zybo -> VGA -> monitor HDMI and VGA are implemented with IPs here: https://github.com/DigilentInc/vivado-library Some facts potentially cause this problem is this: 1) My monitor shows the resolution is 1280x720 for the demo project. So I assume my GoPro Hero3 white edition's live feed is of this resolution. 2) The documentation for dvi2rgb core (https://github.com/DigilentInc/vivado-library/blob/master/ip/dvi2rgb_v1_5/docs/dvi2rgb_v1_5.pdf), shows that it's default supported format does not include thie above one(Page 7 "Default EDID"). 3) To make my GoPro demo project working, the GoPro needs to be turned on after the board is turned on. This is weird and not mentioned in the demo project. To sum up, there are just so many possible reasons. Maybe it's my GoPro's format is not supported by the default dvi2rgb setting. Maybe I made some mistake putting the dvi2rgb and rgb2vga together. Could anyone give me some directions? Thank you a lot!Hao
  12. Evocati

    Zybo HDMI sink

    Hi guys, I just tried this project on my board and it works. And video information read from monitor is: resolution 1280x720 pixel clock 74.1MHz Since I am using the dvi2rgb core here. And in the documentation, page 7 "Default EDID", the above resolution is not supported by the default one. Does it mean that I need to modify the EDID part to add the above resolution in it so that my go pro can find the right data format? Thank you very much!! Hao
  13. Evocati

    Zybo HDMI sink

    Hi everybody, I am working on a Zybo project similar to what has been done here. What I wanna do is simple: go pro -> HDMI -> Zybo -> VGA -> monitor So I use dvi2rgb and rgb2vga IPs just like what Marshall did in the above post Marshall's schematic: https://forum.digilentinc.com/uploads/monthly_2015_05/zybo_passthrough.png.efb9f569b3fabcb8a452c95dc1ccc1e2.png So I followed the above design. But there is just no image coming on the monitor. So then I decided to only connect the dvi2rgb module and test if there is any signal coming out: go pro -> HDMI -> Zybo -> pixelClk to on-board LED Output the pixcelClk and connected it with the on-board LED and a counter(couting 75M so the flashing LED can be recognized by my eyes.) My schematic: http://s19.postimg.org/ju2odjvup/hdmi_3_schematic.png Still the LED doesn't flash. I am not sure if there is something wrong with the way I configure the DDC part for dvi2rgb or if the code of dvi2rgb needs to be modified before using(Jieming mentioned in the above post). Has anyone met similar problems? Thank you for your time and any help or suggestions are really appreciated. Hao
  14. Thanks a lot, Kaitlyn!!! -Hao
  15. Hi Sam, Thank you for your reply. I am doing a similar project and your reply is really helpful. But I do find difficulty to search for the materials I want other than going through the forum. Is there a wiki page for Digilent Library or Tutorial? It's quite hard to use the support page of Digilent (http://www.digilentinc.com/Support/Support.cfm) to find anything needed. Thanks, Hao