mikrocontroller.net

Forum: FPGA, VHDL & Co. Fehlermeldung bei Synthese (Ausgabe 7 Segment)


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe in VHDL eine Ausgabe Routine programmiert, die sich irgendwie 
nicht synthetisieren lasst. Mit der Fehlermeldung kann ich leider nichts 
anfangen. siehe Anhang
Danke für eure Hilfe!

p.s. Testen kann ich das Programm erst heute Abend zu Hause!
Gruß
Sigi

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

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:
Hier noch das Topmodul1

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste bitte auch mal die anderen Module, ohne die lässt sich wenig dazu 
sagen.

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

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung Programme zusammen gefasst
Danke!

Gruß

sigi

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein sorry, ich kann nichts konkretes finden. Was du mal probieren 
kannst:
Clk='1' and Clk'event
könnte wenn das Tool sauschlecht ist, nicht erkannt werden. Versuchs 
mal mit
Clk'event and Clk='1'
Ich kann mir aber kaum vorstellen, dass sich jemand traut ein Tool mit 
einem solchen Fehler rauszugeben.

Ansonsten ist evtl. gemeint, dass die Set/Reset Signale asynchron 
arbeiten, was wenn möglich vermieden werden sollte und evtl. vom 
gewählen Device gar nicht unterstützt wird. Der Grund ist, dass ein 
beliebiges Timing des Reset-Signals im Vergleich zur Clock dazu führen 
kann, dass nach dem Loslassen des Reset sofort eine Taktflanke kommt und 
die Timing-Bedingungen der Register verletzt, und das System deshalb 
nach einem Reset in einen unerwarteten oder sogar Metastabilien Zustant 
kommen kann. Besser ist es deshalb, das Reset-Signal durch ein, zwei 
getaktete Register laufen zu lassen (Synchronizer) und danach als 
synchronen Reset zu verwenden, also statt
process (clk, reset) begin
  if reset='1' then
    ...
  else if clk'event and clk='1' then
    ...
  end if;
end process;
lieber
process (clk) begin
  if clk'event and clk='1' then
    if reset='1' then
      ...
    else
      ...
    end if;
  end if;
end process;
Ob das der Grund für die Fehlermeldung ist kann ich dir aber leider auch 
nicht sagen.

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Morin das Du dir die Arbeit gemacht hast und mein Programm 
durchgeschaut hast. Ist ja doch eine Menge Quellcode.
Ich werde es mal heute Abend aus probieren vielleicht läuft es ja dann.
Vielen Dank!

Bis dann Sigi!

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Meldungen in der GIF Datei sind auch keine Fehlermeldungen, sondern 
Warnings.

Was in Deinem Code aber falsch oder nicht so schön ist, ist die 
Erzeugung von Clkint.
Man soll keinen Takt aus einem anderen durch Herunterteilen erzeugen, 
sonden mit Clock-Enable arbriten.
Alle Module sollen mit einem gemeinsamen Takt arbeiten, die langsamen 
Teile arbeiten wenn ein Clock-Enable aktiv ist.

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Klaus!

Werden ich heute Abend auch gleich mal ausprobieren.
Gruß

Sigi!

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke nochmals für die Hilfe. Ich habe eure Vorschläge zu hause 
ausprobiert und es läuft jetzt. Es lag wirklich an der Synchronisierung.
Schöne Ostern und bis dann

Sigi!

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.