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

📄 aes_fsm.h

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