📄 ekeyfsm.h
字号:
#ifndef EKEYFSM_H
#define EKEYFSM_H
#include <systemc.h>
SC_MODULE(ekeyfsm) {
sc_in<bool > clk;
sc_in<bool > ld_key;
sc_in<bool > resetn;
sc_out<bool > busy;
sc_out<bool > dkey_done;
sc_out<bool > dkey_mux;
sc_out<bool > ekey_done;
sc_out<bool > key_inp_mux;
sc_out<bool > ld;
sc_out<bool > ld_rk3;
sc_out<bool > ldd;
sc_out<sc_uint<4> > round_daddr;
sc_out<sc_uint<4> > round_eaddr;
sc_out<sc_uint<2> > sel_rk3;
sc_out<sc_uint<4> > sel_sk;
sc_out<bool > wr_dmem;
enum state_type {s0 ,s1 ,s2 ,s3 ,s4 ,s5 ,wr0 ,s6 ,s7 ,s8 ,s10 ,s11 ,rd10 ,rd9 ,rdx};
sc_signal<state_type > current_state;
sc_signal<state_type > next_state;
sc_signal<bool > ekey_done_cld;
sc_signal<sc_uint<4> > round_daddr_cld;
sc_signal<sc_uint<4> > round_eaddr_cld;
sc_signal<sc_uint<2> > sel_rk3_cld;
sc_signal<sc_uint<4> > sel_sk_cld;
void clocked_proc();
void nextstate_proc();
void output_proc();
void comb_assignments();
ekeyfsm(sc_module_name _n) : sc_module(_n) {
SC_METHOD(clocked_proc);
sensitive << clk << resetn;
SC_METHOD(nextstate_proc);
sensitive << current_state << ld_key << round_daddr_cld << round_eaddr_cld << sel_rk3_cld << sel_sk_cld;
SC_METHOD(output_proc);
sensitive << current_state ;
SC_METHOD(comb_assignments);
sensitive << ekey_done_cld << round_daddr_cld << round_eaddr_cld << sel_rk3_cld << sel_sk_cld;
}
~ekeyfsm() {}
SC_HAS_PROCESS(ekeyfsm);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -