Quartus® Prime Pro Edition User Guide: Getting Started

ID 683463
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.2.4.8. Confining SystemVerilog Features to SystemVerilog Files

Quartus® Prime Pro Edition synthesis does not allow SystemVerilog features in Verilog HDL files. Other Quartus software products allow use of a subset of SystemVerilog (.sv) features in Verilog HDL (.v) design files. To avoid syntax errors in Quartus® Prime Pro Edition, allow only SystemVerilog features in Verilog HDL files.
To use SystemVerilog features in your existing Verilog HDL files, rename your Verilog HDL (.v) files as SystemVerilog (.sv) files. Alternatively, you can set the file type in the .qsf, as shown in the following example:
set_global_assignment -name SYSTEMVERILOG_FILE <file>.v
Table 19.  SystemVerilog Feature Differences
Other Quartus Software Products Quartus® Prime Pro Edition
From the Example RTL, synthesis interprets $clog2 in a .v file, even though the Verilog LRM does not define the $clog2 feature. Other Quartus software products allow other SystemVerilog features in .v files. From the Example RTL, synthesis generates a syntax error for detection of any non-Verilog HDL construct in .v files. Quartus® Prime Pro Edition synthesis honors SystemVerilog features only in .sv files.

Example RTL:

localparam num_mem_locations = 1050;
wire mem_addr [$clog2(num_mem_locations)-1 : 0];