The read/write accessability of an addess block.
'serial' or 'parallel' bank alignment.
Describes the usage of an address block.
Denotes an address range that can be used for read-write or read-only data storage.
Denotes an address block that is used to communicate with hardware.
Denotes an address range that must remain unoccupied.
A reference to a unique address space.
A reference to a unique memory map.
Describes whether this bank's blocks are aligned in 'parallel' or 'serial'.
For subspaceMap elements, this attribute identifies the master that contains the address space to be mapped.
Refernce to a segment of the addressSpace of the masterRef attribute.
Top level bank the specify an address
Top level address block that specify an address
Base type for an element which references an address space. Reference is kept in an attribute rather than the text value, so that the type may be extended with child elements if necessary.
Base type for an element which references an memory map. Reference is kept in an attribute rather than the text value, so that the type may be extended with child elements if necessary.
Banks nested inside a bank do not specify address.
Address blocks inside a bank do not specify address.
Subspace references inside banks do not specify an address.
Any parameters that may apply to the subspace reference.
A field within a register
Offset of this field's bit 0 from bit 0 of the register.
A group elements for a memoryMap
Maps in an address subspace from across a bus bridge. Its masterRef attribute refers by name to the master bus interface on the other side of the bridge. It must match the masterRef attribute of a bridge element on the slave interface, and that bridge element must be designated as opaque.
Map of address space blocks on slave slave bus interface.
Additional memory map elements that are dependent on the component state.
Map of address space blocks on a slave bus interface in a specific remap state.
State of the component in which the memory map is active.
Map of address space blocks on the local memory map of a master bus interface.
Address subspace type. Its subspaceReference attribute references the subspace from which the dimensions are taken.
Any parameters that may apply to the subspace reference.
Any parameters that may apply to the subspace reference.
Indicates whether the data is volatile.
Indicates the accessibility of the data in the address bank, address block, register or field. Possible values are 'read-write', 'read-only', 'write-only', 'writeOnce' and 'read-writeOnce'. If not specified the value is inherited from the containing object.
This is a single contiguous block of memory inside a memory map.
References the address space. The name of the address space is kept in its addressSpaceRef attribute.
If this component is a bus master, this lists all the address spaces
defined by the component.
This defines a logical space, referenced by a bus master.
Address segments withing an addressSpace
Address segment withing an addressSpace
Address offset of the segment within the containing address space.
The address range of asegment. Expressed as the number of addressable units accessible to the segment.
Provides the local memory map of an address space. Blocks in this memory map are accessable to master interfaces on this component that reference this address space. They are not accessable to any external master interface.
Data specific to this address space.
References the memory map. The name of the memory map is kept in its memoryMapRef attribute.
Lists all the slave memory maps defined by the component.
The set of address blocks a bus slave contributes to the bus' address space.
Represents a bank of memory made up of address blocks or other banks. It has a bankAlignment attribute indicating whether its blocks are aligned in 'parallel' (occupying adjacent bit fields) or 'serial' (occupying contiguous addresses). Its child blocks do not contain addresses or bit offsets.
Base of an address block, bank, subspace map or address space. Expressed as the number of addressable units from the containing memoryMap or localMemoryMap.
The number of data bits in an addressable unit. The default is byte addressable (8 bits).
This is a group of optional elements commonly added to various types of address blocks in a memory map.
This group of elements describes an absolute or relative address of an address block in a memory map.
Note that this is a group, not an element. It does not appear in the XML, but its contents may.
This group of elements is common to top level banks and banked banks.
An address block within the bank. No address information is supplied.
A nested bank of blocks within a bank. No address information is supplied.
A subspace map within the bank. No address information is supplied.
This group of elements describes the number of addressable units and the width of a row of an address block in a memory map.
Note that this is a group, not an element. It does not appear in the XML, but its contents may.
The address range of an address block. Expressed as the number of addressable units accessible to the block. The range and the width are related by the following formulas:
number_of_bits_in_block = spirit:addressUnitBits * spirit:range
number_of_rows_in_block = number_of_bits_in_block / spirit:width
The bit width of a row in the address block. The range and the width are related by the following formulas:
number_of_bits_in_block = spirit:addressUnitBits * spirit:range
number_of_rows_in_block = number_of_bits_in_block / spirit:width
This group of optional elements can be used to provide additional descriptions to an address block or bank.
Note that this is a group, not an element. It does not appear in the XML, but its contents may.
Indicates the usage of this block. Possible values are 'memory', 'register' and 'reserved'.
Any additional parameters needed to describe this address block to the generators.
This group of optional elements describes the memory mapped registers of an address block
A single register
Dimensions a register array, the semantics for dim elements are the same as the C language standard for the layout of memory in multidimensional arrays.
Offset from the address block's baseAddress or the containing register file's addressOffset, expressed as the number of addressUnitBits from the containing memoryMap or localMemoryMap.
Alternate definitions for the current register
Alternate definition for the current register
Defines a list of grouping names that this register description belongs.
Defines a grouping name that this register description belongs.
A structure of registers and register files
Enumerates specific values that can be assigned to the bit field.
Enumerates specific values that can be assigned to the bit field. The name of this enumerated value. This may be used as a token in generating code.
Enumerated bit field value.
Usage for the enumeration. 'read' for a software read access. 'write' for a software write access. 'read-write' for a software read or write access.
This type is used to specify a value and optional mask that are configurable
Additional field data
Indicates whether the data is volatile. The presumed value is 'false' if not present.
If present this element describes the modification of field data caused by a write operation. 'oneToClear' means that in a bitwise fashion each write data bit of a one will clear the corresponding bit in the field. 'oneToSet' means that in a bitwise fashion each write data bit of a one will set the corresponding bit in the field. 'oneToToggle' means that in a bitwise fashion each write data bit of a one will toggle the corresponding bit in the field. 'zeroToClear' means that in a bitwise fashion each write data bit of a zero will clear the corresponding bit in the field. 'zeroToSet' means that in a bitwise fashion each write data bit of a zero will set the corresponding bit in the field. 'zeroToToggle' means that in a bitwise fashion each write data bit of a zero will toggle the corresponding bit in the field. 'clear' means any write to this field clears the field. 'set' means any write to the field sets the field. 'modify' means any write to this field may modify that data. If this element is not present the write operation data is written.
The legal values that may be written to a field. If not specified the legal values are not specified.
A list of possible actions for a read to set the field after the read. 'clear' means that after a read the field is cleared. 'set' means that after a read the field is set. 'modify' means after a read the field is modified. If not present the field value is not modified after a read.
Can the field be tested with an automated register test routine. The presumed value is true if not specified.
Constraint for an automated register test routine. 'unconstrained' (default) means may read and write all legal values. 'restore' means may read and write legal values but the value must be restored to the initially read value before accessing another register. 'writeAsRead' has limitations on testability where only the value read before a write may be written to the field. 'readOnly' has limitations on testability where values may only be read from the field.
A constraint on the values that can be written to this field. Absence of this element implies that any value that fits can be written to it.
writeAsRead indicates that only a value immediately read before a write is a legal value to be written.
useEnumeratedValues indicates that only write enumeration value shall be legal values to be written.
The minimum legal value that may be written to a field
The maximum legal value that may be written to a field
A structure of registers and register files
Dimensions a register array, the semantics for dim elements are the same as the C language standard for the layout of memory in multidimensional arrays.
Offset from the address block's baseAddress or the containing register file's addressOffset, expressed as the number of addressUnitBits from the containing memoryMap or localMemoryMap.
Field definition specific information
Identifier name used to indicate that multiple field elements contain the exact same information for the elements in the fieldDefinitionGroup.
Width of the field in bits.
Register file defnition specific information
Identifier name used to indicate that multiple registerFile elements contain the exact same information except for the elements in the registerFileInstanceGroup.
The range of a register file. Expressed as the number of addressable units accessible to the block. Specified in units of addressUnitBits.
Address block definition specific information
Identifier name used to indicate that multiple addressBlock elements contain the exact same information except for the elements in the addressBlockInstanceGroup.
Register definition specific information
Identifier name used to indicate that multiple register elements contain the exact same information for the elements in the registerDefinitionGroup.
Width of the register in bits.
Register value at reset.
The value itself.
Mask to be anded with the value before comparing to the reset value.
Describes individual bit fields within the register.
Alternate register file defnition specific information
Identifier name used to indicate that multiple register elements contain the exact same information for the elements in the alternateRegisterDefinitionGroup.
Register value at reset.
The value itself.
Mask to be anded with the value before comparing to the reset value.
Describes individual bit fields within the register.