www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Quartus II: warum wird mein Zählernicht synthetisiert?


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich verstehe nicht, warum mir Quatus II den Zähler puls_spacing_counter 
in folgendem process nicht synthetisieren will:
process(clk)
begin
    if(clk'event and clk = '1') then
        
        if(is_clk_out_m_in = '0') then
            if(conv_integer(imp_data_from_sr) > 0) then
                puls_data_complete(10 downto 0) <= imp_data_from_sr;
                puls_data_complete(23 downto 11) <= conv_std_logic_vector(puls_spacing_counter, 13);
                reset_counter <= '1';
                get_puls_data_complete <= '1';
            end if;
        end if;
      
        if(is_clk_out_m_in = '1') then
            if(reset_counter = '1') then
                puls_spacing_counter <= 0;
                get_puls_data_complete <= '0';
            else
                puls_spacing_counter <= puls_spacing_counter + 1;
            end if;
        end if;
    end if;
end process;

Mehr Prozesse hat das Entity nicht in seiner Architektur. Es bekommt den 
Vector imp_data_from_sr von einer integrierten Komponete, und es soll 
nun dieser Vector mit dem Inhalt des Zählers in einen neuen Vector 
(puls_data_complete) geschrieben werden.
Leider kommt Quartus ständig mit diesen Warnungen, und die Bits 23-11 in 
puls_data_complete bleiben immer leer.

Warning: Reduced register "reset_counter" with stuck data_in port to 
stuck value VCC
Warning: Reduced register "puls_spacing_counter[0]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[2]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[3]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[4]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[5]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[6]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[7]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[8]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[9]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[10]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[11]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[12]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[11]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[13]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[14]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[15]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[16]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[17]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[18]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[19]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[20]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[21]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[22]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[23]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_spacing_counter[1]" with stuck data_in 
port to stuck value GND
Warning: Reduced register "puls_data_complete[12]" with stuck data_in 
port to stuck value GND

Was mache ich hier falsch?

Gruß
Maik

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstes Warning sagt, dass reset_counter immer auf '1' sei.
Das heisst, dass du nie an die Stelle kommst, wo gezählt wird. Also 
optimiert die Synthese den Zähler raus, da er offensichtlich nicht 
gebraucht wird.

Schau mal nach, wie reset_counter gebildet wird!

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich habe es selber herausbekommen. Ich musste den reset_counter 
natürlich noch einmal zurücksetzen, damit der Counter nicht bei jedem 
Prozessaufruf gelöscht wird.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Schlumpf!

Gerade habe ich es ja selber herausbekommen. Wie du siehst, hattest du 
aber recht. Vielen Dank für die schnelle Hilfe . . .

Gruß
Maik

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn is_clk_out_m_in = '1', weist du puls_spacing_counter <= 0 zu, da 
reset_counter immer '1' ist.
Wenn dann is_clk_out_m_in = '0' ist, dann übernimmst du eben genau diese 
0 in
puls_data_complete(23 downto 11)

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, alles bestenes...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.