MESH1D - Automatic generation of entity lists.
See also MeshnD
Syntax
MESH1D name (
ENTITY_TYPE ( entity_type )
SIZE1( size )
NO_LINKS( 1 | 2 )
WRAP( 0 | 1 )
DESCRIPTION( "description" )
PARAMS( ref_parameters, ... )
)
Synopsis
The MESH1D constructor creates a 1-dimensional array of entities.
- name str - The name of the array to be created.
- entity_type str - The type name of the entity to be used to create the array.
The entity must have at least two or four (depending upon the number of links) ports
and must have previously been defined in the entity library.
- size int - The number of entities in the array.
- no_links 1 or 2 - This is indicates whether two links or
one should be used to connect together the entities. If one link is required,
the entity must have at least one source port and one destination port. If two links
are required then the entity to be used should have at least two source ports and
two destination ports.
- wrap 0 or 1 - This is used to indicate whether the two end
entities in the array should be joined together. A 1 indicates that they should,
and a 0 that they shouldn't. If this component is omitted then it is assumed to be 0.
- description str - A description of an aspect of the array entity created.
- ref_parameters - This section of the 1-dimensional array entity
definition describes the parameters that are associated with it.
See reference parameters section.
Automatic generation of links and naming.
The role of ports (SOURCE, DESTINATION) of the
basic entity is 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.
All generated entities are named _0_ , _1_ , ... , _SIZE1-1_.
ELF Description
In the .elf file, optional information may be provided with the position of the entity.
For Mesh1D, one can add information about SPACING between contained entities and DIRECTION.
Where SPACING has to be an integer and DIRECTION, if present,
must be either HORIZONTAL or VERTICAL.
This information used to be declared in the .edl description. This information must now be declared in the
EL description.
Moreover, some EL information is automatically generated.
The forwarding SOURCE port are set to be graphically displayed on
the RIGHT part for HORIZONTAL meshes, or on the BOTTOM part for VERTICAL meshes.
The backward SOURCE port (if no_links equals 2) are displayed on the
LEFT part for HORIZONTAL meshed, or on the TOP part for VERTICAL meshed.
And vice-versa for DESTINATION port.
When the wrap flag is set, the LINKCORNER information is also generated.
Example
With this EDL description :
ENTITYLIB (
ENTITY sender (
DESCRIPTION ("sender")
PARAMS ( )
PORTS (
PORT ( un, t_readLink, SOURCE)
PORT ( deux, t_readLink, DESTINATION)
PORT ( trois, t_readLink, DESTINATION)
PORT ( quatre, t_readLink, SOURCE)
)
)
MESH1D six (
ENTITY_TYPE (sender)
SIZE1 (6)
NO_LINKS(2)
WRAP(1)
DESCRIPTION("list of six sender entity")
PARAMS()
)
)
STRUCTURE(
-- List of entity instances in top-level model
AENTITY sender SEND ( DESCRIPTION("single entity") )
AENTITY six SIX ( DESCRIPTION("first list entity") )
AENTITY six SIX2 ( DESCRIPTION("second list entity") )
)
)
and this ELF code:
SIX : position (10,10) 100 HORIZONTAL
SIX2 : position(10, 65) 50 VERTICAL
SEND : position (500,300)
one will obtain the following result:
Frederic Mallet
Last modified: Tue Nov 20 15:32:52 GMT 2001