📄 aes_ecb_top.h
字号:
#ifndef AES_ECB_TOP_H
#define AES_ECB_TOP_H
#include <systemc.h>
#include "aes_encdec.h"
#include "aes_keygen.h"
#include "aes_lut.h"
SC_MODULE(aes_ecb_top) {
sc_in<bool > clk;
sc_in<sc_biguint<128> > din;
sc_in<bool > enc_dec;
sc_in<bool > ld_data;
sc_in<bool > ld_key;
sc_in<bool > resetn;
sc_out<bool > busy;
sc_out<bool > data_valid;
sc_out<sc_biguint<128> > dout;
sc_out<bool > key_valid;
sc_signal<sc_uint<2> > lutsel10;
sc_signal<bool > busy_data;
sc_signal<bool > busy_key;
sc_signal<bool > dkey_done;
sc_signal<sc_biguint<128> > dkey_out;
sc_signal<bool > ekey_done;
sc_signal<sc_biguint<128> > ekey_out;
sc_signal<sc_uint<8> > fsb_addr;
sc_signal<sc_uint<8> > fsbout;
sc_signal<sc_uint<8> > ftfs_addr;
sc_signal<sc_uint<2> > ftsel;
sc_signal<sc_uint<4> > key_addr;
sc_signal<bool > key_addr_mux;
sc_signal<sc_uint<8> > kt_addr;
sc_signal<sc_uint<2> > ktsel;
sc_signal<sc_uint<8> > lut_addr;
sc_signal<sc_uint<32> > lut_out;
sc_signal<sc_uint<6> > lut_sel;
sc_signal<sc_uint<2> > sel_addr;
sc_signal<bool > sel_ft_fs;
void process_line120();
void i4combo_proc();
void comb_assignments();
aes_encdec i1;
aes_keygen i0;
aes_lut i2;
aes_ecb_top(sc_module_name _n) : sc_module(_n),i1("i1"),i0("i0"),i2("i2") {
i1.clk(clk);
i1.din(din);
i1.dkey_out(dkey_out);
i1.ekey_out(ekey_out);
i1.enc_dec(enc_dec);
i1.ftfs_out(lut_out);
i1.key_done(dkey_done);
i1.ld_data(ld_data);
i1.resetn(resetn);
i1.busy(busy_data);
i1.data_valid(data_valid);
i1.dout(dout);
i1.ftfs_addr(ftfs_addr);
i1.ftsel(ftsel);
i1.key_addr(key_addr);
i1.key_addr_mux(key_addr_mux);
i1.sel_ft_fs(sel_ft_fs);
i0.clk(clk);
i0.dkey_addr(key_addr);
i0.dkey_addr_mux(key_addr_mux);
i0.ekey_addr(key_addr);
i0.ekey_addr_mux(key_addr_mux);
i0.fsbout(fsbout);
i0.key(din);
i0.ktout(lut_out);
i0.ld_key(ld_key);
i0.resetn(resetn);
i0.busy(busy_key);
i0.dkey_done(dkey_done);
i0.dkey_out(dkey_out);
i0.ekey_done(ekey_done);
i0.ekey_out(ekey_out);
i0.fsb_addr(fsb_addr);
i0.kt_addr(kt_addr);
i0.ktsel(ktsel);
i2.lut_addr(lut_addr);
i2.lut_sel(lut_sel);
i2.lut_out(lut_out);
SC_METHOD(process_line120);
sensitive << sel_addr << ktsel << ftsel;
SC_METHOD(i4combo_proc);
sensitive << fsb_addr << kt_addr << ftfs_addr << sel_addr;
SC_METHOD(comb_assignments);
sensitive << dkey_done << ekey_done << sel_addr << enc_dec << sel_ft_fs << lutsel10 << busy_key << busy_data << lut_out;
}
~aes_ecb_top() {}
SC_HAS_PROCESS(aes_ecb_top);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -