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

Subversion Repositories atlas_core

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 33 to Rev 34
    Reverse comparison

Rev 33 → Rev 34

/atlas_core/trunk/asm/atlas_asm.exe Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/atlas_core/trunk/asm/src/main.cpp
887,7 → 887,19
if ((input_string[0] == '0') and (input_string[1] == 'X')){
for(i=0; i<31; i++)
input_string[i] = input_string[i+2];
imm = 16*hexc_to_int(input_string[0]) + hexc_to_int(input_string[1]);
imm = -1;
if (input_string[1] == '\0'){ // one hex char
imm = 1*hexc_to_int(input_string[0]);
}
else if (input_string[2] == '\0'){ // two hex chars
imm = 16*hexc_to_int(input_string[0]) + 1*hexc_to_int(input_string[1]);
}
else if (input_string[3] == '\0'){ // three hex chars
imm = 256*hexc_to_int(input_string[0]) + 16*hexc_to_int(input_string[1]) + 1*hexc_to_int(input_string[2]);
}
else { // four hex chars
imm = 4096*hexc_to_int(input_string[0]) + 256*hexc_to_int(input_string[1]) + 16*hexc_to_int(input_string[2]) + 1*hexc_to_int(input_string[3]);
}
goto skip_analysis;
}
 
1786,9 → 1798,9
else if (strcmp(arg[0], "POP") == 0) // pop from negative growing stack
opcode = (1<<14) | (0<<13) | (1<<12) | (1<<11) | (0<<10) | (conv_reg(arg[1], line)<<7) | (6<<4) | (1<<3) | (2<<0);
 
// Direct memory initialization - WORD
// Direct memory initialization
// ---------------------------------------------------------------------------------------------------------
else if (strcmp(arg[0], ".DW") == 0) // memory init
else if (strcmp(arg[0], ".DW") == 0) // memory init (word)
opcode = conv_imm(arg[1], (int)(pow(2,16)-1), line);
 
// Conditional move instructions
1904,7 → 1916,7
int p_size = 0;
int i = 0;
 
printf("ATLAS 2k Assembler, Version 2014.05.03\n");
printf("ATLAS 2k Assembler, Version 2014.05.11\n");
printf("by Stephan Nolting (stnolting@gmail.com), Hanover, Germany\n");
printf("www.opencores.org/project,atlas_core\n\n");
 
