Gast
#3901940
Hi, ich habe in einem Verilog Programm folgendes gefunden:
1 | |
und
1 | |
Wo ist da der Unterschied in der Zuweisung, ist doch beidesmal alles auf Null oder?!
|
Anzeige
|
Verilog Zuweisung
Gast
#3901940
Hi, ich habe in einem Verilog Programm folgendes gefunden:
und
Wo ist da der Unterschied in der Zuweisung, ist doch beidesmal alles auf Null oder?!
Gast
#3902446
error=0 wenn error 16 bit gross und kp_reg=0 wenn kp_reg 30 bit gross ist. ansonsten bleiben die übrigen so wie sie sind.
Gast
#3902680
> Wo ist da der Unterschied in der Zuweisung, ist doch beidesmal alles auf
Null oder?!
Ja, man könnte auch:
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:
Andi
Gast
#3903861
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.
Gruss
Gast
#3904138
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...
Gast
#3904253
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;
Gast
#3904264
Lattice User schrieb: .... > localparam PSR = 5; > kp_reg <= {29-PSR{1'b0}}; > --> > kp_reg <= {24{1'b0}}; > --> > kp_reg <= 24'b0; Ah ja, danke! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|