📄 aes_fsm.h
字号:
#ifndef AES_FSM_H
#define AES_FSM_H
#include <systemc.h>
SC_MODULE(aes_fsm) {
sc_in<bool > clk;
sc_in<bool > key_done;
sc_in<bool > ld_data;
sc_in<bool > resetn;
sc_out<bool > busy;
sc_out<bool > clr_temp;
sc_out<bool > data_valid;
sc_out<sc_uint<4> > key_addr;
sc_out<bool > key_addr_mux;
sc_out<bool > ld;
sc_out<bool > ld_din;
sc_out<sc_uint<4> > sel;
sc_out<bool > sel_dmux;
sc_out<bool > sel_ft_fs;
sc_out<bool > sel_imux;
enum state_type {s0 ,s1 ,ldkey ,sx ,s2 ,xorrk ,s4 ,s3 ,s5 ,s6 ,dvalid ,s8};
sc_signal<state_type > current_state;
sc_signal<state_type > next_state;
sc_signal<sc_uint<4> > key_addr_cld;
sc_signal<bool > key_addr_mux_cld;
sc_signal<sc_uint<4> > sel_cld;
sc_signal<bool > sel_ft_fs_cld;
void clocked_proc();
void nextstate_proc();
void output_proc();
void comb_assignments();
aes_fsm(sc_module_name _n) : sc_module(_n) {
SC_METHOD(clocked_proc);
sensitive << clk << resetn;
SC_METHOD(nextstate_proc);
sensitive << current_state << key_addr_cld << key_done << ld_data << sel_cld;
SC_METHOD(output_proc);
sensitive << current_state ;
SC_METHOD(comb_assignments);
sensitive << key_addr_cld << key_addr_mux_cld << sel_cld << sel_ft_fs_cld;
}
~aes_fsm() {}
SC_HAS_PROCESS(aes_fsm);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -