ex_mem.h
来自「SystemC 实现 MIPS 处理器 源代码」· C头文件 代码 · 共 59 行
H
59 行
#ifndef EX_MEM_H
#define EX_MEM_H
#include "STDAFX.h"
SC_MODULE(EX_MEM)
{
sc_in_clk clk;
sc_in<sc_uint<32> > EX_MEM_instr_in;
sc_in<sc_uint<32> > EX_MEM_ALU_result_in;
sc_in<sc_uint<32> > EX_MEM_regdata2_in;
sc_out<sc_uint<32> > EX_MEM_instr_out;
sc_out<sc_uint<32> > EX_MEM_ALU_result_out;
sc_out<bool> EX_MEM_MemRead,EX_MEM_MemWrite;
sc_out<sc_uint<32> > EX_MEM_regdata2_out;
void entry()
{
EX_MEM_instr_out.write(EX_MEM_instr_in.read());
EX_MEM_regdata2_out.write(EX_MEM_regdata2_in.read());
EX_MEM_ALU_result_out.write(EX_MEM_ALU_result_in.read());
bool memread,memwrite;
memread=false;
memwrite=false;
unsigned op=EX_MEM_instr_in.read().range(31,26).to_uint();
switch (op)
{
case 35:
memread=true;
break;
case 43:
memwrite=true;
break;
}
EX_MEM_MemRead.write(memread);
EX_MEM_MemWrite.write(memwrite);
fout<<"Current Time: ";
fout<<sc_simulation_time()<<endl;
fout<<"EX_MEM:"<<endl;
fout<<"Instr: ";PrintInstr(EX_MEM_instr_in.read(),fout);
fout<<"-----------------------"<<endl;
}
SC_CTOR(EX_MEM)
{
SC_METHOD(entry);
sensitive_pos<<clk;
dont_initialize();
}
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?