OpenCores
URL https://opencores.org/ocsvn/pavr/pavr/trunk

Subversion Repositories pavr

[/] [pavr/] [trunk/] [src/] [test_pavr.vhd] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 doru
-- <File header>
2
-- Project
3
--    pAVR (pipelined AVR) is an 8 bit RISC controller, compatible with Atmel's
4
--    AVR core, but about 3x faster in terms of both clock frequency and MIPS.
5
--    The increase in speed comes from a relatively deep pipeline. The original
6
--    AVR core has only two pipeline stages (fetch and execute), while pAVR has
7
--    6 pipeline stages:
8
--       1. PM    (read Program Memory)
9
--       2. INSTR (load Instruction)
10
--       3. RFRD  (decode Instruction and read Register File)
11
--       4. OPS   (load Operands)
12
--       5. ALU   (execute ALU opcode or access Unified Memory)
13
--       6. RFWR  (write Register File)
14
-- Version
15
--    0.32
16
-- Date
17
--    2002 August 07
18
-- Author
19
--    Doru Cuturela, doruu@yahoo.com
20
-- License
21
--    This program is free software; you can redistribute it and/or modify
22
--    it under the terms of the GNU General Public License as published by
23
--    the Free Software Foundation; either version 2 of the License, or
24
--    (at your option) any later version.
25
--    This program is distributed in the hope that it will be useful,
26
--    but WITHOUT ANY WARRANTY; without even the implied warranty of
27
--    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28
--    GNU General Public License for more details.
29
--    You should have received a copy of the GNU General Public License
30
--    along with this program; if not, write to the Free Software
31
--    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
32
-- </File header>
33
 
34
 
35
 
36
-- <File info>
37
-- This is the main test entity. It embedds a pAVR controller, its Program
38
--    Memory and a muxer for taking/getting Program Memory access to/from pAVR.
39
-- This entity implements the following behavior:
40
--    - 1. reset all registers.
41
--       For the easyness of debugging, they are resetted to a particular non-zero
42
--       value (0x77).
43
--       Funny enough, the registers are initialized by pAVR itself, by providing
44
--       to it code for that.
45
--    - 2. load the Program Memory with pAVR's program.
46
--       This section is tagged. By using the TagScan utility, this architecture
47
--       is automatically modified so that an external binary file is transposed
48
--       into VHDL statements that load the Program Memory.
49
--       This section rewrites the code from the previous section (register
50
--       loading).
51
--    - 3. Finally, release the reset lines and let pAVR do its job.
52
-- Note
53
--    Care has NOT been taken not to generate latches all over these tests.
54
--    They ARE generated, there are even 3 state latches, for the ease of testing.
55
--    However, care HAS BEEN taken in pAVR sources that no latches should be
56
--    generated there. That is because pAVR is meant to be synthesizable, while
57
--    pAVR tests are not.
58
-- To do
59
--    - Afer resetting registers, but before loading binary file, pAVR executes
60
--       instructions that are made of Xs. It happens that the instruction decoder
61
--       decodes these into nops, so it's OK, but not nice. This must be corrected.
62
-- </File info>
63
 
64
 
65
 
66
-- <File body>
67
library ieee;
68
use ieee.std_logic_1164.all;
69
library work;
70
use work.std_util.all;
71
use work.pavr_util.all;
72
use work.pavr_constants.all;
73
use work.test_pavr_util.all;
74
use work.test_pavr_constants.all;
75
 
76
 
77
entity test_pavr is
78
end;
79
 
80
 
81
architecture test_pavr_arch of test_pavr is
82
   signal clk, res, syncres: std_logic;
83
 
84
   -- Clock counter
85
   -- Maximum number of testing clocks: 2 billions instructions. Should be enough...
86
   signal main_clk_cnt, run_clk_cnt: std_logic_vector(30 downto 0);
87
 
88
   -- Instruction counter
89
   signal instr_cnt: std_logic_vector(30 downto 0);
90
 
91
   -- Signals to control the mixture formed by pAVR, Program Memory and muxers.
92
   signal pm_sel:  std_logic;
93
   signal pm_di:   std_logic_vector(15 downto 0);
94
   signal pm_wr:   std_logic;
95
   signal pm_addr: std_logic_vector(21 downto 0);
96
   signal pa:      std_logic_vector(7 downto 0);
97
 
98
   -- pAVR controller-related connectivity
99
   signal pavr_pavr_res:     std_logic;
100
   signal pavr_pavr_syncres: std_logic;
101
   signal pavr_pavr_pm_addr: std_logic_vector(21 downto 0);
102
   signal pavr_pavr_pm_do:   std_logic_vector(15 downto 0);
103
   signal pavr_pavr_pm_wr:   std_logic;
104
   signal pavr_pavr_inc_instr_cnt: std_logic_vector(1 downto 0);
105
 
106
   -- PM-related connectivity
107
   signal pm_pavr_pm_wr:   std_logic;
108
   signal pm_pavr_pm_addr: std_logic_vector(21 downto 0);
109
   signal pm_pavr_pm_di:   std_logic_vector(15 downto 0);
110
   signal pm_pavr_pm_do:   std_logic_vector(15 downto 0);
111
 
112
   -- Declare the pAVR controller.
113
   component pavr
114
   port(
115
      pavr_clk:      in    std_logic;
116
      pavr_res:      in    std_logic;
117
      pavr_syncres:  in    std_logic;
118
      pavr_pm_addr:  out   std_logic_vector(21 downto 0);
119
      pavr_pm_do:    in    std_logic_vector(15 downto 0);
120
      pavr_pm_wr:    out   std_logic;
121
      pavr_pa:       inout std_logic_vector(7 downto 0);
122
      pavr_inc_instr_cnt: out std_logic_vector(1 downto 0)
123
   );
124
   end component;
125
   for all: pavr use entity work.pavr(pavr_arch);
126
 
127
   -- Declare the Program Memory.
128
   component pavr_pm
129
   port(
130
      pavr_pm_clk:  in  std_logic;
131
      pavr_pm_wr:   in  std_logic;
132
      pavr_pm_addr: in  std_logic_vector(21 downto 0);
133
      pavr_pm_di:   in  std_logic_vector(15 downto 0);
134
      pavr_pm_do:   out std_logic_vector(15 downto 0)
135
   );
136
   end component;
137
   for all: pavr_pm use entity work.pavr_pm(pavr_pm_arch);
138
 
139
begin
140
 
141
   -- Instantiate the pAVR controller.
142
   pavr_instance1: pavr
143
   port map(
144
      clk,
145
      pavr_pavr_res,
146
      pavr_pavr_syncres,
147
      pavr_pavr_pm_addr,
148
      pavr_pavr_pm_do,
149
      pavr_pavr_pm_wr,
150
      pa,
151
      pavr_pavr_inc_instr_cnt
152
   );
153
 
154
   -- Instantiate the Program Memory.
155
   pavr_pm_instance1: pavr_pm
156
   port map(
157
      clk,
158
      pm_pavr_pm_wr,
159
      pm_pavr_pm_addr,
160
      pm_pavr_pm_di,
161
      pm_pavr_pm_do
162
   );
163
 
164
   generate_clock:
165
   process
166
   begin
167
      clk <= '1';
168
      wait for 50 ns;
169
      clk <= '0';
170
      wait for 50 ns;
171
   end process generate_clock;
172
 
173
 
174
   generate_reset:
175
   process
176
   begin
177
      --res <= '0';
178
      --wait for 100 ns;
179
      res <= '1';
180
      wait for 110 ns;
181
      res <= '0';
182
      wait for 1000000 sec;
183
   end process generate_reset;
184
 
185
 
186
   generate_sync_reset:
187
   process
188
   begin
189
      --syncres <= '0';
190
      --wait for 300 ns;
191
      syncres <= '1';
192
      wait for 310 ns;
193
      syncres <= '0';
194
      wait for 1000000 sec;
195
   end process generate_sync_reset;
196
 
197
 
198
   test_main:
199
   process(clk, res, syncres,
200
           pm_di, pm_addr, pavr_pavr_res, pavr_pavr_syncres,
201
           main_clk_cnt, run_clk_cnt, instr_cnt,
202
           pavr_pavr_inc_instr_cnt
203
          )
204
      variable tmpv1: std_logic_vector(pm_di'length+pm_addr'length-1 downto 0);  -- This will generate a latch, but who cares? this is not intended to be synthesized.
205
   begin
206
      if res='1' then
207
         -- Async reset
208
 
209
         -- Reset the controller in turn.
210
         pavr_pavr_res <= '1';
211
 
