Die Quartus-II-Synthese® kann die oben genannte Warnung generieren, wenn eine VHDL-Quelldatei kompiliert wird, die ein Registersignal vom Typ Integer enthält. Insbesondere wenn Sie bei der Deklarierung des Signals keinen Initialwert zuweisen, nimmt die Quartus-II-Synthese an, dass das linke Ende des Integerbereichs der Hochfahrwert für das Register ist. Wenn Ihr Code zu einem späteren Zeitpunkt einen Rücksetzwert auf dieses Register anwendet, der nicht dem angenommenen Hochfahren-Level entspricht, verwendet die Quartus II Synthese stattdessen den Reset-Wert als Power-up-Wert und generiert die oben genannte Warnmeldung.
Wenn Ihr Code beispielsweise ein solches Signal enthält:
signal count_down : integer range 0 to 255;
und später wird ein Reset-Wert wie folgt angewendet:
process (clk, reset)
begin
if reset = '1' then
count_down <= 255;
elsif (rising_edge(clk)) then
...
Die Quartus-II-Synthese generiert die oben genannte Warnung und wendet einen hohen Power-up-Wert auf das count_down-Register an.
Um diese Warnung zu vermeiden, weisen Sie beim Deklarieren eines Integersignals einen Anfänglichen Wert zu, der dem Reset-Wert entspricht. Im oben genannten Beispiel wird die Warnung nicht generiert, wenn das Signal mit einem Anfänglichen Wert von 255 erklärt wird:
signal count_down : integer range 0 to 255 := 255;
Weitere Informationen über die Registrierung der Hochfahrenwerte in Altera Geräten finden Sie im Quartus II Handbuch-Kapitel Empfohlene HDL-Codierungsstile (PDF).