VAR logo English
Home page Services Past achievements Contact Site
map
Page d'accueil Services Réalisations précédentes Contact
Français


Automatic Back-Of-The-Envelope Calculator (ABOTEC)

The ABOTEC computer program was designed to be a useful engineering tool (Shute 1993). The idea was that, by making it easy for the engineer to experiment with different variations and parameter values of the engineering design under study, the engineer would be encouraged to do so, and would be led to investigate better compromises for the design as a result. For a multiprocessor computer array, for example, a compromise might be required between choosing a finer line-width for the VLSI technology, leading to more processors per wafer, giving a better performance of the overall computer system, set against having to work with a worryingly higher operating temperature on the silicon wafer.

The input to the ABOTEC program is organised as a table, stored as a simple ASCII file. Each row of the table specifies a single parameter: the symbolic name (a user-defined identifier, uid, in the first column), a textual description (treated as a comment, in the next column), a defining expression (treated as a function body), and its units (SI units by preference, but actually treated as a comment by the program).

The third column, containing the defining expressions, makes up the main body of the engineering description. Each expression is interpreted by an operator-precedence parser, and consists of any valid right-side expression of type Real (constants, arithmetic operators, user-identified symbol names (uids), trigonometric/exponential functions, etc.). All uids have to have been previously defined, before their first use, in an earlier row of the table.

The following example is purposely simplified. Normally, each of the parameters for the area of a processor cell, instructions per second per processor, and power consumption per processor would be derived, causing the description to continue for hundreds of rows.

pi Mathematical constant 4*atan(1) 3.14159e+00
Dw Diameter of the wafer 0.150 m 1.50000e-01
Aw Usable area of the wafer pi*(Dw-0.02)^2/4 m2 1.32732e-02
lw Line width 1.0e-6 m 1.00000e-06
D Defect density 1.35e6 to 1.65e6 1/m2 1.35000e+06 to 1.65000e+06
Ap Area of a processor cell 9900*lw^2 to 10100*lw^2 m2 9.90000e-09 to 1.01000e-08
Yp Processor yield exp(-(D*Ap)^0.5) to exp(-D*Ap) 8.78892e-01 to 9.86724e-01
Npw Number of processors on the wafer Aw/Ap 1.31418e+06 to 1.34073e+06
Ngpw Number of working processors per wafer Yp*Npw 1.15502e+06 to 1.32293e+06
IPSp Instructions per second for each processor 1.5/lw 1/s 1.50000e+06
IPSw Raw instructions per second for the wafer Ngpw*IPSp 1/s 1.73253e+12 to 1.98440e+12
Pp Power consumption per processor 1.35e6*lw^2 to 1.65e6*lw^2 W 1.35000e-06 to 1.65000e-06
Pw Power consumption for the wafer Ngpw*Pp W 1.55928e+00 to 2.18283e+00

Over all, ABOTEC is probably no longer necessary, since its role can be largely performed by conventional spreadsheet programs. ABOTEC does offer two major advantages, though. One is the ability to refer to parameters by their user-defined symbol name, rather than the obscure "C15" type of naming that is used in conventional spreadsheet programs. The other is the use of the "to" operator to handle engineering tolerances, and error bounds (and could also be used to indicate the range been two different theoretical models, such as for the processor yield calculation, Yp, in the above example, using the Seeds and Poisson models). For this, each arithmetic operation takes a pair of values (the minimum and maximum) for each input parameter, and generates a pair of values for its result. The program correctly takes account of the appropriate boundary conditions (when evaluating in the arithmetic and trigonometric expressions, for example, such as between sin(0.9*pi/2) to sin(1.1*pi/2) for example, or even tan(0.9*pi/2) to tan(3.1*pi/2)).

Top of this page Home page Services Past achievements Contact Site
map
Page d'accueil Services Réalisations précédentes Contact
© Malcolm Shute, Valley d'Aigues Research, 2006-2007