assignは、通常、assign
はワイヤー(ネット型)に使用。
例えば、論理ゲートを使用して2つの入力信号aとbの論理積を計算してcに格納する場合、assignが必要です。
assignを使用するケース:
wire a, b, c;
assign c = a & b; // cにaとbの論理積を代入
assignを使用しないケース:
module ModuleA(output wire c);
// ここでcの計算を行う必要はない
endmodule
module ModuleB(input a, input b, output c);
// ModuleA内で計算されたcを利用
ModuleA u1 (.c(c));
endmodule
間違えたポイント
assign A = B は連結という解説をよく見るが、実際は右辺を左辺に代入という意味である。