www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Problem: Statemachine wird auf 0 Gatter optimiert


Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche mich seit ein paar Tagen an einer Statemachine in VHDL für
den ISA-Bus vom PC. Die Entwicklungsumgebung ist Quartus II und ein
Cyclone-Evalboard von Altera. Einfache VHDL Programme habe ich damit
schon zum Funktionieren gebracht :-)

Die ISA-Bus Statemachine ist eigentlich auch nicht so kompliziert. Die
Kompilierung erfolgt auch ohne Fehlermeldungen. Aber beim
Optimierungsschritt werden die Warnungen ausgegeben, das wichtige
Signale statisch auf GND oder VCC verdrahtet wurden. Im
Hierachy-Browser wird angezeigt, dass die Statemachine keine Ressourcen
belegt.

"Warning: Following 16 pins have no output enable or a GND or VCC
output enable - later changes to this connectivity may change fitting
results
Info: Pin PC_D[15] has a permanently enabled output enable ...
Info: Pin PC_D[0] has a permanently disabled output enable"

"Warning: Reduced register
isa_controller:inst5|controller:U0|currentState~21 with stuck data_in
port to stuck value GND ...
Warning: Reduced register
isa_controller:inst5|controller:U0|currentState~25 with stuck data_in
port to stuck value GND"

Ich habe darauf geachtet die IO-Signale möglichst auf IO-Ports zu
legen, damit diese nicht wegoptimiert werden.

Ich nehme an, dass der Fehler im VHDL-Programm liegt. Hier bin ich mir
nicht ganz sicher, ob ich den bidirektionalen Datenbus richtig
behandle. Wie kann ich den Fehler eingrenzen, wenn alles wegoptimiert
wurde?

Ich habe den Code als Datei angefügt.
Hat jemand eine Idee?

Gruß,
Jürgen.

PS: Die Schaltung (isa-controller_blockdiagramm.jpg) ist natürlich noch
nicht im geringsten getestet... eben wegen o.g. Probleme

PPS: Kennt jemand eine Möglichkeit, mit der man die Optimierung von
bestimmten Signalen unterbinden kann?

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das reset signal der FSM irgendwo fest auf '1' geklemmt?

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur der state ist getaktet, alles andere (FSM Ausgangssignale) sind
ungetaktet. Ist das so gewollt?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ FPGAküchle:

zu 1.
Danke für den Tipp mit dem Reset. Ich habe das Signal mal Testweise auf
'0' gelegt, leider ohne Erfolg. Auch hat es nicht geholfen das Reset
im Code unbenutzt zu lassen.
zu 2.
Besser wäre es schon die Ausgangssignale nocheinmal durch ein Register
zu schicken, aber das wollte ich mir für die Königsvariante aufheben
;-)

@ all:

Kann man vielleicht durch ein Parameter erzwingen, das ein Signal nicht
optimiert werden darf? Bei Xilinx (Synopsys?) gab es soetwas.

Ich vermute, dass ich einen Fehler bei der Verschaltung der beiden
Komponenten U0:controller und U1:rw_control gemacht habe, kann aber
keinen Fehler feststellen.

Jürgen.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe den Fehler selber gefunden:
Die FSM wartet auf das Signal ALE, welches jedoch nicht angeschlossen
war.

Danke,
Jürgen.

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, dann ist ja alles gut. (BTW aus dem codeschnipsel kann man nicht
erkennen das ALE nicht angeschlossen ist (oder doch?)

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus der VHDL-Datei geht das nicht hervor.
Erst bei näherem Betrachten von "isa_controller_blockdiagramm.jpg"
(auch in dem Zip enthalten) erkennt man den Fehler.

Vielen Dank für die Tipps - Gruß,
Jürgen.

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.