www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE Warnung Xst:647 - Input <res> is never used.


Autor: Nanobot (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

vielleicht kann mir einer von euch mal einen Tipp geben warum das
Xilinx Webpack die angehängte VHDL Datei nicht ohne Warnungen
synthetisieren kann. Hab schon gegoogelt aber nichts sinnvolles
gefunden.
Ich bekomme immer folgende Warnung:

   WARNING:Xst:647 - Input <res> is never used.

Input <res> wird doch im Prozess verwendet, wieso checkt das Webpack
das nicht? Oder habe ich was falsch gemacht?

Ich habe eine umfangreichere Datei die etliche solcher Warnungen
enthält und da bin ich nun unsicher ob ich die Warnungen einfach
ignorieren kann/soll...

Ich weiß nicht mehr weiter, vor allem weil eine ähnlich einfache Datei,
die Signale auch nur im Prozess verwendet, fehler- und warnungsfrei
synthetisiert wird !

Bin für jede Hilfe dankbar :)

Grüße,
Nanobot

Autor: breti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

es kann sein, dass er deinen Ausgang wegsynthetisiert sprich durch
feste Logic ersetzt, daher braucht er dann den Eingang nicht mehr. Wenn
Du mal genau hinschaust, so wirst Du feststellen, dass der Ausgang sich
gar nicht ändert. Dazu müssten die Xilinx Tools auch was beim
synthetisieren schreiben. Schau Dir die Ausgabe nochmal genau durch.

Du könntest ansonsten mal folgendes machen:

  tA: process(res)
  begin
    if res'event and res='1' then
      out1 <= '1';
                else
                        out <= '0';
    end if;
  end process;

oder den ausgang erst auf 0 initialisieren

entity test is
  port ( res  : in std_logic;
               out1 : out std_logic := '0' );
end test;

architecture Behavioral of test is

begin

  tA: process(res)
  begin
    if res'event and res='1' then
      out1 <= '1';
    end if;
  end process;

end Behavioral;

Gruß,
     Thomas

Autor: Nanobot (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi breti,

danke für den Hinweis. Der hat das tatsächlich als "feste Logik"
generiert weil sich der Zustand des Signals wohl nur einmal ändert und
dann stabil bleibt.

Ich glaube ich muss mir mal die richtige VHDL Literatur besorgen um zu
verstehen wie das Synthesetool die VHDL Konstrukte übersetzt (welche
Art von Schaltungen generiert werden)
Vielleicht kann ich dann eher nachvollziehen was "bad synchronous
description" und "Input <res> is never used" heißt und vor allem wie
man solche Probleme beheben kann...

Grüße,
Nanobot

Autor: breti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wo du es gerade erwähntes: das "bad synchronus description" ist
übrigens etwas komplizierter zu lösen. Bin ich auch schonmal drauf
reingefallen. Das ist aber prima in der Xilinx online hilfe erklärt
(mit beispiel). Einfach mal auf "Error:" klicken, dann kommst du
dahin.

Gruß,
      Thomas

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Das wegoptimieren sieht man dann im Synplify unter "RTL View". Ich
weiß aber nicht, ob das mit dem Webpack auch geht.

Ich wollte aber noch sagen, dass der folgende Initialisierungsvorschlag
von breti auch nichts bringen dürfte, da die Synthese keine
Initialisierungen kennt:

entity test is
  port ( res  : in std_logic;
               out1 : out std_logic := '0' );
end test;

Wenn man sich das Register in Hardware vorstellt, dann kann es nicht
mit einem definierten Zustand "auf die Welt kommen"  :-)

Grüße
Ralph

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.