/atlas_core/trunk/rtl/BOOT_MEM.vhd
3,7 → 3,7
-- # **************************************************** #
-- # 2kB ROM initialized with Atlas-2k bootloader. #
-- # **************************************************** #
-- # Last modified: 04.05.2014 #
-- # Last modified: 15.05.2014 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
53,7 → 53,7
000007 => x"ec8a", -- MCR
000008 => x"cc19", -- LDIH
000009 => x"ed0f", -- MCR
000010 => x"c528", -- LDIL
000010 => x"c520", -- LDIL
000011 => x"c907", -- LDIH
000012 => x"be73", -- BL
000013 => x"bc00", -- B
91,15 → 91,15
000045 => x"ec22", -- MRC
000046 => x"d406", -- SBR
000047 => x"ed0a", -- MCR
000048 => x"c53c", -- LDIL
000048 => x"c534", -- LDIL
000049 => x"c905", -- LDIH
000050 => x"be4d", -- BL
000051 => x"c132", -- LDIL
000051 => x"c12a", -- LDIL
000052 => x"c906", -- LDIH
000053 => x"be4a", -- BL
000054 => x"ee11", -- MRC
000055 => x"be4c", -- BL
000056 => x"c142", -- LDIL
000056 => x"c13a", -- LDIL
000057 => x"c906", -- LDIH
000058 => x"be45", -- BL
000059 => x"ee97", -- MRC
114,13 → 114,13
000068 => x"c330", -- LDIL
000069 => x"0b60", -- ADD
000070 => x"bc0f", -- B
000071 => x"c55a", -- LDIL
000071 => x"c552", -- LDIL
000072 => x"c906", -- LDIH
000073 => x"be36", -- BL
000074 => x"c14c", -- LDIL
000074 => x"c144", -- LDIL
000075 => x"c907", -- LDIH
000076 => x"be33", -- BL
000077 => x"c512", -- LDIL
000077 => x"c50a", -- LDIL
000078 => x"c907", -- LDIH
000079 => x"be30", -- BL
000080 => x"be32", -- BL
143,7 → 143,7
000097 => x"c0b4", -- LDIL
000098 => x"181e", -- CMP
000099 => x"8021", -- BEQ
000100 => x"c29c", -- LDIL
000100 => x"c296", -- LDIL
000101 => x"ca83", -- LDIH
000102 => x"c0f0", -- LDIL
000103 => x"181e", -- CMP
150,8 → 150,8
000104 => x"f705", -- RBAEQ
000105 => x"c0e4", -- LDIL
000106 => x"181e", -- CMP
000107 => x"80e4", -- BEQ
000108 => x"c2d0", -- LDIL
000107 => x"80e1", -- BEQ
000108 => x"c2c8", -- LDIL
000109 => x"ca85", -- LDIH
000110 => x"c0f7", -- LDIL
000111 => x"181e", -- CMP
164,52 → 164,52
000118 => x"cc80", -- LDIH
000119 => x"ec99", -- MCR
000120 => x"3400", -- GT
000121 => x"c152", -- LDIL
000121 => x"c14a", -- LDIL
000122 => x"c906", -- LDIH
000123 => x"be04", -- BL
000124 => x"2800", -- CLR
000125 => x"2100", -- STUB
000126 => x"bca3", -- B
000127 => x"bc98", -- B
000128 => x"bc98", -- B
000129 => x"bc98", -- B
000130 => x"bc98", -- B
000131 => x"bc9b", -- B
000132 => x"c530", -- LDIL
000126 => x"bca0", -- B
000127 => x"bc95", -- B
000128 => x"bc95", -- B
000129 => x"bc95", -- B
000130 => x"bc95", -- B
000131 => x"bc98", -- B
000132 => x"c528", -- LDIL
000133 => x"c906", -- LDIH
000134 => x"be91", -- BL
000135 => x"be99", -- BL
000134 => x"be8e", -- BL
000135 => x"be96", -- BL
000136 => x"edca", -- MCR
000137 => x"be97", -- BL
000137 => x"be94", -- BL
000138 => x"edc9", -- MCR
000139 => x"c03e", -- LDIL
000139 => x"c036", -- LDIL
000140 => x"c805", -- LDIH
000141 => x"3404", -- GTL
000142 => x"be8a", -- BL
000143 => x"be90", -- BL
000142 => x"be87", -- BL
000143 => x"be8d", -- BL
000144 => x"c47e", -- LDIL
000145 => x"cc4a", -- LDIH
000146 => x"180e", -- CMP
000147 => x"8489", -- BNE
000148 => x"be8b", -- BL
000147 => x"8486", -- BNE
000148 => x"be88", -- BL
000149 => x"3f64", -- SFT
000150 => x"2066", -- STUB
000151 => x"be88", -- BL
000151 => x"be85", -- BL
000152 => x"20e6", -- STUB
000153 => x"be86", -- BL
000153 => x"be83", -- BL
000154 => x"2166", -- STUB
000155 => x"be84", -- BL
000155 => x"be81", -- BL
000156 => x"21e6", -- STUB
000157 => x"be82", -- BL
000157 => x"be7f", -- BL
000158 => x"2266", -- STUB
000159 => x"be80", -- BL
000159 => x"be7d", -- BL
000160 => x"22e6", -- STUB
000161 => x"be7e", -- BL
000161 => x"be7b", -- BL
000162 => x"2366", -- STUB
000163 => x"c280", -- LDIL
000164 => x"ecda", -- MCR
000165 => x"ec5e", -- MCR
000166 => x"be79", -- BL
000166 => x"be76", -- BL
000167 => x"7f5a", -- STR
000168 => x"ec06", -- MRC
000169 => x"2806", -- EOR
217,13 → 217,13
000171 => x"2400", -- LDUB
000172 => x"1858", -- CMP
000173 => x"85f9", -- BNE
000174 => x"bc56", -- B
000174 => x"bc53", -- B
000175 => x"c100", -- LDIL
000176 => x"be28", -- BL
000177 => x"c47e", -- LDIL
000178 => x"cc4a", -- LDIH
000179 => x"180d", -- CMP
000180 => x"8468", -- BNE
000180 => x"8465", -- BNE
000181 => x"c102", -- LDIL
000182 => x"be22", -- BL
000183 => x"2055", -- STUB
258,810 → 258,806
000212 => x"2400", -- LDUB
000213 => x"1848", -- CMP
000214 => x"85f7", -- BNE
000215 => x"bc2d", -- B
000215 => x"bc2a", -- B
000216 => x"0370", -- MOV
000217 => x"be42", -- BL
000217 => x"be3f", -- BL
000218 => x"3eb0", -- SFT
000219 => x"0121", -- INC
000220 => x"be3f", -- BL
000220 => x"be3c", -- BL
000221 => x"26d3", -- ORR
000222 => x"3460", -- RET
000223 => x"c16a", -- LDIL
000223 => x"c162", -- LDIL
000224 => x"c906", -- LDIH
000225 => x"be36", -- BL
000226 => x"be38", -- BL
000227 => x"3c80", -- SFT
000228 => x"be36", -- BL
000229 => x"2490", -- ORR
000230 => x"c47e", -- LDIL
000231 => x"cc4a", -- LDIH
000232 => x"1818", -- CMP
000233 => x"8433", -- BNE
000234 => x"be27", -- BL
000235 => x"3c94", -- SFT
000236 => x"2011", -- STUB
000237 => x"be24", -- BL
000238 => x"2091", -- STUB
000239 => x"be22", -- BL
000240 => x"2111", -- STUB
000241 => x"be20", -- BL
000242 => x"2191", -- STUB
000243 => x"be1e", -- BL
000244 => x"2211", -- STUB
000245 => x"be1c", -- BL
000246 => x"2291", -- STUB
000247 => x"be1a", -- BL
000248 => x"2311", -- STUB
000249 => x"2ad5", -- CLR
000250 => x"ecda", -- MCR
000251 => x"ec5e", -- MCR
000252 => x"be15", -- BL
000253 => x"7cda", -- STR
000254 => x"ec06", -- MRC
000255 => x"2801", -- EOR
000256 => x"ec0e", -- MCR
000257 => x"2400", -- LDUB
000258 => x"1858", -- CMP
000259 => x"85f9", -- BNE
000260 => x"ec11", -- MRC
000261 => x"ec8a", -- MCR
000262 => x"c50e", -- LDIL
000263 => x"c906", -- LDIH
000264 => x"be0f", -- BL
000265 => x"ec06", -- MRC
000266 => x"2491", -- LDUB
000267 => x"1809", -- CMP
000268 => x"8015", -- BEQ
000269 => x"c536", -- LDIL
000270 => x"c907", -- LDIH
000225 => x"be33", -- BL
000226 => x"be2c", -- BL
000227 => x"c47e", -- LDIL
000228 => x"cc4a", -- LDIH
000229 => x"1818", -- CMP
000230 => x"8433", -- BNE
000231 => x"be27", -- BL
000232 => x"3c94", -- SFT
000233 => x"2011", -- STUB
000234 => x"be24", -- BL
000235 => x"2091", -- STUB
000236 => x"be22", -- BL
000237 => x"2111", -- STUB
000238 => x"be20", -- BL
000239 => x"2191", -- STUB
000240 => x"be1e", -- BL
000241 => x"2211", -- STUB
000242 => x"be1c", -- BL
000243 => x"2291", -- STUB
000244 => x"be1a", -- BL
000245 => x"2311", -- STUB
000246 => x"2ad5", -- CLR
000247 => x"ecda", -- MCR
000248 => x"ec5e", -- MCR
000249 => x"be15", -- BL
000250 => x"7cda", -- STR
000251 => x"ec06", -- MRC
000252 => x"2801", -- EOR
000253 => x"ec0e", -- MCR
000254 => x"2400", -- LDUB
000255 => x"1858", -- CMP
000256 => x"85f9", -- BNE
000257 => x"ec11", -- MRC
000258 => x"ec8a", -- MCR
000259 => x"c506", -- LDIL
000260 => x"c906", -- LDIH
000261 => x"be0f", -- BL
000262 => x"ec06", -- MRC
000263 => x"2491", -- LDUB
000264 => x"1809", -- CMP
000265 => x"8015", -- BEQ
000266 => x"c52e", -- LDIL
000267 => x"c907", -- LDIH
000268 => x"be08", -- BL
000269 => x"bccf", -- B
000270 => x"0370", -- MOV
000271 => x"be08", -- BL
000272 => x"bccf", -- B
000273 => x"0370", -- MOV
000274 => x"be08", -- BL
000275 => x"3c80", -- SFT
000276 => x"be06", -- BL
000277 => x"2490", -- ORR
000278 => x"3460", -- RET
000279 => x"bccb", -- B
000280 => x"bcd4", -- B
000281 => x"bcd8", -- B
000282 => x"bcdc", -- B
000283 => x"bc71", -- B
000284 => x"bcc0", -- B
000285 => x"bd30", -- B
000286 => x"bc6f", -- B
000287 => x"bcc2", -- B
000288 => x"bcdb", -- B
000289 => x"c17e", -- LDIL
000290 => x"c906", -- LDIH
000291 => x"bebf", -- BL
000292 => x"24aa", -- LDUBS
000293 => x"8016", -- BEQ
000294 => x"c0a2", -- LDIL
000295 => x"beca", -- BL
000296 => x"24a2", -- LDUB
000297 => x"be20", -- BL
000298 => x"24b3", -- LDUB
000299 => x"be1e", -- BL
000300 => x"24c4", -- LDUB
000301 => x"be1c", -- BL
000302 => x"24d5", -- LDUB
000303 => x"be1a", -- BL
000304 => x"24e6", -- LDUB
000305 => x"be18", -- BL
000306 => x"c0a2", -- LDIL
000307 => x"bebe", -- BL
000308 => x"beb8", -- BL
000309 => x"c54e", -- LDIL
000310 => x"c906", -- LDIH
000311 => x"beab", -- BL
000312 => x"ee06", -- MRC
000313 => x"bee7", -- BL
000314 => x"beb2", -- BL
000315 => x"beb1", -- BL
000316 => x"beb0", -- BL
000317 => x"beaf", -- BL
000318 => x"c080", -- LDIL
000319 => x"ccc0", -- LDIH
000320 => x"1c01", -- STSR
000321 => x"2800", -- CLR
000322 => x"ed0f", -- MCR
000323 => x"ec88", -- MCR
000324 => x"ec8b", -- MCR
000325 => x"ec8c", -- MCR
000326 => x"ec8a", -- MCR
000327 => x"ec89", -- MCR
000328 => x"3400", -- GT
000329 => x"0370", -- MOV
000330 => x"3c90", -- SFT
000331 => x"bea6", -- BL
000332 => x"3c90", -- SFT
000333 => x"bea4", -- BL
000334 => x"3460", -- RET
000335 => x"c522", -- LDIL
000336 => x"c906", -- LDIH
000337 => x"be91", -- BL
000338 => x"bea9", -- BL
000339 => x"c13e", -- LDIL
000340 => x"c905", -- LDIH
000341 => x"3424", -- GTL
000342 => x"ecca", -- MCR
000343 => x"be95", -- BL
000344 => x"c280", -- LDIL
000345 => x"c00f", -- LDIL
000346 => x"2058", -- ANDS
000347 => x"840e", -- BNE
000348 => x"be90", -- BL
000349 => x"c0a4", -- LDIL
000350 => x"be93", -- BL
000351 => x"ee12", -- MRC
000352 => x"bec0", -- BL
000353 => x"c0ae", -- LDIL
000354 => x"be8f", -- BL
000355 => x"0250", -- MOV
000356 => x"bebc", -- BL
000357 => x"c0ba", -- LDIL
000358 => x"be8b", -- BL
000272 => x"3c80", -- SFT
000273 => x"be06", -- BL
000274 => x"2490", -- ORR
000275 => x"3460", -- RET
000276 => x"bccb", -- B
000277 => x"bcd3", -- B
000278 => x"bcd7", -- B
000279 => x"bcdb", -- B
000280 => x"bc71", -- B
000281 => x"bcc0", -- B
000282 => x"bd33", -- B
000283 => x"bc6f", -- B
000284 => x"bcc2", -- B
000285 => x"bcda", -- B
000286 => x"c176", -- LDIL
000287 => x"c906", -- LDIH
000288 => x"bebf", -- BL
000289 => x"24aa", -- LDUBS
000290 => x"8010", -- BEQ
000291 => x"c0a2", -- LDIL
000292 => x"bec9", -- BL
000293 => x"24a2", -- LDUB
000294 => x"be20", -- BL
000295 => x"24b3", -- LDUB
000296 => x"be1e", -- BL
000297 => x"24c4", -- LDUB
000298 => x"be1c", -- BL
000299 => x"24d5", -- LDUB
000300 => x"be1a", -- BL
000301 => x"24e6", -- LDUB
000302 => x"be18", -- BL
000303 => x"c0a2", -- LDIL
000304 => x"bebd", -- BL
000305 => x"beb7", -- BL
000306 => x"c546", -- LDIL
000307 => x"c906", -- LDIH
000308 => x"beab", -- BL
000309 => x"ee06", -- MRC
000310 => x"bee6", -- BL
000311 => x"beb1", -- BL
000312 => x"beb0", -- BL
000313 => x"beaf", -- BL
000314 => x"beae", -- BL
000315 => x"c080", -- LDIL
000316 => x"ccc0", -- LDIH
000317 => x"1c01", -- STSR
000318 => x"2800", -- CLR
000319 => x"ed0f", -- MCR
000320 => x"ec88", -- MCR
000321 => x"ec8b", -- MCR
000322 => x"ec8c", -- MCR
000323 => x"ec8a", -- MCR
000324 => x"ec89", -- MCR
000325 => x"3400", -- GT
000326 => x"0370", -- MOV
000327 => x"3c90", -- SFT
000328 => x"bea5", -- BL
000329 => x"3c90", -- SFT
000330 => x"bea3", -- BL
000331 => x"3460", -- RET
000332 => x"c51a", -- LDIL
000333 => x"c906", -- LDIH
000334 => x"be91", -- BL
000335 => x"bea8", -- BL
000336 => x"c136", -- LDIL
000337 => x"c905", -- LDIH
000338 => x"3424", -- GTL
000339 => x"ecca", -- MCR
000340 => x"be94", -- BL
000341 => x"c280", -- LDIL
000342 => x"c00f", -- LDIL
000343 => x"2058", -- ANDS
000344 => x"840e", -- BNE
000345 => x"be8f", -- BL
000346 => x"c0a4", -- LDIL
000347 => x"be92", -- BL
000348 => x"ee12", -- MRC
000349 => x"bebf", -- BL
000350 => x"c0ae", -- LDIL
000351 => x"be8e", -- BL
000352 => x"0250", -- MOV
000353 => x"bebb", -- BL
000354 => x"c0ba", -- LDIL
000355 => x"be8a", -- BL
000356 => x"c0a0", -- LDIL
000357 => x"be88", -- BL
000358 => x"7a5a", -- LDR
000359 => x"c0a0", -- LDIL
000360 => x"be89", -- BL
000361 => x"7a5a", -- LDR
000362 => x"c0a0", -- LDIL
000363 => x"be86", -- BL
000364 => x"beb4", -- BL
000365 => x"c00f", -- LDIL
000366 => x"2058", -- ANDS
000367 => x"8414", -- BNE
000368 => x"c0a0", -- LDIL
000369 => x"be80", -- BL
000370 => x"be7f", -- BL
000371 => x"c010", -- LDIL
000372 => x"1250", -- SUB
000373 => x"c470", -- LDIL
000374 => x"2240", -- AND
000375 => x"c12e", -- LDIL
000376 => x"78c9", -- LDR
000377 => x"3c90", -- SFT
000378 => x"c880", -- LDIH
000379 => x"c020", -- LDIL
000380 => x"1818", -- CMP
000381 => x"f8c2", -- MVHI
000382 => x"be73", -- BL
000383 => x"c08f", -- LDIL
000384 => x"2014", -- AND
000385 => x"3409", -- TEQ
000386 => x"85f6", -- BNE
000387 => x"ec20", -- MRC
000388 => x"dc0f", -- STB
000389 => x"b804", -- BTS
000390 => x"c5fe", -- LDIL
000391 => x"343d", -- TEQ
000392 => x"85d1", -- BNE
000393 => x"be6d", -- BL
000394 => x"2800", -- CLR
000395 => x"3400", -- GT
000396 => x"bc54", -- B
000397 => x"bc93", -- B
000398 => x"c001", -- LDIL
000399 => x"ed0c", -- MCR
000400 => x"c050", -- LDIL
000401 => x"c83f", -- LDIH
000402 => x"ed0a", -- MCR
000403 => x"c000", -- LDIL
000404 => x"c801", -- LDIH
000405 => x"bea9", -- BL
000406 => x"c15c", -- LDIL
000360 => x"be85", -- BL
000361 => x"beb3", -- BL
000362 => x"c00f", -- LDIL
000363 => x"2058", -- ANDS
000364 => x"8414", -- BNE
000365 => x"c0a0", -- LDIL
000366 => x"be7f", -- BL
000367 => x"be7e", -- BL
000368 => x"c010", -- LDIL
000369 => x"1250", -- SUB
000370 => x"c470", -- LDIL
000371 => x"2240", -- AND
000372 => x"c12e", -- LDIL
000373 => x"78c9", -- LDR
000374 => x"3c90", -- SFT
000375 => x"c880", -- LDIH
000376 => x"c020", -- LDIL
000377 => x"1818", -- CMP
000378 => x"f8c2", -- MVHI
000379 => x"be72", -- BL
000380 => x"c08f", -- LDIL
000381 => x"2014", -- AND
000382 => x"3409", -- TEQ
000383 => x"85f6", -- BNE
000384 => x"ec20", -- MRC
000385 => x"dc0f", -- STB
000386 => x"b804", -- BTS
000387 => x"c5fe", -- LDIL
000388 => x"343d", -- TEQ
000389 => x"85d1", -- BNE
000390 => x"be6c", -- BL
000391 => x"2800", -- CLR
000392 => x"3400", -- GT
000393 => x"bc54", -- B
000394 => x"bc92", -- B
000395 => x"c001", -- LDIL
000396 => x"ed0c", -- MCR
000397 => x"c050", -- LDIL
000398 => x"c83f", -- LDIH
000399 => x"ed0a", -- MCR
000400 => x"c000", -- LDIL
000401 => x"c801", -- LDIH
000402 => x"bea8", -- BL
000403 => x"c154", -- LDIL
000404 => x"c906", -- LDIH
000405 => x"be4a", -- BL
000406 => x"c162", -- LDIL
000407 => x"c906", -- LDIH
000408 => x"be4a", -- BL
000409 => x"c16a", -- LDIL
000410 => x"c906", -- LDIH
000411 => x"be47", -- BL
000412 => x"be5a", -- BL
000413 => x"3c80", -- SFT
000414 => x"be58", -- BL
000415 => x"2410", -- ORR
000416 => x"c4fe", -- LDIL
000417 => x"ccca", -- LDIH
000418 => x"1809", -- CMP
000419 => x"8439", -- BNE
000420 => x"c100", -- LDIL
000421 => x"0290", -- MOV
000422 => x"be2f", -- BL
000423 => x"be4f", -- BL
000424 => x"3c80", -- SFT
000425 => x"be4d", -- BL
000426 => x"2690", -- ORR
000427 => x"3ed4", -- SFT
000428 => x"2055", -- STUB
000429 => x"c102", -- LDIL
000430 => x"be27", -- BL
000431 => x"be47", -- BL
000432 => x"3c80", -- SFT
000433 => x"be45", -- BL
000434 => x"2690", -- ORR
000435 => x"20d5", -- STUB
000436 => x"c104", -- LDIL
000437 => x"be20", -- BL
000438 => x"c106", -- LDIL
000439 => x"be3f", -- BL
000440 => x"0180", -- MOV
000441 => x"be8b", -- BL
000442 => x"0121", -- INC
000443 => x"c010", -- LDIL
000444 => x"1828", -- CMP
000445 => x"85fa", -- BNE
000446 => x"2ad5", -- CLR
000447 => x"be37", -- BL
000448 => x"0180", -- MOV
000449 => x"be83", -- BL
000450 => x"0121", -- INC
000451 => x"2400", -- LDUB
000452 => x"02d1", -- INC
000453 => x"1858", -- CMP
000454 => x"85f9", -- BNE
000455 => x"c001", -- LDIL
000456 => x"ed0c", -- MCR
000457 => x"c050", -- LDIL
000458 => x"c83f", -- LDIH
000459 => x"ed0a", -- MCR
000460 => x"c00c", -- LDIL
000461 => x"c801", -- LDIH
000462 => x"be70", -- BL
000463 => x"c50e", -- LDIL
000464 => x"c906", -- LDIH
000465 => x"be11", -- BL
000466 => x"c68e", -- LDIL
000467 => x"ca80", -- LDIH
000468 => x"3450", -- GT
000469 => x"0370", -- MOV
000470 => x"3dd0", -- SFT
000471 => x"be6d", -- BL
000472 => x"0121", -- INC
000473 => x"01d0", -- MOV
000474 => x"be6a", -- BL
000475 => x"3460", -- RET
000476 => x"c51a", -- LDIL
000477 => x"c907", -- LDIH
000478 => x"be04", -- BL
000479 => x"bcba", -- B
000480 => x"bc94", -- B
000481 => x"bca5", -- B
000482 => x"01f0", -- MOV
000483 => x"7829", -- LDR
000484 => x"c080", -- LDIL
000485 => x"ccff", -- LDIH
000486 => x"2081", -- AND
000487 => x"3c98", -- SFTS
000488 => x"8003", -- BEQ
000489 => x"be08", -- BL
000490 => x"bdf9", -- B
000491 => x"3430", -- RET
000492 => x"0170", -- MOV
000493 => x"c08d", -- LDIL
000494 => x"be03", -- BL
000495 => x"c08a", -- LDIL
000496 => x"03a0", -- MOV
000497 => x"ec22", -- MRC
000498 => x"dc05", -- STB
000499 => x"b9fe", -- BTS
000500 => x"ed18", -- MCR
000501 => x"3470", -- RET
000502 => x"ec20", -- MRC
000503 => x"dc8f", -- STBI
000504 => x"b9fe", -- BTS
000505 => x"c800", -- LDIH
000506 => x"3470", -- RET
000507 => x"0170", -- MOV
000508 => x"c200", -- LDIL
000509 => x"c184", -- LDIL
000510 => x"bff8", -- BL
000511 => x"c0c6", -- LDIL
000512 => x"1809", -- CMP
000513 => x"9003", -- BMI
000514 => x"c0a0", -- LDIL
000515 => x"1001", -- SUB
000516 => x"c0b0", -- LDIL
000517 => x"1809", -- CMP
000518 => x"91f8", -- BMI
000519 => x"c0c6", -- LDIL
000520 => x"1818", -- CMP
000521 => x"91f5", -- BMI
000522 => x"c0b9", -- LDIL
000523 => x"1818", -- CMP
000524 => x"a404", -- BLS
000525 => x"c0c1", -- LDIL
000526 => x"1809", -- CMP
000527 => x"a1ef", -- BHI
000528 => x"0080", -- MOV
000529 => x"bfe0", -- BL
000530 => x"c030", -- LDIL
000531 => x"1090", -- SUB
000532 => x"c009", -- LDIL
000533 => x"1809", -- CMP
000534 => x"a402", -- BLS
000535 => x"0497", -- DEC
000536 => x"3e42", -- SFT
000537 => x"3e42", -- SFT
000538 => x"3e42", -- SFT
000539 => x"3e42", -- SFT
000540 => x"2641", -- ORR
000541 => x"05b9", -- DECS
000542 => x"85e0", -- BNE
000543 => x"3420", -- RET
000544 => x"0370", -- MOV
000545 => x"3d42", -- SFT
000546 => x"3d22", -- SFT
000547 => x"3d22", -- SFT
000548 => x"3d22", -- SFT
000549 => x"be0f", -- BL
000550 => x"bfcb", -- BL
000551 => x"3d40", -- SFT
000552 => x"be0c", -- BL
000553 => x"bfc8", -- BL
000554 => x"3d45", -- SFT
000555 => x"3d25", -- SFT
000556 => x"3d25", -- SFT
000557 => x"3d25", -- SFT
000558 => x"be06", -- BL
000559 => x"bfc2", -- BL
000560 => x"0140", -- MOV
000561 => x"be03", -- BL
000562 => x"bfbf", -- BL
000563 => x"3460", -- RET
000564 => x"c08f", -- LDIL
000565 => x"2121", -- AND
000566 => x"c089", -- LDIL
000567 => x"181a", -- CMP
000568 => x"8803", -- BCS
000569 => x"c0b0", -- LDIL
000570 => x"bc02", -- B
000571 => x"c0b7", -- LDIL
000572 => x"0892", -- ADD
000573 => x"3470", -- RET
000574 => x"ed0b", -- MCR
000575 => x"ec22", -- MRC
000576 => x"dc03", -- STB
000577 => x"b9fe", -- BTS
000578 => x"ec23", -- MRC
000579 => x"3470", -- RET
000580 => x"00f0", -- MOV
000581 => x"c050", -- LDIL
000582 => x"c837", -- LDIH
000583 => x"ed0a", -- MCR
000584 => x"c001", -- LDIL
000585 => x"ed0c", -- MCR
000586 => x"c006", -- LDIL
000587 => x"bff3", -- BL
000588 => x"c050", -- LDIL
000589 => x"c83f", -- LDIH
000590 => x"ed0a", -- MCR
000591 => x"c000", -- LDIL
000592 => x"c805", -- LDIH
000593 => x"bfed", -- BL
000594 => x"dc01", -- STB
000595 => x"b805", -- BTS
000596 => x"c546", -- LDIL
000597 => x"c907", -- LDIH
000598 => x"bf8c", -- BL
000599 => x"bc42", -- B
000600 => x"c040", -- LDIL
000601 => x"c83f", -- LDIH
000602 => x"ed0a", -- MCR
000603 => x"c001", -- LDIL
000604 => x"ed0c", -- MCR
000605 => x"3c20", -- SFT
000606 => x"c802", -- LDIH
000607 => x"bfdf", -- BL
000608 => x"03a0", -- MOV
000609 => x"cb80", -- LDIH
000610 => x"3ff0", -- SFT
000611 => x"0030", -- MOV
000612 => x"c800", -- LDIH
000613 => x"2407", -- ORR
000614 => x"bfd8", -- BL
000615 => x"2800", -- CLR
000616 => x"ed0c", -- MCR
000617 => x"c050", -- LDIL
000618 => x"c83f", -- LDIH
000619 => x"ed0a", -- MCR
000620 => x"c001", -- LDIL
000621 => x"ed0c", -- MCR
000622 => x"c000", -- LDIL
000623 => x"c805", -- LDIH
000624 => x"bfce", -- BL
000625 => x"dc00", -- STB
000626 => x"b9fc", -- BTS
000627 => x"3410", -- RET
000628 => x"00f0", -- MOV
000629 => x"c040", -- LDIL
000630 => x"c83f", -- LDIH
000631 => x"ed0a", -- MCR
000632 => x"c001", -- LDIL
000633 => x"ed0c", -- MCR
000634 => x"3c20", -- SFT
000635 => x"c803", -- LDIH
000636 => x"bfc2", -- BL
000637 => x"0020", -- MOV
000638 => x"c800", -- LDIH
000639 => x"3c00", -- SFT
000640 => x"bfbe", -- BL
000641 => x"29b3", -- CLR
000642 => x"ed3c", -- MCR
000643 => x"0180", -- MOV
000644 => x"c980", -- LDIH
000645 => x"3410", -- RET
000646 => x"e5b0", -- CDP
000647 => x"ec30", -- MRC
000648 => x"dc06", -- STB
000649 => x"b9fe", -- BTS
000650 => x"c306", -- LDIL
000651 => x"200e", -- ANDS
000652 => x"840a", -- BNE
000653 => x"ecb1", -- MRC
000654 => x"ef32", -- MRC
000655 => x"2800", -- CLR
000656 => x"009a", -- INCS
000657 => x"0f60", -- ADC
000658 => x"ed99", -- MCR
000659 => x"edea", -- MCR
000660 => x"ef34", -- MRC
000661 => x"3470", -- RET
000662 => x"c558", -- LDIL
000663 => x"c907", -- LDIH
000664 => x"bf4a", -- BL
000665 => x"c566", -- LDIL
000666 => x"c907", -- LDIH
000667 => x"bf47", -- BL
000668 => x"bf5a", -- BL
000669 => x"2800", -- CLR
000670 => x"3400", -- GT
000671 => x"0170", -- MOV
000672 => x"bf56", -- BL
000673 => x"c08d", -- LDIL
000674 => x"1809", -- CMP
000675 => x"f702", -- RBAEQ
000676 => x"c088", -- LDIL
000677 => x"1809", -- CMP
000678 => x"8034", -- BEQ
000679 => x"bdf9", -- B
000680 => x"c530", -- LDIL
000681 => x"c906", -- LDIH
000682 => x"bf38", -- BL
000683 => x"bf50", -- BL
000684 => x"edca", -- MCR
000685 => x"bf4e", -- BL
000686 => x"edc9", -- MCR
000687 => x"bff0", -- BL
000688 => x"bf3c", -- BL
000689 => x"c53e", -- LDIL
000690 => x"c906", -- LDIH
000691 => x"bf2f", -- BL
000692 => x"bf47", -- BL
000693 => x"02c0", -- MOV
000694 => x"bfe9", -- BL
000695 => x"bf35", -- BL
000696 => x"345d", -- TEQ
000697 => x"8021", -- BEQ
000698 => x"06d1", -- DEC
000699 => x"bf31", -- BL
000700 => x"c0a4", -- LDIL
000701 => x"bf34", -- BL
000702 => x"ee32", -- MRC
000703 => x"bf61", -- BL
000704 => x"ee31", -- MRC
000705 => x"bf5f", -- BL
000706 => x"c0ba", -- LDIL
000707 => x"bf2e", -- BL
000708 => x"c0a0", -- LDIL
000709 => x"bf2c", -- BL
000710 => x"bfc0", -- BL
000711 => x"0260", -- MOV
000712 => x"bf58", -- BL
000713 => x"c320", -- LDIL
000714 => x"c1ae", -- LDIL
000715 => x"00e0", -- MOV
000716 => x"bf25", -- BL
000717 => x"3cc0", -- SFT
000718 => x"c880", -- LDIH
000719 => x"181e", -- CMP
000720 => x"f8c3", -- MVHI
000721 => x"bf20", -- BL
000722 => x"00c0", -- MOV
000723 => x"c880", -- LDIH
000724 => x"181e", -- CMP
000725 => x"f8c3", -- MVHI
000726 => x"bf1b", -- BL
000727 => x"eca0", -- MRC
000728 => x"dc9f", -- STBI
000729 => x"b9df", -- BTS
000730 => x"bf12", -- BL
000731 => x"c69a", -- LDIL
000732 => x"ca80", -- LDIH
000733 => x"3450", -- GT
000734 => x"0d0a", -- .DW
000735 => x"0d0a", -- .DW
000736 => x"4174", -- .DW
000737 => x"6c61", -- .DW
000738 => x"732d", -- .DW
000739 => x"324b", -- .DW
000740 => x"2042", -- .DW
000741 => x"6f6f", -- .DW
000742 => x"746c", -- .DW
000743 => x"6f61", -- .DW
000744 => x"6465", -- .DW
000745 => x"7220", -- .DW
000746 => x"2d20", -- .DW
000747 => x"5632", -- .DW
000748 => x"3031", -- .DW
000749 => x"3430", -- .DW
000750 => x"3530", -- .DW
000751 => x"340d", -- .DW
000752 => x"0a62", -- .DW
000753 => x"7920", -- .DW
000754 => x"5374", -- .DW
000755 => x"6570", -- .DW
000756 => x"6861", -- .DW
000757 => x"6e20", -- .DW
000758 => x"4e6f", -- .DW
000759 => x"6c74", -- .DW
000760 => x"696e", -- .DW
000761 => x"672c", -- .DW
000762 => x"2073", -- .DW
000763 => x"746e", -- .DW
000764 => x"6f6c", -- .DW
000765 => x"7469", -- .DW
000766 => x"6e67", -- .DW
000767 => x"4067", -- .DW
000768 => x"6d61", -- .DW
000769 => x"696c", -- .DW
000770 => x"2e63", -- .DW
000771 => x"6f6d", -- .DW
000772 => x"0d0a", -- .DW
000773 => x"7777", -- .DW
000774 => x"772e", -- .DW
000775 => x"6f70", -- .DW
000776 => x"656e", -- .DW
000777 => x"636f", -- .DW
000778 => x"7265", -- .DW
000779 => x"732e", -- .DW
000780 => x"6f72", -- .DW
000781 => x"672f", -- .DW
000782 => x"7072", -- .DW
000783 => x"6f6a", -- .DW
000784 => x"6563", -- .DW
000785 => x"742c", -- .DW
000786 => x"6174", -- .DW
000787 => x"6c61", -- .DW
000788 => x"735f", -- .DW
000789 => x"636f", -- .DW
000790 => x"7265", -- .DW
000791 => x"0d0a", -- .DW
000792 => x"0000", -- .DW
000793 => x"0d0a", -- .DW
000794 => x"426f", -- .DW
000795 => x"6f74", -- .DW
000796 => x"2070", -- .DW
000797 => x"6167", -- .DW
000798 => x"653a", -- .DW
000799 => x"2030", -- .DW
000800 => x"7800", -- .DW
000801 => x"0d0a", -- .DW
000802 => x"436c", -- .DW
000803 => x"6f63", -- .DW
000804 => x"6b28", -- .DW
000805 => x"487a", -- .DW
000806 => x"293a", -- .DW
000807 => x"2030", -- .DW
000808 => x"7800", -- .DW
000809 => x"426f", -- .DW
000810 => x"6f74", -- .DW
000811 => x"696e", -- .DW
000812 => x"670d", -- .DW
000813 => x"0a00", -- .DW
000814 => x"4275", -- .DW
000815 => x"726e", -- .DW
000816 => x"2045", -- .DW
000817 => x"4550", -- .DW
000818 => x"524f", -- .DW
000819 => x"4d0d", -- .DW
000820 => x"0a00", -- .DW
000821 => x"4177", -- .DW
000822 => x"6169", -- .DW
000823 => x"7469", -- .DW
000824 => x"6e67", -- .DW
000825 => x"2064", -- .DW
000826 => x"6174", -- .DW
000827 => x"612e", -- .DW
000828 => x"2e2e", -- .DW
000829 => x"0d0a", -- .DW
000830 => x"0000", -- .DW
000831 => x"5374", -- .DW
000832 => x"6172", -- .DW
000833 => x"7469", -- .DW
000834 => x"6e67", -- .DW
000835 => x"2069", -- .DW
000836 => x"6d61", -- .DW
000837 => x"6765", -- .DW
000838 => x"2000", -- .DW
000839 => x"446f", -- .DW
000840 => x"776e", -- .DW
000841 => x"6c6f", -- .DW
000842 => x"6164", -- .DW
000843 => x"2063", -- .DW
000844 => x"6f6d", -- .DW
000845 => x"706c", -- .DW
000846 => x"6574", -- .DW
000847 => x"650d", -- .DW
000848 => x"0a00", -- .DW
000849 => x"5061", -- .DW
000850 => x"6765", -- .DW
000851 => x"2028", -- .DW
000852 => x"3468", -- .DW
000853 => x"293a", -- .DW
000854 => x"2024", -- .DW
000855 => x"0000", -- .DW
000856 => x"4164", -- .DW
000857 => x"6472", -- .DW
000858 => x"2028", -- .DW
000859 => x"3868", -- .DW
000860 => x"293a", -- .DW
000861 => x"2024", -- .DW
000862 => x"0000", -- .DW
000863 => x"2377", -- .DW
000864 => x"6f72", -- .DW
000865 => x"6473", -- .DW
000866 => x"2028", -- .DW
000867 => x"3468", -- .DW
000868 => x"293a", -- .DW
000869 => x"2024", -- .DW
000870 => x"0000", -- .DW
000871 => x"4368", -- .DW
000872 => x"6563", -- .DW
000873 => x"6b73", -- .DW
000874 => x"756d", -- .DW
000875 => x"3a20", -- .DW
000876 => x"2400", -- .DW
000877 => x"0d0a", -- .DW
000878 => x"636d", -- .DW
000879 => x"642f", -- .DW
000880 => x"626f", -- .DW
000881 => x"6f74", -- .DW
000882 => x"2d73", -- .DW
000883 => x"7769", -- .DW
000884 => x"7463", -- .DW
000885 => x"683a", -- .DW
000886 => x"0d0a", -- .DW
000887 => x"2030", -- .DW
000888 => x"2f27", -- .DW
000889 => x"3030", -- .DW
000890 => x"273a", -- .DW
000891 => x"2028", -- .DW
000892 => x"5265", -- .DW
000893 => x"2d29", -- .DW
000894 => x"5374", -- .DW
000895 => x"6172", -- .DW
000896 => x"7420", -- .DW
000897 => x"636f", -- .DW
000898 => x"6e73", -- .DW
000899 => x"6f6c", -- .DW
000900 => x"650d", -- .DW
000901 => x"0a20", -- .DW
000902 => x"312f", -- .DW
000903 => x"2730", -- .DW
000904 => x"3127", -- .DW
000905 => x"3a20", -- .DW
000906 => x"426f", -- .DW
000907 => x"6f74", -- .DW
000908 => x"2055", -- .DW
000909 => x"4152", -- .DW
000910 => x"540d", -- .DW
000911 => x"0a20", -- .DW
000912 => x"322f", -- .DW
000913 => x"2731", -- .DW
000914 => x"3027", -- .DW
000915 => x"3a20", -- .DW
000916 => x"426f", -- .DW
000917 => x"6f74", -- .DW
000918 => x"2045", -- .DW
000919 => x"4550", -- .DW
000920 => x"524f", -- .DW
000921 => x"4d0d", -- .DW
000922 => x"0a20", -- .DW
000923 => x"332f", -- .DW
000924 => x"2731", -- .DW
000925 => x"3127", -- .DW
000926 => x"3a20", -- .DW
000927 => x"426f", -- .DW
000928 => x"6f74", -- .DW
000929 => x"206d", -- .DW
000930 => x"656d", -- .DW
000931 => x"6f72", -- .DW
000932 => x"790d", -- .DW
000933 => x"0a00", -- .DW
000934 => x"2034", -- .DW
000935 => x"3a20", -- .DW
000936 => x"426f", -- .DW
000937 => x"6f74", -- .DW
000938 => x"2057", -- .DW
000939 => x"420d", -- .DW
000940 => x"0a20", -- .DW
000941 => x"703a", -- .DW
000942 => x"2042", -- .DW
000943 => x"7572", -- .DW
000944 => x"6e20", -- .DW
000945 => x"4545", -- .DW
000946 => x"5052", -- .DW
000947 => x"4f4d", -- .DW
000948 => x"0d0a", -- .DW
000949 => x"2064", -- .DW
000950 => x"3a20", -- .DW
000951 => x"5241", -- .DW
000952 => x"4d20", -- .DW
000953 => x"6475", -- .DW
000954 => x"6d70", -- .DW
000955 => x"0d0a", -- .DW
000956 => x"2072", -- .DW
000957 => x"3a20", -- .DW
000958 => x"5265", -- .DW
000959 => x"7365", -- .DW
000960 => x"740d", -- .DW
000961 => x"0a20", -- .DW
000962 => x"773a", -- .DW
000963 => x"2057", -- .DW
000964 => x"4220", -- .DW
000965 => x"6475", -- .DW
000966 => x"6d70", -- .DW
000967 => x"0d0a", -- .DW
000408 => x"be47", -- BL
000409 => x"be59", -- BL
000410 => x"3c80", -- SFT
000411 => x"be57", -- BL
000412 => x"2410", -- ORR
000413 => x"c4fe", -- LDIL
000414 => x"ccca", -- LDIH
000415 => x"1809", -- CMP
000416 => x"8439", -- BNE
000417 => x"c100", -- LDIL
000418 => x"0290", -- MOV
000419 => x"be2f", -- BL
000420 => x"be4e", -- BL
000421 => x"3c80", -- SFT
000422 => x"be4c", -- BL
000423 => x"2690", -- ORR
000424 => x"3ed4", -- SFT
000425 => x"2055", -- STUB
000426 => x"c102", -- LDIL
000427 => x"be27", -- BL
000428 => x"be46", -- BL
000429 => x"3c80", -- SFT
000430 => x"be44", -- BL
000431 => x"2690", -- ORR
000432 => x"20d5", -- STUB
000433 => x"c104", -- LDIL
000434 => x"be20", -- BL
000435 => x"c106", -- LDIL
000436 => x"be3e", -- BL
000437 => x"0180", -- MOV
000438 => x"be8a", -- BL
000439 => x"0121", -- INC
000440 => x"c010", -- LDIL
000441 => x"1828", -- CMP
000442 => x"85fa", -- BNE
000443 => x"2ad5", -- CLR
000444 => x"be36", -- BL
000445 => x"0180", -- MOV
000446 => x"be82", -- BL
000447 => x"0121", -- INC
000448 => x"2400", -- LDUB
000449 => x"02d1", -- INC
000450 => x"1858", -- CMP
000451 => x"85f9", -- BNE
000452 => x"c001", -- LDIL
000453 => x"ed0c", -- MCR
000454 => x"c050", -- LDIL
000455 => x"c83f", -- LDIH
000456 => x"ed0a", -- MCR
000457 => x"c00c", -- LDIL
000458 => x"c801", -- LDIH
000459 => x"be6f", -- BL
000460 => x"c506", -- LDIL
000461 => x"c906", -- LDIH
000462 => x"be11", -- BL
000463 => x"c68e", -- LDIL
000464 => x"ca80", -- LDIH
000465 => x"3450", -- GT
000466 => x"0370", -- MOV
000467 => x"3dd0", -- SFT
000468 => x"be6c", -- BL
000469 => x"0121", -- INC
000470 => x"01d0", -- MOV
000471 => x"be69", -- BL
000472 => x"3460", -- RET
000473 => x"c512", -- LDIL
000474 => x"c907", -- LDIH
000475 => x"be04", -- BL
000476 => x"bcb9", -- B
000477 => x"bc93", -- B
000478 => x"bca4", -- B
000479 => x"01f0", -- MOV
000480 => x"78a9", -- LDR
000481 => x"3c90", -- SFT
000482 => x"c880", -- LDIH
000483 => x"3419", -- TEQ
000484 => x"8003", -- BEQ
000485 => x"be08", -- BL
000486 => x"bdfa", -- B
000487 => x"3430", -- RET
000488 => x"0170", -- MOV
000489 => x"c08d", -- LDIL
000490 => x"be03", -- BL
000491 => x"c08a", -- LDIL
000492 => x"03a0", -- MOV
000493 => x"ec22", -- MRC
000494 => x"dc05", -- STB
000495 => x"b9fe", -- BTS
000496 => x"ed18", -- MCR
000497 => x"3470", -- RET
000498 => x"ec20", -- MRC
000499 => x"dc8f", -- STBI
000500 => x"b9fe", -- BTS
000501 => x"c800", -- LDIH
000502 => x"3470", -- RET
000503 => x"0170", -- MOV
000504 => x"c200", -- LDIL
000505 => x"c184", -- LDIL
000506 => x"bff8", -- BL
000507 => x"c0c7", -- LDIL
000508 => x"1809", -- CMP
000509 => x"9003", -- BMI
000510 => x"c0a0", -- LDIL
000511 => x"1001", -- SUB
000512 => x"c0b0", -- LDIL
000513 => x"1809", -- CMP
000514 => x"91f8", -- BMI
000515 => x"c0c6", -- LDIL
000516 => x"1818", -- CMP
000517 => x"91f5", -- BMI
000518 => x"c0b9", -- LDIL
000519 => x"1818", -- CMP
000520 => x"a404", -- BLS
000521 => x"c0c1", -- LDIL
000522 => x"1809", -- CMP
000523 => x"a1ef", -- BHI
000524 => x"0080", -- MOV
000525 => x"bfe0", -- BL
000526 => x"c030", -- LDIL
000527 => x"1090", -- SUB
000528 => x"c009", -- LDIL
000529 => x"1809", -- CMP
000530 => x"a402", -- BLS
000531 => x"0497", -- DEC
000532 => x"3e42", -- SFT
000533 => x"3e42", -- SFT
000534 => x"3e42", -- SFT
000535 => x"3e42", -- SFT
000536 => x"2641", -- ORR
000537 => x"05b9", -- DECS
000538 => x"85e0", -- BNE
000539 => x"3420", -- RET
000540 => x"0370", -- MOV
000541 => x"3d42", -- SFT
000542 => x"3d22", -- SFT
000543 => x"3d22", -- SFT
000544 => x"3d22", -- SFT
000545 => x"be0f", -- BL
000546 => x"bfcb", -- BL
000547 => x"3d40", -- SFT
000548 => x"be0c", -- BL
000549 => x"bfc8", -- BL
000550 => x"3d45", -- SFT
000551 => x"3d25", -- SFT
000552 => x"3d25", -- SFT
000553 => x"3d25", -- SFT
000554 => x"be06", -- BL
000555 => x"bfc2", -- BL
000556 => x"0140", -- MOV
000557 => x"be03", -- BL
000558 => x"bfbf", -- BL
000559 => x"3460", -- RET
000560 => x"c08f", -- LDIL
000561 => x"2121", -- AND
000562 => x"c089", -- LDIL
000563 => x"181a", -- CMP
000564 => x"8803", -- BCS
000565 => x"c0b0", -- LDIL
000566 => x"bc02", -- B
000567 => x"c0b7", -- LDIL
000568 => x"0892", -- ADD
000569 => x"3470", -- RET
000570 => x"ed0b", -- MCR
000571 => x"ec22", -- MRC
000572 => x"dc03", -- STB
000573 => x"b9fe", -- BTS
000574 => x"ec23", -- MRC
000575 => x"3470", -- RET
000576 => x"00f0", -- MOV
000577 => x"c050", -- LDIL
000578 => x"c837", -- LDIH
000579 => x"ed0a", -- MCR
000580 => x"c001", -- LDIL
000581 => x"ed0c", -- MCR
000582 => x"c006", -- LDIL
000583 => x"bff3", -- BL
000584 => x"c050", -- LDIL
000585 => x"c83f", -- LDIH
000586 => x"ed0a", -- MCR
000587 => x"c000", -- LDIL
000588 => x"c805", -- LDIH
000589 => x"bfed", -- BL
000590 => x"dc01", -- STB
000591 => x"b805", -- BTS
000592 => x"c53e", -- LDIL
000593 => x"c907", -- LDIH
000594 => x"bf8d", -- BL
000595 => x"bc42", -- B
000596 => x"c040", -- LDIL
000597 => x"c83f", -- LDIH
000598 => x"ed0a", -- MCR
000599 => x"c001", -- LDIL
000600 => x"ed0c", -- MCR
000601 => x"3c20", -- SFT
000602 => x"c802", -- LDIH
000603 => x"bfdf", -- BL
000604 => x"03a0", -- MOV
000605 => x"cb80", -- LDIH
000606 => x"3ff0", -- SFT
000607 => x"0030", -- MOV
000608 => x"c800", -- LDIH
000609 => x"2407", -- ORR
000610 => x"bfd8", -- BL
000611 => x"2800", -- CLR
000612 => x"ed0c", -- MCR
000613 => x"c050", -- LDIL
000614 => x"c83f", -- LDIH
000615 => x"ed0a", -- MCR
000616 => x"c001", -- LDIL
000617 => x"ed0c", -- MCR
000618 => x"c000", -- LDIL
000619 => x"c805", -- LDIH
000620 => x"bfce", -- BL
000621 => x"dc00", -- STB
000622 => x"b9fc", -- BTS
000623 => x"3410", -- RET
000624 => x"00f0", -- MOV
000625 => x"c040", -- LDIL
000626 => x"c83f", -- LDIH
000627 => x"ed0a", -- MCR
000628 => x"c001", -- LDIL
000629 => x"ed0c", -- MCR
000630 => x"3c20", -- SFT
000631 => x"c803", -- LDIH
000632 => x"bfc2", -- BL
000633 => x"0020", -- MOV
000634 => x"c800", -- LDIH
000635 => x"3c00", -- SFT
000636 => x"bfbe", -- BL
000637 => x"29b3", -- CLR
000638 => x"ed3c", -- MCR
000639 => x"0180", -- MOV
000640 => x"c980", -- LDIH
000641 => x"3410", -- RET
000642 => x"e5b0", -- CDP
000643 => x"ec30", -- MRC
000644 => x"dc06", -- STB
000645 => x"b9fe", -- BTS
000646 => x"c306", -- LDIL
000647 => x"200e", -- ANDS
000648 => x"840a", -- BNE
000649 => x"ecb1", -- MRC
000650 => x"ef32", -- MRC
000651 => x"2800", -- CLR
000652 => x"009a", -- INCS
000653 => x"0f60", -- ADC
000654 => x"ed99", -- MCR
000655 => x"edea", -- MCR
000656 => x"ef34", -- MRC
000657 => x"3470", -- RET
000658 => x"c550", -- LDIL
000659 => x"c907", -- LDIH
000660 => x"bf4b", -- BL
000661 => x"c55e", -- LDIL
000662 => x"c907", -- LDIH
000663 => x"bf48", -- BL
000664 => x"bf5a", -- BL
000665 => x"2800", -- CLR
000666 => x"3400", -- GT
000667 => x"0170", -- MOV
000668 => x"bf56", -- BL
000669 => x"c08d", -- LDIL
000670 => x"1809", -- CMP
000671 => x"f702", -- RBAEQ
000672 => x"c088", -- LDIL
000673 => x"1809", -- CMP
000674 => x"8034", -- BEQ
000675 => x"bdf9", -- B
000676 => x"c528", -- LDIL
000677 => x"c906", -- LDIH
000678 => x"bf39", -- BL
000679 => x"bf50", -- BL
000680 => x"edca", -- MCR
000681 => x"bf4e", -- BL
000682 => x"edc9", -- MCR
000683 => x"bff0", -- BL
000684 => x"bf3c", -- BL
000685 => x"c536", -- LDIL
000686 => x"c906", -- LDIH
000687 => x"bf30", -- BL
000688 => x"bf47", -- BL
000689 => x"02c0", -- MOV
000690 => x"bfe9", -- BL
000691 => x"bf35", -- BL
000692 => x"345d", -- TEQ
000693 => x"8021", -- BEQ
000694 => x"06d1", -- DEC
000695 => x"bf31", -- BL
000696 => x"c0a4", -- LDIL
000697 => x"bf34", -- BL
000698 => x"ee32", -- MRC
000699 => x"bf61", -- BL
000700 => x"ee31", -- MRC
000701 => x"bf5f", -- BL
000702 => x"c0ba", -- LDIL
000703 => x"bf2e", -- BL
000704 => x"c0a0", -- LDIL
000705 => x"bf2c", -- BL
000706 => x"bfc0", -- BL
000707 => x"0260", -- MOV
000708 => x"bf58", -- BL
000709 => x"c320", -- LDIL
000710 => x"c1ae", -- LDIL
000711 => x"00e0", -- MOV
000712 => x"bf25", -- BL
000713 => x"3cc0", -- SFT
000714 => x"c880", -- LDIH
000715 => x"181e", -- CMP
000716 => x"f8c3", -- MVHI
000717 => x"bf20", -- BL
000718 => x"00c0", -- MOV
000719 => x"c880", -- LDIH
000720 => x"181e", -- CMP
000721 => x"f8c3", -- MVHI
000722 => x"bf1b", -- BL
000723 => x"eca0", -- MRC
000724 => x"dc9f", -- STBI
000725 => x"b9df", -- BTS
000726 => x"bf12", -- BL
000727 => x"c69a", -- LDIL
000728 => x"ca80", -- LDIH
000729 => x"3450", -- GT
000730 => x"0d0a", -- .DW
000731 => x"0d0a", -- .DW
000732 => x"4174", -- .DW
000733 => x"6c61", -- .DW
000734 => x"732d", -- .DW
000735 => x"324b", -- .DW
000736 => x"2042", -- .DW
000737 => x"6f6f", -- .DW
000738 => x"746c", -- .DW
000739 => x"6f61", -- .DW
000740 => x"6465", -- .DW
000741 => x"7220", -- .DW
000742 => x"2d20", -- .DW
000743 => x"5632", -- .DW
000744 => x"3031", -- .DW
000745 => x"3430", -- .DW
000746 => x"3531", -- .DW
000747 => x"360d", -- .DW
000748 => x"0a62", -- .DW
000749 => x"7920", -- .DW
000750 => x"5374", -- .DW
000751 => x"6570", -- .DW
000752 => x"6861", -- .DW
000753 => x"6e20", -- .DW
000754 => x"4e6f", -- .DW
000755 => x"6c74", -- .DW
000756 => x"696e", -- .DW
000757 => x"672c", -- .DW
000758 => x"2073", -- .DW
000759 => x"746e", -- .DW
000760 => x"6f6c", -- .DW
000761 => x"7469", -- .DW
000762 => x"6e67", -- .DW
000763 => x"4067", -- .DW
000764 => x"6d61", -- .DW
000765 => x"696c", -- .DW
000766 => x"2e63", -- .DW
000767 => x"6f6d", -- .DW
000768 => x"0d0a", -- .DW
000769 => x"7777", -- .DW
000770 => x"772e", -- .DW
000771 => x"6f70", -- .DW
000772 => x"656e", -- .DW
000773 => x"636f", -- .DW
000774 => x"7265", -- .DW
000775 => x"732e", -- .DW
000776 => x"6f72", -- .DW
000777 => x"672f", -- .DW
000778 => x"7072", -- .DW
000779 => x"6f6a", -- .DW
000780 => x"6563", -- .DW
000781 => x"742c", -- .DW
000782 => x"6174", -- .DW
000783 => x"6c61", -- .DW
000784 => x"735f", -- .DW
000785 => x"636f", -- .DW
000786 => x"7265", -- .DW
000787 => x"0d0a", -- .DW
000788 => x"0000", -- .DW
000789 => x"0d0a", -- .DW
000790 => x"426f", -- .DW
000791 => x"6f74", -- .DW
000792 => x"2070", -- .DW
000793 => x"6167", -- .DW
000794 => x"653a", -- .DW
000795 => x"2030", -- .DW
000796 => x"7800", -- .DW
000797 => x"0d0a", -- .DW
000798 => x"436c", -- .DW
000799 => x"6f63", -- .DW
000800 => x"6b28", -- .DW
000801 => x"487a", -- .DW
000802 => x"293a", -- .DW
000803 => x"2030", -- .DW
000804 => x"7800", -- .DW
000805 => x"426f", -- .DW
000806 => x"6f74", -- .DW
000807 => x"696e", -- .DW
000808 => x"670d", -- .DW
000809 => x"0a00", -- .DW
000810 => x"4275", -- .DW
000811 => x"726e", -- .DW
000812 => x"2045", -- .DW
000813 => x"4550", -- .DW
000814 => x"524f", -- .DW
000815 => x"4d0d", -- .DW
000816 => x"0a00", -- .DW
000817 => x"4177", -- .DW
000818 => x"6169", -- .DW
000819 => x"7469", -- .DW
000820 => x"6e67", -- .DW
000821 => x"2069", -- .DW
000822 => x"6d61", -- .DW
000823 => x"6765", -- .DW
000824 => x"2e2e", -- .DW
000825 => x"2e0d", -- .DW
000826 => x"0a00", -- .DW
000827 => x"5374", -- .DW
000828 => x"6172", -- .DW
000829 => x"7469", -- .DW
000830 => x"6e67", -- .DW
000831 => x"2069", -- .DW
000832 => x"6d61", -- .DW
000833 => x"6765", -- .DW
000834 => x"2000", -- .DW
000835 => x"446f", -- .DW
000836 => x"776e", -- .DW
000837 => x"6c6f", -- .DW
000838 => x"6164", -- .DW
000839 => x"2063", -- .DW
000840 => x"6f6d", -- .DW
000841 => x"706c", -- .DW
000842 => x"6574", -- .DW
000843 => x"650d", -- .DW
000844 => x"0a00", -- .DW
000845 => x"5061", -- .DW
000846 => x"6765", -- .DW
000847 => x"2028", -- .DW
000848 => x"3468", -- .DW
000849 => x"293a", -- .DW
000850 => x"2024", -- .DW
000851 => x"0000", -- .DW
000852 => x"4164", -- .DW
000853 => x"6472", -- .DW
000854 => x"2028", -- .DW
000855 => x"3868", -- .DW
000856 => x"293a", -- .DW
000857 => x"2024", -- .DW
000858 => x"0000", -- .DW
000859 => x"2377", -- .DW
000860 => x"6f72", -- .DW
000861 => x"6473", -- .DW
000862 => x"2028", -- .DW
000863 => x"3468", -- .DW
000864 => x"293a", -- .DW
000865 => x"2024", -- .DW
000866 => x"0000", -- .DW
000867 => x"4368", -- .DW
000868 => x"6563", -- .DW
000869 => x"6b73", -- .DW
000870 => x"756d", -- .DW
000871 => x"3a20", -- .DW
000872 => x"2400", -- .DW
000873 => x"0d0a", -- .DW
000874 => x"636d", -- .DW
000875 => x"642f", -- .DW
000876 => x"626f", -- .DW
000877 => x"6f74", -- .DW
000878 => x"2d73", -- .DW
000879 => x"7769", -- .DW
000880 => x"7463", -- .DW
000881 => x"683a", -- .DW
000882 => x"0d0a", -- .DW
000883 => x"2030", -- .DW
000884 => x"2f27", -- .DW
000885 => x"3030", -- .DW
000886 => x"273a", -- .DW
000887 => x"2028", -- .DW
000888 => x"5265", -- .DW
000889 => x"2d29", -- .DW
000890 => x"5374", -- .DW
000891 => x"6172", -- .DW
000892 => x"7420", -- .DW
000893 => x"636f", -- .DW
000894 => x"6e73", -- .DW
000895 => x"6f6c", -- .DW
000896 => x"650d", -- .DW
000897 => x"0a20", -- .DW
000898 => x"312f", -- .DW
000899 => x"2730", -- .DW
000900 => x"3127", -- .DW
000901 => x"3a20", -- .DW
000902 => x"426f", -- .DW
000903 => x"6f74", -- .DW
000904 => x"2055", -- .DW
000905 => x"4152", -- .DW
000906 => x"540d", -- .DW
000907 => x"0a20", -- .DW
000908 => x"322f", -- .DW
000909 => x"2731", -- .DW
000910 => x"3027", -- .DW
000911 => x"3a20", -- .DW
000912 => x"426f", -- .DW
000913 => x"6f74", -- .DW
000914 => x"2045", -- .DW
000915 => x"4550", -- .DW
000916 => x"524f", -- .DW
000917 => x"4d0d", -- .DW
000918 => x"0a20", -- .DW
000919 => x"332f", -- .DW
000920 => x"2731", -- .DW
000921 => x"3127", -- .DW
000922 => x"3a20", -- .DW
000923 => x"426f", -- .DW
000924 => x"6f74", -- .DW
000925 => x"206d", -- .DW
000926 => x"656d", -- .DW
000927 => x"6f72", -- .DW
000928 => x"790d", -- .DW
000929 => x"0a00", -- .DW
000930 => x"2034", -- .DW
000931 => x"3a20", -- .DW
000932 => x"426f", -- .DW
000933 => x"6f74", -- .DW
000934 => x"2057", -- .DW
000935 => x"420d", -- .DW
000936 => x"0a20", -- .DW
000937 => x"703a", -- .DW
000938 => x"2042", -- .DW
000939 => x"7572", -- .DW
000940 => x"6e20", -- .DW
000941 => x"4545", -- .DW
000942 => x"5052", -- .DW
000943 => x"4f4d", -- .DW
000944 => x"0d0a", -- .DW
000945 => x"2064", -- .DW
000946 => x"3a20", -- .DW
000947 => x"5241", -- .DW
000948 => x"4d20", -- .DW
000949 => x"6475", -- .DW
000950 => x"6d70", -- .DW
000951 => x"0d0a", -- .DW
000952 => x"2072", -- .DW
000953 => x"3a20", -- .DW
000954 => x"5265", -- .DW
000955 => x"7365", -- .DW
000956 => x"740d", -- .DW
000957 => x"0a20", -- .DW
000958 => x"773a", -- .DW
000959 => x"2057", -- .DW
000960 => x"4220", -- .DW
000961 => x"6475", -- .DW
000962 => x"6d70", -- .DW
000963 => x"0d0a", -- .DW
000964 => x"0000", -- .DW
000965 => x"636d", -- .DW
000966 => x"643a", -- .DW
000967 => x"3e20", -- .DW
000968 => x"0000", -- .DW
000969 => x"636d", -- .DW
000970 => x"643a", -- .DW
000971 => x"3e20", -- .DW
000972 => x"0000", -- .DW
000973 => x"494d", -- .DW
000974 => x"4147", -- .DW
000975 => x"4520", -- .DW
000976 => x"4552", -- .DW
000977 => x"5221", -- .DW
000978 => x"0d0a", -- .DW
000979 => x"0000", -- .DW
000980 => x"0d0a", -- .DW
000981 => x"4952", -- .DW
000982 => x"5120", -- .DW
000983 => x"4552", -- .DW
000984 => x"5221", -- .DW
000985 => x"0d0a", -- .DW
000986 => x"0000", -- .DW
000987 => x"4348", -- .DW
000988 => x"4543", -- .DW
000989 => x"4b53", -- .DW
000990 => x"554d", -- .DW
000991 => x"2045", -- .DW
000992 => x"5252", -- .DW
000993 => x"210d", -- .DW
000994 => x"0a00", -- .DW
000995 => x"5350", -- .DW
000996 => x"492f", -- .DW
000997 => x"4545", -- .DW
000998 => x"5052", -- .DW
000999 => x"4f4d", -- .DW
001000 => x"2045", -- .DW
001001 => x"5252", -- .DW
001002 => x"210d", -- .DW
001003 => x"0a00", -- .DW
001004 => x"5742", -- .DW
001005 => x"2042", -- .DW
001006 => x"5553", -- .DW
001007 => x"2045", -- .DW
001008 => x"5252", -- .DW
001009 => x"210d", -- .DW
001010 => x"0a00", -- .DW
001011 => x"5072", -- .DW
001012 => x"6573", -- .DW
001013 => x"7320", -- .DW
001014 => x"616e", -- .DW
001015 => x"7920", -- .DW
001016 => x"6b65", -- .DW
001017 => x"790d", -- .DW
001018 => x"0a00", -- .DW
000969 => x"494d", -- .DW
000970 => x"4147", -- .DW
000971 => x"4520", -- .DW
000972 => x"4552", -- .DW
000973 => x"5221", -- .DW
000974 => x"0d0a", -- .DW
000975 => x"0000", -- .DW
000976 => x"0d0a", -- .DW
000977 => x"4952", -- .DW
000978 => x"5120", -- .DW
000979 => x"4552", -- .DW
000980 => x"5221", -- .DW
000981 => x"0d0a", -- .DW
000982 => x"0000", -- .DW
000983 => x"4348", -- .DW
000984 => x"4543", -- .DW
000985 => x"4b53", -- .DW
000986 => x"554d", -- .DW
000987 => x"2045", -- .DW
000988 => x"5252", -- .DW
000989 => x"210d", -- .DW
000990 => x"0a00", -- .DW
000991 => x"5350", -- .DW
000992 => x"492f", -- .DW
000993 => x"4545", -- .DW
000994 => x"5052", -- .DW
000995 => x"4f4d", -- .DW
000996 => x"2045", -- .DW
000997 => x"5252", -- .DW
000998 => x"210d", -- .DW
000999 => x"0a00", -- .DW
001000 => x"5742", -- .DW
001001 => x"2042", -- .DW
001002 => x"5553", -- .DW
001003 => x"2045", -- .DW
001004 => x"5252", -- .DW
001005 => x"210d", -- .DW
001006 => x"0a00", -- .DW
001007 => x"5072", -- .DW
001008 => x"6573", -- .DW
001009 => x"7320", -- .DW
001010 => x"616e", -- .DW
001011 => x"7920", -- .DW
001012 => x"6b65", -- .DW
001013 => x"790d", -- .DW
001014 => x"0a00", -- .DW
others => x"0000" -- NOP
);
------------------------------------------------------
/atlas_core/trunk/rtl/ATLAS_pkg.vhd
4,7 → 4,7
-- # All architecture configurations, options, signal #
-- # definitions and components are listed here. #
-- # **************************************************** #
-- # Last modified: 30.04.2014 #
-- # Last modified: 08.05.2014 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
17,7 → 17,7
 
