📄 aes_lut.cpp
字号:
#include "aes_lut.h"
void aes_lut::process_line93() {
switch (lut_sel.read()) {
case 0 :
lut_out.write(((sc_uint<24>)"0b000000000000000000000000",fsbout.read()) );
break;
case 8 :
lut_out.write(((sc_uint<24>)"0b000000000000000000000000",fsbout.read()) );
break;
case 16 :
lut_out.write((sc_uint<32>)(rtout.read() ));
break;
case 17 :
lut_out.write((((rtout.read()(7,0 ),rtout.read()(31,24 )),rtout.read()(23,16 )),rtout.read()(15,8 )) );
break;
case 18 :
lut_out.write((((rtout.read()(15,8 ),rtout.read()(7,0 )),rtout.read()(31,24 )),rtout.read()(23,16 )) );
break;
case 19 :
lut_out.write((((rtout.read()(23,16 ),rtout.read()(15,8 )),rtout.read()(7,0 )),rtout.read()(31,24 )) );
break;
case 24 :
lut_out.write((sc_uint<32>)(rtout.read() ));
break;
case 25 :
lut_out.write((((rtout.read()(7,0 ),rtout.read()(31,24 )),rtout.read()(23,16 )),rtout.read()(15,8 )) );
break;
case 26 :
lut_out.write((((rtout.read()(15,8 ),rtout.read()(7,0 )),rtout.read()(31,24 )),rtout.read()(23,16 )) );
break;
case 27 :
lut_out.write((((rtout.read()(23,16 ),rtout.read()(15,8 )),rtout.read()(7,0 )),rtout.read()(31,24 )) );
break;
case 48 :
lut_out.write((sc_uint<32>)(ftout.read() ));
break;
case 49 :
lut_out.write((((ftout.read()(7,0 ),ftout.read()(31,24 )),ftout.read()(23,16 )),ftout.read()(15,8 )) );
break;
case 50 :
lut_out.write((((ftout.read()(15,8 ),ftout.read()(7,0 )),ftout.read()(31,24 )),ftout.read()(23,16 )) );
break;
case 51 :
lut_out.write((((ftout.read()(23,16 ),ftout.read()(15,8 )),ftout.read()(7,0 )),ftout.read()(31,24 )) );
break;
case 52 :
lut_out.write((fsbout.read(),(sc_uint<24>)"0b000000000000000000000000") );
break;
case 53 :
lut_out.write((((sc_uint<8>)"0b00000000",fsbout.read()),(sc_uint<16>)"0b0000000000000000") );
break;
case 54 :
lut_out.write((((sc_uint<16>)"0b0000000000000000",fsbout.read()),(sc_uint<8>)"0b00000000") );
break;
case 55 :
lut_out.write(((sc_uint<24>)"0b000000000000000000000000",fsbout.read()) );
break;
case 56 :
lut_out.write((sc_uint<32>)(rtout.read() ));
break;
case 57 :
lut_out.write((((rtout.read()(7,0 ),rtout.read()(31,24 )),rtout.read()(23,16 )),rtout.read()(15,8 )) );
break;
case 58 :
lut_out.write((((rtout.read()(15,8 ),rtout.read()(7,0 )),rtout.read()(31,24 )),rtout.read()(23,16 )) );
break;
case 59 :
lut_out.write((((rtout.read()(23,16 ),rtout.read()(15,8 )),rtout.read()(7,0 )),rtout.read()(31,24 )) );
break;
case 60 :
lut_out.write((rsbout.read(),(sc_uint<24>)"0b000000000000000000000000") );
break;
case 61 :
lut_out.write((((sc_uint<8>)"0b00000000",rsbout.read()),(sc_uint<16>)"0b0000000000000000") );
break;
case 62 :
lut_out.write((((sc_uint<16>)"0b0000000000000000",rsbout.read()),(sc_uint<8>)"0b00000000") );
break;
case 63 :
lut_out.write(((sc_uint<24>)"0b000000000000000000000000",rsbout.read()) );
break;
default : lut_out.write((sc_uint<32>)("0b00000000000000000000000000000000" ));
break;
}
}
void aes_lut::i2combo_proc() {
switch (sel_rt_addr.read()) {
case 0 :
rtaddr.write((sc_uint<8>)(lut_addr.read() ));
break;
case 1 :
rtaddr.write((sc_uint<8>)(fsbout.read() ));
break;
default : rtaddr.write((sc_uint<8>)("0b00000000" ));
break;
}
}
void aes_lut::comb_assignments() {
sel_rt_addr.write((!(lut_sel.read()[5 ])) & lut_sel.read()[4 ] );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -