AR# 51041


Vivado IP Flows - The generated HDL for an IP core does not match the specified target language


I generated the source files for the IP core(s) in my project, but the HDL is not created in the language specified in with the Target Language setting.

How do I specify what language I want an IP core to be generated in when I choose an item in the IP Catalog?

For example, in my project settings I have specified the Target Language as Verilog. I create a PCIe or Clocking Wizard core and the files are all Verilog. I create a FIFO or a block RAM using the Block Mem Gen and the files are all VHDL.

Is this expected behavior? Can I change the output HDL language of an IP core?


One of the main differences between the CORE Generator tool and the Vivado IP Catalog generation of cores is the files that are delivered for a core.

  • When generating an IP core through the CORE Generator tool, the source files were parameterized and synthesized immediately and delivered as a netlist (EDIF or NGC depending on the version of the CORE Generator tool).
  • When generating an IP core through the Vivado IP Catalog, the parameterized source files are delivered and will be synthesized later as part of a synthesis run.
  • In Vivado 2013.2 and later, an Out-Of Context (OOC) design Checkpoint (DCP) may also be generated for the IP. This is similar to the CORE Generator Edif/NGC deliverable in that it is the synthesis output of the delivered source files.

The majority of LogiCORE IP have their synthesizable IP core sources in a single language (i.e., VHDL or Verilog). Some IP cores will deliver synthesizable sources in either VHDL or Verilog (e.g., most IP Wizards will deliver an HDL wrapper on top of Xilinx device primitives).

The Target Language setting is used to:

  • Deliver IP core synthesizable source in the desired language if both languages are available. If only one language is available, the Target Language setting is ignored and the sources are delivered in the available HDL language.
  • Deliver instantiation template in the desired language.

If creating a new project in the New Project Window (NPW), Add Sources dialog box, you can change the values of Target language (and also Simulation language). If you change these settings in this dialog, they are "sticky". The next time you create a project, NPW will show the same values as the last time.

However, if you create a project, and then use the project settings dialog to change these values, these changes are not remembered the next time you create a project. In other words, the Add Sources dialog remembers its "own" setting of these property values, but not what was set via the project settings dialog.

AR# 51041
日期 11/26/2013
状态 Active
Type 综合文章
People Also Viewed