ASCII text files (with the prefix memory) that specify the initialization data for each address in the memory regions in the Excalibur embedded processor stripe of an ARM®-based Excalibur device. These files are used as input files for memory initialization in the Simulator.
The following simulator initialization files are created automatically every time you generate flash programming files with the Software Builder, or passive programming files with the Compiler or Software Builder:
File Name
|
File contents
|
Memory.regs | Register initialization data |
Memory.sram0 | SRAM0 initialization data |
Memory.sram1 | SRAM1 initialization data |
Memory.dpram0 | DPRAM0 initialization data |
Memory.dpram1 | DPRAM1 initialization data |
|
Values in simulator initialization files use the following format:
[<radix>
]
<address>[:|-
<end_address>]/[
<radix>]
<initialization_data>;
The following table describes the variables in the value format:
<radix> | The base format of the memory region address(es) or initialization data. You can use the following number base notation:
The memory region addresses and the initialization data in a value can have different number bases. If you do not specify a number base, the Quartus II software uses the hexadecimal number base by default. |
||||||||
<address> | The address of the memory region for which you are specifying initialization data, or, if the region is a range of addresses, the beginning address for the region. | ||||||||
<end_address> | If the memory region is a range of addresses, the end address for the region. | ||||||||
<initialization_data> | The initialization data for the memory region. |
You can add a comment to a simulator initialization file using the the pound sign (#
). All
information from the pound sign to the end of the line is treated as a comment.
The following code shows examples of values in simulator initialization files. In these examples, the memory region is 8 bits wide.
0:3/0; #Address range separated by colon 4-6/0; #Address range separated by hyphen d7/'b10101110; #Address and data using different number base 10/0; 11/`b10000000; #Line contains two values 12:1e/'HxF; `d31/`hX8; #Information in value not case-sensitive 20:7FF/4; #Remaining addresses loaded with 00000100
The following code is an example of the Memory.regs file:
0/080fff00001; # MMAP registers 1/09030000981; 2/09440000981; 3/0a070000981; 4/0a480000981; 5/0b050000981; 6/0b460000981; 7/0c000000981; # EBI 0 mapped at 0 for booting 8/0c4a0000981; 9/0d010000d81; 'd10/0d420000d83; b/30400000404; # Clock control c/30C00000245; d/31400000302; e/31C00000245; f/32000000010; 10/04400000002; # EBI I/O control
The following code is an example of the Memory.sram0 file. This example specifies four initial values at the addresses 0, 0x2000, 0x4000, 0x6000 (the byte addresses 0, 0x8000, 0x10000, 0x18000).
0/00000000; 1/00000004; 2/00000008; 3/0000000c; 2000/00002000; 2001/00002004; 2002/00002008; 2003/0000200c; 4000/00004000; 4001/00004004; 4002/00004008; 4003/0000400c; 6000/00006000; 6001/00006004; 6002/00006008; 6003/0000600c;
- PLDWorld - |
|
Created by chm2web html help conversion utility. |