Fehlermeldung bei Synthese (Ausgabe 7 Segment)

Gast #807235
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
Angehängte Dateien:
Gast #807499
Lesenswert?

Nein sorry, ich kann nichts konkretes finden. Was du mal probieren 
kannst:
1
Clk='1' and Clk'event
könnte wenn das Tool sauschlecht ist, nicht erkannt werden. Versuchs 
mal mit
1
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
1
process (clk, reset) begin
2
  if reset='1' then
3
    ...
4
  else if clk'event and clk='1' then
5
    ...
6
  end if;
7
end process;
lieber
1
process (clk) begin
2
  if clk'event and clk='1' then
3
    if reset='1' then
4
      ...
5
    else
6
      ...
7
    end if;
8
  end if;
9
end process;
Ob das der Grund für die Fehlermeldung ist kann ich dir aber leider auch 
nicht sagen.
Gast #807547
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!
#807566
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren