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;