Article ID: 000081810 Content Type: Troubleshooting Last Reviewed: 01/01/2015

Why do I get error messages when compiling Altera libraries with the ModelSim SE software?

Environment

  • Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    Some Altera® intellectual property (IP) such as the Nios® II embedded processor uses synthesis directives read_comments_as_HDL on and off to instruct Quartus® II integrated synthesis to use commented HDL code for synthesis. The IP uses these directives along with the synthesis directives translate_on and translate_off to indicate parts of the HDL code that are not intended for synthesis.

    The translate_on and translate_off directives are commonly supported in third-party tools, however the read_comments_as_HDL on and off directives are supported only in Quartus II integrated synthesis. If you are using the Cadence Conformal LEC software in your design flow, the Quartus II software generates this error during compilation because the directives are not honored by the Conformal LEC tool.

    This issue is scheduled to be fixed in a future version of the Quartus II software.

    To avoid this problem, if Cadence LEC is not required but is enabled due to previous project settings, select <None> as the formal verification tool name on the Quartus II Settings dialog box. If formal verification is a mandatory step in your design flow, you must edit all the IP source files that contain the read_comments_as_HDL synthesis directive.

    The files that contain the read_comments_as_HDL directive to enable commented code for synthesis (but disable it for simulation), also use the synthesis translate_on and translate_off directives to disable code for synthesis (but enable it for simulation).

    For Verilog HDL designs, perform the following steps to edit each Verilog source file:

    1. Find a case in which there is a synthesis translate_off directive, and then the corresponding synthesis translate_on directive is immidiately followed by the read_comments_as_HDL on directive and then commented lines of code.
    2. Replace the synthesis translate_off directive with else.
    3. Remove the comment tags // before each line of the commented code.
    4. Remove the read_comments_as_HDL off directive (if it exists), and add pragma protect ????_block encoding'
      ** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(26): Pragma protect keyword expected
      ** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(28): A key_method must be specified.
      ** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(28): near ",": syntax error, unexpected ',', expecting "class"

      To avoid these errors, use the version of the ModelSim SE software supported by your Quartus II software version. To check which version of the ModelSim SE software is supported, refer to the EDA Interface Information section of the Quartus II Software Release Notes (PDF) for the current version of the Quartus II software or the Documentation Archive page for older versions of the Quartus II Software Release Notes. For example, the Quartus II software version 11.0 SP1 supports the ModelSim SE software version 6.6d.

    Related Products

    This article applies to 1 products

    Intel® Programmable Devices