-- Architecture Configuration for Application ---------------------------------------------
-- -------------------------------------------------------------------------------------------
constant big_endian_c : boolean := false; -- use little/big endian memory system
constant big_endian_c : boolean := true; -- use little/big endian memory system
constant build_mul_c : boolean := true; -- build a dedicated MUL unit
constant build_mul32_c : boolean := true; -- build 32-bit multiplier
constant word_mode_en_c : boolean := false; -- use word-addressed memory system instead of byte-addressed
/atlas_core/trunk/rtl/COM_0_CORE.vhd
6,7 → 6,7
-- # -> Parallel IO (16 in, 16 out) #
-- # -> System IO (8 in, 8 out) #
-- # ***************************************************** #
-- # Last modified: 12.04.2014 #
-- # Last modified: 11.05.2014 #
-- # ***************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- #########################################################
144,6 → 144,7
signal PIO_IN_DATA : std_logic_vector(15 downto 0);
signal PIO_SYNC : std_logic_vector(15 downto 0);
signal SYS_IO_I_FF : std_logic_vector(07 downto 0);
signal SYS_IO_O_FF : std_logic_vector(07 downto 0);
 
begin
 
160,7 → 161,7
PIO_IN_DATA <= (others => '0');
PIO_OUT_DATA <= (others => '0');
PIO_SYNC <= (others => '0');
SYS_IO_O <= (others => '0');
SYS_IO_O_FF <= (others => '0');
SYS_IO_I_FF <= (others => '0');
elsif (ICE_I = '1') then -- interface enable
if (W_EN_I = '1') then -- register update
170,7 → 171,7
when spi_data_reg_c => SPI_TX_REG <= DAT_I;
when spi_cs_reg_c => SPI_CS_REG <= DAT_I(07 downto 00);
when pio_out_reg_c => PIO_OUT_DATA <= DAT_I;
when sys_io_reg_c => SYS_IO_O <= DAT_I(15 downto 08);
when sys_io_reg_c => SYS_IO_O_FF <= DAT_I(15 downto 08);
when others => NULL;
end case;
end if;
181,8 → 182,9
end if;
end process W_ACC;
 
-- PIO Output --
-- Output --
PIO_OUT_O <= PIO_OUT_DATA;
SYS_IO_O <= SYS_IO_O_FF;
 
-- PIO Input pin change IRQ --
PIO_IRQ_O <= '0' when (PIO_SYNC = PIO_IN_DATA) else '1';
191,7 → 193,7
 
