forward.h
来自「SystemC 实现 MIPS 处理器 源代码」· C头文件 代码 · 共 50 行
H
50 行
#ifndef FORWARD_H
#define FORWARD_H
#include "STDAFX.h"
SC_MODULE(Forward)
{
sc_in<sc_uint<5> > EX_MEM_RegRd,MEM_WB_RegRd;
sc_in<sc_uint<5> > rs,rt;
sc_in<bool> ALUSrc;
sc_in<bool> MemtoReg;
sc_out<sc_uint<2> > ForwardA,ForwardB;
void entry()
{
ForwardA.write(0);
if (rs.read()==EX_MEM_RegRd.read())
ForwardA.write(1);
if (rs.read()==MEM_WB_RegRd.read())
{
if (MemtoReg==1)
ForwardA.write(2);
else
ForwardA.write(3);
}
ForwardB.write(0);
if (rt.read()==EX_MEM_RegRd.read() && ALUSrc.read()==0)
ForwardB.write(1);
if (rt.read()==MEM_WB_RegRd.read() && ALUSrc.read()==0)
{
if (MemtoReg==1)
ForwardB.write(2);
else
ForwardB.write(3);
}
}
SC_CTOR(Forward)
{
SC_METHOD(entry);
sensitive<<rs<<rt<<EX_MEM_RegRd<<MEM_WB_RegRd;
}
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?