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: 
Observer aytli
Observer
3,839 Views
Registered: ‎10-30-2017

Help with HDMI passthrough (Zybo Z7-10)

I'm working with the HDMI ports on a Zybo Z7-10 development board, and I'm trying to set it up as an HDMI passthrough. As in, the HDMI input signal would simply be fed into the output port without any processing in between. I will eventually be filtering the video signal but I'm using this passthrough as a starting point. I'm using Vivado 2017.3

 

I've started my block design by simply running the HDMI input port into a dvi2rgb decoder block, then the output of the decoder directly to an rgb2dvi encoder, which is routed to the pins of the HDMI output port. Vivado will allow me to compile and program the bitstream, but it doesn't seem to work; my HDMI output screen isn't getting a signal. I've included images of my block design and the compilation output.

 

The HDMI hardware on my Zybo, as well as my HDMI source and output screen, are all confirmed working because I've been able to run Digilent's HDMI demo on it.

 

Let me know if I can provide any more information.

Capture.PNG
capture2.PNG
0 Kudos
12 Replies
Voyager
Voyager
3,821 Views
Registered: ‎06-24-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hey @aytli,

 

I wouldn't leave the Reset inputs (aRst, pRst) unconnected and I would make sure to test with a DVI source/sink instead of an HDMI one first, because HDMI is not just DVI using a different connector ;-)

 

Hope this helps,

Herbert

-------------- Yes, I do this for fun!
0 Kudos
Observer aytli
Observer
3,815 Views
Registered: ‎10-30-2017

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @hpoetzl

 

Thanks for the response. The Zybo board doesn't have DVI ports on it, only an HDMI transmitter and receiver. I can't connect DVI devices without using an adapter.

 

Is there another block I can use instead of the dvi2rgb encoder/decoder? I couldn't find any HDMI specific IP cores in my library (Digilent's Vivado library).

 

Where would I connect those reset pins?

0 Kudos
Voyager
Voyager
3,807 Views
Registered: ‎06-24-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hey @aytli,

 

The Zybo board doesn't have DVI ports on it, only an HDMI transmitter and receiver.

I can't connect DVI devices without using an adapter.

DVI<->HDMI adapters or adapter cables are just fine as they will pass through the TMDS pairs without assuming anything HDMI specific.

 

Where would I connect those reset pins?

Check if they are Active High (which the name would suggest) or Active Low and tie them to '0' or '1' respectively (i.e. in such way that they are not active).

 

Best,

Herbert

-------------- Yes, I do this for fun!
0 Kudos
Observer aytli
Observer
3,798 Views
Registered: ‎10-30-2017

Re: Help with HDMI passthrough (Zybo Z7-10)

All three reset pins are active high, I've tied them to ground using a constant block. Still no success.

 

I don't currently have the adapters on hand to convert the source and sink to DVI input and output, will try that out if I can find the hardware.

 

Is there a way to do this without converting to DVI, perhaps a different block to handle the HDMI input? I'd imagine if the manufacturer wanted me to use a DVI signal, they would have put those plugs on the board instead of HDMI.

 

