Hello,
First of all, I'm a beginner. I'd like to use my zybo board to print a simple image on a screen using the VGA port. I looked for some tutorials, but either they are all working on older version of Vivado (mine is 2016.4), therefore the vhdl file have compatibility problems, or they are not so clear about how to actually configure the board to use the VGA. I really just want to do something simple, like printing a static ball on the screen...
Can somebody help me to understand how to do this?
Gianluca

Hello to all,
i have start working on video processing through zybo board,so for that i have gone to digilent zybo video workshop file, its link is provided below
http://web-pcm.cnfm.fr/wp-content/uploads/2017/04/Workbook-Digilent_ZYBO_Video_Workshop.pdf
i gone through all steps carefully make all connection as shown in file but still nothing show
Changes i have done in ip
clocking wizard ip : sys_clock take 125mhz freq and set to mmcm at 200 mhz output
dvi2rgb1v_7 ip : preferred resolution 1280*720 and other option as guided in file
and other ip changes as provided in file
Regarding error: their is no error or any critical warning is shown in vivado 2016.2 version
bur still nothing shows,even though i have provided external power supply 5v to it and change jumper to its specific part
edge detetion works fine and show rover output so i imported it in design and the complete design image i add in attachment.( i have twice check the hdmi cable ,vga projector and lp output all works fine)
i have attach xdc file and desing image i m using zybo board having specific xc7z010clg400-1 part
pls provide some solution or any other help ASAP
Zybo_B.xdc

Hello,
I've been having a lot of fun with the VGA Pmod. I thought other forum members might appreciate a couple of tutorials I've produced with it.
Part 1: Intro to VGA and basic animation: https://timetoexplore.net/blog/arty-fpga-vga-verilog-01
Part 2: Bitmap display using your own image: https://timetoexplore.net/blog/arty-fpga-vga-verilog-02
Both are written in pure Verilog, so it's (hopefully) easy to understand what's going on and adapt for your own projects.
Feedback welcome,
Will

I'm trying to develop a video pipeline on the Zybo platform that takes HDMI video in passes it to a custom IP and outputs the new video through VGA. I manage to create a system that takes HDMI and passes the video straight out the VGA interface but when I add in the AXI stream to video IP blocks in I can't seem to get a video out of the VGA.
I tried tying all the rst_n and enable on the vid_in_axi4s, axi4s_vid_out and tc off to one but still doesn't output any video on the VGA. I also output the locked signal from the axi4s_vid_out IP to one of the LEDs on the board and it never gets set high. Does anyone have any idea what I might have setup wrong or if I'm missing something?

Hello,
I've posted the next part in my FPGA graphics series using the Arty + VGA Pmod or Basys 3.
It shows you how to make use of double buffering to animate sprites using simple Verilog.
https://timetoexplore.net/blog/arty-fpga-vga-verilog-03
Feedback very welcome,
Will
PS. I'll add the source to GitHub shortly.

Hi all,
I m beginner in Fpga, actually i dont know anything in FPGA. Last week I bought a zybo z7-10 board from diligent store. I want to run a linux on this borad, for that i did everything as per the tutorial
link:http://www.instructables.com/id/Setting-up-the-Zybot-Software/
And i installed linario in the sdcard. I only have a VGA monitor to connect to zybo, so that i used a vga to hdmi converter and boot the zybo. But i cant see nothing in the screen except the text "Input Not Supported".
Three leds in the board is lighted up and glow still.
I dont know , whats the actual problem with this?
Can anyone help me...
Thanks in advance

Hi all,
I m beginner in Fpga, actually i dont know anything in FPGA. Last week I bought a zybo z7-10 board from diligent store. I want to run a linux on this borad, for that i did everything as per the tutorial
link:http://www.instructables.com/id/Setting-up-the-Zybot-Software/
And i installed linario in the sdcard. I only have a VGA monitor to connect to zybo, so that i used a vga to hdmi converter and boot the zybo. But i cant see nothing in the screen except the text "Input Not Supported".
Three leds in the board is lighted up and glow still.
I dont know , whats the actual problem with this?
Can anyone help me...
Thanks in advance

Dear experts,
I have been working with the zybo hdmi in vga out project. Normally, It takes 24 bit vga signal, but I want to feed 16 bit grayscale as input (YUV 4.2.2) through vid in to AXI-4 Stream and 16 bit grayscale as output. Is there any solution for this?
thanks-
Shuvo

Dear Experts,
The hdmi in to vga out demo project gives perfect resolution at 1080p settings. But, wherever I try to set other resolution as I need 720p, it gives me extended resolution. Is there any option that I can fix it at 720p? Coz the monitor I want to use for output doesn't support Full HD (1080p) resolution.
https://reference.digilentinc.com/learn/programmable-logic/tutorials/zybo-hdmi-demo/start
Regards-
Shuvo

Dear Experts,
I want to implement XAPP1167 OpenCV HLS Xilinx project which mainly shows the edge at the output video. In the ZYBO hdmi demo project, I have added this custom IP between the interface of video in and AXI4 stream to VDMA. Initially, I got the error message says, "Bus interface property TDATA_NUM_BYTES does not match". Then I added axis_subset_converter_0 which allows me to downgrades TDATA width from 3 to 2 byte and successfully validated the updated designed. I also able to generate bit stream but the design does not fulfil the timing requirements. I am getting total negative slack -64.679 nano seconds. Please have a look into my design and give some possible suggestions. Regarding the IP core, I am sending a colour image of 1920*1080.
Any kind of information regarding adding HLS ip into zybo hdmi demo project will be very helpful for me.
thanks..
Shuvo

Dear experts,
I am actually new in this field and have a very few experience with zybo board. I have implemented the zybo_hdmi_in_demo which is required for my master thesis. Output video streaming at the VGA monitor shows a cropped part of my input video source. What should I do now? And can I use other HDMI source rather than my PC? And what is the preferred input HDMI video resolution? any kind of support or suggestions is highly appreciated.

Hello everyone!
I'm not sure whether this forum is the right place to ask this question but still.
I have connected a low-cost OV7670 camera to this Digilent example:
https://reference.digilentinc.com/learn/programmable-logic/tutorials/zybo-hdmi-demo/start?redirect=1
Here is what I've done. I took the OV7670 - > AXI4Stream core from here (link below) and attached it instead of HDMI input. I changed this module to have not 32 bit RGBA output but 24 bit RGB input
https://lauri.xn--vsandi-pxa.com/hdl/zynq/xilinx-video-capture.html
and also I took the OV7670 Controller from here (link below) and also attached it to the design
https://lauri.xn--vsandi-pxa.com/hdl/zynq/zybo-ov7670-to-vga.html
The system works o'k.
What I would like to do is to remove the HDMI part from this design. I just want the image to be captured by the camera and be shown on VGA screen. If I understand it right the axi_gpio_video and the v_tc_1 ip-cores send some interrupt essential for the stream to start. I am interested and I have no understanding of what I have to do to remove the HDMI part from the design so that I always saw the image from my OV7670. Do I have to somehow simulate the interrupts? Can I do this in C code?
Thank you very much for response in advance.

I'm making a project about image processing. The board used in the project is the Zybo board and operates on a frame 1920x1080 (Full HD).
My project is Square Area Detection Then motion detection within the rectangular area.
I would like to ask for advice or guidance directs the operation of the mine. (I'm new to Zybo boards and I just learned recently.)
If anyone has suggestions and links for learning. Please direct me and attach the link.
Thanks in advance. ^__^

Hi Everyone,
I was trying to capturing hdmi signal and display video on VGA monitor using DVI to RGB IP Core (version 1.6 or 1.7). Everything works correctly for 800x600 1024x768 and 1280x720. But for other resolutions (1280x1024 1600x900 1680x1050 and 1920x1080) image on external VGA monitor has very poor quality. Could anyone suggest where is the problem. In dvi2rgb spec I've found info about constraining tmds clock so based on my calculation for ZYBO IP Core should work correctly for 1680x1050 resoultion (tmds clock is about 120). I am using this IP Core in bigger project and I need to explain where is the problem. I can also upload my project in Vivado.
Thanks for any help

Hi,
I am trying to develop a simple project for HDMI to RGB. I am using dvi2rgb core and clock_wizard for generating a reference clock for it. I supplied 200MHz to dvi2rgb. I tried both MMCM and PLL modes in clock_wizard configuration. But when I dump the bitstream on Zybo Vivado shows the following warnings and my design doesn't work.
WARNING: [Labtools 27-3123] The debug hub core was not detected at User Scan Chain 1 or 3.
Resolution:1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active OR2. Manually launch hw_server with -e "set xsdb-user-bscan <C_USER_SCAN_CHAIN scan_chain_number>" to detect the debug hub at User Scan Chain of 2 or 4. To determine the user scan chain setting, open the implemented design and use: get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub].
Attached are my block diagram which I'm implementing, and my constraints file.
Please help me. I have read a lot of posts on this project but couldn't find any solution that can work for me. If you want my project file I can attach it as well.
Thanks
ZYBO_Master.xdc