212
         main_clk_cnt <= int_to_std_logic_vector(0, main_clk_cnt'length);
213
         run_clk_cnt  <= int_to_std_logic_vector(0, run_clk_cnt'length);
214
         instr_cnt    <= int_to_std_logic_vector(0, instr_cnt'length);
215
      elsif clk'event and clk='1' then
216
         -- Clock counter
217
         main_clk_cnt <= main_clk_cnt+1;
218
         run_clk_cnt  <= run_clk_cnt+1;
219
 
220
         -- Instruction counter
221
         case pavr_pavr_inc_instr_cnt is
222
            when "01" =>
223
               instr_cnt <= instr_cnt+1;
224
            when "10" =>
225
               instr_cnt <= instr_cnt+2;
226
            when "11" =>
227
               instr_cnt <= instr_cnt-1;
228
            when others =>
229
               null;
230
         end case;
231
 
232
         -- Set up Program Memory and let pAVR do its job.
233
         if (std_logic_vector_to_nat(main_clk_cnt)>=3 and std_logic_vector_to_nat(main_clk_cnt)<35) or
234
            (std_logic_vector_to_nat(main_clk_cnt)>=100 and std_logic_vector_to_nat(main_clk_cnt)<
235
         -- The following tagged lines are written automatically, based on the binary file,
236
         --    by using the tagScan utility.
237
-- <Clk Cnt>
238
964
239
-- </Clk Cnt>
240
            ) then
241
            -- Set up Program Memory.
242
            case std_logic_vector_to_nat(main_clk_cnt) is
243
               -- Initialize all 32 registers to 0x77.
244
               when  3 => tmpv1 := pm_setup( 0, 16#e747#);
245
               when  4 => tmpv1 := pm_setup( 1, 16#2e04#);
246
               when  5 => tmpv1 := pm_setup( 2, 16#2e14#);
247
               when  6 => tmpv1 := pm_setup( 3, 16#2e24#);
248
               when  7 => tmpv1 := pm_setup( 4, 16#2e34#);
249
               when  8 => tmpv1 := pm_setup( 5, 16#2e44#);
250
               when  9 => tmpv1 := pm_setup( 6, 16#2e54#);
251
               when 10 => tmpv1 := pm_setup( 7, 16#2e64#);
252
               when 11 => tmpv1 := pm_setup( 8, 16#2e74#);
253
               when 12 => tmpv1 := pm_setup( 9, 16#2e84#);
254
               when 13 => tmpv1 := pm_setup(10, 16#2e94#);
255
               when 14 => tmpv1 := pm_setup(11, 16#2ea4#);
256
               when 15 => tmpv1 := pm_setup(12, 16#2eb4#);
257
               when 16 => tmpv1 := pm_setup(13, 16#2ec4#);
258
               when 17 => tmpv1 := pm_setup(14, 16#2ed4#);
259
               when 18 => tmpv1 := pm_setup(15, 16#2ee4#);
260
               when 19 => tmpv1 := pm_setup(16, 16#2ef4#);
261
               when 20 => tmpv1 := pm_setup(17, 16#2f04#);
262
               when 21 => tmpv1 := pm_setup(18, 16#2f14#);
263
               when 22 => tmpv1 := pm_setup(19, 16#2f24#);
264
               when 23 => tmpv1 := pm_setup(20, 16#2f34#);
265
               when 24 => tmpv1 := pm_setup(21, 16#2f54#);
266
               when 25 => tmpv1 := pm_setup(22, 16#2f64#);
267
               when 26 => tmpv1 := pm_setup(23, 16#2f74#);
268
               when 27 => tmpv1 := pm_setup(24, 16#2f84#);
269
               when 28 => tmpv1 := pm_setup(25, 16#2f94#);
270
               when 29 => tmpv1 := pm_setup(26, 16#2fa4#);
271
               when 30 => tmpv1 := pm_setup(27, 16#2fb4#);
272
               when 31 => tmpv1 := pm_setup(28, 16#2fc4#);
273
               when 32 => tmpv1 := pm_setup(29, 16#2fd4#);
274
               when 33 => tmpv1 := pm_setup(30, 16#2fe4#);
275
               when 34 => tmpv1 := pm_setup(31, 16#2ff4#);
276
               -- The following tagged lines are written automatically, based on the binary file,
277
               --    by using the tagScan utility.
278
-- <Instructions>
279
               when 100 => tmpv1 := pm_setup(0, 16#940c#);
280
               when 101 => tmpv1 := pm_setup(1, 16#0030#);
281
               when 102 => tmpv1 := pm_setup(2, 16#940c#);
282
               when 103 => tmpv1 := pm_setup(3, 16#0050#);
283
               when 104 => tmpv1 := pm_setup(4, 16#940c#);
284
               when 105 => tmpv1 := pm_setup(5, 16#0050#);
285
               when 106 => tmpv1 := pm_setup(6, 16#940c#);
286
               when 107 => tmpv1 := pm_setup(7, 16#0050#);
287
               when 108 => tmpv1 := pm_setup(8, 16#940c#);
288
               when 109 => tmpv1 := pm_setup(9, 16#0050#);
289
               when 110 => tmpv1 := pm_setup(10, 16#940c#);
290
               when 111 => tmpv1 := pm_setup(11, 16#0050#);
291
               when 112 => tmpv1 := pm_setup(12, 16#940c#);
292
               when 113 => tmpv1 := pm_setup(13, 16#0050#);
293
               when 114 => tmpv1 := pm_setup(14, 16#940c#);
294
               when 115 => tmpv1 := pm_setup(15, 16#0050#);
295
               when 116 => tmpv1 := pm_setup(16, 16#940c#);
296
               when 117 => tmpv1 := pm_setup(17, 16#0050#);
297
               when 118 => tmpv1 := pm_setup(18, 16#940c#);
298
               when 119 => tmpv1 := pm_setup(19, 16#0050#);
299
               when 120 => tmpv1 := pm_setup(20, 16#940c#);
300
               when 121 => tmpv1 := pm_setup(21, 16#0050#);
301
               when 122 => tmpv1 := pm_setup(22, 16#940c#);
302
               when 123 => tmpv1 := pm_setup(23, 16#0050#);
303
               when 124 => tmpv1 := pm_setup(24, 16#940c#);
304
               when 125 => tmpv1 := pm_setup(25, 16#0050#);
305
               when 126 => tmpv1 := pm_setup(26, 16#940c#);
306
               when 127 => tmpv1 := pm_setup(27, 16#0050#);
307
               when 128 => tmpv1 := pm_setup(28, 16#940c#);
308
               when 129 => tmpv1 := pm_setup(29, 16#0050#);
309
               when 130 => tmpv1 := pm_setup(30, 16#940c#);
310
               when 131 => tmpv1 := pm_setup(31, 16#0050#);
311
               when 132 => tmpv1 := pm_setup(32, 16#940c#);
312
               when 133 => tmpv1 := pm_setup(33, 16#0050#);
313
               when 134 => tmpv1 := pm_setup(34, 16#940c#);
314
               when 135 => tmpv1 := pm_setup(35, 16#0050#);
315
               when 136 => tmpv1 := pm_setup(36, 16#940c#);
316
               when 137 => tmpv1 := pm_setup(37, 16#0050#);
317
               when 138 => tmpv1 := pm_setup(38, 16#940c#);
318
               when 139 => tmpv1 := pm_setup(39, 16#0050#);
319
               when 140 => tmpv1 := pm_setup(40, 16#940c#);
320
               when 141 => tmpv1 := pm_setup(41, 16#0050#);
321
               when 142 => tmpv1 := pm_setup(42, 16#940c#);
322
               when 143 => tmpv1 := pm_setup(43, 16#0050#);
323
               when 144 => tmpv1 := pm_setup(44, 16#940c#);
324
               when 145 => tmpv1 := pm_setup(45, 16#0050#);
325
               when 146 => tmpv1 := pm_setup(46, 16#940c#);
326
               when 147 => tmpv1 := pm_setup(47, 16#0050#);
327
               when 148 => tmpv1 := pm_setup(48, 16#2411#);
328
               when 149 => tmpv1 := pm_setup(49, 16#be1f#);
329
               when 150 => tmpv1 := pm_setup(50, 16#efcf#);
330
               when 151 => tmpv1 := pm_setup(51, 16#e0df#);
331
               when 152 => tmpv1 := pm_setup(52, 16#bfde#);
332
               when 153 => tmpv1 := pm_setup(53, 16#bfcd#);
333
               when 154 => tmpv1 := pm_setup(54, 16#e010#);
334
               when 155 => tmpv1 := pm_setup(55, 16#e6a0#);
335
               when 156 => tmpv1 := pm_setup(56, 16#e0b0#);
336
               when 157 => tmpv1 := pm_setup(57, 16#ece0#);
337
               when 158 => tmpv1 := pm_setup(58, 16#e0f6#);
338
               when 159 => tmpv1 := pm_setup(59, 16#ef0f#);
339
               when 160 => tmpv1 := pm_setup(60, 16#9503#);
340
               when 161 => tmpv1 := pm_setup(61, 16#bf0b#);
341
               when 162 => tmpv1 := pm_setup(62, 16#c004#);
342
               when 163 => tmpv1 := pm_setup(63, 16#95c8#);
343
               when 164 => tmpv1 := pm_setup(64, 16#920d#);
344
               when 165 => tmpv1 := pm_setup(65, 16#9631#);
345
               when 166 => tmpv1 := pm_setup(66, 16#f3c8#);
346
               when 167 => tmpv1 := pm_setup(67, 16#36a0#);
347
               when 168 => tmpv1 := pm_setup(68, 16#07b1#);
348
               when 169 => tmpv1 := pm_setup(69, 16#f7c9#);
349
               when 170 => tmpv1 := pm_setup(70, 16#e011#);
350
               when 171 => tmpv1 := pm_setup(71, 16#e6a0#);
351
               when 172 => tmpv1 := pm_setup(72, 16#e0b0#);
352
               when 173 => tmpv1 := pm_setup(73, 16#c001#);
353
               when 174 => tmpv1 := pm_setup(74, 16#921d#);
354
               when 175 => tmpv1 := pm_setup(75, 16#35a1#);
355
               when 176 => tmpv1 := pm_setup(76, 16#07b1#);
356
               when 177 => tmpv1 := pm_setup(77, 16#f7e1#);
357
               when 178 => tmpv1 := pm_setup(78, 16#940c#);
358
               when 179 => tmpv1 := pm_setup(79, 16#0052#);
359
               when 180 => tmpv1 := pm_setup(80, 16#940c#);
360
               when 181 => tmpv1 := pm_setup(81, 16#0000#);
361
               when 182 => tmpv1 := pm_setup(82, 16#eecf#);
362
               when 183 => tmpv1 := pm_setup(83, 16#e0df#);
363
               when 184 => tmpv1 := pm_setup(84, 16#bfde#);
364
               when 185 => tmpv1 := pm_setup(85, 16#bfcd#);
365
               when 186 => tmpv1 := pm_setup(86, 16#8219#);
366
               when 187 => tmpv1 := pm_setup(87, 16#821a#);
367
               when 188 => tmpv1 := pm_setup(88, 16#e040#);
368
               when 189 => tmpv1 := pm_setup(89, 16#e050#);
369
               when 190 => tmpv1 := pm_setup(90, 16#821b#);
370
               when 191 => tmpv1 := pm_setup(91, 16#821c#);
371
               when 192 => tmpv1 := pm_setup(92, 16#2f24#);
372
               when 193 => tmpv1 := pm_setup(93, 16#2f35#);
373
               when 194 => tmpv1 := pm_setup(94, 16#0f22#);
374
               when 195 => tmpv1 := pm_setup(95, 16#1f33#);
375
               when 196 => tmpv1 := pm_setup(96, 16#0f22#);
376
               when 197 => tmpv1 := pm_setup(97, 16#1f33#);
377
               when 198 => tmpv1 := pm_setup(98, 16#2ff3#);
378
               when 199 => tmpv1 := pm_setup(99, 16#2fe2#);
379
               when 200 => tmpv1 := pm_setup(100, 16#5ae0#);
380
               when 201 => tmpv1 := pm_setup(101, 16#4fff#);
381
               when 202 => tmpv1 := pm_setup(102, 16#e080#);
382
               when 203 => tmpv1 := pm_setup(103, 16#e090#);
383
               when 204 => tmpv1 := pm_setup(104, 16#e0a0#);
384
               when 205 => tmpv1 := pm_setup(105, 16#e0b0#);
385
               when 206 => tmpv1 := pm_setup(106, 16#8380#);
386
               when 207 => tmpv1 := pm_setup(107, 16#8391#);
387
               when 208 => tmpv1 := pm_setup(108, 16#83a2#);
388
               when 209 => tmpv1 := pm_setup(109, 16#83b3#);
389
               when 210 => tmpv1 := pm_setup(110, 16#2ff3#);
390
               when 211 => tmpv1 := pm_setup(111, 16#2fe2#);
391
               when 212 => tmpv1 := pm_setup(112, 16#53ec#);
392
               when 213 => tmpv1 := pm_setup(113, 16#4fff#);
393
               when 214 => tmpv1 := pm_setup(114, 16#8380#);
394
               when 215 => tmpv1 := pm_setup(115, 16#8391#);
395
               when 216 => tmpv1 := pm_setup(116, 16#83a2#);
396
               when 217 => tmpv1 := pm_setup(117, 16#83b3#);
397
               when 218 => tmpv1 := pm_setup(118, 16#5f2c#);
398
               when 219 => tmpv1 := pm_setup(119, 16#4f3f#);
399
               when 220 => tmpv1 := pm_setup(120, 16#818b#);
400
               when 221 => tmpv1 := pm_setup(121, 16#819c#);
401
               when 222 => tmpv1 := pm_setup(122, 16#9601#);
402
               when 223 => tmpv1 := pm_setup(123, 16#838b#);
403
               when 224 => tmpv1 := pm_setup(124, 16#839c#);
404
               when 225 => tmpv1 := pm_setup(125, 16#9705#);
405
               when 226 => tmpv1 := pm_setup(126, 16#f31c#);
406
               when 227 => tmpv1 := pm_setup(127, 16#5f4b#);
407
               when 228 => tmpv1 := pm_setup(128, 16#4f5f#);
408
               when 229 => tmpv1 := pm_setup(129, 16#81e9#);
409
               when 230 => tmpv1 := pm_setup(130, 16#81fa#);
410
               when 231 => tmpv1 := pm_setup(131, 16#9631#);
411
               when 232 => tmpv1 := pm_setup(132, 16#83e9#);
412
               when 233 => tmpv1 := pm_setup(133, 16#83fa#);
413
               when 234 => tmpv1 := pm_setup(134, 16#9735#);
414
               when 235 => tmpv1 := pm_setup(135, 16#f294#);
415
               when 236 => tmpv1 := pm_setup(136, 16#e686#);
416
               when 237 => tmpv1 := pm_setup(137, 16#e696#);
417
               when 238 => tmpv1 := pm_setup(138, 16#e6a6#);
418
               when 239 => tmpv1 := pm_setup(139, 16#e3bf#);
419
               when 240 => tmpv1 := pm_setup(140, 16#9380#);
420
               when 241 => tmpv1 := pm_setup(141, 16#0078#);
421
               when 242 => tmpv1 := pm_setup(142, 16#9390#);
422
               when 243 => tmpv1 := pm_setup(143, 16#0079#);
423
               when 244 => tmpv1 := pm_setup(144, 16#93a0#);
424
               when 245 => tmpv1 := pm_setup(145, 16#007a#);
425
               when 246 => tmpv1 := pm_setup(146, 16#93b0#);
426
               when 247 => tmpv1 := pm_setup(147, 16#007b#);
427
               when 248 => tmpv1 := pm_setup(148, 16#821d#);
428
               when 249 => tmpv1 := pm_setup(149, 16#821e#);
429
               when 250 => tmpv1 := pm_setup(150, 16#8219#);
430
               when 251 => tmpv1 := pm_setup(151, 16#821a#);
431
               when 252 => tmpv1 := pm_setup(152, 16#e020#);
432
               when 253 => tmpv1 := pm_setup(153, 16#e030#);
433
               when 254 => tmpv1 := pm_setup(154, 16#832f#);
434
               when 255 => tmpv1 := pm_setup(155, 16#8738#);
435
               when 256 => tmpv1 := pm_setup(156, 16#8729#);
436
               when 257 => tmpv1 := pm_setup(157, 16#873a#);
437
               when 258 => tmpv1 := pm_setup(158, 16#821b#);
438
               when 259 => tmpv1 := pm_setup(159, 16#821c#);
439
               when 260 => tmpv1 := pm_setup(160, 16#818f#);
440
               when 261 => tmpv1 := pm_setup(161, 16#8598#);
441
               when 262 => tmpv1 := pm_setup(162, 16#0f88#);
442
               when 263 => tmpv1 := pm_setup(163, 16#1f99#);
443
               when 264 => tmpv1 := pm_setup(164, 16#0f88#);
444
               when 265 => tmpv1 := pm_setup(165, 16#1f99#);
445
               when 266 => tmpv1 := pm_setup(166, 16#2ff9#);
446
               when 267 => tmpv1 := pm_setup(167, 16#2fe8#);
447
               when 268 => tmpv1 := pm_setup(168, 16#5be8#);
448
               when 269 => tmpv1 := pm_setup(169, 16#4fff#);
449
               when 270 => tmpv1 := pm_setup(170, 16#87ef#);
450
               when 271 => tmpv1 := pm_setup(171, 16#8bf8#);
451
               when 272 => tmpv1 := pm_setup(172, 16#2f28#);
452
               when 273 => tmpv1 := pm_setup(173, 16#2f39#);
453
               when 274 => tmpv1 := pm_setup(174, 16#532c#);
454
               when 275 => tmpv1 := pm_setup(175, 16#4f3f#);
455
               when 276 => tmpv1 := pm_setup(176, 16#872b#);
456
               when 277 => tmpv1 := pm_setup(177, 16#873c#);
457
               when 278 => tmpv1 := pm_setup(178, 16#8589#);
458
               when 279 => tmpv1 := pm_setup(179, 16#859a#);
459
               when 280 => tmpv1 := pm_setup(180, 16#0f88#);
460
               when 281 => tmpv1 := pm_setup(181, 16#1f99#);
461
               when 282 => tmpv1 := pm_setup(182, 16#0f88#);
462
               when 283 => tmpv1 := pm_setup(183, 16#1f99#);
463
               when 284 => tmpv1 := pm_setup(184, 16#878d#);
464
               when 285 => tmpv1 := pm_setup(185, 16#879e#);
465
               when 286 => tmpv1 := pm_setup(186, 16#81e9#);
466
               when 287 => tmpv1 := pm_setup(187, 16#81fa#);
467
               when 288 => tmpv1 := pm_setup(188, 16#9730#);
468
               when 289 => tmpv1 := pm_setup(189, 16#f409#);
469
               when 290 => tmpv1 := pm_setup(190, 16#c19a#);
470
               when 291 => tmpv1 := pm_setup(191, 16#812b#);
471
               when 292 => tmpv1 := pm_setup(192, 16#813c#);
472
               when 293 => tmpv1 := pm_setup(193, 16#1521#);
473
               when 294 => tmpv1 := pm_setup(194, 16#0531#);
474
               when 295 => tmpv1 := pm_setup(195, 16#f409#);
475
               when 296 => tmpv1 := pm_setup(196, 16#c194#);
476
               when 297 => tmpv1 := pm_setup(197, 16#9734#);
477
               when 298 => tmpv1 := pm_setup(198, 16#f409#);
478
               when 299 => tmpv1 := pm_setup(199, 16#c191#);
479
               when 300 => tmpv1 := pm_setup(200, 16#3024#);
480
               when 301 => tmpv1 := pm_setup(201, 16#0531#);
481
               when 302 => tmpv1 := pm_setup(202, 16#f409#);
482
               when 303 => tmpv1 := pm_setup(203, 16#c18d#);
483
               when 304 => tmpv1 := pm_setup(204, 16#85eb#);
484
               when 305 => tmpv1 := pm_setup(205, 16#85fc#);
485
               when 306 => tmpv1 := pm_setup(206, 16#8180#);
486
               when 307 => tmpv1 := pm_setup(207, 16#8191#);
487
               when 308 => tmpv1 := pm_setup(208, 16#81a2#);
488
               when 309 => tmpv1 := pm_setup(209, 16#81b3#);
489
               when 310 => tmpv1 := pm_setup(210, 16#e626#);
490
               when 311 => tmpv1 := pm_setup(211, 16#e636#);
491
               when 312 => tmpv1 := pm_setup(212, 16#e646#);
492
               when 313 => tmpv1 := pm_setup(213, 16#e35f#);
493
               when 314 => tmpv1 := pm_setup(214, 16#2f68#);
494
               when 315 => tmpv1 := pm_setup(215, 16#2f79#);
495
               when 316 => tmpv1 := pm_setup(216, 16#2f8a#);
496
               when 317 => tmpv1 := pm_setup(217, 16#2f9b#);
497
               when 318 => tmpv1 := pm_setup(218, 16#940e#);
498
               when 319 => tmpv1 := pm_setup(219, 16#030f#);
499
               when 320 => tmpv1 := pm_setup(220, 16#2e26#);
500
               when 321 => tmpv1 := pm_setup(221, 16#2e37#);
501
               when 322 => tmpv1 := pm_setup(222, 16#2e48#);
502
               when 323 => tmpv1 := pm_setup(223, 16#2e59#);
503
               when 324 => tmpv1 := pm_setup(224, 16#85ef#);
504
               when 325 => tmpv1 := pm_setup(225, 16#89f8#);
505
               when 326 => tmpv1 := pm_setup(226, 16#8c60#);
506
               when 327 => tmpv1 := pm_setup(227, 16#8c71#);
507
               when 328 => tmpv1 := pm_setup(228, 16#8c82#);
508
               when 329 => tmpv1 := pm_setup(229, 16#8c93#);
509
               when 330 => tmpv1 := pm_setup(230, 16#e020#);
510
               when 331 => tmpv1 := pm_setup(231, 16#e030#);
511
               when 332 => tmpv1 := pm_setup(232, 16#ec40#);
512
               when 333 => tmpv1 := pm_setup(233, 16#e450#);
513
               when 334 => tmpv1 := pm_setup(234, 16#2d99#);
514
               when 335 => tmpv1 := pm_setup(235, 16#2d88#);
515
               when 336 => tmpv1 := pm_setup(236, 16#2d77#);
516
               when 337 => tmpv1 := pm_setup(237, 16#2d66#);
517
               when 338 => tmpv1 := pm_setup(238, 16#940e#);
518
               when 339 => tmpv1 := pm_setup(239, 16#030f#);
519
               when 340 => tmpv1 := pm_setup(240, 16#2ea6#);
520
               when 341 => tmpv1 := pm_setup(241, 16#2eb7#);
521
               when 342 => tmpv1 := pm_setup(242, 16#2ec8#);
522
               when 343 => tmpv1 := pm_setup(243, 16#2ed9#);
523
               when 344 => tmpv1 := pm_setup(244, 16#85ef#);
524
               when 345 => tmpv1 := pm_setup(245, 16#89f8#);
525
               when 346 => tmpv1 := pm_setup(246, 16#80e4#);
526
               when 347 => tmpv1 := pm_setup(247, 16#80f5#);
527
               when 348 => tmpv1 := pm_setup(248, 16#8106#);
528
               when 349 => tmpv1 := pm_setup(249, 16#8117#);
529
               when 350 => tmpv1 := pm_setup(250, 16#a584#);
530
               when 351 => tmpv1 := pm_setup(251, 16#a595#);
531
               when 352 => tmpv1 := pm_setup(252, 16#a5a6#);
532
               when 353 => tmpv1 := pm_setup(253, 16#a5b7#);
533
               when 354 => tmpv1 := pm_setup(254, 16#2f28#);
534
               when 355 => tmpv1 := pm_setup(255, 16#2f39#);
535
               when 356 => tmpv1 := pm_setup(256, 16#2f4a#);
536
               when 357 => tmpv1 := pm_setup(257, 16#2f5b#);
537
               when 358 => tmpv1 := pm_setup(258, 16#2f91#);
538
               when 359 => tmpv1 := pm_setup(259, 16#2f80#);
539
               when 360 => tmpv1 := pm_setup(260, 16#2d7f#);
540
               when 361 => tmpv1 := pm_setup(261, 16#2d6e#);
541
               when 362 => tmpv1 := pm_setup(262, 16#940e#);
542
               when 363 => tmpv1 := pm_setup(263, 16#0273#);
543
               when 364 => tmpv1 := pm_setup(264, 16#2ee6#);
544
               when 365 => tmpv1 := pm_setup(265, 16#2ef7#);
545
               when 366 => tmpv1 := pm_setup(266, 16#2f08#);
546
               when 367 => tmpv1 := pm_setup(267, 16#2f19#);
547
               when 368 => tmpv1 := pm_setup(268, 16#85ef#);
548
               when 369 => tmpv1 := pm_setup(269, 16#89f8#);
549
               when 370 => tmpv1 := pm_setup(270, 16#8984#);
550
               when 371 => tmpv1 := pm_setup(271, 16#8995#);
551
               when 372 => tmpv1 := pm_setup(272, 16#89a6#);
552
               when 373 => tmpv1 := pm_setup(273, 16#89b7#);
553
               when 374 => tmpv1 := pm_setup(274, 16#2f28#);
554
               when 375 => tmpv1 := pm_setup(275, 16#2f39#);
555
               when 376 => tmpv1 := pm_setup(276, 16#2f4a#);
556
               when 377 => tmpv1 := pm_setup(277, 16#2f5b#);
557
               when 378 => tmpv1 := pm_setup(278, 16#2f91#);
558
               when 379 => tmpv1 := pm_setup(279, 16#2f80#);
559
               when 380 => tmpv1 := pm_setup(280, 16#2d7f#);
560
               when 381 => tmpv1 := pm_setup(281, 16#2d6e#);
561
               when 382 => tmpv1 := pm_setup(282, 16#940e#);
562
               when 383 => tmpv1 := pm_setup(283, 16#0273#);
563
               when 384 => tmpv1 := pm_setup(284, 16#2ee6#);
564
               when 385 => tmpv1 := pm_setup(285, 16#2ef7#);
565
               when 386 => tmpv1 := pm_setup(286, 16#2f08#);
566
               when 387 => tmpv1 := pm_setup(287, 16#2f19#);
567
               when 388 => tmpv1 := pm_setup(288, 16#85ef#);
568
               when 389 => tmpv1 := pm_setup(289, 16#89f8#);
569
               when 390 => tmpv1 := pm_setup(290, 16#8d84#);
570
               when 391 => tmpv1 := pm_setup(291, 16#8d95#);
571
               when 392 => tmpv1 := pm_setup(292, 16#8da6#);
572
               when 393 => tmpv1 := pm_setup(293, 16#8db7#);
573
               when 394 => tmpv1 := pm_setup(294, 16#2f28#);
574
               when 395 => tmpv1 := pm_setup(295, 16#2f39#);
575
               when 396 => tmpv1 := pm_setup(296, 16#2f4a#);
576
               when 397 => tmpv1 := pm_setup(297, 16#2f5b#);
577
               when 398 => tmpv1 := pm_setup(298, 16#2f91#);
578
               when 399 => tmpv1 := pm_setup(299, 16#2f80#);
579
               when 400 => tmpv1 := pm_setup(300, 16#2d7f#);
580
               when 401 => tmpv1 := pm_setup(301, 16#2d6e#);
581
               when 402 => tmpv1 := pm_setup(302, 16#940e#);
582
               when 403 => tmpv1 := pm_setup(303, 16#0273#);
583
               when 404 => tmpv1 := pm_setup(304, 16#2fb9#);
584
               when 405 => tmpv1 := pm_setup(305, 16#2fa8#);
585
               when 406 => tmpv1 := pm_setup(306, 16#2f97#);
586
               when 407 => tmpv1 := pm_setup(307, 16#2f86#);
587
               when 408 => tmpv1 := pm_setup(308, 16#2f28#);
588
               when 409 => tmpv1 := pm_setup(309, 16#2f39#);
589
               when 410 => tmpv1 := pm_setup(310, 16#2f4a#);
590
               when 411 => tmpv1 := pm_setup(311, 16#2f5b#);
591
               when 412 => tmpv1 := pm_setup(312, 16#2d9d#);
592
               when 413 => tmpv1 := pm_setup(313, 16#2d8c#);
593
               when 414 => tmpv1 := pm_setup(314, 16#2d7b#);
594
               when 415 => tmpv1 := pm_setup(315, 16#2d6a#);
595
               when 416 => tmpv1 := pm_setup(316, 16#940e#);
596
               when 417 => tmpv1 := pm_setup(317, 16#0272#);
597
               when 418 => tmpv1 := pm_setup(318, 16#2ea6#);
598
               when 419 => tmpv1 := pm_setup(319, 16#2eb7#);
599
               when 420 => tmpv1 := pm_setup(320, 16#2ec8#);
600
               when 421 => tmpv1 := pm_setup(321, 16#2ed9#);
601
               when 422 => tmpv1 := pm_setup(322, 16#85ef#);
602
               when 423 => tmpv1 := pm_setup(323, 16#89f8#);
603
               when 424 => tmpv1 := pm_setup(324, 16#80e0#);
604
               when 425 => tmpv1 := pm_setup(325, 16#80f1#);
605
               when 426 => tmpv1 := pm_setup(326, 16#8102#);
606
               when 427 => tmpv1 := pm_setup(327, 16#8113#);
607
               when 428 => tmpv1 := pm_setup(328, 16#8580#);
608
               when 429 => tmpv1 := pm_setup(329, 16#8591#);
609
               when 430 => tmpv1 := pm_setup(330, 16#85a2#);
610
               when 431 => tmpv1 := pm_setup(331, 16#85b3#);
611
               when 432 => tmpv1 := pm_setup(332, 16#2f28#);
612
               when 433 => tmpv1 := pm_setup(333, 16#2f39#);
613
               when 434 => tmpv1 := pm_setup(334, 16#2f4a#);
614
               when 435 => tmpv1 := pm_setup(335, 16#2f5b#);
615
               when 436 => tmpv1 := pm_setup(336, 16#2f91#);
616
               when 437 => tmpv1 := pm_setup(337, 16#2f80#);
617
               when 438 => tmpv1 := pm_setup(338, 16#2d7f#);
618
               when 439 => tmpv1 := pm_setup(339, 16#2d6e#);
619
               when 440 => tmpv1 := pm_setup(340, 16#940e#);
620
               when 441 => tmpv1 := pm_setup(341, 16#0273#);
621
               when 442 => tmpv1 := pm_setup(342, 16#2ee6#);
622
               when 443 => tmpv1 := pm_setup(343, 16#2ef7#);
623
               when 444 => tmpv1 := pm_setup(344, 16#2f08#);
624
               when 445 => tmpv1 := pm_setup(345, 16#2f19#);
625
               when 446 => tmpv1 := pm_setup(346, 16#85ef#);
626
               when 447 => tmpv1 := pm_setup(347, 16#89f8#);
627
               when 448 => tmpv1 := pm_setup(348, 16#a580#);
628
               when 449 => tmpv1 := pm_setup(349, 16#a591#);
629
               when 450 => tmpv1 := pm_setup(350, 16#a5a2#);
630
               when 451 => tmpv1 := pm_setup(351, 16#a5b3#);
631
               when 452 => tmpv1 := pm_setup(352, 16#2f28#);
632
               when 453 => tmpv1 := pm_setup(353, 16#2f39#);
633
               when 454 => tmpv1 := pm_setup(354, 16#2f4a#);
634
               when 455 => tmpv1 := pm_setup(355, 16#2f5b#);
635
               when 456 => tmpv1 := pm_setup(356, 16#2f91#);
636
               when 457 => tmpv1 := pm_setup(357, 16#2f80#);
637
               when 458 => tmpv1 := pm_setup(358, 16#2d7f#);
638
               when 459 => tmpv1 := pm_setup(359, 16#2d6e#);
639
               when 460 => tmpv1 := pm_setup(360, 16#940e#);
640
               when 461 => tmpv1 := pm_setup(361, 16#0273#);
641
               when 462 => tmpv1 := pm_setup(362, 16#2ee6#);
642
               when 463 => tmpv1 := pm_setup(363, 16#2ef7#);
643
               when 464 => tmpv1 := pm_setup(364, 16#2f08#);
644
               when 465 => tmpv1 := pm_setup(365, 16#2f19#);
645
               when 466 => tmpv1 := pm_setup(366, 16#85ef#);
646
               when 467 => tmpv1 := pm_setup(367, 16#89f8#);
647
               when 468 => tmpv1 := pm_setup(368, 16#a980#);
648
               when 469 => tmpv1 := pm_setup(369, 16#a991#);
649
               when 470 => tmpv1 := pm_setup(370, 16#a9a2#);
650
               when 471 => tmpv1 := pm_setup(371, 16#a9b3#);
651
               when 472 => tmpv1 := pm_setup(372, 16#2f28#);
652
               when 473 => tmpv1 := pm_setup(373, 16#2f39#);
653
               when 474 => tmpv1 := pm_setup(374, 16#2f4a#);
654
               when 475 => tmpv1 := pm_setup(375, 16#2f5b#);
655
               when 476 => tmpv1 := pm_setup(376, 16#2f91#);
656
               when 477 => tmpv1 := pm_setup(377, 16#2f80#);
657
               when 478 => tmpv1 := pm_setup(378, 16#2d7f#);
658
               when 479 => tmpv1 := pm_setup(379, 16#2d6e#);
659
               when 480 => tmpv1 := pm_setup(380, 16#940e#);
660
               when 481 => tmpv1 := pm_setup(381, 16#0273#);
661
               when 482 => tmpv1 := pm_setup(382, 16#2fb9#);
662
               when 483 => tmpv1 := pm_setup(383, 16#2fa8#);
663
               when 484 => tmpv1 := pm_setup(384, 16#2f97#);
664
               when 485 => tmpv1 := pm_setup(385, 16#2f86#);
665
               when 486 => tmpv1 := pm_setup(386, 16#e020#);
666
               when 487 => tmpv1 := pm_setup(387, 16#e030#);
667
               when 488 => tmpv1 := pm_setup(388, 16#e040#);
668
               when 489 => tmpv1 := pm_setup(389, 16#e35f#);
669
               when 490 => tmpv1 := pm_setup(390, 16#2f68#);
670
               when 491 => tmpv1 := pm_setup(391, 16#2f79#);
671
               when 492 => tmpv1 := pm_setup(392, 16#2f8a#);
672
               when 493 => tmpv1 := pm_setup(393, 16#2f9b#);
673
               when 494 => tmpv1 := pm_setup(394, 16#940e#);
674
               when 495 => tmpv1 := pm_setup(395, 16#030f#);
675
               when 496 => tmpv1 := pm_setup(396, 16#2fb9#);
676
               when 497 => tmpv1 := pm_setup(397, 16#2fa8#);
677
               when 498 => tmpv1 := pm_setup(398, 16#2f97#);
678
               when 499 => tmpv1 := pm_setup(399, 16#2f86#);
679
               when 500 => tmpv1 := pm_setup(400, 16#2f28#);
680
               when 501 => tmpv1 := pm_setup(401, 16#2f39#);
681
               when 502 => tmpv1 := pm_setup(402, 16#2f4a#);
682
               when 503 => tmpv1 := pm_setup(403, 16#2f5b#);
683
               when 504 => tmpv1 := pm_setup(404, 16#2d9d#);
684
               when 505 => tmpv1 := pm_setup(405, 16#2d8c#);
685
               when 506 => tmpv1 := pm_setup(406, 16#2d7b#);
686
               when 507 => tmpv1 := pm_setup(407, 16#2d6a#);
687
               when 508 => tmpv1 := pm_setup(408, 16#940e#);
688
               when 509 => tmpv1 := pm_setup(409, 16#0272#);
689
               when 510 => tmpv1 := pm_setup(410, 16#2fb9#);
690
               when 511 => tmpv1 := pm_setup(411, 16#2fa8#);
691
               when 512 => tmpv1 := pm_setup(412, 16#2f97#);
692
               when 513 => tmpv1 := pm_setup(413, 16#2f86#);
693
               when 514 => tmpv1 := pm_setup(414, 16#e925#);
694
               when 515 => tmpv1 := pm_setup(415, 16#e635#);
695
               when 516 => tmpv1 := pm_setup(416, 16#e048#);
696
               when 517 => tmpv1 := pm_setup(417, 16#e35d#);
697
               when 518 => tmpv1 := pm_setup(418, 16#2f68#);
698
               when 519 => tmpv1 := pm_setup(419, 16#2f79#);
699
               when 520 => tmpv1 := pm_setup(420, 16#2f8a#);
700
               when 521 => tmpv1 := pm_setup(421, 16#2f9b#);
701
               when 522 => tmpv1 := pm_setup(422, 16#940e#);
702
               when 523 => tmpv1 := pm_setup(423, 16#030f#);
703
               when 524 => tmpv1 := pm_setup(424, 16#2fb9#);
704
               when 525 => tmpv1 := pm_setup(425, 16#2fa8#);
705
               when 526 => tmpv1 := pm_setup(426, 16#2f97#);
706
               when 527 => tmpv1 := pm_setup(427, 16#2f86#);
707
               when 528 => tmpv1 := pm_setup(428, 16#2f28#);
708
               when 529 => tmpv1 := pm_setup(429, 16#2f39#);
709
               when 530 => tmpv1 := pm_setup(430, 16#2f4a#);
710
               when 531 => tmpv1 := pm_setup(431, 16#2f5b#);
711
               when 532 => tmpv1 := pm_setup(432, 16#2d95#);
712
               when 533 => tmpv1 := pm_setup(433, 16#2d84#);
713
               when 534 => tmpv1 := pm_setup(434, 16#2d73#);
714
               when 535 => tmpv1 := pm_setup(435, 16#2d62#);
715
               when 536 => tmpv1 := pm_setup(436, 16#940e#);
716
               when 537 => tmpv1 := pm_setup(437, 16#0272#);
717
               when 538 => tmpv1 := pm_setup(438, 16#2fb9#);
718
               when 539 => tmpv1 := pm_setup(439, 16#2fa8#);
719
               when 540 => tmpv1 := pm_setup(440, 16#2f97#);
720
               when 541 => tmpv1 := pm_setup(441, 16#2f86#);
721
               when 542 => tmpv1 := pm_setup(442, 16#85eb#);
722
               when 543 => tmpv1 := pm_setup(443, 16#85fc#);
723
               when 544 => tmpv1 := pm_setup(444, 16#8380#);
724
               when 545 => tmpv1 := pm_setup(445, 16#8391#);
725
               when 546 => tmpv1 := pm_setup(446, 16#83a2#);
726
               when 547 => tmpv1 := pm_setup(447, 16#83b3#);
727
               when 548 => tmpv1 := pm_setup(448, 16#2f28#);
728
               when 549 => tmpv1 := pm_setup(449, 16#2f39#);
729
               when 550 => tmpv1 := pm_setup(450, 16#2f4a#);
730
               when 551 => tmpv1 := pm_setup(451, 16#2f5b#);
731
               when 552 => tmpv1 := pm_setup(452, 16#2d99#);
732
               when 553 => tmpv1 := pm_setup(453, 16#2d88#);
733
               when 554 => tmpv1 := pm_setup(454, 16#2d77#);
734
               when 555 => tmpv1 := pm_setup(455, 16#2d66#);
735
               when 556 => tmpv1 := pm_setup(456, 16#940e#);
736
               when 557 => tmpv1 := pm_setup(457, 16#0273#);
737
               when 558 => tmpv1 := pm_setup(458, 16#2fb9#);
738
               when 559 => tmpv1 := pm_setup(459, 16#2fa8#);
739
               when 560 => tmpv1 := pm_setup(460, 16#2f97#);
740
               when 561 => tmpv1 := pm_setup(461, 16#2f86#);
741
               when 562 => tmpv1 := pm_setup(462, 16#85ef#);
742
               when 563 => tmpv1 := pm_setup(463, 16#89f8#);
743
               when 564 => tmpv1 := pm_setup(464, 16#8f80#);
744
               when 565 => tmpv1 := pm_setup(465, 16#8f91#);
745
               when 566 => tmpv1 := pm_setup(466, 16#8fa2#);
746
               when 567 => tmpv1 := pm_setup(467, 16#8fb3#);
747
               when 568 => tmpv1 := pm_setup(468, 16#852f#);
748
               when 569 => tmpv1 := pm_setup(469, 16#8938#);
749
               when 570 => tmpv1 := pm_setup(470, 16#5f2c#);
750
               when 571 => tmpv1 := pm_setup(471, 16#4f3f#);
751
               when 572 => tmpv1 := pm_setup(472, 16#872f#);
752
               when 573 => tmpv1 := pm_setup(473, 16#8b38#);
753
               when 574 => tmpv1 := pm_setup(474, 16#858b#);
754
               when 575 => tmpv1 := pm_setup(475, 16#859c#);
755
               when 576 => tmpv1 := pm_setup(476, 16#9604#);
756
               when 577 => tmpv1 := pm_setup(477, 16#878b#);
757
               when 578 => tmpv1 := pm_setup(478, 16#879c#);
758
               when 579 => tmpv1 := pm_setup(479, 16#85ed#);
759
               when 580 => tmpv1 := pm_setup(480, 16#85fe#);
760
               when 581 => tmpv1 := pm_setup(481, 16#9634#);
761
               when 582 => tmpv1 := pm_setup(482, 16#87ed#);
762
               when 583 => tmpv1 := pm_setup(483, 16#87fe#);
763
               when 584 => tmpv1 := pm_setup(484, 16#812b#);
764
               when 585 => tmpv1 := pm_setup(485, 16#813c#);
765
               when 586 => tmpv1 := pm_setup(486, 16#5f2f#);
766
               when 587 => tmpv1 := pm_setup(487, 16#4f3f#);
767
               when 588 => tmpv1 := pm_setup(488, 16#832b#);
768
               when 589 => tmpv1 := pm_setup(489, 16#833c#);
769
               when 590 => tmpv1 := pm_setup(490, 16#3025#);
770
               when 591 => tmpv1 := pm_setup(491, 16#0531#);
771
               when 592 => tmpv1 := pm_setup(492, 16#f40c#);
772
               when 593 => tmpv1 := pm_setup(493, 16#cecc#);
773
               when 594 => tmpv1 := pm_setup(494, 16#818f#);
774
               when 595 => tmpv1 := pm_setup(495, 16#8598#);
775
               when 596 => tmpv1 := pm_setup(496, 16#9605#);
776
               when 597 => tmpv1 := pm_setup(497, 16#838f#);
777
               when 598 => tmpv1 := pm_setup(498, 16#8798#);
778
               when 599 => tmpv1 := pm_setup(499, 16#85e9#);
779
               when 600 => tmpv1 := pm_setup(500, 16#85fa#);
780
               when 601 => tmpv1 := pm_setup(501, 16#9635#);
781
               when 602 => tmpv1 := pm_setup(502, 16#87e9#);
782
               when 603 => tmpv1 := pm_setup(503, 16#87fa#);
783
               when 604 => tmpv1 := pm_setup(504, 16#8129#);
784
               when 605 => tmpv1 := pm_setup(505, 16#813a#);
785
               when 606 => tmpv1 := pm_setup(506, 16#5f2f#);
786
               when 607 => tmpv1 := pm_setup(507, 16#4f3f#);
787
               when 608 => tmpv1 := pm_setup(508, 16#8329#);
788
               when 609 => tmpv1 := pm_setup(509, 16#833a#);
789
               when 610 => tmpv1 := pm_setup(510, 16#3025#);
790
               when 611 => tmpv1 := pm_setup(511, 16#0531#);
791
               when 612 => tmpv1 := pm_setup(512, 16#f40c#);
792
               when 613 => tmpv1 := pm_setup(513, 16#ce9c#);
793
               when 614 => tmpv1 := pm_setup(514, 16#818d#);
794
               when 615 => tmpv1 := pm_setup(515, 16#819e#);
795
               when 616 => tmpv1 := pm_setup(516, 16#9601#);
796
               when 617 => tmpv1 := pm_setup(517, 16#838d#);
797
               when 618 => tmpv1 := pm_setup(518, 16#839e#);
798
               when 619 => tmpv1 := pm_setup(519, 16#9705#);
799
               when 620 => tmpv1 := pm_setup(520, 16#f40c#);
800
               when 621 => tmpv1 := pm_setup(521, 16#ce8c#);
801
               when 622 => tmpv1 := pm_setup(522, 16#8219#);
802
               when 623 => tmpv1 := pm_setup(523, 16#821a#);
803
               when 624 => tmpv1 := pm_setup(524, 16#24ee#);
804
               when 625 => tmpv1 := pm_setup(525, 16#24ff#);
805
               when 626 => tmpv1 := pm_setup(526, 16#821b#);
806
               when 627 => tmpv1 := pm_setup(527, 16#821c#);
807
               when 628 => tmpv1 := pm_setup(528, 16#2d1f#);
808
               when 629 => tmpv1 := pm_setup(529, 16#2d0e#);
809
               when 630 => tmpv1 := pm_setup(530, 16#5c08#);
810
               when 631 => tmpv1 := pm_setup(531, 16#4f1e#);
811
               when 632 => tmpv1 := pm_setup(532, 16#2cce#);
812
               when 633 => tmpv1 := pm_setup(533, 16#2cdf#);
813
               when 634 => tmpv1 := pm_setup(534, 16#0ccc#);
814
               when 635 => tmpv1 := pm_setup(535, 16#1cdd#);
815
               when 636 => tmpv1 := pm_setup(536, 16#0ccc#);
816
               when 637 => tmpv1 := pm_setup(537, 16#1cdd#);
817
               when 638 => tmpv1 := pm_setup(538, 16#e6e0#);
818
               when 639 => tmpv1 := pm_setup(539, 16#e0f0#);
819
               when 640 => tmpv1 := pm_setup(540, 16#0ece#);
820
               when 641 => tmpv1 := pm_setup(541, 16#1edf#);
821
               when 642 => tmpv1 := pm_setup(542, 16#2dfd#);
822
               when 643 => tmpv1 := pm_setup(543, 16#2dec#);
823
               when 644 => tmpv1 := pm_setup(544, 16#9181#);
824
               when 645 => tmpv1 := pm_setup(545, 16#9191#);
825
               when 646 => tmpv1 := pm_setup(546, 16#91a1#);
826
               when 647 => tmpv1 := pm_setup(547, 16#91b1#);
827
               when 648 => tmpv1 := pm_setup(548, 16#2ece#);
828
               when 649 => tmpv1 := pm_setup(549, 16#2edf#);
829
               when 650 => tmpv1 := pm_setup(550, 16#e020#);
830
               when 651 => tmpv1 := pm_setup(551, 16#e030#);
831
               when 652 => tmpv1 := pm_setup(552, 16#e040#);
832
               when 653 => tmpv1 := pm_setup(553, 16#e453#);
833
               when 654 => tmpv1 := pm_setup(554, 16#2f68#);
834
               when 655 => tmpv1 := pm_setup(555, 16#2f79#);
835
               when 656 => tmpv1 := pm_setup(556, 16#2f8a#);
836
               when 657 => tmpv1 := pm_setup(557, 16#2f9b#);
837
               when 658 => tmpv1 := pm_setup(558, 16#940e#);
838
               when 659 => tmpv1 := pm_setup(559, 16#030f#);
839
               when 660 => tmpv1 := pm_setup(560, 16#2fb9#);
840
               when 661 => tmpv1 := pm_setup(561, 16#2fa8#);
841
               when 662 => tmpv1 := pm_setup(562, 16#2f97#);
842
               when 663 => tmpv1 := pm_setup(563, 16#2f86#);
843
               when 664 => tmpv1 := pm_setup(564, 16#2f68#);
844
               when 665 => tmpv1 := pm_setup(565, 16#2f79#);
845
               when 666 => tmpv1 := pm_setup(566, 16#2f8a#);
846
               when 667 => tmpv1 := pm_setup(567, 16#2f9b#);
847
               when 668 => tmpv1 := pm_setup(568, 16#940e#);
848
               when 669 => tmpv1 := pm_setup(569, 16#02b5#);
849
               when 670 => tmpv1 := pm_setup(570, 16#2fb9#);
850
               when 671 => tmpv1 := pm_setup(571, 16#2fa8#);
851
               when 672 => tmpv1 := pm_setup(572, 16#2f97#);
852
               when 673 => tmpv1 := pm_setup(573, 16#2f86#);
853
               when 674 => tmpv1 := pm_setup(574, 16#2ff1#);
854
               when 675 => tmpv1 := pm_setup(575, 16#2fe0#);
855
               when 676 => tmpv1 := pm_setup(576, 16#9381#);
856
               when 677 => tmpv1 := pm_setup(577, 16#2f0e#);
857
               when 678 => tmpv1 := pm_setup(578, 16#2f1f#);
858
               when 679 => tmpv1 := pm_setup(579, 16#812b#);
859
               when 680 => tmpv1 := pm_setup(580, 16#813c#);
860
               when 681 => tmpv1 := pm_setup(581, 16#5f2f#);
861
               when 682 => tmpv1 := pm_setup(582, 16#4f3f#);
862
               when 683 => tmpv1 := pm_setup(583, 16#832b#);
863
               when 684 => tmpv1 := pm_setup(584, 16#833c#);
864
               when 685 => tmpv1 := pm_setup(585, 16#3025#);
865
               when 686 => tmpv1 := pm_setup(586, 16#0531#);
866
               when 687 => tmpv1 := pm_setup(587, 16#f294#);
867
               when 688 => tmpv1 := pm_setup(588, 16#e085#);
868
               when 689 => tmpv1 := pm_setup(589, 16#e090#);
869
               when 690 => tmpv1 := pm_setup(590, 16#0ee8#);
870
               when 691 => tmpv1 := pm_setup(591, 16#1ef9#);
871
               when 692 => tmpv1 := pm_setup(592, 16#81e9#);
872
               when 693 => tmpv1 := pm_setup(593, 16#81fa#);
873
               when 694 => tmpv1 := pm_setup(594, 16#9631#);
874
               when 695 => tmpv1 := pm_setup(595, 16#83e9#);
875
               when 696 => tmpv1 := pm_setup(596, 16#83fa#);
876
               when 697 => tmpv1 := pm_setup(597, 16#9735#);
877
               when 698 => tmpv1 := pm_setup(598, 16#f40c#);
878
               when 699 => tmpv1 := pm_setup(599, 16#cfb6#);
879
               when 700 => tmpv1 := pm_setup(600, 16#cfff#);
880
               when 701 => tmpv1 := pm_setup(601, 16#852d#);
881
               when 702 => tmpv1 := pm_setup(602, 16#853e#);
882
               when 703 => tmpv1 := pm_setup(603, 16#5a20#);
883
               when 704 => tmpv1 := pm_setup(604, 16#4f3f#);
884
               when 705 => tmpv1 := pm_setup(605, 16#e080#);
885
               when 706 => tmpv1 := pm_setup(606, 16#e090#);
886
               when 707 => tmpv1 := pm_setup(607, 16#e0a0#);
887
               when 708 => tmpv1 := pm_setup(608, 16#e0b0#);
888
               when 709 => tmpv1 := pm_setup(609, 16#2ff3#);
889
               when 710 => tmpv1 := pm_setup(610, 16#2fe2#);
890
               when 711 => tmpv1 := pm_setup(611, 16#8380#);
891
               when 712 => tmpv1 := pm_setup(612, 16#8391#);
892
               when 713 => tmpv1 := pm_setup(613, 16#83a2#);
893
               when 714 => tmpv1 := pm_setup(614, 16#83b3#);
894
               when 715 => tmpv1 := pm_setup(615, 16#852d#);
895
               when 716 => tmpv1 := pm_setup(616, 16#853e#);
896
               when 717 => tmpv1 := pm_setup(617, 16#532c#);
897
               when 718 => tmpv1 := pm_setup(618, 16#4f3f#);
898
               when 719 => tmpv1 := pm_setup(619, 16#2ff3#);
899
               when 720 => tmpv1 := pm_setup(620, 16#2fe2#);
900
               when 721 => tmpv1 := pm_setup(621, 16#8380#);
901
               when 722 => tmpv1 := pm_setup(622, 16#8391#);
902
               when 723 => tmpv1 := pm_setup(623, 16#83a2#);
903
               when 724 => tmpv1 := pm_setup(624, 16#83b3#);
904
               when 725 => tmpv1 := pm_setup(625, 16#cf62#);
905
               when 726 => tmpv1 := pm_setup(626, 16#5850#);
906
               when 727 => tmpv1 := pm_setup(627, 16#2e19#);
907
               when 728 => tmpv1 := pm_setup(628, 16#d078#);
908
               when 729 => tmpv1 := pm_setup(629, 16#d001#);
909
               when 730 => tmpv1 := pm_setup(630, 16#c05e#);
910
               when 731 => tmpv1 := pm_setup(631, 16#17ba#);
911
               when 732 => tmpv1 := pm_setup(632, 16#0762#);
912
               when 733 => tmpv1 := pm_setup(633, 16#0773#);
913
               when 734 => tmpv1 := pm_setup(634, 16#0784#);
914
               when 735 => tmpv1 := pm_setup(635, 16#0795#);
915
               when 736 => tmpv1 := pm_setup(636, 16#f1b1#);
916
               when 737 => tmpv1 := pm_setup(637, 16#f488#);
917
               when 738 => tmpv1 := pm_setup(638, 16#f40e#);
918
               when 739 => tmpv1 := pm_setup(639, 16#9410#);
919
               when 740 => tmpv1 := pm_setup(640, 16#2e0b#);
920
               when 741 => tmpv1 := pm_setup(641, 16#2fba#);
921
               when 742 => tmpv1 := pm_setup(642, 16#2da0#);
922
               when 743 => tmpv1 := pm_setup(643, 16#2e06#);
923
               when 744 => tmpv1 := pm_setup(644, 16#2f62#);
924
               when 745 => tmpv1 := pm_setup(645, 16#2d20#);
925
               when 746 => tmpv1 := pm_setup(646, 16#2e07#);
926
               when 747 => tmpv1 := pm_setup(647, 16#2f73#);
927
               when 748 => tmpv1 := pm_setup(648, 16#2d30#);
928
               when 749 => tmpv1 := pm_setup(649, 16#2e08#);
929
               when 750 => tmpv1 := pm_setup(650, 16#2f84#);
930
               when 751 => tmpv1 := pm_setup(651, 16#2d40#);
931
               when 752 => tmpv1 := pm_setup(652, 16#2e09#);
932
               when 753 => tmpv1 := pm_setup(653, 16#2f95#);
933
               when 754 => tmpv1 := pm_setup(654, 16#2d50#);
934
               when 755 => tmpv1 := pm_setup(655, 16#27ff#);
935
               when 756 => tmpv1 := pm_setup(656, 16#2355#);
936
               when 757 => tmpv1 := pm_setup(657, 16#f0b9#);
937
               when 758 => tmpv1 := pm_setup(658, 16#1b59#);
938
               when 759 => tmpv1 := pm_setup(659, 16#f049#);
939
               when 760 => tmpv1 := pm_setup(660, 16#3e57#);
940
               when 761 => tmpv1 := pm_setup(661, 16#f098#);
941
               when 762 => tmpv1 := pm_setup(662, 16#9546#);
942
               when 763 => tmpv1 := pm_setup(663, 16#9537#);
943
               when 764 => tmpv1 := pm_setup(664, 16#9527#);
944
               when 765 => tmpv1 := pm_setup(665, 16#95a7#);
945
               when 766 => tmpv1 := pm_setup(666, 16#40f0#);
946
               when 767 => tmpv1 := pm_setup(667, 16#9553#);
947
               when 768 => tmpv1 := pm_setup(668, 16#f7c9#);
948
               when 769 => tmpv1 := pm_setup(669, 16#f076#);
949
               when 770 => tmpv1 := pm_setup(670, 16#0fba#);
950
               when 771 => tmpv1 := pm_setup(671, 16#1f62#);
951
               when 772 => tmpv1 := pm_setup(672, 16#1f73#);
952
               when 773 => tmpv1 := pm_setup(673, 16#1f84#);
953
               when 774 => tmpv1 := pm_setup(674, 16#f430#);
954
               when 775 => tmpv1 := pm_setup(675, 16#9587#);
955
               when 776 => tmpv1 := pm_setup(676, 16#9577#);
956
               when 777 => tmpv1 := pm_setup(677, 16#9567#);
957
               when 778 => tmpv1 := pm_setup(678, 16#95b7#);
958
               when 779 => tmpv1 := pm_setup(679, 16#40f0#);
959
               when 780 => tmpv1 := pm_setup(680, 16#9593#);
960
               when 781 => tmpv1 := pm_setup(681, 16#fa17#);
961
               when 782 => tmpv1 := pm_setup(682, 16#2e0f#);
962
               when 783 => tmpv1 := pm_setup(683, 16#9508#);
963
               when 784 => tmpv1 := pm_setup(684, 16#1bbf#);
964
               when 785 => tmpv1 := pm_setup(685, 16#27bb#);
965
               when 786 => tmpv1 := pm_setup(686, 16#0bba#);
966
               when 787 => tmpv1 := pm_setup(687, 16#0b62#);
967
               when 788 => tmpv1 := pm_setup(688, 16#0b73#);
968
               when 789 => tmpv1 := pm_setup(689, 16#0b84#);
969
               when 790 => tmpv1 := pm_setup(690, 16#cff6#);
970
               when 791 => tmpv1 := pm_setup(691, 16#f6de#);
971
               when 792 => tmpv1 := pm_setup(692, 16#c054#);
972
               when 793 => tmpv1 := pm_setup(693, 16#fb97#);
973
               when 794 => tmpv1 := pm_setup(694, 16#d042#);
974
               when 795 => tmpv1 := pm_setup(695, 16#379f#);
975
               when 796 => tmpv1 := pm_setup(696, 16#f038#);
976
               when 797 => tmpv1 := pm_setup(697, 16#e9fe#);
977
               when 798 => tmpv1 := pm_setup(698, 16#1bf9#);
978
               when 799 => tmpv1 := pm_setup(699, 16#2f98#);
979
               when 800 => tmpv1 := pm_setup(700, 16#2f87#);
980
               when 801 => tmpv1 := pm_setup(701, 16#2f76#);
981
               when 802 => tmpv1 := pm_setup(702, 16#2f6b#);
982
               when 803 => tmpv1 := pm_setup(703, 16#c005#);
983
               when 804 => tmpv1 := pm_setup(704, 16#c045#);
984
               when 805 => tmpv1 := pm_setup(705, 16#9596#);
985
               when 806 => tmpv1 := pm_setup(706, 16#9587#);
986
               when 807 => tmpv1 := pm_setup(707, 16#9577#);
987
               when 808 => tmpv1 := pm_setup(708, 16#9567#);
988
               when 809 => tmpv1 := pm_setup(709, 16#50f1#);
989
               when 810 => tmpv1 := pm_setup(710, 16#f7d0#);
990
               when 811 => tmpv1 := pm_setup(711, 16#f43e#);
991
               when 812 => tmpv1 := pm_setup(712, 16#9590#);
992
               when 813 => tmpv1 := pm_setup(713, 16#9580#);
993
               when 814 => tmpv1 := pm_setup(714, 16#9570#);
994
               when 815 => tmpv1 := pm_setup(715, 16#9561#);
995
               when 816 => tmpv1 := pm_setup(716, 16#4f7f#);
996
               when 817 => tmpv1 := pm_setup(717, 16#4f8f#);
997
               when 818 => tmpv1 := pm_setup(718, 16#4f9f#);
998
               when 819 => tmpv1 := pm_setup(719, 16#9508#);
999
               when 820 => tmpv1 := pm_setup(720, 16#959a#);
1000
               when 821 => tmpv1 := pm_setup(721, 16#0fbb#);
1001
               when 822 => tmpv1 := pm_setup(722, 16#1f66#);
1002
               when 823 => tmpv1 := pm_setup(723, 16#1f77#);
1003
               when 824 => tmpv1 := pm_setup(724, 16#1f88#);
1004
               when 825 => tmpv1 := pm_setup(725, 16#2411#);
1005
               when 826 => tmpv1 := pm_setup(726, 16#2399#);
1006
               when 827 => tmpv1 := pm_setup(727, 16#f0a1#);
1007
               when 828 => tmpv1 := pm_setup(728, 16#2388#);
1008
               when 829 => tmpv1 := pm_setup(729, 16#f7b2#);
1009
               when 830 => tmpv1 := pm_setup(730, 16#3f9f#);
1010
               when 831 => tmpv1 := pm_setup(731, 16#f059#);
1011
               when 832 => tmpv1 := pm_setup(732, 16#0fbb#);
1012
               when 833 => tmpv1 := pm_setup(733, 16#f448#);
1013
               when 834 => tmpv1 := pm_setup(734, 16#f421#);
1014
               when 835 => tmpv1 := pm_setup(735, 16#2000#);
1015
               when 836 => tmpv1 := pm_setup(736, 16#f411#);
1016
               when 837 => tmpv1 := pm_setup(737, 16#ff60#);
1017
               when 838 => tmpv1 := pm_setup(738, 16#c004#);
1018
               when 839 => tmpv1 := pm_setup(739, 16#5f6f#);
1019
               when 840 => tmpv1 := pm_setup(740, 16#4f7f#);
1020
               when 841 => tmpv1 := pm_setup(741, 16#4f8f#);
1021
               when 842 => tmpv1 := pm_setup(742, 16#4f9f#);
1022
               when 843 => tmpv1 := pm_setup(743, 16#1f88#);
1023
               when 844 => tmpv1 := pm_setup(744, 16#9597#);
1024
               when 845 => tmpv1 := pm_setup(745, 16#9587#);
1025
               when 846 => tmpv1 := pm_setup(746, 16#f997#);
1026
               when 847 => tmpv1 := pm_setup(747, 16#9508#);
1027
               when 848 => tmpv1 := pm_setup(748, 16#c019#);
1028
               when 849 => tmpv1 := pm_setup(749, 16#2e05#);
1029
               when 850 => tmpv1 := pm_setup(750, 16#2609#);
1030
               when 851 => tmpv1 := pm_setup(751, 16#fa07#);
1031
               when 852 => tmpv1 := pm_setup(752, 16#0f44#);
1032
               when 853 => tmpv1 := pm_setup(753, 16#1f55#);
1033
               when 854 => tmpv1 := pm_setup(754, 16#3f5f#);
1034
               when 855 => tmpv1 := pm_setup(755, 16#f079#);
1035
               when 856 => tmpv1 := pm_setup(756, 16#27aa#);
1036
               when 857 => tmpv1 := pm_setup(757, 16#17a5#);
1037
               when 858 => tmpv1 := pm_setup(758, 16#f008#);
1038
               when 859 => tmpv1 := pm_setup(759, 16#e051#);
1039
               when 860 => tmpv1 := pm_setup(760, 16#9547#);
1040
               when 861 => tmpv1 := pm_setup(761, 16#0f88#);
1041
               when 862 => tmpv1 := pm_setup(762, 16#1f99#);
1042
               when 863 => tmpv1 := pm_setup(763, 16#3f9f#);
1043
               when 864 => tmpv1 := pm_setup(764, 16#f031#);
1044
               when 865 => tmpv1 := pm_setup(765, 16#27bb#);
1045
               when 866 => tmpv1 := pm_setup(766, 16#17b9#);
1046
               when 867 => tmpv1 := pm_setup(767, 16#f008#);
1047
               when 868 => tmpv1 := pm_setup(768, 16#e091#);
1048
               when 869 => tmpv1 := pm_setup(769, 16#9587#);
1049
               when 870 => tmpv1 := pm_setup(770, 16#9508#);
1050
               when 871 => tmpv1 := pm_setup(771, 16#919f#);
1051
               when 872 => tmpv1 := pm_setup(772, 16#919f#);
1052
               when 873 => tmpv1 := pm_setup(773, 16#c057#);
1053
               when 874 => tmpv1 := pm_setup(774, 16#2766#);
1054
               when 875 => tmpv1 := pm_setup(775, 16#2777#);
1055
               when 876 => tmpv1 := pm_setup(776, 16#2788#);
1056
               when 877 => tmpv1 := pm_setup(777, 16#2799#);
1057
               when 878 => tmpv1 := pm_setup(778, 16#9508#);
1058
               when 879 => tmpv1 := pm_setup(779, 16#2f59#);
1059
               when 880 => tmpv1 := pm_setup(780, 16#2f48#);
1060
               when 881 => tmpv1 := pm_setup(781, 16#2f37#);
1061
               when 882 => tmpv1 := pm_setup(782, 16#2f26#);
1062
               when 883 => tmpv1 := pm_setup(783, 16#dfdd#);
1063
               when 884 => tmpv1 := pm_setup(784, 16#d001#);
1064
               when 885 => tmpv1 := pm_setup(785, 16#cfc3#);
1065
               when 886 => tmpv1 := pm_setup(786, 16#2399#);
1066
               when 887 => tmpv1 := pm_setup(787, 16#f039#);
1067
               when 888 => tmpv1 := pm_setup(788, 16#2355#);
1068
               when 889 => tmpv1 := pm_setup(789, 16#f029#);
1069
               when 890 => tmpv1 := pm_setup(790, 16#579f#);
1070
               when 891 => tmpv1 := pm_setup(791, 16#575f#);
1071
               when 892 => tmpv1 := pm_setup(792, 16#0f95#);
1072
               when 893 => tmpv1 := pm_setup(793, 16#f413#);
1073
               when 894 => tmpv1 := pm_setup(794, 16#f1ca#);
1074
               when 895 => tmpv1 := pm_setup(795, 16#cfed#);
1075
               when 896 => tmpv1 := pm_setup(796, 16#5891#);
1076
               when 897 => tmpv1 := pm_setup(797, 16#3f9f#);
1077
               when 898 => tmpv1 := pm_setup(798, 16#f3e1#);
1078
               when 899 => tmpv1 := pm_setup(799, 16#2fa6#);
1079
               when 900 => tmpv1 := pm_setup(800, 16#2400#);
1080
               when 901 => tmpv1 := pm_setup(801, 16#2411#);
1081
               when 902 => tmpv1 := pm_setup(802, 16#27bb#);
1082
               when 903 => tmpv1 := pm_setup(803, 16#2766#);
1083
               when 904 => tmpv1 := pm_setup(804, 16#2755#);
1084
               when 905 => tmpv1 := pm_setup(805, 16#e0f8#);
1085
               when 906 => tmpv1 := pm_setup(806, 16#95a6#);
1086
               when 907 => tmpv1 := pm_setup(807, 16#f420#);
1087
               when 908 => tmpv1 := pm_setup(808, 16#0e02#);
1088
               when 909 => tmpv1 := pm_setup(809, 16#1e13#);
1089
               when 910 => tmpv1 := pm_setup(810, 16#1fb4#);
1090
               when 911 => tmpv1 := pm_setup(811, 16#1f65#);
1091
               when 912 => tmpv1 := pm_setup(812, 16#0f22#);
1092
               when 913 => tmpv1 := pm_setup(813, 16#1f33#);
1093
               when 914 => tmpv1 := pm_setup(814, 16#1f44#);
1094
               when 915 => tmpv1 := pm_setup(815, 16#1f55#);
1095
               when 916 => tmpv1 := pm_setup(816, 16#95fa#);
1096
               when 917 => tmpv1 := pm_setup(817, 16#f7a1#);
1097
               when 918 => tmpv1 := pm_setup(818, 16#e0f8#);
1098
               when 919 => tmpv1 := pm_setup(819, 16#2fe7#);
1099
               when 920 => tmpv1 := pm_setup(820, 16#2777#);
1100
               when 921 => tmpv1 := pm_setup(821, 16#e0f8#);
1101
               when 922 => tmpv1 := pm_setup(822, 16#95e6#);
1102
               when 923 => tmpv1 := pm_setup(823, 16#f420#);
1103
               when 924 => tmpv1 := pm_setup(824, 16#0e13#);
1104
               when 925 => tmpv1 := pm_setup(825, 16#1fb4#);
1105
               when 926 => tmpv1 := pm_setup(826, 16#1f65#);
1106
               when 927 => tmpv1 := pm_setup(827, 16#1f7a#);
1107
               when 928 => tmpv1 := pm_setup(828, 16#0f33#);
1108
               when 929 => tmpv1 := pm_setup(829, 16#1f44#);
1109
               when 930 => tmpv1 := pm_setup(830, 16#1f55#);
1110
               when 931 => tmpv1 := pm_setup(831, 16#1faa#);
1111
               when 932 => tmpv1 := pm_setup(832, 16#95fa#);
1112
               when 933 => tmpv1 := pm_setup(833, 16#f7a1#);
1113
               when 934 => tmpv1 := pm_setup(834, 16#2ff8#);
1114
               when 935 => tmpv1 := pm_setup(835, 16#2788#);
1115
               when 936 => tmpv1 := pm_setup(836, 16#95f6#);
1116
               when 937 => tmpv1 := pm_setup(837, 16#f420#);
1117
               when 938 => tmpv1 := pm_setup(838, 16#0fb4#);
1118
               when 939 => tmpv1 := pm_setup(839, 16#1f65#);
1119
               when 940 => tmpv1 := pm_setup(840, 16#1f7a#);
1120
               when 941 => tmpv1 := pm_setup(841, 16#1f8e#);
1121
               when 942 => tmpv1 := pm_setup(842, 16#0f44#);
1122
               when 943 => tmpv1 := pm_setup(843, 16#1f55#);
1123
               when 944 => tmpv1 := pm_setup(844, 16#1faa#);
1124
               when 945 => tmpv1 := pm_setup(845, 16#1fee#);
1125
               when 946 => tmpv1 := pm_setup(846, 16#23ff#);
1126
               when 947 => tmpv1 := pm_setup(847, 16#f7a1#);
1127
               when 948 => tmpv1 := pm_setup(848, 16#2388#);
1128
               when 949 => tmpv1 := pm_setup(849, 16#f41a#);
1129
               when 950 => tmpv1 := pm_setup(850, 16#9593#);
1130
               when 951 => tmpv1 := pm_setup(851, 16#f439#);
1131
               when 952 => tmpv1 := pm_setup(852, 16#c008#);
1132
               when 953 => tmpv1 := pm_setup(853, 16#0c00#);
1133
               when 954 => tmpv1 := pm_setup(854, 16#1c11#);
1134
               when 955 => tmpv1 := pm_setup(855, 16#1fbb#);
1135
               when 956 => tmpv1 := pm_setup(856, 16#1f66#);
1136
               when 957 => tmpv1 := pm_setup(857, 16#1f77#);
1137
               when 958 => tmpv1 := pm_setup(858, 16#1f88#);
1138
               when 959 => tmpv1 := pm_setup(859, 16#2801#);
1139
               when 960 => tmpv1 := pm_setup(860, 16#9508#);
1140
               when 961 => tmpv1 := pm_setup(861, 16#ef9f#);
1141
               when 962 => tmpv1 := pm_setup(862, 16#ec80#);
1142
               when 963 => tmpv1 := pm_setup(863, 16#9508#);
1143
-- </Instructions>
1144
 
1145
               when others =>
1146
                  null;
1147
            end case;
1148
            pm_sel   <= pm_sel_usr;
1149
            pm_wr    <= '1';
1150
            pm_addr  <= tmpv1(tmpv1'length-1 downto 16);
1151
            pm_di    <= tmpv1(15 downto 0);
1152
            -- Keep the controller in reset state until the Program Memory is prepared.
1153
            pavr_pavr_res     <= '1';
1154
            pavr_pavr_syncres <= '1';
1155
         else
1156
            pm_sel   <= pm_sel_pavr;
1157
            pm_wr    <= '0';
1158
            pm_addr  <= int_to_std_logic_vector(0, pm_addr'length);
1159
            pm_di    <= int_to_std_logic_vector(0, pm_di'length);
1160
            -- Now the Program Memory is prepared. Free the beast.
1161
            pavr_pavr_res     <= '0';
1162
            pavr_pavr_syncres <= '0';
1163
         end if;
1164
 
1165
         if pavr_pavr_res='1' or pavr_pavr_syncres='1' then
1166
            instr_cnt   <= int_to_std_logic_vector(0, instr_cnt'length);
1167
            run_clk_cnt <= int_to_std_logic_vector(0, run_clk_cnt'length);
1168
         end if;
1169
 
1170
         if syncres='1' then
1171
            -- Sync reset
1172
 
1173
            -- Reset the controller in turn.
1174
            pavr_pavr_syncres <= '1';
1175
 
1176
            main_clk_cnt <= int_to_std_logic_vector(0, main_clk_cnt'length);
1177
            run_clk_cnt  <= int_to_std_logic_vector(0, run_clk_cnt'length);
1178
            instr_cnt    <= int_to_std_logic_vector(0, instr_cnt'length);
1179
         end if;
1180
      end if;
1181
   end process test_main;
1182
 
1183
 
1184
   -- Connect components.
1185
   select_muxers:
1186
   process(pavr_pavr_pm_addr, pm_addr, pm_sel)
1187
   begin
1188
      if pm_sel=pm_sel_pavr then
1189
         pm_pavr_pm_addr <= pavr_pavr_pm_addr;
1190
      else
1191
         pm_pavr_pm_addr <= pm_addr;
1192
      end if;
1193
   end process select_muxers;
1194
   pm_pavr_pm_wr     <= pm_wr;
1195
   pm_pavr_pm_di     <= pm_di;
1196
   pavr_pavr_pm_do   <= pm_pavr_pm_do;
1197
 
1198
end;
1199
-- </File body>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.