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
Observer johne1969
Observer
1,311 Views
Registered: ‎05-07-2018

zcu106 with 4k60p 12G sdi output

 

Hi 

I am using the ZCU106 eval board to do some video processing, but I am having issues getting a 4k60p (3840x2160 - 60fps) signal out of the board on the 12G-SDI output. I can however get a 4k30p (3840x2160 30 fps) signal out of the SDI.

I have a Blackmagic 12G Hyperdeck as a video source and a Blackmagic 12G SDI to HDMI Teranex with 4K HDMI monitor as my sink. I can take the output directly from the Hyperdeck to the Teranex and this displays pictures at 4k30p and 4k60p

I then tried the VCU TRD 2018.3 SDI Video Capture and SDI Display example and I can get this to work with 4k30p but not 4k60p. 

As another test I tried the SMPTE UHD-SDI RX subsystem with the video pass through example design in vivado 2018.3. This also works with 4k30p, but I get no valid output at 4k60p. The console output shows the Rx Subsystem has correctly detected the signal and correctly locked the Tx output but the Teranex does not lock to the signal :-

 

-----
Info
-----

------------
SDI TX SubSystem
------------

->SDI TX Subsystem Cores
: SDI TX
: VTC Core

SDI stream info
------------
Color Format: YUV_422
Color Depth: 10
Pixels Per Clock: 2
Mode: Progressive
Frame Rate: 60Hz
Resolution: 3840x2160@60Hz
Pixel Clock: 594000000
SDI Mode: 12G
Bit Rate: Integer
ST352 Payload: 0x100CBCE
No Error Detected

SDI TX timing
------------

HSYNC Timing: hav=3840, hfp=176, hsw=88(hsp=1), hbp=296, htot=4400
VSYNC Timing: vav=2160, vfp=08, vsw=10(vsp=1), vbp=072, vtot=2250


------------
SDI Rx SubSystem
------------

->SDI RX Subsystem Cores
: SDI RX

SDI stream info
------------
Color Format: YUV_422
Color Depth: 10
Pixels Per Clock: 2
Mode: Progressive
Frame Rate: 60Hz
Resolution: 3840x2160@60Hz
Pixel Clock: 594000000
SDI Mode: 12G
Bit Rate: Integer
ST352 Payload: 0x100CBCE
CRC: 255

SDI RX timing
------------

HSYNC Timing: hav=3840, hfp=176, hsw=88(hsp=1), hbp=296, htot=4400
VSYNC Timing: vav=2160, vfp=08, vsw=10(vsp=1), vbp=072, vtot=2250

 

I have looked on a high speed 'scope and there is activity on the SDI output. I have used a Leader 4K SDI analyzer and it reports no valid signal.

Are there any other tests I can do? Could I have a faulty eval board?

Thanks

John

 

0 Kudos
14 Replies
Observer johne1969
Observer
1,310 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

 

Forgot to add, I am using a ZCU106 revision 1.0 board.

John

0 Kudos
Moderator
Moderator
1,260 Views
Registered: ‎11-09-2015

Re: zcu106 with 4k60p 12G sdi output

Hi @johne1969,

The VCU TRD should work in path-through at 4K60. Did you use the following command?

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=60/1 ! queue ! kmssink bus-id="a0070000.v_mix"

As you can get up to 4K30, I would be surprise that this is a board issue.

Can you try to do a modetest to see if you can get a 4K60 output:

modetest -M xlnx -s 36:3840x2160-60@YUYV  -w 36:sdi_mode:5 -w 36:sdi_data_stream:8 -w 36:is_frac:0 &

Hope that helps,
Regards


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Observer johne1969
Observer
1,215 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

 

Hi Florent

Thank you for your reply.

This is what I have tried. I feed in a 4k60 source from a Hyperdeck (I have also tried a Leader LV 5490 4k test pattern generator) and I do a modetest

modetest -M xlnx -s 36:3840x2160-60@YUYV  -w 36:sdi_mode:5 -w 36:sdi_data_stream:8 -w 36:is_frac:0 &

but I get no "bluescreen", then if I try 

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=60/1 ! queue ! kmssink bus-id="a0070000.v_mix"

the command runs without errors but I get no video output.

As a check I tried a 4k30 source, the command

modetest -M xlnx -s 36:3840x2160-30@YUYV  -w 36:sdi_mode:4 -w 36:sdi_data_stream:8 -w 36:is_frac:0 &

gives me a "bluescreen" and

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=30/1 ! queue ! kmssink bus-id="a0070000.v_mix"

gives me video pass through on the monitor.

Is there anything else I can try? I am at a loss as to how to debug this issue.

Thanks

John

0 Kudos
Moderator
Moderator
1,210 Views
Registered: ‎11-09-2015

Re: zcu106 with 4k60p 12G sdi output

Hi @johne1969,

