fsm.cpp

来自「VHDL to System C translator」· C++ 代码 · 共 76 行

CPP
76
字号
#include "fsm.h"


void fsm::process_line53() {
    if ((reset.read() == 0)) {
        state.write((states)(s0 ));
    } else
        if (clk.posedge()) {
            state.write((states)(nextstate.read() ));

        }
}
void fsm::process_line62() {

    switch (state.read()) {
    case s0 :
        if (start.read() == 1) {
            nextstate.write((states)(s1 ));
        } else {
            nextstate.write((states)(s0 ));


        }
        break;
    case s1 :
        if (cnt.read() == (sc_uint<5>)"0b11111") {
            nextstate.write((states)(s2 ));
        } else {
            nextstate.write((states)(s1 ));


        }
        break;
    case s2 :
        if (start.read() == 0) {
            nextstate.write((states)(s0 ));
        } else {
            nextstate.write((states)(s2 ));


        }
        break;
    default :
        nextstate.write((states)(s0 ));
        break;

    }
}
void fsm::process_line84() {

    switch (state.read()) {
    case s0 :
        done.write((bool)(0 ));
        init.write((bool)(1 ));
        load.write((bool)(0 ));
        break;
    case s1 :
        done.write((bool)(0 ));
        init.write((bool)(0 ));
        load.write((bool)(1 ));
        break;
    case s2 :
        done.write((bool)(1 ));
        init.write((bool)(0 ));
        load.write((bool)(0 ));
        break;
    default :
        done.write((bool)(0 ));
        init.write((bool)(0 ));
        load.write((bool)(0 ));
        break;

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?