Search
»»»Home «««
Framework
Screenshots
FAQ
»»»TELL «««
Types
Operators
Functions
Example
»»»Toped «««
Database
Cells
Add
Select
Edit
Properties
Rendering
GUI
Miscellaneous
»»»Ifaces «««
GDSII
OASIS
CIF
DRC

Canvas setup

The functions in this group are related to the editor itself, not to the database. They are used to facilitate the user input and to parametrize the graphic view of the design. As a rule the commands described in this section are not changing or altering the data base. It is legal to include them in user defined TELL functions, and the purpose will be to parametrize the editor itself and mainly its graphical window - the canvas.

definecolor

Defines TOPED color Toped uses the RGBA color scheme as defined in openGL. This function defines a color, associating a color name with color properties.

[Tip]void definecolor(name, red, green, blue, alpha)
string name
case sensitive name of the color definition. Toped does not control whether it corresponds to the actual color (in its common understanding).
int red, green, blue
byte values, defining the corresponding color channels
int alpha
byte value, defining the transparency

Example 1. definecolor

   definecolor("yellow"    , 255, 255,   0, 178);
   definecolor("darkCyan"    ,   0, 127, 127, 178);

top

definefill

Defines TOPED fill pattern Toped uses fill patterns for visualization of the objects. This function associates a name with a pattern.

[Tip]void definefill(name,pattern)
string name
case sensitive name of the fill pattern
int list pattern
is expected to be a list of 128 integers in the range of 0-128. Each integer defines 8 points, in result we have a single plane bitmap with a size 32x32.

Example 2. definefill

   int list diagPatrnForw = {
      0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02,
      0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08,
      0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20,
      0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
      0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02,
      0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08,
      0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20,
      0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
      0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02,
      0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08,
      0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20,
      0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80,
      0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02,
      0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08,
      0x10, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20,
      0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80 };

   definefill("diagPatrnForw" , diagPatrnForw   );

top

defineline

Defines TOPED line style Toped uses different line styles to visualize selected and partially selected objects. A line style can be defined using this function.

[Tip]void defineline(name, color, pattern, pat_scale, width)
string name
case sensitive name of the line definition.
string color
the color name - must be already defined. Empty string is allowed to select the layer color.
int pattern
16 points of a line - each of them represented by the corresponding bit of the integer value. Positive value smaller than 2^16 is expected.
int pat_scale
pattern scale. When a line is composed, each of the bits defined by the pattern variable will be multiplied pat_scale times. A byte value is expected here.
int line
byte value, defining the line width

Example 3. defineline

   defineline("selected1", "", 0x5555,   5  ,   5);

top

layprop

Define the properties of a layer This function defines Toped layer and associates a layer number and name with graphical properties. The editor uses these properties to visualize the shapes belonging to a certain layer. Layer definition affects the way that shapes will be shown in the graphical window. It does not by any means change the data base. This is to say that if database contains shapes on undefined layers, they at most will not be available for interactive operations in Toped. Nevertheless TELL is perfectly able to deal with them as long as all layout related TELL functions are using simply the layer number. In other words this function provides some convenience to Toped users.

[Tip]void layprop(name, number, color, fill, select_line)
string name
case sensitive name of the layer
int number
the layer number (like GDS layer number, but up to 65535). 0 is predefined internally and should not be used.
string color
the color name - must be already defined. Empty string is allowed for default color. The color name is case sensitive.
string fill
the pattern name - must be already defined. Empty string is allowed to state empty fill. The pattern name is case sensitive.
string select_line
the line name - must be already defined. Empty string is allowed to state default line style. The line style name is case sensitive. Selected objects and edges will be drawn using this line style.

Example 4. layprop

   layprop("NWELL"      ,1  ,"yellow"      ,"Dots1"            ,"SelectedL");
   layprop("ACTIVE"     ,2  ,"blue"        ,"diagStripeBack"   ,"");
   layprop("TEXT"       ,61 ,"yellow"      ,""                 ,"axis_line");

[Note]Note

Function definition changed in rev. 0.85

top

hidelayer

Hide / show Toped layer. Hidden layers are automatically locked to prevent unintentional change of the shapes that are not visualized. Current layer cannot be hidden. By default all layers are visible. All functions of this type use layer number as an input argument.

[Tip]hidelayer …

void hidelayer(layer_number, hide)

void hidelayer(layer_list, hide)

int layer_number
the layer to hide/show.
word list layer_list
the list of layers to hide/show.
bool hide
true to hide the layer, false to show it.

Example 5. hidelayer

   hidelayer({5, 6, 8, 9}, true);
   hidelayer(7, false);

top

locklayer

Lock / unlock Toped layer. Using this function all shapes that belong to a certain layer of the current cell, can be locked e.g. made unavailable for select and edit operations. Current layer cannot be locked. By default all layers are not locked. All functions of this type use layer number as input argument.