I didn't have the chance to try the SDI Output with the VCU TRD 2018.3.

Is it possible for you to try with the VCU TRD 2018.1 (with the pre-built images)? If I remember correctly, I was able to run SDI 4K60 with SDI TX. I do not exclude that there is an issue in the TRD 2018.3

Also, if really you want to make sure this is not a board issue, you might want to test with the UHD-SDI IP example design (in baremetal - without VCU). Refer to Chapter 5 of PG290

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Observer johne1969
Observer
1,206 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

 

Hi Florent

I have tried the VCU TRD 2018.1 with pre-built images and the same results, no output with 4k60 but works with 4k30.

I tried the UHD-SDI IP pass-through example design and same results there, no output at 4k60 but all works with 4k30.

I agree, hard to see this is a board issue if 4k30 works, but I see there is a Macom M23145G SDI reclocker with a SPI interface. Presumably this is configured to auto lock to the serial data? However I do see activity on the SDI output at 4k30 and 4k60 using a high bandwidth 'scope, and the voltage levels look good. 

Not sure what else I can try...

Thanks

John

0 Kudos
Explorer
Explorer
1,049 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Hello @johne1969

I use the following recipe for moving 12G through the ZCU-106 (I have rev-C).  It passes 4k/60Hz for me. 

You should be able to change the source to anything you want. 

My apologies for the formatting, the "code" editor fails in my browser. 

 

killall -KILL modetest

function foo() { while true; do sleep 32767 ; done }

foo | /usr/bin/modetest -M xlnx -s 36:3840x2160-60@YUYV  -w 36:sdi_mode:5 -w 36:sdi_data_stream:8 -w 36:is_frac:0 &

 

xmedia-ctl --verbose --set-v4l "5:0 [fmt:UYVY8_1X16/3840x2160 field:none], 7:0 [fmt:UYVY8_1X16/3840x2160 field:none], 7:1 [fmt:VYYUYY8_1X24/3840x2160 field:none]"

 

gst-launch-1.0 --eos-on-shutdown --messages --tags --toc --verbose \

v4l2src device=/dev/video0 io-mode=dmabuf  \

queue 'max-size-bytes=0  \

capsfilter caps=video/x-raw,format=NV16,framerate=60/1,height=2160,width=3840  \

kmssink driver-name=xlnx

 

 

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
Explorer
Explorer
1,025 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Good morning @johne1969,

You have my apologies. 

I goofed on the script that I sent to you.  That was an NV16 attempt which will not work.  You have to use NV12 (8-bit 4:2:0) pass-through at this time. 

I have an outstanding problem looking at NV16: https://forums.xilinx.com/t5/Video/NV16-Video-Pass-Through-in-sdirx-vcu-sdtrx/td-p/920625 which is waiting on the 2019.1 release. 

Attached is a full script, which does work on my zcu-106 using 2018.2 and 2018.3 receive and transmit (sdi rx tx) pre-builds (sdirx_vcu_sditx and vcu_sdirxtx, respectively).

Good Luck!!!!

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
Observer johne1969
Observer
974 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

 

Hi @peimann

Thank you for your scipt, it proved very useful !. I works for me at 12G pass through.

 

Thanks

John

0 Kudos
Explorer
Explorer
376 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Hello @johne1969,

I was reviewing the 2019.1 release and observed that we were shifting your test into 8-bit data from a 10-bit input source. 

From our 10-bit input processing (see: SDI Video to 10 Bit H265 MPEG) you will want to change to video format NV16_10LE32 (from NV12), in addition to the revised xmedia-ctl configuration of the input.  This was apparently unavailable in the 2018.3 release. 

However, I am told that the 10-bit SDI output is not fully functional, yet.  I will be testing later on today and updating my post on that. 

Good Luck!

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
0 Kudos
Observer johne1969
Observer
369 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

 

Hi @peimann 

 

Thank you for your update. I have been using the new 2019.1 release and have been trying to get 10 bit 4:2:2 working. I think there is a limitation with the SDI Capture to SDI Display application as it only seems to support NV12, which is probably due to memory bandwidth limitations. The SDI Capture application does support XV20 (i.e. 10 bit 4:2:2) and the SDI Display application also supports XV20 but I have not been able to test properly if the video really does get through with all 10 bits and 4:2:2. I think this will be what I need to use as the basis of my design.

I also looked at the HDMI Video Capture and Display with PL DDR and this does allow XV20 end to end but I discovered that the HDMI core doesn't seem to supprt 2160p50. I have had 2160p60, 2160p25 etc etc working. xmedia-ctl -d /dev/media0  -p gives  me "no-link" with a 2160p50 source. This is an issue for me as the UK uses 2160p50 for UHD.

So it is all very nearly doing what I want....

I will look for your updated post.

0 Kudos
Explorer
Explorer
353 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Thanks for the feedback @johne1969 ,

