⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aes_lut.cpp

📁 VHDL to System C translator
💻 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 + -