System software for computer-aided design in electronics on a small machine P. A. D U B O C K
(European Space Research Organization, Darmstadt, West Germany) E. J. Z A L U S K A and K. G. N I C H O L S
(Department of Electronics, The University, Southampton, England) A minicomputer installation dedicated to c.a.d, is described. The economy and flexibility of such systems when incorporating comprehensive graphics facilities is stressed. Suitable operating systems are discussed, including an executive program to provide software simulation of three virtual computers (each virtual machine may then run under an independent operating system). Features of the graphical system software are outlined, including device and machine independence, flexibility, ease of use and economy. The applications programming philosophy required is described together with several interactive programs developed for use in electronics design. These programs, used by electronic engineers and research scientists over the past four years, illustrate the flexibility inherent in the system. (Received in revised form on 1st July 1974)
1 INTRODUCTION It is generally accepted that computer-aided design in electronics is best carried out in an interactive environment, especially for e x p l o r a t o r y design studies. The alternative to a timesharing service (backed by a large central facility) which is normally used for this kind of activity is a small dedicated machine. Instead of the terminal c o n n e c t i n g with the processor via land-lines and multiplexors, it is tiaen physically adjacent and capable of considerable enhancement. In particular, comprehensive graphics and highly interactive systems b e c o m e possible. This paper discusses the operating systems and applications structure of one such installation.
2 C O N F I G U R A T I O N A N D COSTINGS The evolution o f our system dates f r o m 1967, w h e n the available m i n i c o m p u t e r s and graphic systems were e x t r e m e l y restricted. F r o m our early experience, we would conclude that there is a m i n i m u m system requirement, below which
it becomes very difficult to do any useful c.a.d, work, and that an operating system providing a filestore is essential. The total capital cost of our system (including building overheads) was £60 000. A m o r t i z e d over a nominal life of six years, we estimate our total costs at £25 000 per annum 1. Our installation is in an academic environment, and research continues until late at night. Multiple use is restricted to hours when the c o m p u t e r is available on a casual basis to members of our D e p a r t m e n t using utility programs; outside normal working hours the c o m p u t e r is usually used in dedicated m o d e for research projects involving substantial program d c v e l o p m e n t . The machine is used for about 100 hours a week, giving a real cost to the dedicated user of £5 per hour. However, we have successfully managed three simultaneous users bringing the actual cost to about £2 per hour. T h e rapidly decreasing cost of hardware, b o t h processors and graphics, now presents a further e c o n o m i c incentive towards small machine usage.
3 OPERATING S Y S T E M S TABLE 1. Brief specification o f the computer configuration Central processing unit
H o n e y w e l l D DP 516 hardware fixed-point (not floating-point) multiply/divide.
Core store
16 k 16-bit 0.96/as cycle
Slow peripherals Paper tape reader/punch, 3 online teletypes Backing store
1 m e g a w o r d fixed disc store 17 ms access, 150 k word sec - 1 transfer
Graphics
Self-refresh c.r.t. (1 k word store) Digital to analogue convertors (on to storage tube display or plotter) (10 bits) Drafting Table (driven offline by paper tape) (14 bits/O.O025 inch incremental)
Volume 6
Number 4
October 1974
Our d e v e l o p m e n t in operating systems was made necessary by the lack of suitable existing software. For several years the dedicated machine was run under the H o n e y w e l l Batch Operating System (BOS) - this is flexible enough for interactively use. However, it is a single-stream system w i t h o u t SPOOLing facilities. While any Honeywell software, designed for BOS or not, will thus run under BOS, this is achieved at the expense of driving directly all peripherals used. At an early stage it was apparent that, with considerable 'think time' implicit in the use of most interactive c.a.d. programs, m u c h of the processing power available was unused. Accordingly, we have developed an executive program that provides software simulation of three entirely independent DDP 516 c o m p u t e r s 2. The advantages and disadvantages of this c o m p r o m i s e are as follows:
213
t'. A. Dubock, L. J. Zaluska and ix. ~,. ,.a,*.,,,a:, 3. I
Advantages
The executive is an e n h a n c e m e n t , rather than an absolute requirement, of our system. Each virtual machine, now with reduced core store of 13 k words runs an i n d e p e n d e n t version of BOg. Each of these systems allows i n d e p e n d e n t access to the system files containing the applications programs and compilers, but is incapable of interfering with the user files of the o t h e r t w o systems. The absence of multiprogramming and SPOOLing are now of no concern; these functions are automatically provided by the executive. Three simultaneous users can access the machine, with minimal interference for most of the time. Each can use the standard applications packages, including those developed under the dedicated machine. Conversely, we are able to develop programs under the executive and be confident that they will run stand-alone. By running suspect programs in dedicated mode, we are also able to discount suggestions of executive software being responsible for program malfunctions. Each virtual machine may have assigned to it any of the peripherals. Our current system allows users to choose b e t w e e n all peripherals c o n n e c t e d simultaneously to all virtual machines, or a variable assignment by the executive program of each peripheral to only one virtual machine. We are currently developing the system so that this assignment may be p e r f o r m e d automatically, and require no specific user action. This will be of value to programs that use all graphics devices. Finally, an i m p o r t a n t and very practical aspect of our system is the action required to recover f r o m inevitable systems crashes. We find in practice that we have two types of malfunction with time-between-failures of the order of m o n t h s and days respectively. The time-to-repair for the more f r e q u e n t failure is five seconds (with file security), for the less f r e q u e n t failure it is under an hour. These times are a vast i m p r o v e m e n t on the e n o r m o u s and more f r e q u e n t delays possible on the majority of the larger, more elaborate and often more susceptible systems 3.
3.2
E c o n o m y in the running of interactive programs ('~hH~b: time' is utilized). This leads directly to e c o n o m y l,, d e v e l o p m e n t of programs.
•
Run time efficiency when applications programs arc CPU-bound.
4 GRAPHICS
The use of graphics is f u n d a m e n t a l to the operation of our system. Large quantities of data, results or text may be e x a m i n e d using graphics w i t h o u t the need for expensive and time-consuming paper production. If this can be achieved with the ease available with conventional lineprinter output, then the major r e q u i r e m e n t for a lineprinter disappears. We have designed a package called PLOT, which reflects this ease of use and other criteria: •
Graphical device independence. A software graphics buffer is used to obtain identical pictures on a n u m b e r of soft- and hard-copy devices. Device indenendence is easily achieved as this buffer is at a relatively high level.
•
Flexibility. The package is written at a n u m b e r of user levels, extensible at each level to care for user changes and modifications. Use of the package at the lower level saves core storage and increases flexibility; at the higher levels two subroutine calls suffice to draw a graph and to display it on any peripheral. A l t h o u g h there is no explicit representation of picture structure, various means are provided to attach a data-structure should this be required.
•
Ease of use. The systems that will do anything, no matter how sophisticated (if only one could find out how! present a nightmare situation for some users.
•
Machine independence. This can be a chimera for pro grams intended to operate in a limited a m o u n t of core storage (and in particular we are unable to use such m a c h i n e - i n d e p e n d e n t languages as BCPL for this reason). P L O T is written in Fortran except for the graphics peripheral drivers.
•
E c o n o m y . Graphics on a large machine is o f t e n very expensive because interactive programs are core-resident. Core residency is the usual m o d e of operation on small machines, so graphics is a natural rather than a disruptive system feature.
Disadvantages
Effective core store is reduced to 13 k words (although by use of the operating system programs may usually be split into tasks small enough to run in this space). The executive is forced to interpret i n p u t - o u t p u t instructions, with consequent inefficiency. The core-swapping structure is also a major source of inefficiency, as a c o m p l e t e core swap takes 120 ms. During this t i m e the processor performs slow inputo u t p u t but no c o m p u t a t i o n . A CPU-bound job is swapped out, if necessary, after a single t i m e slot (currently, approximately 100 ms) by a simple scheduling algorithm. Long CPU-bound programs can be run on the dedicated machine should the reduction in efficiency resulting f r o m swapping be unacceptable. The average response time in shared m o d e is a b o u t 0.5 s., and is the major limiting factor on the n u m b e r of terminals supported. Additional terminals can be connected, subject to hardware constraints, if the degradation in response time and real-time availability is acceptable. The overall utilization of the CPU varies considerably, according to the types of job being run. We find that the overheads inherent in running interactive programs on our three-terminal system are acceptable in view of the increased usage of the c o m p u t e r . The system as a whole thus provides:
214
•
As an example of the ease with which data may be inspected, we will briefly discuss our editor package, LIST. This uses the self-refresh c.r.t, to display 20 lines of 72 characters each. By using a separate terminal to issue edit commands, an e x t r e m e l y comprehensive and usable editing facility is available. As an entire screen of new characters may be displayed in a fraction of a second, the edited t e x t is available almost immediately. This alone ensures that the editor is almost f o o l p r o o f in operation, resulting in at least one user performing most of his editing on our machine (m preference to available timesharing). The ease of o p e r a t i o n and usefulness of similar systems has already been c o m m e n t e d on 4. We w o u l d stress that LIST is a highly interactive program (with character oriented commands), giving the user a correspondingly high degree of control over his actions. This is very rarely found in systems that rely on record oriented commands.
COMPUTER AIDED DESIGN
System softwarefor c.a.d, in electronics on a small macbine 5 APPLICATIONS Despite the size of the machine, we require applications programs to be written in ANSI Fortran s. Although this implies a certain inefficiency in size and run time, this is more than compensated by: •
Shortened lead time (fewer errors) and correspondingly less machine time required for debugging
• Easier maintenance •
Possible interchange of programs.
A small machine definitely implies a different programming philosophy from that required for large systems. Modular coding, chained programs and intermediate results held on backing store are some of the features required. The input specification is extremely important for an interactive program - our experience indicates that free format data is the most satisfactory arrangement. In the following sections we describe applications programs which are now available as utilities to a general (non-programming) user. These programs all developed out of past research projects and we expect similar results from our current research activities. The core requirements of all these programs (except 1TAP) are less than 13 k, thus they may be used either in multi-user or dedicated mode. The time taken to solve a simple problem is negligible in all cases (under one second CPU time), but is correspondingly longer for complex problems and multiple evaluations. As explained earlier, if a large problem is to be solved, greater efficiency is possible in dedicated mode but multi-user mode is also practical, should the longer compute time be ~cceptable.
5. I Interactive circuit analysis program (ICAP) Linear a.c. analysis of networks up to 100 nodes is possible with this program. Voltage gain, or grounded/ungrounded four-pole parameters, may be o u t p u t in tabular or graphical form. The user may then initiate new or modified analyses in the usual interactive fashion, or alternatively carry out circuit modification first. An important feature is the ability to define subnetworks. The program analyses these for the four-pole parameters which are then automatically included in the main network, producing economical results very quickly for the majority of circuits.
5.2 Linear systems analysis program ( L S A ) This again is an interactive program with, in general, a fast terminal response. The user defines his linear system in the usual block diagram form and specifies the transfer function of each block as the ratio of polynomials in the complex frequency S. The program forms the overall transfer function for defined input and o u t p u t nodes relative to ground, and evaluates (by the state-transition matrix method) the timedomain response for an impulse excitation. This response is normally displayed immediately in graphical form. Other excitation functions (e.g. step and sinusoid) are easily obtainable by incorporating an input block into the system which corresponds to the Laplace transform of the required excitation.
Volume 6
Number 4
October 1974
5.3 Interactive transient analysis program (ITAP) Transient analysis of networks of up to 30 nodes is performed by this program. Diodes and bipolar transistors are allowed, the latter being represented by the nonlinear Ebers-Moll model (at present, the only nonlinearity allowed). It is particularly difficult to implement transient analysis programs on small machines 6'7 and the price paid for achieving any implementation is low computation speed. Thus, the present program is not in practice very interactive, the simulation time for a thirty-node circuit being typically 30 rain. Nevertheless, this analysis is economically viable.
5.4 Patternmaster Ouz initial implementation of a facility to produce integrated circuit masks used offline control of: •
A drafting table
•
A laser mask-cutting machine (producing masks directly at first reduction level).
Practical limitations persuaded us to drive these units from a hardware vector generator operating from a papertape input. Initially, a simple vector generator was used in conjunction with a high-level mask specification language. From this has evolved our current implementation in which much of the high-level language is provided directly by a hardware pattern generator s and the rest by a specialpurpose macroprocessor. Features of the hardware include direct rectangle pattern generation, step and repeat replication and operation, online or offline. Complex pattern definition, in terms of basic entities and sub-picturing, including use of standard libraries, are provided b y the software. The overall system allows for semi-automatic generation of masks for integrated circuit fabrication while maintaining the flexibility essential to experimental research.
5.5 Perspective display program This program is used in conjunction with a current research project into the solution of the physical equations governing semiconductor devices. Both one-dimensional and twodimensional modes of bipolar transistors are under investigation. The results from the two-dimensional models, of necessity produced on a larger system, are displayed on our interactive graphics to enable a closer understanding of the three-dimensional surfaces involved. By means of a simple perspective plotting program we are able to effectively move the surface until a suitable display is achieved. We then reproduce this view offline, using the PLOT facilities previously mentioned.
5.6 Semiconductor modelling The one-dimensional models of bipolar transistors are simulated directly on the system. We supply as data, parameters governing the doping profile and terminal voltages. The system responds with carrier distributions and currents. These results are available immediately for display. As a direct result of the cheapness of this process, it is possible
215
!' .L fJ~bock, t. J. Zalusk, a~t t'.
to p u r s u e a research p r o j e c t into t h e physical p r o p e r t i e s of devices n o t yet c o n s t r u c t e d .
5.7
Digital signal processing
I ) e p a r t m e n t of t h e Universit)' ot S o u t h a m p t o n 4~1 p:~m~ct~<~, the w o r k of G. Abb~ks, A. Basden, B. M. G. C h e e t h a l l I'. Hadjifotiou, C. R. Jesshope, E. O. Khidir a n d .l. ! W a s h i n g t o n s h o u l d be m e n t i o n e d .
system
This package provides facilities for t h e design a n d simulat i o n of digital filters in all basic c o n f i g u r a t i o n s , s i m u l a t i o n of s t o c h a s t i c processes a n d d a t a analysis ( p r o b a b i l i t y density e s t i m a t i o n , a u t o c o r r e l a t i o n , e s t i m a t i o n a n d spectral density e s t i m a t i o n ) . It is c u r r e n t l y used for t h e s i m u l a t i o n and e v a l u a t i o n o f MTI a n d pulse D o p p l e r r a d a r systems.
6 CONCLUSION
We have d e m o n s t r a t e d t h a t small m a c h i n e h a n d s - o n c o m p u t e r aided design is a practical a n d e c o n o m i c p r o p o s i t i o n . It is o u r o p i n i o n t h a t installations using t h e m o s t m o d e r n facilities available will be more e c o n o m i c a n d will have greater flexibility.
7 ACKNOWLEDGEMENT
The c o n c e p t of a small m a c h i n e for c.a.d, has evolved f r o m the co-operative w o r k of m a n y p e o p l e w i t h i n t h e E l e c t r o n i c s
216
.~:;,,,
REFERENCES
1. Nichols, K. G. Computer-aided analysis o f electronic circuits ten a small machine. Paper 19, AGARD CP130, Proceedings of the AGARD CAD Conference, Copenhagen, (May 1072) 2. Dubock, P. A. A hardware simulating time-sharing executive ]or a small machine. Inst. Elect Radio Eng. Conference on Systems and Technology, (1972) 3. Rees, M.J. 'Some improvements to the M1N1MOP multi-access operating system' Software--Practice and Experience, Vol 1, (1971) pp 175-188 4. Irons, E. T. and Djorup, F. M. 'A CRT editing system', CAC,~! Vol 15 (January 1972) pp 1 6 - 2 0 5. Larmouth, J. 'Serious FORTRAN' So]~ware-Practice and Experience Vol 3 (1973) pp 8 7 - 1 0 7 o. Nichols, K. G., Abbas, G. and Cheetham, B. M. G. 'rl ransient analysis on a small computer'. Radio and Elect. Eng., Vol 43 No 5 (1973) pp 336--340 7. Bramin, F. H., Hogsett, G. R., Lunde, R. L. and Kugel, L. E. 'ECAP-II: a new circuit analysis program.' IEEEJ. Solid State Circuits', Vol SC-6, (1971 ) pp 146-166 8. Crawford, D. O., Hale, R. J. and NichoLs, K. G. 'A digital generator for pattern drawing applications' To be published in the Radio and Elect. Eng.
COMPUTER AIDED DESIGN