Article ID: 000094997 Content Type: Error Messages Last Reviewed: 04/23/2024

Error (14394):  Verilog HDL error at <project_name>_auto_tiles.sv(<line number>) : <ip instance_name> is not declared under the prefix "<top_level_wrapper_name>"

Environment

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    Due to a problem in the Quartus® Prime Pro Edition Software version 23.2 and earlier, you might see this error when your HDL code has a generated block to choose between the instantiation of a design targeted to Agilex™ 7 F-Tile device and other supported device.

    If the 'generate if' blocks are not labeled, the cross-module references into unlabelled generate blocks throw an error.

    For example

    generate 
      if(Agilex == 0)
      begin
      ...
      end
    else 
      begin
      ...
    end
    endgenerate
    

    This error occurs at the Analysis and Synthesis stage.

    Resolution

    To work around this problem, define a label for each 'if and else' statement in Verilog HDL and a 'generate' statement in VHDL. For example, if a design is targeted to choose between the Agilex™ F-Tile device and Arria® 10 device, then the instantiation can be chosen using generate statement in Verilog HDL and VHDL as follows.

    Verilog HDL
      generate 
        if(Agilex == 0)
        begin : label1_notfor_AG
        ...
        end
      else 
        begin : label2_for_AG
        ...
      end
      endgenerate
      

    VHDL
      label: 
      if cond1 generate
        ...  
      elsif cond2 generate  
        ...  
      else generate
        ...  
      end generate label;

     

    Related Products

    This article applies to 1 products

    Intel Agilex® 7 FPGAs and SoC FPGAs I-Series