-- Read Access -----------------------------------------------------------------------------------------
-- --------------------------------------------------------------------------------------------------------
R_ACC: process(ADR_I, UART_TX_BSY_FLAG, UART_RX_READY, UART_RX_REG, UART_PRSC_REG, COM_CONFIG_REG,
R_ACC: process(ADR_I, UART_TX_BSY_FLAG, UART_RX_READY, UART_RX_REG, UART_PRSC_REG, COM_CONFIG_REG, SYS_IO_O_FF,
SPI_BUSY_FLAG, SPI_CS_REG, SPI_RX_REG, PIO_OUT_DATA, PIO_IN_DATA, SYS_IO_I_FF, UART_DCOR_FLAG)
begin
case (ADR_I) is
207,7 → 209,7
when spi_cs_reg_c => DAT_O <= x"00" & SPI_CS_REG;
when pio_in_reg_c => DAT_O <= PIO_IN_DATA;
when pio_out_reg_c => DAT_O <= PIO_OUT_DATA;
when sys_io_reg_c => DAT_O <= x"00" & SYS_IO_I_FF;
when sys_io_reg_c => DAT_O <= SYS_IO_O_FF & SYS_IO_I_FF;
when others => DAT_O <= x"0000";
end case;
end process R_ACC;
/atlas_core/trunk/rtl/SYS_1_CORE.vhd
4,7 → 4,7
-- # -> Memory Management Unit #
-- # -> Clock Information #
-- # ***************************************************** #
-- # Last modified: 22.03.2014 #
-- # Last modified: 07.05.2014 #
-- # ***************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- #########################################################
57,9 → 57,12
constant mmu_sys_d_page_c : std_logic_vector(02 downto 0) := "010"; -- R/W: system mode D page
constant mmu_usr_i_page_c : std_logic_vector(02 downto 0) := "011"; -- R/W: user mode I page
constant mmu_usr_d_page_c : std_logic_vector(02 downto 0) := "100"; -- R/W: user mode D page
constant mmu_i_page_link_c : std_logic_vector(02 downto 0) := "101"; -- R: i page link
constant mmu_d_page_link_c : std_logic_vector(02 downto 0) := "110"; -- R: d page link
constant mmu_i_page_link_c : std_logic_vector(02 downto 0) := "101"; -- R: linked i page
constant mmu_d_page_link_c : std_logic_vector(02 downto 0) := "110"; -- R: linked d page
constant mmu_sys_info_c : std_logic_vector(02 downto 0) := "111"; -- R: system info
-- Sys info register (uses auto-pointer):
-- 1st read access: clock speed LOW
-- 2nd read access: clock speed HIGH
 
-- Registers --
signal MMU_IRQ_BASE : std_logic_vector(15 downto 0);
/atlas_core/trunk/rtl/WB_UNIT.vhd
3,7 → 3,7
-- # **************************************************** #
-- # Data write back selector for register file input. #
-- # **************************************************** #
-- # Last modified: 09.03.2013 #
-- # Last modified: 08.05.2013 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
85,7 → 85,7
variable dat_end_v : std_logic_vector(data_width_c-1 downto 0);
begin
-- Endianness converter --
if (big_endian_c = true) then
if (big_endian_c = false) then
dat_end_v := MEM_WB_DAT_I(data_width_c/2-1 downto 0) & MEM_WB_DAT_I(data_width_c-1 downto data_width_c/2);
else
dat_end_v := MEM_WB_DAT_I;
/atlas_core/trunk/rtl/ATLAS_2K_BASE_TOP.vhd
11,7 → 11,7
-- # declared in this section (in Hz). #
-- # #
-- # ***************************************************** #
-- # Last modified: 09.04.2014 #
-- # Last modified: 16.05.2014 #
-- # ***************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- #########################################################
50,7 → 50,7
PIO_OUT_O : out std_logic_vector(15 downto 0); -- parallel output
PIO_IN_I : in std_logic_vector(15 downto 0); -- parallel input
 
-- System IO --
-- System IO (bootloader, NOS, ...) --
SYS_OUT_O : out std_logic_vector(07 downto 0); -- system output
SYS_IN_I : in std_logic_vector(07 downto 0); -- system input
 
149,7 → 149,7
 
-- *** USER CONFIGURATION ***
-- ***********************************************************************************************
constant clk_speed_c : std_logic_vector(31 downto 0) := x"02FAF080"; -- clock speed in Hz
constant clk_speed_c : std_logic_vector(31 downto 0) := x"02FAF080"; -- clock speed in Hz (here =50MHz)
constant num_pages_c : natural := 4; -- number of pages (must be a power of 2)
constant page_size_c : natural := 4096; -- page size in bytes (must be a power of 2)
-- ***********************************************************************************************
/atlas_core/trunk/rtl/MEM_ACC.vhd
5,7 → 5,7
-- # data memory interface. Furthermore, internal data #
-- # switching networks are located here. #
-- # **************************************************** #
-- # Last modified: 29.04.2014 #
-- # Last modified: 08.05.2014 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
137,7 → 137,7
MEM_ADR_O <= mem_adr_v; -- memory address output
 
-- Endianness converter --
if (big_endian_c = true) then
if (big_endian_c = false) then
dat_end_v := DATA_BP_INT(data_width_c/2-1 downto 0) & DATA_BP_INT(data_width_c-1 downto data_width_c/2);
else
dat_end_v := DATA_BP_INT;
/atlas_core/trunk/rtl/OP_DEC.vhd
3,7 → 3,7
-- # **************************************************** #
-- # OpCode (instruction) decoding unit. #
-- # **************************************************** #
-- # Last modified: 30.04.2014 #
-- # Last modified: 08.05.2014 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
64,7 → 64,7
instr_tmp_v := instr_sel_v(31 downto 16);
end if;
end if;
if (big_endian_c = true) then -- endian converter
if (big_endian_c = false) then -- endian converter
INSTR_INT <= instr_tmp_v(7 downto 0) & instr_tmp_v(15 downto 8);
else
INSTR_INT <= instr_tmp_v;
/atlas_core/trunk/rtl/INT_RAM.vhd
3,7 → 3,7
-- # **************************************************** #
-- # Core-compatible example RAM component. #
-- # **************************************************** #
-- # Last modified: 02.03.2014 #
-- # Last modified: 16.05.2014 #
-- # **************************************************** #
-- # by Stephan Nolting 4788, Hanover, Germany #
-- ########################################################
55,12 → 55,12
 
begin
 
-- Memory Access and Handshake -------------------------------------------------------------------------
-- Data Memory Access ----------------------------------------------------------------------------------
-- --------------------------------------------------------------------------------------------------------
MEM_FILE_ACCESS: process(CLK_I)
MEM_FILE_D_ACCESS: process(CLK_I)
begin
if rising_edge(CLK_I) then
-- Data Read(/Write) --
-- Data Read/Write --
if (D_EN_I = '1') then -- valid access
if (D_RW_I = '1') then -- write data access
if (word_mode_en_c = true) then
69,12 → 69,21
MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1)))) <= D_DAT_I;
end if;
end if;
if (word_mode_en_c = true) then
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c-1 downto 0))));
else
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1))));
end if;
end if;
if (word_mode_en_c = true) then
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c-1 downto 0))));
else
D_DAT_O <= MEM_FILE(to_integer(unsigned(D_ADR_I(log2_mem_size_c downto 1))));
end if;
end if;
end process MEM_FILE_D_ACCESS;
 
 
-- Instruction Memory Access ---------------------------------------------------------------------------
-- --------------------------------------------------------------------------------------------------------
MEM_FILE_I_ACCESS: process(CLK_I)
begin
if rising_edge(CLK_I) then
-- Instruction Read --
if (I_EN_I = '1') then
if (word_mode_en_c = true) then
84,7 → 93,7
end if;
end if;
end if;
end process MEM_FILE_ACCESS;
end process MEM_FILE_I_ACCESS;
 
 
 
/atlas_core/trunk/doc/Atlas 2k Processor Documentary.pdf Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
/atlas_core/trunk/software/bootloader/atlas2k_bootloader.asm
448,10 → 448,7
bl uart_print_
 
; check signature (2 byte)
bl uart_receivebyte_ ; get high-byte
sft r1, r0, #swp ; swap bytes
bl uart_receivebyte_ ; get low-byte
orr r1, r1, r0 ; construct word
bl uart_get_word ; get a word from console
ldil r0, #0xFE
ldih r0, #0xCA
cmp r1, r0 ; signature test
576,6 → 573,7
bl uart_sendbyte
bl uart_linebreak
 
start_image_no_text:
; print checksum
ldil r2, low[string_checksum]
ldih r2, high[string_checksum]
585,7 → 583,6
bl uart_linebreak
 
; start the image
start_image_no_text:
bl uart_linebreak
bl uart_linebreak
bl uart_linebreak
867,13 → 864,12
uart_print:
; --------------------------------------------------------------------------------------------------------
mov r3, lr
 
uart_print_loop:
ldr r0, r2, +#1, post, ! ; get one string byte
ldil r1, #0x00 ; upper byte mask
ldih r1, #0xFF
and r1, r0, r1
sfts r1, r1, #swp ; swap bytes and test if zero
ldr r1, r2, +#1, post, ! ; get one string byte
sft r1, r1, #swp ; swap high and low byte
ldih r1, #0x00 ; clear high byte
teq r1, r1 ; test if string end
beq uart_print_loop_end
bl uart_sendbyte
b uart_print_loop
941,7 → 937,7
bl uart_receivebyte ; get one char
 
; convert to higher case
ldil r1, #'F'
ldil r1, #'G' ; = 'F' +1
cmp r0, r1
bmi #+3 ; skip decrement
ldil r1, #32 ; -> to lower case
1351,13 → 1347,13
; *****************************************************************************************************************
; ROM: Text strings
; *****************************************************************************************************************
string_intro0: .stringz "\n\nAtlas-2K Bootloader - V20140504\nby Stephan Nolting, stnolting@gmail.com\nwww.opencores.org/project,atlas_core\n"
string_intro0: .stringz "\n\nAtlas-2K Bootloader - V20140516\nby Stephan Nolting, stnolting@gmail.com\nwww.opencores.org/project,atlas_core\n"
string_intro3: .stringz "\nBoot page: 0x"
string_intro4: .stringz "\nClock(Hz): 0x"
 
