Verilog Zuweisung

Gast #3902680
Lesenswert?

> Wo ist da der Unterschied in der Zuweisung, ist doch beidesmal alles auf
Null oder?!

Ja, man könnte auch:
1
error <= 0;
schreiben. Die Zeilen, die du gefunden hast haben halt den Vorteil, dass 
du sofort weist wieviele Bits breit "error" ist, und dass man sehr 
schnell andere Hexzahlen ausprobieren kann, oder beim zweiten Beispiel 
mal schnell die unteren 29-PSR Bits auf 1 setzen kann zum testen.

Was der kleine peter da geschrieben hat stimmt übrigens nicht.
> ansonsten bleiben die übrigen so wie sie sind.
Wenn mit "die übrigen" allfällige höhere Bits gemeint sind, so werden 
diese auf 0 gesetzt. Um sie unverändert zu lassen müsste man einen 
Bitbereich im Zielregister der Zuweisung angeben. z.B:
1
error[7:0] <= 8'b0;

Andi
Gast #3904253
Lesenswert?

peter schrieb:
> kp_reg <= {29-PSR{1'b0}};
>
> Wenn du hier kp_reg mit 32Bit hast, werden nur die Bits 29-0 auf 0
> gesetzt, so einfach ist das.

falsch.
wenn die linke Seite der Zuweisung länger ist als die rechte, wird mit 0 
aufgefüllt.


berndl schrieb:
> Peter Zz schrieb:
>> kp_reg <= {29-PSR{1'b0}};
> ... ich habe mal vor ueber 10 Jahren Verilog gemacht.
> Ernsthafte Frage: Was macht dieses Statement? Ich hab' null Plan...

localparam PSR = 5;
kp_reg <= {29-PSR{1'b0}};
-->
kp_reg <= {24{1'b0}};
-->
kp_reg <= 24'b0;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren