@@ -28,6 +28,7 USE grlib.stdlib.ALL; | |||||
28 | LIBRARY techmap; |
|
28 | LIBRARY techmap; | |
29 | USE techmap.gencomp.ALL; |
|
29 | USE techmap.gencomp.ALL; | |
30 | LIBRARY gaisler; |
|
30 | LIBRARY gaisler; | |
|
31 | USE gaisler.sim.ALL; | |||
31 | USE gaisler.memctrl.ALL; |
|
32 | USE gaisler.memctrl.ALL; | |
32 | USE gaisler.leon3.ALL; |
|
33 | USE gaisler.leon3.ALL; | |
33 | USE gaisler.uart.ALL; |
|
34 | USE gaisler.uart.ALL; | |
@@ -44,13 +45,16 USE lpp.iir_filter.ALL; | |||||
44 | USE lpp.general_purpose.ALL; |
|
45 | USE lpp.general_purpose.ALL; | |
45 | USE lpp.lpp_lfr_management.ALL; |
|
46 | USE lpp.lpp_lfr_management.ALL; | |
46 | USE lpp.lpp_leon3_soc_pkg.ALL; |
|
47 | USE lpp.lpp_leon3_soc_pkg.ALL; | |
|
48 | USE lpp.lpp_bootloader_pkg.ALL; | |||
47 |
|
49 | |||
48 | --library proasic3l; |
|
50 | --library proasic3l; | |
49 | --use proasic3l.all; |
|
51 | --use proasic3l.all; | |
50 |
|
52 | |||
51 | ENTITY LFR_EQM IS |
|
53 | ENTITY LFR_EQM IS | |
52 |
|
|
54 | GENERIC ( | |
53 |
|
|
55 | Mem_use : INTEGER := use_RAM; | |
|
56 | USE_BOOTLOADER : INTEGER := 0 | |||
|
57 | ); | |||
54 |
|
58 | |||
55 | PORT ( |
|
59 | PORT ( | |
56 | clk50MHz : IN STD_ULOGIC; |
|
60 | clk50MHz : IN STD_ULOGIC; | |
@@ -392,7 +396,7 BEGIN -- beh | |||||
392 |
|
396 | |||
393 | lpp_lfr_1 : lpp_lfr |
|
397 | lpp_lfr_1 : lpp_lfr | |
394 | GENERIC MAP ( |
|
398 | GENERIC MAP ( | |
395 |
Mem_use => use |
|
399 | Mem_use => Mem_use, | |
396 | nb_data_by_buffer_size => 32, |
|
400 | nb_data_by_buffer_size => 32, | |
397 | --nb_word_by_buffer_size => 30, |
|
401 | --nb_word_by_buffer_size => 30, | |
398 | nb_snapshot_param_size => 32, |
|
402 | nb_snapshot_param_size => 32, | |
@@ -466,4 +470,24 BEGIN -- beh | |||||
466 | ----------------------------------------------------------------------------- |
|
470 | ----------------------------------------------------------------------------- | |
467 | ADC_OEB_bar_HK <= ADC_OEB_bar_CH_s(8); |
|
471 | ADC_OEB_bar_HK <= ADC_OEB_bar_CH_s(8); | |
468 |
|
472 | |||
|
473 | ----------------------------------------------------------------------------- | |||
|
474 | -- | |||
|
475 | ----------------------------------------------------------------------------- | |||
|
476 | inst_bootloader: IF USE_BOOTLOADER = 1 GENERATE | |||
|
477 | lpp_bootloader_1: lpp_bootloader | |||
|
478 | GENERIC MAP ( | |||
|
479 | pindex => 13, | |||
|
480 | paddr => 13, | |||
|
481 | pmask => 16#fff#, | |||
|
482 | hindex => 3, | |||
|
483 | haddr => 0, | |||
|
484 | hmask => 16#fff#) | |||
|
485 | PORT MAP ( | |||
|
486 | HCLK => clk_25, | |||
|
487 | HRESETn => rstn_25, | |||
|
488 | apbi => apbi_ext, | |||
|
489 | apbo => apbo_ext(13), | |||
|
490 | ahbsi => ahbi_s_ext, | |||
|
491 | ahbso => ahbo_s_ext(3)); | |||
|
492 | END GENERATE inst_bootloader; | |||
469 | END beh; |
|
493 | END beh; |
@@ -34,7 +34,6 DIRSKIP = b1553 pcif leon2 leon2ft crypt | |||||
34 | ./general_purpose/lpp_AMR \ |
|
34 | ./general_purpose/lpp_AMR \ | |
35 | ./general_purpose/lpp_balise \ |
|
35 | ./general_purpose/lpp_balise \ | |
36 | ./general_purpose/lpp_delay \ |
|
36 | ./general_purpose/lpp_delay \ | |
37 | ./lpp_bootloader \ |
|
|||
38 | ./dsp/lpp_fft_rtax \ |
|
37 | ./dsp/lpp_fft_rtax \ | |
39 | ./lpp_uart \ |
|
38 | ./lpp_uart \ | |
40 | ./lpp_usb \ |
|
39 | ./lpp_usb \ |
@@ -1,4 +1,4 | |||||
1 |
|
|
1 | #GRLIB=../../.. | |
2 | CC=gcc |
|
2 | CC=gcc | |
3 | XCC=sparc-elf-gcc -I$(GRLIB)/software/leon3 $(BOPT) |
|
3 | XCC=sparc-elf-gcc -I$(GRLIB)/software/leon3 $(BOPT) | |
4 | XAS=sparc-elf-gcc -c -I. -I$(GRLIB)/software/leon3 $(BOPT) |
|
4 | XAS=sparc-elf-gcc -c -I. -I$(GRLIB)/software/leon3 $(BOPT) | |
@@ -19,4 +19,4 make_bootrom : $(GRLIB)/bin/ahbrom.c | |||||
19 | bootrom.vhd: bootrom.exe |
|
19 | bootrom.vhd: bootrom.exe | |
20 | make make_bootrom |
|
20 | make make_bootrom | |
21 | sparc-elf-objcopy -O binary bootrom.exe bootrom.bin |
|
21 | sparc-elf-objcopy -O binary bootrom.exe bootrom.bin | |
22 |
|
|
22 | ./make_bootrom bootrom.bin bootrom.vhd |
@@ -134,13 +134,14 1: | |||||
134 | andcc %g3, 0x0f, %g3 |
|
134 | andcc %g3, 0x0f, %g3 | |
135 | bne 1f |
|
135 | bne 1f | |
136 |
|
136 | |||
137 | set L2MCTRLIO, %g1 |
|
137 | /* set L2MCTRLIO, %g1 | |
138 | set MCFG1, %g2 |
|
138 | set MCFG1, %g2 | |
139 | st %g2, [%g1] |
|
139 | st %g2, [%g1] | |
140 | set MCFG2, %g2 |
|
140 | set MCFG2, %g2 | |
141 | st %g2, [%g1+4] |
|
141 | st %g2, [%g1+4] | |
142 | set MCFG3, %g2 |
|
142 | set MCFG3, %g2 | |
143 | st %g2, [%g1+8] |
|
143 | st %g2, [%g1+8] | |
|
144 | */ | |||
144 | ! set IRQCTRL, %g1 |
|
145 | ! set IRQCTRL, %g1 | |
145 | ! set 0x0ffff, %g2 |
|
146 | ! set 0x0ffff, %g2 | |
146 | ! st %g2, [%g1+0x10] |
|
147 | ! st %g2, [%g1+0x10] | |
@@ -177,7 +178,16 2: subcc %g3, 0, %g0 | |||||
177 | ba 2b |
|
178 | ba 2b | |
178 | sub %g3, 1, %g3 |
|
179 | sub %g3, 1, %g3 | |
179 |
|
180 | |||
|
181 | 3: set RAMSTART_RAMSIZE-32, %fp | |||
|
182 | sub %fp, %g1, %fp | |||
|
183 | sub %fp, 96, %sp | |||
180 |
|
184 | |||
|
185 | set RAMSTART, %g1 | |||
|
186 | ||||
|
187 | jmp %g1 | |||
|
188 | nop | |||
|
189 | ||||
|
190 | /* | |||
181 | 3: |
|
191 | 3: | |
182 | set REG_BOOTLOADER, %10 |
|
192 | set REG_BOOTLOADER, %10 | |
183 | ld [%10], %11 |
|
193 | ld [%10], %11 | |
@@ -200,5 +210,5 RunProg: | |||||
200 |
|
210 | |||
201 | jmp %g1 |
|
211 | jmp %g1 | |
202 | nop |
|
212 | nop | |
203 |
|
213 | */ | ||
204 | .align 32 |
|
214 | .align 32 |
@@ -1,10 +1,12 | |||||
1 | #define MCFG1 0x10380233 |
|
1 | #define MCFG1 0x10380233 | |
2 | #define MCFG2 0xe6A26e60 |
|
2 | #define MCFG2 0xe6A26e60 | |
3 | #define MCFG3 0x000ff000 |
|
3 | #define MCFG3 0x000ff000 | |
4 | #define ASDCFG 0xfff00100 |
|
4 | //#define ASDCFG 0xfff00100 | |
5 | #define DSDCFG 0xe6A06e60 |
|
5 | //#define DSDCFG 0xe6A06e60 | |
6 | #define L2MCTRLIO 0x80000000 |
|
6 | #define L2MCTRLIO 0x80000000 | |
7 | #define IRQCTRL 0x80000200 |
|
7 | #define IRQCTRL 0x80000200 | |
|
8 | #define RAMSTART 0x40000000 | |||
|
9 | #define DSUADDR 0x90000000 | |||
8 | #define RAMSTART_RAMSIZE 0x40100000 |
|
10 | #define RAMSTART_RAMSIZE 0x40100000 | |
9 |
|
11 | |||
10 | #define REG_BOOTLOADER 0x80000D00 |
|
12 | #define REG_BOOTLOADER 0x80000D00 |
@@ -15,7 +15,7 use grlib.amba.all; | |||||
15 | use grlib.stdlib.all; |
|
15 | use grlib.stdlib.all; | |
16 | use grlib.devices.all; |
|
16 | use grlib.devices.all; | |
17 |
|
17 | |||
18 |
entity |
|
18 | entity bootrom is | |
19 | generic ( |
|
19 | generic ( | |
20 | hindex : integer := 0; |
|
20 | hindex : integer := 0; | |
21 | haddr : integer := 0; |
|
21 | haddr : integer := 0; | |
@@ -31,9 +31,9 entity ahbrom is | |||||
31 | ); |
|
31 | ); | |
32 | end; |
|
32 | end; | |
33 |
|
33 | |||
34 |
architecture rtl of |
|
34 | architecture rtl of bootrom is | |
35 | constant abits : integer := 10; |
|
35 | constant abits : integer := 10; | |
36 |
constant bytes : integer := |
|
36 | constant bytes : integer := 528; | |
37 |
|
37 | |||
38 | constant hconfig : ahb_config_type := ( |
|
38 | constant hconfig : ahb_config_type := ( | |
39 | 0 => ahb_device_reg ( VENDOR_GAISLER, GAISLER_AHBROM, 0, 0, 0), |
|
39 | 0 => ahb_device_reg ( VENDOR_GAISLER, GAISLER_AHBROM, 0, 0, 0), | |
@@ -48,7 +48,6 begin | |||||
48 | ahbso.hresp <= "00"; |
|
48 | ahbso.hresp <= "00"; | |
49 | ahbso.hsplit <= (others => '0'); |
|
49 | ahbso.hsplit <= (others => '0'); | |
50 | ahbso.hirq <= (others => '0'); |
|
50 | ahbso.hirq <= (others => '0'); | |
51 | ahbso.hcache <= '1'; |
|
|||
52 | ahbso.hconfig <= hconfig; |
|
51 | ahbso.hconfig <= hconfig; | |
53 | ahbso.hindex <= hindex; |
|
52 | ahbso.hindex <= hindex; | |
54 |
|
53 | |||
@@ -104,139 +103,115 begin | |||||
104 | when 16#00015# => romdata <= X"01000000"; |
|
103 | when 16#00015# => romdata <= X"01000000"; | |
105 | when 16#00016# => romdata <= X"01000000"; |
|
104 | when 16#00016# => romdata <= X"01000000"; | |
106 | when 16#00017# => romdata <= X"01000000"; |
|
105 | when 16#00017# => romdata <= X"01000000"; | |
107 |
when 16#00018# => romdata <= X" |
|
106 | when 16#00018# => romdata <= X"05240000"; | |
108 |
when 16#00019# => romdata <= X" |
|
107 | when 16#00019# => romdata <= X"C0208000"; | |
109 |
when 16#0001A# => romdata <= X" |
|
108 | when 16#0001A# => romdata <= X"C020A008"; | |
110 |
when 16#0001B# => romdata <= X" |
|
109 | when 16#0001B# => romdata <= X"C020A020"; | |
111 |
when 16#0001C# => romdata <= X" |
|
110 | when 16#0001C# => romdata <= X"C020A024"; | |
112 |
when 16#0001D# => romdata <= X" |
|
111 | when 16#0001D# => romdata <= X"C020A040"; | |
113 |
when 16#0001E# => romdata <= X" |
|
112 | when 16#0001E# => romdata <= X"C020A044"; | |
114 |
when 16#0001F# => romdata <= X" |
|
113 | when 16#0001F# => romdata <= X"C020A050"; | |
115 |
when 16#00020# => romdata <= X" |
|
114 | when 16#00020# => romdata <= X"C020A054"; | |
116 |
when 16#00021# => romdata <= X" |
|
115 | when 16#00021# => romdata <= X"C020A058"; | |
117 |
when 16#00022# => romdata <= X" |
|
116 | when 16#00022# => romdata <= X"C020A05C"; | |
118 |
when 16#00023# => romdata <= X" |
|
117 | when 16#00023# => romdata <= X"C020A054"; | |
119 |
when 16#00024# => romdata <= X" |
|
118 | when 16#00024# => romdata <= X"87444000"; | |
120 |
when 16#00025# => romdata <= X" |
|
119 | when 16#00025# => romdata <= X"8608E01F"; | |
121 |
when 16#00026# => romdata <= X" |
|
120 | when 16#00026# => romdata <= X"88100000"; | |
122 |
when 16#00027# => romdata <= X" |
|
121 | when 16#00027# => romdata <= X"8A100000"; | |
123 |
when 16#00028# => romdata <= X" |
|
122 | when 16#00028# => romdata <= X"8C100000"; | |
124 |
when 16#00029# => romdata <= X" |
|
123 | when 16#00029# => romdata <= X"8E100000"; | |
125 |
when 16#0002A# => romdata <= X" |
|
124 | when 16#0002A# => romdata <= X"A0100000"; | |
126 |
when 16#0002B# => romdata <= X" |
|
125 | when 16#0002B# => romdata <= X"A2100000"; | |
127 |
when 16#0002C# => romdata <= X" |
|
126 | when 16#0002C# => romdata <= X"A4100000"; | |
128 |
when 16#0002D# => romdata <= X" |
|
127 | when 16#0002D# => romdata <= X"A6100000"; | |
129 |
when 16#0002E# => romdata <= X" |
|
128 | when 16#0002E# => romdata <= X"A8100000"; | |
130 |
when 16#0002F# => romdata <= X" |
|
129 | when 16#0002F# => romdata <= X"AA100000"; | |
131 |
when 16#00030# => romdata <= X" |
|
130 | when 16#00030# => romdata <= X"AC100000"; | |
132 |
when 16#00031# => romdata <= X" |
|
131 | when 16#00031# => romdata <= X"AE100000"; | |
133 |
when 16#00032# => romdata <= X" |
|
132 | when 16#00032# => romdata <= X"90100000"; | |
134 |
when 16#00033# => romdata <= X" |
|
133 | when 16#00033# => romdata <= X"92100000"; | |
135 |
when 16#00034# => romdata <= X" |
|
134 | when 16#00034# => romdata <= X"94100000"; | |
136 |
when 16#00035# => romdata <= X" |
|
135 | when 16#00035# => romdata <= X"96100000"; | |
137 |
when 16#00036# => romdata <= X" |
|
136 | when 16#00036# => romdata <= X"98100000"; | |
138 |
when 16#00037# => romdata <= X" |
|
137 | when 16#00037# => romdata <= X"9A100000"; | |
139 |
when 16#00038# => romdata <= X" |
|
138 | when 16#00038# => romdata <= X"9C100000"; | |
140 |
when 16#00039# => romdata <= X" |
|
139 | when 16#00039# => romdata <= X"9E100000"; | |
141 |
when 16#0003A# => romdata <= X"8 |
|
140 | when 16#0003A# => romdata <= X"86A0E001"; | |
142 |
when 16#0003B# => romdata <= X" |
|
141 | when 16#0003B# => romdata <= X"16BFFFEF"; | |
143 |
when 16#0003C# => romdata <= X" |
|
142 | when 16#0003C# => romdata <= X"81E00000"; | |
144 |
when 16#0003D# => romdata <= X" |
|
143 | when 16#0003D# => romdata <= X"82102002"; | |
145 |
when 16#0003E# => romdata <= X" |
|
144 | when 16#0003E# => romdata <= X"81904000"; | |
146 |
when 16#0003F# => romdata <= X" |
|
145 | when 16#0003F# => romdata <= X"03000004"; | |
147 |
when 16#00040# => romdata <= X" |
|
146 | when 16#00040# => romdata <= X"821060E0"; | |
148 |
when 16#00041# => romdata <= X" |
|
147 | when 16#00041# => romdata <= X"81884000"; | |
149 |
when 16#00042# => romdata <= X" |
|
148 | when 16#00042# => romdata <= X"01000000"; | |
150 |
when 16#00043# => romdata <= X" |
|
149 | when 16#00043# => romdata <= X"01000000"; | |
151 |
when 16#00044# => romdata <= X" |
|
150 | when 16#00044# => romdata <= X"01000000"; | |
152 |
when 16#00045# => romdata <= X" |
|
151 | when 16#00045# => romdata <= X"83480000"; | |
153 |
when 16#00046# => romdata <= X" |
|
152 | when 16#00046# => romdata <= X"8330600C"; | |
154 |
when 16#00047# => romdata <= X" |
|
153 | when 16#00047# => romdata <= X"80886001"; | |
155 |
when 16#00048# => romdata <= X" |
|
154 | when 16#00048# => romdata <= X"02800024"; | |
156 |
when 16#00049# => romdata <= X" |
|
155 | when 16#00049# => romdata <= X"01000000"; | |
157 |
when 16#0004A# => romdata <= X" |
|
156 | when 16#0004A# => romdata <= X"07000000"; | |
158 |
when 16#0004B# => romdata <= X"E |
|
157 | when 16#0004B# => romdata <= X"8610E1A8"; | |
159 |
when 16#0004C# => romdata <= X" |
|
158 | when 16#0004C# => romdata <= X"C108C000"; | |
160 |
when 16#0004D# => romdata <= X" |
|
159 | when 16#0004D# => romdata <= X"C118C000"; | |
161 |
when 16#0004E# => romdata <= X" |
|
160 | when 16#0004E# => romdata <= X"C518C000"; | |
162 |
when 16#0004F# => romdata <= X" |
|
161 | when 16#0004F# => romdata <= X"C918C000"; | |
163 |
when 16#00050# => romdata <= X" |
|
162 | when 16#00050# => romdata <= X"CD18C000"; | |
164 |
when 16#00051# => romdata <= X" |
|
163 | when 16#00051# => romdata <= X"D118C000"; | |
165 |
when 16#00052# => romdata <= X" |
|
164 | when 16#00052# => romdata <= X"D518C000"; | |
166 |
when 16#00053# => romdata <= X" |
|
165 | when 16#00053# => romdata <= X"D918C000"; | |
167 |
when 16#00054# => romdata <= X" |
|
166 | when 16#00054# => romdata <= X"DD18C000"; | |
168 |
when 16#00055# => romdata <= X" |
|
167 | when 16#00055# => romdata <= X"E118C000"; | |
169 |
when 16#00056# => romdata <= X" |
|
168 | when 16#00056# => romdata <= X"E518C000"; | |
170 |
when 16#00057# => romdata <= X" |
|
169 | when 16#00057# => romdata <= X"E918C000"; | |
171 |
when 16#00058# => romdata <= X" |
|
170 | when 16#00058# => romdata <= X"ED18C000"; | |
172 |
when 16#00059# => romdata <= X" |
|
171 | when 16#00059# => romdata <= X"F118C000"; | |
173 |
when 16#0005A# => romdata <= X" |
|
172 | when 16#0005A# => romdata <= X"F518C000"; | |
174 |
when 16#0005B# => romdata <= X" |
|
173 | when 16#0005B# => romdata <= X"F918C000"; | |
175 |
when 16#0005C# => romdata <= X" |
|
174 | when 16#0005C# => romdata <= X"FD18C000"; | |
176 | when 16#0005D# => romdata <= X"01000000"; |
|
175 | when 16#0005D# => romdata <= X"01000000"; | |
177 |
when 16#0005E# => romdata <= X"0 |
|
176 | when 16#0005E# => romdata <= X"01000000"; | |
178 |
when 16#0005F# => romdata <= X"0 |
|
177 | when 16#0005F# => romdata <= X"01000000"; | |
179 |
when 16#00060# => romdata <= X" |
|
178 | when 16#00060# => romdata <= X"01000000"; | |
180 |
when 16#00061# => romdata <= X" |
|
179 | when 16#00061# => romdata <= X"01000000"; | |
181 |
when 16#00062# => romdata <= X"8 |
|
180 | when 16#00062# => romdata <= X"89A00842"; | |
182 |
when 16#00063# => romdata <= X" |
|
181 | when 16#00063# => romdata <= X"01000000"; | |
183 |
when 16#00064# => romdata <= X"0 |
|
182 | when 16#00064# => romdata <= X"01000000"; | |
184 |
when 16#00065# => romdata <= X"0 |
|
183 | when 16#00065# => romdata <= X"01000000"; | |
185 |
when 16#00066# => romdata <= X" |
|
184 | when 16#00066# => romdata <= X"01000000"; | |
186 |
when 16#00067# => romdata <= X" |
|
185 | when 16#00067# => romdata <= X"10800005"; | |
187 |
when 16#00068# => romdata <= X"0 |
|
186 | when 16#00068# => romdata <= X"01000000"; | |
188 |
when 16#00069# => romdata <= X" |
|
187 | when 16#00069# => romdata <= X"01000000"; | |
189 |
when 16#0006A# => romdata <= X" |
|
188 | when 16#0006A# => romdata <= X"00000000"; | |
190 |
when 16#0006B# => romdata <= X"0 |
|
189 | when 16#0006B# => romdata <= X"00000000"; | |
191 |
when 16#0006C# => romdata <= X" |
|
190 | when 16#0006C# => romdata <= X"87444000"; | |
192 |
when 16#0006D# => romdata <= X"8 |
|
191 | when 16#0006D# => romdata <= X"8730E01C"; | |
193 |
when 16#0006E# => romdata <= X" |
|
192 | when 16#0006E# => romdata <= X"8688E00F"; | |
194 |
when 16#0006F# => romdata <= X" |
|
193 | when 16#0006F# => romdata <= X"12800001"; | |
195 |
when 16#00070# => romdata <= X"0 |
|
194 | when 16#00070# => romdata <= X"05000080"; | |
196 |
when 16#00071# => romdata <= X"8210 |
|
195 | when 16#00071# => romdata <= X"82100000"; | |
197 |
when 16#00072# => romdata <= X"80A0 |
|
196 | when 16#00072# => romdata <= X"80A0E000"; | |
198 |
when 16#00073# => romdata <= X" |
|
197 | when 16#00073# => romdata <= X"02800005"; | |
199 |
when 16#00074# => romdata <= X"0 |
|
198 | when 16#00074# => romdata <= X"01000000"; | |
200 |
when 16#00075# => romdata <= X"82 |
|
199 | when 16#00075# => romdata <= X"82004002"; | |
201 |
when 16#00076# => romdata <= X" |
|
200 | when 16#00076# => romdata <= X"10BFFFFC"; | |
202 |
when 16#00077# => romdata <= X"8 |
|
201 | when 16#00077# => romdata <= X"8620E001"; | |
203 |
when 16#00078# => romdata <= X" |
|
202 | when 16#00078# => romdata <= X"3D1003FF"; | |
204 |
when 16#00079# => romdata <= X" |
|
203 | when 16#00079# => romdata <= X"BC17A3E0"; | |
205 |
when 16#0007A# => romdata <= X" |
|
204 | when 16#0007A# => romdata <= X"BC278001"; | |
206 |
when 16#0007B# => romdata <= X" |
|
205 | when 16#0007B# => romdata <= X"9C27A060"; | |
207 |
when 16#0007C# => romdata <= X"0 |
|
206 | when 16#0007C# => romdata <= X"03100000"; | |
208 |
when 16#0007D# => romdata <= X" |
|
207 | when 16#0007D# => romdata <= X"81C04000"; | |
209 |
when 16#0007E# => romdata <= X" |
|
208 | when 16#0007E# => romdata <= X"01000000"; | |
210 |
when 16#0007F# => romdata <= X" |
|
209 | when 16#0007F# => romdata <= X"01000000"; | |
211 |
when 16#00080# => romdata <= X" |
|
210 | when 16#00080# => romdata <= X"00000000"; | |
212 |
when 16#00081# => romdata <= X" |
|
211 | when 16#00081# => romdata <= X"00000000"; | |
213 |
when 16#00082# => romdata <= X" |
|
212 | when 16#00082# => romdata <= X"00000000"; | |
214 |
when 16#00083# => romdata <= X" |
|
213 | when 16#00083# => romdata <= X"00000000"; | |
215 |
when 16#00084# => romdata <= X" |
|
214 | when 16#00084# => romdata <= X"00000000"; | |
216 | when 16#00085# => romdata <= X"02800005"; |
|
|||
217 | when 16#00086# => romdata <= X"01000000"; |
|
|||
218 | when 16#00087# => romdata <= X"D602A004"; |
|
|||
219 | when 16#00088# => romdata <= X"8092C000"; |
|
|||
220 | when 16#00089# => romdata <= X"02BFFFFD"; |
|
|||
221 | when 16#0008A# => romdata <= X"01000000"; |
|
|||
222 | when 16#0008B# => romdata <= X"D602A008"; |
|
|||
223 | when 16#0008C# => romdata <= X"151003FF"; |
|
|||
224 | when 16#0008D# => romdata <= X"9412A3E0"; |
|
|||
225 | when 16#0008E# => romdata <= X"BC02C00A"; |
|
|||
226 | when 16#0008F# => romdata <= X"BC278001"; |
|
|||
227 | when 16#00090# => romdata <= X"9C27A060"; |
|
|||
228 | when 16#00091# => romdata <= X"8210000B"; |
|
|||
229 | when 16#00092# => romdata <= X"81C04000"; |
|
|||
230 | when 16#00093# => romdata <= X"01000000"; |
|
|||
231 | when 16#00094# => romdata <= X"01000000"; |
|
|||
232 | when 16#00095# => romdata <= X"01000000"; |
|
|||
233 | when 16#00096# => romdata <= X"01000000"; |
|
|||
234 | when 16#00097# => romdata <= X"01000000"; |
|
|||
235 | when 16#00098# => romdata <= X"00000000"; |
|
|||
236 | when 16#00099# => romdata <= X"00000000"; |
|
|||
237 | when 16#0009A# => romdata <= X"00000000"; |
|
|||
238 | when 16#0009B# => romdata <= X"00000000"; |
|
|||
239 | when 16#0009C# => romdata <= X"00000000"; |
|
|||
240 | when others => romdata <= (others => '-'); |
|
215 | when others => romdata <= (others => '-'); | |
241 | end case; |
|
216 | end case; | |
242 | end process; |
|
217 | end process; |
@@ -70,7 +70,7 ARCHITECTURE Beh OF lpp_bootloader IS | |||||
70 | config_wait_on_boot : STD_LOGIC; |
|
70 | config_wait_on_boot : STD_LOGIC; | |
71 | config_start_execution : STD_LOGIC; |
|
71 | config_start_execution : STD_LOGIC; | |
72 | addr_start_execution : STD_LOGIC_VECTOR(31 DOWNTO 0); |
|
72 | addr_start_execution : STD_LOGIC_VECTOR(31 DOWNTO 0); | |
73 | addr_fp : STD_LOGIC_VECTOR(31 DOWNTO 0); |
|
73 | -- addr_fp : STD_LOGIC_VECTOR(31 DOWNTO 0); | |
74 | END RECORD; |
|
74 | END RECORD; | |
75 |
|
75 | |||
76 | SIGNAL reg : lpp_bootloader_regs; |
|
76 | SIGNAL reg : lpp_bootloader_regs; | |
@@ -83,7 +83,7 BEGIN -- Beh | |||||
83 | ----------------------------------------------------------------------------- |
|
83 | ----------------------------------------------------------------------------- | |
84 | -- AHBROM |
|
84 | -- AHBROM | |
85 | ----------------------------------------------------------------------------- |
|
85 | ----------------------------------------------------------------------------- | |
86 |
ahbrom_1 : |
|
86 | ahbrom_1 : bootrom | |
87 | GENERIC MAP ( |
|
87 | GENERIC MAP ( | |
88 | hindex => hindex, |
|
88 | hindex => hindex, | |
89 | haddr => haddr, |
|
89 | haddr => haddr, |
@@ -46,7 +46,7 PACKAGE lpp_bootloader_pkg IS | |||||
46 | ahbso : OUT ahb_slv_out_type); |
|
46 | ahbso : OUT ahb_slv_out_type); | |
47 | END COMPONENT; |
|
47 | END COMPONENT; | |
48 |
|
48 | |||
49 |
COMPONENT |
|
49 | COMPONENT bootrom | |
50 | GENERIC ( |
|
50 | GENERIC ( | |
51 | hindex : INTEGER; |
|
51 | hindex : INTEGER; | |
52 | haddr : INTEGER; |
|
52 | haddr : INTEGER; |
@@ -147,7 +147,7 BEGIN | |||||
147 | AHB_Master_Out.HTRANS <= HTRANS_IDLE; |
|
147 | AHB_Master_Out.HTRANS <= HTRANS_IDLE; | |
148 | address_counter_reg <= (OTHERS => '0'); |
|
148 | address_counter_reg <= (OTHERS => '0'); | |
149 |
|
149 | |||
150 | IF AHB_Master_In.HGRANT(hindex) = '1' THEN |
|
150 | IF AHB_Master_In.HREADY = '1' AND AHB_Master_In.HGRANT(hindex) = '1' THEN | |
151 | AHB_Master_Out.HTRANS <= HTRANS_IDLE; |
|
151 | AHB_Master_Out.HTRANS <= HTRANS_IDLE; | |
152 | state <= s_CTRL; |
|
152 | state <= s_CTRL; | |
153 | END IF; |
|
153 | END IF; |
General Comments 0
You need to be logged in to leave comments.
Login now