string_booting: .stringz "Booting\n"
string_prog_eep: .stringz "Burn EEPROM\n"
string_boot_wimd: .stringz "Awaiting data...\n"
string_boot_wimd: .stringz "Awaiting image...\n"
string_start_im: .stringz "Starting image "
string_done: .stringz "Download complete\n"
string_edpage: .stringz "Page (4h): $"
/atlas_core/trunk/software/examples/fft/sincos_lut.asm
0,0 → 1,128
.dw #16384
.dw #0
.dw #16364
.dw #803
.dw #16305
.dw #1605
.dw #16206
.dw #2404
.dw #16069
.dw #3196
.dw #15892
.dw #3980
.dw #15678
.dw #4756
.dw #15426
.dw #5519
.dw #15136
.dw #6269
.dw #14810
.dw #7005
.dw #14449
.dw #7723
.dw #14053
.dw #8423
.dw #13622
.dw #9102
.dw #13159
.dw #9759
.dw #12665
.dw #10393
.dw #12139
.dw #11002
.dw #11585
.dw #11585
.dw #11002
.dw #12139
.dw #10393
.dw #12665
.dw #9759
.dw #13159
.dw #9102
.dw #13622
.dw #8423
.dw #14053
.dw #7723
.dw #14449
.dw #7005
.dw #14810
.dw #6269
.dw #15136
.dw #5519
.dw #15426
.dw #4756
.dw #15678
.dw #3980
.dw #15892
.dw #3196
.dw #16069
.dw #2404
.dw #16206
.dw #1605
.dw #16305
.dw #803
.dw #16364
.dw #0
.dw #16384
.dw #64733
.dw #16364
.dw #63931
.dw #16305
.dw #63132
.dw #16206
.dw #62340
.dw #16069
.dw #61556
.dw #15892
.dw #60780
.dw #15678
.dw #60017
.dw #15426
.dw #59267
.dw #15136
.dw #58531
.dw #14810
.dw #57813
.dw #14449
.dw #57113
.dw #14053
.dw #56434
.dw #13622
.dw #55777
.dw #13159
.dw #55143
.dw #12665
.dw #54534
.dw #12139
.dw #53951
.dw #11585
.dw #53397
.dw #11002
.dw #52871
.dw #10393
.dw #52377
.dw #9759
.dw #51914
.dw #9102
.dw #51483
.dw #8423
.dw #51087
.dw #7723
.dw #50726
.dw #7005
.dw #50400
.dw #6269
.dw #50110
.dw #5519
.dw #49858
.dw #4756
.dw #49644
.dw #3980
.dw #49467
.dw #3196
.dw #49330
.dw #2404
.dw #49231
.dw #1605
.dw #49172
.dw #803
/atlas_core/trunk/software/examples/fft/init.vhd
0,0 → 1,980
000000 => x"bc0b", -- B
000001 => x"bc04", -- B
000002 => x"bc03", -- B
000003 => x"bc02", -- B
000004 => x"bc01", -- B
000005 => x"be73", -- BL
000006 => x"c578", -- LDIL
000007 => x"c906", -- LDIH
000008 => x"be7f", -- BL
000009 => x"be6f", -- BL
000010 => x"bc00", -- B
000011 => x"c724", -- LDIL
000012 => x"cb07", -- LDIH
000013 => x"c114", -- LDIL
000014 => x"c907", -- LDIH
000015 => x"be78", -- BL
000016 => x"c47f", -- LDIL
000017 => x"ec0b", -- MCR
000018 => x"c002", -- LDIL
000019 => x"ec0c", -- MCR
000020 => x"c400", -- LDIL
000021 => x"c800", -- LDIH
000022 => x"c7e6", -- LDIL
000023 => x"cb82", -- LDIH
000024 => x"3474", -- GTL
000025 => x"6c6a", -- PUSH
000026 => x"c6f8", -- LDIL
000027 => x"ca83", -- LDIH
000028 => x"c578", -- LDIL
000029 => x"c904", -- LDIH
000030 => x"29b3", -- CLR
000031 => x"785a", -- LDR
000032 => x"c080", -- LDIL
000033 => x"526a", -- PEEK
000034 => x"c7c4", -- LDIL
000035 => x"cb82", -- LDIH
000036 => x"3474", -- GTL
000037 => x"01b1", -- INC
000038 => x"c400", -- LDIL
000039 => x"c800", -- LDIH
000040 => x"1838", -- CMP
000041 => x"85f6", -- BNE
000042 => x"586a", -- POP
000043 => x"2ad5", -- CLR
000044 => x"ec5a", -- MCR
000045 => x"c478", -- LDIL
000046 => x"c804", -- LDIH
000047 => x"c480", -- LDIL
000048 => x"c880", -- LDIH
000049 => x"c578", -- LDIL
000050 => x"c902", -- LDIH
000051 => x"be5e", -- BL
000052 => x"ee02", -- MRC
000053 => x"be1a", -- BL
000054 => x"be42", -- BL
000055 => x"c6f8", -- LDIL
000056 => x"ca84", -- LDIH
000057 => x"c580", -- LDIL
000058 => x"c980", -- LDIH
000059 => x"7a5a", -- LDR
000060 => x"be13", -- BL
000061 => x"c0a0", -- LDIL
000062 => x"be07", -- BL
000063 => x"7a5a", -- LDR
000064 => x"be0f", -- BL
000065 => x"be37", -- BL
000066 => x"05b9", -- DECS
000067 => x"85f8", -- BNE
000068 => x"bc00", -- B
000069 => x"ec22", -- MRC
000070 => x"dc05", -- STB
000071 => x"b9fe", -- BTS
000072 => x"ed18", -- MCR
000073 => x"3470", -- RET
000074 => x"ec20", -- MRC
000075 => x"dc8f", -- STBI
000076 => x"b9fe", -- BTS
000077 => x"c800", -- LDIH
000078 => x"3470", -- RET
000079 => x"6c6a", -- PUSH
000080 => x"6cea", -- PUSH
000081 => x"6d6a", -- PUSH
000082 => x"6dea", -- PUSH
000083 => x"6e6a", -- PUSH
000084 => x"6fea", -- PUSH
000085 => x"3d42", -- SFT
000086 => x"3d22", -- SFT
000087 => x"3d22", -- SFT
000088 => x"3d22", -- SFT
000089 => x"be15", -- BL
000090 => x"bfeb", -- BL
000091 => x"3d40", -- SFT
000092 => x"be12", -- BL
000093 => x"bfe8", -- BL
000094 => x"3d45", -- SFT
000095 => x"3d25", -- SFT
000096 => x"3d25", -- SFT
000097 => x"3d25", -- SFT
000098 => x"be0c", -- BL
000099 => x"bfe2", -- BL
000100 => x"0140", -- MOV
000101 => x"be09", -- BL
000102 => x"bfdf", -- BL
000103 => x"5bea", -- POP
000104 => x"5a6a", -- POP
000105 => x"59ea", -- POP
000106 => x"596a", -- POP
000107 => x"58ea", -- POP
000108 => x"586a", -- POP
000109 => x"3470", -- RET
000110 => x"c08f", -- LDIL
000111 => x"2121", -- AND
000112 => x"c089", -- LDIL
000113 => x"181a", -- CMP
000114 => x"8803", -- BCS
000115 => x"c0b0", -- LDIL
000116 => x"bc02", -- B
000117 => x"c0b7", -- LDIL
000118 => x"0892", -- ADD
000119 => x"3470", -- RET
000120 => x"6c6a", -- PUSH
000121 => x"6cea", -- PUSH
000122 => x"6d6a", -- PUSH
000123 => x"6fea", -- PUSH
000124 => x"0170", -- MOV
000125 => x"c08d", -- LDIL
000126 => x"bfc7", -- BL
000127 => x"c08a", -- LDIL
000128 => x"03a0", -- MOV
000129 => x"bfc4", -- BL
000130 => x"5bea", -- POP
000131 => x"596a", -- POP
000132 => x"58ea", -- POP
000133 => x"586a", -- POP
000134 => x"3470", -- RET
000135 => x"0270", -- MOV
000136 => x"7829", -- LDR
000137 => x"c080", -- LDIL
000138 => x"ccff", -- LDIH
000139 => x"2081", -- AND
000140 => x"3c98", -- SFTS
000141 => x"8003", -- BEQ
000142 => x"bfb7", -- BL
000143 => x"bdf9", -- B
000144 => x"3440", -- RET
000145 => x"6eea", -- PUSH
000146 => x"6e6a", -- PUSH
000147 => x"6dea", -- PUSH
000148 => x"6d6a", -- PUSH
000149 => x"6cea", -- PUSH
000150 => x"6c6a", -- PUSH
000151 => x"6fea", -- PUSH
000152 => x"c3b6", -- LDIL
000153 => x"cb82", -- LDIH
000154 => x"447e", -- STR
000155 => x"44fa", -- STR
000156 => x"457c", -- STR
000157 => x"2800", -- CLR
000158 => x"3c95", -- SFT
000159 => x"3419", -- TEQ
000160 => x"8003", -- BEQ
000161 => x"0001", -- INC
000162 => x"bdfc", -- B
000163 => x"c3b6", -- LDIL
000164 => x"cb82", -- LDIH
000165 => x"5478", -- STR
000166 => x"c3b6", -- LDIL
000167 => x"cb82", -- LDIH
000168 => x"c281", -- LDIL
000169 => x"56fa", -- STR
000170 => x"56fc", -- STR
000171 => x"56fe", -- STR
000172 => x"c3be", -- LDIL
000173 => x"cb82", -- LDIH
000174 => x"c280", -- LDIL
000175 => x"56f8", -- STR
000176 => x"c3ba", -- LDIL
000177 => x"cb82", -- LDIH
000178 => x"40fa", -- LDR
000179 => x"5178", -- LDR
000180 => x"0521", -- DEC
000181 => x"c204", -- LDIL
000182 => x"3e44", -- SFT
000183 => x"0499", -- DECS
000184 => x"85fe", -- BNE
000185 => x"f124", -- MUL
000186 => x"557c", -- STR
000187 => x"c3b6", -- LDIL
000188 => x"cb82", -- LDIH
000189 => x"427e", -- LDR
000190 => x"50fa", -- LDR
000191 => x"517e", -- LDR
000192 => x"41fc", -- LDR
000193 => x"0521", -- DEC
000194 => x"3d24", -- SFT
000195 => x"3d24", -- SFT
000196 => x"0932", -- ADD
000197 => x"c3be", -- LDIL
000198 => x"cb82", -- LDIH
000199 => x"5078", -- LDR
000200 => x"0804", -- ADD
000201 => x"c182", -- LDIL
000202 => x"3db4", -- SFT
000203 => x"0499", -- DECS
000204 => x"85fe", -- BNE
000205 => x"0883", -- ADD
000206 => x"c3c0", -- LDIL
000207 => x"cb82", -- LDIH
000208 => x"5478", -- STR
000209 => x"54fa", -- STR
000210 => x"557c", -- STR
000211 => x"0180", -- MOV
000212 => x"0210", -- MOV
000213 => x"02a0", -- MOV
000214 => x"6dea", -- PUSH
000215 => x"6e6a", -- PUSH
000216 => x"5038", -- LDR
000217 => x"50ba", -- LDR
000218 => x"5148", -- LDR
000219 => x"51ca", -- LDR
000220 => x"5258", -- LDR
000221 => x"52da", -- LDR
000222 => x"be45", -- BL
000223 => x"5aea", -- POP
000224 => x"5a6a", -- POP
000225 => x"5558", -- STR
000226 => x"55da", -- STR
000227 => x"5448", -- STR
000228 => x"54ca", -- STR
000229 => x"c3be", -- LDIL
000230 => x"cb82", -- LDIH
000231 => x"5078", -- LDR
000232 => x"c084", -- LDIL
000233 => x"0801", -- ADD
000234 => x"5478", -- STR
000235 => x"c3b6", -- LDIL
000236 => x"cb82", -- LDIH
000237 => x"507a", -- LDR
000238 => x"517e", -- LDR
000239 => x"c081", -- LDIL
000240 => x"0409", -- DECS
000241 => x"8003", -- BEQ
000242 => x"3c94", -- SFT
000243 => x"bdfd", -- B
000244 => x"181a", -- CMP
000245 => x"0121", -- INC
000246 => x"557e", -- STR
000247 => x"85c4", -- BNE
000248 => x"c101", -- LDIL
000249 => x"557e", -- STR
000250 => x"c3b6", -- LDIL
000251 => x"cb82", -- LDIH
000252 => x"407a", -- LDR
000253 => x"50fa", -- LDR
000254 => x"517c", -- LDR
000255 => x"3c05", -- SFT
000256 => x"0499", -- DECS
000257 => x"85fe", -- BNE
000258 => x"180a", -- CMP
000259 => x"0121", -- INC
000260 => x"557c", -- STR
000261 => x"85ab", -- BNE
000262 => x"c101", -- LDIL
000263 => x"557c", -- STR
000264 => x"c3b6", -- LDIL
000265 => x"cb82", -- LDIH
000266 => x"5078", -- LDR
000267 => x"50fa", -- LDR
000268 => x"1809", -- CMP
000269 => x"0091", -- INC
000270 => x"54fa", -- STR
000271 => x"85a1", -- BNE
000272 => x"5bea", -- POP
000273 => x"586a", -- POP
000274 => x"58ea", -- POP
000275 => x"596a", -- POP
000276 => x"59ea", -- POP
000277 => x"5a6a", -- POP
000278 => x"5aea", -- POP
000279 => x"3470", -- RET
000280 => x"0000", -- NOP
000281 => x"0000", -- NOP
000282 => x"0000", -- NOP
000283 => x"0000", -- NOP
000284 => x"0000", -- NOP
000285 => x"0000", -- NOP
000286 => x"0000", -- NOP
000287 => x"0000", -- NOP
000288 => x"0000", -- NOP
000289 => x"0000", -- NOP
000290 => x"0000", -- NOP
000291 => x"6fea", -- PUSH
000292 => x"6c6a", -- PUSH
000293 => x"6cea", -- PUSH
000294 => x"c7bc", -- LDIL
000295 => x"cb82", -- LDIH
000296 => x"f042", -- MUL
000297 => x"f0ca", -- MULH
000298 => x"3c0c", -- SFTS
000299 => x"3c92", -- SFT
000300 => x"3c0c", -- SFTS
000301 => x"3c92", -- SFT
000302 => x"54f8", -- STR
000303 => x"f043", -- MUL
000304 => x"f0cb", -- MULH
000305 => x"3c0c", -- SFTS
000306 => x"3c92", -- SFT
000307 => x"3c0c", -- SFTS
000308 => x"3c92", -- SFT
000309 => x"54fa", -- STR
000310 => x"f052", -- MUL
000311 => x"f0da", -- MULH
000312 => x"3c0c", -- SFTS
000313 => x"3c92", -- SFT
000314 => x"3c0c", -- SFTS
000315 => x"3c92", -- SFT
000316 => x"54fc", -- STR
000317 => x"f053", -- MUL
000318 => x"f0db", -- MULH
000319 => x"3c0c", -- SFTS
000320 => x"3c92", -- SFT
000321 => x"3c0c", -- SFTS
000322 => x"3c92", -- SFT
000323 => x"54fe", -- STR
000324 => x"58ea", -- POP
000325 => x"586a", -- POP
000326 => x"5178", -- LDR
000327 => x"51fe", -- LDR
000328 => x"090a", -- ADDS
000329 => x"15a3", -- SBC
000330 => x"6dea", -- PUSH
000331 => x"517a", -- LDR
000332 => x"51fc", -- LDR
000333 => x"091a", -- ADDS
000334 => x"0da3", -- ADC
000335 => x"6dea", -- PUSH
000336 => x"5178", -- LDR
000337 => x"51fe", -- LDR
000338 => x"110a", -- SUBS
000339 => x"0da3", -- ADC
000340 => x"6dea", -- PUSH
000341 => x"517a", -- LDR
000342 => x"51fc", -- LDR
000343 => x"111a", -- SUBS
000344 => x"15a3", -- SBC
000345 => x"596a", -- POP
000346 => x"58ea", -- POP
000347 => x"586a", -- POP
000348 => x"5bea", -- POP
000349 => x"3470", -- RET
000350 => x"0000", -- NOP
000351 => x"0000", -- NOP
000352 => x"0000", -- NOP
000353 => x"0000", -- NOP
000354 => x"6dea", -- PUSH
000355 => x"6e6a", -- PUSH
000356 => x"6eea", -- PUSH
000357 => x"2ad5", -- CLR
000358 => x"3dbd", -- SFTS
000359 => x"3ed6", -- SFT
000360 => x"0649", -- DECS
000361 => x"85fd", -- BNE
000362 => x"3ed4", -- SFT
000363 => x"3ed4", -- SFT
000364 => x"0aa5", -- ADD
000365 => x"5458", -- STR
000366 => x"54da", -- STR
000367 => x"5aea", -- POP
000368 => x"5a6a", -- POP
000369 => x"59ea", -- POP
000370 => x"3470", -- RET
000371 => x"6cea", -- PUSH
000372 => x"2891", -- CLR
000373 => x"3c0d", -- SFTS
000374 => x"8003", -- BEQ
000375 => x"0091", -- INC
000376 => x"bdfd", -- B
000377 => x"0010", -- MOV
000378 => x"58ea", -- POP
000379 => x"3470", -- RET
000380 => x"4000", -- .DW
000381 => x"0000", -- .DW
000382 => x"3fec", -- .DW
000383 => x"0323", -- .DW
000384 => x"3fb1", -- .DW
000385 => x"0645", -- .DW
000386 => x"3f4e", -- .DW
000387 => x"0964", -- .DW
000388 => x"3ec5", -- .DW
000389 => x"0c7c", -- .DW
000390 => x"3e14", -- .DW
000391 => x"0f8c", -- .DW
000392 => x"3d3e", -- .DW
000393 => x"1294", -- .DW
000394 => x"3c42", -- .DW
000395 => x"158f", -- .DW
000396 => x"3b20", -- .DW
000397 => x"187d", -- .DW
000398 => x"39da", -- .DW
000399 => x"1b5d", -- .DW
000400 => x"3871", -- .DW
000401 => x"1e2b", -- .DW
000402 => x"36e5", -- .DW
000403 => x"20e7", -- .DW
000404 => x"3536", -- .DW
000405 => x"238e", -- .DW
000406 => x"3367", -- .DW
000407 => x"261f", -- .DW
000408 => x"3179", -- .DW
000409 => x"2899", -- .DW
000410 => x"2f6b", -- .DW
000411 => x"2afa", -- .DW
000412 => x"2d41", -- .DW
000413 => x"2d41", -- .DW
000414 => x"2afa", -- .DW
000415 => x"2f6b", -- .DW
000416 => x"2899", -- .DW
000417 => x"3179", -- .DW
000418 => x"261f", -- .DW
000419 => x"3367", -- .DW
000420 => x"238e", -- .DW
000421 => x"3536", -- .DW
000422 => x"20e7", -- .DW
000423 => x"36e5", -- .DW
000424 => x"1e2b", -- .DW
000425 => x"3871", -- .DW
000426 => x"1b5d", -- .DW
000427 => x"39da", -- .DW
000428 => x"187d", -- .DW
000429 => x"3b20", -- .DW
000430 => x"158f", -- .DW
000431 => x"3c42", -- .DW
000432 => x"1294", -- .DW
000433 => x"3d3e", -- .DW
000434 => x"0f8c", -- .DW
000435 => x"3e14", -- .DW
000436 => x"0c7c", -- .DW
000437 => x"3ec5", -- .DW
000438 => x"0964", -- .DW
000439 => x"3f4e", -- .DW
000440 => x"0645", -- .DW
000441 => x"3fb1", -- .DW
000442 => x"0323", -- .DW
000443 => x"3fec", -- .DW
000444 => x"0000", -- .DW
000445 => x"4000", -- .DW
000446 => x"fcdd", -- .DW
000447 => x"3fec", -- .DW
000448 => x"f9bb", -- .DW
000449 => x"3fb1", -- .DW
000450 => x"f69c", -- .DW
000451 => x"3f4e", -- .DW
000452 => x"f384", -- .DW
000453 => x"3ec5", -- .DW
000454 => x"f074", -- .DW
000455 => x"3e14", -- .DW
000456 => x"ed6c", -- .DW
000457 => x"3d3e", -- .DW
000458 => x"ea71", -- .DW
000459 => x"3c42", -- .DW
000460 => x"e783", -- .DW
000461 => x"3b20", -- .DW
000462 => x"e4a3", -- .DW
000463 => x"39da", -- .DW
000464 => x"e1d5", -- .DW
000465 => x"3871", -- .DW
000466 => x"df19", -- .DW
000467 => x"36e5", -- .DW
000468 => x"dc72", -- .DW
000469 => x"3536", -- .DW
000470 => x"d9e1", -- .DW
000471 => x"3367", -- .DW
000472 => x"d767", -- .DW
000473 => x"3179", -- .DW
000474 => x"d506", -- .DW
000475 => x"2f6b", -- .DW
000476 => x"d2bf", -- .DW
000477 => x"2d41", -- .DW
000478 => x"d095", -- .DW
000479 => x"2afa", -- .DW
000480 => x"ce87", -- .DW
000481 => x"2899", -- .DW
000482 => x"cc99", -- .DW
000483 => x"261f", -- .DW
000484 => x"caca", -- .DW
000485 => x"238e", -- .DW
000486 => x"c91b", -- .DW
000487 => x"20e7", -- .DW
000488 => x"c78f", -- .DW
000489 => x"1e2b", -- .DW
000490 => x"c626", -- .DW
000491 => x"1b5d", -- .DW
000492 => x"c4e0", -- .DW
000493 => x"187d", -- .DW
000494 => x"c3be", -- .DW
000495 => x"158f", -- .DW
000496 => x"c2c2", -- .DW
000497 => x"1294", -- .DW
000498 => x"c1ec", -- .DW
000499 => x"0f8c", -- .DW
000500 => x"c13b", -- .DW
000501 => x"0c7c", -- .DW
000502 => x"c0b2", -- .DW
000503 => x"0964", -- .DW
000504 => x"c04f", -- .DW
000505 => x"0645", -- .DW
000506 => x"c014", -- .DW
000507 => x"0323", -- .DW
000508 => x"0400", -- .DW
000509 => x"0000", -- .DW
000510 => x"0000", -- .DW
000511 => x"0000", -- .DW
000512 => x"0400", -- .DW
000513 => x"0000", -- .DW
000514 => x"0000", -- .DW
000515 => x"0000", -- .DW
000516 => x"0400", -- .DW
000517 => x"0000", -- .DW
000518 => x"0000", -- .DW
000519 => x"0000", -- .DW
000520 => x"0400", -- .DW
000521 => x"0000", -- .DW
000522 => x"0000", -- .DW
000523 => x"0000", -- .DW
000524 => x"0400", -- .DW
000525 => x"0000", -- .DW
000526 => x"0000", -- .DW
000527 => x"0000", -- .DW
000528 => x"0400", -- .DW
000529 => x"0000", -- .DW
000530 => x"0000", -- .DW
000531 => x"0000", -- .DW
000532 => x"0400", -- .DW
000533 => x"0000", -- .DW
000534 => x"0000", -- .DW
000535 => x"0000", -- .DW
000536 => x"0400", -- .DW
000537 => x"0000", -- .DW
000538 => x"0000", -- .DW
000539 => x"0000", -- .DW
000540 => x"0400", -- .DW
000541 => x"0000", -- .DW
000542 => x"0000", -- .DW
000543 => x"0000", -- .DW
000544 => x"0400", -- .DW
000545 => x"0000", -- .DW
000546 => x"0000", -- .DW
000547 => x"0000", -- .DW
000548 => x"0400", -- .DW
000549 => x"0000", -- .DW
000550 => x"0000", -- .DW
000551 => x"0000", -- .DW
000552 => x"0400", -- .DW
000553 => x"0000", -- .DW
000554 => x"0000", -- .DW
000555 => x"0000", -- .DW
000556 => x"0400", -- .DW
000557 => x"0000", -- .DW
000558 => x"0000", -- .DW
000559 => x"0000", -- .DW
000560 => x"0400", -- .DW
000561 => x"0000", -- .DW
000562 => x"0000", -- .DW
000563 => x"0000", -- .DW
000564 => x"0400", -- .DW
000565 => x"0000", -- .DW
000566 => x"0000", -- .DW
000567 => x"0000", -- .DW
000568 => x"0400", -- .DW
000569 => x"0000", -- .DW
000570 => x"0000", -- .DW
000571 => x"0000", -- .DW
000572 => x"0400", -- .DW
000573 => x"0000", -- .DW
000574 => x"0000", -- .DW
000575 => x"0000", -- .DW
000576 => x"0400", -- .DW
000577 => x"0000", -- .DW
000578 => x"0000", -- .DW
000579 => x"0000", -- .DW
000580 => x"0400", -- .DW
000581 => x"0000", -- .DW
000582 => x"0000", -- .DW
000583 => x"0000", -- .DW
000584 => x"0400", -- .DW
000585 => x"0000", -- .DW
000586 => x"0000", -- .DW
000587 => x"0000", -- .DW
000588 => x"0400", -- .DW
000589 => x"0000", -- .DW
000590 => x"0000", -- .DW
000591 => x"0000", -- .DW
000592 => x"0400", -- .DW
000593 => x"0000", -- .DW
000594 => x"0000", -- .DW
000595 => x"0000", -- .DW
000596 => x"0400", -- .DW
000597 => x"0000", -- .DW
000598 => x"0000", -- .DW
000599 => x"0000", -- .DW
000600 => x"0400", -- .DW
000601 => x"0000", -- .DW
000602 => x"0000", -- .DW
000603 => x"0000", -- .DW
000604 => x"0400", -- .DW
000605 => x"0000", -- .DW
000606 => x"0000", -- .DW
000607 => x"0000", -- .DW
000608 => x"0400", -- .DW
000609 => x"0000", -- .DW
000610 => x"0000", -- .DW
000611 => x"0000", -- .DW
000612 => x"0400", -- .DW
000613 => x"0000", -- .DW
000614 => x"0000", -- .DW
000615 => x"0000", -- .DW
000616 => x"0400", -- .DW
000617 => x"0000", -- .DW
000618 => x"0000", -- .DW
000619 => x"0000", -- .DW
000620 => x"0400", -- .DW
000621 => x"0000", -- .DW
000622 => x"0000", -- .DW
000623 => x"0000", -- .DW
000624 => x"0400", -- .DW
000625 => x"0000", -- .DW
000626 => x"0000", -- .DW
000627 => x"0000", -- .DW
000628 => x"0400", -- .DW
000629 => x"0000", -- .DW
000630 => x"0000", -- .DW
000631 => x"0000", -- .DW
000632 => x"0400", -- .DW
000633 => x"0000", -- .DW
000634 => x"0000", -- .DW
000635 => x"0000", -- .DW
000636 => x"0000", -- NOP
000637 => x"0000", -- NOP
000638 => x"0000", -- NOP
000639 => x"0000", -- NOP
000640 => x"0000", -- NOP
000641 => x"0000", -- NOP
000642 => x"0000", -- NOP
000643 => x"0000", -- NOP
000644 => x"0000", -- NOP
000645 => x"0000", -- NOP
000646 => x"0000", -- NOP
000647 => x"0000", -- NOP
000648 => x"0000", -- NOP
000649 => x"0000", -- NOP
000650 => x"0000", -- NOP
000651 => x"0000", -- NOP
000652 => x"0000", -- NOP
000653 => x"0000", -- NOP
000654 => x"0000", -- NOP
000655 => x"0000", -- NOP
000656 => x"0000", -- NOP
000657 => x"0000", -- NOP
000658 => x"0000", -- NOP
000659 => x"0000", -- NOP
000660 => x"0000", -- NOP
000661 => x"0000", -- NOP
000662 => x"0000", -- NOP
000663 => x"0000", -- NOP
000664 => x"0000", -- NOP
000665 => x"0000", -- NOP
000666 => x"0000", -- NOP
000667 => x"0000", -- NOP
000668 => x"0000", -- NOP
000669 => x"0000", -- NOP
000670 => x"0000", -- NOP
000671 => x"0000", -- NOP
000672 => x"0000", -- NOP
000673 => x"0000", -- NOP
000674 => x"0000", -- NOP
000675 => x"0000", -- NOP
000676 => x"0000", -- NOP
000677 => x"0000", -- NOP
000678 => x"0000", -- NOP
000679 => x"0000", -- NOP
000680 => x"0000", -- NOP
000681 => x"0000", -- NOP
000682 => x"0000", -- NOP
000683 => x"0000", -- NOP
000684 => x"0000", -- NOP
000685 => x"0000", -- NOP
000686 => x"0000", -- NOP
000687 => x"0000", -- NOP
000688 => x"0000", -- NOP
000689 => x"0000", -- NOP
000690 => x"0000", -- NOP
000691 => x"0000", -- NOP
000692 => x"0000", -- NOP
000693 => x"0000", -- NOP
000694 => x"0000", -- NOP
000695 => x"0000", -- NOP
000696 => x"0000", -- NOP
000697 => x"0000", -- NOP
000698 => x"0000", -- NOP
000699 => x"0000", -- NOP
000700 => x"0000", -- NOP
000701 => x"0000", -- NOP
000702 => x"0000", -- NOP
000703 => x"0000", -- NOP
000704 => x"0000", -- NOP
000705 => x"0000", -- NOP
000706 => x"0000", -- NOP
000707 => x"0000", -- NOP
000708 => x"0000", -- NOP
000709 => x"0000", -- NOP
000710 => x"0000", -- NOP
000711 => x"0000", -- NOP
000712 => x"0000", -- NOP
000713 => x"0000", -- NOP
000714 => x"0000", -- NOP
000715 => x"0000", -- NOP
000716 => x"0000", -- NOP
000717 => x"0000", -- NOP
000718 => x"0000", -- NOP
000719 => x"0000", -- NOP
000720 => x"0000", -- NOP
000721 => x"0000", -- NOP
000722 => x"0000", -- NOP
000723 => x"0000", -- NOP
000724 => x"0000", -- NOP
000725 => x"0000", -- NOP
000726 => x"0000", -- NOP
000727 => x"0000", -- NOP
000728 => x"0000", -- NOP
000729 => x"0000", -- NOP
000730 => x"0000", -- NOP
000731 => x"0000", -- NOP
000732 => x"0000", -- NOP
000733 => x"0000", -- NOP
000734 => x"0000", -- NOP
000735 => x"0000", -- NOP
000736 => x"0000", -- NOP
000737 => x"0000", -- NOP
000738 => x"0000", -- NOP
000739 => x"0000", -- NOP
000740 => x"0000", -- NOP
000741 => x"0000", -- NOP
000742 => x"0000", -- NOP
000743 => x"0000", -- NOP
000744 => x"0000", -- NOP
000745 => x"0000", -- NOP
000746 => x"0000", -- NOP
000747 => x"0000", -- NOP
000748 => x"0000", -- NOP
000749 => x"0000", -- NOP
000750 => x"0000", -- NOP
000751 => x"0000", -- NOP
000752 => x"0000", -- NOP
000753 => x"0000", -- NOP
000754 => x"0000", -- NOP
000755 => x"0000", -- NOP
000756 => x"0000", -- NOP
000757 => x"0000", -- NOP
000758 => x"0000", -- NOP
000759 => x"0000", -- NOP
000760 => x"0000", -- NOP
000761 => x"0000", -- NOP
000762 => x"0000", -- NOP
000763 => x"0000", -- NOP
000764 => x"0000", -- NOP
000765 => x"0000", -- NOP
000766 => x"0000", -- NOP
000767 => x"0000", -- NOP
000768 => x"0000", -- NOP
000769 => x"0000", -- NOP
000770 => x"0000", -- NOP
000771 => x"0000", -- NOP
000772 => x"0000", -- NOP
000773 => x"0000", -- NOP
000774 => x"0000", -- NOP
000775 => x"0000", -- NOP
000776 => x"0000", -- NOP
000777 => x"0000", -- NOP
000778 => x"0000", -- NOP
000779 => x"0000", -- NOP
000780 => x"0000", -- NOP
000781 => x"0000", -- NOP
000782 => x"0000", -- NOP
000783 => x"0000", -- NOP
000784 => x"0000", -- NOP
000785 => x"0000", -- NOP
000786 => x"0000", -- NOP
000787 => x"0000", -- NOP
000788 => x"0000", -- NOP
000789 => x"0000", -- NOP
000790 => x"0000", -- NOP
000791 => x"0000", -- NOP
000792 => x"0000", -- NOP
000793 => x"0000", -- NOP
000794 => x"0000", -- NOP
000795 => x"0000", -- NOP
000796 => x"0000", -- NOP
000797 => x"0000", -- NOP
000798 => x"0000", -- NOP
000799 => x"0000", -- NOP
000800 => x"0000", -- NOP
000801 => x"0000", -- NOP
000802 => x"0000", -- NOP
000803 => x"0000", -- NOP
000804 => x"0000", -- NOP
000805 => x"0000", -- NOP
000806 => x"0000", -- NOP
000807 => x"0000", -- NOP
000808 => x"0000", -- NOP
000809 => x"0000", -- NOP
000810 => x"0000", -- NOP
000811 => x"0000", -- NOP
000812 => x"0000", -- NOP
000813 => x"0000", -- NOP
000814 => x"0000", -- NOP
000815 => x"0000", -- NOP
000816 => x"0000", -- NOP
000817 => x"0000", -- NOP
000818 => x"0000", -- NOP
000819 => x"0000", -- NOP
000820 => x"0000", -- NOP
000821 => x"0000", -- NOP
000822 => x"0000", -- NOP
000823 => x"0000", -- NOP
000824 => x"0000", -- NOP
000825 => x"0000", -- NOP
000826 => x"0000", -- NOP
000827 => x"0000", -- NOP
000828 => x"0000", -- NOP
000829 => x"0000", -- NOP
000830 => x"0000", -- NOP
000831 => x"0000", -- NOP
000832 => x"0000", -- NOP
000833 => x"0000", -- NOP
000834 => x"0000", -- NOP
000835 => x"0000", -- NOP
000836 => x"0000", -- NOP
000837 => x"0000", -- NOP
000838 => x"0000", -- NOP
000839 => x"0000", -- NOP
000840 => x"0000", -- NOP
000841 => x"0000", -- NOP
000842 => x"0000", -- NOP
000843 => x"0000", -- NOP
000844 => x"0000", -- NOP
000845 => x"0000", -- NOP
000846 => x"0000", -- NOP
000847 => x"0000", -- NOP
000848 => x"0000", -- NOP
000849 => x"0000", -- NOP
000850 => x"0000", -- NOP
000851 => x"0000", -- NOP
000852 => x"0000", -- NOP
000853 => x"0000", -- NOP
000854 => x"0000", -- NOP
000855 => x"0000", -- NOP
000856 => x"0000", -- NOP
000857 => x"0000", -- NOP
000858 => x"0000", -- NOP
000859 => x"0000", -- NOP
000860 => x"0000", -- NOP
000861 => x"0000", -- NOP
000862 => x"0000", -- NOP
000863 => x"0000", -- NOP
000864 => x"0000", -- NOP
000865 => x"0000", -- NOP
000866 => x"0000", -- NOP
000867 => x"0000", -- NOP
000868 => x"0000", -- NOP
000869 => x"0000", -- NOP
000870 => x"0000", -- NOP
000871 => x"0000", -- NOP
000872 => x"0000", -- NOP
000873 => x"0000", -- NOP
000874 => x"0000", -- NOP
000875 => x"0000", -- NOP
000876 => x"0000", -- NOP
000877 => x"0000", -- NOP
000878 => x"0000", -- NOP
000879 => x"0000", -- NOP
000880 => x"0000", -- NOP
000881 => x"0000", -- NOP
000882 => x"0000", -- NOP
000883 => x"0000", -- NOP
000884 => x"0000", -- NOP
000885 => x"0000", -- NOP
000886 => x"0000", -- NOP
000887 => x"0000", -- NOP
000888 => x"0000", -- NOP
000889 => x"0000", -- NOP
000890 => x"0000", -- NOP
000891 => x"0000", -- NOP
000892 => x"4578", -- .DW
000893 => x"6365", -- .DW
000894 => x"7074", -- .DW
000895 => x"696f", -- .DW
000896 => x"6e2f", -- .DW
000897 => x"696e", -- .DW
000898 => x"7465", -- .DW
000899 => x"7272", -- .DW
000900 => x"7570", -- .DW
000901 => x"7420", -- .DW
000902 => x"6572", -- .DW
000903 => x"726f", -- .DW
000904 => x"7221", -- .DW
000905 => x"0000", -- .DW
000906 => x"436f", -- .DW
000907 => x"6d70", -- .DW
000908 => x"7574", -- .DW
000909 => x"696e", -- .DW
000910 => x"6720", -- .DW
000911 => x"4646", -- .DW
000912 => x"542e", -- .DW
000913 => x"2e2e", -- .DW
000914 => x"2000", -- .DW
000915 => x"0000", -- NOP
000916 => x"0000", -- NOP
000917 => x"0000", -- NOP
000918 => x"0000", -- NOP
000919 => x"0000", -- NOP
000920 => x"0000", -- NOP
000921 => x"0000", -- NOP
000922 => x"0000", -- NOP
000923 => x"0000", -- NOP
000924 => x"0000", -- NOP
000925 => x"0000", -- NOP
000926 => x"0000", -- NOP
000927 => x"0000", -- NOP
000928 => x"0000", -- NOP
000929 => x"0000", -- NOP
000930 => x"0000", -- NOP
000931 => x"0000", -- NOP
000932 => x"0000", -- NOP
000933 => x"0000", -- NOP
000934 => x"0000", -- NOP
000935 => x"0000", -- NOP
000936 => x"0000", -- NOP
000937 => x"0000", -- NOP
000938 => x"0000", -- NOP
000939 => x"0000", -- NOP
000940 => x"0000", -- NOP
000941 => x"0000", -- NOP
000942 => x"0000", -- NOP
000943 => x"0000", -- NOP
000944 => x"0000", -- NOP
000945 => x"0000", -- NOP
000946 => x"0000", -- NOP
000947 => x"0000", -- NOP
000948 => x"0000", -- NOP
000949 => x"0000", -- NOP
000950 => x"0000", -- NOP
000951 => x"0000", -- NOP
000952 => x"0000", -- NOP
000953 => x"0000", -- NOP
000954 => x"0000", -- NOP
000955 => x"0000", -- NOP
000956 => x"0000", -- NOP
000957 => x"0000", -- NOP
000958 => x"0000", -- NOP
000959 => x"0000", -- NOP
000960 => x"0000", -- NOP
000961 => x"0000", -- NOP
000962 => x"0000", -- NOP
000963 => x"0000", -- NOP
000964 => x"0000", -- NOP
000965 => x"0000", -- NOP
000966 => x"0000", -- NOP
000967 => x"0000", -- NOP
000968 => x"0000", -- NOP
000969 => x"0000", -- NOP
000970 => x"0000", -- NOP
000971 => x"0000", -- NOP
000972 => x"0000", -- NOP
000973 => x"0000", -- NOP
000974 => x"0000", -- NOP
000975 => x"0000", -- NOP
000976 => x"0000", -- NOP
000977 => x"0000", -- NOP
000978 => x"0000", -- NOP
others => x"0000" -- NOP
/atlas_core/trunk/software/examples/fft/lut_gen_src/main.cpp
0,0 → 1,40
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
 
