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:
- Find a case in which there is a
synthesis translate_off
directive, and then the correspondingsynthesis translate_on
directive is immidiately followed by theread_comments_as_HDL on
directive and then commented lines of code. - Replace the
synthesis translate_off directive
withelse
. - Remove the comment tags
//
before each line of the commented code. - Remove the
read_comments_as_HDL off
directive (if it exists), and addpragma 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.