»»»Home «««
Framework
Screenshots
FAQ
»»»TELL «««
Types
Operators
Functions
Example
»»»Toped «««
Database
Cells
Add
Select
Edit
View
Interfaces
Miscellaneous

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.

redraw

Redraws the current window - executed automatically after all operations that change the current view.

[Tip]void redraw()
-

top

zoom

Zooms in a window. Defines a new area of the canvas, that will be viewed in the graphical window. Tell supports two sets of input parameters (two overloaded functions). In both cases the editor recalculates the actual view window from the input parameters, taking into account the actual aspect ratio of the graphical window. In other words bottom left and top right corners of the resulting view will be rather different form those stated by the input parameters. The new view might cover bigger (but not smaller) area than the requested. The type and sequence of the corners (bottom left, top right etc) provided via the input parameters are of no importance. Function expects absolute coordinates.

[Tip]box zoom …

box zoom(point corner1,point corner2)

box zoom(box window)

point corner1
first corner of the new view window
point corner2
second corner of the new view window
box window
the new view window

top

zoomall

Show entire active cell A clone of the zoom function provided for convenience. It does not take input parameters, instead Toped internally retrieves the coordinates of the biggest window covering the current cell. The resulting view window will show the entire active cell.

[Tip]box zoomall()
-

top

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

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 7. usinglayer

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

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 8. 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 9. 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 10. 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 11. autopan

   autopan(true);

top

hidecellmarks

Toped indicates cell references with a common mark, placed at the {0,0} point of the referenced cell. Using this function, the cell marks visualization can be switched on or off.

[Tip]void hidecellmarks(on_off)
bool on_off
true to hide the cell marks, false show them

Example 12. hidecellmarks

   hidecellmarks(true);

top

hidecellbox

For better hierarchical visibility, Toped can draw a cell overlapping box over the cell references. Using this function, the cell boundary visualization can be switched on or off.

[Tip]void hidecellbox(on_off)
bool on_off
true to hide the cell overlapping box, false to show it

Example 13. hidecellbox

   hidecellbox(true);

top

hidetextmarks

Toped indicates all layout text objects with a common mark, placed at the bounding point of the text. Using this function, the text marks visualization can be switched on or off.

[Tip]void hidetextmarks(on_off)
bool on_off
true to hide the text marks, false show them

Example 14. hidetextmarks

   hidetextmarks(true);

top

hidetextbox

To highlight the non-layout objects, Toped can draw an overlapping box over the texts. Using this function, the visualization of the text overlapping box can be switched on or off.

[Tip]void hidetextbox(on_off)
bool on_off
true to hide the text overlapping box, false to show it

Example 15. hidetextbox

   hidetextbox(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 16. shapeangle

   shapeangle(45);

top