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!

AR# 66691

LogiCORE Video PHY Controller v2.0 - Why do I get a critical warning about parts of the NI-DRU being redefined when using UHD-SDI XAPPs and the HDMI RX Subsystem with the Video PHY Controller in the same design?

Description

Why do I get a critical warning about parts of the NI-DRU being redefined when using UHD-SDI XAPPs and the HDMI RX Subsystem with the Video PHY Controller in the same design?

CRITICAL WARNING: [Synth 8-2488] overwriting existing primary unit dru [/xapp1248/srcs/dru/nidru_20_v_6.vhd:82]
CRITICAL WARNING: [Synth 8-2489] overwriting existing secondary unit behavior [/xapp1248/srcs/dru/bs_flex_v_1.vhd:50]
CRITICAL WARNING: [Synth 8-2488] overwriting existing primary unit control [/xapp1248/srcs/dru/bs_flex_v_1.vhd:244]
CRITICAL WARNING: [Synth 8-2488] overwriting existing primary unit rotwdt [/xapp1248/srcs/dru/bs_flex_v_1.vhd:361]

Solution

This is a known issue in the Video PHY Controller for HDMI RX Subsystem Applications, which is due to the UHD-SDI XAPPs (XAPP1248 and XAPP1249) using a different version of the NI-DRU.

The following steps walk through how to wrap the NI-DRU from the UHD-SDI XAPPS and synthesize it using the Vivado OOC flow so that it can be included in a project that also contains the HDMI Rx Subsystem using the Video PHY Controller.

Steps to use SDI NI-DRU together with HDMI using the OOC flow:

  1. Take SDI NI-DRU and put it into another Vivado project that will be used to create the OOC module.
    • bs_flex_v_1.vhd
    • nidru_20_v_6.vhd
    • nidru_20_wrapper.vhd
  2. Create a new wrapper for the NI-DRU called nidru_20_sdi_wrapper.vhd.
  3. Create a new top level for the NI-DRU called nidru_20_v6_0_wrapper.vhd which instantiates the nidru_20_sdi_wrapper.vhd.
  4. Make sure all of the Generics are defined in the file nidru_20_sdi_wrapper.vhd as you cannot use generics in an OOC module.
  5. Right click on the new nidru_20_sdi_wrapper.vhd in the Design Sources window and select "Set as Out-of-Context for Synthesis":



  6. Click OK.
  7. Right Click on the nidru_20_sdi_wrapper.vhd in the Design Runs window and select "Synthesis Run Properties".



  8. Set "-flatten_hierachy" to none.
  9. Right Click on the nidru_20_sdi_wrapper.vhd in the Design Runs window and select "Launch Next Step: synth_design".
  10. Add the new nidru_20_v_6_wrapper.vhd and the nidru_20_sdi_wrapper.dcp files to the project.
  11. Update any calls in the UDH-SDI core from nidru_20_wrapper to nidru_20_v_6_wrapper and run Synthesis.

 

Also you can download the attached Vivado 2015.4 project that shows the synthesis of the OOC project. This example is based on XAPP1248 UHD-SDI on UltraScale GTH and XAPP1275 HDMI on UltraScale GTH.

Attachments

Associated Attachments

Name File Size File Type
sdi_nidru_ooc_flow_example_2015_4.zip 588 KB ZIP

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
57842 LogiCORE Video PHY Controller - Release Notes and Known Issues for Vivado 2013.1 and newer tool versions N/A N/A
AR# 66691
Date Created 02/23/2016
Last Updated 04/19/2016
Status Active
Type General Article
IP
  • HDMI
  • SMPTE UHD-SDI