metaonly interface xdc.platform.ICpuDataSheet

CPU information provided by the HW model

The information in this interface is read-only, defined by the chip's data sheet, and is obtained by naming a module in a package that implements this interface. [ more ... ]
XDCspec summary sourced in xdc/platform/ICpuDataSheet.xdc
metaonly interface ICpuDataSheet {  ...
instance:  ...
XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
DETAILS
The information in this interface is read-only, defined by the chip's data sheet, and is obtained by naming a module in a package that implements this interface.
Data sheets are created by platforms as part of creating an "execution context" (see xdc.platform.IPlatform.getExeContext). This execution context includes the CPU's memory map as well as any external memory provided by the platform itself, for example.
 
per-instance config parameters

XDCscript usage meta-domain
var params = new ICpuDataSheet.Params;
// Instance config-params object
    params.cpuCore = String undefined;
    // A string identifying the CPU Core
    params.cpuCoreRevision = String undefined;
    // A string that uniquely identifies a revision of the core
    params.dataWordSize = Int undefined;
    // The size of an int on the target in 8-bit bytes
    params.minDataUnitSize = Int undefined;
    // The minimum addressable data unit size in 8-bit bytes
    params.minProgUnitSize = Int undefined;
    // The minimum addressable program unit size in 8-bit bytes
 
config ICpuDataSheet.cpuCore  // per-instance

A string identifying the CPU Core

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
config String cpuCore;
 
DETAILS
This uniquely identifies the instruction set that the CPU can decode and execute.
 
config ICpuDataSheet.cpuCoreRevision  // per-instance

A string that uniquely identifies a revision of the core

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
config String cpuCoreRevision;
 
 
config ICpuDataSheet.dataWordSize  // per-instance

The size of an int on the target in 8-bit bytes

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
config Int dataWordSize;
 
 
config ICpuDataSheet.minDataUnitSize  // per-instance

The minimum addressable data unit size in 8-bit bytes

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
config Int minDataUnitSize;
 
 
config ICpuDataSheet.minProgUnitSize  // per-instance

The minimum addressable program unit size in 8-bit bytes

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
config Int minProgUnitSize;
 
 
per-instance creation

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
create( String revision );
// Create an instance-object
ARGUMENTS
revision — a string that identifies revision of the CPU to be created.
DETAILS
A "data sheet" for a CPU allows one to get specific attributes for a CPU programatically; e.g., the memory map of the CPU.
Notice that we don't specify CPU registers when we create a a data-sheet; registers are provided as necessary to the other functions defined in this interface. This allows one to more easily get memory maps for several different setting of the registers, for example.
 
ICpuDataSheet.getMemoryMap( )  // per-instance

Get the memory map that corresponds to the values of the specified registers

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
function getMemoryMap( registers );
 
ARGUMENTS
registers — a hash of named registers to values at the time an executable is to be loaded (for example)
DETAILS
If a register is not specified and this register can affect the memory map, the register is assumed to be set to its reset value (the value of the register immediately after a CPU reset).
RETURNS
Returns an array of xdc.platform.IPlatform.Memory objects that represent the memory visible to an executable running on the CPU.
 
ICpuDataSheet.getRegisterSet( )  // per-instance

The set of valid register names for this CPU

XDCspec declarations sourced in xdc/platform/ICpuDataSheet.xdc
function getRegisterSet( );
 
DETAILS
This function returns the complete set of register names that may be passed to the getMemoryMap() function. This function is only used to enable one to write a "requires contract" for the getMemoryMap() function.
RETURNS
Returns an array of valid register names (strings) for this device; only names from this array are valid keys for the registers argument to getMemoryMap().
generated on Sat, 01 Aug 2009 01:23:34 GMT