|
»»»Home «««
»»»TELL «««
»»»Toped «««
»»»Ifaces «««
|
Table of Contents TopEd Layout Language - a C-like code for layout scripting. The initial idea behind TELL was to serve as a macro language to improve the interface and to facilitate the work with Toped. During the design of the layout editor the initial intentions evolved into the idea to create a script able to code the layout. Indeed a good amount of manual layout work can be relatively easily generalized and automated if the user possesses a convenient tool. Besides such a script would produce a layout according to a set of predefined design rules (DRC), thus minimizing human errors and reducing the design checks and the time for back end design operations in general. Having a similar tool the designer can parametrise the layout generation and to make it virtually (or at least partially) independent of the design rules. The idea of course is not new - silicon compilers, parametrised cells etc. - all this sounds quite the same. TELL does not have the ambition to be a silicon compiler. It is rather trying to be the tool, that will bring some benefits in the manual layout process right now. In the same time the language seems to be able to evolve in order to serve as a bridge between the front end and back end design process. Routing algorithms, netlist parsers, logic synthesis, standard cell layout libraries - all of them can benefit from using a similar language.
/*
The following lines demonstrate the use of prepocessor
include command which recognises environmental variables
*/
#include "topedmain.tll"
#include "$TPD_LOCAL/tll/seed.tll"
#include "$COMMON_POOL/opamp.tll"
// end of demo codeAll the keywords that are not describing a data type are listed below. The description is quite brief, because the behavior of the statements is supposed to be familiar. The conditional statement working in the expected manner. Second part - else - is optional. The expression in brackets after if must be of type bool. if (a == 1) {echo("test OK")} //
else {echo("test FAIL")};Forces a return from a function and might be used to transfer a value back to the calling routine. Return outside the function boundaries is illegal. return ((0,0)); // return statement of a function of a type point return; // used in functions of type void only
Traditional pre-conditional loop. The conditional expression must evaluate to true in order to execute the operators block real a = 10;
while (a > 0) {
echo(a); a = a - 1;
};Traditional post-conditional loop. This is an exception of the C syntax. Cycle loops until the conditional expression is true. real a = 10;
repeat {
echo(a); a = a - 1;
} until (a > 0); | |||