From 3ca89bdbd06e77680eb3d3feb0e4b4551a89817d Mon Sep 17 00:00:00 2001 From: J Date: Tue, 2 Apr 2019 21:11:55 -0400 Subject: [PATCH] Remove hack to work around incomplete pipeline reset due to Lattice tools, fixed by reset generator --- ram.img | Bin 7064 -> 7004 bytes ram_init.vhd | 469 +++++++++++++++++++++++------------------------- testrom/entry.c | 31 +--- 3 files changed, 228 insertions(+), 272 deletions(-) diff --git a/ram.img b/ram.img index 91f0c777cf9e5c810c69e060c4c878204e9733c7..5c9f7545da34123855f6be98697d64817c424937 100755 GIT binary patch delta 1169 zcmb`FO=uHA6vy9eveGn3v-#RhyOpN3)KCkijr|~srebLhg%m88X(( zT12sj;&|x6LyiRl3fn^tg$69>p~6Nyc*vokNDm@CNofQ6pKOERP3SH^=Djy>{`2O| zYz$TgmWh~)sIB^Ubhi+>j*04H&F+RTXtd@;>`Yh|LfhaI_<2U6|504nb!;}5)pm)T zi zQy}tS4|mR3Yq-a{M2^T6v6=?ngj%#T+)qUXLe~g2dRTkC#4J)KENNAN9k8V3h>>)r zSP*IA6hc{4Cpzek^MY$sb`j}Ce&pI=8KdaFz*wGFn)G0X=q*{@eTPxU%fJGcXHLe9 zp65Bw{qr@eGx>~_CGSXCs<%_mi`*BA?!_WKZ?eQ`pB)w6qjaBZ!Ey97Pb;_Ogt#ES zrHrx&uPX0ZiSK&3qhwuepujV}LBuwEb8Laz{Y!EykuPnm`rFt@i5wSqAT);10zhAU zA8^VXM)XI8?@z)`<7wEz8e%U2ic{B#G{n^cKL{+zSBRRcMmBhZc|!<>K?Fp>5HG4< zm(hB43v2^nm%uI%+X>$UUqA)y0}=a|1H=x&5vXE&0w_ysuyQqAgQkE02!U3BN;Dkh zx)9S)lGX#F02OOP;2KDr3fzL71n7r&0NOa10F%aK=tSy{^~MLH15-1xnOI-{)O6$Y g;)D6wcz9y*Zg_a%VL03u?(2<5WAXkW{#e)l05VnZng9R* delta 1252 zcmb`FUr19?9LIm>Za13Sb^muq*K*ULGNsVzwk&G1OpC=NC4BI~WSXIrl!@TLKnbND z2B!xfeCVMEA)#O|J_HE``CzbRLByU)!bcw@1PAp!`%}?dAlv7j-@p4kzxz8U7hDR> z5-|@^b^gz)Tqjb3pu7ruq{O9CPQ(s_S%{eSAyx_eha~zRja^fMnfk2HD{a+Z@RQ-6 zpRwp?j%PKmlyOHIOTHRG=7X~X&rgm{Jipkk;7Nw8HDl)|Sm1^M^ZZOCC$JKzeEuE_ z(N7QuR>V$b^`{<=#^NmRo#=P^u{HioxyycwJ7UO~yELqD;6#S#&2RsZ8++Q*VqIUX_Jyj-w+-HR+MSv#{*d7N5K)Mn)&YfZzV zeoNomR_pyrUT=B)LQBhKSm^>#g`4l1{YNx>rMAR9mR>n2&W%r7x>$m*Ti&reU$AmR zzIf`69qzM*5F4^uOkJm9O zRcr@e#jI5aaD%E+ji~zz)rVXYXa!+#7N9NlVo3w1qsBlF=mY%#ov8SfbA?UNk~#{| zmWqzmNiYqPC4mR9=KBkiM>XviWg^>j diff --git a/ram_init.vhd b/ram_init.vhd index 03fd645..354232e 100644 --- a/ram_init.vhd +++ b/ram_init.vhd @@ -6,127 +6,112 @@ use ieee.numeric_std.all; package bootrom is type rom_t is array (0 to 2047) of std_logic_vector(31 downto 0); constant rom : rom_t := ( - x"00000120", + x"0000010c", x"00001ffc", - x"00000120", + x"0000010c", x"00001ffc", - x"00000d56", - x"00000d36", - x"00000d56", - x"00000d36", - x"00000d36", - x"00000d66", - x"00000d66", - x"00000d46", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000cf8", - x"00000d0e", + x"00000d1a", + x"00000cfa", + x"00000d1a", + x"00000cfa", + x"00000cfa", x"00000d2a", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"00000d36", - x"d027d124", - x"2102d327", - x"432a0009", + x"00000d2a", + x"00000d0a", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cbc", + x"00000cd2", + x"00000cee", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"00000cfa", + x"d019d116", + x"2102000b", x"00090009", - x"00090009", - x"00090009", - x"0009000b", - x"00090009", - x"0009d01d", - x"d11b2102", - x"d018402b", - x"00090009", - x"0009d017", + x"0009d014", + x"d1122102", + x"d010400b", + x"0009d110", + x"d0112102", + x"0009e000", + x"e101e202", + x"e303e404", + x"e505e606", + x"e707e808", + x"e909ea0a", + x"eb0bec0c", + x"ed0dee00", + x"4e2e4e1e", + x"4e0ed002", x"400b0009", - x"d215420b", - x"0009d514", - x"450b0009", - x"da124a0b", - x"00090009", - x"d111d013", - x"21020009", - x"e000e101", - x"e202e303", - x"e404e505", - x"e606e707", - x"e808e909", - x"ea0aeb0b", - x"ec0ced0d", - x"ee004e2e", - x"4e1e4e0e", - x"d002400b", - x"0009c320", - x"00090009", - x"000001d8", - x"00000564", + x"c3200009", + x"0000019c", + x"00000528", x"00000100", - x"0000010e", x"abcd0000", x"000000ff", x"0000004f", x"00000011", - x"0000012e", x"d1042f86", x"684c4f22", x"410b6483", x"60834f26", x"000b68f6", - x"00001064", + x"00001028", x"d0034f22", x"400b0009", x"4f26000b", x"00090009", - x"0000107c", + x"00001040", x"000b0009", x"d101412b", x"00090009", - x"00001384", + x"00001348", x"614c6213", x"729f622c", x"e3053236", @@ -157,7 +142,7 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"000001e4", + x"000001a8", x"2f86e000", x"2f96e903", x"2fa62fb6", @@ -201,7 +186,7 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"0000167c", + x"00001640", x"2f86e800", x"2f966953", x"2fa66a53", @@ -216,7 +201,7 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"000001a8", + x"0000016c", x"2f862f96", x"2fa66a43", x"2fb62fc6", @@ -245,10 +230,10 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"000001a8", - x"00000310", - x"0000167c", - x"000001c0", + x"0000016c", + x"000002d4", + x"00001640", + x"00000184", x"2f862f96", x"2fa62fb6", x"6b632fc6", @@ -311,8 +296,8 @@ package bootrom is x"6cf66bf6", x"6af669f6", x"000b68f6", - x"000001e4", - x"00001060", + x"000001a8", + x"00001024", x"2f862f96", x"2fa66a53", x"2fb62fc6", @@ -347,10 +332,10 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"000001a8", - x"00000310", - x"00001628", - x"0000167c", + x"0000016c", + x"000002d4", + x"000015ec", + x"00001640", x"2f862f96", x"2fa62fb6", x"2fc62fd6", @@ -536,23 +521,23 @@ package bootrom is x"1f75490b", x"1f16afe5", x"56f60009", - x"00001000", - x"000001e4", - x"000001c0", + x"00000fc4", x"000001a8", - x"0000034c", - x"00001634", - x"00000db8", - x"0000021c", - x"000003cc", - x"00000f0c", - x"00000260", + x"00000184", + x"0000016c", x"00000310", - x"0000162c", - x"0000167c", - x"00000fe8", - x"00000f7c", - x"00000db8", + x"000015f8", + x"00000d7c", + x"000001e0", + x"00000390", + x"00000ed0", + x"00000224", + x"000002d4", + x"000015f0", + x"00001640", + x"00000fac", + x"00000f40", + x"00000d7c", x"1fc77a01", x"e90064a4", x"6043883d", @@ -642,16 +627,16 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"00000f0c", - x"000003cc", - x"00000f7c", - x"0000034c", - x"00001638", - x"000016f4", - x"0000021c", - x"00000dc4", - x"00001060", - x"00001634", + x"00000ed0", + x"00000390", + x"00000f40", + x"00000310", + x"000015fc", + x"000016b8", + x"000001e0", + x"00000d88", + x"00001024", + x"000015f8", x"2f862448", x"2f962fa6", x"2fb62fc6", @@ -719,15 +704,15 @@ package bootrom is x"6bf66af6", x"69f6000b", x"68f60009", - x"000001a8", - x"00000310", - x"000016a4", - x"00001690", - x"00000260", - x"0000164c", - x"00001650", - x"0000167c", - x"00000564", + x"0000016c", + x"000002d4", + x"00001668", + x"00001654", + x"00000224", + x"00001610", + x"00001614", + x"00001640", + x"00000528", x"2f866043", x"2f964009", x"2fa64009", @@ -811,12 +796,12 @@ package bootrom is x"6cf66bf6", x"6af669f6", x"000b68f6", - x"000001a8", - x"0000167c", - x"00000f0c", - x"000001c0", - x"00000564", - x"00000d76", + x"0000016c", + x"00001640", + x"00000ed0", + x"00000184", + x"00000528", + x"00000d3a", x"d01151f4", x"201251f3", x"201661f3", @@ -834,8 +819,8 @@ package bootrom is x"40134022", x"d00164f2", x"400b0009", - x"00000b48", - x"00001bf4", + x"00000b0c", + x"00001bb8", x"2f062f16", x"e0f0400e", x"e0052f06", @@ -883,7 +868,7 @@ package bootrom is x"70c05101", x"6002002b", x"00090009", - x"00001b9c", + x"00001b60", x"ef046ff2", x"e0006002", x"402b0009", @@ -956,19 +941,19 @@ package bootrom is x"f80007ff", x"402b400b", x"c3200009", - x"00001bdc", + x"00001ba0", x"0000fb00", x"00008900", x"00008b00", x"0000f000", x"0000a000", x"0000f0ff", - x"00001b9c", + x"00001b60", x"0000b000", x"0000ff00", x"0000c300", - x"00001bf8", - x"00000d76", + x"00001bbc", + x"00000d3a", x"e1163416", x"8d2de000", x"6243c702", @@ -995,8 +980,8 @@ package bootrom is x"5116e004", x"2512000b", x"00090009", - x"00001b9c", - x"00001bdc", + x"00001b60", + x"00001ba0", x"e1163416", x"8d2ce000", x"6243c702", @@ -1022,25 +1007,25 @@ package bootrom is x"1154d103", x"1156e004", x"000b0009", - x"00001b9c", - x"00001bdc", + x"00001b60", + x"00001ba0", x"24488901", x"d1021145", x"d102412b", x"00090009", - x"00001bdc", - x"00000d76", + x"00001ba0", + x"00000d3a", x"d1056211", x"22288904", x"d3045335", x"2321e200", x"2121000b", x"00090009", - x"00001bf8", - x"00001bdc", + x"00001bbc", + x"00001ba0", x"d001402b", x"00090009", - x"00000a18", + x"000009dc", x"d2096122", x"21188d03", x"e33271ff", @@ -1051,8 +1036,8 @@ package bootrom is x"91032212", x"2312000b", x"00090088", - x"00001b38", - x"00001b98", + x"00001afc", + x"00001b5c", x"abcd0000", x"000b0009", x"d104644c", @@ -1073,8 +1058,8 @@ package bootrom is x"64036083", x"4f26000b", x"68f60009", - x"0000107c", - x"00001064", + x"00001040", + x"00001028", x"d102e202", x"1123000b", x"00090009", @@ -1092,7 +1077,7 @@ package bootrom is x"60804f26", x"6af669f6", x"000b68f6", - x"00001064", + x"00001028", x"d10fe27f", x"7ffc2122", x"e1002f12", @@ -1142,7 +1127,7 @@ package bootrom is x"000b68f6", x"2edf0080", x"00ff0009", - x"000010fc", + x"000010c0", x"abcd0000", x"2f86e800", x"2f96e90b", @@ -1179,9 +1164,9 @@ package bootrom is x"69f6000b", x"68f600c0", x"00ff0009", - x"000010fc", + x"000010c0", x"abcd0000", - x"000014e8", + x"000014ac", x"d10ce31c", x"2f866613", x"e509e208", @@ -1195,7 +1180,7 @@ package bootrom is x"73fce000", x"8068d001", x"000b68f6", - x"00001bfc", + x"00001bc0", x"d1036012", x"c8018bfc", x"d1012142", @@ -1222,7 +1207,7 @@ package bootrom is x"4f2669f6", x"412b68f6", x"00b00009", - x"000012ac", + x"00001270", x"2f86e700", x"2f966943", x"2fa62fb6", @@ -1253,8 +1238,8 @@ package bootrom is x"4f266bf6", x"6af669f6", x"412b68f6", - x"00001858", - x"00001298", + x"0000181c", + x"0000125c", x"2f862f96", x"2fa62fb6", x"2fc6d144", @@ -1326,24 +1311,24 @@ package bootrom is x"6403480b", x"6403afd0", x"e50200ff", - x"000010fc", + x"000010c0", x"000927bf", - x"00001b88", - x"000012ac", - x"000012c4", - x"00001304", - x"000016b8", - x"00001260", - x"000016c4", - x"00001384", - x"00001298", - x"00001140", - x"000011c8", - x"000016d0", - x"000016dc", - x"000016cc", - x"00001798", - x"000016e8", + x"00001b4c", + x"00001270", + x"00001288", + x"000012c8", + x"0000167c", + x"00001224", + x"00001688", + x"00001348", + x"0000125c", + x"00001104", + x"0000118c", + x"00001694", + x"000016a0", + x"00001690", + x"0000175c", + x"000016ac", x"614b2419", x"d11b3416", x"8d0e4f22", @@ -1374,8 +1359,8 @@ package bootrom is x"000b0009", x"00ff0009", x"0000ffff", - x"00001570", - x"00001a38", + x"00001534", + x"000019fc", x"00ffffff", x"60530009", x"c91f4008", @@ -1455,11 +1440,11 @@ package bootrom is x"00000006", x"00000007", x"00000007", - x"00001654", - x"0000165c", - x"00001664", - x"0000166c", - x"00001674", + x"00001618", + x"00001620", + x"00001628", + x"00001630", + x"00001638", x"4c434420", x"696e6974", x"0a000000", @@ -1516,54 +1501,54 @@ package bootrom is x"2a000000", x"2d000000", x"2b000000", - x"000016f4", + x"000016b8", + x"000016b4", + x"000016bc", + x"000016b8", + x"000016c0", + x"000016c4", + x"000016c8", + x"000016b8", + x"000016d0", + x"000016d8", + x"000016dc", + x"000016e0", + x"000016b8", + x"000016b8", + x"000016b8", + x"000016b8", + x"000016b8", + x"000016e8", x"000016f0", x"000016f8", - x"000016f4", x"000016fc", x"00001700", x"00001704", - x"000016f4", + x"00001708", + x"000016b8", x"0000170c", + x"00001710", x"00001714", x"00001718", x"0000171c", - x"000016f4", - x"000016f4", - x"000016f4", - x"000016f4", - x"000016f4", + x"00001720", x"00001724", + x"000016b8", + x"00001728", x"0000172c", + x"00001730", x"00001734", x"00001738", x"0000173c", x"00001740", + x"000016b8", x"00001744", - x"000016f4", x"00001748", x"0000174c", + x"00001610", x"00001750", x"00001754", x"00001758", - x"0000175c", - x"00001760", - x"000016f4", - x"00001764", - x"00001768", - x"0000176c", - x"00001770", - x"00001774", - x"00001778", - x"0000177c", - x"000016f4", - x"00001780", - x"00001784", - x"00001788", - x"0000164c", - x"0000178c", - x"00001790", - x"00001794", x"00000000", x"0000005f", x"00000007", @@ -1754,18 +1739,18 @@ package bootrom is x"3a206368", x"616e6765", x"7365743a", - x"20202032", - x"383a3331", - x"62323665", - x"37656532", - x"39330a62", + x"20202033", + x"313a3630", + x"36616333", + x"63333235", + x"61620a62", x"75696c64", - x"3a204d6f", - x"6e204170", - x"72202031", - x"2031373a", - x"33373a33", - x"35204544", + x"3a205475", + x"65204170", + x"72202032", + x"2032313a", + x"30333a35", + x"38204544", x"54203230", x"31390a00", x"40a1c0a6", diff --git a/testrom/entry.c b/testrom/entry.c index 0369d84..db641e1 100644 --- a/testrom/entry.c +++ b/testrom/entry.c @@ -141,17 +141,6 @@ __asm__( " mov.l jsr_leds, r0\n" " mov.l pio_addr, r1\n" " mov.l r0, @r1\n" -" mov.l retjsr, r3\n" -" lds r3, pr\n" -" nop\n" -" nop\n" -"_njsr:\n" -" nop\n" -" nop\n" -" nop\n" -" nop\n" -" nop\n" -" nop\n" " rts\n" " nop\n" "" @@ -164,26 +153,10 @@ __asm__( " nop\n" " mov.l start_leds, r0\n" " mov.l pio_addr, r1\n" -" mov.l r0, @r1\n" +" mov.l r0, @r1\n" " mov.l testjsr_k, r0\n" -" jmp @r0\n" -" nop\n" -"retloc:\n" -" nop\n" -" nop\n" -" mov.l njsr_k, r0\n" " jsr @r0\n" " nop\n" -" mov.l njsr_k, r2\n" -" jsr @r2\n" -" nop\n" -" mov.l njsr_k, r5\n" -" jsr @r5\n" -" nop\n" -" mov.l njsr_k, r10\n" -" jsr @r10\n" -" nop\n" -" nop\n" " mov.l pio_addr, r1\n" " mov.l start1_leds, r0\n" " mov.l r0, @r1\n" @@ -264,7 +237,6 @@ __asm__( "gdbstartup_k: .long _gdb_startup\n" "gdbmonitor_k: .long _gdb_monitor\n" "testjsr_k: .long _testjsr\n" -"njsr_k: .long _njsr\n" #ifndef NO_TESTS "testbra_k: .long _testbra\n" "testmov_k: .long _testmov\n" @@ -287,6 +259,5 @@ __asm__( "start_leds: .long 0x000000ff\n" "start1_leds: .long 0x0000004f\n" "jsr_leds: .long 0x00000011\n" -"retjsr: .long retloc\n" );