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

📄 delay.h

📁 SystemC 实现 MIPS 处理器 源代码
💻 H
字号:
#ifndef DELAY_H
#define DELAY_H

#include "STDAFX.h"

SC_MODULE(delay)
{
	sc_in<sc_uint<32> > IF_instr,ID_instr;
	sc_out<bool> delay_out;

	int delaycount;
	bool delaystate;

	void entry()
	{
		sc_uint<5> rs,rt,lwrd;
		sc_uint<6> op;
/*
		if (delaystate==true)
		{
			delaycount++;
			if (delaycount>=6)
			{
				delaystate=false;
				delaycount=0;
			}

			delay_out.write(delaystate);
			return;
		}
*/
		op=ID_instr.read().range(31,26);

		delay_out.write(false);
		if (op==35)
		{
			lwrd=ID_instr.read().range(20,16);
			rs=IF_instr.read().range(25,21);
			rt=IF_instr.read().range(20,16);

			if (rs==lwrd || rt==lwrd)
			{
				cout<<sc_simulation_time()<<endl;
				Print(IF_instr.read(),cout);
				Print(ID_instr.read(),cout);
				cout<<"Delayed"<<endl;
				delay_out.write(true);
				delaystate=true;
				delaycount=0;
			}
			else
				cout<<"actual no delayed"<<endl;
		}


	}

	SC_CTOR(delay)
	{
		SC_METHOD(entry);
		sensitive<<IF_instr<<ID_instr;
	}
};




#endif

⌨️ 快捷键说明

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