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

Layout database and libraries

The layout database is the place where all graphical data is stored. Toped uses its own database format called TDT. It deals purely with graphical data.There is no electrical or setup information stored there. A TDT file can be loaded as a target database or as a library. TELL defines several internal functions to deal with TDT databases.

Toped libraries

Toped implements a concept of dynamically linking libraries.

  • Libraries are loaded always in read only mode.
  • Libraries can be loaded or unloaded "at will".
  • Toped handles multiple libraries simultaneously, but only one target database.
  • Library cells can be referenced from the t arget database as well as from other libraries.
  • Cell references and cell definitions are linked by name only. Toped searches the current database first for a cell definition. If the cell is not found, Toped searches the following libraries in order of loading.
  • The above principle is followed for both - target DB, and the libraries.
  • If two libraries contain a cell definition with the same name, only one of them will be linked. The one defined in the library loaded first.
  • If cell is not found, Toped indicates the cell reference as "undefined".
  • Undefined references can be treated in the same way as defined ones. They can be moved, deleted and even copied.
  • Every time a new library is loaded Toped relinks automatically the target database as well as all libraries that are already loaded.
  • The above is true also when a library is unloaded.

newdesign

Create a new empty design. This function defines also the user units for the design. At the moment only default user units a possible (GDSII default 1 micron = 1000 DBU).

[Tip]newdesign …

void newdesign (design_name)

void newdesign (design_name, time_created)

string design_name
The name of the design to be created.
string time_created
The creation time stamp of the new database

The second overloaded function is defined for recovery purposes - Toped always uses that form in the log file. time_created parameter is used later when the database is saved.

Example 1. newdesign

   newdesign("toped_design");

top

tdtread

Load a TDT file and create TDT database (design) into memory. Toped handles only one target database at a time, so current design will be closed if the operation is successful. The loaded design becomes current.

[Tip]tdtread …

void tdtread (file_name)

void tdtread (file_name, time_created, time_updated)

string file_name
A valid file name - platform dependent. OS environmental variables may be used
string time_created
The creation time stamp of the database
string time_updated
Shows when the file was updated for the last time

The second overloaded function is used in the log files for recovery mode. It reads the database only if the time_created time stamp matches the corresponding time stamp in the TDT file. time_updated is important for a proper functionality of the recovery mode.

Example 2. tdtread

   tdtread("/$TPD_LOCAL/tdt/toped_design.tdt");
   tdtread("/home/guest_user/tpd_des.tdt",
      "20-01-2006 01:09:53","21-05-2006 22:22:54");

top

loadlib

Load a TDT file as a library, relink and update the database into memory. Toped handles multiple libraries, so already loaded libraries will not be unloaded.

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

Example 3. loadlib

   loadlib("$TPD_LOCAL/tdt/digital_lib.tdt");

top

unloadlib

Unload a library, relink and update the database into memory. The cells linked to this library will be relinked. If a cell definition doesn't exists in the remaining libraries, the reference will be marked as "undefined"

[Tip]void unloadlib (lib_name)
string lib_name
A valid name of a library loded in the memory.

Example 4. unloadlib

   unloadlib("digital_lib");

top

tdtsave

Save the current design to the disk in TDT format overwriting (updating) already existing file. The current design in memory is not changed or altered.

[Tip]tdtsave …

void tdtsave()

void tdtsave(time_created, time_updated)

string time_created
The creation time stamp of the database
string time_updated
Shows when the file was updated for the last time

The second overloaded function is used in the log files for recovery mode. It implements conditional save. The command is executed only if the time_created time stamp matches the corresponding time stamp of the database (or the existing TDT file) and time_updated is newer than the corresponding one in the TDT file.

Example 5. tdtsave

   tdtsave();
   tdtsave("20-01-2006 01:09:53","22-05-2006 20:51:01");

top

tdtsaveas

Save the design under a new name to the disk in TDT format. File with this name should not exist. The current design in memory is not changed or altered.

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

Example 6. tdtsaveas

   tdtsaveas("/home/guest_user/layout/new_design.tdt");

top