📄 aes_encdec.h
字号:
#ifndef AES_ENCDEC_H
#define AES_ENCDEC_H
#include <systemc.h>
#include "aes_fsm.h"
#include "aes_logic.h"
SC_MODULE(aes_encdec) {
sc_in<bool > clk;
sc_in<sc_biguint<128> > din;
sc_in<sc_biguint<128> > dkey_out;
sc_in<sc_biguint<128> > ekey_out;
sc_in<bool > enc_dec;
sc_in<sc_uint<32> > ftfs_out;
sc_in<bool > key_done;
sc_in<bool > ld_data;
sc_in<bool > resetn;
sc_out<bool > busy;
sc_out<bool > data_valid;
sc_out<sc_biguint<128> > dout;
sc_out<sc_uint<8> > ftfs_addr;
sc_out<sc_uint<2> > ftsel;
sc_out<sc_uint<4> > key_addr;
sc_out<bool > key_addr_mux;
sc_out<bool > sel_ft_fs;
sc_signal<bool > clr_temp;
sc_signal<bool > ld;
sc_signal<bool > ld_din;
sc_signal<sc_uint<4> > sel;
sc_signal<bool > sel_dmux;
sc_signal<bool > sel_imux;
aes_fsm i1;
aes_logic i0;
aes_encdec(sc_module_name _n) : sc_module(_n),i1("i1"),i0("i0") {
i1.clk(clk);
i1.key_done(key_done);
i1.ld_data(ld_data);
i1.resetn(resetn);
i1.busy(busy);
i1.clr_temp(clr_temp);
i1.data_valid(data_valid);
i1.key_addr(key_addr);
i1.key_addr_mux(key_addr_mux);
i1.ld(ld);
i1.ld_din(ld_din);
i1.sel(sel);
i1.sel_dmux(sel_dmux);
i1.sel_ft_fs(sel_ft_fs);
i1.sel_imux(sel_imux);
i0.clk(clk);
i0.clr_temp(clr_temp);
i0.din(din);
i0.dkey_out(dkey_out);
i0.ekey_out(ekey_out);
i0.enc_dec(enc_dec);
i0.ftfs_out(ftfs_out);
i0.ld(ld);
i0.ld_din(ld_din);
i0.resetn(resetn);
i0.sel(sel);
i0.sel_dmux(sel_dmux);
i0.sel_imux(sel_imux);
i0.dout(dout);
i0.ftfs_addr(ftfs_addr);
i0.ftsel(ftsel);
}
~aes_encdec() {}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -