MESH1D - 1-dimensional array of entities

Synopsis

The MESH1D constructor is a special type of COMPENTITY which creates a 1-dimensional array of copies of a (previously defined) entity. e.g.

4-PE mesh

Syntax

MESH1D [OBJECT] name (
ENTITY_TYPE ( entity_type )
SIZE1( size )
NO_LINKS( 1 | 2 )
WRAP( 0 | 1 )
DESCRIPTION( "description" )
PARAMS( ref_parameters, ... )
)

Links Between Entities

The ports (SOURCE, DESTINATION) of the basic entity are used to generate automatic links between generated entities. For each entity, the first DESTINATION port is connected to the first SOURCE port of the previous entity. If no_links equals 2, then a second link is created from the second SOURCE port of the current entity to the second DESTINATION port of the previous entity.

Example

The 4 processing element mesh shown above was produced using the following definitions:

ENTITYLIB (
ENTITY PE1 (
DESCRIPTION ("Processing Element")
STATES (PE1_NORMAL)
PARAMS ()
PORTS (
PORT ( to_right, l_int, SOURCE)
PORT ( from_right, l_int, DESTINATION)
PORT ( to_left, l_int, SOURCE)
PORT ( from_left, l_int, DESTINATION)
)
);
MESH1D simd1(
ENTITY_TYPE (PE1)
SIZE1 (4)
NO_LINKS(2)
WRAP(1)
DESCRIPTION("1-dimensional array")
PARAMS()
)
)
STRUCTURE (
AENTITY simd1 SIMD1 (DESCRIPTION("1D SIMD") )
)

Screen Layout

Some of the screen layout information is generated automatically. Thus the forwarding SOURCE ports are set to be graphically displayed on the right of the child entities for horizontal meshes, or on the bottom for vertical meshes. The backward SOURCE ports (if no_links equals 2) are displayed on the left of the child entities for horizontal meshes, or on the TOP for vertical meshes (and vice-versa for DESTINATION ports).

When the wrap flag is set, the LINKCORNER information is also generated.

Some optional information may also be added after the position information in the project definition, an integer specifying the spacing between the CHILD entities and HORIZONTAL (the default) or VERTICAL to indicate the dimension into which the child entities are to be expanded, e.g. for the example given above, the layout definition is:

SIMD1 : position (20,30) 90

Entity Names

Entities generated in this example are named:

PE1_0_, PE1_1_, ... , PE1_SIZE1-1_