Reference parameters
This section of the document does not relate directly to a section of the EDL description of the project.
Instead it describes the declaration of reference parameters which are used to create variables of a
previously defined (or HASE supplied) type.
RINT ( instance_name, initial_value, HIDE)
RFLOAT ( instance_name, initial_value, HIDE)
RUINT ( instance_name, initial_value, HIDE)
RCHAR ( instance_name, 'initial_char', HIDE)
RSTRING ( instance_name, "initial_string", HIDE)
RRANGE ( instance_name, min, max, initial_value, HIDE)
RENUM ( typename, instance_name, initial_value, HIDE)
RSTRUCT ( typename, instance_name, HIDE)
RINSTR ( typename, instance_name, HIDE)
RBIT ( typename, instance_name, initial_value, HIDE)
RLINK ( typename, instance_name, HIDE)
RARRAY ( typename, instance_name, no_of_elements,
HIDE)
typename: str - The name of the type to be used (ENUM for RENUM, BIT for RBIT, ...).
instance_name: str - The instance name of the parameter to be created.
initial_value: int - The initial value of the parameter.
HIDE: - If this component is included in the parameter specification then the parameter
will not be displayed in the animation. It is most commonly used when the reference parameter is part
of a structure to enable parts of the structure to be hidden when messages are sent.
rInt - Reference Integer Parameter
- RINT ( instance_name, initial_value, HIDE)
The RINT declaration enables the user to create integer parameters. Note that there is no
corresponding INT definition in the parameter library, as with the reference parameters covered so far.
This is because 'integer' is a standard type and is known to HASE. For this reason no type name is
supplied to the RINT constructor.
Example:
RINT ( clockPeriod, 10 )
rFloat - Reference Floating-Point Parameter
- RFLOAT ( instance_name, initial_value, HIDE)
The RFLOAT construct provides a mechanism for creating floating-point variables in an architecture
definition. There is no floating-point equivalent construct in the parameter library as, like integers,
floating-point is a type known by HASE. For this reason no type name is supplied to the RFLOAT
constructor.
Example:
RFLOAT ( Average_Access_Time, 3.4 )
rUint - Reference Unsigned Integer Parameter
- RUINT ( instance_name, HIDE)
The RUINT declaration enables the user to create unsigned integer parameters.
Note that there is no corresponding UINT definition in the parameter library,
as with the reference parameters covered so far. This is because 'unsigned' is a standard type and is
known to HASE. For this reason no type name is supplied to the RUINT constructor.
Example:
RUINT ( memory_size, 12 )
rChar - Reference Character Parameter
- RCHAR ( instance_name, 'initial_char', HIDE)
The RCHAR declaration enables the user to create character parameters.
Note that there is no corresponding CHAR definition in the parameter library,
as with the reference parameters covered so far. This is because 'char' is a standard type and is
known to HASE. For this reason no type name is supplied to the RCHAR constructor.
Example:
RCHAR ( mode, 'a' )
rString - Reference String Parameter
- RSTRING ( instance_name, "initial_string", , HIDE)
The RSTRING declaration provides a method of creating string parameters. There is no
STRING equivalent construct in the parameter library as, like integers, strings is a type known by HASE.
For this reason no type name is supplied to the RSTRING constructor.
Example:
RSTRING ( Cache_Associativity, "Fully_Associative" )
rRange - Reference Range Parameter
- RRANGE ( instance_name, min, max, initial_value, HIDE)
The RRANGE construct provides a mechanism for creating an integer parameter the value of which
is constrained within a boundaries. The initial default value is set to initial_value.
The graphical interfaces will not allow this parameter to be set with values outwith the range
defined by min and max boundaries. Although animation and experiment tools may
prompt a warning message in case of out of bounds definition, there is no automatic checking
during the simulation.
Example:
RRANGE ( access_time, 1, 10, 5 )
rEnum - Reference Enumerated Type Parameter
- RENUM ( typename, instance_name, initial_state, HIDE)
The RENUM declaration provides a mechanism for creating variables of an enumerated type
(ENUM)previously defined
in the parameter library.
If the enumerated parameter is to be displayed as a port icon, then the instance name should start
with port and end with the name of the port to be changed. For example if an entity has a port named
OUT then the parameters instance name should be portOUT.
Example:
RENUM ( cache_state, secondary_cache, 0 )
rStruct - Reference Structure Parameter
- RSTRUCT ( typename, instance_name, HIDE)
The RSTRUCT declaration allows the creation of instances (variables) of a structure
(STRUCT)previously defined in the parameter library.
Example:
RSTRUCT ( Data_Packet, message )
rInstr - Reference Instruction Parameter
- RINSTR ( typename, instance_name, HIDE)
The RINSTR declaration gives a method of creating instances of an instruction set
(INSTR) previously defined in the parameter library.
Example:
RINSTR ( instr_set, SPARC_Instruction_Set )
rBit - Reference Bit Parameter
- RBIT ( typename, instance_name, initial_value, HIDE)
The RBIT declaration allows a parameter to be created from a bit type
(BIT) previously defined in the parameter library.
Example:
RBIT ( Register_Contents, program_counter, 0 )
rLink - Reference Link Parameter
- RLINK ( typename, instance_name, HIDE )
The RLINK construct enables the creation of a link parameter of a type
(LINK) defined earlier in the parameter library.
Example:
LINK ( DLink, link_data )
rArray - Reference Array Parameter
- RARRAY ( typename, instance_name, no_of_elements, HIDE )
The RARRAY construct provides a mechanism for declaring parameters of an array type
(ARRAY) previously defined in the parameter library.
Example:
RARRAY ( Memory, main_memory, 65536 )
Frederic Mallet
Last modified: Fri Nov 22 14:32:43 GMT 2002