[Tip]locklayer …

void locklayer(layer_number, lock)

void locklayer(layer_list, lock)

int layer_number
the layer to lock/unlock.
word list layer_list
the list of layers to lock/unlock.
bool lock
true to lock the layer, false to unlock it.

Example 6. locklayer

   locklayer(8, true);
   locklayer({9, 10, 12, 15}, false);

top

filllayer

Switch the fill pattern rendering on/off on a given layer. By default the layer is filled if it was defined with a non-empty fill pattern by layprop. If the fill pattern was not defined for the layer and fill was forced on by this functions then the default fill pattern will be used. All functions of this type use layer number as input argument.

[Tip]filllayer …

void filllayer(layer_number, fill_on)

void filllayer(layer_list, fill_on)

int layer_number
the layer to fill/unfill.
word list layer_list
the list of layers to fill/unfill.
bool fill_on
fill pattern rendering switch

Example 7. filllayer

   filllayer(7, true);
   filllayer({8, 9, 12, 13}, false);

top

usinglayer

Set the default active layer This function selects the default (current) target layer for the new shapes. The default layer can be neither hidden nor locked, that is why this function cancels automatically those properties for the layer if they are active. Only one layer can be active in certain moment.

[Tip]usinglayer …

void usinglayer(layer_number)

void usinglayer(layer_name)

int layer_number
the GDS layer number of the layer that is about to became current
string layer_name
the layer name of the layer that is about to became current

Example 8. usinglayer

   usinglayer(5);
   usinglayer("METAL1");

top

savelayerstatus

Save the current status of all defined layers and associates a name with it. The layer status is determined by functions hidelayer locklayer and filllayer, thus three boolean states are stored for each layer: locked, hidden, filled. Additionally the current active layer set by the last usinglayer function is also stored.

[Tip]savelayerstatus( lay_set_name);
string layset_name
the name associated with the current layer status

top

restorelaystatus

Restores layer status set previously saved using savelayerstatus function. This function should help to switch quickly between different sets of layers without having to change the layer visibility etc. for every layer.

[Tip]restorelayerstatus( lay_set_name);
string layset_name
the name associated with the layer status to be restored

Example 9. restorelaystatus

   savelaystatus("routing_only");
   // ... do something else, hide/lock/fill layers
   restorelaystatus("routing_only");

top

deletelaystatus

Deletes a layer status set previously saved using savelayerstatus function. This function shall be used as a good practice - to free some resources when they are not usable anymore.

top

definegrid

Define a grid step Defines grid properties that Toped has to use to cover the graphic window with a certain grid. Toped maintains up to 3 grid sets that can be activated using grid command.

[Tip]void definegrid(grid_number, step, color)
int grid_number
the number of the grid set. Value between 0 - 2 expected
real step
the step of the grid - defined in user units
string color
the color name to be used to draw the grid. Color must be already defined using definecolor command.

Example 10. definegrid

   definegrid(1,0.25,"yellow");

top

grid

Show / hide a grid set This function is used to activate or hide certain grid set.

[Tip]void grid(grid_number, show)
int grid_number
the number of the grid set. Value between 0 - 2 expected.
bool show
true to show the grid, false to hide it.

Example 11. grid

   grid(1,true);
   grid(0,false);

top

step

Define the drawing step All interactive edit/select operations receive coordinates that are multiply on the current graphic marker step. This function defines this step. It has to be explicitly noted that non-interactive TELL functions are independent of this value. This command affects only coordinates selected using Toped mouse input.

[Tip]void step(value)
real value
the size of the step in user units

Example 12. step

   step(0.25);

top

autopan

When autopan is switched on, Toped view automatically follows the mouse marker during editor specific operations.

[Tip]void autopan(on_off)
bool on_off
true to switch the function on, false otherwise

Example 13. autopan

   autopan(true);

top

shapeangle

When drawing layout objects manually, it is quite convenient to have a restrictions over the marker directions. This function introduces such restrictions when a new polygon or wire is drawn.

[Tip]void shapeangle(angle)
int angle
the angle in degrees

Despite the fact that any angle will be taken as a legal value, only some values make real sense - for example 45 and 90 degrees. The value of 0 implies no restrictions on the marker movement.

Example 14. shapeangle

   shapeangle(45);

top

propsave

Save current properties to the disk in TELL format. This includes colors, fill and line patterns, layers, grid and step settings as well as the settings of the interactive drawing and external interface layer maps. The current design in memory is neither changed nor saved. The saved properties can be loaded back in the editor as normal TELL file.

[Tip]propsave(prop_file_name)
string prop_file_name
A valid file name - platform dependent. OS environmental variables may be used

Example 15. propsave

   propsave("/home/guest_user/layout/props/technoA_prop.tll");

top