Hi all,
I am a new user of basys3 board and I need your help about the "Built in Self Test " of this link https://reference.digilentinc.com/basys3/refmanual
Can you share me the source code of this self test and the IP cores used to this self test.
Regards,

I am attempting to sample values from the XADC and use those values to control a video display connected via VGA. Both of these parts work separately, but when I attempt to combine the hardware for the two, the XADC stops working. Specifically, the XADC still returns values, and those values still fluctuate slightly, but they don't represent the voltage anymore.
I'm using the XADC in single channel mode, and have tried both channels 6 and 14. I've connected my analog input to PMOD-JA in the appropriate places for channel 6 and 14. Both of these channels function perfectly in my XADC only design, but when I add the VGA display hardware they stop working.
The values returned by the XADC still fluctuate, so it's sampling something, just not the thing I want it to sample. For example, I had a voltage difference of approximately 0.37 volts across channel 14 and some of the 16-bit values returned by the XADC were 206, 187, 196, 226, 201, 220, 201, 187, 222, 229, 192, 213, and 225. These values stay in this 100-200 range even if the voltage is changed. Again, the correct values are returned when using the hardware without the VGA display. Adding the VGA hardware breaks it.
I'm interested to know if anyone has successfully used both the VGA output and the XADC in the same project, and if they had to do anything special to get the setup working. If necessary, I could provide code or a Vivado project that demonstrates my issue.
Thanks!

Dear everybody.
Thanks DIGILENT for their very nice demo on HDMI => VGA converter on ZYBO.
I would like to use ZYBO to convert input HDMI image to VGA output and also write result to BRAM for later use.
PS should also work in parallel reading those result out (from memory) and written to somewhere via Ethernet.
As my understanding, the demo given by DIGILENT for HDMI => VGA converter uses no BRAM.
I would like to know if some similar (to my purpose) demo is available and where on the design should I modify to achieve the above purpose.
Best Regards,

I've got a HDMI link set up between two Zybos using Digilent's DVI cores (rgb2dvi and dvi2rgb). Having tested everything successfully using a 1080p pipeline, however upon switching to VGA resolutions (640x480) the sink part cannot successfully decode the stream. It never occurred to me that low resolutions would pose an issue - but I've been banging my head on a wall with this one!
As per the documentation, I've adjusted some constraints and multiplier / divider combinations for the MMCM in the dvi2rgb core and the clock recovery block is successfully recovering my 25.175 MHz pixel clock (although interestingly it is somehow still able to recover it when the MMCM is configured for 1080p - something I wasn't expecting as the VCO is operating way out of spec at 125 MHz). I'm not getting any activity on the pVDE or CTRL signals, so I think there's something up with the phase alignment or channel bonding.
Receiver block diagram is attached, but it's pretty standard.
Any clues?
EDIT:
I've just noticed that the documentation lists the lower limit for the pixel clock as 40 MHz. Initially I thought this was due to the VCO range, but I also just noticed that the 32-tap delay spans 2.5ns, which happens to be the period of a single bit at 40 Hz. Is my limitation down to the deskew implementation?

Hello! My task is creation of real-time system which can draw simple graphics figure on monitor (VGA) when the system register input pulse. The main difficulty is to draw this image only once (for measuring man's reaction time: time between image drawing and the button pressing). I think it'll possible to use FPGA to register input pulse and to generate VGA signal with required parameters. But I don't undestand can the ONLY ONE image frame be drawn at input pulse interrupting or not?
The main task is to minimize time delays and in this case I can't use the standart solutions.
For example, using Raspberry Pi or a similar device is accompanied by the necessary of screen refreshing and image drawing binding. This adds a random time delay from 0ms (if the screen refresh time coincides with time of input external pulse which starts drawing figures) to 1/60Hz=16.7ms.
I need your advices or suggestions. Thanks!