Files
vhdl/lib/CPUs/MIPS/src/bootloader.ROM_ld.vhd
T
jens 6246a78478 - added
git-svn-id: http://moon:8086/svn/vhdl/trunk@1039 cc03376c-175c-47c8-b038-4cd826a8556b
2014-07-23 19:58:05 +00:00

1151 lines
30 KiB
VHDL

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;