C# Class BitField.BitFieldImmediate

値を直接格納しているビットフィールド。 普通に BitFiled.Create() で BitField を作るとこいつができる。
Inheritance: BitField
Show file Open project: ufcpp/UfcppSample

Public Methods

Method Description
Assign ( BitField a ) : void

値を割り当てる。

Assign ( int m, int l, BitField a ) : void

m〜l ビット目に値を割り当てる。

BitFieldImmediate ( int msb, int lsb ) : System

MSB が m、 LSB が l のビットフィールドを作成。

BitFieldImmediate ( int msb, int lsb, ulong n ) : System

MSB が m、 LSB が l のビットフィールドを作成。 値の初期化も行う。

Private Methods

Method Description
GetMask ( int m, int l ) : ulong

m〜l ビット目のみ 1 のマスクを生成。

GetValue ( ) : ulong

格納されている値を ulong 化して返す。

GetValue ( int m, int l ) : ulong

m〜l ビット目に格納されている値を ulong 化して返す。 verilog の z[m:l] に相当。

Sub ( int m, int l ) : BitField

m〜l ビット目のみを切り出す。 verilog の z[m:l] に相当。 z.Sub(m, l) を書き換えると z そのものも書き換えられる。

Method Details

Assign() public method

値を割り当てる。
/// this.Width != a.Width のとき発生。 ///
public Assign ( BitField a ) : void
a BitField 割り当てたい値の入ったビットフィールド。
return void

Assign() public method

m〜l ビット目に値を割り当てる。
/// this.Sub(m, l).Width != a.Width のとき発生。 ///
public Assign ( int m, int l, BitField a ) : void
m int MSB
l int LSB
a BitField 割り当てたい値の入ったビットフィールド
return void

BitFieldImmediate() public method

MSB が m、 LSB が l のビットフィールドを作成。
public BitFieldImmediate ( int msb, int lsb ) : System
msb int MSB
lsb int LSB
return System

BitFieldImmediate() public method

MSB が m、 LSB が l のビットフィールドを作成。 値の初期化も行う。
public BitFieldImmediate ( int msb, int lsb, ulong n ) : System
msb int MSB
lsb int LSB
n ulong 初期値
return System