From 6246a784788fabcfdf84d2c628bddda2cf277120 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 23 Jul 2014 19:58:05 +0000 Subject: [PATCH] - added git-svn-id: http://moon:8086/svn/vhdl/trunk@1039 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd | 1150 +++++++++ lib/CPUs/MIPS/src/bootloader_flash.ROM_ld.vhd | 2174 +++++++++++++++++ lib/CPUs/MIPS/src/mips_top_netlist.vhd | 104 + 3 files changed, 3428 insertions(+) create mode 100644 lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd create mode 100644 lib/CPUs/MIPS/src/bootloader_flash.ROM_ld.vhd create mode 100644 lib/CPUs/MIPS/src/mips_top_netlist.vhd diff --git a/lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd b/lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd new file mode 100644 index 0000000..a97e163 --- /dev/null +++ b/lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd @@ -0,0 +1,1150 @@ +LIBRARY IEEE; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +ENTITY rom IS + Port + ( + clk : in STD_LOGIC; + ce : in STD_LOGIC; + addr : in unsigned(31 downto 0); + dout : out unsigned(31 downto 0) + ); +END rom; + +ARCHITECTURE data OF rom IS + + subtype word_t is unsigned(31 downto 0); + type word_array_t is array (0 to 1023) of word_t; + signal jtag_ld_clk : STD_LOGIC; + signal jtag_ld_we : STD_LOGIC; + signal jtag_ld_addr : unsigned (15 downto 0); + signal jtag_ld_dout : unsigned (31 downto 0); + signal jtag_ld_din : unsigned (31 downto 0); + signal bs_rst, bs_sel, bs_shift, bs_tdi, bs_tdo : std_logic; + signal bs_capture, bs_clk0, bs_clk1, bs_update0, bs_update1 : std_logic; + signal user_regi, user_rego : unsigned (47 downto 0); + + signal word_array : word_array_t := + ( + + X"3C1D8400", -- 00000000 + X"27BDEFF0", -- 00000004 + X"3C1A1040", -- 00000008 + X"375A000C", -- 0000000C + X"409A6000", -- 00000010 + X"241A0000", -- 00000014 + X"409A6800", -- 00000018 + X"401A7800", -- 0000001C + X"00000000", -- 00000020 + X"409AF800", -- 00000024 + X"42000020", -- 00000028 + X"42000022", -- 0000002C + X"3C1ABFC0", -- 00000030 + X"275A005C", -- 00000034 + X"0340F809", -- 00000038 + X"00000000", -- 0000003C + X"3C1ABFC0", -- 00000040 + X"275A0A10", -- 00000044 + X"0340F809", -- 00000048 + X"00000000", -- 0000004C + X"00000000", -- 00000050 + X"0BF00014", -- 00000054 + X"00000000", -- 00000058 + X"3C1AA001", -- 0000005C + X"275A0008", -- 00000060 + X"241B000D", -- 00000064 + X"AF5B0000", -- 00000068 + X"03E00008", -- 0000006C + X"00000000", -- 00000070 + X"00000000", -- 00000074 + X"00000000", -- 00000078 + X"00000000", -- 0000007C + X"00000000", -- 00000080 + X"00000000", -- 00000084 + X"00000000", -- 00000088 + X"00000000", -- 0000008C + X"00000000", -- 00000090 + X"00000000", -- 00000094 + X"00000000", -- 00000098 + X"00000000", -- 0000009C + X"00000000", -- 000000A0 + X"00000000", -- 000000A4 + X"00000000", -- 000000A8 + X"00000000", -- 000000AC + X"00000000", -- 000000B0 + X"00000000", -- 000000B4 + X"00000000", -- 000000B8 + X"00000000", -- 000000BC + X"00000000", -- 000000C0 + X"00000000", -- 000000C4 + X"00000000", -- 000000C8 + X"00000000", -- 000000CC + X"00000000", -- 000000D0 + X"00000000", -- 000000D4 + X"00000000", -- 000000D8 + X"00000000", -- 000000DC + X"00000000", -- 000000E0 + X"00000000", -- 000000E4 + X"00000000", -- 000000E8 + X"00000000", -- 000000EC + X"00000000", -- 000000F0 + X"00000000", -- 000000F4 + X"00000000", -- 000000F8 + X"00000000", -- 000000FC + X"00000000", -- 00000100 + X"00000000", -- 00000104 + X"00000000", -- 00000108 + X"00000000", -- 0000010C + X"00000000", -- 00000110 + X"00000000", -- 00000114 + X"00000000", -- 00000118 + X"00000000", -- 0000011C + X"00000000", -- 00000120 + X"00000000", -- 00000124 + X"00000000", -- 00000128 + X"00000000", -- 0000012C + X"00000000", -- 00000130 + X"00000000", -- 00000134 + X"00000000", -- 00000138 + X"00000000", -- 0000013C + X"00000000", -- 00000140 + X"00000000", -- 00000144 + X"00000000", -- 00000148 + X"00000000", -- 0000014C + X"00000000", -- 00000150 + X"00000000", -- 00000154 + X"00000000", -- 00000158 + X"00000000", -- 0000015C + X"00000000", -- 00000160 + X"00000000", -- 00000164 + X"00000000", -- 00000168 + X"00000000", -- 0000016C + X"00000000", -- 00000170 + X"00000000", -- 00000174 + X"00000000", -- 00000178 + X"00000000", -- 0000017C + X"401A6800", -- 00000180 + X"3C1BC000", -- 00000184 + X"001AD082", -- 00000188 + X"335A000F", -- 0000018C + X"035BD025", -- 00000190 + X"3C1BA000", -- 00000194 + X"277B0000", -- 00000198 + X"AF7A0000", -- 0000019C + X"401A6800", -- 000001A0 + X"00000000", -- 000001A4 + X"001AD202", -- 000001A8 + X"335A00FF", -- 000001AC + X"1740FFFB", -- 000001B0 + X"00000000", -- 000001B4 + X"401A7000", -- 000001B8 + X"00000000", -- 000001BC + X"03400008", -- 000001C0 + X"42000010", -- 000001C4 + X"40026000", -- 000001C8 + X"03E00008", -- 000001CC + X"00000000", -- 000001D0 + X"40846000", -- 000001D4 + X"03E00008", -- 000001D8 + X"00000000", -- 000001DC + X"40026800", -- 000001E0 + X"03E00008", -- 000001E4 + X"00000000", -- 000001E8 + X"40846800", -- 000001EC + X"03E00008", -- 000001F0 + X"00000000", -- 000001F4 + X"40027800", -- 000001F8 + X"03E00008", -- 000001FC + X"00000000", -- 00000200 + X"3C02A001", -- 00000204 + X"34430004", -- 00000208 + X"8C620000", -- 0000020C + X"00000000", -- 00000210 + X"30420010", -- 00000214 + X"1040FFFC", -- 00000218 + X"3C02A001", -- 0000021C + X"8C420000", -- 00000220 + X"00000000", -- 00000224 + X"00021600", -- 00000228 + X"03E00008", -- 0000022C + X"00021603", -- 00000230 + X"00042600", -- 00000234 + X"3C02A001", -- 00000238 + X"00042603", -- 0000023C + X"34430004", -- 00000240 + X"8C620000", -- 00000244 + X"00000000", -- 00000248 + X"30420002", -- 0000024C + X"1440FFFC", -- 00000250 + X"3C02A001", -- 00000254 + X"AC440000", -- 00000258 + X"03E00008", -- 0000025C + X"00000000", -- 00000260 + X"00042600", -- 00000264 + X"00042603", -- 00000268 + X"2402000A", -- 0000026C + X"1482000A", -- 00000270 + X"3C02A001", -- 00000274 + X"34430004", -- 00000278 + X"8C620000", -- 0000027C + X"00000000", -- 00000280 + X"30420002", -- 00000284 + X"1440FFFC", -- 00000288 + X"3C02A001", -- 0000028C + X"2403000D", -- 00000290 + X"AC430000", -- 00000294 + X"3C02A001", -- 00000298 + X"34430004", -- 0000029C + X"8C620000", -- 000002A0 + X"00000000", -- 000002A4 + X"30420002", -- 000002A8 + X"1440FFFC", -- 000002AC + X"3C02A001", -- 000002B0 + X"AC440000", -- 000002B4 + X"03E00008", -- 000002B8 + X"00000000", -- 000002BC + X"3C02A001", -- 000002C0 + X"34470004", -- 000002C4 + X"00802821", -- 000002C8 + X"2409000A", -- 000002CC + X"3C06A001", -- 000002D0 + X"0BF000C6", -- 000002D4 + X"2408000D", -- 000002D8 + X"14690007", -- 000002DC + X"00000000", -- 000002E0 + X"8CE20000", -- 000002E4 + X"00000000", -- 000002E8 + X"30420002", -- 000002EC + X"1440FFFC", -- 000002F0 + X"00000000", -- 000002F4 + X"ACC80000", -- 000002F8 + X"8CE20000", -- 000002FC + X"00000000", -- 00000300 + X"30420002", -- 00000304 + X"1440FFFC", -- 00000308 + X"00000000", -- 0000030C + X"ACC30000", -- 00000310 + X"24A50001", -- 00000314 + X"80A30000", -- 00000318 + X"00000000", -- 0000031C + X"1460FFEE", -- 00000320 + X"00A41023", -- 00000324 + X"03E00008", -- 00000328 + X"00000000", -- 0000032C + X"00042600", -- 00000330 + X"3C02A001", -- 00000334 + X"00042603", -- 00000338 + X"344A0004", -- 0000033C + X"00003821", -- 00000340 + X"3C09A001", -- 00000344 + X"24080002", -- 00000348 + X"308200FF", -- 0000034C + X"00022902", -- 00000350 + X"00041100", -- 00000354 + X"00022600", -- 00000358 + X"2CA3000A", -- 0000035C + X"00042603", -- 00000360 + X"14600002", -- 00000364 + X"24A60030", -- 00000368 + X"24A60037", -- 0000036C + X"8D420000", -- 00000370 + X"00000000", -- 00000374 + X"30420002", -- 00000378 + X"1440FFFC", -- 0000037C + X"00061600", -- 00000380 + X"00021603", -- 00000384 + X"24E70001", -- 00000388 + X"AD220000", -- 0000038C + X"14E8FFEF", -- 00000390 + X"308200FF", -- 00000394 + X"03E00008", -- 00000398 + X"00000000", -- 0000039C + X"27BDFFE0", -- 000003A0 + X"AFB20018", -- 000003A4 + X"AFB10014", -- 000003A8 + X"AFB00010", -- 000003AC + X"AFBF001C", -- 000003B0 + X"00808821", -- 000003B4 + X"00008021", -- 000003B8 + X"24120004", -- 000003BC + X"00112603", -- 000003C0 + X"0FF000CC", -- 000003C4 + X"26100001", -- 000003C8 + X"1612FFFC", -- 000003CC + X"00118A00", -- 000003D0 + X"8FBF001C", -- 000003D4 + X"8FB20018", -- 000003D8 + X"8FB10014", -- 000003DC + X"8FB00010", -- 000003E0 + X"03E00008", -- 000003E4 + X"27BD0020", -- 000003E8 + X"27BDFFC8", -- 000003EC + X"AFB60028", -- 000003F0 + X"AFBF0034", -- 000003F4 + X"AFBE0030", -- 000003F8 + X"AFB7002C", -- 000003FC + X"AFB50024", -- 00000400 + X"AFB40020", -- 00000404 + X"AFB3001C", -- 00000408 + X"AFB20018", -- 0000040C + X"AFB10014", -- 00000410 + X"AFB00010", -- 00000414 + X"00801021", -- 00000418 + X"10A00002", -- 0000041C + X"00C0B021", -- 00000420 + X"00002021", -- 00000424 + X"00409821", -- 00000428 + X"3C02A001", -- 0000042C + X"00E09021", -- 00000430 + X"0080A821", -- 00000434 + X"345E0004", -- 00000438 + X"00E0A021", -- 0000043C + X"3C17A001", -- 00000440 + X"0FF000E8", -- 00000444 + X"02A02021", -- 00000448 + X"3C04BFC0", -- 0000044C + X"0FF000B0", -- 00000450 + X"24840D00", -- 00000454 + X"02608821", -- 00000458 + X"0BF00128", -- 0000045C + X"00008021", -- 00000460 + X"12400009", -- 00000464 + X"00000000", -- 00000468 + X"82240000", -- 0000046C + X"0FF000CC", -- 00000470 + X"2652FFFF", -- 00000474 + X"3C04BFC0", -- 00000478 + X"0FF000B0", -- 0000047C + X"24840CEC", -- 00000480 + X"0BF00128", -- 00000484 + X"26310001", -- 00000488 + X"3C04BFC0", -- 0000048C + X"0FF000B0", -- 00000490 + X"24840CF0", -- 00000494 + X"0BF0012C", -- 00000498 + X"3C04BFC0", -- 0000049C + X"0216102A", -- 000004A0 + X"1440FFEF", -- 000004A4 + X"26100001", -- 000004A8 + X"3C04BFC0", -- 000004AC + X"0FF000B0", -- 000004B0 + X"24840CF0", -- 000004B4 + X"02602821", -- 000004B8 + X"0BF00155", -- 000004BC + X"00002021", -- 000004C0 + X"1280001E", -- 000004C4 + X"00000000", -- 000004C8 + X"90A30000", -- 000004CC + X"00000000", -- 000004D0 + X"2462FFE0", -- 000004D4 + X"304200FF", -- 000004D8 + X"2C420060", -- 000004DC + X"14400003", -- 000004E0 + X"00031E00", -- 000004E4 + X"2403002E", -- 000004E8 + X"00031E00", -- 000004EC + X"00031E03", -- 000004F0 + X"2402000A", -- 000004F4 + X"14620007", -- 000004F8 + X"00000000", -- 000004FC + X"8FC20000", -- 00000500 + X"00000000", -- 00000504 + X"30420002", -- 00000508 + X"1440FFFC", -- 0000050C + X"2402000D", -- 00000510 + X"AEE20000", -- 00000514 + X"8FC20000", -- 00000518 + X"00000000", -- 0000051C + X"30420002", -- 00000520 + X"1440FFFC", -- 00000524 + X"00000000", -- 00000528 + X"AEE30000", -- 0000052C + X"2694FFFF", -- 00000530 + X"24840001", -- 00000534 + X"0BF00155", -- 00000538 + X"24A50001", -- 0000053C + X"3C04BFC0", -- 00000540 + X"0FF000B0", -- 00000544 + X"24840CEC", -- 00000548 + X"0BF00159", -- 0000054C + X"3C04BFC0", -- 00000550 + X"0096102A", -- 00000554 + X"1440FFDA", -- 00000558 + X"00000000", -- 0000055C + X"3C04BFC0", -- 00000560 + X"0FF000B0", -- 00000564 + X"24840CF4", -- 00000568 + X"02B6A821", -- 0000056C + X"1640FFB4", -- 00000570 + X"02769821", -- 00000574 + X"8FBF0034", -- 00000578 + X"8FBE0030", -- 0000057C + X"8FB7002C", -- 00000580 + X"8FB60028", -- 00000584 + X"8FB50024", -- 00000588 + X"8FB40020", -- 0000058C + X"8FB3001C", -- 00000590 + X"8FB20018", -- 00000594 + X"8FB10014", -- 00000598 + X"8FB00010", -- 0000059C + X"03E00008", -- 000005A0 + X"27BD0038", -- 000005A4 + X"00C03821", -- 000005A8 + X"00A03021", -- 000005AC + X"0BF000FB", -- 000005B0 + X"24050001", -- 000005B4 + X"90830000", -- 000005B8 + X"00000000", -- 000005BC + X"2C620041", -- 000005C0 + X"14400002", -- 000005C4 + X"2462FFD0", -- 000005C8 + X"2462FFC9", -- 000005CC + X"90840001", -- 000005D0 + X"304200FF", -- 000005D4 + X"304300FF", -- 000005D8 + X"2C820041", -- 000005DC + X"14400003", -- 000005E0 + X"00000000", -- 000005E4 + X"0BF0017D", -- 000005E8 + X"2482FFC9", -- 000005EC + X"2482FFD0", -- 000005F0 + X"304400FF", -- 000005F4 + X"00031100", -- 000005F8 + X"00821025", -- 000005FC + X"03E00008", -- 00000600 + X"304200FF", -- 00000604 + X"10C00094", -- 00000608 + X"00805021", -- 0000060C + X"24020003", -- 00000610 + X"AC820008", -- 00000614 + X"90A40001", -- 00000618 + X"00000000", -- 0000061C + X"2482FFCF", -- 00000620 + X"304200FF", -- 00000624 + X"2C420003", -- 00000628 + X"10400005", -- 0000062C + X"2482FFC9", -- 00000630 + X"24020002", -- 00000634 + X"AD420008", -- 00000638 + X"0BF0019F", -- 0000063C + X"2489FFD1", -- 00000640 + X"304200FF", -- 00000644 + X"2C420003", -- 00000648 + X"10400006", -- 0000064C + X"24020030", -- 00000650 + X"2402003B", -- 00000654 + X"00444823", -- 00000658 + X"24020004", -- 0000065C + X"0BF0019F", -- 00000660 + X"AD420008", -- 00000664 + X"14820004", -- 00000668 + X"00004821", -- 0000066C + X"24020001", -- 00000670 + X"AD420008", -- 00000674 + X"24090002", -- 00000678 + X"90A30002", -- 0000067C + X"00000000", -- 00000680 + X"2C620041", -- 00000684 + X"10400003", -- 00000688 + X"24A40002", -- 0000068C + X"0BF001A7", -- 00000690 + X"2462FFD0", -- 00000694 + X"2462FFC9", -- 00000698 + X"90830001", -- 0000069C + X"304200FF", -- 000006A0 + X"304400FF", -- 000006A4 + X"2C620041", -- 000006A8 + X"10400002", -- 000006AC + X"2462FFC9", -- 000006B0 + X"2462FFD0", -- 000006B4 + X"304300FF", -- 000006B8 + X"00041100", -- 000006BC + X"00621025", -- 000006C0 + X"304200FF", -- 000006C4 + X"AD420004", -- 000006C8 + X"AD400000", -- 000006CC + X"00405821", -- 000006D0 + X"00A03021", -- 000006D4 + X"0BF001D3", -- 000006D8 + X"00003821", -- 000006DC + X"90C20004", -- 000006E0 + X"00000000", -- 000006E4 + X"2443FFC9", -- 000006E8 + X"2444FFD0", -- 000006EC + X"2C420041", -- 000006F0 + X"10400002", -- 000006F4 + X"306300FF", -- 000006F8 + X"308300FF", -- 000006FC + X"90C20005", -- 00000700 + X"306800FF", -- 00000704 + X"2444FFC9", -- 00000708 + X"2443FFD0", -- 0000070C + X"2C420041", -- 00000710 + X"10400002", -- 00000714 + X"308400FF", -- 00000718 + X"306400FF", -- 0000071C + X"8D430000", -- 00000720 + X"00081100", -- 00000724 + X"00821025", -- 00000728 + X"304200FF", -- 0000072C + X"00031A00", -- 00000730 + X"004B2021", -- 00000734 + X"00431025", -- 00000738 + X"AD420000", -- 0000073C + X"308B00FF", -- 00000740 + X"24E70001", -- 00000744 + X"24C60002", -- 00000748 + X"00E9102A", -- 0000074C + X"1440FFE3", -- 00000750 + X"25220002", -- 00000754 + X"8D440004", -- 00000758 + X"00021040", -- 0000075C + X"00091827", -- 00000760 + X"00832021", -- 00000764 + X"00A21021", -- 00000768 + X"AD440004", -- 0000076C + X"AD42000C", -- 00000770 + X"0BF001F7", -- 00000774 + X"00003021", -- 00000778 + X"90E20000", -- 0000077C + X"00000000", -- 00000780 + X"2444FFC9", -- 00000784 + X"2445FFD0", -- 00000788 + X"2C420041", -- 0000078C + X"10400002", -- 00000790 + X"308400FF", -- 00000794 + X"30A400FF", -- 00000798 + X"90E20001", -- 0000079C + X"308700FF", -- 000007A0 + X"2445FFC9", -- 000007A4 + X"2444FFD0", -- 000007A8 + X"2C420041", -- 000007AC + X"14400002", -- 000007B0 + X"308400FF", -- 000007B4 + X"30A400FF", -- 000007B8 + X"00071100", -- 000007BC + X"00821025", -- 000007C0 + X"304200FF", -- 000007C4 + X"00661821", -- 000007C8 + X"004B2021", -- 000007CC + X"A0620000", -- 000007D0 + X"308B00FF", -- 000007D4 + X"24C60001", -- 000007D8 + X"8D420004", -- 000007DC + X"8D43000C", -- 000007E0 + X"00062040", -- 000007E4 + X"00C2102A", -- 000007E8 + X"1440FFE3", -- 000007EC + X"00643821", -- 000007F0 + X"90E40000", -- 000007F4 + X"00000000", -- 000007F8 + X"2C820041", -- 000007FC + X"10400003", -- 00000800 + X"00E01821", -- 00000804 + X"0BF00205", -- 00000808 + X"2482FFD0", -- 0000080C + X"2482FFC9", -- 00000810 + X"90630001", -- 00000814 + X"304200FF", -- 00000818 + X"304400FF", -- 0000081C + X"2C620041", -- 00000820 + X"10400002", -- 00000824 + X"2462FFC9", -- 00000828 + X"2462FFD0", -- 0000082C + X"304200FF", -- 00000830 + X"00041900", -- 00000834 + X"00431825", -- 00000838 + X"000B1027", -- 0000083C + X"304200FF", -- 00000840 + X"306300FF", -- 00000844 + X"14430004", -- 00000848 + X"00000000", -- 0000084C + X"8D420008", -- 00000850 + X"03E00008", -- 00000854 + X"00000000", -- 00000858 + X"03E00008", -- 0000085C + X"00001021", -- 00000860 + X"00800008", -- 00000864 + X"00000000", -- 00000868 + X"03E00008", -- 0000086C + X"00000000", -- 00000870 + X"401A6000", -- 00000874 + X"3C1BFFBF", -- 00000878 + X"377BFFFF", -- 0000087C + X"035BD024", -- 00000880 + X"409A6000", -- 00000884 + X"8FA20010", -- 00000888 + X"00000000", -- 0000088C + X"00400008", -- 00000890 + X"42000010", -- 00000894 + X"03E00008", -- 00000898 + X"00000000", -- 0000089C + X"27BDFFC0", -- 000008A0 + X"AFB20038", -- 000008A4 + X"3C05BFC0", -- 000008A8 + X"27B20010", -- 000008AC + X"24A50D8C", -- 000008B0 + X"2406001C", -- 000008B4 + X"02402021", -- 000008B8 + X"AFBF003C", -- 000008BC + X"AFB10034", -- 000008C0 + X"0FF002D6", -- 000008C4 + X"AFB00030", -- 000008C8 + X"0FF00072", -- 000008CC + X"00000000", -- 000008D0 + X"3C04BFC0", -- 000008D4 + X"00408021", -- 000008D8 + X"0FF000B0", -- 000008DC + X"24840CF8", -- 000008E0 + X"0FF000E8", -- 000008E4 + X"02002021", -- 000008E8 + X"3C04BFC0", -- 000008EC + X"0FF000B0", -- 000008F0 + X"24840CF4", -- 000008F4 + X"0FF0007E", -- 000008F8 + X"00000000", -- 000008FC + X"00408821", -- 00000900 + X"3C04BFC0", -- 00000904 + X"00021203", -- 00000908 + X"305000FF", -- 0000090C + X"0FF000B0", -- 00000910 + X"24840D04", -- 00000914 + X"2602FFFF", -- 00000918 + X"2C420006", -- 0000091C + X"1040000D", -- 00000920 + X"00101080", -- 00000924 + X"02421021", -- 00000928 + X"8C440000", -- 0000092C + X"0FF000B0", -- 00000930 + X"00000000", -- 00000934 + X"3C04BFC0", -- 00000938 + X"0FF000B0", -- 0000093C + X"24840D10", -- 00000940 + X"00112600", -- 00000944 + X"0FF000CC", -- 00000948 + X"00042603", -- 0000094C + X"0BF0025A", -- 00000950 + X"3C04BFC0", -- 00000954 + X"3C04BFC0", -- 00000958 + X"0FF000B0", -- 0000095C + X"24840D18", -- 00000960 + X"3C04BFC0", -- 00000964 + X"8FBF003C", -- 00000968 + X"8FB20038", -- 0000096C + X"8FB10034", -- 00000970 + X"8FB00030", -- 00000974 + X"24840CF4", -- 00000978 + X"0BF000B0", -- 0000097C + X"27BD0040", -- 00000980 + X"27BDFFD8", -- 00000984 + X"AFB30020", -- 00000988 + X"AFB10018", -- 0000098C + X"AFB00014", -- 00000990 + X"AFBF0024", -- 00000994 + X"AFB2001C", -- 00000998 + X"00809821", -- 0000099C + X"24110073", -- 000009A0 + X"24100053", -- 000009A4 + X"0FF00081", -- 000009A8 + X"00000000", -- 000009AC + X"14510005", -- 000009B0 + X"00000000", -- 000009B4 + X"00008021", -- 000009B8 + X"2412000A", -- 000009BC + X"0BF0027A", -- 000009C0 + X"2411000D", -- 000009C4 + X"1450FFF7", -- 000009C8 + X"00000000", -- 000009CC + X"0BF0026F", -- 000009D0 + X"00008021", -- 000009D4 + X"0FF00081", -- 000009D8 + X"A0620000", -- 000009DC + X"10510003", -- 000009E0 + X"26100001", -- 000009E4 + X"1452FFFB", -- 000009E8 + X"02701821", -- 000009EC + X"8FBF0024", -- 000009F0 + X"02001021", -- 000009F4 + X"8FB30020", -- 000009F8 + X"8FB2001C", -- 000009FC + X"8FB10018", -- 00000A00 + X"8FB00014", -- 00000A04 + X"03E00008", -- 00000A08 + X"27BD0028", -- 00000A0C + X"27BDFEB8", -- 00000A10 + X"AFB00120", -- 00000A14 + X"3C10BFC0", -- 00000A18 + X"26040D38", -- 00000A1C + X"AFBF0144", -- 00000A20 + X"AFBE0140", -- 00000A24 + X"AFB7013C", -- 00000A28 + X"AFB60138", -- 00000A2C + X"AFB50134", -- 00000A30 + X"AFB40130", -- 00000A34 + X"AFB3012C", -- 00000A38 + X"AFB20128", -- 00000A3C + X"0FF000B0", -- 00000A40 + X"AFB10124", -- 00000A44 + X"0FF00228", -- 00000A48 + X"26150D38", -- 00000A4C + X"3C04BFC0", -- 00000A50 + X"0FF000B0", -- 00000A54 + X"24840D20", -- 00000A58 + X"3C02BFC0", -- 00000A5C + X"245E0D14", -- 00000A60 + X"3C02BFC0", -- 00000A64 + X"24570D34", -- 00000A68 + X"3C02BFC0", -- 00000A6C + X"24560D3C", -- 00000A70 + X"27B10020", -- 00000A74 + X"27B40010", -- 00000A78 + X"24130002", -- 00000A7C + X"24120004", -- 00000A80 + X"0FF000B0", -- 00000A84 + X"03C02021", -- 00000A88 + X"0FF00261", -- 00000A8C + X"02202021", -- 00000A90 + X"00403021", -- 00000A94 + X"02802021", -- 00000A98 + X"02202821", -- 00000A9C + X"0FF00182", -- 00000AA0 + X"00408021", -- 00000AA4 + X"10530005", -- 00000AA8 + X"00000000", -- 00000AAC + X"1452FFF4", -- 00000AB0 + X"00000000", -- 00000AB4 + X"0BF002C0", -- 00000AB8 + X"00000000", -- 00000ABC + X"8FA50010", -- 00000AC0 + X"0BF002B9", -- 00000AC4 + X"00001821", -- 00000AC8 + X"8FA2001C", -- 00000ACC + X"00000000", -- 00000AD0 + X"00431021", -- 00000AD4 + X"90420000", -- 00000AD8 + X"24630001", -- 00000ADC + X"A0820000", -- 00000AE0 + X"8FA20014", -- 00000AE4 + X"00000000", -- 00000AE8 + X"0062102B", -- 00000AEC + X"1440FFF6", -- 00000AF0 + X"00652021", -- 00000AF4 + X"0BF002D2", -- 00000AF8 + X"00000000", -- 00000AFC + X"0FF000B0", -- 00000B00 + X"02E02021", -- 00000B04 + X"0FF000B0", -- 00000B08 + X"02C02021", -- 00000B0C + X"8FA40010", -- 00000B10 + X"0FF000E8", -- 00000B14 + X"00000000", -- 00000B18 + X"0FF000B0", -- 00000B1C + X"02A02021", -- 00000B20 + X"401A6000", -- 00000B24 + X"3C1BFFBF", -- 00000B28 + X"377BFFFF", -- 00000B2C + X"035BD024", -- 00000B30 + X"409A6000", -- 00000B34 + X"8FA20010", -- 00000B38 + X"00000000", -- 00000B3C + X"00400008", -- 00000B40 + X"42000010", -- 00000B44 + X"0601FFD0", -- 00000B48 + X"00000000", -- 00000B4C + X"0BF002A1", -- 00000B50 + X"00000000", -- 00000B54 + X"00A41025", -- 00000B58 + X"30420003", -- 00000B5C + X"00806021", -- 00000B60 + X"1440002F", -- 00000B64 + X"00A05821", -- 00000B68 + X"00065102", -- 00000B6C + X"00804021", -- 00000B70 + X"30C6000F", -- 00000B74 + X"11400011", -- 00000B78 + X"00A03821", -- 00000B7C + X"01404821", -- 00000B80 + X"8CE30004", -- 00000B84 + X"8CE40008", -- 00000B88 + X"8CE5000C", -- 00000B8C + X"8CE20000", -- 00000B90 + X"2529FFFF", -- 00000B94 + X"AD020000", -- 00000B98 + X"AD030004", -- 00000B9C + X"AD040008", -- 00000BA0 + X"AD05000C", -- 00000BA4 + X"24E70010", -- 00000BA8 + X"1520FFF5", -- 00000BAC + X"25080010", -- 00000BB0 + X"000A1100", -- 00000BB4 + X"01623821", -- 00000BB8 + X"01824021", -- 00000BBC + X"00064882", -- 00000BC0 + X"1120000D", -- 00000BC4 + X"30C60003", -- 00000BC8 + X"01002821", -- 00000BCC + X"00E02021", -- 00000BD0 + X"01201821", -- 00000BD4 + X"8C820000", -- 00000BD8 + X"2463FFFF", -- 00000BDC + X"ACA20000", -- 00000BE0 + X"24840004", -- 00000BE4 + X"1460FFFB", -- 00000BE8 + X"24A50004", -- 00000BEC + X"00091080", -- 00000BF0 + X"01024021", -- 00000BF4 + X"00E23821", -- 00000BF8 + X"10C00007", -- 00000BFC + X"00002821", -- 00000C00 + X"00E51021", -- 00000C04 + X"90440000", -- 00000C08 + X"01051821", -- 00000C0C + X"24A50001", -- 00000C10 + X"14A6FFFB", -- 00000C14 + X"A0640000", -- 00000C18 + X"03E00008", -- 00000C1C + X"01801021", -- 00000C20 + X"00A04021", -- 00000C24 + X"00803821", -- 00000C28 + X"04C00027", -- 00000C2C + X"00C01821", -- 00000C30 + X"3C028000", -- 00000C34 + X"34420003", -- 00000C38 + X"00C23024", -- 00000C3C + X"04C0001B", -- 00000C40 + X"00034883", -- 00000C44 + X"1120000F", -- 00000C48 + X"00000000", -- 00000C4C + X"01602821", -- 00000C50 + X"01802021", -- 00000C54 + X"01201821", -- 00000C58 + X"2463FFFF", -- 00000C5C + X"88A20000", -- 00000C60 + X"98A20003", -- 00000C64 + X"24A50004", -- 00000C68 + X"A8820000", -- 00000C6C + X"B8820003", -- 00000C70 + X"1460FFF9", -- 00000C74 + X"24840004", -- 00000C78 + X"00091080", -- 00000C7C + X"01624021", -- 00000C80 + X"01823821", -- 00000C84 + X"18C0FFE4", -- 00000C88 + X"00002821", -- 00000C8C + X"01051021", -- 00000C90 + X"90440000", -- 00000C94 + X"00E51821", -- 00000C98 + X"24A50001", -- 00000C9C + X"14A6FFFB", -- 00000CA0 + X"A0640000", -- 00000CA4 + X"03E00008", -- 00000CA8 + X"01801021", -- 00000CAC + X"24C6FFFF", -- 00000CB0 + X"2402FFFC", -- 00000CB4 + X"00C23025", -- 00000CB8 + X"1520FFE4", -- 00000CBC + X"24C60001", -- 00000CC0 + X"0BF00322", -- 00000CC4 + X"00000000", -- 00000CC8 + X"3C028000", -- 00000CCC + X"34420003", -- 00000CD0 + X"24C30003", -- 00000CD4 + X"00C23024", -- 00000CD8 + X"04C1FFDA", -- 00000CDC + X"00034883", -- 00000CE0 + X"0BF0032D", -- 00000CE4 + X"24C6FFFF", -- 00000CE8 + X"20000000", -- 00000CEC + X"20202000", -- 00000CF0 + X"0A000000", -- 00000CF4 + X"53746174", -- 00000CF8 + X"75732020", -- 00000CFC + X"3A200000", -- 00000D00 + X"43505520", -- 00000D04 + X"74797065", -- 00000D08 + X"3A200000", -- 00000D0C + X"20526576", -- 00000D10 + X"2E000000", -- 00000D14 + X"556E6B6E", -- 00000D18 + X"6F776E00", -- 00000D1C + X"426F6F74", -- 00000D20 + X"696E6720", -- 00000D24 + X"66726F6D", -- 00000D28 + X"20554152", -- 00000D2C + X"542E2E00", -- 00000D30 + X"646F6E65", -- 00000D34 + X"0A0A0000", -- 00000D38 + X"45786563", -- 00000D3C + X"75746520", -- 00000D40 + X"70726F67", -- 00000D44 + X"72616D20", -- 00000D48 + X"61742000", -- 00000D4C + X"696E7661", -- 00000D50 + X"6C696400", -- 00000D54 + X"52323030", -- 00000D58 + X"30000000", -- 00000D5C + X"52333030", -- 00000D60 + X"30000000", -- 00000D64 + X"52363030", -- 00000D68 + X"30000000", -- 00000D6C + X"52343030", -- 00000D70 + X"30000000", -- 00000D74 + X"72657365", -- 00000D78 + X"72766564", -- 00000D7C + X"00000000", -- 00000D80 + X"52363030", -- 00000D84 + X"30410000", -- 00000D88 + X"BFC00D50", -- 00000D8C + X"BFC00D58", -- 00000D90 + X"BFC00D60", -- 00000D94 + X"BFC00D68", -- 00000D98 + X"BFC00D70", -- 00000D9C + X"BFC00D78", -- 00000DA0 + X"BFC00D84", -- 00000DA4 + X"00000000", -- 00000DA8 + X"00000000", -- 00000DAC + X"00000000", -- 00000DB0 + X"00000000", -- 00000DB4 + X"00000000", -- 00000DB8 + X"00000000", -- 00000DBC + X"00000000", -- 00000DC0 + X"00000000", -- 00000DC4 + X"00000000", -- 00000DC8 + X"00000000", -- 00000DCC + X"00000000", -- 00000DD0 + X"00000000", -- 00000DD4 + X"00000000", -- 00000DD8 + X"00000000", -- 00000DDC + X"00000000", -- 00000DE0 + X"00000000", -- 00000DE4 + X"00000000", -- 00000DE8 + X"00000000", -- 00000DEC + X"00000000", -- 00000DF0 + X"00000000", -- 00000DF4 + X"00000000", -- 00000DF8 + X"00000000", -- 00000DFC + X"00000000", -- 00000E00 + X"00000000", -- 00000E04 + X"00000000", -- 00000E08 + X"00000000", -- 00000E0C + X"00000000", -- 00000E10 + X"00000000", -- 00000E14 + X"00000000", -- 00000E18 + X"00000000", -- 00000E1C + X"00000000", -- 00000E20 + X"00000000", -- 00000E24 + X"00000000", -- 00000E28 + X"00000000", -- 00000E2C + X"00000000", -- 00000E30 + X"00000000", -- 00000E34 + X"00000000", -- 00000E38 + X"00000000", -- 00000E3C + X"00000000", -- 00000E40 + X"00000000", -- 00000E44 + X"00000000", -- 00000E48 + X"00000000", -- 00000E4C + X"00000000", -- 00000E50 + X"00000000", -- 00000E54 + X"00000000", -- 00000E58 + X"00000000", -- 00000E5C + X"00000000", -- 00000E60 + X"00000000", -- 00000E64 + X"00000000", -- 00000E68 + X"00000000", -- 00000E6C + X"00000000", -- 00000E70 + X"00000000", -- 00000E74 + X"00000000", -- 00000E78 + X"00000000", -- 00000E7C + X"00000000", -- 00000E80 + X"00000000", -- 00000E84 + X"00000000", -- 00000E88 + X"00000000", -- 00000E8C + X"00000000", -- 00000E90 + X"00000000", -- 00000E94 + X"00000000", -- 00000E98 + X"00000000", -- 00000E9C + X"00000000", -- 00000EA0 + X"00000000", -- 00000EA4 + X"00000000", -- 00000EA8 + X"00000000", -- 00000EAC + X"00000000", -- 00000EB0 + X"00000000", -- 00000EB4 + X"00000000", -- 00000EB8 + X"00000000", -- 00000EBC + X"00000000", -- 00000EC0 + X"00000000", -- 00000EC4 + X"00000000", -- 00000EC8 + X"00000000", -- 00000ECC + X"00000000", -- 00000ED0 + X"00000000", -- 00000ED4 + X"00000000", -- 00000ED8 + X"00000000", -- 00000EDC + X"00000000", -- 00000EE0 + X"00000000", -- 00000EE4 + X"00000000", -- 00000EE8 + X"00000000", -- 00000EEC + X"00000000", -- 00000EF0 + X"00000000", -- 00000EF4 + X"00000000", -- 00000EF8 + X"00000000", -- 00000EFC + X"00000000", -- 00000F00 + X"00000000", -- 00000F04 + X"00000000", -- 00000F08 + X"00000000", -- 00000F0C + X"00000000", -- 00000F10 + X"00000000", -- 00000F14 + X"00000000", -- 00000F18 + X"00000000", -- 00000F1C + X"00000000", -- 00000F20 + X"00000000", -- 00000F24 + X"00000000", -- 00000F28 + X"00000000", -- 00000F2C + X"00000000", -- 00000F30 + X"00000000", -- 00000F34 + X"00000000", -- 00000F38 + X"00000000", -- 00000F3C + X"00000000", -- 00000F40 + X"00000000", -- 00000F44 + X"00000000", -- 00000F48 + X"00000000", -- 00000F4C + X"00000000", -- 00000F50 + X"00000000", -- 00000F54 + X"00000000", -- 00000F58 + X"00000000", -- 00000F5C + X"00000000", -- 00000F60 + X"00000000", -- 00000F64 + X"00000000", -- 00000F68 + X"00000000", -- 00000F6C + X"00000000", -- 00000F70 + X"00000000", -- 00000F74 + X"00000000", -- 00000F78 + X"00000000", -- 00000F7C + X"00000000", -- 00000F80 + X"00000000", -- 00000F84 + X"00000000", -- 00000F88 + X"00000000", -- 00000F8C + X"00000000", -- 00000F90 + X"00000000", -- 00000F94 + X"00000000", -- 00000F98 + X"00000000", -- 00000F9C + X"00000000", -- 00000FA0 + X"00000000", -- 00000FA4 + X"00000000", -- 00000FA8 + X"00000000", -- 00000FAC + X"00000000", -- 00000FB0 + X"00000000", -- 00000FB4 + X"00000000", -- 00000FB8 + X"00000000", -- 00000FBC + X"00000000", -- 00000FC0 + X"00000000", -- 00000FC4 + X"00000000", -- 00000FC8 + X"00000000", -- 00000FCC + X"00000000", -- 00000FD0 + X"00000000", -- 00000FD4 + X"00000000", -- 00000FD8 + X"00000000", -- 00000FDC + X"00000000", -- 00000FE0 + X"00000000", -- 00000FE4 + X"00000000", -- 00000FE8 + X"00000000", -- 00000FEC + X"00000000", -- 00000FF0 + X"00000000", -- 00000FF4 + X"00000000", -- 00000FF8 + X"00000000" -- 00000FFC + ); + +begin + +PROM_READ: + process(clk) + begin + if rising_edge(clk) and ce = '1' then + dout <= word_array(to_integer(addr(11 downto 2))); + end if; + end process; + + +-------------------------------------------------------------------------- +-- Virtex-4: JTAG Loader +-------------------------------------------------------------------------- + i00_BUFG : BUFG + port map + ( + O => bs_clk1, + I => bs_clk0 + ); + + i01_BUFG : BUFG + port map + ( + O => bs_update1, + I => bs_update0 + ); + + BSCAN_VIRTEX4_inst1 : BSCAN_VIRTEX4 + generic map + ( + JTAG_CHAIN => 1 -- Value to set BSCAN site of device. Possible values: (1,2,3 or 4) + ) + port map + ( + CAPTURE => bs_capture, -- CAPTURE output from TAP controller + DRCK => bs_clk0, -- Data register output for USER functions + RESET => bs_rst, -- Reset output from TAP controller + SEL => bs_sel, -- USER active output + SHIFT => bs_shift, -- SHIFT output from TAP controller + TDI => bs_tdi, -- TDI output from TAP controller + UPDATE => bs_update0, -- UPDATE output from TAP controller + TDO => bs_tdo -- Data input for USER function + ); + + jtag_ld_addr <= user_regi(user_regi'left downto jtag_ld_dout'length); + jtag_ld_din <= user_regi(jtag_ld_dout'length-1 downto 0); + jtag_ld_clk <= bs_update1; + jtag_ld_we <= bs_sel; + +sipo: + process (bs_rst, bs_clk1, bs_tdi, bs_shift) + begin + if bs_rst = '1' then + user_regi <= (others => '0'); + elsif rising_edge(bs_clk1) then + if bs_shift = '1' then + user_regi <= bs_tdi & user_regi(user_regi'left downto 1); + end if; + end if; + end process; + +piso: + process (bs_rst, bs_clk1, bs_shift, user_rego) + begin + bs_tdo <= user_rego(0); + if bs_rst = '1' then + user_rego <= (others => '0'); + elsif rising_edge(bs_clk1) then + if bs_shift = '1' then + user_rego <= user_rego(0) & user_rego(user_rego'left downto 1); + else + user_rego <= (user_rego'left downto jtag_ld_dout'length => '0') & jtag_ld_dout; + + end if; + end if; + end process; + +PROM_WRITE: + process(jtag_ld_clk, jtag_ld_we) + begin + if rising_edge(jtag_ld_clk) then + if jtag_ld_we = '1' then + word_array(to_integer(jtag_ld_addr(9 downto 0))) <= jtag_ld_din; + else + jtag_ld_dout <= word_array(to_integer(jtag_ld_addr(9 downto 0))); + end if; + end if; + end process; + +end data; diff --git a/lib/CPUs/MIPS/src/bootloader_flash.ROM_ld.vhd b/lib/CPUs/MIPS/src/bootloader_flash.ROM_ld.vhd new file mode 100644 index 0000000..e4ae867 --- /dev/null +++ b/lib/CPUs/MIPS/src/bootloader_flash.ROM_ld.vhd @@ -0,0 +1,2174 @@ +LIBRARY IEEE; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; + +library UNISIM; +use UNISIM.VComponents.all; + +ENTITY rom IS + Port + ( + clk : in STD_LOGIC; + ce : in STD_LOGIC; + addr : in unsigned(31 downto 0); + dout : out unsigned(31 downto 0) + ); +END rom; + +ARCHITECTURE data OF rom IS + + subtype word_t is unsigned(31 downto 0); + type word_array_t is array (0 to 2047) of word_t; + signal jtag_ld_clk : STD_LOGIC; + signal jtag_ld_we : STD_LOGIC; + signal jtag_ld_addr : unsigned (15 downto 0); + signal jtag_ld_dout : unsigned (31 downto 0); + signal jtag_ld_din : unsigned (31 downto 0); + signal bs_rst, bs_sel, bs_shift, bs_tdi, bs_tdo : std_logic; + signal bs_capture, bs_clk0, bs_clk1, bs_update0, bs_update1 : std_logic; + signal user_regi, user_rego : unsigned (47 downto 0); + + signal word_array : word_array_t := + ( + + X"3C1D8400", -- 00000000 + X"27BDEFF0", -- 00000004 + X"3C1A1040", -- 00000008 + X"375A000A", -- 0000000C + X"409A6000", -- 00000010 + X"241A0000", -- 00000014 + X"409A6800", -- 00000018 + X"401A7800", -- 0000001C + X"00000000", -- 00000020 + X"409AF800", -- 00000024 + X"42000020", -- 00000028 + X"42000022", -- 0000002C + X"3C1A9FC0", -- 00000030 + X"275A005C", -- 00000034 + X"0340F809", -- 00000038 + X"00000000", -- 0000003C + X"3C1A9FC0", -- 00000040 + X"275A1150", -- 00000044 + X"0340F809", -- 00000048 + X"00000000", -- 0000004C + X"00000000", -- 00000050 + X"0BF00014", -- 00000054 + X"00000000", -- 00000058 + X"3C1AAC01", -- 0000005C + X"275A0008", -- 00000060 + X"241B000D", -- 00000064 + X"AF5B0000", -- 00000068 + X"03E00008", -- 0000006C + X"00000000", -- 00000070 + X"00000000", -- 00000074 + X"00000000", -- 00000078 + X"00000000", -- 0000007C + X"00000000", -- 00000080 + X"00000000", -- 00000084 + X"00000000", -- 00000088 + X"00000000", -- 0000008C + X"00000000", -- 00000090 + X"00000000", -- 00000094 + X"00000000", -- 00000098 + X"00000000", -- 0000009C + X"00000000", -- 000000A0 + X"00000000", -- 000000A4 + X"00000000", -- 000000A8 + X"00000000", -- 000000AC + X"00000000", -- 000000B0 + X"00000000", -- 000000B4 + X"00000000", -- 000000B8 + X"00000000", -- 000000BC + X"00000000", -- 000000C0 + X"00000000", -- 000000C4 + X"00000000", -- 000000C8 + X"00000000", -- 000000CC + X"00000000", -- 000000D0 + X"00000000", -- 000000D4 + X"00000000", -- 000000D8 + X"00000000", -- 000000DC + X"00000000", -- 000000E0 + X"00000000", -- 000000E4 + X"00000000", -- 000000E8 + X"00000000", -- 000000EC + X"00000000", -- 000000F0 + X"00000000", -- 000000F4 + X"00000000", -- 000000F8 + X"00000000", -- 000000FC + X"00000000", -- 00000100 + X"00000000", -- 00000104 + X"00000000", -- 00000108 + X"00000000", -- 0000010C + X"00000000", -- 00000110 + X"00000000", -- 00000114 + X"00000000", -- 00000118 + X"00000000", -- 0000011C + X"00000000", -- 00000120 + X"00000000", -- 00000124 + X"00000000", -- 00000128 + X"00000000", -- 0000012C + X"00000000", -- 00000130 + X"00000000", -- 00000134 + X"00000000", -- 00000138 + X"00000000", -- 0000013C + X"00000000", -- 00000140 + X"00000000", -- 00000144 + X"00000000", -- 00000148 + X"00000000", -- 0000014C + X"00000000", -- 00000150 + X"00000000", -- 00000154 + X"00000000", -- 00000158 + X"00000000", -- 0000015C + X"00000000", -- 00000160 + X"00000000", -- 00000164 + X"00000000", -- 00000168 + X"00000000", -- 0000016C + X"00000000", -- 00000170 + X"00000000", -- 00000174 + X"00000000", -- 00000178 + X"00000000", -- 0000017C + X"401A6800", -- 00000180 + X"3C1BC000", -- 00000184 + X"001AD082", -- 00000188 + X"335A000F", -- 0000018C + X"035BD025", -- 00000190 + X"3C1BAC00", -- 00000194 + X"277B0000", -- 00000198 + X"AF7A0000", -- 0000019C + X"401A6800", -- 000001A0 + X"00000000", -- 000001A4 + X"001AD202", -- 000001A8 + X"335A00FF", -- 000001AC + X"1740FFFB", -- 000001B0 + X"00000000", -- 000001B4 + X"401A7000", -- 000001B8 + X"00000000", -- 000001BC + X"03400008", -- 000001C0 + X"42000010", -- 000001C4 + X"40026000", -- 000001C8 + X"03E00008", -- 000001CC + X"00000000", -- 000001D0 + X"40846000", -- 000001D4 + X"03E00008", -- 000001D8 + X"00000000", -- 000001DC + X"40026800", -- 000001E0 + X"03E00008", -- 000001E4 + X"00000000", -- 000001E8 + X"40846800", -- 000001EC + X"03E00008", -- 000001F0 + X"00000000", -- 000001F4 + X"40027800", -- 000001F8 + X"03E00008", -- 000001FC + X"00000000", -- 00000200 + X"3C02AC01", -- 00000204 + X"34430004", -- 00000208 + X"8C620000", -- 0000020C + X"00000000", -- 00000210 + X"30420010", -- 00000214 + X"1040FFFC", -- 00000218 + X"3C02AC01", -- 0000021C + X"8C420000", -- 00000220 + X"00000000", -- 00000224 + X"00021600", -- 00000228 + X"03E00008", -- 0000022C + X"00021603", -- 00000230 + X"00042600", -- 00000234 + X"3C02AC01", -- 00000238 + X"00042603", -- 0000023C + X"34430004", -- 00000240 + X"8C620000", -- 00000244 + X"00000000", -- 00000248 + X"30420002", -- 0000024C + X"1440FFFC", -- 00000250 + X"3C02AC01", -- 00000254 + X"AC440000", -- 00000258 + X"03E00008", -- 0000025C + X"00000000", -- 00000260 + X"00042600", -- 00000264 + X"00042603", -- 00000268 + X"2402000A", -- 0000026C + X"1482000A", -- 00000270 + X"3C02AC01", -- 00000274 + X"34430004", -- 00000278 + X"8C620000", -- 0000027C + X"00000000", -- 00000280 + X"30420002", -- 00000284 + X"1440FFFC", -- 00000288 + X"3C02AC01", -- 0000028C + X"2403000D", -- 00000290 + X"AC430000", -- 00000294 + X"3C02AC01", -- 00000298 + X"34430004", -- 0000029C + X"8C620000", -- 000002A0 + X"00000000", -- 000002A4 + X"30420002", -- 000002A8 + X"1440FFFC", -- 000002AC + X"3C02AC01", -- 000002B0 + X"AC440000", -- 000002B4 + X"03E00008", -- 000002B8 + X"00000000", -- 000002BC + X"3C02AC01", -- 000002C0 + X"34470004", -- 000002C4 + X"00802821", -- 000002C8 + X"2409000A", -- 000002CC + X"3C06AC01", -- 000002D0 + X"0BF000C6", -- 000002D4 + X"2408000D", -- 000002D8 + X"14690007", -- 000002DC + X"00000000", -- 000002E0 + X"8CE20000", -- 000002E4 + X"00000000", -- 000002E8 + X"30420002", -- 000002EC + X"1440FFFC", -- 000002F0 + X"00000000", -- 000002F4 + X"ACC80000", -- 000002F8 + X"8CE20000", -- 000002FC + X"00000000", -- 00000300 + X"30420002", -- 00000304 + X"1440FFFC", -- 00000308 + X"00000000", -- 0000030C + X"ACC30000", -- 00000310 + X"24A50001", -- 00000314 + X"80A30000", -- 00000318 + X"00000000", -- 0000031C + X"1460FFEE", -- 00000320 + X"00A41023", -- 00000324 + X"03E00008", -- 00000328 + X"00000000", -- 0000032C + X"00042600", -- 00000330 + X"3C02AC01", -- 00000334 + X"00042603", -- 00000338 + X"344A0004", -- 0000033C + X"00003821", -- 00000340 + X"3C09AC01", -- 00000344 + X"24080002", -- 00000348 + X"308200FF", -- 0000034C + X"00022902", -- 00000350 + X"00041100", -- 00000354 + X"00022600", -- 00000358 + X"2CA3000A", -- 0000035C + X"00042603", -- 00000360 + X"14600002", -- 00000364 + X"24A60030", -- 00000368 + X"24A60037", -- 0000036C + X"8D420000", -- 00000370 + X"00000000", -- 00000374 + X"30420002", -- 00000378 + X"1440FFFC", -- 0000037C + X"00061600", -- 00000380 + X"00021603", -- 00000384 + X"24E70001", -- 00000388 + X"AD220000", -- 0000038C + X"14E8FFEF", -- 00000390 + X"308200FF", -- 00000394 + X"03E00008", -- 00000398 + X"00000000", -- 0000039C + X"27BDFFE0", -- 000003A0 + X"AFB20018", -- 000003A4 + X"AFB10014", -- 000003A8 + X"AFB00010", -- 000003AC + X"AFBF001C", -- 000003B0 + X"00808821", -- 000003B4 + X"00008021", -- 000003B8 + X"24120004", -- 000003BC + X"00112603", -- 000003C0 + X"0FF000CC", -- 000003C4 + X"26100001", -- 000003C8 + X"1612FFFC", -- 000003CC + X"00118A00", -- 000003D0 + X"8FBF001C", -- 000003D4 + X"8FB20018", -- 000003D8 + X"8FB10014", -- 000003DC + X"8FB00010", -- 000003E0 + X"03E00008", -- 000003E4 + X"27BD0020", -- 000003E8 + X"27BDFFC8", -- 000003EC + X"AFB60028", -- 000003F0 + X"AFBF0034", -- 000003F4 + X"AFBE0030", -- 000003F8 + X"AFB7002C", -- 000003FC + X"AFB50024", -- 00000400 + X"AFB40020", -- 00000404 + X"AFB3001C", -- 00000408 + X"AFB20018", -- 0000040C + X"AFB10014", -- 00000410 + X"AFB00010", -- 00000414 + X"00801021", -- 00000418 + X"10A00002", -- 0000041C + X"00C0B021", -- 00000420 + X"00002021", -- 00000424 + X"00409821", -- 00000428 + X"3C02AC01", -- 0000042C + X"00E09021", -- 00000430 + X"0080A821", -- 00000434 + X"345E0004", -- 00000438 + X"00E0A021", -- 0000043C + X"3C17AC01", -- 00000440 + X"0FF000E8", -- 00000444 + X"02A02021", -- 00000448 + X"3C049FC0", -- 0000044C + X"0FF000B0", -- 00000450 + X"248416A0", -- 00000454 + X"02608821", -- 00000458 + X"0BF00128", -- 0000045C + X"00008021", -- 00000460 + X"12400009", -- 00000464 + X"00000000", -- 00000468 + X"82240000", -- 0000046C + X"0FF000CC", -- 00000470 + X"2652FFFF", -- 00000474 + X"3C049FC0", -- 00000478 + X"0FF000B0", -- 0000047C + X"24841778", -- 00000480 + X"0BF00128", -- 00000484 + X"26310001", -- 00000488 + X"3C049FC0", -- 0000048C + X"0FF000B0", -- 00000490 + X"248416A4", -- 00000494 + X"0BF0012C", -- 00000498 + X"3C049FC0", -- 0000049C + X"0216102A", -- 000004A0 + X"1440FFEF", -- 000004A4 + X"26100001", -- 000004A8 + X"3C049FC0", -- 000004AC + X"0FF000B0", -- 000004B0 + X"248416A4", -- 000004B4 + X"02602821", -- 000004B8 + X"0BF00155", -- 000004BC + X"00002021", -- 000004C0 + X"1280001E", -- 000004C4 + X"00000000", -- 000004C8 + X"90A30000", -- 000004CC + X"00000000", -- 000004D0 + X"2462FFE0", -- 000004D4 + X"304200FF", -- 000004D8 + X"2C420060", -- 000004DC + X"14400003", -- 000004E0 + X"00031E00", -- 000004E4 + X"2403002E", -- 000004E8 + X"00031E00", -- 000004EC + X"00031E03", -- 000004F0 + X"2402000A", -- 000004F4 + X"14620007", -- 000004F8 + X"00000000", -- 000004FC + X"8FC20000", -- 00000500 + X"00000000", -- 00000504 + X"30420002", -- 00000508 + X"1440FFFC", -- 0000050C + X"2402000D", -- 00000510 + X"AEE20000", -- 00000514 + X"8FC20000", -- 00000518 + X"00000000", -- 0000051C + X"30420002", -- 00000520 + X"1440FFFC", -- 00000524 + X"00000000", -- 00000528 + X"AEE30000", -- 0000052C + X"2694FFFF", -- 00000530 + X"24840001", -- 00000534 + X"0BF00155", -- 00000538 + X"24A50001", -- 0000053C + X"3C049FC0", -- 00000540 + X"0FF000B0", -- 00000544 + X"24841778", -- 00000548 + X"0BF00159", -- 0000054C + X"3C049FC0", -- 00000550 + X"0096102A", -- 00000554 + X"1440FFDA", -- 00000558 + X"00000000", -- 0000055C + X"3C049FC0", -- 00000560 + X"0FF000B0", -- 00000564 + X"248416CC", -- 00000568 + X"02B6A821", -- 0000056C + X"1640FFB4", -- 00000570 + X"02769821", -- 00000574 + X"8FBF0034", -- 00000578 + X"8FBE0030", -- 0000057C + X"8FB7002C", -- 00000580 + X"8FB60028", -- 00000584 + X"8FB50024", -- 00000588 + X"8FB40020", -- 0000058C + X"8FB3001C", -- 00000590 + X"8FB20018", -- 00000594 + X"8FB10014", -- 00000598 + X"8FB00010", -- 0000059C + X"03E00008", -- 000005A0 + X"27BD0038", -- 000005A4 + X"00C03821", -- 000005A8 + X"00A03021", -- 000005AC + X"0BF000FB", -- 000005B0 + X"24050001", -- 000005B4 + X"8C840000", -- 000005B8 + X"3C020070", -- 000005BC + X"34420070", -- 000005C0 + X"3C0300FF", -- 000005C4 + X"AC820000", -- 000005C8 + X"346300FF", -- 000005CC + X"8C820000", -- 000005D0 + X"AC830000", -- 000005D4 + X"03E00008", -- 000005D8 + X"00000000", -- 000005DC + X"27BDFFF8", -- 000005E0 + X"AC850000", -- 000005E4 + X"24820008", -- 000005E8 + X"0BF0017F", -- 000005EC + X"24830020", -- 000005F0 + X"A0400000", -- 000005F4 + X"24420001", -- 000005F8 + X"1443FFFD", -- 000005FC + X"00000000", -- 00000600 + X"24020001", -- 00000604 + X"AC820004", -- 00000608 + X"03E00008", -- 0000060C + X"27BD0008", -- 00000610 + X"8C870000", -- 00000614 + X"3C020098", -- 00000618 + X"34420098", -- 0000061C + X"ACE20000", -- 00000620 + X"3C0200FF", -- 00000624 + X"344200FF", -- 00000628 + X"ACE20000", -- 0000062C + X"3C020090", -- 00000630 + X"34420090", -- 00000634 + X"ACE20000", -- 00000638 + X"00804021", -- 0000063C + X"94E4009C", -- 00000640 + X"24030002", -- 00000644 + X"24020020", -- 00000648 + X"AD030008", -- 0000064C + X"AD03001C", -- 00000650 + X"AD020018", -- 00000654 + X"3084FFFF", -- 00000658 + X"0BF0019D", -- 0000065C + X"00001821", -- 00000660 + X"8D020008", -- 00000664 + X"00000000", -- 00000668 + X"00021040", -- 0000066C + X"AD020008", -- 00000670 + X"0064102B", -- 00000674 + X"1440FFFA", -- 00000678 + X"24630001", -- 0000067C + X"94E200AC", -- 00000680 + X"94E300A8", -- 00000684 + X"3042FFFF", -- 00000688 + X"8D04001C", -- 0000068C + X"3063FFFF", -- 00000690 + X"00021200", -- 00000694 + X"00432825", -- 00000698 + X"AD040014", -- 0000069C + X"0BF001AE", -- 000006A0 + X"00001821", -- 000006A4 + X"8D020014", -- 000006A8 + X"00000000", -- 000006AC + X"00021040", -- 000006B0 + X"AD020014", -- 000006B4 + X"0065102B", -- 000006B8 + X"1440FFFA", -- 000006BC + X"24630001", -- 000006C0 + X"94E300B8", -- 000006C4 + X"94E600B4", -- 000006C8 + X"94E200C0", -- 000006CC + X"94E400BC", -- 000006D0 + X"8D05001C", -- 000006D4 + X"3042FFFF", -- 000006D8 + X"3084FFFF", -- 000006DC + X"00021200", -- 000006E0 + X"00441025", -- 000006E4 + X"00052A00", -- 000006E8 + X"00A20018", -- 000006EC + X"3063FFFF", -- 000006F0 + X"30C6FFFF", -- 000006F4 + X"00031A00", -- 000006F8 + X"00661825", -- 000006FC + X"24630001", -- 00000700 + X"AD030010", -- 00000704 + X"3C0300FF", -- 00000708 + X"346300FF", -- 0000070C + X"00001021", -- 00000710 + X"00002812", -- 00000714 + X"AD05000C", -- 00000718 + X"ACE30000", -- 0000071C + X"03E00008", -- 00000720 + X"00000000", -- 00000724 + X"8C820008", -- 00000728 + X"8C860000", -- 0000072C + X"00021082", -- 00000730 + X"00A2102B", -- 00000734 + X"14400004", -- 00000738 + X"3C030090", -- 0000073C + X"3C028010", -- 00000740 + X"03E00008", -- 00000744 + X"34420002", -- 00000748 + X"8C820010", -- 0000074C + X"00000000", -- 00000750 + X"2442FFFF", -- 00000754 + X"00021400", -- 00000758 + X"00A21024", -- 0000075C + X"24420002", -- 00000760 + X"34630090", -- 00000764 + X"00021080", -- 00000768 + X"ACC30000", -- 0000076C + X"00C21021", -- 00000770 + X"8C430000", -- 00000774 + X"3C020001", -- 00000778 + X"34420001", -- 0000077C + X"00621824", -- 00000780 + X"3C0200FF", -- 00000784 + X"344200FF", -- 00000788 + X"ACC20000", -- 0000078C + X"03E00008", -- 00000790 + X"0003102B", -- 00000794 + X"8C820008", -- 00000798 + X"00A01821", -- 0000079C + X"00021082", -- 000007A0 + X"00A2102B", -- 000007A4 + X"8C850000", -- 000007A8 + X"14400003", -- 000007AC + X"3C028010", -- 000007B0 + X"0BF0020C", -- 000007B4 + X"34430002", -- 000007B8 + X"8C820010", -- 000007BC + X"00000000", -- 000007C0 + X"2442FFFF", -- 000007C4 + X"00021400", -- 000007C8 + X"00621024", -- 000007CC + X"00021080", -- 000007D0 + X"00A22021", -- 000007D4 + X"3C020020", -- 000007D8 + X"34420020", -- 000007DC + X"AC820000", -- 000007E0 + X"3C0200D0", -- 000007E4 + X"344200D0", -- 000007E8 + X"AC820000", -- 000007EC + X"3C020080", -- 000007F0 + X"34430080", -- 000007F4 + X"8C860000", -- 000007F8 + X"00000000", -- 000007FC + X"00C31024", -- 00000800 + X"1443FFFC", -- 00000804 + X"3C02002A", -- 00000808 + X"3442002A", -- 0000080C + X"00C21024", -- 00000810 + X"10400003", -- 00000814 + X"00001821", -- 00000818 + X"3C029010", -- 0000081C + X"00C21825", -- 00000820 + X"3C0200FF", -- 00000824 + X"344200FF", -- 00000828 + X"AC820000", -- 0000082C + X"03E00008", -- 00000830 + X"00601021", -- 00000834 + X"8C820008", -- 00000838 + X"00A01821", -- 0000083C + X"00021082", -- 00000840 + X"00A2102B", -- 00000844 + X"8C850000", -- 00000848 + X"14400003", -- 0000084C + X"3C028010", -- 00000850 + X"0BF00234", -- 00000854 + X"34430002", -- 00000858 + X"8C820010", -- 0000085C + X"00000000", -- 00000860 + X"2442FFFF", -- 00000864 + X"00021400", -- 00000868 + X"00621024", -- 0000086C + X"00021080", -- 00000870 + X"00A22021", -- 00000874 + X"3C020060", -- 00000878 + X"34420060", -- 0000087C + X"AC820000", -- 00000880 + X"3C020001", -- 00000884 + X"34420001", -- 00000888 + X"AC820000", -- 0000088C + X"3C020080", -- 00000890 + X"34430080", -- 00000894 + X"8C860000", -- 00000898 + X"00000000", -- 0000089C + X"00C31024", -- 000008A0 + X"1443FFFC", -- 000008A4 + X"3C020038", -- 000008A8 + X"34420038", -- 000008AC + X"00C21024", -- 000008B0 + X"10400003", -- 000008B4 + X"00001821", -- 000008B8 + X"3C029010", -- 000008BC + X"00C21825", -- 000008C0 + X"3C0200FF", -- 000008C4 + X"344200FF", -- 000008C8 + X"AC820000", -- 000008CC + X"03E00008", -- 000008D0 + X"00601021", -- 000008D4 + X"8C820008", -- 000008D8 + X"00A01821", -- 000008DC + X"00021082", -- 000008E0 + X"00A2102B", -- 000008E4 + X"8C850000", -- 000008E8 + X"14400003", -- 000008EC + X"3C028010", -- 000008F0 + X"0BF0025C", -- 000008F4 + X"34430002", -- 000008F8 + X"8C820010", -- 000008FC + X"00000000", -- 00000900 + X"2442FFFF", -- 00000904 + X"00021400", -- 00000908 + X"00621024", -- 0000090C + X"00021080", -- 00000910 + X"00A22021", -- 00000914 + X"3C020060", -- 00000918 + X"34420060", -- 0000091C + X"AC820000", -- 00000920 + X"3C0200D0", -- 00000924 + X"344200D0", -- 00000928 + X"AC820000", -- 0000092C + X"3C020080", -- 00000930 + X"34430080", -- 00000934 + X"8C860000", -- 00000938 + X"00000000", -- 0000093C + X"00C31024", -- 00000940 + X"1443FFFC", -- 00000944 + X"3C020038", -- 00000948 + X"34420038", -- 0000094C + X"00C21024", -- 00000950 + X"10400003", -- 00000954 + X"00001821", -- 00000958 + X"3C029010", -- 0000095C + X"00C21825", -- 00000960 + X"3C0200FF", -- 00000964 + X"344200FF", -- 00000968 + X"AC820000", -- 0000096C + X"03E00008", -- 00000970 + X"00601021", -- 00000974 + X"8C820008", -- 00000978 + X"8C840000", -- 0000097C + X"00021082", -- 00000980 + X"00A2102B", -- 00000984 + X"14400003", -- 00000988 + X"3C028010", -- 0000098C + X"0BF0027C", -- 00000990 + X"34430002", -- 00000994 + X"00051080", -- 00000998 + X"00822021", -- 0000099C + X"3C020040", -- 000009A0 + X"34420040", -- 000009A4 + X"AC820000", -- 000009A8 + X"3C020080", -- 000009AC + X"AC860000", -- 000009B0 + X"34430080", -- 000009B4 + X"8C860000", -- 000009B8 + X"00000000", -- 000009BC + X"00C31024", -- 000009C0 + X"1443FFFC", -- 000009C4 + X"3C02001A", -- 000009C8 + X"3442001A", -- 000009CC + X"00C21024", -- 000009D0 + X"10400003", -- 000009D4 + X"00001821", -- 000009D8 + X"3C029010", -- 000009DC + X"00C21825", -- 000009E0 + X"3C0200FF", -- 000009E4 + X"344200FF", -- 000009E8 + X"AC820000", -- 000009EC + X"03E00008", -- 000009F0 + X"00601021", -- 000009F4 + X"8C820008", -- 000009F8 + X"27BDFFE8", -- 000009FC + X"00021082", -- 00000A00 + X"00A2102B", -- 00000A04 + X"AFB40014", -- 00000A08 + X"AFB30010", -- 00000A0C + X"AFB2000C", -- 00000A10 + X"AFB10008", -- 00000A14 + X"AFB00004", -- 00000A18 + X"0080C021", -- 00000A1C + X"8C8E0000", -- 00000A20 + X"14400004", -- 00000A24 + X"00C0A021", -- 00000A28 + X"3C028010", -- 00000A2C + X"0BF002E3", -- 00000A30 + X"34440002", -- 00000A34 + X"8C820010", -- 00000A38 + X"00006821", -- 00000A3C + X"2442FFFF", -- 00000A40 + X"0002CC00", -- 00000A44 + X"3C0200E8", -- 00000A48 + X"345300E8", -- 00000A4C + X"3C020080", -- 00000A50 + X"344F0080", -- 00000A54 + X"3C02001A", -- 00000A58 + X"3446001A", -- 00000A5C + X"3C0200D0", -- 00000A60 + X"345200D0", -- 00000A64 + X"3C0200FF", -- 00000A68 + X"345100FF", -- 00000A6C + X"0BF002E1", -- 00000A70 + X"3C100001", -- 00000A74 + X"01851023", -- 00000A78 + X"00505021", -- 00000A7C + X"00EA102B", -- 00000A80 + X"10400002", -- 00000A84 + X"000C1080", -- 00000A88 + X"00E05021", -- 00000A8C + X"0BF002D7", -- 00000A90 + X"01C25821", -- 00000A94 + X"AD730000", -- 00000A98 + X"8D630000", -- 00000A9C + X"00000000", -- 00000AA0 + X"006F1024", -- 00000AA4 + X"144FFFFC", -- 00000AA8 + X"00661024", -- 00000AAC + X"14400026", -- 00000AB0 + X"3C029010", -- 00000AB4 + X"8F020014", -- 00000AB8 + X"00000000", -- 00000ABC + X"00021882", -- 00000AC0 + X"006A102B", -- 00000AC4 + X"10400002", -- 00000AC8 + X"01404021", -- 00000ACC + X"00604021", -- 00000AD0 + X"2503FFFF", -- 00000AD4 + X"00031400", -- 00000AD8 + X"00431025", -- 00000ADC + X"00052080", -- 00000AE0 + X"000D1880", -- 00000AE4 + X"02834821", -- 00000AE8 + X"AD620000", -- 00000AEC + X"01C42021", -- 00000AF0 + X"0BF002C3", -- 00000AF4 + X"00001821", -- 00000AF8 + X"8D220000", -- 00000AFC + X"25290004", -- 00000B00 + X"AC820000", -- 00000B04 + X"24840004", -- 00000B08 + X"0068102B", -- 00000B0C + X"1440FFFA", -- 00000B10 + X"24630001", -- 00000B14 + X"01A86821", -- 00000B18 + X"00A82821", -- 00000B1C + X"00E83823", -- 00000B20 + X"AD720000", -- 00000B24 + X"8D630000", -- 00000B28 + X"00000000", -- 00000B2C + X"006F1024", -- 00000B30 + X"144FFFFC", -- 00000B34 + X"00661024", -- 00000B38 + X"10400005", -- 00000B3C + X"01485023", -- 00000B40 + X"01485021", -- 00000B44 + X"3C029010", -- 00000B48 + X"0BF002D9", -- 00000B4C + X"00622025", -- 00000B50 + X"AD710000", -- 00000B54 + X"00002021", -- 00000B58 + X"1540FFCE", -- 00000B5C + X"00000000", -- 00000B60 + X"04810007", -- 00000B64 + X"000C1880", -- 00000B68 + X"3C0200FF", -- 00000B6C + X"01C31821", -- 00000B70 + X"344200FF", -- 00000B74 + X"AC620000", -- 00000B78 + X"0BF002E4", -- 00000B7C + X"00801021", -- 00000B80 + X"14E0FFBC", -- 00000B84 + X"00B96024", -- 00000B88 + X"00801021", -- 00000B8C + X"8FB40014", -- 00000B90 + X"8FB30010", -- 00000B94 + X"8FB2000C", -- 00000B98 + X"8FB10008", -- 00000B9C + X"8FB00004", -- 00000BA0 + X"03E00008", -- 00000BA4 + X"27BD0018", -- 00000BA8 + X"27BDFFE0", -- 00000BAC + X"AFBF001C", -- 00000BB0 + X"AC850000", -- 00000BB4 + X"24820008", -- 00000BB8 + X"0BF002F3", -- 00000BBC + X"24830020", -- 00000BC0 + X"A0400000", -- 00000BC4 + X"24420001", -- 00000BC8 + X"1443FFFD", -- 00000BCC + X"00000000", -- 00000BD0 + X"3C021234", -- 00000BD4 + X"34425678", -- 00000BD8 + X"00021E02", -- 00000BDC + X"AFA20010", -- 00000BE0 + X"24020012", -- 00000BE4 + X"14620003", -- 00000BE8 + X"AC800004", -- 00000BEC + X"24020001", -- 00000BF0 + X"AC820004", -- 00000BF4 + X"0FF00185", -- 00000BF8 + X"00000000", -- 00000BFC + X"8FBF001C", -- 00000C00 + X"00000000", -- 00000C04 + X"03E00008", -- 00000C08 + X"27BD0020", -- 00000C0C + X"27BDFFD8", -- 00000C10 + X"30C20003", -- 00000C14 + X"AFB2001C", -- 00000C18 + X"AFBF0024", -- 00000C1C + X"AFB30020", -- 00000C20 + X"AFB10018", -- 00000C24 + X"AFB00014", -- 00000C28 + X"10400004", -- 00000C2C + X"00809021", -- 00000C30 + X"00061082", -- 00000C34 + X"24420001", -- 00000C38 + X"00023080", -- 00000C3C + X"00C59821", -- 00000C40 + X"0BF00324", -- 00000C44 + X"00A08821", -- 00000C48 + X"0FF001CA", -- 00000C4C + X"00000000", -- 00000C50 + X"02402021", -- 00000C54 + X"10400005", -- 00000C58 + X"02002821", -- 00000C5C + X"0FF00236", -- 00000C60 + X"00000000", -- 00000C64 + X"04400011", -- 00000C68 + X"00401821", -- 00000C6C + X"02002821", -- 00000C70 + X"0FF001E6", -- 00000C74 + X"02402021", -- 00000C78 + X"0440000C", -- 00000C7C + X"00401821", -- 00000C80 + X"8E42000C", -- 00000C84 + X"00000000", -- 00000C88 + X"02228821", -- 00000C8C + X"001117C3", -- 00000C90 + X"00021782", -- 00000C94 + X"00511021", -- 00000C98 + X"00028083", -- 00000C9C + X"0233102B", -- 00000CA0 + X"02402021", -- 00000CA4 + X"1440FFE8", -- 00000CA8 + X"02002821", -- 00000CAC + X"8FBF0024", -- 00000CB0 + X"00601021", -- 00000CB4 + X"8FB30020", -- 00000CB8 + X"8FB2001C", -- 00000CBC + X"8FB10018", -- 00000CC0 + X"8FB00014", -- 00000CC4 + X"03E00008", -- 00000CC8 + X"27BD0028", -- 00000CCC + X"30E20003", -- 00000CD0 + X"10400003", -- 00000CD4 + X"00071082", -- 00000CD8 + X"24420001", -- 00000CDC + X"00023880", -- 00000CE0 + X"00052882", -- 00000CE4 + X"0BF0027E", -- 00000CE8 + X"00073882", -- 00000CEC + X"8C820000", -- 00000CF0 + X"00002021", -- 00000CF4 + X"0BF00347", -- 00000CF8 + X"00454021", -- 00000CFC + X"90630000", -- 00000D00 + X"90A20000", -- 00000D04 + X"00000000", -- 00000D08 + X"10620003", -- 00000D0C + X"3C028010", -- 00000D10 + X"03E00008", -- 00000D14 + X"34420003", -- 00000D18 + X"0087102B", -- 00000D1C + X"01041821", -- 00000D20 + X"00C42821", -- 00000D24 + X"1440FFF5", -- 00000D28 + X"24840001", -- 00000D2C + X"03E00008", -- 00000D30 + X"00000000", -- 00000D34 + X"8C82000C", -- 00000D38 + X"00000000", -- 00000D3C + X"14400002", -- 00000D40 + X"00A2001B", -- 00000D44 + X"0007000D", -- 00000D48 + X"00001010", -- 00000D4C + X"0002102B", -- 00000D50 + X"00002812", -- 00000D54 + X"03E00008", -- 00000D58 + X"00A21021", -- 00000D5C + X"8C830010", -- 00000D60 + X"00000000", -- 00000D64 + X"00A3102B", -- 00000D68 + X"14400002", -- 00000D6C + X"00000000", -- 00000D70 + X"2465FFFF", -- 00000D74 + X"8C82000C", -- 00000D78 + X"00000000", -- 00000D7C + X"00A20018", -- 00000D80 + X"00001012", -- 00000D84 + X"03E00008", -- 00000D88 + X"00000000", -- 00000D8C + X"27BDFFE8", -- 00000D90 + X"AFBF0014", -- 00000D94 + X"AFB00010", -- 00000D98 + X"0FF0034E", -- 00000D9C + X"00808021", -- 00000DA0 + X"8E03000C", -- 00000DA4 + X"8FBF0014", -- 00000DA8 + X"00430018", -- 00000DAC + X"8FB00010", -- 00000DB0 + X"00001012", -- 00000DB4 + X"03E00008", -- 00000DB8 + X"27BD0018", -- 00000DBC + X"90830000", -- 00000DC0 + X"00000000", -- 00000DC4 + X"2C620041", -- 00000DC8 + X"14400002", -- 00000DCC + X"2462FFD0", -- 00000DD0 + X"2462FFC9", -- 00000DD4 + X"90840001", -- 00000DD8 + X"304200FF", -- 00000DDC + X"304300FF", -- 00000DE0 + X"2C820041", -- 00000DE4 + X"14400003", -- 00000DE8 + X"00000000", -- 00000DEC + X"0BF0037F", -- 00000DF0 + X"2482FFC9", -- 00000DF4 + X"2482FFD0", -- 00000DF8 + X"304400FF", -- 00000DFC + X"00031100", -- 00000E00 + X"00821025", -- 00000E04 + X"03E00008", -- 00000E08 + X"304200FF", -- 00000E0C + X"10C00094", -- 00000E10 + X"00805021", -- 00000E14 + X"24020003", -- 00000E18 + X"AC820008", -- 00000E1C + X"90A40001", -- 00000E20 + X"00000000", -- 00000E24 + X"2482FFCF", -- 00000E28 + X"304200FF", -- 00000E2C + X"2C420003", -- 00000E30 + X"10400005", -- 00000E34 + X"2482FFC9", -- 00000E38 + X"24020002", -- 00000E3C + X"AD420008", -- 00000E40 + X"0BF003A1", -- 00000E44 + X"2489FFD1", -- 00000E48 + X"304200FF", -- 00000E4C + X"2C420003", -- 00000E50 + X"10400006", -- 00000E54 + X"24020030", -- 00000E58 + X"2402003B", -- 00000E5C + X"00444823", -- 00000E60 + X"24020004", -- 00000E64 + X"0BF003A1", -- 00000E68 + X"AD420008", -- 00000E6C + X"14820004", -- 00000E70 + X"00004821", -- 00000E74 + X"24020001", -- 00000E78 + X"AD420008", -- 00000E7C + X"24090002", -- 00000E80 + X"90A30002", -- 00000E84 + X"00000000", -- 00000E88 + X"2C620041", -- 00000E8C + X"10400003", -- 00000E90 + X"24A40002", -- 00000E94 + X"0BF003A9", -- 00000E98 + X"2462FFD0", -- 00000E9C + X"2462FFC9", -- 00000EA0 + X"90830001", -- 00000EA4 + X"304200FF", -- 00000EA8 + X"304400FF", -- 00000EAC + X"2C620041", -- 00000EB0 + X"10400002", -- 00000EB4 + X"2462FFC9", -- 00000EB8 + X"2462FFD0", -- 00000EBC + X"304300FF", -- 00000EC0 + X"00041100", -- 00000EC4 + X"00621025", -- 00000EC8 + X"304200FF", -- 00000ECC + X"AD420004", -- 00000ED0 + X"AD400000", -- 00000ED4 + X"00405821", -- 00000ED8 + X"00A03021", -- 00000EDC + X"0BF003D5", -- 00000EE0 + X"00003821", -- 00000EE4 + X"90C20004", -- 00000EE8 + X"00000000", -- 00000EEC + X"2443FFC9", -- 00000EF0 + X"2444FFD0", -- 00000EF4 + X"2C420041", -- 00000EF8 + X"10400002", -- 00000EFC + X"306300FF", -- 00000F00 + X"308300FF", -- 00000F04 + X"90C20005", -- 00000F08 + X"306800FF", -- 00000F0C + X"2444FFC9", -- 00000F10 + X"2443FFD0", -- 00000F14 + X"2C420041", -- 00000F18 + X"10400002", -- 00000F1C + X"308400FF", -- 00000F20 + X"306400FF", -- 00000F24 + X"8D430000", -- 00000F28 + X"00081100", -- 00000F2C + X"00821025", -- 00000F30 + X"304200FF", -- 00000F34 + X"00031A00", -- 00000F38 + X"004B2021", -- 00000F3C + X"00431025", -- 00000F40 + X"AD420000", -- 00000F44 + X"308B00FF", -- 00000F48 + X"24E70001", -- 00000F4C + X"24C60002", -- 00000F50 + X"00E9102A", -- 00000F54 + X"1440FFE3", -- 00000F58 + X"25220002", -- 00000F5C + X"8D440004", -- 00000F60 + X"00021040", -- 00000F64 + X"00091827", -- 00000F68 + X"00832021", -- 00000F6C + X"00A21021", -- 00000F70 + X"AD440004", -- 00000F74 + X"AD42000C", -- 00000F78 + X"0BF003F9", -- 00000F7C + X"00003021", -- 00000F80 + X"90E20000", -- 00000F84 + X"00000000", -- 00000F88 + X"2444FFC9", -- 00000F8C + X"2445FFD0", -- 00000F90 + X"2C420041", -- 00000F94 + X"10400002", -- 00000F98 + X"308400FF", -- 00000F9C + X"30A400FF", -- 00000FA0 + X"90E20001", -- 00000FA4 + X"308700FF", -- 00000FA8 + X"2445FFC9", -- 00000FAC + X"2444FFD0", -- 00000FB0 + X"2C420041", -- 00000FB4 + X"14400002", -- 00000FB8 + X"308400FF", -- 00000FBC + X"30A400FF", -- 00000FC0 + X"00071100", -- 00000FC4 + X"00821025", -- 00000FC8 + X"304200FF", -- 00000FCC + X"00661821", -- 00000FD0 + X"004B2021", -- 00000FD4 + X"A0620000", -- 00000FD8 + X"308B00FF", -- 00000FDC + X"24C60001", -- 00000FE0 + X"8D420004", -- 00000FE4 + X"8D43000C", -- 00000FE8 + X"00062040", -- 00000FEC + X"00C2102A", -- 00000FF0 + X"1440FFE3", -- 00000FF4 + X"00643821", -- 00000FF8 + X"90E40000", -- 00000FFC + X"00000000", -- 00001000 + X"2C820041", -- 00001004 + X"10400003", -- 00001008 + X"00E01821", -- 0000100C + X"0BF00407", -- 00001010 + X"2482FFD0", -- 00001014 + X"2482FFC9", -- 00001018 + X"90630001", -- 0000101C + X"304200FF", -- 00001020 + X"304400FF", -- 00001024 + X"2C620041", -- 00001028 + X"10400002", -- 0000102C + X"2462FFC9", -- 00001030 + X"2462FFD0", -- 00001034 + X"304200FF", -- 00001038 + X"00041900", -- 0000103C + X"00431825", -- 00001040 + X"000B1027", -- 00001044 + X"304200FF", -- 00001048 + X"306300FF", -- 0000104C + X"14430004", -- 00001050 + X"00000000", -- 00001054 + X"8D420008", -- 00001058 + X"03E00008", -- 0000105C + X"00000000", -- 00001060 + X"03E00008", -- 00001064 + X"00001021", -- 00001068 + X"00800008", -- 0000106C + X"00000000", -- 00001070 + X"03E00008", -- 00001074 + X"00000000", -- 00001078 + X"3C1A1000", -- 0000107C + X"375A000A", -- 00001080 + X"409A6000", -- 00001084 + X"00800008", -- 00001088 + X"42000010", -- 0000108C + X"03E00008", -- 00001090 + X"00000000", -- 00001094 + X"401A6000", -- 00001098 + X"3C1BFFBF", -- 0000109C + X"377BFFFF", -- 000010A0 + X"035BD024", -- 000010A4 + X"3C1B0200", -- 000010A8 + X"035BD025", -- 000010AC + X"409A6000", -- 000010B0 + X"00800008", -- 000010B4 + X"42000010", -- 000010B8 + X"03E00008", -- 000010BC + X"00000000", -- 000010C0 + X"27BDFFD8", -- 000010C4 + X"AFB30020", -- 000010C8 + X"AFB10018", -- 000010CC + X"AFB00014", -- 000010D0 + X"AFBF0024", -- 000010D4 + X"AFB2001C", -- 000010D8 + X"00809821", -- 000010DC + X"24110073", -- 000010E0 + X"24100053", -- 000010E4 + X"0FF00081", -- 000010E8 + X"00000000", -- 000010EC + X"14510005", -- 000010F0 + X"00000000", -- 000010F4 + X"00008021", -- 000010F8 + X"2412000A", -- 000010FC + X"0BF0044A", -- 00001100 + X"2411000D", -- 00001104 + X"1450FFF7", -- 00001108 + X"00000000", -- 0000110C + X"0BF0043F", -- 00001110 + X"00008021", -- 00001114 + X"0FF00081", -- 00001118 + X"A0620000", -- 0000111C + X"10510003", -- 00001120 + X"26100001", -- 00001124 + X"1452FFFB", -- 00001128 + X"02701821", -- 0000112C + X"8FBF0024", -- 00001130 + X"02001021", -- 00001134 + X"8FB30020", -- 00001138 + X"8FB2001C", -- 0000113C + X"8FB10018", -- 00001140 + X"8FB00014", -- 00001144 + X"03E00008", -- 00001148 + X"27BD0028", -- 0000114C + X"27BDFD98", -- 00001150 + X"27A40140", -- 00001154 + X"00002821", -- 00001158 + X"24060100", -- 0000115C + X"AFB20248", -- 00001160 + X"AFB10244", -- 00001164 + X"AFB00240", -- 00001168 + X"3C11AC00", -- 0000116C + X"AFBF0264", -- 00001170 + X"AFBE0260", -- 00001174 + X"AFB7025C", -- 00001178 + X"AFB60258", -- 0000117C + X"AFB50254", -- 00001180 + X"AFB40250", -- 00001184 + X"0FF0056C", -- 00001188 + X"AFB3024C", -- 0000118C + X"3C036000", -- 00001190 + X"36220004", -- 00001194 + X"3463B1FF", -- 00001198 + X"AC430000", -- 0000119C + X"3C022000", -- 000011A0 + X"27B20020", -- 000011A4 + X"34421000", -- 000011A8 + X"AE220000", -- 000011AC + X"02402021", -- 000011B0 + X"3C05A400", -- 000011B4 + X"8E300000", -- 000011B8 + X"0FF002EB", -- 000011BC + X"00000000", -- 000011C0 + X"04410004", -- 000011C4 + X"00102C02", -- 000011C8 + X"3C049FC0", -- 000011CC + X"0BF00494", -- 000011D0 + X"248416A8", -- 000011D4 + X"02402021", -- 000011D8 + X"0FF00358", -- 000011DC + X"30A5007F", -- 000011E0 + X"00409021", -- 000011E4 + X"8E220000", -- 000011E8 + X"3C030800", -- 000011EC + X"00431024", -- 000011F0 + X"14400045", -- 000011F4 + X"3C119FC0", -- 000011F8 + X"0FF000B0", -- 000011FC + X"2624175C", -- 00001200 + X"3C02A400", -- 00001204 + X"02428021", -- 00001208 + X"8E030000", -- 0000120C + X"3C023149", -- 00001210 + X"3442464A", -- 00001214 + X"10620011", -- 00001218 + X"3C024A46", -- 0000121C + X"34424931", -- 00001220 + X"1062000E", -- 00001224 + X"00000000", -- 00001228 + X"0FF000B0", -- 0000122C + X"2624175C", -- 00001230 + X"3C049FC0", -- 00001234 + X"0FF000B0", -- 00001238 + X"248416D0", -- 0000123C + X"0FF000E8", -- 00001240 + X"02402021", -- 00001244 + X"3C049FC0", -- 00001248 + X"248416E8", -- 0000124C + X"0FF000B0", -- 00001250 + X"00000000", -- 00001254 + X"0BF00560", -- 00001258 + X"24020001", -- 0000125C + X"3C049FC0", -- 00001260 + X"0FF000B0", -- 00001264 + X"248416F4", -- 00001268 + X"0FF000E8", -- 0000126C + X"02402021", -- 00001270 + X"3C049FC0", -- 00001274 + X"0FF000B0", -- 00001278 + X"24841718", -- 0000127C + X"8E02000C", -- 00001280 + X"8E110004", -- 00001284 + X"00024082", -- 00001288 + X"8E070008", -- 0000128C + X"00002021", -- 00001290 + X"0BF004AA", -- 00001294 + X"00001821", -- 00001298 + X"8CC20000", -- 0000129C + X"00000000", -- 000012A0 + X"ACA20000", -- 000012A4 + X"0088102B", -- 000012A8 + X"00673021", -- 000012AC + X"00712821", -- 000012B0 + X"24840001", -- 000012B4 + X"1440FFF8", -- 000012B8 + X"24630004", -- 000012BC + X"3C049FC0", -- 000012C0 + X"0FF000B0", -- 000012C4 + X"24841720", -- 000012C8 + X"3C049FC0", -- 000012CC + X"0FF000B0", -- 000012D0 + X"24841728", -- 000012D4 + X"8E040004", -- 000012D8 + X"0FF000E8", -- 000012DC + X"00000000", -- 000012E0 + X"3C049FC0", -- 000012E4 + X"0FF000B0", -- 000012E8 + X"2484175C", -- 000012EC + X"3C1A1000", -- 000012F0 + X"375A000A", -- 000012F4 + X"409A6000", -- 000012F8 + X"02200008", -- 000012FC + X"42000010", -- 00001300 + X"0BF00560", -- 00001304 + X"00001021", -- 00001308 + X"0FF000B0", -- 0000130C + X"2624175C", -- 00001310 + X"3C049FC0", -- 00001314 + X"0FF000B0", -- 00001318 + X"24841734", -- 0000131C + X"3C028000", -- 00001320 + X"3C038010", -- 00001324 + X"AC400000", -- 00001328 + X"24420004", -- 0000132C + X"1443FFFD", -- 00001330 + X"00009821", -- 00001334 + X"3C029FC0", -- 00001338 + X"245516CC", -- 0000133C + X"3C029FC0", -- 00001340 + X"24561720", -- 00001344 + X"3C029FC0", -- 00001348 + X"245E17D4", -- 0000134C + X"3C029FC0", -- 00001350 + X"245717F4", -- 00001354 + X"3C049FC0", -- 00001358 + X"0FF000B0", -- 0000135C + X"24841754", -- 00001360 + X"3C149FC0", -- 00001364 + X"27B00040", -- 00001368 + X"0FF00431", -- 0000136C + X"02002021", -- 00001370 + X"00403021", -- 00001374 + X"02002821", -- 00001378 + X"27A40010", -- 0000137C + X"0FF00384", -- 00001380 + X"00408821", -- 00001384 + X"00401821", -- 00001388 + X"24020002", -- 0000138C + X"10620005", -- 00001390 + X"24020004", -- 00001394 + X"1462FFEF", -- 00001398 + X"00000000", -- 0000139C + X"0BF004FF", -- 000013A0 + X"3C049FC0", -- 000013A4 + X"8FA50010", -- 000013A8 + X"8FA60014", -- 000013AC + X"0BF004F4", -- 000013B0 + X"00001821", -- 000013B4 + X"8FA2001C", -- 000013B8 + X"00000000", -- 000013BC + X"00431021", -- 000013C0 + X"90420000", -- 000013C4 + X"24630001", -- 000013C8 + X"A0820000", -- 000013CC + X"8FA20014", -- 000013D0 + X"00000000", -- 000013D4 + X"0062102B", -- 000013D8 + X"1440FFF6", -- 000013DC + X"00652021", -- 000013E0 + X"00C51821", -- 000013E4 + X"0263102B", -- 000013E8 + X"10400060", -- 000013EC + X"02208021", -- 000013F0 + X"0BF0055C", -- 000013F4 + X"00609821", -- 000013F8 + X"0FF000B0", -- 000013FC + X"24841758", -- 00001400 + X"8FA60010", -- 00001404 + X"26470100", -- 00001408 + X"02661823", -- 0000140C + X"27B10020", -- 00001410 + X"3C024A46", -- 00001414 + X"00E32821", -- 00001418 + X"02202021", -- 0000141C + X"34424931", -- 00001420 + X"AFA60144", -- 00001424 + X"AFA3014C", -- 00001428 + X"AFA70148", -- 0000142C + X"0FF00364", -- 00001430 + X"AFA20140", -- 00001434 + X"3C049FC0", -- 00001438 + X"24841760", -- 0000143C + X"0FF000B0", -- 00001440 + X"AFA20150", -- 00001444 + X"8FA4014C", -- 00001448 + X"0FF000E8", -- 0000144C + X"00000000", -- 00001450 + X"0FF000B0", -- 00001454 + X"02A02021", -- 00001458 + X"3C049FC0", -- 0000145C + X"0FF000B0", -- 00001460 + X"2484177C", -- 00001464 + X"0FF000E8", -- 00001468 + X"02402021", -- 0000146C + X"0FF000B0", -- 00001470 + X"02A02021", -- 00001474 + X"3C049FC0", -- 00001478 + X"0FF000B0", -- 0000147C + X"24841798", -- 00001480 + X"8FA40150", -- 00001484 + X"0FF000E8", -- 00001488 + X"00000000", -- 0000148C + X"0FF000B0", -- 00001490 + X"02A02021", -- 00001494 + X"3C049FC0", -- 00001498 + X"0FF000B0", -- 0000149C + X"248417B4", -- 000014A0 + X"8FA6014C", -- 000014A4 + X"02202021", -- 000014A8 + X"24C60100", -- 000014AC + X"0FF00304", -- 000014B0 + X"02402821", -- 000014B4 + X"0440001F", -- 000014B8 + X"00408021", -- 000014BC + X"0FF000B0", -- 000014C0 + X"02C02021", -- 000014C4 + X"0FF000B0", -- 000014C8 + X"03C02021", -- 000014CC + X"02202021", -- 000014D0 + X"02402821", -- 000014D4 + X"27A60140", -- 000014D8 + X"0FF00334", -- 000014DC + X"24070100", -- 000014E0 + X"04400014", -- 000014E4 + X"00408021", -- 000014E8 + X"8FA50148", -- 000014EC + X"8FA60144", -- 000014F0 + X"8FA7014C", -- 000014F4 + X"0FF00334", -- 000014F8 + X"02202021", -- 000014FC + X"0440000D", -- 00001500 + X"00408021", -- 00001504 + X"0FF000B0", -- 00001508 + X"02C02021", -- 0000150C + X"3C049FC0", -- 00001510 + X"0FF000B0", -- 00001514 + X"248417E4", -- 00001518 + X"8FA50148", -- 0000151C + X"8FA60144", -- 00001520 + X"8FA7014C", -- 00001524 + X"0FF0033C", -- 00001528 + X"02202021", -- 0000152C + X"0441000A", -- 00001530 + X"00408021", -- 00001534 + X"0FF000B0", -- 00001538 + X"268417C4", -- 0000153C + X"0FF000E8", -- 00001540 + X"02002021", -- 00001544 + X"3C049FC0", -- 00001548 + X"0FF000B0", -- 0000154C + X"248417D0", -- 00001550 + X"0BF0055C", -- 00001554 + X"00000000", -- 00001558 + X"0FF000B0", -- 0000155C + X"02E02021", -- 00001560 + X"3C02BFC0", -- 00001564 + X"00400008", -- 00001568 + X"00000000", -- 0000156C + X"0601FF7E", -- 00001570 + X"27B00040", -- 00001574 + X"0BF004D7", -- 00001578 + X"3C049FC0", -- 0000157C + X"8FBF0264", -- 00001580 + X"8FBE0260", -- 00001584 + X"8FB7025C", -- 00001588 + X"8FB60258", -- 0000158C + X"8FB50254", -- 00001590 + X"8FB40250", -- 00001594 + X"8FB3024C", -- 00001598 + X"8FB20248", -- 0000159C + X"8FB10244", -- 000015A0 + X"8FB00240", -- 000015A4 + X"03E00008", -- 000015A8 + X"27BD0268", -- 000015AC + X"2CC20010", -- 000015B0 + X"00804821", -- 000015B4 + X"1440002D", -- 000015B8 + X"00804021", -- 000015BC + X"30870003", -- 000015C0 + X"10E0000E", -- 000015C4 + X"24820004", -- 000015C8 + X"00052600", -- 000015CC + X"00471023", -- 000015D0 + X"00042603", -- 000015D4 + X"01201821", -- 000015D8 + X"A0640000", -- 000015DC + X"24630001", -- 000015E0 + X"1462FFFD", -- 000015E4 + X"00000000", -- 000015E8 + X"00071027", -- 000015EC + X"24C3FFFB", -- 000015F0 + X"24440005", -- 000015F4 + X"00623023", -- 000015F8 + X"01244021", -- 000015FC + X"30A500FF", -- 00001600 + X"01003821", -- 00001604 + X"10A00005", -- 00001608 + X"00A01821", -- 0000160C + X"00051200", -- 00001610 + X"00451025", -- 00001614 + X"00021C00", -- 00001618 + X"00621825", -- 0000161C + X"000610C2", -- 00001620 + X"1040001C", -- 00001624 + X"30C60007", -- 00001628 + X"01002021", -- 0000162C + X"00403821", -- 00001630 + X"24E7FFFF", -- 00001634 + X"AC830000", -- 00001638 + X"AC830004", -- 0000163C + X"14E0FFFC", -- 00001640 + X"24840008", -- 00001644 + X"000210C0", -- 00001648 + X"01023821", -- 0000164C + X"00E02021", -- 00001650 + X"2CC20004", -- 00001654 + X"14400005", -- 00001658 + X"00804021", -- 0000165C + X"ACE30000", -- 00001660 + X"24E40004", -- 00001664 + X"24C6FFFC", -- 00001668 + X"00804021", -- 0000166C + X"10C00007", -- 00001670 + X"00000000", -- 00001674 + X"00051600", -- 00001678 + X"00021603", -- 0000167C + X"24C6FFFF", -- 00001680 + X"A1020000", -- 00001684 + X"14C0FFFD", -- 00001688 + X"25080001", -- 0000168C + X"03E00008", -- 00001690 + X"01201021", -- 00001694 + X"0BF00595", -- 00001698 + X"01002021", -- 0000169C + X"3A200000", -- 000016A0 + X"20202000", -- 000016A4 + X"43616E6E", -- 000016A8 + X"6F742066", -- 000016AC + X"696E6420", -- 000016B0 + X"666C6173", -- 000016B4 + X"68206465", -- 000016B8 + X"76696365", -- 000016BC + X"2E204578", -- 000016C0 + X"6974206E", -- 000016C4 + X"6F77210A", -- 000016C8 + X"0A000000", -- 000016CC + X"496E7661", -- 000016D0 + X"6C696420", -- 000016D4 + X"696D6167", -- 000016D8 + X"6520666F", -- 000016DC + X"756E6420", -- 000016E0 + X"61742000", -- 000016E4 + X"2E204162", -- 000016E8 + X"6F72742E", -- 000016EC + X"0A000000", -- 000016F0 + X"426F6F74", -- 000016F4 + X"696E6720", -- 000016F8 + X"6170706C", -- 000016FC + X"69636174", -- 00001700 + X"696F6E20", -- 00001704 + X"66726F6D", -- 00001708 + X"20666C61", -- 0000170C + X"73682028", -- 00001710 + X"00000000", -- 00001714 + X"292E2E2E", -- 00001718 + X"00000000", -- 0000171C + X"646F6E65", -- 00001720 + X"0A000000", -- 00001724 + X"45786563", -- 00001728 + X"75746520", -- 0000172C + X"61742000", -- 00001730 + X"52656164", -- 00001734 + X"696E6720", -- 00001738 + X"4845582D", -- 0000173C + X"5265636F", -- 00001740 + X"72642066", -- 00001744 + X"726F6D20", -- 00001748 + X"55415254", -- 0000174C + X"2E2E0000", -- 00001750 + X"2E000000", -- 00001754 + X"646F6E65", -- 00001758 + X"0A0A0000", -- 0000175C + X"53697A65", -- 00001760 + X"206F6620", -- 00001764 + X"6170706C", -- 00001768 + X"69636174", -- 0000176C + X"696F6E20", -- 00001770 + X"2020203A", -- 00001774 + X"20000000", -- 00001778 + X"50726F67", -- 0000177C + X"72616D6D", -- 00001780 + X"696E6720", -- 00001784 + X"666C6173", -- 00001788 + X"68206174", -- 0000178C + X"2020203A", -- 00001790 + X"20000000", -- 00001794 + X"4E657874", -- 00001798 + X"20667265", -- 0000179C + X"6520666C", -- 000017A0 + X"61736820", -- 000017A4 + X"6F666673", -- 000017A8 + X"6574203A", -- 000017AC + X"20000000", -- 000017B0 + X"466C6173", -- 000017B4 + X"68206572", -- 000017B8 + X"6173652E", -- 000017BC + X"2E2E0000", -- 000017C0 + X"6661696C", -- 000017C4 + X"65642028", -- 000017C8 + X"00000000", -- 000017CC + X"290A0000", -- 000017D0 + X"466C6173", -- 000017D4 + X"68207772", -- 000017D8 + X"6974652E", -- 000017DC + X"2E2E0000", -- 000017E0 + X"466C6173", -- 000017E4 + X"68207665", -- 000017E8 + X"72696679", -- 000017EC + X"2E2E2E00", -- 000017F0 + X"70617373", -- 000017F4 + X"65640A00", -- 000017F8 + X"00000000", -- 000017FC + X"00000000", -- 00001800 + X"00000000", -- 00001804 + X"00000000", -- 00001808 + X"00000000", -- 0000180C + X"00000000", -- 00001810 + X"00000000", -- 00001814 + X"00000000", -- 00001818 + X"00000000", -- 0000181C + X"00000000", -- 00001820 + X"00000000", -- 00001824 + X"00000000", -- 00001828 + X"00000000", -- 0000182C + X"00000000", -- 00001830 + X"00000000", -- 00001834 + X"00000000", -- 00001838 + X"00000000", -- 0000183C + X"00000000", -- 00001840 + X"00000000", -- 00001844 + X"00000000", -- 00001848 + X"00000000", -- 0000184C + X"00000000", -- 00001850 + X"00000000", -- 00001854 + X"00000000", -- 00001858 + X"00000000", -- 0000185C + X"00000000", -- 00001860 + X"00000000", -- 00001864 + X"00000000", -- 00001868 + X"00000000", -- 0000186C + X"00000000", -- 00001870 + X"00000000", -- 00001874 + X"00000000", -- 00001878 + X"00000000", -- 0000187C + X"00000000", -- 00001880 + X"00000000", -- 00001884 + X"00000000", -- 00001888 + X"00000000", -- 0000188C + X"00000000", -- 00001890 + X"00000000", -- 00001894 + X"00000000", -- 00001898 + X"00000000", -- 0000189C + X"00000000", -- 000018A0 + X"00000000", -- 000018A4 + X"00000000", -- 000018A8 + X"00000000", -- 000018AC + X"00000000", -- 000018B0 + X"00000000", -- 000018B4 + X"00000000", -- 000018B8 + X"00000000", -- 000018BC + X"00000000", -- 000018C0 + X"00000000", -- 000018C4 + X"00000000", -- 000018C8 + X"00000000", -- 000018CC + X"00000000", -- 000018D0 + X"00000000", -- 000018D4 + X"00000000", -- 000018D8 + X"00000000", -- 000018DC + X"00000000", -- 000018E0 + X"00000000", -- 000018E4 + X"00000000", -- 000018E8 + X"00000000", -- 000018EC + X"00000000", -- 000018F0 + X"00000000", -- 000018F4 + X"00000000", -- 000018F8 + X"00000000", -- 000018FC + X"00000000", -- 00001900 + X"00000000", -- 00001904 + X"00000000", -- 00001908 + X"00000000", -- 0000190C + X"00000000", -- 00001910 + X"00000000", -- 00001914 + X"00000000", -- 00001918 + X"00000000", -- 0000191C + X"00000000", -- 00001920 + X"00000000", -- 00001924 + X"00000000", -- 00001928 + X"00000000", -- 0000192C + X"00000000", -- 00001930 + X"00000000", -- 00001934 + X"00000000", -- 00001938 + X"00000000", -- 0000193C + X"00000000", -- 00001940 + X"00000000", -- 00001944 + X"00000000", -- 00001948 + X"00000000", -- 0000194C + X"00000000", -- 00001950 + X"00000000", -- 00001954 + X"00000000", -- 00001958 + X"00000000", -- 0000195C + X"00000000", -- 00001960 + X"00000000", -- 00001964 + X"00000000", -- 00001968 + X"00000000", -- 0000196C + X"00000000", -- 00001970 + X"00000000", -- 00001974 + X"00000000", -- 00001978 + X"00000000", -- 0000197C + X"00000000", -- 00001980 + X"00000000", -- 00001984 + X"00000000", -- 00001988 + X"00000000", -- 0000198C + X"00000000", -- 00001990 + X"00000000", -- 00001994 + X"00000000", -- 00001998 + X"00000000", -- 0000199C + X"00000000", -- 000019A0 + X"00000000", -- 000019A4 + X"00000000", -- 000019A8 + X"00000000", -- 000019AC + X"00000000", -- 000019B0 + X"00000000", -- 000019B4 + X"00000000", -- 000019B8 + X"00000000", -- 000019BC + X"00000000", -- 000019C0 + X"00000000", -- 000019C4 + X"00000000", -- 000019C8 + X"00000000", -- 000019CC + X"00000000", -- 000019D0 + X"00000000", -- 000019D4 + X"00000000", -- 000019D8 + X"00000000", -- 000019DC + X"00000000", -- 000019E0 + X"00000000", -- 000019E4 + X"00000000", -- 000019E8 + X"00000000", -- 000019EC + X"00000000", -- 000019F0 + X"00000000", -- 000019F4 + X"00000000", -- 000019F8 + X"00000000", -- 000019FC + X"00000000", -- 00001A00 + X"00000000", -- 00001A04 + X"00000000", -- 00001A08 + X"00000000", -- 00001A0C + X"00000000", -- 00001A10 + X"00000000", -- 00001A14 + X"00000000", -- 00001A18 + X"00000000", -- 00001A1C + X"00000000", -- 00001A20 + X"00000000", -- 00001A24 + X"00000000", -- 00001A28 + X"00000000", -- 00001A2C + X"00000000", -- 00001A30 + X"00000000", -- 00001A34 + X"00000000", -- 00001A38 + X"00000000", -- 00001A3C + X"00000000", -- 00001A40 + X"00000000", -- 00001A44 + X"00000000", -- 00001A48 + X"00000000", -- 00001A4C + X"00000000", -- 00001A50 + X"00000000", -- 00001A54 + X"00000000", -- 00001A58 + X"00000000", -- 00001A5C + X"00000000", -- 00001A60 + X"00000000", -- 00001A64 + X"00000000", -- 00001A68 + X"00000000", -- 00001A6C + X"00000000", -- 00001A70 + X"00000000", -- 00001A74 + X"00000000", -- 00001A78 + X"00000000", -- 00001A7C + X"00000000", -- 00001A80 + X"00000000", -- 00001A84 + X"00000000", -- 00001A88 + X"00000000", -- 00001A8C + X"00000000", -- 00001A90 + X"00000000", -- 00001A94 + X"00000000", -- 00001A98 + X"00000000", -- 00001A9C + X"00000000", -- 00001AA0 + X"00000000", -- 00001AA4 + X"00000000", -- 00001AA8 + X"00000000", -- 00001AAC + X"00000000", -- 00001AB0 + X"00000000", -- 00001AB4 + X"00000000", -- 00001AB8 + X"00000000", -- 00001ABC + X"00000000", -- 00001AC0 + X"00000000", -- 00001AC4 + X"00000000", -- 00001AC8 + X"00000000", -- 00001ACC + X"00000000", -- 00001AD0 + X"00000000", -- 00001AD4 + X"00000000", -- 00001AD8 + X"00000000", -- 00001ADC + X"00000000", -- 00001AE0 + X"00000000", -- 00001AE4 + X"00000000", -- 00001AE8 + X"00000000", -- 00001AEC + X"00000000", -- 00001AF0 + X"00000000", -- 00001AF4 + X"00000000", -- 00001AF8 + X"00000000", -- 00001AFC + X"00000000", -- 00001B00 + X"00000000", -- 00001B04 + X"00000000", -- 00001B08 + X"00000000", -- 00001B0C + X"00000000", -- 00001B10 + X"00000000", -- 00001B14 + X"00000000", -- 00001B18 + X"00000000", -- 00001B1C + X"00000000", -- 00001B20 + X"00000000", -- 00001B24 + X"00000000", -- 00001B28 + X"00000000", -- 00001B2C + X"00000000", -- 00001B30 + X"00000000", -- 00001B34 + X"00000000", -- 00001B38 + X"00000000", -- 00001B3C + X"00000000", -- 00001B40 + X"00000000", -- 00001B44 + X"00000000", -- 00001B48 + X"00000000", -- 00001B4C + X"00000000", -- 00001B50 + X"00000000", -- 00001B54 + X"00000000", -- 00001B58 + X"00000000", -- 00001B5C + X"00000000", -- 00001B60 + X"00000000", -- 00001B64 + X"00000000", -- 00001B68 + X"00000000", -- 00001B6C + X"00000000", -- 00001B70 + X"00000000", -- 00001B74 + X"00000000", -- 00001B78 + X"00000000", -- 00001B7C + X"00000000", -- 00001B80 + X"00000000", -- 00001B84 + X"00000000", -- 00001B88 + X"00000000", -- 00001B8C + X"00000000", -- 00001B90 + X"00000000", -- 00001B94 + X"00000000", -- 00001B98 + X"00000000", -- 00001B9C + X"00000000", -- 00001BA0 + X"00000000", -- 00001BA4 + X"00000000", -- 00001BA8 + X"00000000", -- 00001BAC + X"00000000", -- 00001BB0 + X"00000000", -- 00001BB4 + X"00000000", -- 00001BB8 + X"00000000", -- 00001BBC + X"00000000", -- 00001BC0 + X"00000000", -- 00001BC4 + X"00000000", -- 00001BC8 + X"00000000", -- 00001BCC + X"00000000", -- 00001BD0 + X"00000000", -- 00001BD4 + X"00000000", -- 00001BD8 + X"00000000", -- 00001BDC + X"00000000", -- 00001BE0 + X"00000000", -- 00001BE4 + X"00000000", -- 00001BE8 + X"00000000", -- 00001BEC + X"00000000", -- 00001BF0 + X"00000000", -- 00001BF4 + X"00000000", -- 00001BF8 + X"00000000", -- 00001BFC + X"00000000", -- 00001C00 + X"00000000", -- 00001C04 + X"00000000", -- 00001C08 + X"00000000", -- 00001C0C + X"00000000", -- 00001C10 + X"00000000", -- 00001C14 + X"00000000", -- 00001C18 + X"00000000", -- 00001C1C + X"00000000", -- 00001C20 + X"00000000", -- 00001C24 + X"00000000", -- 00001C28 + X"00000000", -- 00001C2C + X"00000000", -- 00001C30 + X"00000000", -- 00001C34 + X"00000000", -- 00001C38 + X"00000000", -- 00001C3C + X"00000000", -- 00001C40 + X"00000000", -- 00001C44 + X"00000000", -- 00001C48 + X"00000000", -- 00001C4C + X"00000000", -- 00001C50 + X"00000000", -- 00001C54 + X"00000000", -- 00001C58 + X"00000000", -- 00001C5C + X"00000000", -- 00001C60 + X"00000000", -- 00001C64 + X"00000000", -- 00001C68 + X"00000000", -- 00001C6C + X"00000000", -- 00001C70 + X"00000000", -- 00001C74 + X"00000000", -- 00001C78 + X"00000000", -- 00001C7C + X"00000000", -- 00001C80 + X"00000000", -- 00001C84 + X"00000000", -- 00001C88 + X"00000000", -- 00001C8C + X"00000000", -- 00001C90 + X"00000000", -- 00001C94 + X"00000000", -- 00001C98 + X"00000000", -- 00001C9C + X"00000000", -- 00001CA0 + X"00000000", -- 00001CA4 + X"00000000", -- 00001CA8 + X"00000000", -- 00001CAC + X"00000000", -- 00001CB0 + X"00000000", -- 00001CB4 + X"00000000", -- 00001CB8 + X"00000000", -- 00001CBC + X"00000000", -- 00001CC0 + X"00000000", -- 00001CC4 + X"00000000", -- 00001CC8 + X"00000000", -- 00001CCC + X"00000000", -- 00001CD0 + X"00000000", -- 00001CD4 + X"00000000", -- 00001CD8 + X"00000000", -- 00001CDC + X"00000000", -- 00001CE0 + X"00000000", -- 00001CE4 + X"00000000", -- 00001CE8 + X"00000000", -- 00001CEC + X"00000000", -- 00001CF0 + X"00000000", -- 00001CF4 + X"00000000", -- 00001CF8 + X"00000000", -- 00001CFC + X"00000000", -- 00001D00 + X"00000000", -- 00001D04 + X"00000000", -- 00001D08 + X"00000000", -- 00001D0C + X"00000000", -- 00001D10 + X"00000000", -- 00001D14 + X"00000000", -- 00001D18 + X"00000000", -- 00001D1C + X"00000000", -- 00001D20 + X"00000000", -- 00001D24 + X"00000000", -- 00001D28 + X"00000000", -- 00001D2C + X"00000000", -- 00001D30 + X"00000000", -- 00001D34 + X"00000000", -- 00001D38 + X"00000000", -- 00001D3C + X"00000000", -- 00001D40 + X"00000000", -- 00001D44 + X"00000000", -- 00001D48 + X"00000000", -- 00001D4C + X"00000000", -- 00001D50 + X"00000000", -- 00001D54 + X"00000000", -- 00001D58 + X"00000000", -- 00001D5C + X"00000000", -- 00001D60 + X"00000000", -- 00001D64 + X"00000000", -- 00001D68 + X"00000000", -- 00001D6C + X"00000000", -- 00001D70 + X"00000000", -- 00001D74 + X"00000000", -- 00001D78 + X"00000000", -- 00001D7C + X"00000000", -- 00001D80 + X"00000000", -- 00001D84 + X"00000000", -- 00001D88 + X"00000000", -- 00001D8C + X"00000000", -- 00001D90 + X"00000000", -- 00001D94 + X"00000000", -- 00001D98 + X"00000000", -- 00001D9C + X"00000000", -- 00001DA0 + X"00000000", -- 00001DA4 + X"00000000", -- 00001DA8 + X"00000000", -- 00001DAC + X"00000000", -- 00001DB0 + X"00000000", -- 00001DB4 + X"00000000", -- 00001DB8 + X"00000000", -- 00001DBC + X"00000000", -- 00001DC0 + X"00000000", -- 00001DC4 + X"00000000", -- 00001DC8 + X"00000000", -- 00001DCC + X"00000000", -- 00001DD0 + X"00000000", -- 00001DD4 + X"00000000", -- 00001DD8 + X"00000000", -- 00001DDC + X"00000000", -- 00001DE0 + X"00000000", -- 00001DE4 + X"00000000", -- 00001DE8 + X"00000000", -- 00001DEC + X"00000000", -- 00001DF0 + X"00000000", -- 00001DF4 + X"00000000", -- 00001DF8 + X"00000000", -- 00001DFC + X"00000000", -- 00001E00 + X"00000000", -- 00001E04 + X"00000000", -- 00001E08 + X"00000000", -- 00001E0C + X"00000000", -- 00001E10 + X"00000000", -- 00001E14 + X"00000000", -- 00001E18 + X"00000000", -- 00001E1C + X"00000000", -- 00001E20 + X"00000000", -- 00001E24 + X"00000000", -- 00001E28 + X"00000000", -- 00001E2C + X"00000000", -- 00001E30 + X"00000000", -- 00001E34 + X"00000000", -- 00001E38 + X"00000000", -- 00001E3C + X"00000000", -- 00001E40 + X"00000000", -- 00001E44 + X"00000000", -- 00001E48 + X"00000000", -- 00001E4C + X"00000000", -- 00001E50 + X"00000000", -- 00001E54 + X"00000000", -- 00001E58 + X"00000000", -- 00001E5C + X"00000000", -- 00001E60 + X"00000000", -- 00001E64 + X"00000000", -- 00001E68 + X"00000000", -- 00001E6C + X"00000000", -- 00001E70 + X"00000000", -- 00001E74 + X"00000000", -- 00001E78 + X"00000000", -- 00001E7C + X"00000000", -- 00001E80 + X"00000000", -- 00001E84 + X"00000000", -- 00001E88 + X"00000000", -- 00001E8C + X"00000000", -- 00001E90 + X"00000000", -- 00001E94 + X"00000000", -- 00001E98 + X"00000000", -- 00001E9C + X"00000000", -- 00001EA0 + X"00000000", -- 00001EA4 + X"00000000", -- 00001EA8 + X"00000000", -- 00001EAC + X"00000000", -- 00001EB0 + X"00000000", -- 00001EB4 + X"00000000", -- 00001EB8 + X"00000000", -- 00001EBC + X"00000000", -- 00001EC0 + X"00000000", -- 00001EC4 + X"00000000", -- 00001EC8 + X"00000000", -- 00001ECC + X"00000000", -- 00001ED0 + X"00000000", -- 00001ED4 + X"00000000", -- 00001ED8 + X"00000000", -- 00001EDC + X"00000000", -- 00001EE0 + X"00000000", -- 00001EE4 + X"00000000", -- 00001EE8 + X"00000000", -- 00001EEC + X"00000000", -- 00001EF0 + X"00000000", -- 00001EF4 + X"00000000", -- 00001EF8 + X"00000000", -- 00001EFC + X"00000000", -- 00001F00 + X"00000000", -- 00001F04 + X"00000000", -- 00001F08 + X"00000000", -- 00001F0C + X"00000000", -- 00001F10 + X"00000000", -- 00001F14 + X"00000000", -- 00001F18 + X"00000000", -- 00001F1C + X"00000000", -- 00001F20 + X"00000000", -- 00001F24 + X"00000000", -- 00001F28 + X"00000000", -- 00001F2C + X"00000000", -- 00001F30 + X"00000000", -- 00001F34 + X"00000000", -- 00001F38 + X"00000000", -- 00001F3C + X"00000000", -- 00001F40 + X"00000000", -- 00001F44 + X"00000000", -- 00001F48 + X"00000000", -- 00001F4C + X"00000000", -- 00001F50 + X"00000000", -- 00001F54 + X"00000000", -- 00001F58 + X"00000000", -- 00001F5C + X"00000000", -- 00001F60 + X"00000000", -- 00001F64 + X"00000000", -- 00001F68 + X"00000000", -- 00001F6C + X"00000000", -- 00001F70 + X"00000000", -- 00001F74 + X"00000000", -- 00001F78 + X"00000000", -- 00001F7C + X"00000000", -- 00001F80 + X"00000000", -- 00001F84 + X"00000000", -- 00001F88 + X"00000000", -- 00001F8C + X"00000000", -- 00001F90 + X"00000000", -- 00001F94 + X"00000000", -- 00001F98 + X"00000000", -- 00001F9C + X"00000000", -- 00001FA0 + X"00000000", -- 00001FA4 + X"00000000", -- 00001FA8 + X"00000000", -- 00001FAC + X"00000000", -- 00001FB0 + X"00000000", -- 00001FB4 + X"00000000", -- 00001FB8 + X"00000000", -- 00001FBC + X"00000000", -- 00001FC0 + X"00000000", -- 00001FC4 + X"00000000", -- 00001FC8 + X"00000000", -- 00001FCC + X"00000000", -- 00001FD0 + X"00000000", -- 00001FD4 + X"00000000", -- 00001FD8 + X"00000000", -- 00001FDC + X"00000000", -- 00001FE0 + X"00000000", -- 00001FE4 + X"00000000", -- 00001FE8 + X"00000000", -- 00001FEC + X"00000000", -- 00001FF0 + X"00000000", -- 00001FF4 + X"00000000", -- 00001FF8 + X"00000000" -- 00001FFC + ); + +begin + +PROM_READ: + process(clk) + begin + if rising_edge(clk) and ce = '1' then + dout <= word_array(to_integer(addr(12 downto 2))); + end if; + end process; + + +-------------------------------------------------------------------------- +-- Virtex-4: JTAG Loader +-------------------------------------------------------------------------- + i00_BUFG : BUFG + port map + ( + O => bs_clk1, + I => bs_clk0 + ); + + i01_BUFG : BUFG + port map + ( + O => bs_update1, + I => bs_update0 + ); + + BSCAN_VIRTEX4_inst1 : BSCAN_VIRTEX4 + generic map + ( + JTAG_CHAIN => 1 -- Value to set BSCAN site of device. Possible values: (1,2,3 or 4) + ) + port map + ( + CAPTURE => bs_capture, -- CAPTURE output from TAP controller + DRCK => bs_clk0, -- Data register output for USER functions + RESET => bs_rst, -- Reset output from TAP controller + SEL => bs_sel, -- USER active output + SHIFT => bs_shift, -- SHIFT output from TAP controller + TDI => bs_tdi, -- TDI output from TAP controller + UPDATE => bs_update0, -- UPDATE output from TAP controller + TDO => bs_tdo -- Data input for USER function + ); + + jtag_ld_addr <= user_regi(user_regi'left downto jtag_ld_dout'length); + jtag_ld_din <= user_regi(jtag_ld_dout'length-1 downto 0); + jtag_ld_clk <= bs_update1; + jtag_ld_we <= bs_sel; + +sipo: + process (bs_rst, bs_clk1, bs_tdi, bs_shift) + begin + if bs_rst = '1' then + user_regi <= (others => '0'); + elsif rising_edge(bs_clk1) then + if bs_shift = '1' then + user_regi <= bs_tdi & user_regi(user_regi'left downto 1); + end if; + end if; + end process; + +piso: + process (bs_rst, bs_clk1, bs_shift, user_rego) + begin + bs_tdo <= user_rego(0); + if bs_rst = '1' then + user_rego <= (others => '0'); + elsif rising_edge(bs_clk1) then + if bs_shift = '1' then + user_rego <= user_rego(0) & user_rego(user_rego'left downto 1); + else + user_rego <= (user_rego'left downto jtag_ld_dout'length => '0') & jtag_ld_dout; + + end if; + end if; + end process; + +PROM_WRITE: + process(jtag_ld_clk, jtag_ld_we) + begin + if rising_edge(jtag_ld_clk) then + if jtag_ld_we = '1' then + word_array(to_integer(jtag_ld_addr(10 downto 0))) <= jtag_ld_din; + else + jtag_ld_dout <= word_array(to_integer(jtag_ld_addr(10 downto 0))); + end if; + end if; + end process; + +end data; diff --git a/lib/CPUs/MIPS/src/mips_top_netlist.vhd b/lib/CPUs/MIPS/src/mips_top_netlist.vhd new file mode 100644 index 0000000..68290a3 --- /dev/null +++ b/lib/CPUs/MIPS/src/mips_top_netlist.vhd @@ -0,0 +1,104 @@ +-------------------------------------------------------------------------- +-- Project: JIPS, a portable 32-bit RISC CPU written in VHDL +-- This file: JIPS top file +-- +-- Copyright (C) 2008 J. Ahrensfeld +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- For questions and ideas, please contact the author at jens@jayfield.org +-- +-------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +library work; +use work.mips_types.all; + +entity mips_top_netlist is + Generic + ( + icache_size : natural := 8192; -- words + icache_line : natural := 8; -- words + dcache_size : natural := 4096; -- words + dcache_line : natural := 8; -- words + WITH_TLB : boolean := true; + TRANSLATE_KSEG0_1 : boolean := true + ); + Port + ( + debug : out unsigned(1 downto 0); + eb : in STD_LOGIC; + nmi : in STD_LOGIC; + cpu_clk : in STD_LOGIC; + RST_I : in STD_LOGIC; + CLK_I : in STD_LOGIC; + ACK_I : in STD_LOGIC; + SRDY_I : in STD_LOGIC; + ADDR_O : out unsigned(31 downto 0); + DAT_I : in unsigned(31 downto 0); + DAT_O : out unsigned(31 downto 0); + WE_O : out STD_LOGIC; + SEL_O : out unsigned(3 downto 0); + CYC_O : out STD_LOGIC; + STB_O : out STD_LOGIC; + MRDY_O : out STD_LOGIC; + INT : in unsigned (5 downto 0) + ); + +end mips_top_netlist; + +architecture rtl of mips_top_netlist is + + signal chip_debug : chip_debug_t; + +begin + + debug(0) <= chip_debug.imem_err; + debug(1) <= chip_debug.dmem_err; + +inst_mips_top: entity work.mips_top + GENERIC MAP + ( + icache_size => icache_size, -- words + icache_line => icache_line, -- words + dcache_size => dcache_size, -- words + dcache_line => dcache_line, -- words + WITH_TLB => WITH_TLB, + TRANSLATE_KSEG0_1 => TRANSLATE_KSEG0_1 + ) + PORT MAP + ( + debug => chip_debug, + eb => eb, + cpu_clk => cpu_clk, + RST_I => RST_I, + CLK_I => CLK_I, + ACK_I => ACK_I, + SRDY_I => SRDY_I, + ADDR_O => ADDR_O, + DAT_I => DAT_I, + DAT_O => DAT_O, + WE_O => WE_O, + SEL_O => SEL_O, + CYC_O => CYC_O, + STB_O => STB_O, + MRDY_O => MRDY_O, + INT => INT, + nmi => nmi + ); + +end rtl;