アサインメント オペレータ

通常の代入演算子=の他に、C言語と同様の次の演算子が追加になっています。

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, <<<=, >>>=
 
例えば、

a +=2;

は、a=a+2と等価です。「a+2 をaに代入する」、
というよりも、aに2を足すと、考えた方が自然な場面があるでしょう。

あるいは、
a -=2;

は、aから2を引く

そういうときに便利な演算子です。
module test;
 
int i;
 

        initial begin
 
 
		i = 10;
 
 
		do   begin
			i -= 5;
			i *=1;
			i %=10;
			i /=1;
			i +=1;
			i ^=0;
			i &=8'hff;
			i |=8'h00;
			i <<=1;
			i >>=1;
			i <<<=1;
			i >>>=1;
 
			$display("%0d", i);
			if (i==254) break;
   		end while(i !==0);
 
		$display("\nFor Loop:");
		for (int j=10; j>=0; j -=2) begin
			$display("%0d", j);
		end
		$finish;
	end
 

endmodule
 
結果です。
***** Veritak SV Engine Version 0.430 Build Oct.5.2011 *****

6
2
254

For Loop:
10
8
6
4
2
0
Info: $finishコマンドを実行します。time=0ns