//  C:\TEAM2-5\CONTROL_TB.V
//  Verilog testbench created by
//  Xilinx's StateBench 1.01
//  Wed Feb 18 15:08:49 2004

`timescale 1ns/1ns

module testbench;
	wire [2:0] ALUOp;
	wire [1:0] ALUSrcA;
	wire [1:0] ALUSrcB;
	wire [1:0] FlagsSel;
	reg [5:0] OP;
	wire [2:0] PCSel;
	wire [3:0] RegSel;
	wire [1:0] SelIntAddr;
	wire [2:0] SelMemAddr;
	wire [1:0] SelMemData;
	reg CLK;
	reg Cond,IRQ,RESET;
	wire ComboMux,DRWrite,DSSel,DSWrite,FlagsWrite,IEBData,IEBWrite,IFetch,IntWrite,IRWrite,MemWrite,NegCond,PCWrite,PCWriteCond,RegWrite,SelIntData,SPSel,SPWrite,SPWriteCond;

	control UUT (.ALUOp(ALUOp),.ALUSrcA(ALUSrcA),.ALUSrcB(ALUSrcB),.FlagsSel(FlagsSel),.OP(OP),.PCSel(PCSel),.RegSel(RegSel),.SelIntAddr(SelIntAddr),.SelMemAddr(SelMemAddr),.SelMemData(SelMemData),.CLK(CLK),.Cond(Cond),.IRQ(IRQ),.RESET(RESET),.ComboMux(ComboMux),.DRWrite(DRWrite),.DSSel(DSSel),.DSWrite(DSWrite),.FlagsWrite(FlagsWrite),.IEBData(IEBData),.IEBWrite(IEBWrite),.IFetch(IFetch),.IntWrite(IntWrite),.IRWrite(IRWrite),.MemWrite(MemWrite),.NegCond(NegCond),.PCWrite(PCWrite),.PCWriteCond(PCWriteCond),.RegWrite(RegWrite),.SelIntData(SelIntData),.SPSel(SPSel),.SPWrite(SPWrite),.SPWriteCond(SPWriteCond));

	integer TX_FILE;
	integer TX_ERROR;

initial
begin
	TX_ERROR=0;
	TX_FILE=$fopen("results.txt");

	// --------------------
	#0 CLK = 0; // Initialize clock inactive
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h0;
	RESET = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 0 Time 15 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	RESET = 1'h0;
	#15;
	// ----------------------
	CLK = 1; // Clock 1 Time 115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 2 Time 215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'he;
	#15;
	// ----------------------
	CLK = 1; // Clock 3 Time 315 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 4 Time 415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 5 Time 515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 6 Time 615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h1a;
	#15;
	// ----------------------
	CLK = 1; // Clock 7 Time 715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 8 Time 815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 9 Time 915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h17;
	#15;
	// ----------------------
	CLK = 1; // Clock 10 Time 1015 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 11 Time 1115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 12 Time 1215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h13;
	#15;
	// ----------------------
	CLK = 1; // Clock 13 Time 1315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h0;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 14 Time 1415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 15 Time 1515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h29;
	#15;
	// ----------------------
	CLK = 1; // Clock 16 Time 1615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 17 Time 1715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h2);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 18 Time 1815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 19 Time 1915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3c;
	#15;
	// ----------------------
	CLK = 1; // Clock 20 Time 2015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h23;
	#15;
	// ----------------------
	CLK = 1; // Clock 21 Time 2115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h2);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 22 Time 2215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 23 Time 2315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3d;
	#15;
	// ----------------------
	CLK = 1; // Clock 24 Time 2415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h1);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 25 Time 2515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 26 Time 2615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h2a;
	#15;
	// ----------------------
	CLK = 1; // Clock 27 Time 2715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h1);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h1);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 28 Time 2815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 29 Time 2915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h2b;
	#15;
	// ----------------------
	CLK = 1; // Clock 30 Time 3015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'ha);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h1);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 31 Time 3115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 32 Time 3215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h14;
	#15;
	// ----------------------
	CLK = 1; // Clock 33 Time 3315 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h3);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 34 Time 3415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 35 Time 3515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h15;
	#15;
	// ----------------------
	CLK = 1; // Clock 36 Time 3615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 37 Time 3715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 38 Time 3815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h16;
	#15;
	// ----------------------
	CLK = 1; // Clock 39 Time 3915 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'hc;
	#15;
	// ----------------------
	CLK = 1; // Clock 40 Time 4015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 41 Time 4115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 42 Time 4215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h1);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 43 Time 4315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 44 Time 4415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h11;
	#15;
	// ----------------------
	CLK = 1; // Clock 45 Time 4515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h0;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 46 Time 4615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 47 Time 4715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 48 Time 4815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h26;
	#15;
	// ----------------------
	CLK = 1; // Clock 49 Time 4915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 50 Time 5015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hb;
	#15;
	// ----------------------
	CLK = 1; // Clock 51 Time 5115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h2);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 52 Time 5215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 53 Time 5315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 54 Time 5415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h35;
	#15;
	// ----------------------
	CLK = 1; // Clock 55 Time 5515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h1);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h7);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'hc;
	#15;
	// ----------------------
	CLK = 1; // Clock 56 Time 5615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 57 Time 5715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h34;
	#15;
	// ----------------------
	CLK = 1; // Clock 58 Time 5815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h7);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 59 Time 5915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 60 Time 6015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h22;
	#15;
	// ----------------------
	CLK = 1; // Clock 61 Time 6115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h6);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h0;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 62 Time 6215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 63 Time 6315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 64 Time 6415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h4);
	CHECK_SelMemData(2'h2);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 65 Time 6515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 66 Time 6615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 67 Time 6715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h3);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 68 Time 6815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 69 Time 6915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h7;
	#15;
	// ----------------------
	CLK = 1; // Clock 70 Time 7015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h1);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 71 Time 7115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 72 Time 7215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'ha;
	#15;
	// ----------------------
	CLK = 1; // Clock 73 Time 7315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h2);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 74 Time 7415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 75 Time 7515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h9;
	#15;
	// ----------------------
	CLK = 1; // Clock 76 Time 7615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h1);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 77 Time 7715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 78 Time 7815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 79 Time 7915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 80 Time 8015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 81 Time 8115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 82 Time 8215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h1);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 83 Time 8315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 84 Time 8415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h5;
	#15;
	// ----------------------
	CLK = 1; // Clock 85 Time 8515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h0;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 86 Time 8615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 87 Time 8715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h4;
	#15;
	// ----------------------
	CLK = 1; // Clock 88 Time 8815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 89 Time 8915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 90 Time 9015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 91 Time 9115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h1);
	CHECK_DSWrite(1'h1);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 92 Time 9215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 93 Time 9315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h30;
	#15;
	// ----------------------
	CLK = 1; // Clock 94 Time 9415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h1);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 95 Time 9515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 96 Time 9615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h2;
	#15;
	// ----------------------
	CLK = 1; // Clock 97 Time 9715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h1);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 98 Time 9815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 99 Time 9915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 100 Time 10015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h1);
	CHECK_IEBWrite(1'h1);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 101 Time 10115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 102 Time 10215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h32;
	#15;
	// ----------------------
	CLK = 1; // Clock 103 Time 10315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h2);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 104 Time 10415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h4);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h0;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 105 Time 10515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 106 Time 10615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h33;
	#15;
	// ----------------------
	CLK = 1; // Clock 107 Time 10715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h2);
	CHECK_SelMemData(2'h1);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 108 Time 10815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 109 Time 10915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h20;
	#15;
	// ----------------------
	CLK = 1; // Clock 110 Time 11015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h3);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 111 Time 11115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h4);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 112 Time 11215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 113 Time 11315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 114 Time 11415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hc;
	#15;
	// ----------------------
	CLK = 1; // Clock 115 Time 11515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 116 Time 11615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 117 Time 11715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h23;
	#15;
	// ----------------------
	CLK = 1; // Clock 118 Time 11815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 119 Time 11915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 120 Time 12015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 121 Time 12115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h36;
	#15;
	// ----------------------
	CLK = 1; // Clock 122 Time 12215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 123 Time 12315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 124 Time 12415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 125 Time 12515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 126 Time 12615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 127 Time 12715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 128 Time 12815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 129 Time 12915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h37;
	#15;
	// ----------------------
	CLK = 1; // Clock 130 Time 13015 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 131 Time 13115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 132 Time 13215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 133 Time 13315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 134 Time 13415 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h3);
	CHECK_ALUSrcB(2'h3);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 135 Time 13515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 136 Time 13615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 137 Time 13715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h25;
	#15;
	// ----------------------
	CLK = 1; // Clock 138 Time 13815 ns
	#20;
	CHECK_ALUOp(3'h2);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 139 Time 13915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 140 Time 14015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 141 Time 14115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h38;
	#15;
	// ----------------------
	CLK = 1; // Clock 142 Time 14215 ns
	#20;
	CHECK_ALUOp(3'h2);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 143 Time 14315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 144 Time 14415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 145 Time 14515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h26;
	#15;
	// ----------------------
	CLK = 1; // Clock 146 Time 14615 ns
	#20;
	CHECK_ALUOp(3'h3);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 147 Time 14715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 148 Time 14815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 149 Time 14915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h39;
	#15;
	// ----------------------
	CLK = 1; // Clock 150 Time 15015 ns
	#20;
	CHECK_ALUOp(3'h3);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 151 Time 15115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 152 Time 15215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 153 Time 15315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h27;
	#15;
	// ----------------------
	CLK = 1; // Clock 154 Time 15415 ns
	#20;
	CHECK_ALUOp(3'h4);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 155 Time 15515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 156 Time 15615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 157 Time 15715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3a;
	#15;
	// ----------------------
	CLK = 1; // Clock 158 Time 15815 ns
	#20;
	CHECK_ALUOp(3'h4);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 159 Time 15915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 160 Time 16015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 161 Time 16115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h28;
	#15;
	// ----------------------
	CLK = 1; // Clock 162 Time 16215 ns
	#20;
	CHECK_ALUOp(3'h5);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 163 Time 16315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 164 Time 16415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 165 Time 16515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3b;
	#15;
	// ----------------------
	CLK = 1; // Clock 166 Time 16615 ns
	#20;
	CHECK_ALUOp(3'h5);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h2);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 167 Time 16715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 168 Time 16815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 169 Time 16915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h19;
	#15;
	// ----------------------
	CLK = 1; // Clock 170 Time 17015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 171 Time 17115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 172 Time 17215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h0;
	#15;
	// ----------------------
	CLK = 1; // Clock 173 Time 17315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	IRQ = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 174 Time 17415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h15;
	#15;
	// ----------------------
	CLK = 1; // Clock 175 Time 17515 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 176 Time 17615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 177 Time 17715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 178 Time 17815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 179 Time 17915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h16;
	#15;
	// ----------------------
	CLK = 1; // Clock 180 Time 18015 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 181 Time 18115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 182 Time 18215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 183 Time 18315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 184 Time 18415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h17;
	#15;
	// ----------------------
	CLK = 1; // Clock 185 Time 18515 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 186 Time 18615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 187 Time 18715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 188 Time 18815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 189 Time 18915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h14;
	#15;
	// ----------------------
	CLK = 1; // Clock 190 Time 19015 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h3);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 191 Time 19115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'hc;
	#15;
	// ----------------------
	CLK = 1; // Clock 192 Time 19215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 193 Time 19315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 194 Time 19415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 195 Time 19515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h1);
	CHECK_IEBWrite(1'h1);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 196 Time 19615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 197 Time 19715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 198 Time 19815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 199 Time 19915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h2;
	#15;
	// ----------------------
	CLK = 1; // Clock 200 Time 20015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h1);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 201 Time 20115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 202 Time 20215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 203 Time 20315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 204 Time 20415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h2b;
	#15;
	// ----------------------
	CLK = 1; // Clock 205 Time 20515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'ha);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h1);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 206 Time 20615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 207 Time 20715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 208 Time 20815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 209 Time 20915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h11;
	#15;
	// ----------------------
	CLK = 1; // Clock 210 Time 21015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 211 Time 21115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 212 Time 21215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 213 Time 21315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 214 Time 21415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 215 Time 21515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 216 Time 21615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h26;
	#15;
	// ----------------------
	CLK = 1; // Clock 217 Time 21715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 218 Time 21815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 219 Time 21915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h13;
	#15;
	// ----------------------
	CLK = 1; // Clock 220 Time 22015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h2);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h1);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 221 Time 22115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 222 Time 22215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 223 Time 22315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 224 Time 22415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 225 Time 22515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h1);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 226 Time 22615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 227 Time 22715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 228 Time 22815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 229 Time 22915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 230 Time 23015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h3);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 231 Time 23115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	#15;
	// ----------------------
	CLK = 1; // Clock 232 Time 23215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 233 Time 23315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 234 Time 23415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h4;
	#15;
	// ----------------------
	CLK = 1; // Clock 235 Time 23515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 236 Time 23615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 237 Time 23715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 238 Time 23815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 239 Time 23915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'ha;
	#15;
	// ----------------------
	CLK = 1; // Clock 240 Time 24015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h2);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 241 Time 24115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 242 Time 24215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 243 Time 24315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 244 Time 24415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h35;
	#15;
	// ----------------------
	CLK = 1; // Clock 245 Time 24515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h1);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h7);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 246 Time 24615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 247 Time 24715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 248 Time 24815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 249 Time 24915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h34;
	#15;
	// ----------------------
	CLK = 1; // Clock 250 Time 25015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h7);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 251 Time 25115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 252 Time 25215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 253 Time 25315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 254 Time 25415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h22;
	#15;
	// ----------------------
	CLK = 1; // Clock 255 Time 25515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h6);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 256 Time 25615 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h26;
	#15;
	// ----------------------
	CLK = 1; // Clock 257 Time 25715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 258 Time 25815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 259 Time 25915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 260 Time 26015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h1);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 261 Time 26115 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 262 Time 26215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 263 Time 26315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 264 Time 26415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 265 Time 26515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h32;
	#15;
	// ----------------------
	CLK = 1; // Clock 266 Time 26615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h4);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 267 Time 26715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 268 Time 26815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 269 Time 26915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 270 Time 27015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 271 Time 27115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h28;
	#15;
	// ----------------------
	CLK = 1; // Clock 272 Time 27215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h4);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	#15;
	// ----------------------
	CLK = 1; // Clock 273 Time 27315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 274 Time 27415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h1a;
	#15;
	// ----------------------
	CLK = 1; // Clock 275 Time 27515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 276 Time 27615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 277 Time 27715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 278 Time 27815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 279 Time 27915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 280 Time 28015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h2a;
	#15;
	// ----------------------
	CLK = 1; // Clock 281 Time 28115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h1);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h1);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 282 Time 28215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 283 Time 28315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 284 Time 28415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 285 Time 28515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h3d;
	#15;
	// ----------------------
	CLK = 1; // Clock 286 Time 28615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h1);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 287 Time 28715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'hc;
	#15;
	// ----------------------
	CLK = 1; // Clock 288 Time 28815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 289 Time 28915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 290 Time 29015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hb;
	#15;
	// ----------------------
	CLK = 1; // Clock 291 Time 29115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h2);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 292 Time 29215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 293 Time 29315 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 294 Time 29415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 295 Time 29515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 296 Time 29615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h19;
	#15;
	// ----------------------
	CLK = 1; // Clock 297 Time 29715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 298 Time 29815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 299 Time 29915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 300 Time 30015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h19;
	#15;
	// ----------------------
	CLK = 1; // Clock 301 Time 30115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 302 Time 30215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h18;
	#15;
	// ----------------------
	CLK = 1; // Clock 303 Time 30315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 304 Time 30415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 305 Time 30515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h1a;
	#15;
	// ----------------------
	CLK = 1; // Clock 306 Time 30615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h1);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h1);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 307 Time 30715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 308 Time 30815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 309 Time 30915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 310 Time 31015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h33;
	#15;
	// ----------------------
	CLK = 1; // Clock 311 Time 31115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h2);
	CHECK_SelMemData(2'h1);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 312 Time 31215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h26;
	#15;
	// ----------------------
	CLK = 1; // Clock 313 Time 31315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 314 Time 31415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 315 Time 31515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h7;
	#15;
	// ----------------------
	CLK = 1; // Clock 316 Time 31615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h1);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 317 Time 31715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 318 Time 31815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 319 Time 31915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 320 Time 32015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 321 Time 32115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h1);
	CHECK_DSWrite(1'h1);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 322 Time 32215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 323 Time 32315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 324 Time 32415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 325 Time 32515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h30;
	#15;
	// ----------------------
	CLK = 1; // Clock 326 Time 32615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h1);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 327 Time 32715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 328 Time 32815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 329 Time 32915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 330 Time 33015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h9;
	#15;
	// ----------------------
	CLK = 1; // Clock 331 Time 33115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h1);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 332 Time 33215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 333 Time 33315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 334 Time 33415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 335 Time 33515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 336 Time 33615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 337 Time 33715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h13;
	#15;
	// ----------------------
	CLK = 1; // Clock 338 Time 33815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 339 Time 33915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 340 Time 34015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 341 Time 34115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h4);
	CHECK_SelMemData(2'h2);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 342 Time 34215 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h10;
	#15;
	// ----------------------
	CLK = 1; // Clock 343 Time 34315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 344 Time 34415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 345 Time 34515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h5;
	#15;
	// ----------------------
	CLK = 1; // Clock 346 Time 34615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h1);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	#15;
	// ----------------------
	CLK = 1; // Clock 347 Time 34715 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 348 Time 34815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h3;
	#15;
	// ----------------------
	CLK = 1; // Clock 349 Time 34915 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h21;
	#15;
	// ----------------------
	CLK = 1; // Clock 350 Time 35015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h0;
	OP = 6'h29;
	#15;
	// ----------------------
	CLK = 1; // Clock 351 Time 35115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h1;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 352 Time 35215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h2);
	CHECK_FlagsWrite(1'h1);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 353 Time 35315 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 354 Time 35415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'hd;
	#15;
	// ----------------------
	CLK = 1; // Clock 355 Time 35515 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 356 Time 35615 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h32;
	#15;
	// ----------------------
	CLK = 1; // Clock 357 Time 35715 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h2);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h31;
	#15;
	// ----------------------
	CLK = 1; // Clock 358 Time 35815 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h4);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 359 Time 35915 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	OP = 6'h8;
	#15;
	// ----------------------
	CLK = 1; // Clock 360 Time 36015 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h4);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h1;
	OP = 6'h24;
	#15;
	// ----------------------
	CLK = 1; // Clock 361 Time 36115 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h1);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h1);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h1);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	IRQ = 1'h0;
	OP = 6'h12;
	#15;
	// ----------------------
	CLK = 1; // Clock 362 Time 36215 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h1);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h1);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	OP = 6'h23;
	#15;
	// ----------------------
	CLK = 1; // Clock 363 Time 36315 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h2);
	CHECK_ALUSrcB(2'h1);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	Cond = 1'h0;
	IRQ = 1'h1;
	OP = 6'h6;
	#15;
	// ----------------------
	CLK = 1; // Clock 364 Time 36415 ns
	#20;
	CHECK_ALUOp(3'h0);
	CHECK_ALUSrcA(2'h0);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h5);
	CHECK_RegWrite(1'h1);
	CHECK_SelIntAddr(2'h0);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h0);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;
	#15;
	// ----------------------
	CLK = 1; // Clock 365 Time 36515 ns
	#20;
	CHECK_ALUOp(3'h1);
	CHECK_ALUSrcA(2'h1);
	CHECK_ALUSrcB(2'h0);
	CHECK_ComboMux(1'h0);
	CHECK_DRWrite(1'h0);
	CHECK_DSSel(1'h0);
	CHECK_DSWrite(1'h0);
	CHECK_FlagsSel(2'h0);
	CHECK_FlagsWrite(1'h0);
	CHECK_IEBData(1'h0);
	CHECK_IEBWrite(1'h0);
	CHECK_IFetch(1'h0);
	CHECK_IntWrite(1'h0);
	CHECK_IRWrite(1'h0);
	CHECK_MemWrite(1'h0);
	CHECK_NegCond(1'h0);
	CHECK_PCSel(3'h0);
	CHECK_PCWrite(1'h0);
	CHECK_PCWriteCond(1'h0);
	CHECK_RegSel(4'h0);
	CHECK_RegWrite(1'h0);
	CHECK_SelIntAddr(2'h2);
	CHECK_SelIntData(1'h0);
	CHECK_SelMemAddr(3'h0);
	CHECK_SelMemData(2'h0);
	CHECK_SPSel(1'h1);
	CHECK_SPWrite(1'h0);
	CHECK_SPWriteCond(1'h0);
	#30;
	CLK = 0; // inactive clock edge
	#35;

	if (TX_ERROR == 0) begin
		$display("No errors or warnings");
		$fdisplay(TX_FILE,"No errors or warnings");
	end else begin
		$display("%0d errors found in simulation",TX_ERROR);
		$fdisplay(TX_FILE,"%0d errors found in simulation",TX_ERROR);
	end

	$fclose(TX_FILE);

end

task CHECK_ALUOp;

	input [2:0] NEXT_ALUOp;

	#0 begin
		if (NEXT_ALUOp !== ALUOp) begin
			$display("Error at time=%0dns ALUOp=3'h%0h, expected=3'h%0h",
				$time, ALUOp, NEXT_ALUOp);
			$fdisplay(TX_FILE,"Error at time=%0dns ALUOp=3'h%0h, expected=3'h%0h",
				$time, ALUOp, NEXT_ALUOp);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_ALUSrcA;

	input [1:0] NEXT_ALUSrcA;

	#0 begin
		if (NEXT_ALUSrcA !== ALUSrcA) begin
			$display("Error at time=%0dns ALUSrcA=2'h%0h, expected=2'h%0h",
				$time, ALUSrcA, NEXT_ALUSrcA);
			$fdisplay(TX_FILE,"Error at time=%0dns ALUSrcA=2'h%0h, expected=2'h%0h",
				$time, ALUSrcA, NEXT_ALUSrcA);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_ALUSrcB;

	input [1:0] NEXT_ALUSrcB;

	#0 begin
		if (NEXT_ALUSrcB !== ALUSrcB) begin
			$display("Error at time=%0dns ALUSrcB=2'h%0h, expected=2'h%0h",
				$time, ALUSrcB, NEXT_ALUSrcB);
			$fdisplay(TX_FILE,"Error at time=%0dns ALUSrcB=2'h%0h, expected=2'h%0h",
				$time, ALUSrcB, NEXT_ALUSrcB);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_ComboMux;

	input NEXT_ComboMux;

	#0 begin
		if (NEXT_ComboMux !== ComboMux) begin
			$display("Error at time=%0dns ComboMux=1'h%0h, expected=1'h%0h",
				$time, ComboMux, NEXT_ComboMux);
			$fdisplay(TX_FILE,"Error at time=%0dns ComboMux=1'h%0h, expected=1'h%0h",
				$time, ComboMux, NEXT_ComboMux);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_DRWrite;

	input NEXT_DRWrite;

	#0 begin
		if (NEXT_DRWrite !== DRWrite) begin
			$display("Error at time=%0dns DRWrite=1'h%0h, expected=1'h%0h",
				$time, DRWrite, NEXT_DRWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns DRWrite=1'h%0h, expected=1'h%0h",
				$time, DRWrite, NEXT_DRWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_DSSel;

	input NEXT_DSSel;

	#0 begin
		if (NEXT_DSSel !== DSSel) begin
			$display("Error at time=%0dns DSSel=1'h%0h, expected=1'h%0h",
				$time, DSSel, NEXT_DSSel);
			$fdisplay(TX_FILE,"Error at time=%0dns DSSel=1'h%0h, expected=1'h%0h",
				$time, DSSel, NEXT_DSSel);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_DSWrite;

	input NEXT_DSWrite;

	#0 begin
		if (NEXT_DSWrite !== DSWrite) begin
			$display("Error at time=%0dns DSWrite=1'h%0h, expected=1'h%0h",
				$time, DSWrite, NEXT_DSWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns DSWrite=1'h%0h, expected=1'h%0h",
				$time, DSWrite, NEXT_DSWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_FlagsSel;

	input [1:0] NEXT_FlagsSel;

	#0 begin
		if (NEXT_FlagsSel !== FlagsSel) begin
			$display("Error at time=%0dns FlagsSel=2'h%0h, expected=2'h%0h",
				$time, FlagsSel, NEXT_FlagsSel);
			$fdisplay(TX_FILE,"Error at time=%0dns FlagsSel=2'h%0h, expected=2'h%0h",
				$time, FlagsSel, NEXT_FlagsSel);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_FlagsWrite;

	input NEXT_FlagsWrite;

	#0 begin
		if (NEXT_FlagsWrite !== FlagsWrite) begin
			$display("Error at time=%0dns FlagsWrite=1'h%0h, expected=1'h%0h",
				$time, FlagsWrite, NEXT_FlagsWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns FlagsWrite=1'h%0h, expected=1'h%0h",
				$time, FlagsWrite, NEXT_FlagsWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_IEBData;

	input NEXT_IEBData;

	#0 begin
		if (NEXT_IEBData !== IEBData) begin
			$display("Error at time=%0dns IEBData=1'h%0h, expected=1'h%0h",
				$time, IEBData, NEXT_IEBData);
			$fdisplay(TX_FILE,"Error at time=%0dns IEBData=1'h%0h, expected=1'h%0h",
				$time, IEBData, NEXT_IEBData);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_IEBWrite;

	input NEXT_IEBWrite;

	#0 begin
		if (NEXT_IEBWrite !== IEBWrite) begin
			$display("Error at time=%0dns IEBWrite=1'h%0h, expected=1'h%0h",
				$time, IEBWrite, NEXT_IEBWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns IEBWrite=1'h%0h, expected=1'h%0h",
				$time, IEBWrite, NEXT_IEBWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_IFetch;

	input NEXT_IFetch;

	#0 begin
		if (NEXT_IFetch !== IFetch) begin
			$display("Error at time=%0dns IFetch=1'h%0h, expected=1'h%0h",
				$time, IFetch, NEXT_IFetch);
			$fdisplay(TX_FILE,"Error at time=%0dns IFetch=1'h%0h, expected=1'h%0h",
				$time, IFetch, NEXT_IFetch);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_IntWrite;

	input NEXT_IntWrite;

	#0 begin
		if (NEXT_IntWrite !== IntWrite) begin
			$display("Error at time=%0dns IntWrite=1'h%0h, expected=1'h%0h",
				$time, IntWrite, NEXT_IntWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns IntWrite=1'h%0h, expected=1'h%0h",
				$time, IntWrite, NEXT_IntWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_IRWrite;

	input NEXT_IRWrite;

	#0 begin
		if (NEXT_IRWrite !== IRWrite) begin
			$display("Error at time=%0dns IRWrite=1'h%0h, expected=1'h%0h",
				$time, IRWrite, NEXT_IRWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns IRWrite=1'h%0h, expected=1'h%0h",
				$time, IRWrite, NEXT_IRWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_MemWrite;

	input NEXT_MemWrite;

	#0 begin
		if (NEXT_MemWrite !== MemWrite) begin
			$display("Error at time=%0dns MemWrite=1'h%0h, expected=1'h%0h",
				$time, MemWrite, NEXT_MemWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns MemWrite=1'h%0h, expected=1'h%0h",
				$time, MemWrite, NEXT_MemWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_NegCond;

	input NEXT_NegCond;

	#0 begin
		if (NEXT_NegCond !== NegCond) begin
			$display("Error at time=%0dns NegCond=1'h%0h, expected=1'h%0h",
				$time, NegCond, NEXT_NegCond);
			$fdisplay(TX_FILE,"Error at time=%0dns NegCond=1'h%0h, expected=1'h%0h",
				$time, NegCond, NEXT_NegCond);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_PCSel;

	input [2:0] NEXT_PCSel;

	#0 begin
		if (NEXT_PCSel !== PCSel) begin
			$display("Error at time=%0dns PCSel=3'h%0h, expected=3'h%0h",
				$time, PCSel, NEXT_PCSel);
			$fdisplay(TX_FILE,"Error at time=%0dns PCSel=3'h%0h, expected=3'h%0h",
				$time, PCSel, NEXT_PCSel);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_PCWrite;

	input NEXT_PCWrite;

	#0 begin
		if (NEXT_PCWrite !== PCWrite) begin
			$display("Error at time=%0dns PCWrite=1'h%0h, expected=1'h%0h",
				$time, PCWrite, NEXT_PCWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns PCWrite=1'h%0h, expected=1'h%0h",
				$time, PCWrite, NEXT_PCWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_PCWriteCond;

	input NEXT_PCWriteCond;

	#0 begin
		if (NEXT_PCWriteCond !== PCWriteCond) begin
			$display("Error at time=%0dns PCWriteCond=1'h%0h, expected=1'h%0h",
				$time, PCWriteCond, NEXT_PCWriteCond);
			$fdisplay(TX_FILE,"Error at time=%0dns PCWriteCond=1'h%0h, expected=1'h%0h",
				$time, PCWriteCond, NEXT_PCWriteCond);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_RegSel;

	input [3:0] NEXT_RegSel;

	#0 begin
		if (NEXT_RegSel !== RegSel) begin
			$display("Error at time=%0dns RegSel=4'h%0h, expected=4'h%0h",
				$time, RegSel, NEXT_RegSel);
			$fdisplay(TX_FILE,"Error at time=%0dns RegSel=4'h%0h, expected=4'h%0h",
				$time, RegSel, NEXT_RegSel);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_RegWrite;

	input NEXT_RegWrite;

	#0 begin
		if (NEXT_RegWrite !== RegWrite) begin
			$display("Error at time=%0dns RegWrite=1'h%0h, expected=1'h%0h",
				$time, RegWrite, NEXT_RegWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns RegWrite=1'h%0h, expected=1'h%0h",
				$time, RegWrite, NEXT_RegWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SelIntAddr;

	input [1:0] NEXT_SelIntAddr;

	#0 begin
		if (NEXT_SelIntAddr !== SelIntAddr) begin
			$display("Error at time=%0dns SelIntAddr=2'h%0h, expected=2'h%0h",
				$time, SelIntAddr, NEXT_SelIntAddr);
			$fdisplay(TX_FILE,"Error at time=%0dns SelIntAddr=2'h%0h, expected=2'h%0h",
				$time, SelIntAddr, NEXT_SelIntAddr);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SelIntData;

	input NEXT_SelIntData;

	#0 begin
		if (NEXT_SelIntData !== SelIntData) begin
			$display("Error at time=%0dns SelIntData=1'h%0h, expected=1'h%0h",
				$time, SelIntData, NEXT_SelIntData);
			$fdisplay(TX_FILE,"Error at time=%0dns SelIntData=1'h%0h, expected=1'h%0h",
				$time, SelIntData, NEXT_SelIntData);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SelMemAddr;

	input [2:0] NEXT_SelMemAddr;

	#0 begin
		if (NEXT_SelMemAddr !== SelMemAddr) begin
			$display("Error at time=%0dns SelMemAddr=3'h%0h, expected=3'h%0h",
				$time, SelMemAddr, NEXT_SelMemAddr);
			$fdisplay(TX_FILE,"Error at time=%0dns SelMemAddr=3'h%0h, expected=3'h%0h",
				$time, SelMemAddr, NEXT_SelMemAddr);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SelMemData;

	input [1:0] NEXT_SelMemData;

	#0 begin
		if (NEXT_SelMemData !== SelMemData) begin
			$display("Error at time=%0dns SelMemData=2'h%0h, expected=2'h%0h",
				$time, SelMemData, NEXT_SelMemData);
			$fdisplay(TX_FILE,"Error at time=%0dns SelMemData=2'h%0h, expected=2'h%0h",
				$time, SelMemData, NEXT_SelMemData);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SPSel;

	input NEXT_SPSel;

	#0 begin
		if (NEXT_SPSel !== SPSel) begin
			$display("Error at time=%0dns SPSel=1'h%0h, expected=1'h%0h",
				$time, SPSel, NEXT_SPSel);
			$fdisplay(TX_FILE,"Error at time=%0dns SPSel=1'h%0h, expected=1'h%0h",
				$time, SPSel, NEXT_SPSel);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SPWrite;

	input NEXT_SPWrite;

	#0 begin
		if (NEXT_SPWrite !== SPWrite) begin
			$display("Error at time=%0dns SPWrite=1'h%0h, expected=1'h%0h",
				$time, SPWrite, NEXT_SPWrite);
			$fdisplay(TX_FILE,"Error at time=%0dns SPWrite=1'h%0h, expected=1'h%0h",
				$time, SPWrite, NEXT_SPWrite);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

task CHECK_SPWriteCond;

	input NEXT_SPWriteCond;

	#0 begin
		if (NEXT_SPWriteCond !== SPWriteCond) begin
			$display("Error at time=%0dns SPWriteCond=1'h%0h, expected=1'h%0h",
				$time, SPWriteCond, NEXT_SPWriteCond);
			$fdisplay(TX_FILE,"Error at time=%0dns SPWriteCond=1'h%0h, expected=1'h%0h",
				$time, SPWriteCond, NEXT_SPWriteCond);
			TX_ERROR = TX_ERROR + 1;
		end
	end
endtask

endmodule