int main(int argc, char *argv[]) {
 
FILE *output;
int k;
int bits = 14;
int N;
int temp1, temp2;
double pi = 3.1415926535897932384626433832795;
char buf_string[32];
 
// open output file
output = fopen("sincos_lut.asm", "w+");
if(output == NULL){
printf("Output file error!");
exit(1);
}
 
// get number of sample
printf("Enter number of FFT points (power of 2): ");
scanf("%d", &N);
 
for(k=0; k<N/2; k++){
temp1 = int(cos((2*pi*k)/N)*(1<<bits));
temp2 = int(sin((2*pi*k)/N)*(1<<bits));
temp1 = temp1 & ((1<<16)-1); // truncate to 16 bit
temp2 = temp2 & ((1<<16)-1); // truncate to 16 bit
// printf(".dw #%d -- %04X\n", temp1, temp1);
// printf(".dw #%d -- %04X\n", temp2, temp2);
sprintf(buf_string, ".dw #%d\n.dw #%d\n", temp1, temp2);
fputs(buf_string, output);
}
 
fclose(output);
return 0;
}
/atlas_core/trunk/software/examples/fft/boot_init.vhd
0,0 → 1,988
000000 => x"cafe",
000001 => x"03d3",
000002 => x"9c97",
000003 => x"6666",
000004 => x"7431",
000005 => x"3238",
000006 => x"2e61",
000007 => x"736d",
000008 => x"bc0b",
000009 => x"bc04",
000010 => x"bc03",
000011 => x"bc02",
000012 => x"bc01",
000013 => x"be73",
000014 => x"c578",
000015 => x"c906",
000016 => x"be7f",
000017 => x"be6f",
000018 => x"bc00",
000019 => x"c724",
000020 => x"cb07",
000021 => x"c114",
000022 => x"c907",
000023 => x"be78",
000024 => x"c47f",
000025 => x"ec0b",
000026 => x"c002",
000027 => x"ec0c",
000028 => x"c400",
000029 => x"c800",
000030 => x"c7e6",
000031 => x"cb82",
000032 => x"3474",
000033 => x"6c6a",
000034 => x"c6f8",
000035 => x"ca83",
000036 => x"c578",
000037 => x"c904",
000038 => x"29b3",
000039 => x"785a",
000040 => x"c080",
000041 => x"526a",
000042 => x"c7c4",
000043 => x"cb82",
000044 => x"3474",
000045 => x"01b1",
000046 => x"c400",
000047 => x"c800",
000048 => x"1838",
000049 => x"85f6",
000050 => x"586a",
000051 => x"2ad5",
000052 => x"ec5a",
000053 => x"c478",
000054 => x"c804",
000055 => x"c480",
000056 => x"c880",
000057 => x"c578",
000058 => x"c902",
000059 => x"be5e",
000060 => x"ee02",
000061 => x"be1a",
000062 => x"be42",
000063 => x"c6f8",
000064 => x"ca84",
000065 => x"c580",
000066 => x"c980",
000067 => x"7a5a",
000068 => x"be13",
000069 => x"c0a0",
000070 => x"be07",
000071 => x"7a5a",
000072 => x"be0f",
000073 => x"be37",
000074 => x"05b9",
000075 => x"85f8",
000076 => x"bc00",
000077 => x"ec22",
000078 => x"dc05",
000079 => x"b9fe",
000080 => x"ed18",
000081 => x"3470",
000082 => x"ec20",
000083 => x"dc8f",
000084 => x"b9fe",
000085 => x"c800",
000086 => x"3470",
000087 => x"6c6a",
000088 => x"6cea",
000089 => x"6d6a",
000090 => x"6dea",
000091 => x"6e6a",
000092 => x"6fea",
000093 => x"3d42",
000094 => x"3d22",
000095 => x"3d22",
000096 => x"3d22",
000097 => x"be15",
000098 => x"bfeb",
000099 => x"3d40",
000100 => x"be12",
000101 => x"bfe8",
000102 => x"3d45",
000103 => x"3d25",
000104 => x"3d25",
000105 => x"3d25",
000106 => x"be0c",
000107 => x"bfe2",
000108 => x"0140",
000109 => x"be09",
000110 => x"bfdf",
000111 => x"5bea",
000112 => x"5a6a",
000113 => x"59ea",
000114 => x"596a",
000115 => x"58ea",
000116 => x"586a",
000117 => x"3470",
000118 => x"c08f",
000119 => x"2121",
000120 => x"c089",
000121 => x"181a",
000122 => x"8803",
000123 => x"c0b0",
000124 => x"bc02",
000125 => x"c0b7",
000126 => x"0892",
000127 => x"3470",
000128 => x"6c6a",
000129 => x"6cea",
000130 => x"6d6a",
000131 => x"6fea",
000132 => x"0170",
000133 => x"c08d",
000134 => x"bfc7",
000135 => x"c08a",
000136 => x"03a0",
000137 => x"bfc4",
000138 => x"5bea",
000139 => x"596a",
000140 => x"58ea",
000141 => x"586a",
000142 => x"3470",
000143 => x"0270",
000144 => x"7829",
000145 => x"c080",
000146 => x"ccff",
000147 => x"2081",
000148 => x"3c98",
000149 => x"8003",
000150 => x"bfb7",
000151 => x"bdf9",
000152 => x"3440",
000153 => x"6eea",
000154 => x"6e6a",
000155 => x"6dea",
000156 => x"6d6a",
000157 => x"6cea",
000158 => x"6c6a",
000159 => x"6fea",
000160 => x"c3b6",
000161 => x"cb82",
000162 => x"447e",
000163 => x"44fa",
000164 => x"457c",
000165 => x"2800",
000166 => x"3c95",
000167 => x"3419",
000168 => x"8003",
000169 => x"0001",
000170 => x"bdfc",
000171 => x"c3b6",
000172 => x"cb82",
000173 => x"5478",
000174 => x"c3b6",
000175 => x"cb82",
000176 => x"c281",
000177 => x"56fa",
000178 => x"56fc",
000179 => x"56fe",
000180 => x"c3be",
000181 => x"cb82",
000182 => x"c280",
000183 => x"56f8",
000184 => x"c3ba",
000185 => x"cb82",
000186 => x"40fa",
000187 => x"5178",
000188 => x"0521",
000189 => x"c204",
000190 => x"3e44",
000191 => x"0499",
000192 => x"85fe",
000193 => x"f124",
000194 => x"557c",
000195 => x"c3b6",
000196 => x"cb82",
000197 => x"427e",
000198 => x"50fa",
000199 => x"517e",
000200 => x"41fc",
000201 => x"0521",
000202 => x"3d24",
000203 => x"3d24",
000204 => x"0932",
000205 => x"c3be",
000206 => x"cb82",
000207 => x"5078",
000208 => x"0804",
000209 => x"c182",
000210 => x"3db4",
000211 => x"0499",
000212 => x"85fe",
000213 => x"0883",
000214 => x"c3c0",
000215 => x"cb82",
000216 => x"5478",
000217 => x"54fa",
000218 => x"557c",
000219 => x"0180",
000220 => x"0210",
000221 => x"02a0",
000222 => x"6dea",
000223 => x"6e6a",
000224 => x"5038",
000225 => x"50ba",
000226 => x"5148",
000227 => x"51ca",
000228 => x"5258",
000229 => x"52da",
000230 => x"be45",
000231 => x"5aea",
000232 => x"5a6a",
000233 => x"5558",
000234 => x"55da",
000235 => x"5448",
000236 => x"54ca",
000237 => x"c3be",
000238 => x"cb82",
000239 => x"5078",
000240 => x"c084",
000241 => x"0801",
000242 => x"5478",
000243 => x"c3b6",
000244 => x"cb82",
000245 => x"507a",
000246 => x"517e",
000247 => x"c081",
000248 => x"0409",
000249 => x"8003",
000250 => x"3c94",
000251 => x"bdfd",
000252 => x"181a",
000253 => x"0121",
000254 => x"557e",
000255 => x"85c4",
000256 => x"c101",
000257 => x"557e",
000258 => x"c3b6",
000259 => x"cb82",
000260 => x"407a",
000261 => x"50fa",
000262 => x"517c",
000263 => x"3c05",
000264 => x"0499",
000265 => x"85fe",
000266 => x"180a",
000267 => x"0121",
000268 => x"557c",
000269 => x"85ab",
000270 => x"c101",
000271 => x"557c",
000272 => x"c3b6",
000273 => x"cb82",
000274 => x"5078",
000275 => x"50fa",
000276 => x"1809",
000277 => x"0091",
000278 => x"54fa",
000279 => x"85a1",
000280 => x"5bea",
000281 => x"586a",
000282 => x"58ea",
000283 => x"596a",
000284 => x"59ea",
000285 => x"5a6a",
000286 => x"5aea",
000287 => x"3470",
000288 => x"0000",
000289 => x"0000",
000290 => x"0000",
000291 => x"0000",
000292 => x"0000",
000293 => x"0000",
000294 => x"0000",
000295 => x"0000",
000296 => x"0000",
000297 => x"0000",
000298 => x"0000",
000299 => x"6fea",
000300 => x"6c6a",
000301 => x"6cea",
000302 => x"c7bc",
000303 => x"cb82",
000304 => x"f042",
000305 => x"f0ca",
000306 => x"3c0c",
000307 => x"3c92",
000308 => x"3c0c",
000309 => x"3c92",
000310 => x"54f8",
000311 => x"f043",
000312 => x"f0cb",
000313 => x"3c0c",
000314 => x"3c92",
000315 => x"3c0c",
000316 => x"3c92",
000317 => x"54fa",
000318 => x"f052",
000319 => x"f0da",
000320 => x"3c0c",
000321 => x"3c92",
000322 => x"3c0c",
000323 => x"3c92",
000324 => x"54fc",
000325 => x"f053",
000326 => x"f0db",
000327 => x"3c0c",
000328 => x"3c92",
000329 => x"3c0c",
000330 => x"3c92",
000331 => x"54fe",
000332 => x"58ea",
000333 => x"586a",
000334 => x"5178",
000335 => x"51fe",
000336 => x"090a",
000337 => x"15a3",
000338 => x"6dea",
000339 => x"517a",
000340 => x"51fc",
000341 => x"091a",
000342 => x"0da3",
000343 => x"6dea",
000344 => x"5178",
000345 => x"51fe",
000346 => x"110a",
000347 => x"0da3",
000348 => x"6dea",
000349 => x"517a",
000350 => x"51fc",
000351 => x"111a",
000352 => x"15a3",
000353 => x"596a",
000354 => x"58ea",
000355 => x"586a",
000356 => x"5bea",
000357 => x"3470",
000358 => x"0000",
000359 => x"0000",
000360 => x"0000",
000361 => x"0000",
000362 => x"6dea",
000363 => x"6e6a",
000364 => x"6eea",
000365 => x"2ad5",
000366 => x"3dbd",
000367 => x"3ed6",
000368 => x"0649",
000369 => x"85fd",
000370 => x"3ed4",
000371 => x"3ed4",
000372 => x"0aa5",
000373 => x"5458",
000374 => x"54da",
000375 => x"5aea",
000376 => x"5a6a",
000377 => x"59ea",
000378 => x"3470",
000379 => x"6cea",
000380 => x"2891",
000381 => x"3c0d",
000382 => x"8003",
000383 => x"0091",
000384 => x"bdfd",
000385 => x"0010",
000386 => x"58ea",
000387 => x"3470",
000388 => x"4000",
000389 => x"0000",
000390 => x"3fec",
000391 => x"0323",
000392 => x"3fb1",
000393 => x"0645",
000394 => x"3f4e",
000395 => x"0964",
000396 => x"3ec5",
000397 => x"0c7c",
000398 => x"3e14",
000399 => x"0f8c",
000400 => x"3d3e",
000401 => x"1294",
000402 => x"3c42",
000403 => x"158f",
000404 => x"3b20",
000405 => x"187d",
000406 => x"39da",
000407 => x"1b5d",
000408 => x"3871",
000409 => x"1e2b",
000410 => x"36e5",
000411 => x"20e7",
000412 => x"3536",
000413 => x"238e",
000414 => x"3367",
000415 => x"261f",
000416 => x"3179",
000417 => x"2899",
000418 => x"2f6b",
000419 => x"2afa",
000420 => x"2d41",
000421 => x"2d41",
000422 => x"2afa",
000423 => x"2f6b",
000424 => x"2899",
000425 => x"3179",
000426 => x"261f",
000427 => x"3367",
000428 => x"238e",
000429 => x"3536",
000430 => x"20e7",
000431 => x"36e5",
000432 => x"1e2b",
000433 => x"3871",
000434 => x"1b5d",
000435 => x"39da",
000436 => x"187d",
000437 => x"3b20",
000438 => x"158f",
000439 => x"3c42",
000440 => x"1294",
000441 => x"3d3e",
000442 => x"0f8c",
000443 => x"3e14",
000444 => x"0c7c",
000445 => x"3ec5",
000446 => x"0964",
000447 => x"3f4e",
000448 => x"0645",
000449 => x"3fb1",
000450 => x"0323",
000451 => x"3fec",
000452 => x"0000",
000453 => x"4000",
000454 => x"fcdd",
000455 => x"3fec",
000456 => x"f9bb",
000457 => x"3fb1",
000458 => x"f69c",
000459 => x"3f4e",
000460 => x"f384",
000461 => x"3ec5",
000462 => x"f074",
000463 => x"3e14",
000464 => x"ed6c",
000465 => x"3d3e",
000466 => x"ea71",
000467 => x"3c42",
000468 => x"e783",
000469 => x"3b20",
000470 => x"e4a3",
000471 => x"39da",
000472 => x"e1d5",
000473 => x"3871",
000474 => x"df19",
000475 => x"36e5",
000476 => x"dc72",
000477 => x"3536",
000478 => x"d9e1",
000479 => x"3367",
000480 => x"d767",
000481 => x"3179",
000482 => x"d506",
000483 => x"2f6b",
000484 => x"d2bf",
000485 => x"2d41",
000486 => x"d095",
000487 => x"2afa",
000488 => x"ce87",
000489 => x"2899",
000490 => x"cc99",
000491 => x"261f",
000492 => x"caca",
000493 => x"238e",
000494 => x"c91b",
000495 => x"20e7",
000496 => x"c78f",
000497 => x"1e2b",
000498 => x"c626",
000499 => x"1b5d",
000500 => x"c4e0",
000501 => x"187d",
000502 => x"c3be",
000503 => x"158f",
000504 => x"c2c2",
000505 => x"1294",
000506 => x"c1ec",
000507 => x"0f8c",
000508 => x"c13b",
000509 => x"0c7c",
000510 => x"c0b2",
000511 => x"0964",
000512 => x"c04f",
000513 => x"0645",
000514 => x"c014",
000515 => x"0323",
000516 => x"0400",
000517 => x"0000",
000518 => x"0000",
000519 => x"0000",
000520 => x"0400",
000521 => x"0000",
000522 => x"0000",
000523 => x"0000",
000524 => x"0400",
000525 => x"0000",
000526 => x"0000",
000527 => x"0000",
000528 => x"0400",
000529 => x"0000",
000530 => x"0000",
000531 => x"0000",
000532 => x"0400",
000533 => x"0000",
000534 => x"0000",
000535 => x"0000",
000536 => x"0400",
000537 => x"0000",
000538 => x"0000",
000539 => x"0000",
000540 => x"0400",
000541 => x"0000",
000542 => x"0000",
000543 => x"0000",
000544 => x"0400",
000545 => x"0000",
000546 => x"0000",
000547 => x"0000",
000548 => x"0400",
000549 => x"0000",
000550 => x"0000",
000551 => x"0000",
000552 => x"0400",
000553 => x"0000",
000554 => x"0000",
000555 => x"0000",
000556 => x"0400",
000557 => x"0000",
000558 => x"0000",
000559 => x"0000",
000560 => x"0400",
000561 => x"0000",
000562 => x"0000",
000563 => x"0000",
000564 => x"0400",
000565 => x"0000",
000566 => x"0000",
000567 => x"0000",
000568 => x"0400",
000569 => x"0000",
000570 => x"0000",
000571 => x"0000",
000572 => x"0400",
000573 => x"0000",
000574 => x"0000",
000575 => x"0000",
000576 => x"0400",
000577 => x"0000",
000578 => x"0000",
000579 => x"0000",
000580 => x"0400",
000581 => x"0000",
000582 => x"0000",
000583 => x"0000",
000584 => x"0400",
000585 => x"0000",
000586 => x"0000",
000587 => x"0000",
000588 => x"0400",
000589 => x"0000",
000590 => x"0000",
000591 => x"0000",
000592 => x"0400",
000593 => x"0000",
000594 => x"0000",
000595 => x"0000",
000596 => x"0400",
000597 => x"0000",
000598 => x"0000",
000599 => x"0000",
000600 => x"0400",
000601 => x"0000",
000602 => x"0000",
000603 => x"0000",
000604 => x"0400",
000605 => x"0000",
000606 => x"0000",
000607 => x"0000",
000608 => x"0400",
000609 => x"0000",
000610 => x"0000",
000611 => x"0000",
000612 => x"0400",
000613 => x"0000",
000614 => x"0000",
000615 => x"0000",
000616 => x"0400",
000617 => x"0000",
000618 => x"0000",
000619 => x"0000",
000620 => x"0400",
000621 => x"0000",
000622 => x"0000",
000623 => x"0000",
000624 => x"0400",
000625 => x"0000",
000626 => x"0000",
000627 => x"0000",
000628 => x"0400",
000629 => x"0000",
000630 => x"0000",
000631 => x"0000",
000632 => x"0400",
000633 => x"0000",
000634 => x"0000",
000635 => x"0000",
000636 => x"0400",
000637 => x"0000",
000638 => x"0000",
000639 => x"0000",
000640 => x"0400",
000641 => x"0000",
000642 => x"0000",
000643 => x"0000",
000644 => x"0000",
000645 => x"0000",
000646 => x"0000",
000647 => x"0000",
000648 => x"0000",
000649 => x"0000",
000650 => x"0000",
000651 => x"0000",
000652 => x"0000",
000653 => x"0000",
000654 => x"0000",
000655 => x"0000",
000656 => x"0000",
000657 => x"0000",
000658 => x"0000",
000659 => x"0000",
000660 => x"0000",
000661 => x"0000",
000662 => x"0000",
000663 => x"0000",
000664 => x"0000",
000665 => x"0000",
000666 => x"0000",
000667 => x"0000",
000668 => x"0000",
000669 => x"0000",
000670 => x"0000",
000671 => x"0000",
000672 => x"0000",
000673 => x"0000",
000674 => x"0000",
000675 => x"0000",
000676 => x"0000",
000677 => x"0000",
000678 => x"0000",
000679 => x"0000",
000680 => x"0000",
000681 => x"0000",
000682 => x"0000",
000683 => x"0000",
000684 => x"0000",
000685 => x"0000",
000686 => x"0000",
000687 => x"0000",
000688 => x"0000",
000689 => x"0000",
000690 => x"0000",
000691 => x"0000",
000692 => x"0000",
000693 => x"0000",
000694 => x"0000",
000695 => x"0000",
000696 => x"0000",
000697 => x"0000",
000698 => x"0000",
000699 => x"0000",
000700 => x"0000",
000701 => x"0000",
000702 => x"0000",
000703 => x"0000",
000704 => x"0000",
000705 => x"0000",
000706 => x"0000",
000707 => x"0000",
000708 => x"0000",
000709 => x"0000",
000710 => x"0000",
000711 => x"0000",
000712 => x"0000",
000713 => x"0000",
000714 => x"0000",
000715 => x"0000",
000716 => x"0000",
000717 => x"0000",
000718 => x"0000",
000719 => x"0000",
000720 => x"0000",
000721 => x"0000",
000722 => x"0000",
000723 => x"0000",
000724 => x"0000",
000725 => x"0000",
000726 => x"0000",
000727 => x"0000",
000728 => x"0000",
000729 => x"0000",
000730 => x"0000",
000731 => x"0000",
000732 => x"0000",
000733 => x"0000",
000734 => x"0000",
000735 => x"0000",
000736 => x"0000",
000737 => x"0000",
000738 => x"0000",
000739 => x"0000",
000740 => x"0000",
000741 => x"0000",
000742 => x"0000",
000743 => x"0000",
000744 => x"0000",
000745 => x"0000",
000746 => x"0000",
000747 => x"0000",
000748 => x"0000",
000749 => x"0000",
000750 => x"0000",
000751 => x"0000",
000752 => x"0000",
000753 => x"0000",
000754 => x"0000",
000755 => x"0000",
000756 => x"0000",
000757 => x"0000",
000758 => x"0000",
000759 => x"0000",
000760 => x"0000",
000761 => x"0000",
000762 => x"0000",
000763 => x"0000",
000764 => x"0000",
000765 => x"0000",
000766 => x"0000",
000767 => x"0000",
000768 => x"0000",
000769 => x"0000",
000770 => x"0000",
000771 => x"0000",
000772 => x"0000",
000773 => x"0000",
000774 => x"0000",
000775 => x"0000",
000776 => x"0000",
000777 => x"0000",
000778 => x"0000",
000779 => x"0000",
000780 => x"0000",
000781 => x"0000",
000782 => x"0000",
000783 => x"0000",
000784 => x"0000",
000785 => x"0000",
000786 => x"0000",
000787 => x"0000",
000788 => x"0000",
000789 => x"0000",
000790 => x"0000",
000791 => x"0000",
000792 => x"0000",
000793 => x"0000",
000794 => x"0000",
000795 => x"0000",
000796 => x"0000",
000797 => x"0000",
000798 => x"0000",
000799 => x"0000",
000800 => x"0000",
000801 => x"0000",
000802 => x"0000",
000803 => x"0000",
000804 => x"0000",
000805 => x"0000",
000806 => x"0000",
000807 => x"0000",
000808 => x"0000",
000809 => x"0000",
000810 => x"0000",
000811 => x"0000",
000812 => x"0000",
000813 => x"0000",
000814 => x"0000",
000815 => x"0000",
000816 => x"0000",
000817 => x"0000",
000818 => x"0000",
000819 => x"0000",
000820 => x"0000",
000821 => x"0000",
000822 => x"0000",
000823 => x"0000",
000824 => x"0000",
000825 => x"0000",
000826 => x"0000",
000827 => x"0000",
000828 => x"0000",
000829 => x"0000",
000830 => x"0000",
000831 => x"0000",
000832 => x"0000",
000833 => x"0000",
000834 => x"0000",
000835 => x"0000",
000836 => x"0000",
000837 => x"0000",
000838 => x"0000",
000839 => x"0000",
000840 => x"0000",
000841 => x"0000",
000842 => x"0000",
000843 => x"0000",
000844 => x"0000",
000845 => x"0000",
000846 => x"0000",
000847 => x"0000",
000848 => x"0000",
000849 => x"0000",
000850 => x"0000",
000851 => x"0000",
000852 => x"0000",
000853 => x"0000",
000854 => x"0000",
000855 => x"0000",
000856 => x"0000",
000857 => x"0000",
000858 => x"0000",
000859 => x"0000",
000860 => x"0000",
000861 => x"0000",
000862 => x"0000",
000863 => x"0000",
000864 => x"0000",
000865 => x"0000",
000866 => x"0000",
000867 => x"0000",
000868 => x"0000",
000869 => x"0000",
000870 => x"0000",
000871 => x"0000",
000872 => x"0000",
000873 => x"0000",
000874 => x"0000",
000875 => x"0000",
000876 => x"0000",
000877 => x"0000",
000878 => x"0000",
000879 => x"0000",
000880 => x"0000",
000881 => x"0000",
000882 => x"0000",
000883 => x"0000",
000884 => x"0000",
000885 => x"0000",
000886 => x"0000",
000887 => x"0000",
000888 => x"0000",
000889 => x"0000",
000890 => x"0000",
000891 => x"0000",
000892 => x"0000",
000893 => x"0000",
000894 => x"0000",
000895 => x"0000",
000896 => x"0000",
000897 => x"0000",
000898 => x"0000",
000899 => x"0000",
000900 => x"4578",
000901 => x"6365",
000902 => x"7074",
000903 => x"696f",
000904 => x"6e2f",
000905 => x"696e",
000906 => x"7465",
000907 => x"7272",
000908 => x"7570",
000909 => x"7420",
000910 => x"6572",
000911 => x"726f",
000912 => x"7221",
000913 => x"0000",
000914 => x"436f",
000915 => x"6d70",
000916 => x"7574",
000917 => x"696e",
000918 => x"6720",
000919 => x"4646",
000920 => x"542e",
000921 => x"2e2e",
000922 => x"2000",
000923 => x"0000",
000924 => x"0000",
000925 => x"0000",
000926 => x"0000",
000927 => x"0000",
000928 => x"0000",
000929 => x"0000",
000930 => x"0000",
000931 => x"0000",
000932 => x"0000",
000933 => x"0000",
000934 => x"0000",
000935 => x"0000",
000936 => x"0000",
000937 => x"0000",
000938 => x"0000",
000939 => x"0000",
000940 => x"0000",
000941 => x"0000",
000942 => x"0000",
000943 => x"0000",
000944 => x"0000",
000945 => x"0000",
000946 => x"0000",
000947 => x"0000",
000948 => x"0000",
000949 => x"0000",
000950 => x"0000",
000951 => x"0000",
000952 => x"0000",
000953 => x"0000",
000954 => x"0000",
000955 => x"0000",
000956 => x"0000",
000957 => x"0000",
000958 => x"0000",
000959 => x"0000",
000960 => x"0000",
000961 => x"0000",
000962 => x"0000",
000963 => x"0000",
000964 => x"0000",
000965 => x"0000",
000966 => x"0000",
000967 => x"0000",
000968 => x"0000",
000969 => x"0000",
000970 => x"0000",
000971 => x"0000",
000972 => x"0000",
000973 => x"0000",
000974 => x"0000",
000975 => x"0000",
000976 => x"0000",
000977 => x"0000",
000978 => x"0000",
000979 => x"0000",
000980 => x"0000",
000981 => x"0000",
000982 => x"0000",
000983 => x"0000",
000984 => x"0000",
000985 => x"0000",
000986 => x"0000",
others => x"0000"
/atlas_core/trunk/software/examples/fft/fft_sincos.exe Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
atlas_core/trunk/software/examples/fft/fft_sincos.exe Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: atlas_core/trunk/software/examples/fft/FFT.asm =================================================================== --- atlas_core/trunk/software/examples/fft/FFT.asm (nonexistent) +++ atlas_core/trunk/software/examples/fft/FFT.asm (revision 34) @@ -0,0 +1,833 @@ +; ************************************************************************************************************** +; FFT - Fast Fourier Transformation +; +; N=32: 13851 cycles +; N=64: 33765 cycles +; N=128: 107192 cycles +; ************************************************************************************************************** + + +; ************************************************************************************************************** +; Defintions +; ************************************************************************************************************** +.equ sys0_core c0 +.equ sys1_core c1 +.equ com0_core c2 +.equ com1_core c3 +.equ sp r6 ; stack pointer +.equ lr r7 ; link register + + +; ************************************************************************************************************** +; FFT Configuration +; ************************************************************************************************************** +.equ fft_n_c #128 ; = N +.equ fft_mem_c #256 ; = N*2 + + +; ************************************************************************************************************** +; Exception Vector Table +; ************************************************************************************************************** +reset_vec: b reset +x_int0_vec: b err_handler +x_int1_vec: b err_handler +cmd_err_vec: b err_handler +swi_vec: b err_handler + + +; ************************************************************************************************************** +; IRQ/SWI/CMD_ERR: Terminate +; ************************************************************************************************************** +err_handler: + bl uart_linebreak + ldil r2, low[err_string] + ldih r2, high[err_string] + bl uart_print + bl uart_linebreak + b #+0 ; freeze + + +; ************************************************************************************************************** +; Main Program +; ************************************************************************************************************** +reset: ldil sp, low[stack_end] ; setup negative-growing stack + ldih sp, high[stack_end] + + ; print intro + ldil r2, low[string_intro] + ldih r2, high[string_intro] + bl uart_print + + ; init timer + ldil r0, #0xFF + mcr #1, sys0_core, r0, #3 ; timer threshold + ldil r0, #2 + mcr #1, sys0_core, r0, #4 ; timer prescaler = 1/4 + + +; rearrange input data (bit-reverse sorting) +; ----------------------------------------------------------------------------- + ; compute r0=log2(N) + ldil r0, low[fft_n_c] ; N + ldih r0, high[fft_n_c] + ldil r7, low[math_log2] + ldih r7, high[math_log2] + gtl r7 + push r0 ; = ld(N) + + ; re-order + ldil r5, low[input_signal] + ldih r5, high[input_signal] + ldil r2, low[fft_ram] + ldih r2, high[fft_ram] + clr r3, #0 ; initial offset fft_ram +fft_store_loop: + ldr r0, r5, +#2, post, ! ; get real part of sample + ldil r1, #0x00 ; imaginary part = 0 + peek r4 ; = ld(N) + + ldil r7, low[store_fft_sample] + ldih r7, high[store_fft_sample] + gtl r7 + + inc r3, r3, #1 ; in offset + ldil r0, low[fft_n_c] ; N + ldih r0, high[fft_n_c] + cmp r3, r0 + bne fft_store_loop + pop r0 + + +; Perform FFT +; ----------------------------------------------------------------------------- + ; reset timer + clr r5 + mcr #1, sys0_core, r5, #2 ; timer counter + + ; perform FFT + ldil r0, low[fft_ram] + ldih r0, high[fft_ram] + ldil r1, low[fft_n_c] + ldih r1, high[fft_n_c] + ldil r2, low[fft_sincos_lut] + ldih r2, high[fft_sincos_lut] + bl math_fft + + ; get timer + mrc #1, r4, sys0_core, #2 ; timer counter + bl print_hex_string + bl uart_linebreak + + +; print FFT result +; ----------------------------------------------------------------------------- + ldil r5, low[fft_ram] + ldih r5, high[fft_ram] + ldil r3, low[fft_n_c] + ldih r3, high[fft_n_c] +print_results: + ldr r4, r5, +#2, post, ! + bl print_hex_string + + ldil r1, #32 + bl uart_sendbyte + + ldr r4, r5, +#2, post, ! + bl print_hex_string + + bl uart_linebreak + + decs r3, r3, #1 + bne print_results + + b #+0 + + +; ************************************************************************************************************** +; Communication Subroutines +; ************************************************************************************************************** + +; -------------------------------------------------------------------------------------------------------- +; Print char (byte) via CP0.COM_0.UART +; Arguments: r1 = char (low byte) +; Results: - +; Used registers: r0, r1 +uart_sendbyte: +; -------------------------------------------------------------------------------------------------------- + mrc #1, r0, com0_core, #2 ; get com control register + stb r0, #5 ; copy uart tx_busy flag to T-flag + bts uart_sendbyte ; still set, keep on waiting + mcr #1, com0_core, r1, #0 ; send data + ret lr + + +; -------------------------------------------------------------------------------------------------------- +; Receive a byte via CP0.COM_0.UART +; Arguments: - +; Results: r0 (low byte) +; Used registers: r0 +uart_receivebyte: +; -------------------------------------------------------------------------------------------------------- + mrc #1, r0, com0_core, #0 ; get uart status/data register + stbi r0, #15 ; copy inverted uart rx_ready flag to T-flag + bts uart_receivebyte ; nothing received, keep on waiting + ldih r0, #0x00 ; clear upper byte + ret lr ; return + + +; -------------------------------------------------------------------------------------------------------- +; Prints 16bit data as 4x char hex value +; Arguments: +; r4 = data +; Results: - +; Used registers: r0, r1, r2, r3, r4, lr +print_hex_string: +; -------------------------------------------------------------------------------------------------------- + push r0 + push r1 + push r2 + push r3 + push r4 + push lr ; backup link regiiter + + ; char 3 + sft r2, r4, #rol + sft r2, r2, #rol + sft r2, r2, #rol + sft r2, r2, #rol + bl conv_hex_comp + bl uart_sendbyte + + ; char 2 + sft r2, r4, #swp + bl conv_hex_comp + bl uart_sendbyte + + ; char 1 + sft r2, r4, #lsr + sft r2, r2, #lsr + sft r2, r2, #lsr + sft r2, r2, #lsr + bl conv_hex_comp + bl uart_sendbyte + + ; char 0 + mov r2, r4 + bl conv_hex_comp + bl uart_sendbyte + + pop lr + pop r4 + pop r3 + pop r2 + pop r1 + pop r0 + ret lr + +; compute hex-char from 4-bit value of r2, result in r1 +conv_hex_comp: ldil r1, #0x0f ; mask for lowest 4 bit + and r2, r2, r1 + + ldil r1, #9 + cmp r1, r2 + bcs #+3 + + ldil r1, #48 ; this is a '0' + b #+2 + ldil r1, #55 ; this is an 'A'-10 + add r1, r1, r2 ; resulting char in lower byte + ret lr + + +; -------------------------------------------------------------------------------------------------------- +; Print linebreak +; Arguments: - +; Results: - +; Used registers: r0, r1, r2, lr +uart_linebreak: +; -------------------------------------------------------------------------------------------------------- + push r0 + push r1 + push r2 + push lr + + mov r2, lr + ldil r1, #0x0D ; carriage return + bl uart_sendbyte + ldil r1, #0x0A ; line feed + mov lr, r2 + bl uart_sendbyte + + pop lr + pop r2 + pop r1 + pop r0 + ret lr + + +; -------------------------------------------------------------------------------------------------------- +; Print char-string (bytes) via CP0.COM_0.UART +; Arguments: r2 = address of string (string must be zero-terminated!) +; Results: - +; Used registers: r0, r1, r2, r3, r4, lr +uart_print: +; -------------------------------------------------------------------------------------------------------- + mov r4, lr + +uart_print_loop: + ldr r0, r2, +#1, post, ! ; get one string byte + ldil r1, #0x00 ; upper byte mask + ldih r1, #0xFF + and r1, r0, r1 + sfts r1, r1, #swp ; swap bytes and test if zero + beq uart_print_loop_end + bl uart_sendbyte + b uart_print_loop + +uart_print_loop_end: + ret r4 + + + +; *********************************************************************************************************** +; Fast Fourier Transformation (Cooley and Tukey Algorithm) +; -------------------------------------------------------------------------------------------------------- +; Perform Radix-2 FFT. Make sure to scramble (bit-reverse sorting) input data before +; Arguments: +; r0 = pointer to signal memory (input/output) +; r1 = number of points (must be a power of two and not zero) +; r2 = pointer to sincos table +; Results: - +; Used registers: r0, r1, r2, r3, r4, r5, r6, r7 (saves on stack) +; -------------------------------------------------------------------------------------------------------- +math_fft: +; *********************************************************************************************************** + push r5 + push r4 + push r3 + push r2 + push r1 + push r0 + push lr ; save all regs + + ; save config + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + str r0, r7, -#6, pre ; pointer to signal memory + str r1, r7, -#2, pre ; number of points + str r2, r7, -#4, pre ; pointer to sincos table + + ; get number of levels = ld(N) + clr r0 +math_fft_get_lvs: + sft r1, r1, #lsr + teq r1, r1 + beq #+3 + inc r0, r0, #1 + b math_fft_get_lvs + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + str r0, r7, +#0, pre + + ; init control varibales + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + ldil r5, #1 + str r5, r7, +#2, pre ; current_level = 1 = first level + str r5, r7, +#4, pre ; current_dft = 1 = first sub DFT + str r5, r7, +#6, pre ; current_btfly = 1 = first butterfly + + ldil r7, low[v_math_fft_a_offs] + ldih r7, high[v_math_fft_a_offs] + ldil r5, #0 + str r5, r7, +#0, pre ; offset A + +math_fft_level: ldil r7, low[v_math_fft_dft] + ldih r7, high[v_math_fft_dft] + ldr r1, r7, -#2, pre ; current LEVEL + ldr r2, r7, +#0, pre ; current SUB_DFT + dec r2, r2, #1 + + ldil r4, #4 + sft r4, r4, #lsl + decs r1, r1, #1 + bne #-2 ; r4 = 4< and pointer + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + ldr r4, r7, -#6, pre ; signal mem pointer + ldr r1, r7, +#2, pre ; current LEVEL + ldr r2, r7, +#6, pre ; current BUTTERFLY + ldr r3, r7, -#4, pre ; sincos table pointer + dec r2, r2, #1 ; = BUTTERFLY-1 + sft r2, r2, #lsl + sft r2, r2, #lsl ; offset W = (BUTTERFLY-1)*4 + add r2, r3, r2 ; pointer W + + ldil r7, low[v_math_fft_a_offs] + ldih r7, high[v_math_fft_a_offs] + ldr r0, r7, +#0, pre ; offset A + add r0, r0, r4 ; pointer A + + ldil r3, #2 + sft r3, r3, #lsl + decs r1, r1, #1 + bne #-2 + add r1, r0, r3 ; pointer B + + ; backup pointer + ldil r7, low[v_math_fft_a_pnt] + ldih r7, high[v_math_fft_a_pnt] + str r0, r7, +#0, pre ; A + str r1, r7, +#2, pre ; B + str r2, r7, +#4, pre ; W + + ; get data + mov r3, r0 + mov r4, r1 + mov r5, r2 + push r3 + push r4 + ldr r0, r3, +#0, pre ; A_real + ldr r1, r3, +#2, pre ; A_imag + ldr r2, r4, +#0, pre ; B_real + ldr r3, r4, +#2, pre ; B_imag + ldr r4, r5, +#0, pre ; W_real + ldr r5, r5, +#2, pre ; W_imag + + ; perform butterfly + bl fft_butterfly + + ; store new data + pop r5 + pop r4 + str r2, r5, +#0, pre ; B_real' + str r3, r5, +#2, pre ; B_imag' + str r0, r4, +#0, pre ; A_real' + str r1, r4, +#2, pre ; A_imag' + + ; add step_width to offset A + ldil r7, low[v_math_fft_a_offs] + ldih r7, high[v_math_fft_a_offs] + ldr r0, r7, +#0, pre + ldil r1, #4 + add r0, r0, r1 + str r0, r7, +#0, pre + + ; all butterflies done? + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + ldr r0, r7, +#2, pre ; current LEVEL + ldr r2, r7, +#6, pre ; current BUTTERFLY + + ldil r1, #1 + decs r0, r0, #1 + beq #+3 + sft r1, r1, #lsl ; #butterflies per sub dft = 1<<(LEVEL-1) + b #-3 + + cmp r1, r2 ; #butterflies per sub DFT = current BUTTERFLY? + inc r2, r2, #1 ; inc BUTTERFLY + str r2, r7, +#6, pre ; new BUTTERFLY + bne math_fft_butterfly + + ldil r2, #1 + str r2, r7, +#6, pre ; reset BUTTERFLY + + ; all sub DFTs done? + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + ldr r0, r7, -#2, pre ; N + ldr r1, r7, +#2, pre ; current LEVEL + ldr r2, r7, +#4, pre ; current SUB_DFT + + sft r0, r0, #lsr ; number of DFTs = N >> LEVEL + decs r1, r1, #1 + bne #-2 + + cmp r0, r2 ; #sub DFTs per level = current SUB_DFT? + inc r2, r2, #1 ; inc SUB_DFT + str r2, r7, +#4, pre ; new SUB_DFT + bne math_fft_level + + ldil r2, #1 ; reset value for SUB_DFT + str r2, r7, +#4, pre ; reset SUB_DFT? + + ; all levels done? + ldil r7, low[v_math_fft_num_levels] + ldih r7, high[v_math_fft_num_levels] + ldr r0, r7, +#0, pre ; #levels + ldr r1, r7, +#2, pre ; current LEVEL + cmp r0, r1 + inc r1, r1, #1 ; inc current LEVEL + str r1, r7, +#2, pre ; new LEVEL + bne math_fft_level + + ; terminate + pop lr + pop r0 + pop r1 + pop r2 + pop r3 + pop r4 + pop r5 ; restore regs + + ret lr + + +; FFT run-time data memory +v_math_fft_sig_pnt: nop ; pointer to processing memory +v_math_sincos_pnt: nop ; pointer to sincos table +v_math_fft_num_points: nop ; number of points (N) +v_math_fft_num_levels: nop ; #levels +v_math_fft_level: nop ; current LEVEL +v_math_fft_dft: nop ; current SUB_DFT +v_math_fft_btfly: nop ; current BUTTERFLY + +v_math_fft_a_offs: nop ; offset for A +v_math_fft_a_pnt: nop ; pointer for A +v_math_fft_b_pnt: nop ; pointer for B +v_math_fft_w_pnt: nop ; pointer for W + + +; *********************************************************************************************************** +; FFT Butterfly (16-bit) +; -------------------------------------------------------------------------------------------------------- +; Twiddle factors (W): 1-bit SIGN + 1-bit integer + 14-bit fractional part +; A' = A + B*W +; B' = B - B*W +; Arguments: +; r0 = A_real +; r1 = A_imag +; r2 = B_real +; r3 = B_imag +; r4 = W_real +; r5 = W_imag +; Results: +; r0 = A_real_new +; r1 = A_imag_new +; r2 = B_real_new +; r3 = B_imag_new +; Used registers: r0, r1, r2, r3, r4, r5, r6, r7 (saves on stack) +; -------------------------------------------------------------------------------------------------------- +fft_butterfly: +; *********************************************************************************************************** + push lr + + ; multiplications (signed!) + push r0 + push r1 + + ldil r7, low[fft_butterfly_mem] + ldih r7, high[fft_butterfly_mem] + + mul r0, r4, r2 + mulh r1, r4, r2 ; r1:r0 = U = W_real*B_real + sfts r0, r0, #lsl + sft r1, r1, #rol + sfts r0, r0, #lsl + sft r1, r1, #rol ; r1 = r1:r0 >> 14 + str r1, r7, +#0, pre + + mul r0, r4, r3 + mulh r1, r4, r3 ; r1:r0 = V = W_real*B_imag + sfts r0, r0, #lsl + sft r1, r1, #rol + sfts r0, r0, #lsl + sft r1, r1, #rol ; r1 = r1:r0 >> 14 + str r1, r7, +#2, pre + + mul r0, r5, r2 + mulh r1, r5, r2 ; r1:r0 = X = W_imag*B_real + sfts r0, r0, #lsl + sft r1, r1, #rol + sfts r0, r0, #lsl + sft r1, r1, #rol ; r1 = r1:r0 >> 14 + str r1, r7, +#4, pre + + mul r0, r5, r3 + mulh r1, r5, r3 ; r1:r0 = Y = W_imag*B_imag + sfts r0, r0, #lsl + sft r1, r1, #rol + sfts r0, r0, #lsl + sft r1, r1, #rol ; r1 = r1:r0 >> 14 + str r1, r7, +#6, pre + + pop r1 + pop r0 + + ; additions + ; A_real' = A_real + U - Y + ldr r2, r7, +#0, pre ; r2 = U + ldr r3, r7, +#6, pre ; r3 = Y + adds r2, r0, r2 ; r2 = A_real + U + sbc r3, r2, r3 ; A_real' = r3 = r2 - Y + push r3 + + ; A_imag' = A_imag + V + X + ldr r2, r7, +#2, pre ; r2 = V + ldr r3, r7, +#4, pre ; r3 = X + adds r2, r1, r2 ; r2 = A_imga + V + adc r3, r2, r3 ; A_imag' = r3 = r2 +X + push r3 + + ; B_real' = A_real - U + Y + ldr r2, r7, +#0, pre ; r2 = U + ldr r3, r7, +#6, pre ; r3 = Y + subs r2, r0, r2 ; r2 = A_real - U + adc r3, r2, r3 ; B_real' = r3 = r2 + Y + push r3 + + ; B_imag' = A_imag - V - X + ldr r2, r7, +#2, pre ; r2 = V + ldr r3, r7, +#4, pre ; r3 = X + subs r2, r1, r2 ; r2 = A_real - U + sbc r3, r2, r3 ; B_imag' = r3 = r2 - Y +; push r3 + + ; re-arrange +; pop r3 ; r3 = B_imag' + pop r2 ; r2 = B_real' + pop r1 ; r1 = A_imag' + pop r0 ; r0 = A_real' + + ; done + pop lr + ret lr + + +; Butterfly run-time memory (4x words) +fft_butterfly_mem: .space #4 + + +; *********************************************************************************************************** +; Store complex sample with bit-reversed offset +; -------------------------------------------------------------------------------------------------------- +; Arguments: +; r0 = Sample real part +; r1 = Sample imaginary part +; r2 = Destination buffer base address (absolute) +; r3 = Binary offset number (0..N-1) +; r4 = ld(N) +; Results: - +; Used registers: r0, r1, r2, r3, r4, r5, r6 (saves on stack) +; -------------------------------------------------------------------------------------------------------- +store_fft_sample: +; *********************************************************************************************************** + push r3 ; backup offset + push r4 ; backup ld(N) + push r5 ; backup temp + + ; iterative computation of bit-reversed address + clr r5 +store_fft_sample_brev: + sfts r3, r3, #lsr + sft r5, r5, #rlc + decs r4, r4, #1 + bne store_fft_sample_brev + + sft r5, r5, #lsl ; bytes to words + sft r5, r5, #lsl ; offset*2 -> 2 samples per offset + + ; store it + add r5, r2, r5 ; add offset to base + str r0, r5, +#0, pre ; real + str r1, r5, +#2, pre ; imag + + pop r5 ; restore temp + pop r4 ; restore ld(N) + pop r3 ; restore original offset + + ret lr ; terminate + + +; *********************************************************************************************************** +; Compuation of dual logarithm +; -------------------------------------------------------------------------------------------------------- +; Arguments: +; r0 = Argument +; Results: +; r0 = log2(Argument) +; Used registers: r0, r1, r6 (saves on stack) +; -------------------------------------------------------------------------------------------------------- +math_log2: +; *********************************************************************************************************** + push r1 ; backup temp + + clr r1 +math_log2_loop: + sfts r0, r0, #lsr + beq math_log2_end + inc r1, r1, #1 + b math_log2_loop + +math_log2_end: + mov r0, r1 + pop r1 ; restore temp + + ret lr ; terminate + + +; ************************************************************************************************************** +; FFT Sin/Cos Look-Up Table (cos(2*pi*k/N), sin(2*pi*k/N); 0 <= k <= N/2), 14-bit fractional part, signed +; ************************************************************************************************************** +fft_sincos_lut: +.include "sincos_lut.asm" + + +; ************************************************************************************************************** +; FFT Input signal (dummy) +; ************************************************************************************************************** +input_signal: +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 +.dw #1024 +.dw #0 +.dw #0 +.dw #0 + + +; ************************************************************************************************************** +; FFT processing memory +; ************************************************************************************************************** +fft_ram: +.space fft_mem_c ; N*2 + + +; ************************************************************************************************************** +; Strings +; ************************************************************************************************************** +err_string: .stringz "Exception/interrupt error!" +string_intro: .stringz "Computing FFT... " + + +; ************************************************************************************************************** +; System RAM +; ************************************************************************************************************** +stack_begin: .space #63 +stack_end: nop Index: atlas_core/trunk/software/examples/fft/out.bin =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: atlas_core/trunk/software/examples/fft/out.bin =================================================================== --- atlas_core/trunk/software/examples/fft/out.bin (nonexistent) +++ atlas_core/trunk/software/examples/fft/out.bin (revision 34)
atlas_core/trunk/software/examples/fft/out.bin Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: atlas_core/trunk/software/examples/random_numbers/init.vhd =================================================================== --- atlas_core/trunk/software/examples/random_numbers/init.vhd (revision 33) +++ atlas_core/trunk/software/examples/random_numbers/init.vhd (revision 34) @@ -3,35 +3,35 @@ 000002 => x"bc03", -- B 000003 => x"bc02", -- B 000004 => x"bc01", -- B -000005 => x"be31", -- BL -000006 => x"c110", -- LDIL +000005 => x"be30", -- BL +000006 => x"c10e", -- LDIL 000007 => x"c901", -- LDIH 000008 => x"be21", -- BL -000009 => x"be2d", -- BL +000009 => x"be2c", -- BL 000010 => x"bc00", -- B -000011 => x"c12c", -- LDIL +000011 => x"c12a", -- LDIL 000012 => x"c901", -- LDIH 000013 => x"be19", -- BL -000014 => x"c144", -- LDIL +000014 => x"c142", -- LDIL 000015 => x"c901", -- LDIH 000016 => x"be19", -- BL -000017 => x"be34", -- BL +000017 => x"be33", -- BL 000018 => x"ec4d", -- MCR -000019 => x"be23", -- BL -000020 => x"c160", -- LDIL +000019 => x"be22", -- BL +000020 => x"c15e", -- LDIL 000021 => x"c901", -- LDIH 000022 => x"be13", -- BL -000023 => x"be2e", -- BL +000023 => x"be2d", -- BL 000024 => x"d24f", -- CBR 000025 => x"ec4e", -- MCR -000026 => x"be1c", -- BL +000026 => x"be1b", -- BL 000027 => x"c0b0", -- LDIL -000028 => x"be1f", -- BL +000028 => x"be1e", -- BL 000029 => x"c0f8", -- LDIL -000030 => x"be1d", -- BL +000030 => x"be1c", -- BL 000031 => x"ee05", -- MRC -000032 => x"be4a", -- BL -000033 => x"be15", -- BL +000032 => x"be49", -- BL +000033 => x"be14", -- BL 000034 => x"ec20", -- MRC 000035 => x"dc0f", -- STB 000036 => x"b9ea", -- BTS @@ -41,151 +41,150 @@ 000040 => x"bc03", -- B 000041 => x"29b3", -- CLR 000042 => x"0270", -- MOV -000043 => x"7829", -- LDR -000044 => x"c080", -- LDIL -000045 => x"ccff", -- LDIH -000046 => x"2081", -- AND -000047 => x"3c98", -- SFTS -000048 => x"8003", -- BEQ -000049 => x"be0a", -- BL -000050 => x"bdf9", -- B -000051 => x"03c0", -- MOV -000052 => x"343b", -- TEQ -000053 => x"f707", -- RBAEQ -000054 => x"0170", -- MOV -000055 => x"c08d", -- LDIL -000056 => x"be03", -- BL -000057 => x"c08a", -- LDIL -000058 => x"03a0", -- MOV -000059 => x"ec22", -- MRC -000060 => x"dc05", -- STB -000061 => x"b9fe", -- BTS -000062 => x"ed18", -- MCR -000063 => x"3470", -- RET -000064 => x"ec20", -- MRC -000065 => x"dc8f", -- STBI -000066 => x"b9fe", -- BTS -000067 => x"c800", -- LDIH -000068 => x"3470", -- RET -000069 => x"0170", -- MOV -000070 => x"c200", -- LDIL -000071 => x"c184", -- LDIL -000072 => x"bff8", -- BL -000073 => x"c0c6", -- LDIL -000074 => x"1809", -- CMP -000075 => x"9003", -- BMI -000076 => x"c0a0", -- LDIL -000077 => x"1001", -- SUB -000078 => x"c0b0", -- LDIL -000079 => x"1809", -- CMP -000080 => x"91f8", -- BMI -000081 => x"c0c6", -- LDIL -000082 => x"1818", -- CMP -000083 => x"91f5", -- BMI -000084 => x"c0b9", -- LDIL -000085 => x"1818", -- CMP -000086 => x"a404", -- BLS -000087 => x"c0c1", -- LDIL -000088 => x"1809", -- CMP -000089 => x"a1ef", -- BHI -000090 => x"0080", -- MOV -000091 => x"bfe0", -- BL -000092 => x"c030", -- LDIL -000093 => x"1090", -- SUB -000094 => x"c009", -- LDIL -000095 => x"1809", -- CMP -000096 => x"a402", -- BLS -000097 => x"0497", -- DEC +000043 => x"78a9", -- LDR +000044 => x"3c90", -- SFT +000045 => x"c880", -- LDIH +000046 => x"3419", -- TEQ +000047 => x"8003", -- BEQ +000048 => x"be0a", -- BL +000049 => x"bdfa", -- B +000050 => x"03c0", -- MOV +000051 => x"343b", -- TEQ +000052 => x"f707", -- RBAEQ +000053 => x"0170", -- MOV +000054 => x"c08d", -- LDIL +000055 => x"be03", -- BL +000056 => x"c08a", -- LDIL +000057 => x"03a0", -- MOV +000058 => x"ec22", -- MRC +000059 => x"dc05", -- STB +000060 => x"b9fe", -- BTS +000061 => x"ed18", -- MCR +000062 => x"3470", -- RET +000063 => x"ec20", -- MRC +000064 => x"dc8f", -- STBI +000065 => x"b9fe", -- BTS +000066 => x"c800", -- LDIH +000067 => x"3470", -- RET +000068 => x"0170", -- MOV +000069 => x"c200", -- LDIL +000070 => x"c184", -- LDIL +000071 => x"bff8", -- BL +000072 => x"c0c7", -- LDIL +000073 => x"1809", -- CMP +000074 => x"9003", -- BMI +000075 => x"c0a0", -- LDIL +000076 => x"1001", -- SUB +000077 => x"c0b0", -- LDIL +000078 => x"1809", -- CMP +000079 => x"91f8", -- BMI +000080 => x"c0c6", -- LDIL +000081 => x"1818", -- CMP +000082 => x"91f5", -- BMI +000083 => x"c0b9", -- LDIL +000084 => x"1818", -- CMP +000085 => x"a404", -- BLS +000086 => x"c0c1", -- LDIL +000087 => x"1809", -- CMP +000088 => x"a1ef", -- BHI +000089 => x"0080", -- MOV +000090 => x"bfe0", -- BL +000091 => x"c030", -- LDIL +000092 => x"1090", -- SUB +000093 => x"c009", -- LDIL +000094 => x"1809", -- CMP +000095 => x"a402", -- BLS +000096 => x"0497", -- DEC +000097 => x"3e42", -- SFT 000098 => x"3e42", -- SFT 000099 => x"3e42", -- SFT 000100 => x"3e42", -- SFT -000101 => x"3e42", -- SFT -000102 => x"2641", -- ORR -000103 => x"05b9", -- DECS -000104 => x"85e0", -- BNE -000105 => x"3420", -- RET -000106 => x"0370", -- MOV -000107 => x"3d42", -- SFT +000101 => x"2641", -- ORR +000102 => x"05b9", -- DECS +000103 => x"85e0", -- BNE +000104 => x"3420", -- RET +000105 => x"0370", -- MOV +000106 => x"3d42", -- SFT +000107 => x"3d22", -- SFT 000108 => x"3d22", -- SFT 000109 => x"3d22", -- SFT -000110 => x"3d22", -- SFT -000111 => x"be0f", -- BL -000112 => x"bfcb", -- BL -000113 => x"3d40", -- SFT -000114 => x"be0c", -- BL -000115 => x"bfc8", -- BL -000116 => x"3d45", -- SFT +000110 => x"be0f", -- BL +000111 => x"bfcb", -- BL +000112 => x"3d40", -- SFT +000113 => x"be0c", -- BL +000114 => x"bfc8", -- BL +000115 => x"3d45", -- SFT +000116 => x"3d25", -- SFT 000117 => x"3d25", -- SFT 000118 => x"3d25", -- SFT -000119 => x"3d25", -- SFT -000120 => x"be06", -- BL -000121 => x"bfc2", -- BL -000122 => x"0140", -- MOV -000123 => x"be03", -- BL -000124 => x"bfbf", -- BL -000125 => x"3460", -- RET -000126 => x"c08f", -- LDIL -000127 => x"2121", -- AND -000128 => x"c089", -- LDIL -000129 => x"181a", -- CMP -000130 => x"8803", -- BCS -000131 => x"c0b0", -- LDIL -000132 => x"bc02", -- B -000133 => x"c0b7", -- LDIL -000134 => x"0892", -- ADD -000135 => x"3470", -- RET -000136 => x"4578", -- .DW -000137 => x"6365", -- .DW -000138 => x"7074", -- .DW -000139 => x"696f", -- .DW -000140 => x"6e2f", -- .DW -000141 => x"696e", -- .DW -000142 => x"7465", -- .DW -000143 => x"7272", -- .DW -000144 => x"7570", -- .DW -000145 => x"7420", -- .DW -000146 => x"6572", -- .DW -000147 => x"726f", -- .DW -000148 => x"7221", -- .DW -000149 => x"0000", -- .DW -000150 => x"5261", -- .DW -000151 => x"6e64", -- .DW -000152 => x"6f6d", -- .DW -000153 => x"204e", -- .DW -000154 => x"756d", -- .DW -000155 => x"6265", -- .DW -000156 => x"7220", -- .DW -000157 => x"4765", -- .DW -000158 => x"6e65", -- .DW -000159 => x"7261", -- .DW -000160 => x"746f", -- .DW -000161 => x"7200", -- .DW -000162 => x"456e", -- .DW -000163 => x"7465", -- .DW -000164 => x"7220", -- .DW -000165 => x"4c46", -- .DW -000166 => x"5352", -- .DW -000167 => x"2073", -- .DW -000168 => x"6565", -- .DW -000169 => x"6420", -- .DW -000170 => x"2834", -- .DW -000171 => x"6865", -- .DW -000172 => x"7829", -- .DW -000173 => x"3a20", -- .DW -000174 => x"3078", -- .DW -000175 => x"0000", -- .DW -000176 => x"456e", -- .DW -000177 => x"7465", -- .DW -000178 => x"7220", -- .DW -000179 => x"4c46", -- .DW -000180 => x"5352", -- .DW -000181 => x"2074", -- .DW -000182 => x"6170", -- .DW -000183 => x"7320", -- .DW -000184 => x"2834", -- .DW -000185 => x"6865", -- .DW -000186 => x"7829", -- .DW -000187 => x"3a20", -- .DW -000188 => x"3078", -- .DW -000189 => x"0000", -- .DW +000119 => x"be06", -- BL +000120 => x"bfc2", -- BL +000121 => x"0140", -- MOV +000122 => x"be03", -- BL +000123 => x"bfbf", -- BL +000124 => x"3460", -- RET +000125 => x"c08f", -- LDIL +000126 => x"2121", -- AND +000127 => x"c089", -- LDIL +000128 => x"181a", -- CMP +000129 => x"8803", -- BCS +000130 => x"c0b0", -- LDIL +000131 => x"bc02", -- B +000132 => x"c0b7", -- LDIL +000133 => x"0892", -- ADD +000134 => x"3470", -- RET +000135 => x"4578", -- .DW +000136 => x"6365", -- .DW +000137 => x"7074", -- .DW +000138 => x"696f", -- .DW +000139 => x"6e2f", -- .DW +000140 => x"696e", -- .DW +000141 => x"7465", -- .DW +000142 => x"7272", -- .DW +000143 => x"7570", -- .DW +000144 => x"7420", -- .DW +000145 => x"6572", -- .DW +000146 => x"726f", -- .DW +000147 => x"7221", -- .DW +000148 => x"0000", -- .DW +000149 => x"5261", -- .DW +000150 => x"6e64", -- .DW +000151 => x"6f6d", -- .DW +000152 => x"204e", -- .DW +000153 => x"756d", -- .DW +000154 => x"6265", -- .DW +000155 => x"7220", -- .DW +000156 => x"4765", -- .DW +000157 => x"6e65", -- .DW +000158 => x"7261", -- .DW +000159 => x"746f", -- .DW +000160 => x"7200", -- .DW +000161 => x"456e", -- .DW +000162 => x"7465", -- .DW +000163 => x"7220", -- .DW +000164 => x"4c46", -- .DW +000165 => x"5352", -- .DW +000166 => x"2073", -- .DW +000167 => x"6565", -- .DW +000168 => x"6420", -- .DW +000169 => x"2834", -- .DW +000170 => x"6865", -- .DW +000171 => x"7829", -- .DW +000172 => x"3a20", -- .DW +000173 => x"3078", -- .DW +000174 => x"0000", -- .DW +000175 => x"456e", -- .DW +000176 => x"7465", -- .DW +000177 => x"7220", -- .DW +000178 => x"4c46", -- .DW +000179 => x"5352", -- .DW +000180 => x"2074", -- .DW +000181 => x"6170", -- .DW +000182 => x"7320", -- .DW +000183 => x"2834", -- .DW +000184 => x"6865", -- .DW +000185 => x"7829", -- .DW +000186 => x"3a20", -- .DW +000187 => x"3078", -- .DW +000188 => x"0000", -- .DW others => x"0000" -- NOP \ No newline at end of file Index: atlas_core/trunk/software/examples/random_numbers/boot_init.vhd =================================================================== --- atlas_core/trunk/software/examples/random_numbers/boot_init.vhd (revision 33) +++ atlas_core/trunk/software/examples/random_numbers/boot_init.vhd (revision 34) @@ -1,45 +1,45 @@ 000000 => x"cafe", -000001 => x"00be", -000002 => x"7740", -000003 => x"5241", -000004 => x"4e44", -000005 => x"4f4d", -000006 => x"5f4e", -000007 => x"554d", +000001 => x"00bd", +000002 => x"a78d", +000003 => x"524e", +000004 => x"445f", +000005 => x"4e55", +000006 => x"4d42", +000007 => x"4552", 000008 => x"bc0b", 000009 => x"bc04", 000010 => x"bc03", 000011 => x"bc02", 000012 => x"bc01", -000013 => x"be31", -000014 => x"c110", +000013 => x"be30", +000014 => x"c10e", 000015 => x"c901", 000016 => x"be21", -000017 => x"be2d", +000017 => x"be2c", 000018 => x"bc00", -000019 => x"c12c", +000019 => x"c12a", 000020 => x"c901", 000021 => x"be19", -000022 => x"c144", +000022 => x"c142", 000023 => x"c901", 000024 => x"be19", -000025 => x"be34", +000025 => x"be33", 000026 => x"ec4d", -000027 => x"be23", -000028 => x"c160", +000027 => x"be22", +000028 => x"c15e", 000029 => x"c901", 000030 => x"be13", -000031 => x"be2e", +000031 => x"be2d", 000032 => x"d24f", 000033 => x"ec4e", -000034 => x"be1c", +000034 => x"be1b", 000035 => x"c0b0", -000036 => x"be1f", +000036 => x"be1e", 000037 => x"c0f8", -000038 => x"be1d", +000038 => x"be1c", 000039 => x"ee05", -000040 => x"be4a", -000041 => x"be15", +000040 => x"be49", +000041 => x"be14", 000042 => x"ec20", 000043 => x"dc0f", 000044 => x"b9ea", @@ -49,151 +49,150 @@ 000048 => x"bc03", 000049 => x"29b3", 000050 => x"0270", -000051 => x"7829", -000052 => x"c080", -000053 => x"ccff", -000054 => x"2081", -000055 => x"3c98", -000056 => x"8003", -000057 => x"be0a", -000058 => x"bdf9", -000059 => x"03c0", -000060 => x"343b", -000061 => x"f707", -000062 => x"0170", -000063 => x"c08d", -000064 => x"be03", -000065 => x"c08a", -000066 => x"03a0", -000067 => x"ec22", -000068 => x"dc05", -000069 => x"b9fe", -000070 => x"ed18", -000071 => x"3470", -000072 => x"ec20", -000073 => x"dc8f", -000074 => x"b9fe", -000075 => x"c800", -000076 => x"3470", -000077 => x"0170", -000078 => x"c200", -000079 => x"c184", -000080 => x"bff8", -000081 => x"c0c6", -000082 => x"1809", -000083 => x"9003", -000084 => x"c0a0", -000085 => x"1001", -000086 => x"c0b0", -000087 => x"1809", -000088 => x"91f8", -000089 => x"c0c6", -000090 => x"1818", -000091 => x"91f5", -000092 => x"c0b9", -000093 => x"1818", -000094 => x"a404", -000095 => x"c0c1", -000096 => x"1809", -000097 => x"a1ef", -000098 => x"0080", -000099 => x"bfe0", -000100 => x"c030", -000101 => x"1090", -000102 => x"c009", -000103 => x"1809", -000104 => x"a402", -000105 => x"0497", +000051 => x"78a9", +000052 => x"3c90", +000053 => x"c880", +000054 => x"3419", +000055 => x"8003", +000056 => x"be0a", +000057 => x"bdfa", +000058 => x"03c0", +000059 => x"343b", +000060 => x"f707", +000061 => x"0170", +000062 => x"c08d", +000063 => x"be03", +000064 => x"c08a", +000065 => x"03a0", +000066 => x"ec22", +000067 => x"dc05", +000068 => x"b9fe", +000069 => x"ed18", +000070 => x"3470", +000071 => x"ec20", +000072 => x"dc8f", +000073 => x"b9fe", +000074 => x"c800", +000075 => x"3470", +000076 => x"0170", +000077 => x"c200", +000078 => x"c184", +000079 => x"bff8", +000080 => x"c0c7", +000081 => x"1809", +000082 => x"9003", +000083 => x"c0a0", +000084 => x"1001", +000085 => x"c0b0", +000086 => x"1809", +000087 => x"91f8", +000088 => x"c0c6", +000089 => x"1818", +000090 => x"91f5", +000091 => x"c0b9", +000092 => x"1818", +000093 => x"a404", +000094 => x"c0c1", +000095 => x"1809", +000096 => x"a1ef", +000097 => x"0080", +000098 => x"bfe0", +000099 => x"c030", +000100 => x"1090", +000101 => x"c009", +000102 => x"1809", +000103 => x"a402", +000104 => x"0497", +000105 => x"3e42", 000106 => x"3e42", 000107 => x"3e42", 000108 => x"3e42", -000109 => x"3e42", -000110 => x"2641", -000111 => x"05b9", -000112 => x"85e0", -000113 => x"3420", -000114 => x"0370", -000115 => x"3d42", +000109 => x"2641", +000110 => x"05b9", +000111 => x"85e0", +000112 => x"3420", +000113 => x"0370", +000114 => x"3d42", +000115 => x"3d22", 000116 => x"3d22", 000117 => x"3d22", -000118 => x"3d22", -000119 => x"be0f", -000120 => x"bfcb", -000121 => x"3d40", -000122 => x"be0c", -000123 => x"bfc8", -000124 => x"3d45", +000118 => x"be0f", +000119 => x"bfcb", +000120 => x"3d40", +000121 => x"be0c", +000122 => x"bfc8", +000123 => x"3d45", +000124 => x"3d25", 000125 => x"3d25", 000126 => x"3d25", -000127 => x"3d25", -000128 => x"be06", -000129 => x"bfc2", -000130 => x"0140", -000131 => x"be03", -000132 => x"bfbf", -000133 => x"3460", -000134 => x"c08f", -000135 => x"2121", -000136 => x"c089", -000137 => x"181a", -000138 => x"8803", -000139 => x"c0b0", -000140 => x"bc02", -000141 => x"c0b7", -000142 => x"0892", -000143 => x"3470", -000144 => x"4578", -000145 => x"6365", -000146 => x"7074", -000147 => x"696f", -000148 => x"6e2f", -000149 => x"696e", -000150 => x"7465", -000151 => x"7272", -000152 => x"7570", -000153 => x"7420", -000154 => x"6572", -000155 => x"726f", -000156 => x"7221", -000157 => x"0000", -000158 => x"5261", -000159 => x"6e64", -000160 => x"6f6d", -000161 => x"204e", -000162 => x"756d", -000163 => x"6265", -000164 => x"7220", -000165 => x"4765", -000166 => x"6e65", -000167 => x"7261", -000168 => x"746f", -000169 => x"7200", -000170 => x"456e", -000171 => x"7465", -000172 => x"7220", -000173 => x"4c46", -000174 => x"5352", -000175 => x"2073", -000176 => x"6565", -000177 => x"6420", -000178 => x"2834", -000179 => x"6865", -000180 => x"7829", -000181 => x"3a20", -000182 => x"3078", -000183 => x"0000", -000184 => x"456e", -000185 => x"7465", -000186 => x"7220", -000187 => x"4c46", -000188 => x"5352", -000189 => x"2074", -000190 => x"6170", -000191 => x"7320", -000192 => x"2834", -000193 => x"6865", -000194 => x"7829", -000195 => x"3a20", -000196 => x"3078", -000197 => x"0000", +000127 => x"be06", +000128 => x"bfc2", +000129 => x"0140", +000130 => x"be03", +000131 => x"bfbf", +000132 => x"3460", +000133 => x"c08f", +000134 => x"2121", +000135 => x"c089", +000136 => x"181a", +000137 => x"8803", +000138 => x"c0b0", +000139 => x"bc02", +000140 => x"c0b7", +000141 => x"0892", +000142 => x"3470", +000143 => x"4578", +000144 => x"6365", +000145 => x"7074", +000146 => x"696f", +000147 => x"6e2f", +000148 => x"696e", +000149 => x"7465", +000150 => x"7272", +000151 => x"7570", +000152 => x"7420", +000153 => x"6572", +000154 => x"726f", +000155 => x"7221", +000156 => x"0000", +000157 => x"5261", +000158 => x"6e64", +000159 => x"6f6d", +000160 => x"204e", +000161 => x"756d", +000162 => x"6265", +000163 => x"7220", +000164 => x"4765", +000165 => x"6e65", +000166 => x"7261", +000167 => x"746f", +000168 => x"7200", +000169 => x"456e", +000170 => x"7465", +000171 => x"7220", +000172 => x"4c46", +000173 => x"5352", +000174 => x"2073", +000175 => x"6565", +000176 => x"6420", +000177 => x"2834", +000178 => x"6865", +000179 => x"7829", +000180 => x"3a20", +000181 => x"3078", +000182 => x"0000", +000183 => x"456e", +000184 => x"7465", +000185 => x"7220", +000186 => x"4c46", +000187 => x"5352", +000188 => x"2074", +000189 => x"6170", +000190 => x"7320", +000191 => x"2834", +000192 => x"6865", +000193 => x"7829", +000194 => x"3a20", +000195 => x"3078", +000196 => x"0000", others => x"0000" \ No newline at end of file Index: atlas_core/trunk/software/examples/random_numbers/random_numbers.asm =================================================================== --- atlas_core/trunk/software/examples/random_numbers/random_numbers.asm (revision 33) +++ atlas_core/trunk/software/examples/random_numbers/random_numbers.asm (revision 34) @@ -112,14 +112,13 @@ mov r4, lr uart_print_loop: - ldr r0, r2, +#1, post, ! ; get one string byte - ldil r1, #0x00 ; upper byte mask - ldih r1, #0xFF - and r1, r0, r1 - sfts r1, r1, #swp ; swap bytes and test if zero - beq uart_print_loop_end - bl uart_sendbyte - b uart_print_loop + ldr r1, r2, +#1, post, ! ; get one string byte + sft r1, r1, #swp ; swap high and low byte + ldih r1, #0x00 ; clear high byte + teq r1, r1 ; test if string end + beq uart_print_loop_end + bl uart_sendbyte + b uart_print_loop uart_print_loop_end: mov lr, r4 @@ -187,7 +186,7 @@ bl uart_receivebyte ; get one char ; convert to higher case - ldil r1, #'F' + ldil r1, #'G' ; = 'F' +1 cmp r0, r1 bmi #+3 ; skip decrement ldil r1, #32 ; -> to lower case
/atlas_core/trunk/software/examples/random_numbers/out.bin Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream

powered by: WebSVN 2.1.0

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