SystemVerilogコードをSystemC/C++に移植しています。std :: bitsetを使用してビットベクトルを表現していますが、スライスにアクセスするためのメソッドを提供するには不十分であることがすでにわかります。
たとえば、SystemVerilogコードを使用してreg1をreg2のビット4〜8に設定する場合:
bit [3:0] reg1;
bit [15:0] reg2;
reg1 = reg2[7:4];
std :: bitsetでこれを行うにはどうすればよいですか?
bitset<4> reg1;
bitset<16> reg2;
reg1[0] = reg2[4];
reg1[1] = reg2[5];
reg1[2] = reg2[6];
reg1[3] = reg2[7];
もっと良い方法はありますか?