実機で試せないので、机上で考える
スイッチを押した数を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個でも信号をたばねているので、それはバスと呼ぶのか。