I was able to run Digilent's HDMI demo using the bitstream they provided, without converting anything. However they didn't provide a block diagram, only a wrapper file and an SDK project. Link to the demo (https://reference.digilentinc.com/learn/programmable-logic/tutorials/zybo-z7-hdmi-demo/start)

0 Kudos
Scholar watari
Scholar
3,752 Views
Registered: ‎06-16-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @aytli

 

Could you confirm DDC-CI connection ?

I suspect it'S wrong connection between HDMI Source and HDMI Sink on Zybo.

 

[Reason]

All HDMI sources, except signal generator, communicate capability of HDMI Sink via DDC-CI.

If this connection is wrong, HDMI doesn't work well.

 

Thank you.

Bets regards,

Observer aytli
Observer
3,730 Views
Registered: ‎10-30-2017

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @watari

 

Thank you for the hint, DDC was definitely one of my issues.

 

I found another forum post that also mentioned DDC, this guy was trying to do the same thing as me using an older Zybo, with an HDMI input and a VGA output.

https://forum.digilentinc.com/topic/560-help-with-a-zybo-video-design/

 

I slightly modified his steps to work with an HDMI output instead of VGA. I replaced my hdmi_rx_scl_io and hdmi_rx_sda_io signals with DDC_0_scl_io and DDC_0_sda_io respectively. "clk_out1" on the clocking wizard is configured as a 200MHz clock signal.

 

This is how my system clock is configured:
set_property -dict { PACKAGE_PIN K17 IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L12P_T1_MRCC_35 Sch=sysclk
create_clock -add -name sys_clk_pin -period 8.00 -waveform {0 4} [get_ports { clk }];

 

I've attached images of my block diagram and the video output. I'm using the screen capture from a laptop screen as my HDMI source, and a custom built screen as my video output. I've plugged the output screen directly into my laptop and can confirm that it works fine. My output video quality is absolutely horrible, but it's definitely a starting point.

 

Would you happen to know why my pixels are messed up? Perhaps an issue with one of my clock frequencies?

Capture.PNG
IMAG1051.jpg
0 Kudos
Scholar watari
Scholar
3,710 Views
Registered: ‎06-16-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @aytli

 

It's easy problem. The route cause is different color space between HDMI source and HDMI sink.

 

I mention the following step to understand what is wrong.

 

1) Prepare color bar and/or RGBW gradation picture on your Laptop.

2) Confirm the result.

3) I'm sure that the result is strenge. But you understand wrong color space issue.

4) If possible, change manually color space setting from RGB to YUV(/YPrPb) on your monitor.

5) After that, it will be fine.

 

[Summary]

In general, this issue is fixed to communicate capability of HDMI Sink via DDC.

EDID, which is information of HDMI Synk, is described posibbility of color space, ex. RGB 8bit, YUV 8bit and so on, too.

I'm sure that DDC-IC communication doesn't finish complitely or it doen's work well with some issue, ex. connection is wrong and so on.

 

So, colud you confirm what I mentioned, first ?

You can understand what is route cause.

 

[Addition]

Sorry. I missed your block diagram.

Could you confirm co-efficient of matrix on dvi2rgb and rgb2dvi, too ?

It may be route cause...

 

[Note]

The connection of HDP is little strange. I suggest to confirm it. It maybe malfunction when you disconnect HDMI cabele on HDMI monitor.

 

Thank you.

Best regards

Observer aytli
Observer
3,687 Views
Registered: ‎10-30-2017

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @watari

 

Thanks for the detailed response, I'm quite new to this stuff so your help is greatly appreciated.

 

The first picture is the output screen after loading a color gradient onto the laptop. The laptop screen has been changed to match the 1920x1080 resolution of the output screen. For the most part the colors on the output screen do actually match the gradient image, but the output image has a lot of vertical lines, and the transition between colors isn't smooth at all.

 

The second picture is of a color bar, showing white and black areas. Again the colors on the output screen mostly match those on the original image. The black areas are actually a very dark shade of blue. All the colors on the top row row, including white, visibly match the original colors. The vertical lines are still there, but not as visible since there is no gradual transition.

 

From this page I think I understand what you meant by color space mismatch, as the device can mistakenly output an RGB image from a YUV input and vice versa (3 components per pixel), but since the colors do look correct I'm not sure that's the case.

 

Can you please clarify what you mean by matrix coefficients for dvi2rgb and rgb2dvi?

 

I connected my HPD pins based on how it was done in that other forum post (in my previous comment). Tying them both high allows me to unplug and plug my video cables as the device is running. However disabling the HPD pins will also disable the video signal.

IMAG1052.jpg
IMG_20171102_150904.jpg
0 Kudos
Scholar watari
Scholar
3,650 Views
Registered: ‎06-16-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @aytli

 

I'd like to confirm something before my reply.

Could you give me the following answer or reply ?

 

1) Does first picture has video noise ? or still noise ?

2) Could you upload two type of picture about second picture ? Full screen picture on laptop and LCD panel.

3) Could you show me detail information about LCD panel ? it looks like 7inch FHD LCD panel for raspberry pi ? I suspect that it doesn't have 24bit color input.

 

I suspect that it has two or three type problem.

 

a) Timing issue, If 1)'s answe yes. (has video noise.)

b) Offset value issue. HDMI has two type of value range. One is full range. The other is limmited range. If you have Play Station, which is made by Sony, please confirm HDMI setting about range on Play Station. Black has a little offset, when its mode is limmited range.

c) Color space mismatch issue. The matrix value is different between YUV color space, YPrPb color space, NTSC color space , SMTPE color spcase and so on. If color space is mismatch, input white data (FFh, FFh, FFh) and output like white data is different.

=> However, I'm not sure that it doesn't occur this issue.

 

Thank you.

Best regards,

0 Kudos
Observer aytli
Observer
1,919 Views
Registered: ‎10-30-2017

Re: Help with HDMI passthrough (Zybo Z7-10)

Lots of pictures this time, gonna switch to a hosting website.

 

Pictures 1-5 were taken with the display connected directly to the laptop, without the Zybo in between. I'm using the same color gradient and color bar pictures as before. The 5th picture is of a black and white color bar, again with the display connected. My phone camera isn't the best, but all the colors do match the image on the laptop. So the external screen is capable of displaying colors properly. The external screen has a resolution of 1080p, and the laptop resolution is set to 1366x768 for these pictures.

 

In pictures 6-11, the Zybo was connected with the same block diagram as in my previous posts. My dvi2rgb input block was set to a preferred resolution of 1920x1080, and my rgb2dvi output block was set to a TMDS clock range of >=120MHz (1080p). I'm using the same test images as before, but I set my laptop resolution to 1920x1080 to match my output screen. The white on the external screen looks pretty accurate, but the black is a dark shade of blue, with very visible vertical bars.

 

In the last 4 pictures, I've set both the dvi2rgb and rgb2dvi blocks to 720p, as well as my laptop resolution. The test images look like shrunken versions of the ones seen at 1080p. The outside border should be black, but it's actually shown as that dark shade of blue with vertical bars.

 

To answer your questions:

 

1. For the color bar and gradient, the colors do actually match, and it does look a bit like video noise. With the black and white, the white does match, while the black is a dark blue with a bunch of vertical lines. For the desktop image I had in my previous post, the shapes and contours are all there, but the colors are messed up, which could suggest a color space mismatch. How different would the colors be if this is indeed the issue? Would the color space mismatch explain the vertical lines?

 

2. See album

 

3. The part number is DN-HD080AT, it was a cheap LCD screen that we bought online and we don't have any documentation for it. However I tried the setup on a larger desktop monitor (Acer) and it had the same problems. I'm not working with a playstation, or any Sony products.

 

In the meantime I will try out your suggestions and post my findings.

0 Kudos
Scholar watari
Scholar
1,871 Views
Registered: ‎06-16-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @aytli

 

I mention to you before your uploaded pictures.

(I had some internal network issue.)

 

In general, LCD panel requests native video resolution.

It's 1920x1080 in this case. Because of this LCD panel is FHD panel.

 

If you don't use up scaling function, which is designed in FPGA, video streaming data is wrong and LCD panel malfunctions.

 

About "Limited range VS full range"

 

Please refer the following URL.

It is helpful to understand the difference between limited range and full rage in HDMI world.

 

https://referencehometheater.com/2014/commentary/rgb-full-vs-limited/

 

 

 

I will post new message after confirmation of your uploaded pictures within one day.

 

[Note]

HD => High Definition. Resolution is 1280x720.

WXGA => Wide XGA. Resolution is 1366x768 in PC world.

FHD=> Full High Definition. Resolution is 1920x1080.

 

Thank you.

Best regards,

0 Kudos
Scholar watari
Scholar
1,847 Views
Registered: ‎06-16-2013

Re: Help with HDMI passthrough (Zybo Z7-10)

Hi @aytli

 

According to 6, 7, 8, your design has timing violations.

Could you confirm the timing report file, if you set collector y XDC, which includes correct clock setting ?

 

 Also, I guess your design probably has clock jitter issue.

Please insert PLL as reducing clock jitter between dvi2rgb_0 and rgb2dvi_0.

 

And could you confirm or estimate clock jitter on FCLK_CLK0 of Zynq

 

Sorry.

I don't have any idea about "while the black is a dark blue with a bunch of vertical lines".

 

Thank you.

Best regards,

0 Kudos