PROCTYPE statement

Top  Previous  Next

The PROCTYPE statement allows you to define custom hardware, and simplifies supporting additional COTS boards. It also allows user-defined processor types to be derived from existing types. The general form of the PROCTYPE statement is as follows:

 

PROCTYPE new old ["{" {attributes} "}", {attributes}]

 

The simplest use of this facility is to define an alias for an existing processor type:

 

proctype  xxx   existing_type

processor root  xxx

processor node1 xxx

processor node2 xxx

 

Changing the single definition of xxx would change the meaning of all subsequent PROCESSOR declarations using the xxx type. PROCTYPE declarations may also introduce new processor types based on existing types but differing in some attributes. For example, this declares a new type like an old type except for processor clock speed:

 

proctype new old clock=300

 

The attributes permitted in a given PROCTYPE declaration differ according to the base processor type. For most C6000 processor types, however, the following attributes are permitted in a PROCTYPE declaration:

 


Attribute

Use


AVOID=

Prevent Diamond from using a particular block of memory.


CACHE= 

Enable or disable the cache. Specify the size of cache to use.


CLEARMEM

Undo the effect of all existing MEM attributes


CLOCK=

Specify CPU clock speed in MHz


FORMAT=

†Internal use only: specify configurer output file format


KERNEL=

Specify Diamond kernel file to be used for this processor


MAP=

†Identify kernel module


MEM=

Declare a block of external memory attached to this processor

 

All of these attributes, except those marked , can also be specified in a PROCESSOR statement: if specified both in a PROCTYPE and in a PROCESSOR statement using the processor type, the definition given in the PROCESSOR statement replaces or augments the definition in the PROCTYPE, as appropriate. This is also true when one PROCTYPE is defined in terms of another PROCTYPE.

 

There are other attributes that determine the available links and attachment properties; these are intended to be used only by 3L and are not suitable for general users.