Quartus® Prime Pro Edition User Guide: Getting Started

ID 683463
Date 4/01/2024
Document Table of Contents Declaring Objects Before Initial Values

Quartus® Prime Pro Edition synthesis requires declaration of objects before initial value. Ensure that your RTL declares objects before initial value. Other Quartus software products allow declaration of initial value prior to declaration of the object.
Table 18.  Object Declaration Differences
Other Quartus Software Products Quartus® Prime Pro Edition
From the Example RTL, synthesis initializes the output p_prog_io1 with the value of p_progio1_reg, even though the register declaration occurs in Line 2. From the Example RTL, synthesis generates a syntax error when you specify initial values before declaring the register.

Example RTL:

1 output p_prog_io1 = p_prog_io1_reg; 
2 reg p_prog_io1_reg;