// Program memory for Hw10A // It tests MIPS-L2 module IM(idata,iaddr); output [15:0] idata; input [15:0] iaddr; reg [15:0] idata; always @(iaddr[4:1]) case(iaddr[4:1]) 0: idata={3'd7, 3'd0, 3'd1,7'd5}; // L1: addi $1,$0,5 1: idata={3'd7, 3'd0, 3'd2,7'd7}; // addi $2,$0,7 2: idata={3'd7, 3'd0, 3'd3,7'd6}; // addi $3,$0,6 3: idata={3'd5, 3'd3, 3'd1,7'd2}; // L2: sw $1,2($3) 4: idata={3'd5, 3'd3, 3'd2,7'd4}; // sw $2,4($3) 5: idata={3'd4, 3'd3, 3'd2,7'd2}; // lw $2,2($3) 6: idata={3'd4, 3'd3, 3'd1,7'd4}; // lw $1,4($3) 7: idata={3'd7, 3'd3, 3'd3,7'b1111110}; // addi $3,$3,-2 8: idata={3'd6, 3'd3, 3'd0,7'b1110111}; // beq $3,$0,L1 9: idata={3'd2, 13'd3}; // j L2 default: idata=0; endcase endmodule