ディメンション

Verilogでは、信号内の指定したビットへ信号を接続することができます。

信号名[桁] // '桁'ビット目
信号名[桁0: 桁1] // '桁0'から'桁1'目
信号名[最下位桁 +: ビット幅] // 最下位桁から最下位桁を含むビット幅分上位のビット
信号名[最上位桁 -: ビット幅] // 最上位桁から最上位桁を含むビット幅分下位のビット

以下に例を示します。

wire [15: 0] signal; // 16ビットの信号

wire lsb = signal[0] // 0ビット目を接続
wire [7: 0] s0 = signal[7: 0] // 7ビットから0ビット目を接続
wire [7: 0] s1 = signal[0 +: 8] // 上と同じ
wire [7: 0] s2 = signal[15 -: 8] // 15ビット目から下位8ビットを接続