www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL - Problem


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

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte einen Nummernblock (10 Taster) mit einem XC9536 CPLD abfragen
und die gedrückte Zahl binär ausgeben. Dabei soll bei jedem Tastendruck
ein Interrupt erzeugt werden. Das funktioniert. Jetzt habe ich noch 4
weitere Taster (zum Einstellen von Dingen) die ebenfalls den Interrupt
erzeugen sollen. Signallaufzeiten sind mir nicht wichtig und eine CLOCK
soll möglichst nicht verwendet werden. Wenn ich den Source so wie er im
Anhang steht synthetisiere funktioniert der Teil mit dem Nummernblock
und Interrupt. Wenn ich den auskommentierten Block für die
Einstelltaster dazunehme wird kein Interrupt mehr generiert. Bin selbst
mit so einfachen Dingen überfordert. Warum geht das nicht ?

Autor: Tobias O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiere mal eine defaultzuweisung "when others" wie unten angegeben.
Dann sollte es funktionieren. Ansonsten kann ich absolut keine Fehler
finden.

EINSTINT <= '0' when EINSTELL = "0000" else
        '1' when EINSTELL = "0001" else
        '1' when EINSTELL = "0010" else
        '1' when EINSTELL = "0100" else
        '1' when EINSTELL = "1000" else
                                '0' when others ;

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

Bewertung
0 lesenswert
nicht lesenswert
Habe das versucht (siehe Anhang). Das others Schlüsselwort benötigt
allerdings die with select Anweisung. Funktioniert auch nicht, d.h. die
Einstelltasten lösen jetzt einen Interrupt aus, aber die
Nummernblocktasten nicht.

Autor: Beeblebrox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*** FEHLER GEFUNDEN ! ***
Hatte einen Portpin vom uC am Eingang des CPLD als Ausgang definiert,
damit wurden ständig Interrupts ausgelöst. War also ein Fehler im
Programm des uC und nicht im CPLD ! Danke für die Hilfe !

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.