www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Frage zur State Maschine Programmierung


Autor: Walter.K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Als Eingang von meiner Schaltung habe ich einen String, der 11 bit gross 
ist.
Die ersten 5 Bits darstellen eine Adresse, und die anderen 6 Bits 
Nutzdaten
Ich habe 32 Blöcke, jeder Block hat sein eigener Adresse(5Bit). Wie kann 
ich eine State Maschine mit verilog Programmieren, die die empfangene 
Adresse mit
den Blöcken Adresse vergleicht ,den Block mit den richtigen Adresse 
auswählen
, und die 6 Bit Nutzdaten in diesem Block speichern.

Vielen Dank im Voraus
Walter

Autor: Alban (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich dich richtig verstehe dann liegen die 11 bit parallel am 
Eingang an?

Dann benötigst du eigentlich keine State Machine. Das ist eine typische 
Anwendung für einen Demultiplexer. Die 5 Adressbits wählen den Ausgang 
-- hier die Blöcke -- aus. Die 6 bit Nutzdaten werden auf den Eingang 
des Demultiplexers gegeben und dann entsprechend der Adresse auf den 
jeweiligen Block geschaltet.

Autor: Walter.K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für deine schnelle Antwort!
Ja das ist was ich tun soll.Aber wie kann ich das mit verilog 
programmieren, ich kann mir das nicht Hardwaremässig vorstellen.

Autor: Alban (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Demultiplexer würde ich jetzt mit einem Case statement machen:
case(addr)
0: block0 = in_data;
1: block1 = in_data;
2: block2 = in_data;
etc.

Das ist nicht ganz vollständig, aber ich glaube es gibt dir einen Start 
und du kannst von da an weiter machen.

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.