regidex.dit

来自「可以自由开发的MIPS仿真器模型(.exe),指令执行动画显示.通过修改grap」· DIT 代码 · 共 107 行

DIT
107
字号

class CRegIdEx
{
	// clock
	in Ph0:1
	in Ph1:1
	
	// inputs
	in in_RegWrite:1
    in in_RegDst:1
    in in_ALUSrc:1
    in in_NotJal:1
    in in_ALUOp:4
    in in_MemRead:3
    in in_MemWrite:2
    in in_MemToReg:1
	in in_PC
	in in_Data0
	in in_Data1
	in in_Immediate
	in in_Instr20_16:5
	in in_Instr15_11:5
	in in_Instr
	
	// outputs
	out out_RegWrite:1
    out out_RegDst:1
    out out_ALUSrc:1
    out out_NotJal:1
    out out_ALUOp:4
    out out_MemRead:3
    out out_MemWrite:2
    out out_MemToReg:1
	out out_PC
	out out_Data0
	out out_Data1
	out out_Immediate
	out out_Instr20_16:5
	out out_Instr15_11:5
	out out_Instr
	
	script
		// phase 0 transfers inputs to these variables
		// phase 1 transfers these variables to the outputs
		
		var RegWrite;
    	var RegDst;
    	var ALUSrc;
    	var NotJal;
    	var ALUOp;
    	var MemRead;
    	var MemWrite;
    	var MemToReg;
		var PC;
		var Data0;
		var Data1;
		var Immediate;
		var Instr20_16;
		var Instr15_11;
		var Instr;
		
		function OnPh0()
			{
				RegWrite = in_RegWrite.Get();
    			RegDst = in_RegDst.Get();
    			ALUSrc = in_ALUSrc.Get();
    			NotJal = in_NotJal.Get();
    			ALUOp = in_ALUOp.Get();
    			MemRead = in_MemRead.Get();
    			MemWrite = in_MemWrite.Get();
    			MemToReg = in_MemToReg.Get();
				PC = in_PC.Get();
				Data0 = in_Data0.Get();
				Data1 = in_Data1.Get();
				Immediate = in_Immediate.Get();
				Instr20_16 = in_Instr20_16.Get();
				Instr15_11 = in_Instr15_11.Get();
				Instr = in_Instr.Get();
			}
	
		function OnPh1()
			{
				out_RegWrite.Set( RegWrite );
    			out_RegDst.Set( RegDst );
    			out_ALUSrc.Set( ALUSrc );
    			out_NotJal.Set( NotJal );
    			out_ALUOp.Set( ALUOp );
    			out_MemRead.Set( MemRead );
    			out_MemWrite.Set( MemWrite );
    			out_MemToReg.Set( MemToReg );
				out_PC.Set( PC );
				out_Data0.Set( Data0 );
				out_Data1.Set( Data1 );
				out_Immediate.Set( Immediate );
				out_Instr20_16.Set( Instr20_16 );
				out_Instr15_11.Set( Instr15_11 );
				out_Instr.Set(Instr);
			
			}
		
	end_script
	
	event Ph0 OnPh0()
	event Ph1 OnPh1()
}

⌨️ 快捷键说明

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