Forum: FPGA, VHDL & Co. Verilog Synthax Frage


von Sascha K. (Gast)


Lesenswert?

Hi!
Wenn ich 2 Registern habe, die so aussehen: reg [3:0] sp [15:0],
ung reg[3:0] x
wie kann ich z.B x und sp[6] zusammen kombinieren , d.h wenn ich x 
aufrufe, wird automatisch sp[6] aufgerufen.

Gruß
Sascha

von Günter -. (guenter)


Lesenswert?

Sascha K. wrote:
> Hi!
> Wenn ich 2 Registern habe, die so aussehen: reg [3:0] sp [15:0],
> ung reg[3:0] x
> wie kann ich z.B x und sp[6] zusammen kombinieren , d.h wenn ich x
> aufrufe, wird automatisch sp[6] aufgerufen.

Spricht denn was dagegen x als wire zu nehmen?

Dann kannst du folgendes machen:
1
assign x = sp[6];

Ansonsten wirst du die Zuweisung in einen always Block bringen müssen, 
der durch irgendwas getriggert wird.

von Sascha K. (Gast)


Lesenswert?

@  Günter
meinst du, dass ich x als wire deklarieren muss, damit assign x = sp[6] 
gültig wird?

von Günter -. (guenter)


Lesenswert?

@Sascha

Genau. Assign kannst du nur mit wire durchführen. Der Wert wird sofort 
zugewiesen wenn sich die rechte Seite der Zuweisung verändert.

Wenn x aber ein reg Typ ist, dann musst du die Zuweisung in einen always 
Block packen.

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.