📄 forward.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -