Frage zur State Maschine Programmierung

Gast #657249
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
Gast #657299
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.
Gast #657361
Lesenswert?
• ▲
▼
Einen Demultiplexer würde ich jetzt mit einem Case statement machen:
1
case(addr)
2
0: block0 = in_data;
3
1: block1 = in_data;
4
2: block2 = in_data;
5
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

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.