Hallo Zusammen,
ich habe mal eine kurze Frage.
Ich habe in meinem Design ein Monoflop, das mit einem Counter umgesetzt
ist welcher vom Max-Wert auf Null runter zählt. Beim Reset wird der
Counter mit dem Max-Wert initialisiert, da es dort gleich aktiviert
werden soll.
Beim Builden bekomme ich jedoch vom Synthese-Tool (Altera Quartus II)
die Warnung:
1 | Critical Warning: Ignored Power-Up Level option on the following registers
|
2 | Critical Warning (18010): Register [..] will power up to High
|
Frage:
1.) Bedeutet "Ignored Power-Up Level" dass er die Initialisierung mit
dem Max-Wert ignoriert?
2.) Warum ist das überhaupt ein Problem? Ich sollte doch im Prozess beim
Reset angeben was ich will, ob logisch Eins oder Null sollte doch egal
sein?
Hier der VHDL-Code
1 | monoflop : PROCESS (clk, reset_n)
|
2 | variable counter : integer range 0 to maxval;
|
3 | BEGIN
|
4 | IF (reset_n = '0') THEN
|
5 | output <= '1';
|
6 | counter := maxval;
|
7 | ELSIF (clk'EVENT AND clk = '1') THEN
|
8 | IF (enable = '1') THEN
|
9 | IF (input = '1') THEN
|
10 | output <= '1';
|
11 | counter := maxval;
|
12 | ELSE
|
13 | IF (counter > 0) THEN
|
14 | output <= '1';
|
15 | counter := counter - 1;
|
16 | ELSE
|
17 | output <= '0';
|
18 | END IF;
|
19 | END IF;
|
20 | END IF;
|
21 | END IF;
|
22 | END PROCESS monoflop;
|