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


von Walter.K (Gast)


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

von Alban (Gast)


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.

von Walter.K (Gast)


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.

von Alban (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.