My understanding is that Xilinx does not have the 10-bit 4:2:x working for the SDI output, only for the input case. 

This likely has something to do with formats and conversion of the DRM/KMS frame buffers. 

When I execute the modetest command none of the video planes shows an available 10-bit format.  This may be a limit in the modetest command, or it may be a limit inherit to the device driver, I don't know which. 

Also, I've observed that xmedia-ctl does not provide a 10-bit 4:2:0 format to configure the SDI input with.  When I looked at source code for the drivers and xmedia-ctl, it seemed that the driver provided capability which was not available through the available xmedia-ctl interface (which is hard-coded to specific values).  

Anyway, for input, I use the following setup:

time xmedia-ctl --verbose --device /dev/media0   \
     --set-v4l '"a0030000.v_smpte_uhdsdi_rx_ss":0  [fmt:UYVY10_1X20/3840x2160 field:none],
                "a0080000.v_proc_ss":0  [fmt:UYVY10_1X20/3840x2160 field:none],
                "a0080000.v_proc_ss":1  [fmt:UYVY10_1X20/3840x2160 field:none]'

Which shows this after configuration:

root@zcu106_vcu_trd:/media/sata/xilinx-question.002.2019-07-02# xmedia-ctl --print-topology
Media controller API version 4.19.0

Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  4.19.0

Device topology
- entity 1: vcap_sdi output 0 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
        pad0: Sink
                <- "a0080000.v_proc_ss":1 [ENABLED]

- entity 5: a0030000.v_smpte_uhdsdi_rx_ss (1 pad, 1 link)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Source
                [fmt:UYVY10_1X20/3840x2160@1000/50000 field:none]
                -> "a0080000.v_proc_ss":0 [ENABLED]

- entity 7: a0080000.v_proc_ss (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:UYVY10_1X20/3840x2160 field:none]
                <- "a0030000.v_smpte_uhdsdi_rx_ss":0 [ENABLED]
        pad1: Source
                [fmt:UYVY10_1X20/3840x2160 field:none]
                -> "vcap_sdi output 0":0 [ENABLED]

root@zcu106_vcu_trd:/media/sata/xilinx-question.002.2019-07-02#

Which is, as you can see from the input configuration, has a 50 Hz frame rate. 

My system is locked based on an external input, so that may be a problem, however I expect that the I.P. will properly lock when you let it. 

Are you doing something else?

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
0 Kudos
Explorer
Explorer
345 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Hello @johne1969,

In my other test I am only able to pass 8-bit 4:2:0 video, even though the input is 10-bit 4:2:2 video. 

Perhaps Xilinx will update their SDI output with release 2019.2, I just do not know. 

Cheers and Luck!

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
0 Kudos
Observer johne1969
Observer
338 Views
Registered: ‎05-07-2018

Re: zcu106 with 4k60p 12G sdi output

Hi @peimann 

Your update is very useful. I will try and find some time this week to replicate what you have done. I'm keen to know what the reason is that 10bit 4:2:2 sdi output is not supported.

Just to clarify, I have been able to use a 2160p50 source using the sdi input, the limitation with 2160p50 seems to be with using a HDMI source. Table A.1 in PG236 does not list 2160p50 as a tested source, so I guess it's not supported. I'm currently designing a custom board and was debating whether to put HDMI input and output on the board. Becuase the Xilinx HDMI core doesn't support 2160p50 I will probably leave it off or I write my own HDMI core.

Kind regards

0 Kudos
Explorer
Explorer
325 Views
Registered: ‎10-03-2018

Re: zcu106 with 4k60p 12G sdi output

Hello @johne1969,

I believe that you might be frame rate limited by HDMI.  You know more about this specification than I do. 

The SDI on the ZCU-106 is capable of receiving 3840x2160@60Hz, as that is what I am sending to it [presuming that my test equipment is not lying to me].  The board is also capable of sending at the same frequency.  This is 2082-10, mode 1, which has a fair number of specified frame rates. 

The problem with SDI output through DRM/KMS is that the frame buffers feeding it are all limited to 8-bit formats.  Take a look at the modetest tool and see if it helps you understand what can be sent through that interface. 

Nothing prevents you from constructing a better output interface, the question is if the time and effort are merited.  This is a question that we all have to address with the products that we are building. 

While I do believe that the actual SDI modulation is based on 10-bit input, I have not really looked into how data are provided to the component.  That is an FPGA design issue, and my (current) explorations are high-level, using software tools to assess the SDI rx/tx pre-built design. 

Hopefully we can get a good solution with the 2019.2 release, as 10-bit is kind of pointless if we cannot give a better output to our customers. 

Luck!

Kind Regards,
Peimann, S. M.
----
Toddlers are the Storm-Troopers of the Great God Entropy.
Physics: Not Just a Good Idea, It's THE LAW.
0 Kudos