Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

A method of function generation for simulation computers using combined analogue and digital techniques Nordstrand, Ronald Bert 1960

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1960_A7 N6 M3.pdf [ 3.2MB ]
Metadata
JSON: 831-1.0103231.json
JSON-LD: 831-1.0103231-ld.json
RDF/XML (Pretty): 831-1.0103231-rdf.xml
RDF/JSON: 831-1.0103231-rdf.json
Turtle: 831-1.0103231-turtle.txt
N-Triples: 831-1.0103231-rdf-ntriples.txt
Original Record: 831-1.0103231-source.json
Full Text
831-1.0103231-fulltext.txt
Citation
831-1.0103231.ris

Full Text

A METHOD OF FUNCTION GENERATION FOR SIMULATION COMPUTERS USING COMBINED ANALOGUE AND DIGITAL TECHNIQUES by RONALD BERT NORDSTRAND B.A.Sc, U n i v e r s i t y of B r i t i s h Columbia, 1958 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE i n the Department of E l e c t r i c a l Engineering We accept t h i s t h e s i s as conforming to the standards r e q u i r e d from candidates f o r the degree of Master of Applied Science Members of the Department of E l e c t r i c a l Engineering The U n i v e r s i t y of B r i t i s h Columbia May, 1960 In p r e s e n t i n g t h i s t h e s i s i n p a r t i a l f u l f i l m e n t o f the requirements f o r an advanced degree at the U n i v e r s i t y o f B r i t i s h Columbia, I agree t h a t the L i b r a r y s h a l l make i t f r e e l y a v a i l a b l e f o r r e f e r e n c e and study. I f u r t h e r agree t h a t p e r m i s s i o n f o r e x t e n s i v e copying of t h i s t h e s i s f o r s c h o l a r l y purposes may be granted by the Head of my Department or by h i s r e p r e s e n t a t i v e s . I t i s understood t h a t copying or p u b l i c a t i o n of t h i s t h e s i s f o r f i n a n c i a l g a i n s h a l l not be allowed without my w r i t t e n permission.' The U n i v e r s i t y of B r i t i s h Columbia, Vancouver $, Canada. ^ t e Ifl , l % f t ABSTRACT This t h e s i s deals w i t h the design of a simple time-sharing a r b i t r a r y - f u n c t i o n generator to be used i n a proposed r e a l - t i m e si m u l a t i o n computer. The generator a u t o m a t i c a l l y sums a predetermined d i f f e r -ence t a b l e d e s c r i b i n g the f u n c t i o n and thus generates th® fu n c t i o n at equal i n t e r v a l s of the independent v a r i a b l e . F i r s t 9 second and t h i r d d i f f e r e n c e s are a v a i l a b l e f o r in t e r p o l a t i o n , , The generator uses a decimal code which i s f u r t h e r reduced to i n d i v i d u a l digits„ Separate handling of the i n d i v i d u a l d i g i t s and a quantizing operation permit the f u n c t i o n generator to be e a s i l y r e a l i z e d by simple c i r c u i t r y . The quantized information appears as a pulse-duration - modulated wave which can be e a s i l y stored on a magnetic drum and can be r e a d i l y t r a n s f e r r e d by d i g i t a l c i r c u i t r y , , A s i n g l e - d i g i t a d d i t i o n - s u b t r a c t i o n u n i t has been designed and b u i l t using a simple c i r c u i t r y and r e a d i l y a v a i l a b l e com-ponents and thus confirms the ease with which the complet® generator may be b u i l t . TABLE OF CONTENTS pag® i Ab Acknowledgemen"t O o o o o o o « o » o - o o o o o o o o o 1 o I Q"fcrO ( i . X l C "t 1 O R O O O O O O O O O O O O O O O O O O O O X 2» System Simulation Problems and Computer V a r i a b l e s „ 7 2„1 Simulation Problems . o o o o . . . . . . . . 7 2„2 Representation of Computer V a r i a b l e s , 0 . <= 8 3 . , Difference Table Function Generation „ . . „ „ . . . 15 4 . Operation of a Single Unit . o o o o o o o o o o o o 21 4 . 1 Operation as an Adder o o o o o o o o o o o o 22 4 . 2 Operation as a Subtracter .... . . . . o o o 26 4 0 3 Timing C i r c u i t s . . . 0 . . . • o . o . . . . 29 4 0 4 The Integrator 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 4 < > 5 The Current Gates . . o o . 0 0 0 0 0 0 0 0 0 0 33 4 . 6 Carry and Borrow Detectors . . . 0 0 0 0 0 0 35 4 o 7 Zero-Level Detector « 0 o 0 o » o o o . . o o 35 4 . 8 The F l i p - F l o p s . - ' . . o o o o o o o o o o o o 39 5o The Complete Function Generator „ . o . o o » o . o 43 5 0 1 Operation of the Complete Generator , » » . » 43 502 M u l t i p l e Carry or Borrow Operations . . 0 . . 4 7 5 0 3 P r o v i s i o n f o r Negative Quantities 0 . 0 . 0 0 52 5 0 4 I n t e r p o l a t i o n . . 0 0 . 0 0 0 0 0 0 0 0 0 0 0 55 6 0 Proposed Revised S i n g l e - D i g i t U nit „ o . . . 0 . . . 58 7 . Conclusions 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 0 0 0 0 62 Bibliography 0 0 0 0 0 0 0 . . . o o o o o o o o o o o o 63 i i i LIST OP ILLUSTRATIONS Figure page •2.1. The General Computer . . . . . . . . . 9 2.2. Pulse Position Coding . . . . . . . . . 12 3 .1 . Difference Table of Sine Wave 16 3 O 2 O EXTOI" D©*t0C"fclGH O O O O O O G O O O O O © O O O O 1*7 3.3. Rounded Difference Table . . . . . . . . . . . . . 19 4.1. Units Addition-Subtraction Stage . . . . . . . . . 23 4.2. A d d i t i o n Waveforms . . . . . . . . . . . . . . . . 24 4.3o Subtraction Waveforms . . . . . . . . . . . . . . 27 4 .4 . The Master Clock and Frequency Divider . . . . . . 30 4 .5 . Associated Timing C i r c u i t r y . . . . . . . . . . . 32 4 .6 . Current Gates and Integrator . . . . . . . . . . . 34 4»7o Carry Detector . . . . < « . . . . . . . . . . . . . 36 4o3o Borrow Detector o o o o o o o o o o o e o e o o o 37 4 .9 . Zero—Level Detector . . . . . . . . . . . . . . . 38 4 o l 0 „ Carry Flip-Flop . . . . . . . . . . . . . . . . . 40 4.11. Borrow Flip-Flop . . . . . . . . . . . . . . . . . 41 4.12. Sweep-Down Flip-Flop . . . . . . . . . . . . . . . 42 5.1. Connection of Single-Digit Units to Form Complete Function Generator . . . . . . . . . . . . . . . 44 5.2. Additions and Subtractions Required to Generate the Functxon . . . . . . . . . . . . . . . . . . 46 5.3. Multiple Carry (999 + l ) . . . . . 49 5.4. Multiple Borrow (1008 - 9) . . . . . . . . . . . . 50 5.5. Provision for Negative Numbers . „ . x . 54 i v Figure page 5 o 6 » I n t e r p o l a t i o n of Fu n c t i On 0 0 0 0 . 0 0 0 0 0 0 0 . 56 5 o ' 7 o I n t e r p o l a t i o n Registers . . . . . . . < > . . . . . . 57 6 o l 0 Proposed S i n g l e - D i g i t Unit . . . . . . . . . . . . 60 ACKNOWLEDGEMENT Acknowledgement i s g r a t e f u l l y given to Dr. E.V. Bohn, supervisor of the p r o j e c t , Dr. P. Noakes, grantee of the p r o j e c t , and to other s t a f f members and graduate students of the E l e c t r i c a l Engineering Department f o r t h e i r h e l p f u l assistance o The p r o j e c t was sponsored by the Defence Research Board, Department of Nat i o n a l Defence, Canada, under Grant Number DRB 9931-02 (G and C). The author's post-graduate studies were made p o s s i b l e through the B r i t i s h Columbia Telephone Company Scholarship awarded i n 1958, through the Northern E l e c t r i c Fellowship awarded i n 1959, and through f i n a n c i a l assistance from the National Research C o u n c i l . v i 1 A METHOD OF FUNCTION GENERATION FOR SIMULATION COMPUTERS USING COMBINED ANALOGUE AND DIGITAL TECHNIQUES 1. INTRODUCTION E f f e c t i v e real-time s i m u l a t i o n of complex p h y s i c a l systems requires a multitude of reasonably accurate high-speed computa-t i o n s and access to key points i n the simulated system i n order to observe the system response. D i g i t a l computers i n common use to-day give b e t t e r than s u f f i c i e n t accuracies f o r problems occurring i n p h y s i c a l systems. They have the ad d i -t i o n a l advantage that t h e i r a r i t h m e t i c u n i t s are time shared and thus i n general do not require d u p l i c a t i o n . However, d i g i t a l computers are awkward i n si m u l a t i o n problems because of the nece s s i t y to convert the d i g i t a l output to usable ana-logue information and because d i g i t a l computers require time consuming programming changes to t e s t the e f f e c t s of mo d i f i c a -t i o n s i n the system. Analogue computers on the other hand are comparatively easy to program and give high-speed computa-t i o n s with u s e f u l analogue outputs. A second p a r t i c u l a r l y good feature of analogue s i m u l a t i o n i s that key points i n the system are a c c e s s i b l e , a l l o w i n g an immediate i n d i c a t i o n of v a r i a t i o n s i n system response to e i t h e r minor changes i n the system or to small s i g n a l s i n j e c t e d at key p o i n t s . Analogue machines, however, also have t h e i r disadvantages. For example they have inherent accuracy l i m i t a t i o n s due to the l i n e a r i t y and s t a b i l i t y of analogue components. In a d d i t i o n , u n l i k e d i g i t a l computers, analogue machines cannot i n general employ 2 time sharing principles and thus tend to become very complex. The desirable features of both digital and analogue com-puters, especially in the field of real-time simulation, have led to the design and development of a number of hybrid ana-1 2 3 4 logue-digital computers. 9 ' 9 Initially, separate analogue and digital machines coupled with an analogue to digital con-verter were used. These hybrid systems proved to be very successful and have led to the development of many real-time simulators using integrated analogue and digital components, which allow computation in a combined analogue-digital domain. Computations arising fifom problems in real-time simulation of physical systems require the high-speed solution of complex systems of non-linear differential equations. Small errors can be tolerated in these solutions since feedback from closed loops prevents the formation of large cumulative errors. The solution of these complex systems of equations requires the generation of many non-linear functions some of which are needed only at limited accuracies of about i s percent and can be gen-erated with ease by simple analogue techniques, and some which are required at higher accuracies of about i o . l percent and must therefore be generated by systems capable of semi-digital accuracy. Several types of function generators, each with its own advantages and disadvantages, could be employed by hybrid com-puters to generate functions. These generators can be divided into two main categories, those which employ photo-sensing elements such as photo-tubes or photo-diodes and those using electronic circuitry entirely. 3 Of the generators using photo-sensing devices the ones i n -5 ' vestigated by Ross are probably the most basic. He repre-sented his function on photographic f i l m by variable density i n one case and by variable area i n another case. He passed a narrow s l i t of l i g h t , from an optic a l system, through the negative. The quantity of l i g h t passing through the negative was sensed by a photo-tube which gave a voltage analogue of the function. One main source of error i n his system was the l i n e a r i t y of the photo-tube which reduced accuracies to about ~2 percent, A second device which overcame the problem of l i n e a r i t y was developed by Stacey . His generator used a function pho-tographed on f i l m , but used a narrow beam of l i g h t instead of a s l i t . In t h i s system the negative i s moved past the beam at a constant rate. When the beam appears from behind the opaque portion of the negative i t i s sensed by a photomultiplier tube. Stacey used a mirror on a galvanometer c o i l to posi-t i o n the beam of l i g h t to any desired abscissa. The output for a predetermined abscissa then appeared as a pulse-length proportional to the function at this point. Accuracies of better than 1 percent were believed possible with th i s system. 7 Silverberg has also developed a function generator ca-pable of accuracies better than 1 percent. This generator uses an opaque mask on the face of a short persistence CRT to define the borders pf the particular function to be gener-ated. The CRT i s scanned by a low frequency horizontal sweep and a high frequency v e r t i c a l sweep thus giving a v e r t i c a l 4 r a s t e r to the face of the CRTo A photo-diode sensing the luminescence of the CRT i s d r i v e n i n t o c u t - o f f when the v e r t i c a l sweep appears from behind the mask. The output of the diode i s then a m p l i f i e d and appears f i n a l l y as a pulse=duration-modulated wave, the d u r a t i o n being p r o p o r t i o n a l to the f u n c t i o n at that p a r t i c u l a r p o i n t . T h i s output waveform can be con-v e r t e d to a v o l t a g e analogue of the f u n c t i o n by a simple i n t e -g r a t i o n . Of the e l e c t r o n i c methods of f u n c t i o n generation the g b i a s e d diode type of a r b i t r a r y f u n c t i o n generator i s probably the best known. This type of generator uses a l a r g e number of b i a s e d diodes to approximate the f u n c t i o n by s t r a i g h t l i n e segments of e i t h e r f i x e d or v a r i a b l e l e n g t h . The break p-oints can be smoothed by the i n t r o d u c t i o n of a h i g h frequency noise s i g n a l t o cause the diodes to conduct i n t e r m i t t e n t l y near the break p o i n t s . T h i s system gives reasonable approximations to f u n c t i o n s but i s r a t h e r i n f l e x i b l e i n t h a t i t r e q u i r e s manual r e s e t t i n g f o r each new f u n c t i o n . P o i n t value storage of f u n c t i o n s on a magnetic drum has 3 been proposed by Lee and Cox f o r use i n a h i g h speed analogue-d i g i t a l computero The independent v a r i a b l e f o r each of the break p o i n t s of the f u n c t i o n i s s t o r e d along with the value of the f u n c t i o n at t h a t p o i n t . Intermediate values of the f u n c t i o n are obtained by l i n e a r i n t e r p o l a t i o n . However, s e l e c t i n g the c o r r e c t break p o i n t s bounding the p a r t i c u l a r value of the f u n c t i o n and c a r r y i n g out the l i n e a r i n t e r p o l a -t i o n r e q u i r e s a great deal of complex l o g i c c i r c u i t r y . A l s o 5 drum storage space and searching time to 1-oeate the information would be excessive. g Boulding has developed a f u n c t i o n generator which approx-imates functions by l i n e a r segments and p a r a b o l i c arcs. The f u n c t i o n i s i n i t i a l l y programmed as a p o s i t i o n modulated pulse t r a i n on a magnetic drum. This pulse t r a i n i s then converted by a simple l i n e a r sweep c i r c u i t to a piecewise constant wave-form. This waveform i s then i n t e g r a t e d twice to approximate the f u n c t i o n by s t r a i g h t l i n e s and p a r a b o l i c arcs depending on the p o l a r i t y , lengths, and magnitudes of the piecewise constant waveform. With l i n e a r i n t e g r a t o r s , accuracies of 0. 1 percent can be obtained by t h i s generator. A f u n c t i o n generator using p a r a b o l i c approximations s i m i -l a r to those used by Boulding i s being developed at Packard B e l l by Beck and M i t c h e l l . ^ This generator i s capable of generating mathematical as w e l l as a r b i t r a r y f u n c t i o n s . The a r b i t r a r y functions are generated by second order i n t e r p o l a -t i o n methods. The i n t e r p o l a t i n g equation generates a curve made up of a chain of p a r a b o l i c segments passing through 32 numerical points which may be unequally spaced along the x a x i s . The f u n c t i o n generator to be described i n t h i s t h e s i s i s capable of d i g i t a l accuracies and yet i s reasonably f a s t due to the p a r t i a l use of analogue components. Also the gen*~ erator i s e a s i l y programmed from a magnetic drum and i t employs time sharing p r i n c i p l e s . Therefore, i t i s both f l e x i b l e and economical. In p r i n c i p l e the generator sums a simple 6 predetermined d i f f e r e n c e t a b l e . The a d d i t i o n s and s u b t r a c t i o n s i n the t a b l e are performed by simple i n t e g r a t o r s which are r e -c y c l e d and c o r r e c t e d a f t e r each a d d i t i o n or subtraction,, T h i s s e l f c o r r e c t i o n process puts a loose o v e r a l l t o l e r a n c e o f 10 percent on the system. Thus d i g i t a l a c c u r a c i e s are p o s s i b l e provided e r r o r s are kept w i t h i n the 10 percent t o l e r a n c e . 7 2. SYSTEM SIMULATION PROBLEMS AND COMPUTER VARIABLES 2 0 1 Simulation Problems System s i m u l a t i o n problems in v o l v e the s o l u t i o n of complex systems, of non-linear d i f f e r e n t i a l equations. The problem of simulating a system response can i n general be reduced t o : dY 1 dt m Ok • £ 3=1 k = 1, 2, o ,N where Y, i s the system output and F. i s a f u n c t i o n d e s c r i b i n g the response of a component of the system. The functions F. are i n general extremely d i f f i c u l t to handle due to t h e i r complexity. I t .has been f o u n d ^ that functions of several v a r i a b l e s such as F., whose values have been e m p i r i c a l l y determined, are pften much more conveniently expressed i n the form n F. = T 3 i = l f .-g. x 6 x where the f . , g., e t c . are functions of one v a r i a b l e only. The X X number n depends on the complexity and required accuracy of the f u n c t i o n . The n can be reduced by i n c r e a s i n g the complexity of the approximation of F.% 3 i = l -f. g. + h. X 6 X X where X < n. This type of f u n c t i o n r e presentation i s a p p l i c a b l e to p h y s i c a l systems and components which are i n general described by f a m i l i e s of curves. Gas t u r b i n e s , e l e c t r i c motors, and 8 t r a n s i s t o r s , are but a few of many p o s s i b l e examples, Fami-l i e s of curves can be e a s i l y described to reasonable accuracies by the approximation f-g + h. In t h i s approximation a t y p i c a l curve would be chosen and represented by f, s l i g h t m o d i f i c a -t i o n s to the t y p i c a l curve would be handled by g and changes i n ordinates could be handled by h. Thus the f u n c t i o n gener-ators need only generate functions of a s i n g l e v a r i a b l e . The F. are then obtained by m u l t i p l i c a t i o n and summation. With t h i s r epresentation the system output would become: Hence, from t h i s approximation to the output of a simulated system, i t can be seen that a s i m u l a t i o n computer w i l l r e q u i r e f u n c t i o n generators, m u l t i p l i e r s , adders, and i n t e g r a t o r s as w e l l as some type of storage device. These component u n i t s should operate at reasonable speeds and should, where p o s s i b l e , be multiplexed to enable economic s o l u t i o n s to r e a l time prob-lems. With multiplexed components the computer would look l i k e the block diagram shown i n f i g . 2.1. 2.2 Representation of Computer V a r i a b l e s The f u n c t i o n generator, the adder, and the i n t e g r a t o r have to perform a d d i t i o n s of p o s i t i v e as w e l l as negative numbers. I t i s therefore d e s i r a b l e to use a code which w i l l enable the computer to handle both p o s i t i v e and negative numbers w i t h ease. I t w i l l be shown l a t e r that the r e g i s t e r s used i n the f u n c t i o n generator may pass through a zero and become negative. u u u magnetic-drum c o n t r o l and storage u f u n c t i o n generator f f u n c t i o n generator m u l t i p l i e r f u n c t i o n generator h p a r a l l e l to s e r i a l m u l t i p l e i n t e g r a t i o n s Pigc 2ol<, The General Computer 10 When t h i s happens t h e number a p p e a r i n g i n t h e r e g i s t e r i s t h e compliment o f t h e n e g a t i v e number and n o t t h e n e g a t i v e number i t s e l f . T h i s f a c t p o i n t s t o p o s s i b l e s u i t a b l e complementary t y p e s o f c o d e s . One p o s s i b i l i t y i s t o have t h e computer coded as z = 1 + where z i s t h e machine number and x i s t h e a r i t h m e t i c number. Suppose f o r example t h a t t h e a d d i t i o n 46 + 37 - 14 = 69 i s t o be p e r f o r m e d . The e q u i v a l e n t machine a d d i t i o n w o u l d be 1.46 + 1.37 +0.86 = 3.69 = 1.69 mod.(2) W i t h t h i s t y p e o f code t h e number o f a d d i t i o n s must be odd. M u l t i p l e s o f two a r e d r o p p e d . A s e c o n d p o s s i b i l i t y i s t o have t h e computer coded as i z = 2 + x mod. (2) where z i s t h e machine v a r i a b l e and where x i s t h e a r i t h m e t i c number. U s i n g t h e example: 46 + 37 - 14 = 69 t h e machine e q u i v a l e n t would be 0.46 + 0.37 + 1.86 = 2.69 = 0 . 6 9 mod. ( 2 ) . As b e f o r e m u l t i p l e s o f two a r e d r o p p e d . The z = 2 + x mod. (2 code, however, e l i m i n a t e s t h e n e c e s s i t y f o r h a n d l i n g even and odd numbers o f a d d i t i o n s s e p a r a t e l y and i s t h e r e f o r e a s u i t -a b l e code f o r t h e p r o p o s e d computer. The v a r i a b l e s i n t h e p r o p o s e d computer a r e i n a d e c i m a l coded f o r m ( P i g . 2 . 2 ) . E a c h d i g i t i s r e p r e s e n t e d by one o f t e n c l o c k p u l s e p o s i t i o n s f r o m z e r o t o n i n e . T h i s d e c i m a l c o d p e r m i t s e a s y programming, and t h e u s e o f s i m p l e c o m m e r c i a l l y 1 1 a v a i l a b l e input-output equipment. Each d i g i t i s handled separately and quantized i n t o one of ten p o s s i b l e c l o c k - p u l s e p o s i t i o n s . Thus the o v e r a l l accuracy required i n -any s i n g l e -d i g i t u n i t i s only 1 0 percent. By combinations of s i n g l e -d i g i t u n i t s the computer can be expanded to any d e s i r e d a c c u -racy, A maximum of 5 s i g n i f i c a n t f i g u r e s was decided upon since t h i s i s i n general s u f f i c i e n t to describe most simulated systems and t o handle most engineering problems. I t was decided to operate the f u n c t i o n generators, m u l t i -p l i e r , and adder i n p a r a l l e l ( 5 d i g i t s at once) since these component devices must handle large q u a n t i t i e s of information i n r e l a t i v e l y short periods of time. The proposed i n t e g r a t o r c a r r i e s out incremental a d d i t i o n s of the terms S ^ ^ t , I t can operate s e r i a l l y at a much slower ra t e than the other component u n i t s of the computer. S e r i a l operation permits an easy wide range s c a l i n g system. S c a l i n g i s accomplished by p o s i t i o n i n g a decimal c l o c k pulse i n a blank 5 d i g i t space next t o the coded number. In F i g . — 2 . 2 the scale pulse i s shown i n the t h i r d p o s s i b l e s c a l i n g p o s i t i o n and therefore scales/\z by 1 0 ~ ^ . Thus i t can be seen that a 1 0 + ^ range of s c a l i n g i s p o s s i b l e depending on the p o s i t i o n i n g of the scale pulse. The p h y s i c a l r e a l i z a t i o n of the i n t e g r a t o r , the adder, and the m u l t i p l i e r w i l l not be discussed i n t h i s t h e s i s . The de-1 2 s i g n of the m u l t i p l i e r has been discussed by Gordon . The f u n c t i o n generator, to be described l a t e r i n more de-t a i l , sums the d i f f e r e n c e s of a d i f f e r e n c e t a b l e to generate J 0 9 8 7 6 . 5 4 3 2 1 0 time P o s s i b l e coding pulse p o s i t i o n s J 4 8 3 &2 Si g Q x 4 » 1 0 4 X g o l O 3 x 2 o l 0 2 X j ^ o l O 1 x Q » 1 0 0 ^2 ^0 ^ 32 g 564 Coded pulse p o s i t i o n s and values - s e r i a l 5 d i g i t no, 10" 1 10 2 1 0 ° 3 I O ™ 4 10 I i i [ ' 1 i ' 1 i r' g 4 g 3 gg g± g Q g 4 gg gg g X g Q / \ Z _ , , » J S c a l i n g F i g . 2o2» Pulse P o s i t i o n Coding 13 t h e f u n c t i o n . The f u n c t i o n and i t s s u c c e s s i v e d i f f e r e n c e s a r e a v a i l a b l e e v e r y c y c l e (140 m i c r o s e c o n d s ) . The e q u a l -i n t e r v a l t a b u l a t i o n o f t h e f u n c t i o n and i t s d i f f e r e n c e s p e r m i t s i d e n t i c a l i n t e r p o l a t i o n methods t o be u s e d i n a l l i n t e r v a l s t h u s s i m p l i f y i n g t h e i n t e r p o l a t i o n p r o b l e m . I n t e r p o l a t i o n c an be p e r f o r m e d by a u x i l i a r y r e g i s t e r s or by t h e g e n e r a t o r i t s e l f . I t i s o f i n t e r e s t t o compare t h i s p r o p o s e d computer w i t h d e v e l o p m e n t s e l s e w h e r e . A h i g h s p e e d a n a l o g u e - d i g i t a l com-g p u t e r has been d e v e l o p e d a t M.I.T. by Lee and Cox . T h i s com-p u t e r u s e s a v a r i a b l e , c o d e d as 10 y where x i s i n a d i g i t a l code f r o m 0 t o ~7 and y i s an a n a l o g u e p u l s e a m p l i t u d e . T h i s computer i s e x t r e m e l y f a s t due t o t h e s h o r t i n t e r v a l s i n w h i c h t h e i n f o r m a t i o n i s r e p r e s e n t e d p b u t t h e c o m p l e x i t y o f t h e c i r -c u i t r y r e q u i r e d t o a c c u r a t e l y g a t e v o l t a g e l e v e l s and t h e p r o b -lems o f s t o r i n g i n f o r m a t i o n a r e e x c e s s i v e . T h i s r e d u c e s t h e r e l i a b i l i t y w h i c h i s i n h e r e n t i n computers u s i n g s i m p l e r t e c h = n i q u e s . The computer p r o p o s e d i n t h i s t h e s i s s f o r e x a m p l e s u s e s a q u a n t i z e d p u l s e - l e n g t h - m o d u l a t e d v a r i a b l e w h i c h f a c i -l i t a t e s s i m p l e d i g i t a l g a t i n g c i r c u i t r y and e a s e o f s t o r a g e b o t h i n s i m p l e r e g i s t e r s and on m a g n e t i c drums. P u l s e - l e n g t h -m o d u l a t i o n has t h e a d d i t i o n a l a d v a n t a g e o f e a s y c o n v e r s i o n t o an a n a l o g u e v o l t a g e by l i n e a r a n a l o g u e i n t e g r a t o r s . The M.I.T. computer has a f l o a t i n g p o i n t a r i t h m e t i c s y s t e m w h i c h a u t o m a t i c a l l y s c a l e s t h e machine v a r i a b l e s t o keep, them w i t h i n t h e computer's r a n g e , b u t t h e a n a l o g u e v a r i a b l e s have a l i m i t e d r a n g e of 10 w h i c h r e s t r i c t s any s i n g l e c o m p u t a t i o n o p e r a t i o n . 14 The machine, f o r example, cannot handle subtractions which r e -s u l t i n answers l e s s than . 0 0 1 machine u n i t s . The i n t e g r a t o r s used i n the M.I.T. computer are analogue devices and therefore cannot be multiplexed or e a s i l y scaled. An a d d i t i o n a l high-speed operational computer, the TRICE ( t r a n s i s t o r i z e d r eal-time incremental computer expansible), has been developed at Packard B e l l by M i t c h e l l and Ruhman^. This computer uses d i g i t a l incremental i n t e g r a t o r s complete with t h e i r required? r e g i s t e r s and adders. High speed i s achieved by-a 3 megacycle c l o c k r a t e . The i n d i v i d u a l packaged i n t e g r a t i n g u n i t s are proposed to be connected i n a patch board fashion as are analogue o p e r a t i o n a l a m p l i f i e r s . This, however, would lead to excessive costs f o r an o v e r a l l computer since none of the i n t e g r a t o r s would be multiplexed. This computer would also r e q u i r e other equipment such as f u n c t i o n generators to make i t g e n e r a l l y u s e f u l . One of the most recent attempts at a high-speed analogue-d i g i t a l computer i s a combined a n a l o g u e - d i g i t a l d i f f e r e n t i a l analyser which i s being developed at the Na t i o n a l Bureau of 4 Standards by Skramstad . The most s i g n i f i c a n t part of the v a r i a b l e used i n t h i s proposed computer i s to be represented by an 8 b i t binary code and the l e a s t s i g n i f i c a n t part by an analogue volt a g e . Although the basic idea of operation of Skramstad's computer i s sound, many of the component devices to be used i n the proposed computer seem complex and d i f f i c u l t to r e a l i s e economically - e s p e c i a l l y i n terms of the 1 r e l a t i v e s i m p l i c i t y and cost of the computer proposed i n t h i s t h e s i s . 15 3. DIFFERENCE TABLE FUNCTION GENERATION An accurate method f o r generating a r b i t r a r y functions i s by means of a d i f f e r e n c e t a b l e . A d i f f e r e n c e t a b l e i s con-s t r u c t e d by t a k i n g values of a f u n c t i o n , tabulated at equal i n t e r v a l s of the independent v a r i a b l e , and su b t r a c t i n g adjacent values to form the f i r s t d i f f e r e n c e A?• Higher order d i f -ferences can be obtained by- t a k i n g d i f f e r e n c e s of d i f f e r e n c e s as shown i n t a b l e 1 (Fig„3.l). In t a b l e I the f i r s t , second, and t h i r d d i f f e r e n c e s (Af, A 2 f . ^ d A 3f) of a sine wave are tabulated from zero to 90 decrees i n equal i n t e r v a l s . The sine wave i s a good example because i t has an i n f i n i t e number of non-zero d e r i v a t i v e s and therefore does not become zero i n any of the higher order d i f f e r e n c e s as would other more simple f u n c t i o n s . One d i s t i n c t advantage of using a d i f f e r e n c e t a b l e f o r the generation of a f u n c t i o n i s the ease wi t h which errors i n the f u n c t i o n can be detected. I f we look at. F i g . 3.2, we can see how an error i s propagated through the d i f f e r e n c e t a b l e and how noticeable i t becomes i n the higher order d i f f e r e n c e s . In t h i s p a r t i c u l a r example the l a s t two d i g i t s of the sine wave at 45 degrees have^been interchanged. I t can be seen that the i r r e g u l a r i t y appearing i n the t h i r d d i f f e r e n c e i s quite pro-nounced and i s e a s i l y detected. This property of error d e t e c t i o n i s p a r t i c u l a r l y advantageous i n smoothing tabu l a t e d experimental data, since small errors may not be noti c e a b l e i n tabulated e m p i r i c a l f u n c t i o n s . degrees f A * A 2 f A 3 f 0 0 87156 664 657 5 0.087156 86492 1321 649 10 mi 0.173648 85171 1970 633 15 0.258819 83201 2603 613 20 0.342020 80598 3216 590 25 0.422618 77382 3806 558 30 0.500000 73576 4364 529 35 0.573576 69212 4893 489 40 0.642788 64319 5382 447 45 0.707107 58937 5829 406 50 0.766044 53108 6235 355 55 0.819152 46873 6590 308 60 0.866025 40283 6898 254 65 0,906308 33385 7152 199 70 0.939693 26233 7351 144 75 0.965926 18882 7495 87 80 0.984808 11387 7582 85 0.996195 3805 90 1.000000 Table I F i g . 3.1. Diff e r e n c e Table of Sine Wave f A f - v A 2 f A 3 f 6 e 6 6 -e -2e ~3e e 3e -e E r r o r propagation degrees f A * A 2 f A 3 f 35 0.573576 73576 3806 590 40 0.642788 69212 4364 558 45 0.707170 64382 4956 592 50 0.766044~^^ 58874 5256 300 55 0.819152 5 3 1 ^ 8 ^ ^ ^ - ^ ^ 5892 636 46873 6 2 3 5 ^ - ^ ^ 3 4 3 6590 355 308 Example of er r o r at 45° P i g . 3.2. E r r o r Detection 18 In t a b l e I I ( F i g . 3.3) the f u n c t i o n has been rounded to the nearest 5 or zero i n the f i f t h d i g i t . On i n s p e c t i o n of t h i s t a b l e as w e l l as the previous two i t can be seen that i n -creasing orders of d i f f e r e n c e s have a decreasing number of s i g n i f i c a n t d i g i t s . This means that i f we have the i n i t i a l value of a f u n c t i o n and the i n i t i a l values of the columns of d i v i d e d d i f f e r e n c e s , we can generate the e n t i r e f u n c t i o n by-means of small changes i n one of the higher order d i f f e r e n c e s . This i s the p r i n c i p l e of the f u n c t i o n generator to be described i n the f o l l o w i n g chapters. In t a b l e I I f o r example a zero would be programmed f o r the f u n c t i o n and 8715, 65, and 70 would be programmed f o r the f i r s t , second, and t h i r d d i f f e r e n c e s r e s p e c t i v e l y . Fourth d i f f e r e n c e s are programmed i n t o the gen-e r a t o r s e r i a l l y . The f i r s t of the f o u r t h d i f f e r e n c e s would be 10, the second -5, e t c . The f u n c t i o n generator makes the appropriate a d d i t i o n s and subtractions a u t o m a t i c a l l y to generate the f u n c t i o n . 13 I t can be shown that the nth d i f f e r e n c e s of a p o l y -nominal of the nth degree are constant. Therefore i f we approx-imate a f u n c t i o n by s t r a i g h t l i n e segments and p a r a b o l i c 3 a r c s , as i n Boulding's generator , we need only program i n i -t i a l values and #nanges i n the second d i f f e r e n c e of a t a b l e i n order to generate our f u n c t i o n , since the second d i f f e r e n c e would e i t h e r be zero or a constant. D i f f e r e n c e t a b l e f u n c t i o n generation i s very v e r s a t i l e due to the v a r i a b l e higher order d i f f e r e n c e which appears as part of the program. This v a r i a b l e d i f f e r e n c e permits a 19 jgrees f A f A 2 f A 3 f A 4 f 0 0 8715 65 70 10 5 0.08715 8650 135 60 -5 10 0.17365 8515 195 65 5 15 0.25880 8320 260 60 0 20 0.34200 8060 320 60 0 25 0.42260 7740 380 60 10 30 0.50000 7360 440 50 5 35 0.57360 6920 490 45 -5 40 0.64280 6430 535 50 10 45 0.70710 5895 585 40 10 50 0.76605 5310 625 30 -5 55 0.81915 4685 655 35 10 60 0.86600 4030 690 25 5 65 0.90630 3340 715 20 0 70 0.93970 2625 735 20 5 75 0.96595 1890 755 15 80 0.98485 1135 760 85 0.99620 380 90 1.00000 Table I I P i g . 3.3. Rounded Diff e r e n c e Table 20 continually changing approximation at each of the tabulated points of the function. This type of function generation i s p a r t i c u l a r l y applicable to physical systems since the chang-ing approximations are bounded by continuity. 21 4. OPERATION OF A SINGLE UNIT The d i f f e r e n c e t a b l e type of f u n c t i o n generator can best be described as a device which makes the c o r r e c t additions and subtractions at the correct times. The a d d i t i o n s and sub-t r a c t i o n s can be reduced f u r t h e r to the a d d i t i o n s and subtrac-t i o n s of s i n g l e d e c i m a l - d i g i t s . Since the complete generator involves only d u p l i c a t i o n s of the basic s i n g l e - d i g i t a d d i t i o n — s u b t r a c t i o n u n i t and since the time and costs involved i n b u i l d i n g a complete generator would have been considerable, only one a d d i t i o n - s u b t r a c t i o n u n i t was designed, constructed, and t e s t e d . A clock frequency of 70 kc was chosen because t h i s was the c l o c k frequency of an a v a i l a b l e magnetic drum. I t was i n i -t i a l l y proposed to use t h i s drum as the c l o c k but s p e c i a l t i m -i n g c i r c u i t s were designed and put i n t o operation i n s t e a d . Also t h i s pulse r a t e was s u f f i c i e n t l y slow to perform the r e -quired switching operations e a s i l y w i t h a v a i l a b l e t r a n s i s t o r s . The c y c l e frequency was chosen as 7 kc to allow decimal d i g i t s to be quantized i n t o one of t h e i r ten s i g n i f i c a n t f i g u r e s by a clock-pulse t r a i n . This t h e s i s i s concerned wi t h i n v e s t i g a t i o n the f e a s i b i -l i t y of d i f f e r e n c e t a b l e f u n c t i o n generation. The c i r c u i t s designed and constructed are not intended to be those used i n the f i n a l r e a l i z a t i o n of the proposed f u n c t i o n generator. They are l a b o r a t o r y models used to a s c e r t a i n the requirements on c i r c u i t performance and to f i n d s u i t a b l e c i r c u i t c o n f i g u r a t i o n s . 22 Operation of the s i n g l e - d i g i t a d d i t i o n ^ s u b t r a c t i o n u n i t i w i l l he explained on the basis of the s i m p l i f i e d block diagram (P i g . 4.1.) and the waveforms ( F i g . 4.2. "and F i g . 4.3.). The i n t e g r a t o r s , i n t e g r a t o r #1 and i n t e g r a t o r #2 ( F i g . 4.1.) normally operate between -18 and -1.5 v o l t s . The -18 v o l t s represents the 1 l e v e l and the,,-1.5 v o l t s represents i the ten l e v e l . The l e v e l s from zero to nine are quantized i n t o ten d i s c r e t e voltages between -16.5 v o l t s and -3 v o l t s i n -e l u s i v e . Each l e v e l represents a p o s s i b l e decimal number from zero to nine. To avoid confusion i n e x p l a i n i n g the operation of the basic a d d i t i o n - s u b t r a c t i o n u n i t only d i g i t - l e v e l s w i l l be r e f e r r e d t o , since these are more d e s c r i p t i v e than the cor-responding v o l t a g e - l e v e l s o 4.1 Operation as an Adder The operation of the s i n g l e d e c i m a l - d i g i t addition-sub-t r a c t i o n u n i t as an adder can best be understood by lo o k i n g at an example. Suppose f o r example 8 and 4 are to be added to obtain 12. During the f i r s t c ycle 8 i s introduced i n t o i n t e g r a t o r #1. Assume i n t e g r a t o r s #1 and'#2 are i n i t i a l l y at t h e i r z e r o - l e v e l s ( F i g . 4.2,). The 8 i n the example appears as a current pulse + I which i s 8 c l o c k - p u l s e - i n t e r v a l s (CPI) long. This pulse i s fed as an input to i n t e g r a t o r #1 i n the f i r s t c ycle (one cycl e equals 10 CPI). The output of i n t e g r a t o r #1, the u n i t s i n t e g r a t o r , w i l l , n e g l e c t i n g e r r o r s , r i s e l i n e a r l y to V where V = i 11 d t . The i n t e g r a t i n g time constant i s such that at 24 clock 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 pulses cycle wave Gl 10 9 8 7 6 Output 5 4 3 2 1 0 of Int.#l PF11 G2 I I I I I 11 c y c l e 1 ^_ Gl open 8 f I I II II M c y c l e 2 Gl closed set G2 closed—»-G2 reset 8 1 M I I I I I I cycle 3 G2 closed reset F i g . 4.2,, A d d i t i o n Waveforms the end of 8 CPI the output of i n t e g r a t o r #1 w i l l have r i s e n one l e v e l per CPI to the 8 l e v e l . The i n t e g r a t o r w i l l hold at t h i s l e v e l f o r the remaining 2 CPI of c y c l e 1 since there i s no input i n t h i s i n t e r v a l . At the end of the f i r s t c y c l e the f l i p - f l o p FF11 i s s e t . This gates a down-sweep current pulse - I i n t o the input of i n t e g r a t o r #1. As the sweep con-tinues downward the output of i n t e g r a t o r #1 w i l l eventually reach the z e r o - l e v e l . At t h i s point the z e r o - l e v e l detector 0D1 w i l l reset f l i p - f l o p FF11 thus t e r m i n a t i n g the sweep. This w i l l occur at clock-pulse 8 i n the second c y c l e . The output of i n t e g r a t o r #1 w i l l then hold at i t s z e r o - l e v e l f o r the r e -maining 2 CPI i n cycle 2. The 4 which i s to be added to the 8 i s introduced i n c y c l e 2 as an input current pulse +1, 4 CPI long, i n t o i n t e -grator #2. The f l i p - f l o p FF11 also gates a current +1 i n t o i n t e g r a t o r #2. The i n t e g r a t o r ' s output W i l l then r i s e at twice i t s normal r a t e due to the double input over the f i r s t 4 CPI of c y c l e 2. A f t e r the f o u r t h clock-pulse of c y c l e 2 the output w i l l continue to r i s e at i t s normal rate u n t i l the 10 l e v e l i s reached. At t h i s point the c a r r y detector CD2 sets the carry f l i p - f l o p FF22 which gates a current pulse -10 I i n t o the input of i n t e g r a t o r #2. The combined input +1 and -10 I causes a r e s u l t a n t down-sweep of 9 l e v e l s per CPI be-twen clock-pulses 6 and 7 of c y c l e 2. This leaves the output of i n t e g r a t o r #2 at l e v e l 1 at clock-pulse 7. The c a r r y f l i p -f l o p i s c o n t i n u a l l y reset by the clock-pulse t r a i n and hence never remains on f o r more than one CPI. The c a r r y f l i p - f l o p 26 also gates current i n t o the input of a tens i n t e g r a t o r (not shown) at the normal sweep rate thus i n c r e a s i n g i t s l e v e l by one. The output of i n t e g r a t o r #2 r i s e s to l e v e l 2 at which time F P U i s r e s e t . The i n t e g r a t o r then holds at t h i s l e v e l f o r the remaining 2 CPI of c y c l e 2 over which there i s no i n -put. At the end of c y c l e #2 a down-sweep i s i n i t i a t e d i n i n -tegrator #2 by s e t t i n g f l i p - f l o p PP21. The z e r o - l e v e l de-t e c t o r 0D2 w i l l reset PF21 i n 2 CPI. Thus 8 and 4 have been added and a 2 CPI pulse from the u n i t s i n t e g r a t o r plus one carry i n t o the tens i n t e g r a t o r has been obtained as a r e s u l t . The f l i p - f l o p PF21 gates a 2 CPI current pulse +1 i n t o i n -t e g r a t o r #1. This r e s u l t i s then r e c y c l e d between i n t e g r a t o r s #1 and #2. 4.2.. Operation as a Subtracter The s u b t r a c t i o n process i s s i m i l a r to that of a d d i t i o n . Suppose as before that each of the i n t e g r a t o r s are i n i t i a l l y at t h e i r z e r o - l e v e l s , but now s u b t r a c t i o n i s to be performed. Take f o r example the s u b t r a c t i o n 13 - 7 to obtain 6. The 13 i s introduced as a p a i r of current pulses. One pulse +1, one CPI long, i s the input to the f i r s t tens i n t e g r a t o r (not shown). The second pulse +1, three CPI long, i s the input to the f i r s t u n i t s i n t e g r a t o r . The 3 CPI current pulse causes the output of i n t e g r a t o r #1 ( P i g . 4.1.) to r i s e to l e v e l 3 ( F i g . 4.3.). This i n t e g r a t o r then holds at l e v e l 3 u n t i l the end of c y c l e 1 when the f l i p - f l o p FF11 g ating the down-sweep current pulse i s set. The output l e v e l of i n t e g r a t o r #1 w i l l then f a l l one 27 clock 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 pulses cycle wave Gl 10 9 8 7 output 6 5 4 3 2 1 0 of Int.#l PP 11 I I I l I I I ) I I I I I I I I I I I c y c l e 1 open |_ G2 Output of Int.#2 10 9 8 7 6 5 4 3 2 1 PF21 set closed-c y c l e 2 closed reset open set l I I l I I I I I c y c l e 3 closed-reset P i g . 4.3. Su b t r a c t i o n Waveforms 28 l e v e l per CPI u n t i l i t reaches the z e r o - l e v e l . A t t h i s point the z e r o - l e v e l detector 0D1 resets f l i p - f l o p F P U thus termin-a t i n g the down-sweep. F l i p - f l o p FF11 also gates a current pulse +1 i n t o the input of i n t e g r a t o r #2. The seven which i s to be subtracted i s introduced as an input current pulse - I , 7 CPI long, to i n t e g r a t o r #2. For the f i r s t 3 CPI of cyc l e 2 the output of i n t e g r a t o r #2 remains at the z e r o - l e v e l since the p o s i t i v e current pulse cancels the n e g a t i v e input pulse over t h i s i n t e r v a l . However at the end of the t h i r d CPI the i n t e g r a t o r begins a negative sweep. This sweep i s checked by the borrow detector BD2 which operates at the -1 l e v e l , and which sets the borrow f l i p - f l o p FF23. FF23 gates a p o s i t i v e current pulse +10 I i n t o the input of i n t e -grator #2 causing a r e s u l t a n t 9 l e v e l s per CPI rate of r i s e at the output.. The f l i p - f l o p FP23 i s c o n t i n u a l l y reset by the clock-pulse t r a i n and therefore remains on f o r only one CPI. F l i p - f l o p FF23 also gates a negative current pulse - I , one CPI long, i n t o the tens i n t e g r a t o r (not shown) reducing i t s l e v e l by one. During the borrow operation the output of i n t e g r a t o r #2 w i l l r i s e to l e v e l 8. In the next two CPI the output w i l l f a l l at one l e v e l per CPI to l e v e l 6 and remain t h e r e , f o r the remaining 3 CPI of cyc l e 2. At the end of c y c l e 2 a down-sweep w i l l be i n i t i a t e d by s e t t i n g FF21. The output of i n -tegrator #2 decreases u n t i l i t reaches the z e r o - l e v e l where the sweep w i l l be terminated by the z e r o - l e v e l detector 0D2 at clock pulse 6 of cycle 2. FP21 gates a current pulse +1 i n t o i n t e g r a t o r #1. The r e s u l t i s then r e c y c l e d between i n -te g r a t o r s #1 and #2. 29 The z e r o - l e v e l detectors 0D1 and 0D2, which w i l l be de* scri b e d i n more d e t a i l l a t e r , operate only at quantized c l o c k -pulse p o s i t i o n s . This i s necessary to insure that there i s no d r i f t when current pulses are re c y c l e d between the two i n -t e g r a t o r s . The carry and borrow detectors also operate only at quantized clock-pulse p o s i t i o n s . This insures that the car r y and borrow f l i p - f l o p s remain on f o r ex a c t l y one CPI. 4.3. Timing C i r c u i t s The c i r c u i t s used to generate the necessary t r i g g e r i n g pulses are standard m u l t i v i b r a t o r s . The master c l o c k ( F i g . 4.4. ) which sets the clock-pulse frequency and synchronizes the cycle frequency f o r the e n t i r e s i n g l e - d i g i t a d d i t i o n -s u b t r a c t i o n t e s t c i r c u i t i s an ordinary astable m u l t i v i b r a t o r w i t h a period of approximately 14 microseconds. The p o t e n t i o -meter Rg provides adjustment of the c l o c k p e r i o d from about 10 to 18 microseconds. The frequency d i v i d e r ( F i g . 4.4.) i s another astable m u l t i v i b r a t o r which i s synchronized to the master clock by pos-i t i v e - pulses from the clock output. The frequency d i v i d e r has a period of 140 microseconds, ten times the period of the master clock. The potentiometer Rg provides adjustment of the frequency d i v i d e r ' s p e r i o d and hence allows s t a b l e syn-c h r o n i z a t i o n of the d i v i d e r by every t e n t h clock-pulse. The s t a b i l i t y of the d i v i d e r could be f u r t h e r increased by syn-c h r o n i z i n g both c o l l e c t o r s of the astable u n i t , but t h i s was not thought necessary since the t i m i n g pulses were to be used -1. 5v. +1. 5v- to c l o c k - p u l s e a m p l i f i e r to c y c l e wave f l i p - f l o p B l - 4.7 K R 5 = 4.7 K B 2 = 30 K B 6 10 K B 3 - 27 K B 7 - 4.7 K B 4 = 47 K B 8 - 30 K B 9 -B10 = B l l = D, = 27 K 47 K 4.7 K IN 191 T 1 » V T 3 ' ? 4 = 2 N 2 4 0 G 1 SC 2 = 200 uuf Cg = 20 Ji|lf C^C- = .002 uf F i g . 4.4. The Master Clock and Frequency D i v i d e r o 3 1 only f o r a small experimental part of the complete f u n c t i o n generator. The output waveform of the master c l o c k has a „05 micro-second r i s i n g edge which i s d i f f e r e n t i a t e d to form the c l o c k -pulse t r a i n . No appreciable e r r o r s are introduced due to switching times since a l l t r a n s i s t o r s used i n the c i r c u i t have switching speeds of the same order of magnitude as the master clo c k . The clock-pulse t r a i n i s used as an input to a l l of the gates and i s required to reset a l l of the carry-borrow f l i p - f l o p s . Hence, an amplifying stage coupled to an i n v e r t e r -d r i v e r stage ( F i g . 4.5.) was used to amplify and shape the c l o c k -pulses, and to provide pulses w i t h double p o l a r i t y from a low impedance source. The output of the frequency d i v i d e r gives a p o s i t i v e r i s i n g waveform every ten c l o c k pulse i n t e r v a l s . This wave-form i s d i f f e r e n t i a t e d and t r i g g e r s both c o l l e c t o r s of the c y c l e wave f l i p - f l o p ( F i g . 4.5.). This f l i p - f l o p acts as a d i v i d e by two c i r c u i t and gives a symmetrical cycle wave w i t h a period of 20 CPI. This wave t r i g g e r s the two sweep-down f l i p - f l o p s at the beginning of a l t e r n a t e cycles„ 4.4 The Integrator The t r a n s i s t o r o p e r a t i o n a l a m p l i f i e r can be thought of as 14 the current dual of the vacuum tube ope r a t i o n a l a m p l i f i e r „ Thus an i d e a l t r a n s i s t o r o p e r a t i o n a l a m p l i f i e r should have high current gain, high output impedance and low input impedance. As w i t h most i d e a l devices, s a c r i f i c e s i n some of the i d e a l 32 -1. 5v +ve clock^pulses clock-pulses +1. 5v Clock-pulse a m p l i f i e r and i n v e r t e r - d r i v e r Cycle wave f l i p - f l o p R l r= 10 K R 8 = 1 K V T2' T3' T4 = 2 N B2 BZ 15 K R 9 = 4.7 K C x = 15 uuf R 3 = . 2.2 K R10 = 2.2 K Cg = .002 |af R 4 = 10 K R l l = 2.2 K C 3 = .01 uf R 5 = 200~ R12 = 4.7 K C 4 = 50 uuf R 6 = 200 R13 = 1 K G 5,C 6 =; |50 uuf R 7 10 K D 2 = IN 191 P i g . 4.5. Associated Timing C i r c u i t r y 33 p r o p e r t i e s have to be made to r e a l i z e a p r a c t i c a l c i r c u i t . ,*' , The t r a n s i s t o r c o n f i g u r a t i o n chosen f o r the i n t e g r a t o r a m p l i f i e r s ( F i g . 4.6.) i s known as a compound connection and has a t h e o r e t i c a l current gain of p . The potentiometer R^Q allows adjustment of the b i a s s i n g chain which permits the i n -t e g r a t o r to operate s l i g h t l y out of c u t - o f f . R.^^ w a s i n t r o -duced to allow T-^  to operate i n a l i n e a r B region. Since the current gain i s not i n f i n i t e , the i n t e g r a t i n g capacitor should be as lar g e as p o s s i b l e , but i t s s i z e has to be compromised with the s i z e of the load and input r e s i s t o r s feeding i t . Also since the input impedance i s non-zero, the i n t e g r a t o r ' s input voltage i s non-zero. This non-zero voltage causes small errors i n the current and b i a s s i n g chains at the input to the a m p l i f i e r . However, the i n t e g r a t o r used i n the a d d i t i o n - s u b t r a c t i o n u n i t s need only s a t i s f y a ten percent accuracy requirement and thus operates s a t i s f a c t o r i l y i n s p i t e of the above imperfections. 4.5 The Current Gates Two ad j u s t i n g potentiometers are supplie d per r e s i s t o r -chain ( F i g . 4.6.) to permit adjustment of the zero l e v e l as w e l l as the current. The diode current gates operate very simply. To gate a p o s i t i v e current pulse i n t o the input of the i n t e g r a t o r , a po-s i t i v e pulse i s a p p l i e d to the negative side of the r e s i s t o r -chain thus disconnecting the negative side a l l o w i n g p o s i t i v e current to flow i n t o the input of the i n t e g r a t o r . R 1 = 270 K R 5 m.120 K R g =100 K R 1 3 = 2.2 K R 2 = 50 K R 6 = 50 K R i o ~ 1 0 0 K Tl» T 2 = 2 N 2 4 7 R 3 = 50 K R ? = 50 K R u = 150 K ^ = .0025 nf R. = 270 K R Q = 120 K R,0 = 10 K A l l diodes IN 191 F i g . 4.6. Current Gates and Integrator " 35 Three i d e n t i c a l low current r e s i s t o r - c h a i n s are required per i n t e g r a t o r since three separate input operations can occur simultaneously i n one c y c l e . Namely a r e c y c l e d input, an i n -put to be added or subtracted, and a s i n g l e u n i t carry or borrow input. One high current r e s i s t o r - c h a i n i s required f o r the carry borrow reset operations. 4.6 Carry and Borrow Detectbrss The carry and borrow detectors ( P i g . 4.7. and F i g . 4.8.) supply the t r i g g e r pulses f o r the carry and borrow f l i p - f l o p s . The diodes i n F i g . 4.7. and F i g . 4.8. disconnect the output of the i n t e g r a t o r s when they are i n the i n t e g r a t i n g range, be*- _ v v tween-3 and -16.5 . The clock-pulse t r a i n i s used as an i n -put to the detector gates to insure that they operate only at quantized pulse i n t e r v a l s . This i s necessary to insure that the carry borrow f l i p - f l o p s remain on f o r e x a c t l y one CPI. The pulse a m p l i f i e r s at the outputs of the two detectors make the detectors more s e n s i t i v e and at the same time supply s u f f i c i e n t current to t r i g g e r the f l i p - f l o p s . The detectors gate a cur-rent pulse which changes the l e v e l of the i n t e g r a t o r s by 10. 4.7 Zero-Level Detector The z e r o - l e v e l detector ( F i g . 4.9.) resets the down-sweep f l i p - f l o p . The z e r o - l e v e l detector cannot be disconnected from the i n t e g r a t o r s output as i s the case w i t h the c a r r y -borrow detectors which sense the l e v e l s at the extremes of the i n t e g r a t o r ' s operating range. Hence the input impedance to the z e r o - l e v e l detector i s made s u f f i c i e n t l y high so i t w i l l -3v B, from i n t e g r a t o r tt B r +ve cl o c k - p u l s e t r a i n -3v tt =•1. 5v B, output to carry f l i p - f l o p R l = B 2 -R 3 = B_ = 2.2 K 2.2 K 1 0 K 1 K T x = 2N 240 C1 = 500 uuf A l l diodes IN 1 9 1 F i g . 4.7. Carry Detector from 4^ i n t e g r a t o r I N - ve cloc k - p u l s e t r a i n Br -19.5 v 18 v -15 v ^ output to borrow f l i p - f l o p +1.5 v -16.5 v R l = R 2 -R 3 = B 4 = R c = 2.2 K 2.2 K 10 K 4.7 M 1.5 K T x = 2N 247 C 1 = 500 \x\xt C 2 = .01 \xt A l l diodes IN 191 P i g . 4.8. Borrow Detector from i n t e g r a t o r +ve c l o c k - p u l s e t r a i n B l R R R -24v R, -15v R, -15v »1.5v r e s e t to down-sweep f l i p - f l o p 2 +1.5v R, >1.5v 47 K Rg = 10 K 4.7 K R 6 = 4.7 M 2.2 ~K R ? a 1,5 K 2.2 K T l t T 2 = 2N 247 C± = .01 nf C 2 = 500 \x\xt 2 \xt A l l diodes IN 191 C3 " P i g . 4.9. Zero-Level Detector 3 9 not load the output of the i n t e g r a t o r . The clock-pulse t r a i n input to the detector insures that the down-sweep f l i p - f l o p w i l l 1 1 . be reset at one of ten quantized pulse p o s i t i o n s from zero to nine. 4.8 The F l i p - F l o p s The f l i p - f l o p s ( F i g . 4.10., F i g . 4.11., and F i g . 4.12.) are a l l standard c o n f i g u r a t i o n s using high-speed 2N240 ger-manium surf ace. b a r r i e r t r a n s i s t o r s . . The low c o l l e c t o r s a t u r a -t i o n voltage of these t r a n s i s t o r s allows both the emitter and the base b i a s - c h a i n to operate from the same p o t e n t i a l . The p o s i t i v e and negative voltage supplies feeding the f l i p - f l o p s permit dc coupling of the current gates to the f l i p - f l o p out-puts. n The various t r i g g e r i n g modes switching the f l i p - f l o p s are conventional and need no f u r t h e r d e s c r i p t i o n . R l - 10 K R 5 = 2.2 K = .01 u.f R 2 " 1 K R 6 - 4.7 K C 2 ' C 3 = 50 uuf E 3 = 4.7 K Rj = 1 K • D L F D 2 = IN 191 R 4 « 2.2 K R 8 = 10 K T T -1 1 , A 2 ~ 2N 240 P i g . 4.10. Carry P l i p - P l o p o B l - 10 K B 5 = 2.2 K C1' C4 - .01 uf B 2 - 1 K B 6 = 4.7 K C 2 ' C 3 - 50 jiuf B 3 " 4.7 K B 7 = 1 K T1' T2 = 2N 240 B 4 = 2.2 K B 8 = 10 K D1> D2 - IN 191 F i g . 4.11. Borrow F l i p - F l o p from z e r o - l e v e l detector R l " B2 = R. = 10 K 1 K 4.7 K 2.2 K K 5 = B 6 = Ry =» B8 = 2.2 K 4.7 K 1 K 10 K C1' C4 ••-C2' C3 =  T1' T2 -D1' D2 " .01 nf so nuf 2N 240 IN 191 P i g . 4.12. Sweep-Down F l i p - F l o p 43 5. THE COMPLETE FUNCTION GENERATOR The s i n g l e - d i g i t a d d i t i o n - s u b t r a c t i o n u n i t was the one that was designed, b u i l t , and t e s t e d , and i s the basis f o r the complete f u n c t i o n generator. The complete f u n c t i o n generator i s merely a number of these basic u n i t s connected together. Consider, f o r example, the f i r s t few values of the sine wave d i f f e r e n c e t a b l e ( F i g . 3.3.). I t can be seen that the f u n c t i o n i t s e l f has 5 s i g n i f i c a n t d i g i t s and that the f i r s t , second, and t h i r d d i f f e r e n c e s have 4, 3, and 2 s i g n i f i c a n t d i -gits r e s p e c t i v e l y . This means that the generator w i l l r e q u i r e 5+4+3+2=14 s i n g l e - d i g i t a d d i t i o n - s u b t r a c t i o n u n i t s to generate a 5 d i g i t sine f u n c t i o n . S i m i l a r l y fourteen i s also the maxi-mum number of u n i t s required to generate the majority of con-tinuous functions to 5 s i g n i f i c a n t f i g u r e s . Each column of s i n g l e - d i g i t u n i t s as shown i n the block diagram ( P i g . 5.1.) i s c a l l e d a r e g i s t e r . A r e g i s t e r can handle 2 to 5 d i g i t numbers depending d i r e c t l y on the number of s i n g l e - d i g i t u n i t s i n the r e g i s t e r . The f u n c t i o n r e g i s t e r can therefore accommodate 5 d i g i t numbers and the successive d i f f e r e n c e r e g i s t e r s 4, 3, and 2 d i g i t numbers, r e s p e c t i v e l y . Several problems occur w i t h i n the r e g i s t e r s when the i n -d i v i d u a l s i n g l e - d i g i t u n i t s operate together and these prob-lems must be overcome f o r proper operation of the complete gen-era t o r . , 5.1 Operation of the Complete Generator I t has been explained how the s i n g l e - d i g i t addition-sub-t r a c t i o n u n i t operates. On t h i s basis i t may be e a s i l y under-A 4, A 3 f reg. A 2 £ reg. A f reg. i n i n FF^"- G FF -FF -F i g . 5.1. Connection of S i n g l e - D i g i t U n i t s to Form Complete Function Generator u n i t s tens hundreds thousands ten thousands 45 stood how the automatic m u l t i - d i g i t a d d i t i o n - s u b t r a c t i o n opera-t i o n s of the d i f f e r e n c e t a b l e f u n c t i o n generation are c a r r i e d out. I f the generation of the f u n c t i o n i s followed from i t s i n i t i a l programming, i t can be seen how the f u n c t i o n i s pro-pagated through the r e g i s t e r s of the generator. The i n d i v i d u a l d i g i t s of the i n i t i a l m u l t i - d i g i t numbers, which are to be pro-grammed, are introduced i n p a r a l l e l . The 5 d i g i t number f o r the f u n c t i o n , f o r example, would be programmed i n t o the 5 s i n g l e -d i g i t u n i t s of the f u n c t i o n r e g i s t e r during one c y c l e . To compromise speed wi t h the, amount of drum storage space, the i n i t a l values of the f u n c t i o n and i t s d i f f e r e n c e s are programmed during 2 c y c l e s . During the f i r s t c ycle the i n i t a l values of the f u n c t i o n and A 3 f are introduced. In the second cycle [\f and A 2 f are introduced. In F i g , 5.2. the f u n c t i o n and i t s d i f f e r e n c e s are p l o t t e d against time. I t can be seen that a l l of the i n i t i a l values must appear at the same time. This i s made p o s s i b l e by the two states of the p a i r s of i n t e g r a t o r s ; e i t h e r i n t e g r a t i n g or r e c y c l i n g . In the operation of the s i n g l e - d i g i t u n i t i t was shown that an a d d i t i o n or s u b t r a c t i o n i s c a r r i e d out during that cycle when the outputs of the two i n t e g r a t o r s to be added or subtracted are being r e c y c l e d . Therefore during c y c l e 1 we can introduce the i n i t i a l f u n c t i o n values and the i n i t i a l A 3 f values i n t o the #1 i n t e g r a t o r s of the appropriate r e g i s t e r s where they would be ready f-or an a d d i t i o n or s u b t r a c t i o n i n cycl e 2 when they are r e c y c l e d . During c y c l e 2 the remaining degrees f A f A 2 f A 3 f A 4 f 0 0 8 7 1 5 6 5 70 10 5 0 . 0 8 7 1 5 8 6 5 0 1 3 5 60 10 0 . 1 7 3 6 5 8 5 1 5 1 9 5 1 5 0 . 2 5 8 8 0 8 3 2 0 20 0 . 3 4 2 0 0 degrees f + A f A f - A 2 f A 2 f + A 3 f A 3 f - t f f a 0 0 4 n 1 8 7 5 8 7 1 5 -it 65 6 5 + ti 70 70 - 10 it 8 7 1 5 8 6 5 0 l 1 3 5 60 5 8 7 1 5 +• 1 7 3 6 5 8 6 5 0 8 6 5 0 -II 8 5 1 5 1 3 5 1 3 5 + ii 1 9 5 60 10 1 7 3 6 5 + ti 2 5 8 8 0 8 5 1 5 8 5 1 5 -II 8 3 2 0 1 9 5 15 2 5 8 8 0 + II 3 4 2 0 0 8 3 2 0 P i g . 5 , 2 . Additions and Subtractions Required to Generate the Function 47 two i n i t i a l values would be programmed i n t o the #2 i n t e g r a t o r s of t h e i r respective A* and A^f r e g i s t e r s . The i n i t i a l A 2 f values would also be fed i n t o the #2 i n t e g r a t o r s of theA^ r e g i s t e r to be subtracted an the i n i t i a l A ^ values would s i -m i l a r l y be fed i n t o the #2 i n t e g r a t o r s of the f u n c t i o n r e g i s t e r to be added. The A*f input i n t o the A 3 f r e g i s t e r i s also be-gun during the second c y c l e . In F i g . 5.2. the f i r s t part of the sine wave d i f f e r e n c e t a b l e i s separated i n t o the a d d i t i o n s and subtractions which are necessary to generate the f u n c t i o n from i t s i n i t i a l v a l u e s . On the time scale (downward) each 5 degree i n t e r v a l i s equi-valent to 140 microseconds. Thus i t can be seen that the gen-erator performs 2 a d d i t i o n s and 2 subtractions during each 140 microsecond c y c l e . Once the generator i s i n i t i a l l y pro-grammed and operating from the A 4 f input, the f u n c t i o n b u i l d s up along a diagonal path. For example the f i r s t A 4 f input has no e f f e c t on the f u n c t i o n u n t i l the f o u r t h c y c l e at 15 de-grees on the time s c a l e . S t a r t i n g w i t h the f i r s t A 4 f input, the four a d d i t i o n s or subtractions along the diagonal would be: 70 - 10 = 60 135 + 60 = 195 8515 - 195 = 8320 25880 + 8320 = 34200 5.2 M u l t i p l e Carry or Borrow Operations A m u l t i p l e carry occurs when one u n i t i s added to a 48 number such as 999, s i m i l a r l y a m u l t i p l e borrow would occur when 9 u n i t s are subtracted from 1008, m u l t i p l e c a r r i e s or borrows present no problems when they occur e a r l y i n a c y c l e , however, when they occur near the end of a c y c l e information i s shared by both the #1 and the #2 i n t e g r a t o r s . The problem a r i s e s because each carry or borrow operation i n i t i a t e s another and each operation requires one CPI to carry out. A m u l t i p l e carry operation becomes qu i t e complex when i t occurs at the end of a c y c l e , as shown by the output waveforms of a 999 + 1 a d d i t i o n ( P i g . 5.3.). I t can be seen from the output waveforms that the hundreds a d d i t i o n - s u b t r a c t i o n u n i t does not c l e a r to i t s proper z e r o - l e v e l f o r 3 c y c l e s . No i n -formation i s l o s t i n a m u l t i p l e carry when i t occurs near the end of a c y c l e . However, these c a r r i e s are awkward because information i s stored i n both i n t e g r a t o r s of one u n i t during any one cycle before the r e g i s t e r c l e a r s . The time required to c l e a r the r e g i s t e r coupled w i t h the sharing of information between the p a i r s of i n t e g r a t o r s make output operations both long and complex. The m u l t i p l e borrow example 1008 - 9 ( F i g . 5.4.) i s hot qu i t e as complex as the equivalent m u l t i p l e c a r r y but i t a l s o requires 3 cycles to c l e a r . There are several ways to handle m u l t i p l e carry or borrow operations; b u i l d the complex output equipment to read out and add both i n t e g r a t o r outputs, s a c r i f i c e the a d d i t i o n a l read-out time f o r the sake of s i m p l i c i t y , or speed up the carry-borrow operation. To s a c r i f i c e the a d d i t i o n a l read-out time sounds 49 u n i t s output Int.#l u n i t s input u n i t s input tens output Int.#l tens input u n i t s carry io 9 8 hundreds 7 output Int.#l 4 3 2 hundreds input tens carry tens borrow F i g . 5 . 3 . M u l t i p l e Carry (999 + l ) 50 u n i t s o u t p u t I n t 0$1 10 9 8 7 6 5 4 3 2 I O -I units input u n i t s i n p u t t e n s o u t p u t I n t . # l io 9 8 7 6 5 4 3 2. I 6 -I t e n s i n p u t c u n i t s b orrow hundreds o u t p u t I n t . # i io 9 8 7 6 5 + 3 2 I O -I h u n d r e d s i n p u t t e n s borrow c y c l e 1 I 2 PI c y c l e 3 P i g . 5o4o M u l t i p l e Borrow (1008 - 9) 51 l i k e a simple s o l u t i o n . However, t h i s scheme would a l s o need a d d i t i o n a l g a t i ng c i r c u i t r y to disconnect r e g i s t e r s f o r the r e -quired several c y c l e read-out pe r i o d since previous r e g i s t e r s would otherwise continue to add or subtract. Changing the carry-borrow period on the other hand requires changes i n the basic a d d i t i o n - s u b t r a c t i o n u n i t . On i n s p e c t i n g the d i s a d -vantages and f e a s i b i l i t y of these p o s s i b i l i t i e s i t appears that a reduction i n the carry-borrow pe r i o d i s the best way of handling m u l t i p l e carry or borrow problems. The output r e g i s t e r has the l a r g e s t number of s i g n i f i c a n t d i g i t s and therefore can have the l a r g e s t p o s s i b l e m u l t i p l e carry-borrow which i s 4. The l a r g e s t input i n t o any i n t e -grator i s 9 CPI long. Therefore we have one CPI to c a r r y out a maximum of 4 c a r r i e s &r borrows. I d e a l l y an i n s t a n -taneous m u l t i p l e carry or borrow i s d e s i r a b l e and t h i s can be approached by using high-speed gas counting tubes or by having some i n d i c a t i o n that a m u l t i p l e c a r r y or borrow i s going to occur. The scheme that seems most compatible with the pre-sent design of the i n d i v i d u a l s i n g l e - d i g i t u n i t s i s to i n -crease the clock rate by a f a c t o r of 4. This high-speed clock-pulse t r a i n could then be used as an input to the c a r r y -borrow detectors and as a continuous reset to the carry-borrow f l i p - f l o p s . A simple count-down by 4 c i r c u i t could be t r i g -gered from the high-speed clock to give the normal clock r a t e to feed the z e r o - l e v e l detector and to synchronize the c y c l e i n t e r v a l . The only other m o d i f i c a t i o n s required would be i n the r e s i s t o r - c h a i n s feeding current tq the i n t e g r a t o r s . The 52 r e s i s t o r s i n the high current chain and those i n one of the low current chains would have to be reduced to 1/4 of t h e i r o r i g i n a l s i z e to f a c i l i t a t e the higher currents„ The reduc-t i o n i n the clock i n t e r v a l would mean that the carry-borrow f l i p - f l o p s would now be turned on f o r only 3.5 ^sec. This would present no new problems since the new period i s s t i l l a ppreciably longer than the switching speeds (.05 | i s e c ) . 5.3 P r o v i s i o n f o r Negative Quantities Any of the four r e g i s t e r s may, during some phase of f u n c t i o n generation, pass through a zero and become negative. This does not happen i n the generation of the sine wave from zero to 90 degrees. However, i t would occur i f the sine wave was generated past the 90 degree p o i n t . The problem of handling both negative and p o s i t i v e numbers occurs r e g u l a r l y i n the generation of e m p i r i c a l functions whose values and d e r i v a t i v e s are not n e c e s s a r i l y continuously i n c r e a s i n g or decreasing. The problem appears to be a serious one because the reg-i s t e r s °f the f u n c t i o n are permanently connected to add or subtract depending on t h e i r l o c a t i o n i n the generator. When a r e g i s t e r passes through a zero the i n t e g r a t o r s i n the most s i g n i f i c a n t a d d i t i o n - s u b t r a c t i o n u n i t w i l l attempt to borrow from the i n t e g r a t o r s of the next more s i g n i f i c a n t u n i t i n that p a r t i c u l a r r e g i s t e r . The next u n i t , however, does not e x i s t , so t h i s borrow i s l o s t and the r e g i s t e r car-r i e s on as i f i t had a c t u a l l y made the borrow. This means 53 that the compliment of the negative number i s now i n the r e g i s -t e r i nstead of the a c t u a l negative number i t s e l f . On i n s p e c t i o n of an example, the problem and i t s p o s s i b l e s o l u t i o n s can be more e a s i l y seen. Assume, as an example, that the [\t r e g i s t e r , capable of holding 9999, passes through a zero to what should be a negative number of -200. A c t u a l l y the compliment of the number w i l l appear i n t h e ^ f r e g i s t e r , that i s 9800. At the same time the r e g i s t e r w i l l have l o s t a borrow which would have amounted to 10,000. As the genera-t i o n of the f u n c t i o n proceeds the contents of theA^ r e g i s t e r i s added i n t o the f u n c t i o n r e g i s t e r . I f the f u n c t i o n r e g i s t e r contained f o r example 23,400 then the a d d i t i o n should be 23,400 + (-200) = 23,200. Instead the a d d i t i o n w i l l be 23,400 + 9,800 = 33,200. Thus there w i l l be 10,000 too much i n the f u n c t i o n r e g i s t e r , the exact amount of the borrow which was l o s t when t h e ^ f r e g i s t e r passed through a zero and attempted to harrow. The answer to the problem now becomes obvious. A l l that i s required i s to gate a one u n i t borrow pulse per a d d i t i o n i n t o the ten thousands a d d i t i o n - s u b t r a c t i o n u n i t of the f u n c t i o n r e g i s t e r . The borrow pulse from the most s i g n i -f i c a n t d i g i t of t h e ^ f r e g i s t e r can be used to t r i g g e r a f l i p -f l o p to gate the one u n i t per c y c l e pulse i n t o the f u n c t i o n r e g i s t e r ( F i g . 5.5.). A c a r r y pulse from the same u n i t would be used to reset the f l i p - f l o p s i g n i f y i n g that the r e g i s t e r had returned to i t s p o s i t i v e s t a t e . This scheme can be equally e a s i l y a p p l i e d to the A^f and A 3 f r e g i s t e r . Thus a l l d i f f e r e n c e r e g i s t e r s w i l l be capable c a r r y borrow 1 I f l i p - f l o p +ve cycle-wave clock-pulse t r a i n r e s e t set 1 f l i p - f l o p c u rrent gate I n t . #1 clock-pulse t r a i n r e s e t set f l i p - f l o p c u r r e n t gate I n t . # 2 F i g . 5.5. P r o v i s i o n f o r Negative Numbers 55 of handling p o s i t i v e as w e l l as negative numbers with t h i s zero cross-over m o d i f i c a t i o n . A borrow from the most s i g n i -f i c a n t u n i t of the f u n c t i o n r e g i s t e r can al s o be detected by a f l i p - f l o p which would i n d i c a t e e i t h e r a p o s i t i v e or a negative number i n the f r e g i s t e r depending on the state of the ^ l i p -f l o p . I t i s not necessary to consider overflows i n the r e -g i s t e r s of the f u n c t i o n generator since these w i l l be detected when the f u n c t i o n i s i n i t i a l l y set up as a d i f f e r e n c e t a b l e . Functions producing overflows i n any of the r e g i s t e r s can be rescaled a p p r o p r i a t e l y . 5.4 I n t e r p o l a t i o n The f u n c t i o n generator, as described, generates f c , a value of the f u n c t i o n , at f i x e d , equally spaced i n t e r v a l s h of the independent v a r i a b l e . I n t e r p o l a t i o n between these f i x e d f u n c t i o n values i s performed according to Newton's forward d i f f e r e n c e formula: fs = f c + s A f c + % ± I A 2 f c + ..... where f i s an i n t e r p o l a t e d value of the f u n c t i o n , s i s the s a d d i t i o n a l increment of the independent v a r i a b l e , and tQ i s an independent f u n c t i o n value ( F i g . 5.6.). I f only f i r s t degree i n t e r p o l a t i o n i s to be used i t i s i n general only necessary t o d i v i d e h i n t o 10 equal increments since the accuracy of the i n t e r p o l a t i o n would not warrant a smaller increment. However, i f second degree i n t e r p o l a t i o n was to be used, h could be d i v i d e d i n t o 100 equal increments. 56 time P i g . 5.6. I n t e r p o l a t i o n of Function The i n t e r p o l a t i o n process takes considerable time de-pending on i t s degree. Second degree i n t e r p o l a t i o n r e q u i r e s the use of three r e g i s t e r s . To f r e e the f u n c t i o n generator proper from the time consuming i n t e r p o l a t i o n process i t i s p o s s i b l e to have three a d d i t i o n a l r e g i s t e r s as a u x i l i a r y equip-ment. In the case of second d e g r e e i n t e r p o l a t i o n t h e second 2 —2 d i f f e r e n c e / \ f f would b e scaled by 10 and added to the f i r s t d i f f e r e n c e /\f , 8~^® times. The r e s u l t i n g f i r s t - d i f f e r e n c e —2 ^ f g would then be scaled by 10 and added to the f u n c t i o n value f , s times. This i s accomplished by the three r e g i s t e r s c connected as shown i n F i g . 5.7. The diagonal connection of 2 the s i n g l e - d i g i t u n i t s gives the 10 s c a l i n g a u t o m a t i c a l l y . A gate i s required between the/\ t and the f Q r e g i s t e r s to block the input to the f c r e g i s t e r w h i l e ^ f g i s accumulating. P i g . 5.7. I n t e r p o l a t i o n Registers The i n t e r p o l a t i o n process can be extended to high d i f f e r e n c e s i f greater accuracy i s required. 59 6... PROPOSED REVISED SINGLE-DIGIT UNIT On a n a l y s i s of the s i n g l e - d i g i t basic u n i t i t can be seen t h a t charge i s s t o r e d on a capacitor and used as the v a r i a b l e , the capacitor i s then discharged, and the amount of charge i s quantized by clock-pulses to obtain d i g i t a l accuracy. Using t h i s basic concept one can see p o s s i b l e v a r i a t i o n s to the c i r c u i t which was a c t u a l l y b u i l t and t e s t e d . The e x i s t i n g s i n g l e - d i g i t u n i t has the undesirable pro-perty that the i n t e g r a t o r requires bias adjustment f o r s t a b l e operation. Also r e c y c l i n g between i i d e n t i c a l i n t e g r a t o r s could p o s s i b l y be eliminated. I t i s d e s i r a b l e to construct a l l com-ponent u n i t s of the complete proposed computer ( f u n c t i o n gener-a t o r j m u l t i p l i e r , adder, and i n t e g r a t o r ) from the same basic i c i r c u i t s . The most promising c i r c u i t seems to be the type 12 of c i r c u i t c o n f i g u r a t i o n discussed by Gordon i n conjunction w i t h the m u l t i p l i e r . This i s shown i n F i g . 6.1. In t h i s scheme a charge i s gated onto the capacitor from a current source. The charge on i s then t r a n s f e r r e d to Cg near the end of the cy c l e by a t r a n s f e r gate a p p l i e d to the base of t r a n s i s t o r T^. The t r a n s i s t o r Tg i s common to a l l u n i t s of a r e g i s t e r . I t i s c u t - o f f on a p p l i c a t i o n of the t r a n s f e r gate so that diode D^ ^ blocks. The t r a n s i s t o r Tg i s gated by a clock-pulse t r a i n . Tg t r a n s f e r s charge from Cg to C^ i n quan-t i z e d increments u n t i l C„ i s completely discharged. The quantizing operation gates a f l i p - f l o p f o r the duration of the C„ discharge. This f l i p - f l o p provides a modulated pulse-F i g . 6.1. Proposed S i n g l e - D i g i t U n i t J 61 length output which c o n t r o l s the quantized r e c y c l i n g and which can c o n t r o l the current gates of other u n i t s . T r a n s i s t o r T^ performs a quantized carry i n a s i m i l a r manner as d i d Tg, the di f f e r e n c e being a 10:1 voltage r a t i o at the respective t r a n -s i s t o r bases. The Schmitt Trigger i s used to detect the voltage l e v e l on and provide the carry pulse. No p r o v i -s i o n has been made f o r a borrow operation i n the r e v i s e d u n i t since with proper coding of negative numbers the capa-c i t o r can be made to sweep i n one d i r e c t i o n only. I f the proposed s i n g l e - d i g i t u n i t can be made to operate s a t i s f a c t o r i l y i t w i l l be simpler than the u n i t already con-st r u c t e d because i t w i l l not require a complementary c i r c u i t , and i t w i l l a l so be f a s t e r because the charge t r a n s f e r i n the carry operation w i l l be almost instantaneous. 62 7. CONCLUSIONS A simple accurate method has been developed for gen-erating arbitrary continuous functions. The single-digit unit which was built proved to be very successful and shows that the complete function generator can be built using easily realized circuitry. The same unit can be used as a building block to construct adders, storage re-sistors, and integrators as well as the function generator for which the unit was ini t ia l ly proposed. A multiplier has been devised elsewhere which completes the basic components for a general real-time simulation computer. Al l that re-mains is the control circuitry to co-ordinate and multiplex the operation of each of the basic components. The function generator will at present operate at a 70 kc/s clock-rate. This speed could be easily increased by a factor of 3 with only minor modifications to the exist-ing circuitry. The speed is limited mainly by the linear carry-borrow operations. These speed limitations can be further reduced by the proposed revised single-digit unit which incorporates a high-speed carry operation. The speed, simplicity, and versatility of the existing and the proposed single-digit units make the construction of a real-time simulation computer economically feasible. BIBLIOGRAPHY 63 1. M i t c h e l l , J.M., and Ruhman, S., "The TRICE—A High Speed Incremental Computer", I.R.E. N a t i o n a l Convention  Record, part 4, March 1958, pp. 206-209. 2. Park, W.J., "Arithmetic C i r c u i t s f o r a Time-Sequential P u l s e - P o s i t i o n Modulation Analogue Computer", M.A.Sc.  Thesis, U n i v e r s i t y of B r i t i s h Columbia. 3. Lee, R.C., and Cox, P.B., "A High-Speed Analogue-Digital Computer f o r Simulation", I.R.E. Transactions on E l e c -t r o n i c Computers, v o l . EC-4, no. 2, June 1959, pp. 186-196. 4. Skramstad, H.K., "A Combined An#logue-Digital D i f f e r e n t i a l Analyzer", Proceedings of the Eastern J o i n t Computer  Conference, no. 16, December 1959, pp. 94-100. 5. Ross, H.McG., "Equipment of Instrumental Accuracy f o r Re-cording and Reproduction of E l e c t r i c S i g n a l s , using Cinematographic F i l m " , The Proceedings of the I n s t i t u - t i o n of E l e c t r i c a l Engineers, v o l . 102, no. 3, part B, May 1955, pp. 323-342. 6. Stacey, J.S., "A Function Generator f o r a Time Sequential Analogue Computer", M.A.Sc. Thesis, U n i v e r s i t y of B r i -t i s h Columbia. 7. S i l v e r b e r g , B., "Function Generator f o r Radar Simulator", E l e c t r o n i c s ^ v o l . 32, no. 2, January 1959, pp. 52-55; 8. Johnson, C.L., Analogue Computer Techniques, New York, McGraw-Hill, 1956. 9. Boulding, J.D.R., "An Analogue Method of Function Genera-t i o n Using a Magnetic Drum", M.A.Sc. Thesis, U n i v e r s i t y of B r i t i s h Columbia. 10. Beck, R.M. and M i t c h e l l , J.M., "DAFT : A Digital/Analogue Function Table", Proceedings of the Western J o i n t Com- puter Conference, v o l . 17, May 1960, pp. 109-118. 11. A l l e n , CD., "A Method f o r the Reduction of E m p i r i c a l M u l t i -V a r i a b l e Functions", Computer J o u r n a l , v o l . 1, January 1959, pp. 196-200. 12. Gordon, K.I., "Some New Techniques f o r Operational Com-puters", M.A.Sc. Thesis. U n i v e r s i t y of B r i t i s h Columbia. 64 13. N i e l s e n , K.L., Methods i n Numerical A n a l y s i s , New l o r k , Macmillan, 1956. 14. Wallace, R.L., and Raisbeck, G., " D u a l i t y as a Guide i n T r a n s i s t o r C i r c u i t Design", The B e l l System Technical  J o u r n a l , v o l . 30, no. 2, A p r i l 1951, pp. 381-417. 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0103231/manifest

Comment

Related Items