実機で試せないので、机上で考える

スイッチを押した数を4個のLEDで表示する回路
0は4個点灯□□□□で、
5回押すと二進数で0101なので□■□■になる

input reset;
input switch;
output [4:1] led_n
reg [3:0] counter4;


always@(posedge switch or posedge reset)
begin
  if( reset == 1'b1 ) begin
    counter4 = 4'b000;
  end else begin
    counter4 = counter4 + 1;
  end
end

assign led_n[4]=!counter4[3];
assign led_n[3]=!counter4[2];
assign led_n[2]=!counter4[1];
assign led_n[1]=!counter4[0];

end

counter4は4ビットの変数ですね。
resetを押すと、counter4が0に初期化
それ以外(=switch押した)で、counter4++
assignで、counter4の中身がled_nに紐付いている


always@(possedge 変数)
は、変数の値がLからHに立ち上がったときに、以下のbegin〜endが動くらしい
ActionScriptで言うところの、addEventListenerだな(^^;


assignの部分は、

assign led_n[4:1]=~counter4[3:0]

と1行にまとめられる模様。!は一つの信号を反転。〜はバスの信号をまとめて反転らしい。
そうかたとえ4個でも信号をたばねているので、それはバスと呼ぶのか。