Reply
Visitor
Posts: 4
Registered: ‎04-20-2016

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Regular Contributor
Posts: 21
Registered: ‎03-13-2014

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Hi Mario!

            I am afraid that the hdmi display controller project has a bug that i could not find the S_AXI_HP0_CLK in the project. Can you send me your e-mail so that i can send you my project? My e-mail address is zhr161@gmai.com.

            Thank you!

Avnet Employee (Star Contributor)
Posts: 469
Registered: ‎04-16-2009

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

The correct name of the port should be S_AXI_HP0_ACLK (typo in documentation).

 

The S_AXI_HP0_ACLK port will be available on the "ZYNQ7 Processor System" core, when its "S AXI HP0 interface" is enabled.

Make sure that you enabled the HP0 high-performance slave port in the configuration of the ZYNQ7 Processor System.

 

Regards,

 

Mario.

Avnet Employee (Star Contributor)
Posts: 469
Registered: ‎04-16-2009

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Here is an additional tip for validating an IP Integrator block diagram that you created with the tutorial.

 

There are solution TCL scripts in the solutions directory.

 

You can export your design as a TCL script with the following command in the TCL console:

   write_bd_tcl my_design.tcl

The TCL console will indicate where the TCL script was generated.

 

You can then compare the TCL script for your design with the TCL script from the solutions directory.

 

or

 

You can execute these scripts after creating an empty block diagram (called "tutorial") to auto-create the entire design.

 

Regards,

 

Mario.

Regular Contributor
Posts: 21
Registered: ‎03-13-2014

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Hi, Mario,

    Can you tell me what kinds of HDMI input device and HDMI output device do you take for the HDMI passthrough project. I use my laptop as HDMI input device with 1280*720 resolution and digital TV as output device. Everything is ok, the console has displayed the information as the tutorial described, but the TV can not show anything.

    Regards,

    Frankrui

Regular Visitor
Posts: 9
Registered: ‎04-30-2014

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Hi Mario,

 

Looks like the HDMI Display design is fixed to 1080p right? I am trying to run it using a 720p TV and I don't see any output. Could you tell me the steps to make it work with 720p resolutions?

 

Thank you,

 

Manuel

Avnet Employee (Star Contributor)
Posts: 469
Registered: ‎04-16-2009

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Manuel,

 

The existing code can handle other resolutions.

 

Take a look at the video_resolution.c source file, in particular this data structure:

 

vres_timing_t vres_resolutions[NUM_VIDEO_RESOLUTIONS] = {
// name vav, vfp, vsw, vbp, vsp, hav, hfp, hsw, hbp, hsp
{ "VGA", 480, 10, 2, 33, 0, 640, 16, 96, 48, 0 }, // VIDEO_RESOLUTION_VGA
{ "480P", 480, 9, 6, 30, 0, 720, 16, 62, 60, 0 }, // VIDEO_RESOLUTION_480P
{ "576P", 576, 5, 5, 39, 0, 720, 12, 64, 68, 0 }, // VIDEO_RESOLUTION_576P
{ "SVGA", 600, 1, 4, 23, 1, 800, 40, 128, 88, 1 }, // VIDEO_RESOLUTION_SVGA
{ "XGA", 768, 3, 6, 29, 0, 1024, 24, 136, 160, 0 }, // VIDEO_RESOLUTION_XGA
{ "720P", 720, 5, 5, 20, 1, 1280, 110, 40, 220, 1 }, // VIDEO_RESOLUTION_720P
{ "SXGA", 1024, 1, 3, 26, 0, 1280, 48, 184, 200, 0 }, // VIDEO_RESOLUTION_SXGA
{ "1080P", 1080, 4, 5, 36, 1, 1920, 88, 44, 148, 1 }, // VIDEO_RESOLUTION_1080P
{ "UXGA", 1200, 1, 3, 46, 0, 1600, 64, 192, 304, 0 } // VIDEO_RESOLUTION_UXGA
};

 

In the fmc_imageon_hdmi_display.c source file, change the following lines:

 

// Set HDMI output to 1080P60 resolution
pDemo->hdmio_resolution = VIDEO_RESOLUTION_1080P;
pDemo->hdmio_width = 1920;
pDemo->hdmio_height = 1080;

 

//pDemo->hdmio_timing.IsHDMI = 1; // HDMI Mode
pDemo->hdmio_timing.IsHDMI = 0; // DVI Mode
pDemo->hdmio_timing.IsEncrypted = 0;
pDemo->hdmio_timing.IsInterlaced = 0;
pDemo->hdmio_timing.ColorDepth = 8;

pDemo->hdmio_timing.HActiveVideo = 1920;
pDemo->hdmio_timing.HFrontPorch = 88;
pDemo->hdmio_timing.HSyncWidth = 44;
pDemo->hdmio_timing.HSyncPolarity = 1;
pDemo->hdmio_timing.HBackPorch = 148;

pDemo->hdmio_timing.VActiveVideo = 1080;
pDemo->hdmio_timing.VFrontPorch = 4;
pDemo->hdmio_timing.VSyncWidth = 5;
pDemo->hdmio_timing.VSyncPolarity = 1;
pDemo->hdmio_timing.VBackPorch = 36;

 

 

You can also modify the code so that you only specify the following,

 

pDemo->hdmio_resolution = ...

 

then use the values in the vres_resolutions[] data structure to fill in the rest of the information.

 

Hope this helps !

 

Regards,

 

Mario.

 

 

Regular Visitor
Posts: 9
Registered: ‎04-30-2014

Re: FMC-IMAGEON IP Cores and Tutorials for Vivado 2013.3

Thank you Mario, It worked!

 

Now I am trying to add some video processing to the passthrough example but I am having some issues. I added the video enhancement core and just put it between the fmc_in ip and the fmc_out but I don't have output in my monitor. Could you guide me? Is there something else I need to do? Do I need to use the enhancement core driver to initialize it? I appreciate your help. I am using zedboard. Attached is my block diagram.

 

Thank you,

 

Manuel

 

Visitor
Posts: 2
Registered: ‎05-16-2013

HDMI RGB Passthrough working on ZedBoard with Vivado 2013.4

FYI, the HDMI RGB Pass-through demo works with Vivado 2013.4 and the ZedBoard with the following two changes:

 

1) Edit scripts/fmc_imageon_hdmio_rgb.tcl and change the v_tc version from 6.0 to 6.1:

 

  set v_tc_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:v_tc:6.1 v_tc_0 ]

 

2) Edit code/fmc_imageon_hdmi_passthrough/fmc_imageon_hdmi_passthrough.c and change the following line 

 

XVtc_WriteReg(pDemo->uBaseAddr_VTC_Axi4sTiming, XVTC_RESET, XVTC_RESET_RESET_MASK);

 

to

 

XVtc_WriteReg(pDemo->uBaseAddr_VTC_Axi4sTiming, XVTC_CTL, XVTC_CTL_RESET_MASK);

 

Avnet Employee (Star Contributor)
Posts: 469
Registered: ‎04-16-2009

Re: HDMI RGB Passthrough working on ZedBoard with Vivado 2013.4

Bach,

 

Thank you for sharing this with the community !

 

Regards,

 

Mario.