219 lines
10 KiB
Verilog
219 lines
10 KiB
Verilog
`timescale 1ns / 1ps
|
|
|
|
module InstructionMemory (
|
|
input [31:0] address,
|
|
output reg [31:0] instruction
|
|
);
|
|
|
|
always @(*) begin
|
|
case (address[31:2])
|
|
20'd0: instruction <= 32'h3c1d4000;
|
|
20'd1: instruction <= 32'h23bd07ff;
|
|
20'd2: instruction <= 32'h3c104000;
|
|
20'd3: instruction <= 32'h22100020;
|
|
20'd4: instruction <= 32'h2011003f;
|
|
20'd5: instruction <= 32'hae110000;
|
|
20'd6: instruction <= 32'h20110006;
|
|
20'd7: instruction <= 32'hae110004;
|
|
20'd8: instruction <= 32'h2011005b;
|
|
20'd9: instruction <= 32'hae110008;
|
|
20'd10: instruction <= 32'h2011004f;
|
|
20'd11: instruction <= 32'hae11000c;
|
|
20'd12: instruction <= 32'h20110066;
|
|
20'd13: instruction <= 32'hae110010;
|
|
20'd14: instruction <= 32'h2011006d;
|
|
20'd15: instruction <= 32'hae110014;
|
|
20'd16: instruction <= 32'h2011007d;
|
|
20'd17: instruction <= 32'hae110018;
|
|
20'd18: instruction <= 32'h20110007;
|
|
20'd19: instruction <= 32'hae11001c;
|
|
20'd20: instruction <= 32'h2011007f;
|
|
20'd21: instruction <= 32'hae110020;
|
|
20'd22: instruction <= 32'h2011006f;
|
|
20'd23: instruction <= 32'hae110024;
|
|
20'd24: instruction <= 32'h20110077;
|
|
20'd25: instruction <= 32'hae110028;
|
|
20'd26: instruction <= 32'h2011007c;
|
|
20'd27: instruction <= 32'hae11002c;
|
|
20'd28: instruction <= 32'h20110058;
|
|
20'd29: instruction <= 32'hae110030;
|
|
20'd30: instruction <= 32'h2011005e;
|
|
20'd31: instruction <= 32'hae110034;
|
|
20'd32: instruction <= 32'h20110079;
|
|
20'd33: instruction <= 32'hae110038;
|
|
20'd34: instruction <= 32'h20110071;
|
|
20'd35: instruction <= 32'hae11003c;
|
|
20'd36: instruction <= 32'h0c00002a;
|
|
20'd37: instruction <= 32'h3c084000;
|
|
20'd38: instruction <= 32'h8d040060;
|
|
20'd39: instruction <= 32'h0c000077;
|
|
20'd40: instruction <= 32'h0c00002a;
|
|
20'd41: instruction <= 32'h08000028;
|
|
20'd42: instruction <= 32'h23bdffec;
|
|
20'd43: instruction <= 32'hafbf0004;
|
|
20'd44: instruction <= 32'hafb00008;
|
|
20'd45: instruction <= 32'hafb1000c;
|
|
20'd46: instruction <= 32'hafb20010;
|
|
20'd47: instruction <= 32'hafb30014;
|
|
20'd48: instruction <= 32'h3c104000;
|
|
20'd49: instruction <= 32'h22110010;
|
|
20'd50: instruction <= 32'h22100060;
|
|
20'd51: instruction <= 32'h20120000;
|
|
20'd52: instruction <= 32'h8e130000;
|
|
20'd53: instruction <= 32'h22100004;
|
|
20'd54: instruction <= 32'h00124080;
|
|
20'd55: instruction <= 32'h02084020;
|
|
20'd56: instruction <= 32'h8d040000;
|
|
20'd57: instruction <= 32'h22250000;
|
|
20'd58: instruction <= 32'h0c000046;
|
|
20'd59: instruction <= 32'h22520001;
|
|
20'd60: instruction <= 32'h02724022;
|
|
20'd61: instruction <= 32'h1d00fff8;
|
|
20'd62: instruction <= 32'h0c000070;
|
|
20'd63: instruction <= 32'h8fbf0004;
|
|
20'd64: instruction <= 32'h8fb00008;
|
|
20'd65: instruction <= 32'h8fb1000c;
|
|
20'd66: instruction <= 32'h8fb20010;
|
|
20'd67: instruction <= 32'h8fb30014;
|
|
20'd68: instruction <= 32'h23bd0014;
|
|
20'd69: instruction <= 32'h03e00008;
|
|
20'd70: instruction <= 32'h23bdffe0;
|
|
20'd71: instruction <= 32'hafbf0004;
|
|
20'd72: instruction <= 32'hafb00008;
|
|
20'd73: instruction <= 32'hafb1000c;
|
|
20'd74: instruction <= 32'hafb20010;
|
|
20'd75: instruction <= 32'hafb30014;
|
|
20'd76: instruction <= 32'hafb40018;
|
|
20'd77: instruction <= 32'hafb5001c;
|
|
20'd78: instruction <= 32'hafb60020;
|
|
20'd79: instruction <= 32'h20900000;
|
|
20'd80: instruction <= 32'h20b10000;
|
|
20'd81: instruction <= 32'h3c124000;
|
|
20'd82: instruction <= 32'h22520020;
|
|
20'd83: instruction <= 32'h20130be2;
|
|
20'd84: instruction <= 32'h22140000;
|
|
20'd85: instruction <= 32'h20160100;
|
|
20'd86: instruction <= 32'h20150004;
|
|
20'd87: instruction <= 32'h3288000f;
|
|
20'd88: instruction <= 32'h00084080;
|
|
20'd89: instruction <= 32'h02484020;
|
|
20'd90: instruction <= 32'h8d080000;
|
|
20'd91: instruction <= 32'h01164025;
|
|
20'd92: instruction <= 32'hae280000;
|
|
20'd93: instruction <= 32'h0014a102;
|
|
20'd94: instruction <= 32'h0016b040;
|
|
20'd95: instruction <= 32'h20080400;
|
|
20'd96: instruction <= 32'h2108ffff;
|
|
20'd97: instruction <= 32'h1d00fffe;
|
|
20'd98: instruction <= 32'h22b5ffff;
|
|
20'd99: instruction <= 32'h1ea0fff3;
|
|
20'd100: instruction <= 32'h2273ffff;
|
|
20'd101: instruction <= 32'h1e60ffee;
|
|
20'd102: instruction <= 32'h8fbf0004;
|
|
20'd103: instruction <= 32'h8fb00008;
|
|
20'd104: instruction <= 32'h8fb1000c;
|
|
20'd105: instruction <= 32'h8fb20010;
|
|
20'd106: instruction <= 32'h8fb30014;
|
|
20'd107: instruction <= 32'h8fb40018;
|
|
20'd108: instruction <= 32'h8fb5001c;
|
|
20'd109: instruction <= 32'h8fb60020;
|
|
20'd110: instruction <= 32'h23bd0020;
|
|
20'd111: instruction <= 32'h03e00008;
|
|
20'd112: instruction <= 32'h3c084000;
|
|
20'd113: instruction <= 32'h21080010;
|
|
20'd114: instruction <= 32'had000000;
|
|
20'd115: instruction <= 32'h3c080100;
|
|
20'd116: instruction <= 32'h2108ffff;
|
|
20'd117: instruction <= 32'h1d00fffe;
|
|
20'd118: instruction <= 32'h03e00008;
|
|
20'd119: instruction <= 32'h23bdfff4;
|
|
20'd120: instruction <= 32'hafbf0004;
|
|
20'd121: instruction <= 32'hafb00008;
|
|
20'd122: instruction <= 32'hafb1000c;
|
|
20'd123: instruction <= 32'h20900000;
|
|
20'd124: instruction <= 32'h20110001;
|
|
20'd125: instruction <= 32'h02114022;
|
|
20'd126: instruction <= 32'h19000009;
|
|
20'd127: instruction <= 32'h24040000;
|
|
20'd128: instruction <= 32'h2225ffff;
|
|
20'd129: instruction <= 32'h00113021;
|
|
20'd130: instruction <= 32'h0c00008d;
|
|
20'd131: instruction <= 32'h00022021;
|
|
20'd132: instruction <= 32'h00112821;
|
|
20'd133: instruction <= 32'h0c0000b2;
|
|
20'd134: instruction <= 32'h22310001;
|
|
20'd135: instruction <= 32'h0800007d;
|
|
20'd136: instruction <= 32'h8fbf0004;
|
|
20'd137: instruction <= 32'h8fb00008;
|
|
20'd138: instruction <= 32'h8fb1000c;
|
|
20'd139: instruction <= 32'h23bd000c;
|
|
20'd140: instruction <= 32'h03e00008;
|
|
20'd141: instruction <= 32'h23bdffec;
|
|
20'd142: instruction <= 32'hafb00004;
|
|
20'd143: instruction <= 32'hafb10008;
|
|
20'd144: instruction <= 32'hafb2000c;
|
|
20'd145: instruction <= 32'hafb30010;
|
|
20'd146: instruction <= 32'hafbf0014;
|
|
20'd147: instruction <= 32'h00854022;
|
|
20'd148: instruction <= 32'h19000002;
|
|
20'd149: instruction <= 32'h00801020;
|
|
20'd150: instruction <= 32'h080000ab;
|
|
20'd151: instruction <= 32'h00048021;
|
|
20'd152: instruction <= 32'h00058821;
|
|
20'd153: instruction <= 32'h00069021;
|
|
20'd154: instruction <= 32'h02119820;
|
|
20'd155: instruction <= 32'h00139842;
|
|
20'd156: instruction <= 32'h3c084000;
|
|
20'd157: instruction <= 32'h21080064;
|
|
20'd158: instruction <= 32'h00134880;
|
|
20'd159: instruction <= 32'h01284820;
|
|
20'd160: instruction <= 32'h8d290000;
|
|
20'd161: instruction <= 32'h00125080;
|
|
20'd162: instruction <= 32'h01485020;
|
|
20'd163: instruction <= 32'h8d4a0000;
|
|
20'd164: instruction <= 32'h012a4022;
|
|
20'd165: instruction <= 32'h19000003;
|
|
20'd166: instruction <= 32'h2265ffff;
|
|
20'd167: instruction <= 32'h0c00008d;
|
|
20'd168: instruction <= 32'h080000ab;
|
|
20'd169: instruction <= 32'h22640001;
|
|
20'd170: instruction <= 32'h0c00008d;
|
|
20'd171: instruction <= 32'h8fb00004;
|
|
20'd172: instruction <= 32'h8fb10008;
|
|
20'd173: instruction <= 32'h8fb2000c;
|
|
20'd174: instruction <= 32'h8fb30010;
|
|
20'd175: instruction <= 32'h8fbf0014;
|
|
20'd176: instruction <= 32'h23bd0014;
|
|
20'd177: instruction <= 32'h03e00008;
|
|
20'd178: instruction <= 32'h23bdfff4;
|
|
20'd179: instruction <= 32'hafb00004;
|
|
20'd180: instruction <= 32'hafb10008;
|
|
20'd181: instruction <= 32'hafbf000c;
|
|
20'd182: instruction <= 32'h3c104000;
|
|
20'd183: instruction <= 32'h22100064;
|
|
20'd184: instruction <= 32'h00054080;
|
|
20'd185: instruction <= 32'h02089020;
|
|
20'd186: instruction <= 32'h8e520000;
|
|
20'd187: instruction <= 32'h20b1ffff;
|
|
20'd188: instruction <= 32'h02244022;
|
|
20'd189: instruction <= 32'h05000006;
|
|
20'd190: instruction <= 32'h00114080;
|
|
20'd191: instruction <= 32'h02084020;
|
|
20'd192: instruction <= 32'h8d090000;
|
|
20'd193: instruction <= 32'had090004;
|
|
20'd194: instruction <= 32'h2231ffff;
|
|
20'd195: instruction <= 32'h080000bc;
|
|
20'd196: instruction <= 32'h00044080;
|
|
20'd197: instruction <= 32'h02084020;
|
|
20'd198: instruction <= 32'had120000;
|
|
20'd199: instruction <= 32'h8fb00004;
|
|
20'd200: instruction <= 32'h8fb10008;
|
|
20'd201: instruction <= 32'h8fbf000c;
|
|
20'd202: instruction <= 32'h23bd000c;
|
|
20'd203: instruction <= 32'h03e00008;
|
|
default: instruction <= 32'h00000000;
|
|
endcase
|
|
end
|
|
|
|
endmodule
|