Study For Applying Computer-Generated
Study For Applying Computer-Generated
_' .'»'.'■■'■
Z
o
H
<
J
CO D
o .2
o ■ i—i
r» en
Q J
< <
D
to
O
H
to
W
Ü
<
ra
Q
w in
h
<
Pi
w
z o
w O)
w
h
D
OH
CO i a>
2 >>
o 4-1
<D C
U
o
u *
cö
a. cö
Ü (-1 -a
z B •i-H
1—4
^ o >H
O U O
>H i—t
cd
J o
OH B Ü4
OH a M fc O
J3 4-1 X! sO
< U Ü O O
CO CD ert —<
OS i—i
o • w 00 <U
< f-H HQ
at
w rt G R
M U O
Q D
tu <D 4-1 4-1
D X5 a >, a : I
h O <D CO (i)
CO OH ÜQ CO
I
■"■■■■ ■' ■ " _.. .."._J!1..--.'™'"''.'l'-l'
"■ ———~
.
' ■ -
I
AFHRL-TR-69-14
■Bigg
SEPTEMBER 1989
AIR FORCE
STUDY FOR APPLYING
COMPUTER-GENERATED IMAGES
TO VISUAL SIMULATION
R. Schumacher
3. Brand
M. Gilliland
W. Sharp
General Electric Company
D D C
!
» FEB 10 1970
JuElalLUÜlLlü.
Sponsored by
Training Research Division
Wright-Patterson Air Force Base, Ohio
LABORATORY
Reproduced by «he
CLEARINGHOUSE
for Federal Scientific & Technical
Information Springfield Va 21151
NOTICE
This document has been approved for public release and sale; its
distribution is unlimited.
jttcläjÄ'V"
im
muwmsa
o
AFHRL-TR-69-14
SEPTEMBER 1969
R. Schumacher
B. Brand
M. Gilliland
W. Sharp
General Electric Company
Sponsored by
Training Research Division
Wright-Patterson Air Force Base, Ohio
FOREWORD
I
I
H
ABSTRACT
This report describes the results of a system design study for applying
digital image generation techniques to visual simulation for pilot training.
The computer-generated images are to provide out-the-window scenes for a
flight simulator which is to be used for training Air Force pilots.
No existing visual system can provide all of the capabilities which are
desired in a flight simulator. Digitally generated scenes do overcome many
of the shortcomings associated with more conventional approaches but have
had limited application because of the difficulty of computing enough image
detail. The ability to generate images of more complex and realistic environ-
ments is closely tied to advances in digital device technology. The study
assesses the impact of recent developments in this area on the design of an
image generating system.
The conceptual design of an image generator is described. The principles
of operation, the system configuration, and operational characteristics are dis-
cussed. Several key problem areas are explored in depth. Feasible methods
of implementation with presently available hardware are examined and an
estimate of the hardware complexity is given.
in
SUMMARY AND CONCLUSIONS
PROBLEM
APPROACH
RESULTS
This report describes an image generator for pilot training. This gen-
erator used a general-purpose computer with three special computer processors
for object, terrain and point light source generation. The output of this gen-
erator is compatible with standard television equipment.
CONCLUSIONS
A digital image generator for pilot training is feasible. The equipment
design is complex but is also extremely flexible and should be very reliable.
James D. Basinger
Project Engineer
A. F. Human Res. Lab.
IV
J
TABLE OF CONTENTS
Section Page
I. INTRODUCTION 1
A. PURPOSE OF STUDY 1
C. RESULTS 2
B. OPERATIONAL REQUIREMENTS 5
A. PRINCIPLES OF OPERATION 11
B. SYSTEM CONFIGURATION 18
C. SYSTEM PARAMETERS 20
IV. PRIORITY 23
A. BACKGROUND ... 23
B. MATRIX TECHNIQUE 24
E. CONCLUSIONS 37
B. DEFINITIONS OF TERMS 39
TABLE OF CONTENTS (continued)
Section Page
A. GENERAL 53
B. COMPUTING TASKS 53
C. DESIRED CHARACTERISTICS 54
D. CONFIGURATION 55
E. COMPUTING TIME 57
F. SOFTWARE 58
A. GENERAL 59
C. EQUIPMENT CONFIGURATION 63
A. INTRODUCTION 91
B. SURFACE SCANNER 91
D. SUMMARY 106
vi
TABLE OF CONTENTS (concluded)
Section Page
A. GENERAL 107
A. GENERAL Ill
B. ESTIMATES Ill
REFERENCES 113
BIBLIOGRAPHY 115
APPENDK 117
Vll
LIST OF ILLUSTRATIONS
4. Image Formation 11
7. Convex Quadrilateral . . . 24
8. Separating Plane 25
Vlll
iiiiiMii^iÄÄ»
"
27. Divider 69
34. Edge Parameter Buffer and Edge Storage and Update Unit. 84
ix
List of Illustrations (concluded)
LIST OF TABLES
xi
I. INTRODUCTION
PURPOSE OF STUDY
This report describes the results of a system design study for applying
digital image generation techniques to visual simulation for pilot training. The
computer-generated images will provide out-the-window scenes for a flight
simulator that is to be used for training Air Force pilots.
No existing visual system can provide all of the capabilities that are de-
sired in a flight simulator. Conventional image generators that use film or
physical models have limited dynamic freedom, constrained operating envel-
opes, and an image quality that is limited by a finite depth of field. These
problems do not arise in a computer-generated display. The images possess
an infinite depth of field, follow all dynamic inputs, maintain proper per-
spective, and the models, consisting only of numbers in a computer memory,
are easily modified or exchanged for others. These features have been en-
joyed by engineering and research groups who accepted a somewhat symbolic
representation of the environment in exchange for flexibility and dynamic
fidelity not attainable in other systems. However, successful application of
this technology to pilot training simulators requires that sufficient environment
detail and realism be provided to immerse the trainee visually in his tasks.
The first two topics are concerned with the generation of three-dimensional
objects. The object-processing section is organized around a list-processing
concept for providing priority among objects. This concept significantly re-
duces the hardware and software involved in object generation and allows for
future expansion of capability with only linear increases in complexity. This
new approach to the problem requires that certain restrictions be placed on
the environmental model. A large portion of the study was devoted to deriving
these restrictions and evaluating their impact on environment modeling.
C. RESULTS
H. SYSTEM REQUIREMENTS
Some of the basic properties of computed images are stated here to il-
lustrate the types of scenes that may be generated. The environment model
is generally processed by three separate image-generating techniques, each
of which is particularly suited to provide certain types of environment infor-
mation. These techniques include:
1) object generation
2) surface generation
3) point-source generation
In each case, the image is computed in real time and mathematically correct
perspective is maintained.
Although the object appears to be solid, its faces have no thickness. The
observer is free to move arbitrarily close to a face, or through it, in which
case the inside surface would be seen.
i'
i
Figure 1. Example of Scene Generated by Basic Techniques
a large dynamic range. The apparent curvature of the horizon is a special ef-
fect provided for this simulation and does not indicate that the surface is
curved.
The texture patterns are stored in "maps", which are addressed by the
ground coordinates of the scanning ray. Each of the patterns repeats along
both cardinal axes. An extensive network of patterns is thus provided with
relatively little storage. The stored patterns are easily changed, but must
retain their rectilinear format because they are composed of square cells.
B. OPERATIONAL REQUIREMENTS
1. Airport Operations
2. Other Aircraft
used; otherwise, both views might be provided for one pilot and the lead air-
craft could be placed on a preprogrammed flight path or put under the control
of an instructor. In either case, both views would be operating in the same
environment. Because moving objects are involved in these environments,
priority considerations require certain restriciions on the relative positions
of the two aircraft and any three-dimensional terrain. If all maneuvers are
conducted at altitudes higher than the terrain, then the problem can be ignored.
This subject is discussed further in Section IV.
3. Aerobatic Maneuvers
No particular problems are posed by this task, since the image gen-
erator is capable of responding to any new set of inputs on a frame-by-frame
basis. Any of the environment models previously discussed could be used
here. Recognizable terrain, unique landmarks, and textured surfaces are
features that would be appropriate.
The significant problems that are added in this task are: (1) the
ballistics of the weapon, (2) portrayal of the weapon during flight, and (3)
portrayal of impact effects. The ballistic computations become quite complex
for many weapons. The available computing time in the general-purpose
computer would limit the fidelity of this computation if it were performed by
the im age-gene rating system. An alternative approach could be employed if
sophisticated ballistics were required. The dynamics of the weapon could be
computed by the flight dynamics computer and supplied as inputs through the
channel otherwise used to control a second aircraft.
ig«»*»'
. /» • •■ ■■■ —■—- -"*•»»"•■*»
operating in a common environment, except that each may view a dif-
ferent aircraft. Thus, the terrain portions of the environment will be
the same, but storage must be provided for two separate aircraft.
Assuming that each aircraft is modeled with 150 edges and the re-
maining capability is used for terrain, environment storage must be
provided for 650-edge complexity.
2) Each view will have a textured surface generator that will provide
images of one plane surface. The primary use of textured surfaces
will be to provide motion cues over large expanses of ground. At the
present time, insufficient data are available to evaluate the efficiency
of using this technique to provide recognizable features such as run-
ways and roads. Therefore, its images will be principally symbolic.
However, rather than having all patterns repeat indefinitely, maps
will be provided to select semi-unique locations for certain patterns
as an aid to navigation. A new approach to surface generation will be
used (rather than that used in the NASA system) so that standard
television monitors may be employed.
I
v
9/10
A. PRINCIPLES OF OPERATION
1. Object Generation
11
TABLE I
2. J - element number
The display plane is centered on the u axis and perpendicular to it. Axes v and
w are oriented, respectively, along a raster line in the direction of increasing
element number, and perpendicular to the lines in the direction of increasing
line number.
The raster lines are numbered from the top of the display to the
bottom, and elements are counted from left to right. The raster pattern is
traced by the vector P, which emanates from the station point and points to
successive display elements. This vector is described in terms of its three
components, PC, PL and PE. PC locates the starting point of the scan in the
upper left-hand corner. The vector PE is used to step P along the scan line,
and PL is used to go from line to line. The P vector to any point on the dis-
play plane can be expressed in terms of an element number, a line number
and these three components. These quantities have been defined in a form
that is convenient for computation and are normalized to the display width
so that only the u component of PC need by changed to modify the computed
field of view.
12
• iMMKK«jijj|ijj
1
frame which relates the station point and the object coordinate system; the VL
vectors are then easily formed by addition. It is, therefore, only necessary
to transform the three P vector components and the L vector to object coordinates
to provide compatibility.
In order to find the image of the face shown, we must know when the
extended P vector pierces the face 1-2-3-4. The problem is further simplified
by examining the position of the scanning ray relative to the edges. In these
terms, the face is pierced only when the ray is simultaneously below edge 1-2,
to the left of edge 2-3, above edge 3-4, and to the right of edge 4-1. The
edges are thought of here as infinite lines rather than line segments.
Consider the edge 1-2 and its image^ The scanning spot is below
edge 1-2 only when the scalar triple product P- (VLil X VL£) >0. Call this
condition F.. Similarly,
Therefore, the condition that the P vector be inside of the image of face
1-2-3-4 is F = F1F2F0F4, where juxtaposition denotes logical AND.
If the side of the face where the vertices appear in clockwise order,
as above, is called the front face, then F is the condition for drawing the
front face. Call 4-3-2-1 the back face, and say that B is the condition that the
extended_P vector ray pierces the face through the back side. Then B =
F F F F
1 2 3 4» wnere the bar denotes logical negation. By convention we will
say that the back side of a face is that side interior to a polyhedron.
P=PC+ I PL - J PE
Q = QC + I QL - J QE
13
where
QC = PC • (VL! x VL$)
QL = PL • (VL1 x VL2)
QE = PE • (VL1 x VL2)
Q crosses zero when the scanning vector, P, comes into the plane con-
taining the two vectors VL1 and VL2. Since we are interested only in the zero
crossing, the magnitude of the scalar triple product may be scaled arbitrarily.
This allows the VL and P vectors to be independently multiplied by non-zero
scalars. In practice, the VL vectors are normalized and the P vector is ex-
pressed relative to the display dimension "d".
J = A + IB
o
where
A=SC
A
QE
QE
i We will compute J_ only for those cases where the edge image crosses
two or more raster lines; otherwise we will compute the line number which
I satisfies the equation:
Io = - &
QL
Thus two situations arise. For the normal case, the edge 'mage is
represented by:
14
ws****
QE
° QE
When the image is almost parallel to a raster line, the A and B quantities have
a different interpretation;
QC
A'
QL
B' = 1.
Here A' is the negative of the line number and B' is a number which, when
added to A', will change the sign of the sum when the image line is reached.
There is one ambiguous case, which can arise because edge image
quantities are formed for edges that lie behind the station point as well as
for those which lie in front of it. The ambiguity can be eliminated by testing
the station point position to see if it lies on the front or back of the face. If the
station point is on the front side, then is it impossible to see the back. This
test, which must be performed for every face in the environment, is called the
"aspect" test.
2. Surface Generation
I
STATION POINT
H P
Y =
The subscripts denote the components of the vector. The intersection points
must be computed for each element on the display plane. By expressing the
P vector in terms of the line and element numbers, the above expressions
may be rewritten to show this dependence explicitly:
16
H(PC + IPL + JPE)
(PC + IPL + JPE)
3. Point-source Generation
I - 52 \i++B8JL
dS
L u .
m r si
J d S
[ u_
17
The line and element number must be computed to the nearest integer. If
intense point sources are required, it may be necessary to display them on
both fields of the raster (and occupy two lines) to avoid flicker. In this case,
it is necessary to retain one fractional bit of the line number, so that the
proper line may be selected during each field.
Unlike objects, point-source images can never fall in more than one
view at a time when multiple views are arrayed about a single station point.
Therefore, it is practical to compute a view assignment for the points and a
common computing unit may serve a number of views.
B. SYSTEM CONFIGURATION
1) General-purpose Computing
2) Surface Generation
3) Object Generation
4) Point Source Generation
The video data words supplied to the Video Processors consist of six-bit
numbers. These numbers are used in one of two ways, depending upon whether
the system is to be used for color or black and white. For black and white
operation, the numbers are converted directly to analog voltages. For color
operation, the number is used as an address to access a 64-word color
memory. Each word in the color memory contains three numbers that specify
the intensity of the red, green, and blue components of the desired color. The
color memory and additional digital-to-analog converters are the only extra
components involved in providing color.
18
o
ET ZZL
X _
o
w -J CO _J
(A UI
n yz r. u z
II! 5 °<
>S5
FT
JTI
Ui
(D bj -J -J
1 ID UI
si
y w i
O S 2
a "> <
- w i
> « u ><o
tit f-i
2 bo
(0
I- 2
> UJ </>
t- CD
ID <n to
3IUQ-I >■ u
f/>
«I O Z «S = zz
in
m o
z
o
UK
O HZ I
ui tn< u
Z UJ a:
oo°<
at- z X
3
in
S
i-
<i
a
p B v) < o
z (E Si
< o UJ o
It z
111
z \-I
ut
' .— 1 '
I-
'
1
UI
(9 2
» I , L \j
i
UI
z c
UI a:
19
3 5§ C
u.
a:
I
n
ä
OJ
-r
R8
UI o
a. «
2 M
a
i
o
I L ii
19
The Video Processors combine the video data generated by each sub-
system using a fixed priority relationship. The surface generato; output has
the lowest priority, which means that its data are displayed only when no
other data are present. Point-source video has the next highest priority and
is displayed in preference to the ground surface. Object video is always dis-
played when present. This method of combining the video is only valid foi
point sources at ground level such as runway lights. The relative priority of
point sources and objects would be reversed for representing tracer fire,
neglecting the case where rounds drop behind objects (which occurs infrequently).
The Object Generating Subsystem is divided into two sections. The com-
puting section performs the vector mathematics described previously. Its
output is the set of A and B edge parameters. Both computing blocks have
sufficient capacity to process 1000 edges and can therefore provide data for both
channels. The object processing section constructs the display plane image
from the edge parameters. Data are prepared line-at-a-time in the Video
Assembler.
1. Field of View
2. Raster Parameters
The design of the image generator depends strongly upon the choice
of the television line standard. On the assumption that vertical and horizontal
resolution are to be comparable, the number of picture elements to be com-
puted varies as the square of the number of display lines.
The line standard not only affects the computed video rate, but is
especially significant in the design of the Object Processing Section (see
Section VIII). In particular, the amount of hardware in the Video Assembler
is directly related to the number of picture elements on a raster line. For
this reason, it is impractical to provide programmable control over the line
standard. The system is therefore bs> ed on a 1023-line display with the fol-
lowing characteristics:
20
Frame rate - 30 fps
Interlace - 2:1
Active lines and elements - 1000 nominal
Line period - 32.6 microseconds
Active line time - 27 microseconds
Video clock rate - 40 MHz
3. Coordinate Systems
5. Input Interface
The image generator requires flight dynamics inputs that specify the
position and attitude of the aircraft and certain control information. A com-
plete set of inputs is required once per frame. An all-digital interface is
assumed.
21
A small amount of control information is required. These bits
would be used to initialize or hold the position of the dynamic coordinates sys-
tems, signal weapon firing, etc. A single data word suffices. The entire
data communication between the dynamics computer and the image generator
consists of a 25-word transfer each frame.
22
. ■',-.'- ä . ,-..&
IV. PRIORITY
A. BACKGROUND
One of the most significant problems that must be faced in the real-time
computation of images is the priority, or hidden-line, problem. In our everyday
visual perception of our surroundings, it is a problem that nature solves with
trivial ease; a point of an opaque object obscures all other points that lie
along the same line of sight and are more distant. In the computer, the task
is formidable. The computations required to resolve priority in the general
case grow exponentially with the complexity of the environment, and soon
they surpass the computing load associated with finding the perspective images
of the objects. This occurs because the problem is a relational one where, at
least implicitly, a point on an object must be compared with other points on
that object as well as with every other object, in order to reach a decision as
to its visibility. Fortunately, many simplifications result when the objects
are restricted to non-interesting polyhedra with convex faces. In this case,
the problem is reduced to one that grows as the square of the number of con-
vex objects. This, too, soon becomes intolerable. It means that advances
in computing technology (or increased expenditures) would not lead to pro-
portionate improvements in image complexity. The solution of the priority
problem would always be limiting.
23
extendable to a real-time system organization because the computing power
and the data buffering requirements in several segments of the system are
strongly dependent on certain image-plane statistics that are not well known at
this time.
{
!
Real-time solution of the priority problem was implemented in the NASA
II system by a priority matrix technique which is described in the next
section. It is a direct solution that may be used (at least in concept) to handle
any environment that can be constructed from non-intersecting polygons. It
has two drawbacks. The hardware complexity increases with the square of
the number of objects to be generated; and associated computations, although
somewhat dependent upon the geometric arrangement of the environment, also
tend to increase as the square of the number of objects.
The conviction that future systems must avoid the type of limitations in-
herent in the matrix approach led to the development of what is termed a
"priority list" technique and a system organization based on it. The priority
list technique reduces the problem to one that is linearly dependent on the
complexity of the environment. This feature is obtained by sacrificing some
of the previous freedom to arrange objects geometrically to form environments.
This section of the report is concerned with the rigorous determination of the
required geometric constraints - an initial step in the practical application of
the concept.
A convex body may also be described by its vertices. For example, the
quadrilateral in Figure 7 has vertices A, B, C and D. They define the
24
for all a. that satisfy:
I a, = 1, «j > 0
This description is also valid for solids, in which case the vertices would not
be coplanar. '
X.
*p.
The name, pj, is on the front (true) side, and the normal vector points out of
the back (false) side. The true side consists of all points X for which:
X • N<P„ N (2)
By using a few simple rules, the priority question may often be resolved
among a group of faces without resorting to separating planes. An example is
a convex solid. Actually, a thin-walled shell, rather than a solid, is generated.
The outside faces of the solid would be given priority over the inside faces.
If it were unnecessary to go inside the obje-t, then the back faces would not
be considered. No conflict can arise among the outside faces because the
convexity condition assures that their display plane images do not have common
areas. The term "object" will be used to indicate a priority entity which may
consist of a single convex face, a convex object, or the convex hull of a group
of objects.
25
A matrix is a convenient way to represent the pairwise priority relation-
ships. The priority matrix, A, consists of the set of elements ajj where
ajj = 1, if object i may obscure object j or a^ = 0 if object i cannot obscure
object j. Figure 9 shows a perspective drawing of three objects. In this
1 2 3
"5 p", p\ ^
1 0 1 0
h i $
Po Po <J
2
3
0 0
1 0
1
0
case, as is almost always true, faces of the objects could be found to serve as
separating planes. The original matrix shows the separating planes as entries
.*
(Si where the bar over an entry denotes the logical complement (false side of plane).
The right-hand matrix is evaluated for our viewing position. The value of the
matrix entries is controlled by our position with respect to the separating planes.
There is, of course, no matrix to be stored when the priority list approach
is used, because the priority information is contained in the processing order.
If n objects are involved, the priority computation consists of finding a list
of length n rather than an array of size n^.
I
It can easily be seen that some priority situations that can be represented
by a matrix cannot be processed in a list. For example, no list can be formed
for the scene shown in Figure 9. With reference to the matrix, one finds that:
(1) may obscure (2); (2) may obscure (3); and (3) may obscure (1) — an
unending chain. It is important to note, though, that this chain could be broken
by constructing one of the objects by using two smaller ones (at some cost in
the number of edges used). One possibility would be to cut object (3) into two
parts with plane pj. The part hidden by (2) would be called object (4). A list
could then be found for this environment for all possible vantage points.
*
The amount will depend on the "depth" and extent of priority conflict and is
environment-dependent.
27
_1
D. THE PROPER ENVIRONMENT
1. Graphical Analysis
v
.
The arcs in this graph show all of the necessary relationships between
the objects as specified by the matrix. The fact that there is an arc frfm vi
to V2 and another from V2 to V3 does not imply a relationship between v\ and
V3. In considering a list structure, however, the implied relationships are
important. If the list is to be valid, then the graph associated with it must
not imply relationships that contradict the matrix (or its graph). Implied
relationships are found by following paths that are directed sequences of arcs.
If a path exists from vj to vj, then Vj is said to be reachable from vj. A cir-
cuit is a path whose initial and terminal nodes coincide. The graph of Figure
10 contains a circuit.
28
It is obvious that no list can be formed if the graph of the matrix
contains a circuit. The list assigns a priority level L to each object. In our
example of a circuit, we would require L (V]j<L (V*2)<L (V3KL (V\), which
is contradictory.
The converse can also be shown, i. e., if the graph does not contain
any circuits, then a level assignment or list can always be formed. Let
the original priority matrix be A and its associated graph, G. Assume that
the objects in the matrix are numbered vj, V2,..., vn. If there are no circuits
in the graph then there is at least one node with no outgoing arcs. (If no such
node exists, then an infinite directed sequence of arcs could be formed and,
since there are a finite number of nodes, the path would eventually close on
itself at some node forming a circuit.) Label the node vn. If there are
others, assign them labels Vj2,. • •, v^. Form a new matrix A' where these
are the first k objects and a new graph G' = G - (v^, v^, • • •, v^j.
Certainly G' does not certain any circuits. Therefore we may fina at least one
node of it which has no outgoing arcs. This process may be continued until all
nodes are relabeled, and the matrix A' is completed. A' wiii be strictly
lower triangular, because there are no arcs going from VJJ to v^ for j<k
by construction. Therefore, the matrix associated with any graph that does
not contain circuits can be reduced to triangular form by a permutation
matrix Q: |
A priority level assignment may be made for each object of A' by letting
L(vij) = j. The higher the level number, the higher the object's priority.
The main diagonal entries in the matrix are always zero (a^ = 0 for all i)
since an object cannot take priority over itself. The matrix is asymmetric in
the sense that a- + a.. ^1 for all i t j. If all objects are separated by planes,
then the equality holds and the matrix represents a complete order, that is,
the level assignment is unique.
From the above, we may conclude that the following statements are
equivalent:
2. Matrix Criteria
The squar matrix A has elements ay. which may take on the booiean
values zero or one. Circuits of length one are precluded by stipulating thai
a^: = 0 for all i. h there is a circuit of length two through node i. then there
are two arcs with corresponding unit matrix entries at a^ and a^j. Since
these are non-negative numbers, circuits of length two are precluded by re-
quu-uig:
• • i
29
E
■
I ■ ■ ■ ■ . **{W'■.*.**-»!,üaWHüiifct«;
1
£ aik \i= °'for a11 i <4>
th (2^ 9
The summation of (4) is the i diagonal entry, a^ of the matrix A . The
parenthetical superscript denotes that the elementis associated with second
power of the matrix. Circuits of length two do not appear if A is asymmetric
(ajj + aji ^ 1). In general, the (i, j) entry of Ar is the number of paths of
length r between nodes i and j. For a matrix of order n, we need be con-
cerned only with circuits of length n or less, since any longer ones must nec-
essarily include shorter ones. Therefore, if all of the diagonal elements of
the matrices A, A2,..., An are zero, then the associated graph contains no
circuits. This may be expressed mathematically in terms of the trace of the
sum of the matrices:
= 0 —*• priority list exists
trrA + A2+...+Anl {
no priority list exists (5)
30
1
o P 0 1 P
h o 2
?2 S 2
Po
?3
Po
Po 3 p2 er g
^3 ^2 F
3 4;p3 P3 &
Matrix (1) Matrix (2)
f I
For r = 1: I
The condition is always satisfied, because the main diagonal elements
of A are identically zero.
For r - 2:
i..
(2) = V*
> a., a. . = a. • a
i (7)
li L~s ik Ki l
31
For r = 3;
It is helpful to write this expression out in the following form and view it as "a
dot product of the vector a. with the column vector (Aa*):
4i3) = (a
ii> ai2>---> ».JM fl
i (9)
This relationship also assures that the diagonal terms of all higher-order
matrices will be zero, since:
32
If such a path exists, then there must be a direct arc from i to j. Certainly,
there is no arc from j to i if there is one from i to j (because there is a sep-
arating plane between i and j). Hence, there is no possibility of a circuit.
— 2 — —
P2>a4'a - p3Pj + p2-0 + p3p2 + 0. p2 (15)
The second and fourth terms are obviously zero. The third term is no pro-
blem, since it contains p«. Multiplying through by p2, we find that p^Pß
must always be zero. This is not generally true; however, in this case, the
geometry prohibits this condition, as mentioned previously. A similar exam-
ination of the condition for aj£ requires P1P2P3 to always be zero. This is
not the case and, in fact, no list can be formea from this matrix when the
observer is on the false side of all three planes.
Matrix (2) represents the same environment and the same set of
separating planes. A check of its terms shows that a list can always be
formed. It is therefore possible to have a proper environment, but an im-
proper choice (or use) of separating planes will make it impossible to obtain a
list in certain cases.
for all i and j. Expanding the row and column vector, the requirement be-
comes:
a a =
ij jk\i ° <17>
for all i, j, and k. This equation may be satisfied by one or more of the
following conditions:
33
3) The geometry of the situation is such that all three plane variables
cannot be simultaneously true.
The environment designer need not be concerned with condition (1). Condition?
(2) and (3) only apply when i, j and k are all different, since the other cases
are included in (1). Therefore, we are concerned with cases involving three
distinct objects and their separating planes.
If it were not for the possible cases admitted by (3), then it could be
concluded that (2) must always be satisfied. Condition (2) is satisfied only by
having two of the three objects separated from the third by the same plane as
shown in Figure 12. Here, i is separated from j and k by pg, while j and k
are separated by a second plane. Thus, three objects must be separated
by two planes.
P
©
*
© ©
What other cases are possible under condition.(3)? Each of the three
terms of (17) are distinct planes in this case and each may be represented by
an inequality of the form given in (2). The three inequalities may be combined
and written in matrix form as:
(18)
where C is a matrix whose row vectors are related to the normals of the
separating planes, and k«, k2, and kg are associated with the distance of the
planes from the origin. The set of simultaneous inequalities will have no
solution, as required by (3), only if the rank of C is less than three. This
occurs only when the three normals can be contained in a plane.
34
mim*- ■ ■ •■ ■ ■ ■ *»
©
p
2
(PjPgPg)
P
which implies that two_of the eight possible states can not be reached. They
are (p^Ps) and (pjPgPß). These are states that the geometry will not allow.
If one of these states arises from considering (11) for element a^, then a
corresponding state will also arise where each term is complemented when
ejement a^ is considered. Since both complementary states (P1P2P3) and
(PjP2pg) do exist, there is no way that this configuration could be used to
properly separate three objects. It can also be shown, by enumerating the
possibilities, that any arrangement of objects that can be separated by planes
of configuration (A) can also be separated by only two of them and, hence,
handled by condition (2).
35
Figure 15. Configuration (B) where Rank of C = 2
exist and would be encountered in the symmetric matrix term. It should also
be noted that there is only one arrangement of objects, within this separating
configuration, that is prohibited and that is the one indicated in the figure.
All others may be separated by two of the three planes.
The final case is a degenerate version of the last one, and is shown
in Figure 16. The three planes intersect in a line. Here, the two states
36
', #1
that are excluded are (p.p^Po) and (P1P2P3), which are complements. For
the arrangement of objects shown, these are the only two terms that would
arise in considering the matrix terms, and the case is allowed. Because the
definition of the true side of the plane in (2) includes the equality, the line
of intersection would actually yield the condition (PJP2P3). The case can
still be accommodated if it is recognized that the order of priority is un-
important for this state and it is handled accordingly. This configuration is
termed the "star" case.
E. CONCLUSIONS
This means that the number of separating planes and the number of tests
which must therefore be made increases only linearly with the number of
objects. The matrix, although useful in considering the restrictions, need not
be formed to obtain the list.
37/38
STATUS OF THE SEMICONDUCTOR INDUSTRY IN
DIGITAL INTEGRATED CIRCUITS
The first consideration in the system design process is, "What kind of
equipment is available to work with?" Several years ago, the most important
part of the answer to this question might have consisted of a list of available
transistors, along with their frequency capabilities, breakdown voltages, and
so on. More recently the answer has become complicated by the broad
availability of families of integrated circuits, necessitating judgements based
on power consumption, logic speed, noise characteristics, and many other
parameters. However, the present and future availability of large and
medium-scale arrays adds further dimensions to the problem of defining
a set of ground rules for the design of a large system. Important considera-
tions are:
The answers to these questions and to several others all affect the initial
system design decisions - how the computation will be broken down and how
each part of the computation will be carried out.
-
The results of literature searches and trips to semiconductor vendors
and the way in which these results affect the design of various parts of the
system are described in this section. f
B. DEFINITIONS OF TERMS
I
39
MSI Array - a circuit containing several logic gates or flip flops inter-
connected to perform a simple logical function. This category excludes such
things as quad latches and hex inverters, but includes short shift registers,
counters of a few stages, and decoders.
LSI Array - a circuit containing many logic gates or flip flops intercon-
nected to perform a complex logic function. Examples include multiple shift
registers of 16 or more bits, 8-or-more-bit parallel adders with carry look-
ahead, and up-down simultaneous counters with eight or more stages.
This section covers the findings of the literature search and vendor visits
described above as they relate to the types of circuits that would be useful in
a contemplated large system.
1. MOS Circuits
40
i
metallized interconnections are very simple. Processing is therefore
simplified and the chip area required for interconnections is minimized.
Both of these factors emphasize the strongest advantages of MOS circuitry:
simple processing and high component density.
TABLE II
MOS SHIFT REGISTERS
t^OUT
i
?
4> ■ CLOCK
41
Memory circuits are available in both random-access and read-only
configurations. One of the more complex read-only memories available is
the Fairchild 3502, which contains 4096 bits and has an access time of about
800 nsec. This memory, organized into nine-bit words which are read out
in parallel, is aimed at the character generator market. Fairchild also
has two types of random-access memories available: the 3531 and the 3511.
Both are 256-bit memories. The first has internal addressing logic and an
access time of 1 /jsec. The second consists of the memory array only, and
can be externally addressed by fast logic through converters. Its access time
is 300 nsec. Texas Instruments is nearly ready to introduce a similar 256-bit
random-access memory array, which has a 100-nsec access time.
TABLE IE
42
The real attraction of the variable array approach is that it allows a
customer to have at an acceptable price in time and money,MOS circuits which
perform specialized logic functions, which a manufacturer could never pro-
duce as standard products because of the specialized nature of the circuits.
This approach, or some other customizing approach, is essential if large
systems are to be built primarily of MOS circuits.
Within the next year the proven feasibility of MOS variable arrays,
the ready availability of 4 to 5 MHz circuits, and the production of circuits
with bipolar-compatible logic levels could make the design of a large system
almost entirely out of MOS components an attractive alternative.
TABLE IV
EXAMPLES OF AVAILABLE MSI CIRCUITS
43
Several high-speed logic families are now on the markei or are
about to be introduced. Table V, lists several characteristics of representative
families.
I
TABLE V
HIGH-SPEED LOGIC CHARACTERISTICS
Three years ago, industry watchers were predicting the early demise
of emitter-coupled logic (then represented almost exclusively by Motorola's
MECL family) and they indicated that TTL as the family that would make large
high-speed computers practical. There were several reasons for this pre-
diction. Logic designers were familiar with saturating logic circuits. TTL iö
saturating logic and offers many advantages over the earlier DTL and RTL
families - primarily higher speed and push-pull output drive. MECL, on the
other hand, is not saturating logic. Its logic swing is only 0. 8 V peak to peak;
neither logic level is at ground; noise Lnmunity is only 150 mV on each logic
level.
44
Fairchild and Texas Instruments have patterned their ECL logic
families after Motorola's in many respects. The Texas Instruments line
unfortunalely requires a separate bias driver, as did MECL Fairchild's
ECL family is considerably faster than MECL II and has one very significant
circuit advantage. The Fairchild logic circuits incorporate a temperature
compensating network that holds the logic levels within much narrower limits
than is the case with MECL II. As a measure of how far advanced the develop-
ment of the Fairchild and TI ECL families are, it is interesting to note that
as yet neither family har a flip flop characterized.
Ironically, Motorola's own efforts at introducing an even faster ECL
family have met with limited success. More than a year ago, the initial cir-
cuit characterizations for a MECL in family were revealed. These circuits
were to have propagation delays less than one nsec; 400 MHz flip flops were
expected. Not long after the initial characterization, three circuit types were
introduced. These were the MC1660 dual four input gate, the MC1662 quad
two input gate, and the MC 1670 type D flip flop. Propagation delays for the
gates were 1.1 nsec; that for the flip flop was 1. 8 nsec. The maximum
toggling frequency for the flip flop was greater than 300 MHz. Two of each
type of these circuits could be purchased in an embossed plastic attache case
for $150. Prices have since come down to $10 per gate and $18 per flip flop
for quantities of 100, but these three circuits are still the only ones available.
Rumors have it that Motorola's MECL III is having difficulty in making the
jump from pilot line to full production. There is a warning here for the system
designer who would base a projected system on circuits that are "almost
ready to be introduced".
IN I
Y
4 -o «
45
version of Fairchild's CTL family, which has been on the market for several
years. The circuit differs from most other logic circuits in that it is not a
threshold switching device, but an amplifier. ECL and TTL are examples of
threshold circuits. When the inputs of a threshold gate begin to change state,
the output remains static for a time. Then, when the inputs pass through the
transition region of the gate, the output begins to move. Finally, after the
input has passed through the transition region, the output is no longer affected
by the input and continues to move until its transition is complete. Thus, the
rise time of the input signal can be seen to affect the operating speed of a
threshold gate, since the output does not move until the input signal has reached
the threshold of the gate.
Inspection of Figure 18 shows that the CTL gate does not operate
this way. The gate is basically a cascaded emitter follower circuit. When
the inputs begin to move, a short propagation delay occurs and then tha output
begins to move. The significant difference between CTL and thresholded cir-
cuits is that the operating speed of CTL is not dependent on input rise time.
CTL circuits are correspondingly designed to have short propagation delays
and relatively long rise times. Figure 19 shows the relationship between
input and output for a CTL II gate.
INPUT
OUTPUT
CTL has several disadvantages. For one thing, the fact that the
gain of a gate is less than unity means that the logic signal must get smaller
and smaller as a signal is transmitted through several gates. Because of this,
level restoring circuits must be used in the logic chain after a certain number
of levels of logic have been used. Furthermore, the conventional definition
of noise immunity does not carry much meaning when applied to CTL circuits.
Ordinarily, one defines noise immunity for a gate as the number of volts an
input can be moved (from either logic level) without producing a signal at the
gate output. By this definition, the noise immunity of a CTL gate is zero. It
is necessary to redefine noise immunity in terns of the actual application as
the amount of noise voltage that can be introduced at a point in the system
without producing an erroneous system output. Naturally, this definition is
much harder to work with.
46
Hpn
CTLdoes offer some significant aas* tages. Most of these relate
directly to the designed-in slow rise time. * my of the difficulties encountered
in signal transmission between parts of a s* ±m and in noise and cross-talk
generated within parts arise from fast-transitioning signals. These problems
contribute to both design complexity and to higher cost due to the necessity
for using multilayer boards and coax for improved signal transmission cap-
abilities. The non-thresholded nature of CTL allows the design of relatively
fast logic without the necessity of having very short rise times. This advan-
tage becomes more significant for very large systems.
3. Custom Bipolar MSI Programs
As was the case with MOS, there is a critical need for a means of
obtaining specialized logic functions in integrated arrays, since manufacturers
cannot afford to provide specialized functions as standard products. There
are two methods by which such specialized functions can be obtained; by util-
izing totally custom-designed circuits and by utilizing variable arrays. As
with MOS, the variable array approach yields cost and time advantages for
quantities less than 10,000 units.
Cost and time comparisons for custom and variable array approaches
with bipolar circuits are roughly the same as those shown for MOS circuits
in Table in.
47
TABLE VI
COMPARISON OF FAIRCHILD 4500, 4600 AND 4700
MICROMATRIX ARRAYS
Propagation delays for the TTL elements are typically 8 nsec per
gate for transmission on the chip and 12 nsec per gate for off-the-chip trans-
mission. The corresponding on-chip and off-chip delays for the DTL gates
of the 4500 array are 26 and 40 nsec for positive-going signals and 12 and 15
nsec for negative-fjoing signals.
4. LSI Programs
48
process are illustrated in Figure 20. Several different circuit types are fab-
ricated on a \\ inch silicon wafer and the individual circuits are probed to
determine which are good. The wafer probing is carried out at automatic
probing stations, and the locations of good circuits on the wafer are re-
cord 1. The customer's logic diagram is punched into cards and is entered
into the routing computer, along with the information on the location of good
circuits. The routing program then determines a fully or partially optimized
means of interconnection to provide the desired logical function with the
known good circuits. The output of the routing program is a tape describing
the metallization masks that are needed to implement the interconnections.
BASIC LOfilC |j
WAFER DIAGRAM I
PROCESS
l * "
AUTO.
CARDS
WAFER
PROBE
I
'■ ■
ROUTING
PROGRAM
Mie I
i '
FINAL
METAL I
This tape is used to drive the Multilevel Interconnect Generator (MIG) System.
The output of the MIG System is a high-resolution, high-accuracy, black and
white CRT upon which the patterns of the required metallization masks are
traced out. The patterns are recorded with a camera, the film from which is
used for the actual metallization masks. Once the interconnection mask set
has» been made, the masks are used with the particular wafer to which they
correspond to complete the circuit interconnections.
49
The significant way in which this Large Array System differs from
any other and from MSI programs known to exist is that the desired functions
are implemented from known good circuits. This allows using wafers that
have less than 100 per cent yield to obtain working circuits.
The circuits fabricated on tht wafers are the same as those in Texas
Instruments' Series 54 TTL logic family. Delay per gate is 13 nsec maximum,
flip-flop shifting rate is 10 to 15 MHz, and power dissipation is 10 mw per
gate. Two standard wafers are available. One of these, called the F slice,
contains 1856 shift register stages, 96 clock drivers, and 48 buffers, The
other standard is the K slice, which contains 128 JX flip flops and 642 gates.
Not all of these circuits are good, of course. Yields at wafer probe appear
to be about 70 per cent on flip flops and about 80 per cent on gates.
50
the number of circuits or cells that are to be interconnected. If shift registers
are to be constructed, the task of the routing program is relatively easy.
Shift registers of 1000 bits per package (or several shorter registers per
package with a total of 1000 bits) and with shifting rates of 10 to 15 MHz are
fairly readily available. To implement random logic functions is much more
difficult. The routing program now has a capability for interconnecting about
1000 nodes per circuit, where a node is an input or an output of a gate, flip
flop, or cell. As can be seen, the complexity of the function that can be in-
terconnected is greater if standard cells are used.
cells. Delivery time would be about two to four months for a single piece and
four to six months for fifty pieces.
One of the most difficult choices to make when selecting vendors for
semiconductor products is that between large and small manufacturers in the
same product area. A small vendor will generally be more adaptable and
more willing to make specia.' -purpose circuits. He will usually be more
profitable on low-volume items and therefore more willing to sell several
different specialized circuits at reasonable prices. Any given number of
dollars worth of circuits will represent a greater fraction of his total business
than for a large manufacturer and will, therefore, be more attractive to him
A large manufacturer, on the other hand, will usually have more advanced
technology in a given area. He will have more resources to back himself up
in case of technical trouble and, since he cannot sacrifice dealing with any
segment of the marketplace, he has a greater motive to preserve his reputation.
It appears that, since the dealings here are primarily with new technology
in circuits and arrays, the advantages of greater technical backup would
outweigh the advantages of greater flexibility. The decision would have to go
to the large manufacturer, unless there were compelling technical reasons
for doing otherwise.
51/52
VI. GENERAL PURPOSE COMPUTING SUBSYSTEM
A. GENERAL
The system computations are organized so that all of the data and soft-
ware which must be changed from environment to environment is contained
in the GPS. This simplifies the interface requirements with the remainder of
the system and allows maximum use of off-the-shelf equipment for the computing
tasks. The use of standard computing equipment also simplifies the software
effort since programmers are more likely to be familiar with the assembly
and higher order languages supplied.
B. COMPUTING TASKS
The computing tasks of the GPS fall into two categories, real-time and
off-line. The real-time tasks occur during a simulation and include input and
processing of flight data and computation of data for image generation. The
real-time tasks are repeated each television frame time. The off-line tasks
include maintenance, troubleshooting, environment construction and data
formatting.
1. Real-Time Tasks
53
i. Transmit data to image generating subsystems:
1) Surface generating data
2) Point source data
3) Priority list to Object Calculating Section
4) L and P vectors Object Calculating Section.
5) Color and control information to Object Processing Section
and Video Processor.
2. Off-Line Tasks
a. Accept and store vertex, face, and color data to describe the new
environment.
b. Test environment data for proper format and consistency.
c. Assist in establishing priority relationships between objects and
testing for proper environment.
d. Format and encode environment data.
e. Assemble operating programs.
C. DESIRED CHARACTERISTICS
5*
The system should also have a proven software package which includes
the following:
D. CONFIGURATION
Inputs from the flight dynamics computer are brought in to CORE #1.
The first central processor (CP#1) processes these inputs to obtain dynamic
vehicle positions and attitudes. The display parameters and location vectors
are transformed to the appropriate coordinate systems and stored in CORE
# 2. The main task of the first central processor is connected with point
source generation.
The optional use of a disc Iz shown for rapid environment changes. This
would interface with the second input/output processor for entering new
object data directly into CORE # 3. The disc would allow update of terrain
generated by object techniques and be useful in ixtended missions where
major portions of the object environment could be exchanged during a mission
55
T—'
1
i
CORE I/O
HOI PROCESSOR
■»
C.P.
NCI
POINT SOURCE
SUBSYSTEM
I i
CORE !
i 0ISC
i
1
L _J
MO-2
1
<
C.P
NO 2
i i i
I/O
CORE
N0.3 PROCESSOR
(9HA RED)
OBJECT SURFACE
COMPUTING GENERATOR
SECTION SUBSYSTEM
56
gaftaügsiiftfo»«'! inj&[Link]
' ' ' ■" ■"■'■■
depending upon the geographic location of the aircraft. For example, a flight
might start with takeoff from JFK (environment # 1), include an approach at
SYR (environment # 2) and end with a landing at DAY (environment #3).
The size of the first two core memories are primarily determined by the
off-line tasks of assembly and compilation. The storage required in the
third core memory is determined by the object environment size. The fol-
lowing amounts of storage would be adequate:
E. COMPUTING TIME
57
The second central processor performs the aspect test and forms the
priority list. The arithmetic portion of these computations consists of re-
peated vector dot products which require approximately 50 microseconds each
including related storage operations. One dot product must be executed for
each environment face and for each separating plane. These tests must be
repeated for the second view if it is independent. Assuming an average of
four edges per face and two independent views, the aspect tests would require
12.5 milliseconds. The remainder of the frame time is available for priority
calculations. A conservative estimate of the number of priority objects (and
separating planes) is one quarter of the number of faces. Therefore, approx-
imately 3 milliseconds are required for priority testing. Together, these
two tests occupy one half of the frame time. The second half frame is devoted
to list formation.
F. SOFTWARE
The real-time programs must be written so as tc obtain maximum ef-
ficiency from the computing hardware. For this reason, all such programs
are written for fixed point scaling and are originally coded in assembly lan-
guage.
With the exception of certain portions of the aspect and priority programs,
the real-time software is common to all environments. By the use of a few
code words, control parameters may be easily changed to adapt the program
to the different modes of operation required by the training tasks. The real-
time programs would require on the order of 4000 machine language in-
structions.
The main off-line programs would consist of an object set-up routine
and a data conversion and formatting routine. The set-up program would
check new environment data for consistency, compute face normals, and
examine priority relationships. It would require approximately 400 Fortran
statements. The second routine would further process the output of the set-up
program, convert data to fixed point scaling, and form the data blocks and
lists for the environment description. This program is estimated to require
400 Fortran statements and several machine language programs. In addition
to these two major programs, a number of service programs would be needed
to assist in environment design. These would check adherence to priority
rules, keep track of environment complexity, and provide other functions
associated with environment design. The principal software development
effort would be associated with priority processing.
58
~~"— - ———-— ' I- II |l llama*«
A. GENERAL
The Object Generating Subsystem must generate 500 edges in two views
at 30 frames per second. The frame time (33.3 milliseconds) and the total
number of edges (1000) determine the required OCS computing speed. To a
certain extent, the number of faces to be formed influences the design of the
OCS (mostly the data and list storage requirements). In the worst case, all
edges could be combined to form 332 triangular faces. This possibility re-
quires that a three-edge face be computed in slightly less than 100 micro-
seconds.
The display line standard to be used does not directly affect the complexity
of the OCS. It simply implies that the computations be performed with
enough resolution to limit the error in the edge images to less than the
granularity of the display. Scaling for a nominal 1000 line display is assumed.
The mathematical model must be stored in 30 bit words (minimum) to provide
the required range and range resolution.
The following are some of the factors considered in the conceptual design
of the Object Processing Section:
1. Data must be processed for two display channels in the Object Pro-
cessing Section.
2. The organization should not limit edge usage by assuming that en-
vironments possess certain simplifying properties.
3. Arithmetic operations should be controlled by fixed programs, not
software.
59
4. Careful consideration must be given to the interfaces with surround-
ing sections to facilitate the numerous data transfers.
5. Where possible, a multiplicity of identical designs should be in-
corporated to reduce design cost.
6. Computation should be organized to avoid feedback paths and data-
sensitive control functions.
7. Environment data must be easily accessible for rapid change.
8. High speed integrated circuits would be used because the logical
complexity of the arithmetic units limit the application of presently
available arrays.
1. Normal Calculator
When a face has been selected for inclusion in the current display
frame, the first vertex entry for that face is acquired. The position vector
(L) is added to the vertex vector (V) to form a vector from the station point
to the vertex (VL). Figure 22 illustrates these relationships for one face.
STATION POINT
EDGE 2
OBJECT COORDINATE
SYSTEM 0NI6IH —
V3 EDGES
The vector cross product of VL1 and VL2 defines the plane containing VERTEX
1, VERTEX 2 and the viewing point. This plane is then defined by the vector
that is normal to it:
60
= ^rzrcz^smmz
FACE 1 VERTEX 1
VERTEX 2
VERTEX 4
VERTEX 3
VERTEX 1
The vector for the first vertex is repeated to close the loop for the last edge
in the face.
For solid objects such as the hexahedron shown in Figure 23, the data
FACE 4 (BACK)
V8 I V7
FACES/ ,
(YOPV** I
FACE 3 (SIDE)
FACE 6 (SIDE)
FACE 2 (BOTTOM)
V4 • V3
FACE I (FRONT)
61
i
LOCATION VALUE
FACE 1 VERTEX 1
(front) 2
3
* 4
VERTEX 1
FACE 2 VERTEX 6
! (bottom) 5
4
3
VERTEX 6
FACE 3 VERTEX 2
(side) 7
6
I 3
VERTEX 2
FACE 4 VERTEX 5
(back) ?
I1
VERTEX 5
8
This table requires five vertex entries for each quadrilateral face
and the eight vertices specifying the hexahedron require 30 vertex files.
For the attitude shown; FACE 1, FACE 3 and FACE 5 are oriented
•
toward the viewer. Only these faces are represented in the data calculated by
the OCS. An aspect computation performed by the GPS determines which of
the faces are visible to each view. The GPS then furnishes a list which speci-
fies the starting address for these faces.
62
2. Edge Parameter Calculation
This section utilizes the edge plane normal (N) and the rotated dis-
play parameters (PC, PE, PL). The edge parameters (A, B) are the result
of three vector dot products (QC, QE, QL) and two divisions. Each dot pro-
duct uses the normal and one of the triple word display parameters. The
display parameters are prescaled to allow fixed point computations. Each
edge is matched to the appropriate set of display parameters that relate the
viewer to the object environment. The divisions are independent of environ-
ment and viewer, but the resulting quotients must be transferred to the ap-
propriate edge parameter buffer for each view. The edge parameters are
transferred with control information describing color, the bounding nature of
each edge (start or stop) and an indicator delineating the final edge for each
face.
C. EQUIPMENT CONFIGURATION
The OCS is composed of three main portions; Vertex Storage, the Normal
Calculator, and the Edge Parameter Calculator.
Two interfaces are required for the vertex memory. They are shown
in Figure 24. Both the GPS and the Normal Calculator must have access to
the vertex memory. The interface with the GPS allows the priority list to be
transferred during real-time operation. New environment data are also entered
through this path when the environment is to be changed. Two priority lists
must be held in the memory. One is a completed list for the current frame;
the second list is formed as computed by the GPS and is to be used during the
following frame.
When the system is operated in the off-line mode, the vertex core
would be available for general purpose use. The interfaces with the GPS and
Normal Calculator would require fully buffered address and data channels.
The Normal Calculator controls memory accessing and addressing for vertex
and priority list ciata.
63
'■' 'V
ADDRESS
VERTEX
STORAGE
ADDRESS
DATA BUFFER
NORMAL
CALCULATOR
64
r
-»,! ,1111 M ■'■■ ■ I I »—""""^
2. Normal Calculator
I ■
65
t
-——. """f'lff" ""*
FROM M£MORY
l_L
V» REO
PARTIAL
L. RE8.
VL,«»!
4 ♦
30 X 30
NORMALIZE
H.
VL,
—' TO
V
VL
-+ MULT.
66
*ta%»jrfai»»s«*-i*«'***>*
3. Edge Parameter Calculator
The Edge Parameter Calculator (EPC) uses the edge plane normal
(N) and the display parameters (PC, PE, PL) to calculate the slope and inter-
cept values for each active edge.
a. Dot Multiplier
b. Division
The three Q values that were just calculated by the Dot Multiplier
are selected as the divisors and dividends. For the usual slope value (B),
QL is the dividend and Qg is the divisor. This value is then tested to see if
the edge is parallel or nearly parallel to the raster line. If it is, then a
substitute value is presented for the B value.
If the B value denotes a slope with respect to the raster line, the
usual A value is formed. This calculation employs Qg as the divisor and
Qc as the dividend. The resultant quotient is again checked and, if necessary,
a substitute value is presented. This is done so the values processed by the
OPS can be contained in a minimum length data word.
67
w^gmmmm OB 4.'. *_iU*lL'!'. -»T
FROM MEMORY
1 1
i t J J
*X PEV
1 PEj
1 ' '
1 'r
p
LX PLY PL
Z
1
< ' ' <'
«•«x PCV PC2
FROM
NORMAL
CALC
< ' 1' M
N —
x "I NY
1 N
Z
1 > I f w w
X MULT Y MULT Z MULT
X 30 X 30 X30
AOOERS (3)
68
"iwn':i"iii***'*'*''" *""'
OE
i_
OL oc
DIVISOR
QUOTIENT
COMPARATOR MSB FIRST B.A.A
S.A.A
T
TO MEMCY
69
! !
I 9:
70
■ I -1 I I
71
of the desired computations in the Object Processing Section (OPS), that al-
lows a good estimate of hardware complexity, and that leaves room for ad-
justments or even considerable modifications to be made in the future, in view
of changing hardware availability.
a. Hardware Availability
The same philosophy has led to the decision to base the system
framework on available hardware rather than on anticipated advances in
semiconductor technology. The example of the introduction of MECL III cir-
cuits described in Section V is partial justification for this approach. Expected
advances haVe certainly not been ignored, however. A further criterion for a
successful system framework has been that it must be adaptable to hardware
advances when they occur.
72
'■ ■ mmiP
F*
b. System Parameters
The basic fixed quantities that the OPS must work with are the
number of environment edges to be accommodated and the frame, line, and
video rates desired in the display. The parameters that have been used for
system framework selection are given in Table VII.
TABLE VH
SYSTEM PARAMETERS
■ - ,
Parameter Value
Number of edges 500
Frame Rate 30 frames/sec (with two interlaced
fields per frame)
Line Rate 1000 lines/frame
Video Rate 1000 active elements/line
(— 40 MHz video)
Although the above parameters have been used as the basis for
the selection of framework, it has also been attempted to make the resulting
system adaptable to more advanced system parameters in the future. For
example, increasing the number of environment edges by a moderate amount
can be accomplished by adding a block of hardware. It is not necessary to
replace a large segment of the system.
a. High-speed Circuits
73
at:.-» . .-
most complex processing he can do in terms of small geometries and close
diffusion control. Therefore, he approaches the problems of increased cir-
cuit complexity in his medium, speed logic line, which is much easier to make.
b. MOS Circuits
The attraction of MOS circuits results from their low cost and
from the large amount of circuitry that can be manufactured on a given silicon
area. The first of these advantages makes it possible to utilize hardware
freely to design around speed bottlenecks. The second helps to hold down
system bulk, making intra-system communications less complicated.
The difficulties in using MOS circuits result from the logic and
clock amplitudes, the limited driving ability of such circuits, and the un-
availability of complex random logic functions in MOS. The logic swings of
most MOS circuits are large - 10 to 15 volts peak to peak. For maximum
operating speed, the clock swing must be greater than the logic swing - 15 to
25 volts. Both of these factors contribute to the generation of considerable
noise, which could be a major problem with a very large system. Because
of their high output impedance,MOS devices have limited driving capability.
In fact, maximum shifting rates for registers of 20 MHz are possible, if no
communication off the chip is required. But the chip outnut stage of such a
registex" slows its operation to 2 MHz. This characterise a leads to the pre-
dominance of serial circuits - registers and a few counters, for example -
in the MOS line, whereas serial-to-parallel converters with appreciable speed
capability are practically non-existent.
74
Twmvnmsmm
e. LSI Arrays
f. Combinations
75
Combinations of bipolar and MOS circuits have been considered and have been
rejected. It is felt that the cost advantages derived from the application of
MOS circuits in the areas where they are readily used is outweighted by the
problems associated with additional vendor interfaces and noise and interface
problems.
a. OPS Tasks
The resolution along the raster line describes the fineness of the
quantization with which a point along the line can be located - in other words,
the number of pieces into which the line is divided for computational purposes.
For this system, the line is divided into 1000 elements. So A represents the
number of elements between the upper left hand corner of the display plane
and the intersection of the edge with the first raster line. If B is added to A
each time a raster line is scanned out, the cumulative sum will represent the
distance in elements from the left side of the picture to the intersection for the
line currently being drawn.
76
-•"""' - ' ' »■
RASTER
UNES
DISPLAY
PLANE
77
0 EDGE
LINE k
LINE I
«SPLAY
For any face, one of the START edges intersects the raster line
farther to the right than any of the others. This edge determines the left-hand
boundary of the face on the raster line in question. (One can verify this by
drawing a few faces and identifying the bounding START and STOP edges.
Remember that faces must be convex polygons.) Similarly, the STOP edge
that has its intersection with the raster line farthest to the left is the right-
hand boundary of the face on the raster line. Of course, if the left boundary
is to the right of the right boundary, the face STOPS before it STARTS and
does not appear on the line at all.
The groups of edges representing faces are received from the OCS
in priority order. The face or faces that are not wholly or partly obscured by
any other faces are received first; and then the faces that these obscure wholly
or partly are received, and so on until the last face that everything can obscure
is received. The receipt of these faces in priority order allows the implemen-
tation of priority between faces when the lines of video are prepared for dis-
:: play. This implementation is carried out by determining the gray shade of
each element of a raster line and by storing the six-bit binary code for that
element's gray shade in an array that has a storage location for each element
in a raster line.
78
face A and face B. Figure 31 shows what gray shades would be stored in
what element numbers for three sample raster lines: 9, 16, and 28. For
instance, when line 16 is being composed, the contents of all element storage
positions would initially be set tc- some background shade. Then the shade of
face A would be loaded into locations 20 to 24 and the shade of B would be
loaded into locations 25 through 28.
Suppose now that some other face C is to be loaded and that it has
lower priority than faces A and B. Figure 32 illustrates such a situation.
Since the faces are received and processed in priority order, faces A and B
will be loaded into the array before C on every line where all three occur.
Whenever a location in the array is loaded, the access to it is inhibited until
after the raster line being composed has been displayed. Thus nothing can
be loaded in over what is already there, unless what is already there is the
initial background color. On line 16, for example, A w'-.-ald be loaded from 20
79
CO w co m oo Ift CM
CM CM CM CM CM CO
II II II II II II
in
CD
mm mm mm
Start
Start
t~
Stop
Stop
co 8*
en CO CO
CM
m o m CM m
CM CM CM CM r-i CM
in II ii II II II II
<< << c
co o
Start
u u a
Stop
c- a o CQ o eg
i-H u
CQ CO CO CO a>
CO
0> O
a> H
CQ CU
o V co
■a
CM
»H
CM
CM
CM
CO
to
et< I
H
CO
&
>>
•—«
CM Al 6
■M< a u CQ
CU
CM o «
■»-» +■> W
CQ
CO
IO CO CQ
CM cu <
CD
CM
°m H
o
cu
CO •a
f»
CM cu
00
CM <
Cft s EL,
1
CM
co CO
O cu
eo
co a
CM
—■ <w
o
eo CQ
00
eo CM
co
a>
eo
c
m
eo
co
eo
c-
eo
oo
c-
o>
eo
c
cu
s
cu
w
80
through 24 and B would be loaded from 25 through 28. Then C would be loaded,
but only from 29 through 36. Elements 26 through 28 have already been loaded
with B and therefore are not accessible.
Once all the faces appearing on a raster line have been loaded into
the array, the contents of the array are read out sequentially, in synchronism
with the scantling beam on the CRT face, and the 6-bit gray shade codes are
converted to analog numbers to specify the shade of each element on the line.
This process is repeated for each line to provide the entire picture. This
line composition function is the final task of the OPS.
b. Block Diagram
The gray shade code for each face must be loaded into the Ras-
ter Line Composition Unit for all element positions between the pertinent
START and STOP numbers, except where inhibited by higher priority faces
already loaded. This loading is mechanized by the Face Loading Unit. The
Face Loading Queue is utilized to average the rate at which faces are to be
loaded over the period of the raster line.
After an entire line has been composed, the stored results are
read o> * of the Raster Line Composition Unit in synchronism with the scan-
ning beam, and the gray shade codes are converted by the D/A Converter
Unit to analog voltages for application to the Display.
81
5 K> 15 20 29 30 35 40
r
1 l
RASTE. D/A
LINE COMPOSITION CONV
82
—I II win it i ii i i KWMMMHI
sufficient parallel and multiplexed operation to keep clock rates significantly
below the maximum permissible for the logic type used. To achieve this, the
only part of the system that does not employ multiplexing or parallel operation
is the Face Determination Unit. This Unit is a relatively small part of the
system and, although the data rates required within it are high, preliminary
work indicates that the design will not be difficult.
The individual units of the OPS are discussed below in terms of their
implementation. For each segment of the system, the hardware technologies
to be employed are specified, and the internal computational rates and data
rates at interfaces are discussed. The manner in which the data and compu-
tational rates depend on system parameters is stated. Those parts of the
system are pointed out in which bipolar MSI and MOS circuits could replace
existing technology.
Figure 34 shows the Edge Parameter buffer and Edge Storage and
Update Unit. The Edge Parameter Buffer receives an edge work (A, B, and
gray shade/control bits) for each en^ironnippt edge during each frame. These
edge words are accumulated during each frame until a complete set has been
83
' V
-ri : .,• , jCJMULA- UPDATED
JTIVE SUM _ SUM
FROM
ocs 1 PARAMETER EDGE EDGE TO FACE
■
i DETERMINATION
i BUFFER
STORAGE UPDATE
i, i : B '
! CONTROL'
r»
! CONTROL 1
Figure 34. Edge Parameter Buffer and Edge Storage and Update Unit
received, at which time the Edge Parameter Buffer contents are transferred
to the Edge Storage and Update Unit for the generation of the next frame's
picture. The edge words will be received in parallel. The rate of receipt
of words is seen to be fairly low - 33msec/500 edges = 66 /x sec/edge for the
parameters assumed. The rate at which the information must be read out to
the edge storage equipment during vertical retrace is 20 to 30 times higher,
but still allows at least 2 jxsec per edge. A commercial core memory will be
used for the Edge Parameter Buffer.
The most difficult requirement for the Edge Parameter Buffer to
meet is the data rate that occurs when the accumulated edge words are trans-
ferred to the Edge Storage and Update Unit during vertical retrace. This data
rate is proportional to the number of environment edges employed. Core
memories having cycle times of 1 jisec or less are fairly readily available,
so a considerable increase in the number of environment edges could be ac-
commodated by using a fast memory. When this approach has been extended
as far as possible, core memories can be interleaved to achieve higher data
rates. With a 1-msec vertical retrace, about 3000 edges could be accom-
modated, by using interleaved commercial core memories, without going to
highly complex multiplexing schemes.
The Edge Storage function will be implemented with shift registers
and applies the cumulative sum and the B quantity for each edge in parallel
to the Edge Update adder. The shifting rate of the registers is limited to
about 2 MHz, in order to allow a 500-nsec period for the sum to be formed.
Both the Edge Storage and Edge Update functions will be implemented with
Texas Instruments LSI arrays. The 2-MHz shifting rate is very conservative,
compared to the 10 to 15 MHz capability of the array circuits. Preliminary
estimates indicate that it should be possible for a sum to be formed in about
300 nsec, so considerable margin exists in the adder too.
84
The edge cumulative sum must be updated each line time. Since
500 nsec is required for each update and the line time is about 32 Msec, the
module described would be able to accommodate 64 edges.; Thus, eight levels
of multiplexing will be required to allow processing of 8 x 64 = 500 edges during
a raster line period.
The multiplexing functions in the Edge Storage and Update Unit are
performed by standard TTL MSI circuits. The control and miscellaneous
functions will be performed by a combination of standard MSI and individual
integrated circuits.
The Edge Storage function and its associated control and multi-
plexing circuits form a likely candidate for MOS , mplementation,s when faster,
bipolar-compatible circuits become available. The registers within the Edge
Storage function could probably be implemented with standard products (a
maximum shifting rate of 3 to 4 MHz would be required to provide some
margin), and the remaining parts could be fabricated by means of a variable
array program. The adder itself is unlikely to be feasible in MOS, since the
speed requirements on it are quite stringent and the complexity and degree of
specialization are high.
85
A B C 0
11
1' V < '
COMPARE COMPARE
COMPARE LEVEL 2
T
FINAL RESULT
86
LOADING CONTROL
FACE
FROM FACE FACE LOADING
DETERMINATION' LOADING
UNIT QUEUE UNIT
I
RASTER LINE
-* TO O» CONVERTER
COMPOSITION UNIT
With a 32 usec raster line period, the average amount of time available for
loading a face is 200 nsec. The inputs from the Face Determination unit will
arrive at odd intervals, with the maximum average rate being one face every
200 nsec. The Face Loading Queue smooths the data rate to the average, so
that the Face Loading Unit will not have to accommodate the peak face rate.
If the Face Loading Unit can be designed to complete the loading of a face in
the minimum time that could ever occur between receipts of sets of face in-
formation, the Queue would not be necessary. The Queue is a relatively small
piece of hardware, and its presence or absence will not have a great effect on
system complexity.
After the information has been entered into the Raster Line Compo-
sition Unit, the gray shade codes must be shifted out sequentially for display.
This time, all six bits of each gray shade number must be available in parallel
for D/A conversion, and the gray shade codes appear serially.
87
I%
1
<
The output shifting function of the Raster Line Composition Unit is
Multiplexed four to one, so that the desired 40 MHz element rate can be
achieved with internal shifting rates of 10 MHz.
88
'«MM
RED
U/A 1
1
1 •
1
TO COLOR
RASTE« LINE GREEN^ D/A * V CRT GUNS
COLO« MEMORY 2
COMPOSITION UNIT 1
I6.
BLUE .
D/A i
89
logic design are chosen such that the LSI implementation of the function is
simplified. Then, finished logic diagrams should be sent to Texas Instruments
for consideration, so that the ease or difficulty of the required ünplementaton
can be determined.
90
i
I
IX. SURFACE GENERATING SUBSYSTEM
A. INTRODUCTION
One technique that holds much promise is the Scanner and Map Unit
technique described in the following paragraph. The Scanner generates the
coordinates of the raster vector projected into the ground, and the Map Unit
generates video data from the coordinates. The advantages of this approach
are the economical generation of detail with a limited amount of input data
and the capability to perform smooth resolution changes (causing detail to
fade as it approaches the raster structure in size and thus avoiding scintillation).
The disadvantages of this approach are that rectilinear textures are gen-
erated and that each scanner is tied to a coordinate system; thus two textured
surfaces at angles to each other require two scanners.
B. SURFACE SCANNER
1. General Theory
P
X
X = X + H (20
N P >
X = YN + H* %L (21)
Since the numerators and denominators are, in general, functions of the line
and element numbers, the quotients change at the element rate. A divider
with this speed requirement is not feasible with the digital logic presently
available. One approach to circumvent this problem was used on the NASA
system.
91
2. NASA Surface Generator Approach
P
X = XN + H* ^-
By forcing the raster parallel to the horizon, PEZ 0, and the equation be-
comes:
H* PCX + iH*PLX H*PEX
X(i, j) + +J (23)
N PCZ + i PLZ PCZ ti PLZ
The computational task for each coordinate has been reduced to two divisions
every line and element-by-element additions. The raster is rolled elec-
tronically by performing a coordinate rotation on the horizontal and vertical
sweeps in the NASA system.
92
■ ■■' ."■:.■,,!;..( iG
i : --.- ft SOW** ■ * I A-*t- .s+*-V.'
The exact solution for X is given by Equation (20). If, for some
P(i, j), we know the X coordinate of the cell S that contains the image of
P(i, j), then the image of any neighboring display element either lies in the
same cell or in an adjacent one, because of the criterion for selecting S. Also
since P(i, j) is monotonic, the corresponding X will change in the same direction
as the entire line is passed. More concretely, let Xj be the cell coordinate
corresponding to the zeroth element of some line, i. Let j increase. Then,
if X increases from j = 0 to j = 1, it will continue to increase across the
display line. We need only check for entry into the next cell for X > Xj + S.
When this occurs, the X map coordinate is changed to X, + S. We monitor
*K9 condition:
X>Xj + S
or
Px(iJ)
X
N
+ H
*P70- I
X + S
<24)
Px(i,j)
x +H
N *Trri7r) - X
O
+ X
N
+ S
<25>
or
The working cell size must be adjusted so that it continues to satisfy its stated
definition. This can be readily accomplished by monitoring the number of
element additions required to satisfy the inequality. This number would be
compared with a priori limits that regulate S. The general fora; of the in-
equality then becomes
93
m s
H*Px(i,j)- Pz(i,j) [x0 + 2 k k]- 0 for X increasing
where mk is the number of cells of size S^, which are added or subtracted
according to the direction in which X is changing. Since the maps are ad-
dressed by binary numbers, it is appropriate to make the S^ integer powers
of two, which simplifies the necessary multiplication to a simple shift.
a. General
b. Detailed Tasks
94
[
II
1
DATA IOAC
FROM
ftp COMPUTES
II
< RAME
CALCULATIONS
1
' 1 ■ f I ■
AH SP ■
V .PI
1
'
INTERLACE
CALCULATIONS
95
(e) Transfers PEZ to Boundary Trackers.
96
1
POSITIVE NESATIVE
BONDER
CALCULATION CALCULATION
1
' ,
»I
.. TES NO
CALCULATION 0» BOR
V
■ ^>
POSITIVE
Tts •^ N8L
BOROER a tm>'
CALCULATION
1 1
NEGATIVE NORMAL
BOROER STANT
CALCULATION ROUTINE
NER I
SCANNER I
AND MAP i .
I» ' . 1 ; '
UMT LOAOER
I
VSPO
EXIT
EXIT TO RETURN TO
TO DATA
INTERLACE THIS ENTRY
LOAOER
CALC
97
H*P„(i,0) H»Pv(i,0)
98
simple cases studies thus far, but more study is necessary
to verify that it will work in the general case.
The sum of the computed starting point and the station point
coordinate is then rounded up at the same point. The station
point coordinate is then subtracted from this quantity to get
the first boundary crossing
V° = [x + XNJ
L "
X
^Roundedup N y 0
° ' = Y+Y
[ N ]L -
Y
NJ
Rounded upN
by S„ by S
Ä Y
(35)
VH*Px(i,o)-xo'Pz(i,o)
E x = H*PEX - xo ' PEZ
2y = H*Py(i,o)-yo'Ps(i,o)
During this time, the Arithmetic unit must transfer the data
to the boundary trackers. The transfer is as follows:
(a)
x
' S X = H*PX (i,o)
' ' - x'o Pz (i.o)
' '
(c) Pz(i,o)
(d) xo-
(e) Sx
99
I
(c) P o)
.fc
(d) Y
o
(e) s
y
(f) Sign delta y
(a) 20 additions/subtractions
(b) 4 divisions
(c) 4 multiplications
(d) 6 program jumps on data
(e) 6 shift/roundoff operations
(f) 1 halt for horizontal sync pulse
•■■"
d. Hardware Requirements for Scanner Arithmetic Unit
a. General
H*Px(U)-P2(U)[x;±£mkSk] (37)
as i, j, and S [Link].K vary, and a control section which monitors the sign of the
k
result, determines S, and controls element and update additions. The arith-
metic section is further partitioned into five blocks: the accumulator block
containing the accumulator register and associated element/update shifting
adder, the element addend block containing, the element addend register and
associated update shifting adder, the Z vector block containing the Pz and
PEZ registers and associated element adder, and the map coordinate block
containing the map coordinate and cell size registers. See Figure 40. Since
the X and Y Trackers are identical, all blocks are duplicated for a complete
Scanner except for the Z vector block which can be shared. The following dis-
cussion on Tracker operation is couched in terms of the X Tracker but all
comments also refer to the Y Tracker.
b. Tracker Operation
During the data load mode, the following data transfers occur:
101
ACCUMULATOR REGISTER
ELEMENT/ UPOATE
SHIFTING AOOER
x %
ACCUMULATOR
BLOCK
I 1
r i r
ELEMENT AOOEND
P, REGISTER
REGISTER
ELEMENT AOOER
UPDATE SHIFTING
AOOER _
L Z VECTOR BLOCK
HLULK j
l_f r Z=L
CONTROL INCREMENT/DECREMENT CELL SIZE
1 i
SELECTOR REGISTER
102
4) X ' is loaded into the map coordinate register.
1. General
The Map Unit generates textured surface video from the X and Y
coordinates, cell sizes and control signals generated in the X and Y Boundary
Trackers. The Map Unit has four requirements;
103
2) It must be capable of performing smooth resolution changes and
fading detail as the size of the detail approaches the raster cell
structure.
3) The user should be able to modify the texture patterns.
4) The displayed patterns should be multi-colored.
2. Approach
3. Hardware Considerations
The Map Unit is partitioned into six blocks; the input processing
block, the four texture blocks, and the output processing block as shown in
Figure 41.
The third order texture block contains seven texture pattern maps.
This block accepts addresses from the input processing block and a selection
code from the fourth order texture block. It generates a color number for use
in the output processing block and a selection code for use in the second order
texture block.
104
Ü • i ■ ** **''
INPUT:; mou « AND Y BouNDA*<r
TRACKERS
4th ORDER
TEXTURE
BLOCK
3rd ORDER
TEXTURE
BLOCK
2nd ORDER
=tj TEXTURE
BLOCK
I tt ORDE R
TEXTURE
BLOCK
I 4 COLOR MEMORIES
105
The second order texture block contains seven texture pattern maps.
This block accepts addresses from the input processing block and a selection
code from the third order texture block. It generates a selection code for
the first order texture block and a color number for use in the output proces-
sing block.
The first order texture block contains seven texture pattern maps.
This block accepts addresses from the input processing block and a selection
code from the second order texture block. It generates a color number for
use in the output processing block.
The output processing block generates video data from the color
numbers from the four texture blocks and the cell size, saturation indicators,
and sign of Pz from the input processing block. This block contains four
color memories and the selection and weighting matrix used for generating
video data. If the sign of Pz is negative, the output processing block generates
the sky color. If either saturation indicator is ON and the sign of P7 is
positive, the output processing block generates the horizon color. U the sign
of Pz is positive and the saturation indicators are OFF, the output processing
block generates a video output which is the weighted sum of two color memory
outputs where the selection and weighting is determined by the cell size.
D. SUMMARY
During this study, the effort in this area was directed toward developing
the scanner concept to the point where reasonable estimates can be made of
the hardware complexity. There are a number of areas in which further
investigation is required, however, before the concept could be implemented.
First, the scanner algorithm should be simulated on a computer with special
attention paid to the border calculations previously discussed. The ability of
the scanner to track boundaries along a raster line should also be checked to
determine the validity of the cell size modification rule discussed. Next, a
scaling and error analysis should be performed in order to determine word
lengths at various points in the scanner operation. This would allow parti-
tioning and logic speed problems to be considered. Finally, the Map Unit
should be simulated on a display where the experimenter can observe the re-
sults as texture pattern video. Most of the important characteristics of maps
can not be evaluated without looking at their images under dynamic conditions.
106
X. POINT SOURCE GENERATION
A. GENERAL
The principal task of the point source generator is to provide the large
number of ground-level lights encountered in night flying in the vicinity of an
airport. In the discussion of training tasks in Section n, it was estimated
that approximately 500 light sources would be needed to adequately depict
lighting for one runway and some taxiways. Object techniques must be ruled
out immediately because it would take three edges to form even a triangular
light source, a minimal representation.
Most of the lights associated with an airport are ordered and evenly
spaced. The runway and taxiway lights account for 400 of the estimate re-
quirement for 500 lights and they consist, for the most part, of parallel
strings. Because of this regularity it seemed worthwhile to see if the surface
generating technique could not be adapted to this task. If it were practical,
then the point source generator could be eliminated or at least drastically re-
duced in size.
107
■■V^^V/Ä**/^
be the most economical method for the present requirement, it is not readily
expandable. The computation of a large number of points would require a
small special purpose arithmetic unit. Its primary tasks are addition and
division and its design could utilize appropriate sections of the surface
generator arithmetic unit.
The point source images are computed during the frame in the order in
which they appear in strings of lights in order to simplify the computations.
The image points must then be sorted by line and element number so that they
are in proper order for raster display.
Data are transmitted to the sorting unit as they are computed and each is
placed in its proper position in the list while the next value is computed. By
the end of a frame, a completely sorted list is formed for the following frame.
Two sorting and storage units are needed so that one is available for readout
while the other one is being loaded.
Advantage is taken of the relative ease with which view assignment may be
made for points. The sorting and storage unit is designed to accommodate
500 points and these may be assigned as necessary between the two views.
This is an economical approach to operating two views with a common station
point in a 500 point environment. It does not allow the two views to operate
independently where each is in a maximum point source environment.
The data word from the General Purpose Computing Subsystem contains
27 bits for each point and has the format shown in Figure 42. The display
plane position is given by 10 bit line and element numbers. A one bit tag
designates the view to which the point is assigned. A full six-bit color code
has been included for maximum flexibility although two bits would suffice for
the colors usually needed. The smaller number of bits was not used because
the savings would be slight and the larger number of bits would be needed for
black and white operation in any case.
The point sorting and storage unit is basically a 500 stage shift register
as shown in Figure 43. Each stage has 27 elements. For purposes of
sorting, the 21 bits comprising the line and element numbers and the view
assignment bit are regarded as the order number. The view assignment bit
is included in the ordering number so that it is possible to have points fall on
identical elements of both displays. The sorting process places the first
point to be encountered during the raster scan in the first stage, and so on, by
the following process.
108
OAYA INPUT
"N.
1
/
900 2 1 1«
ft
21 BIT ||
1
—* COMPARATOR | •—
At the start of the frame, the 21-bit sorting numbers are all set to their
maximum values and the color entries are cleared to zero. From this point
on, each new data word is deposited in temporary storage stage la. The
entire register is circulated with stage one connected to stage 500 and the path
from stage la open while a comparator checks the entries in stages 1 and la.
When stage 1 is found to be greater than stage la, the circulation loop is
modified. The connection between stage 1 and stage 500 is opened and the
one between stage la and stage 500 is closed. This inserts the new data in
its proper position. If the comparator detects an "equal" condition on all 21
bits, the new entry is discarded as it would fall on top of a previous entry. In
all cases, the 500 stage register is shifted 500 times for each new entry.
The shifting rate during the video generation time is a function of the
arrangement of the points relative to the raster. During read-out, a line and
element comparator would monitor the scanning process and indicate the
occurrence of a match between the contents of stage one and the present
position of the raster scan. When match is detected, the color code would
be gated to the proper view. (It is assumed that both displays are scanned
synchronously.) The register is then shifted right placing the next point in
position. Since it is possible to have a number of points on adjacent elements,
the maximum output [Link] rate is governed by the video rate. For this
reason, the actual implementation of the register shown in Figure 45 would
use multiplexing. By using four registers of 128 stages each and operating
them at a 10 MHz maximum shift rate, it is possible to accommodate points
on adjacent eiements in one view or points on every other element in two views.
109
• -•- t*v«i^«irtirsfei.
A separate line and element output comparator would be required for each of
the multiplexed registers.
The point source generator has been planned so that it can place points
either on single lines or on line pairs. Point lights will probably require
display on line pairs to avoid flicker unless viewing brightness is very low.
A field correction is necessary in the output comparison if the points are to
be displayed on the proper lines in both fields. Figure 44 snows two
situations which require slightly different treatment. Two point images are
shown in the interlaced raster structure and arrows show the proper display
lines in each case. The 10-bit line number is computed by truncating
fractional bits (not rounding). Thus any line number computed to be greater
than or equal to zero, but less than one, would be truncated to zero. If the
computed line number for the frame (10 bits) is even, then the nine most
significant bits serve for both even and odd field read-out. If the computed
number is odd (as for the lower point shown), the even field line comparison
must be modified. The proper line is given by the most significant nine bits
plus one least significant bit. The odd field is not affected. Therefore, the
rule is: use the most significant nine bits of the line number on the odd field
and the most significant nine bits of one plus the ten bit line number on the
even field for line comparisons.
110
XI. HARDWARE COMPLEXITY
A. GENERAL
B. ESTIMATES
Ill
3. Object Processing Section
i
4. Surface Generating Subsystem
I
(92) Type I cards in scanner (25 different designs)
(6000) MECL II integrated circuits
(206) Type I cards in map unit (7 different designs)
(13400) MECL n integrated circuits
6. Video Processing
112
- ■
REFERENCES
113/114
■
BIBLIOGRAPHY
"Micromosaic Arrays.. .An MOS Approach to Custom LSI", Mtn, View, Cal.
"Now It's MTNS", General Instrument. Electronic Design 9, April 26, 1969,
pp. C38, C39.
Mrazek, Dale. "Shrink Delay Line Costs with MOS", Electronic Design 5,
March 1, 1969, pp. 50-57.
ECL 2500 Series Integrated Circuits, Texas Instruments, Inc., Dallas, Texas.
115/116
APPENDIX
1. Basic Process
2. Operation Principles
With no biases applied, the two P regions and the N type substrate or
body form a pair of back-to-back diodes, with the result that the equivalent
resistance between source and drain is very high. Figure 47 shows the
situation when the gate is biased negatively with respect to the body. The
negative gate potential creates a depletion region in the body below the gate,
forcing the N type carriers away from the gate. For great enough biases,
the polarity of the region between the source and drain is inverted to P type.
In this situation, a P type channel has been induced helow the gate and connects
the source to the drain. Now the resistance from source to drain is much
lower than in the case where no bias existed, and an appropriate
source-to-drain bias will cause current to flow.
117
; /
/ /
118
• 1/
C I
///////////////
mssm
Wmtm
8 ©
iNOOCED P REGION
119
mode device, a channel is diffused into the body material just as the source
and drain are. 1W channel is of the same type as the source and drain. In
this situation, conduction from source to drain can occur in the absence of
gate bias. Gate bias is introduced in such a polarity as to drive carriers out
of the channel, changing its polarity to the opposite of that of the source and
drain. For sufficient bias, the channel can be depleted of useful carriers;
hence, the name depletion mode. The operation of N channel devices can be
inferred from that of P channel devices by changing the polarities of the biases
and of all the semiconductor regions.
Except where otherwise specified, all succeeding references to MOS
devices in this appendix (as well as in the body of the report) relate to P chan-
nel enhancement mode devices.
MOS devices can be used as linear amplifiers, since the output con-
ductance increasing with increasing gate bias. For digital applications, how-
ever, it is adequate to think of the device as a switchable resistor that is
subjected to one of two discrete levels of gate bias; a level negative enough
to turn the device on, or a level positive enough to turn the device off. The
gate-to-source resistance will have a value of several megohms in the off
state and a value of several kilohms in the on state.
B. CIRCUIT TECHNIQUES
DRAIN
H
3ATE' SOURCE
ö +
120
The value of such an MOS resistor can be in the neighborhood of 10K ohms.
The value of this use of an MOS device lies in its efficient use of chip area.
In a bipolar integrated circuit, resistors are diffused into the chip during one
of the standard diffusion steps, usually the base diffusion. Since the depth and
resistivity of the base diffusion is determined by the desired base width and
base resistance of the transistors being made, the remaining variables affecting
resistance value are the length and width of the resistor. The width will be
made as small as possible, consistent with masking and etching capability.
Then, the higher the resistance value desired, the longer the resistor must
be. For resistors of appreciable value, the amount of area used up can be
quite large. For example, a typical commercially available monolithic four-
input DTL gate employs six diodes, two 2K ohm resistors, one 20K ohm re-
sistor, and a transistor. The 20K ohm resistor takes up more than five times
as much area as the transistor, and the three resistors together take up two-
thirds of the total circuit area. A 20K ohm MOS .resistor, on the other hand,
can be fabricated in less area than that required ,for a single bipolar transistor.
C. MOS CHARACTERISTICS
This lateral structure also contributes to the small size of MOS devices
relative to bipolar transistors. There is a minimum dimension that any
element of either type of device can have, based on process tolerances and
masking capability. (This dimension is in the neighborhood of 0. 0001 inch
121
-E
H
OUT
IN
a. Inverter
b. Three-input Gate
for present technology.) Let this dimension be called one unit. From Figure
51, it can be seen that an MOS device that measures one unit by three units
could be made. (For this ideal minimum-sized device, it is necessary for
the gate metal to overlap the source and drain regions, as discussed later.)
For the bipolar device, however, the collector region must be marie large
enough to contain the base region, the collector contact, and clearances be-
tween both of these and the edge of the collector. The base must be large
enough to contain the base contact, the emitter, and clearances. The emitter
and the base contact can be made one unit square. The resulting size for the
bipolar* device is nine units by five units, which covers fifteen times as much
area as the MOS device.
Another factor that contributes to MOS devices being relatively small is
the existence of automatic isolation between devices on a chip. An early step
in the processing of a planar epitaxial NPN t -ansistor in an integrated circuit
122
I
*M
—I
a. Diffusions b. Metallization
h -9 UMTS-
S G D
1
I UNIT
5 UNITS
T
I UNIT
is shown in Figure 52. The starting material has a luyer of N type epitaxial
material on a P type substrate. To define the collector regions ior the tran-
sistors in the circuit, P type channels are diffused through the N material to
the P substrate. The substrate and all the isolation channels are thus elec-
trically connected and are biased to a voltage that is negative with respect to
any collector on the chip. All collectors are then surrounded by back-biased
diodes so that they are electrically isolated from each other. In the case of
MOS devices, however, this isolation diffusion is not necessary. Figure 53
shows two adjacent MOS transistors on the same substrate. As long as the N
type substrata is held at a positive voltage with respect to all of the source and
drain regions, there will be no current flow between any of the diffused P
123
ISOLATED
COLLECTOR
REGION
ISOLATION
DIFFUSION
124
load resistors as described above and bv utilizing gate input capacitance where
capacitance is required. For example, a dynamic shift register stage can be
constructed with six MOS devices and no other elements except metallized
interconnections. A static register stage requires nine transistors. In both
cases, gate capacitance is used for storage while data is being clocked into a
stage.
D. SPEED CAPABILITIES
The speed at which MOS devices can be operated is limited by the output
impedance of each device and by the input capacitance of the device it drives.
How low the output impedance can be is determined by the width of the device
used as the output load (a wider channel implies lower on resistance) and by
the allowable power dissipation in that device. Given that these two para-
meters are determined by other considerations, the device speed will be de-
termined by input capacitances. In Figure 54a, the structure of an idealized
gate is shown. The input capacitance of such a device is seen to be determined
by the gate length (source to drain), the gate width, and the thickness and
dielectric constant of the gate oxide. It is interesting to note that making the
channel wider to lower the device on resistance will also increase input capa-
citance, so that switching speeds cannot be improved by this method. Making
the channel length (source-to-drain distance) smaller, however, decreases
both on resistance and input capacitance, so that the switching time is pro-
portional to the square of the channel length. The desirable approach then is
to make the channel as short as possible. Suppose that the channel length is
made as short as is consistent with masking capability. Then the source-drain
distance is the smallest dimension that can be worked with (referred to above
as "one unit"), and the gate metal itself cannot be any narrower than this
Dimension. Since the metallization mask cannot be perfectly aligned with the
diffusions, the gate metal must overlap either the source or the drain. This
would result in a short from the gate to one of the other electrodes for the
structure shown in Figure 54a. What is actually done is illustrated approximately
by Figure 54b. After the source-drain diffusion, the material is re-oxidized
and holes are etched to allow contacts to be made to the source and drain. The
second layer of oxide is only shown over the gate region in Figure 54b. The
contact noles are not etched all the way up to the gate, so that some insulating
oxide exists over both the source and the drain adjacent to the gate region. The
pattern for the gate metal in the metallization mask is then made wider than
the gate region, to allow for misalignment. Thus, the gate must overlap source,
drain, or both; but the second oxide is made wide enough to prevent shorting.
The gate metal must be wide enough to accommodate tolerances in metallization
width, tolerances in pattern size on the diffusion mask and on the metallization
mask, and the alignment of the two masks. The result is that the gate metal
length must be about three times the channel length.
The overlapping of the gate metal onto the source and the drain has a
very pronounced effect on operating speed. Not only does the increased gate
length contribute directly to increased input capacitance, but that portion of
the gate which overlaps the drain is also subject to Miller effect. For
example, suppose that a manufacturer wants to make an MOS register that
will shift at 2 MHz. He must plan for the worst case of misalignment between
125
8*
JS
u
at
>
O
'S
1/V^1 X!
■*
w
•■H
2
s
•o
N
•H
«s
•8
126
.Maafe^^^*^^™'^
gate and gate metal, which could occur as shown in Figure 55. Let the chan-
nel length be L. Then the gate metal length must be 3L. Suppose the capaci-
tance attributed to the portion of the metal over the channel (of length L) is C.
The capacitance attributed to the portion of the metal over the drain must be
2C multiplied by the Miller effect. Suppose the gain G of the device is unity
Then the total input capacitance is
C1 = C+2C{1 +G)
= C + 4C r= 50
What would happen if the manufacturer had some magic way of perfectly
aligning the gate over the channel, so that the metal width only needed to be
L? Then the total input capacitance would be
C" cjc
and, with other factors being the same, the shifting rate would be five times
as high, or 10 MHz.
In other words, the only difference between a 2-MHz register and a 10-MHz
register is the ability to perfectly align the gate. That difference turns out to
be substantial. At present, the "magic method" that some manufacturers use
to produce 10-MHz registers is to design the gate metal for zero overlap and to
try to align the masks perfectly. Registers produced by this process either
shift at 10 MHz or do not shift at all. Naturally, the process yield is low;
but consumers who really need a 10-MHz register are willing to pay enough
for one to compensate for the low yield. The individual who tries to buy a
large number of these registers is in for a very depressing experience.
127
[Link].' < &m
128
'
It appears likely that MOS circuits will never attain the speeds that bi-
polar circuits achieve. This is true not so much because of the higher speed
power product of MOS, but because the areas where MOS has its strongest
advantages work at cross purposes to achieving high speed. There are many
ways that higher speeds can be achieved with MOS; the use of complementary
devices, the incorporation of bipolar devices on MOS substrat« s, and the
development of complementary MOS circuits are examples. Tl ise techniques
are either available now or will be shortly. However, every one of them
complicates the processing or takes up silicon area. The more of these ap-
proaches and others like them are developed to achieve higher speeds, the
more complex the processing becomes, and the more area is required for a
given function. In short, these methods work against the very things that
make MOS attractive. It appears that manufacturers do not intend to compete
with (their own) bipolar circuits but, rather, intend to make MOS complementary
to bipolar technology.
F. EXPECTED ADVANCES
Two techniques are now in development that contribute to both speed and
bipolar compatibility. These are the silicon gate technique and the incor-
poration of Dipolar devices on the MOS chip. Both of these advances are
expected within the next year. The incorporation of bipolar devices is desirable
because it provides low-impedance driving point capability, which MOS devices
lack. These bipolar devices will first be incorporated to buffer chip outputs
and later to drive clock lines, obviating the use of a clock larger than the logic
swing.
Construction of a silicon gate is illustrated by Figure 56. In Figure 56a,
the wafer is shown after the source and drain holes have been etched and before
the diffusion step. The significant difference from standard processing is that
the photoresist has been cleaned off before the diffusion step. The diffusion
then takes place. The result is shown in Figure 56b. Due to the absence of
the photoresist, a layer of polycrystalline silicon is grown on top of the oxide
at the same time the source and drain are being diffused. This silicon layer
is a conductor and can be used to replace the metal that would normally be
used for the gate. The silicon can now be etched away from all areas except
that over and immediately adjacent to the channel. Then a metal connection
can be made to the adjacent area and the device is completed. The significant
advantage of the silicon gate is that the conductor (silicon) over the gate region
129
" ■ I '■"" "
ujuaAPJHt"»«*'. .'.
(a)
^Ir:::--«
•i.'.;-.'.,.::o,.;r<
'S:K"-i,-'>;ii
(b)
1 Si
«ATE
1«
METAL
TO SATE
MATt. P
(c)
130
**»'<»*»* ■*«■«
U.M.. V ":".":;"._ "..J-'JI"".!.!!1 j!*fm ' iii^'^^Bmrnnm*' »' 'mwmmmmmmmrmimimmmmmmm'i'i'*—
is automatically aligned with the edges of the source and drain regions. A
bonus advantage is that the replacement of the metal gate by silicon results in
a lower work function at the gate-oxide interface and thereby produces a lower
threshold voltage. Bipolar compatible circuits utilizing silicon gates and bipolar
devices on the chip are expected to be in production within a year. Expected
shifting rate for registers is 6 MHz.
131
UPI' ■ B '•at. !.
Unclassified
Security ClMSification
DOCUMENT CONTROL DATA - R&D
(Smairiir clmmmltlcmilon ml till«. aoa> c/ iMMel antf indtuim mnnoimilon null 6* •nfarao' «*>an Ma ovmrmll import im, clmtnttmd)
I ORIGINATING ACTIVITY (Corporal, aulriorj 2a REPORT SCCURITV CLASSIFICATION
Unclassified
Secur-ty Cl, sification
TT LINK A LINK B LINK C
KEV WORDS
MOLE | »I HOLS | MT «OLE | HT
Visual Simulation
Computer Generated Images
Computed Displays
WmWflottf
1. ORIGINATING ACTIVITY: Enter the name and addraaa 10. AVAILABILITY/LIMITATION NOTICES: Enter any lim-
of the contractor, aubcontractor, grantee. Department of De- itations on further dissemination of the report, other than those
fense activity or other organisation (corporate author) iaauing
the report. imposed by security classification, using standard statement«
such aa:
2a. REPORT SECURTY CLASSIFICATION: Enter the over- (1) "Qualified requesters may obtain copies of this
all aecurity classi/lcst'oii of »he report. Indicate whether
report from DDC"
"Reatricted Data" is included. Harking ia to be in accord-
ance with appropriate aecurity regulations. (2) "Foreign announcement and dissemination of this
report by DDC la net authorised,"
26. GROUP: Automatic downgrading ia specified in DoD Di-
rective 5200.10 and Armed Forces Industrial Manual. Enter (3) "U 8. Government agencies mey obtain copies of
the group number. Also, when applicable, show that optional this report directly from DDC. Other qualified DDC
marking« have been used for Group 3 and Group 4 as author- users shall request through
Ued.
3. REPORT TITLE: Enter the complete report title in all (4) "U. S. military agencies may obtain copies of this
capital letters. Titles in ell esses should be unclassified. report directly from DDC Other qualified users
If a meaningful title csimot be selected without classifica-
shall request through
tion, show title classification in all capitals in parenthesis
immediately following the title.
4. DESCRIPTIVE NOTES: If appropriate, enter the type of (5) "All distribution of this report ia controlled Qual-
report, e.g., interim, progress, summary, annual, or final. ified DDC user« shall request through
Give the incluaive dates when a specific reporting period is
covered.
If the report haa been furnished to the Office of Technical
5. AUTHOrt(S): Enter the naauK» of authors) aa shown on Services, Department of Commerce, for aale to the public, lndi-|
or in the report. Enter laat name, first name, middle initial. cat« this fact and enter the price, if known.
If military, show rank and branch of service. The name of
the principal author ia an absolute minimum requirement 1L SUPPLEMENTARY NOTES: Use for additional explana-
tory notes-
6. REPORT DATE Enter the date of the report aa day,
month, year, or month, year. If more than one date appears 12. SPONSORING MILITARY ACTIVITY: Enter the name of
on the report, uae date of publication. the dap art mental project office or laboratory sponsoring (par-
ing for) the research and development Include address.
7a. TOTAL NUMBER OF PAGES: The total page count
should follow normal pagination procedures, i.e., enter the 13. ABSTRACT: Enter en abstract giving a brief end factual
nunber of pagea containing information, summary of the document indicative of the report, even though
it may alao appear elsewhere in the body of the technical re-
7b. NUMBER OF REFERENCES: Enter the total number of port. If additional space is required, a continuation sheet
references cited in the report. shall be attached. I
8a. CONTRACT OR GRANT NUMBER: If appropriate, enter It is highly desirsble that the abstract of classified re-
the applicable number of the contract or grant under which ports be unclsssified. Each peregrrph of the abatract «hall
the report waa written. end with an indication of the military aecurity classification
(U>. 8c, • id. PROJECT NUMBER: Enter the appropriate of the information in the paragraph, represented as (TS), (S).
military department identification, such as project number, (C), or (V).
aubproject number, system numbers, task number, etc. There is no limitation on the length of the abatract. How-
9e. ORIGINATOR'S REPORT NUMBER(S): Enter the offi- ever, the ijggested length is from SO to 225 words.
cial report number by which the document will be identified 14. KEY WORDS: Key words are technically meaningful terms
and controlled by the originating activity. This number muat or short phrases thst chsrscterise a report and may be uaed aa
be unique to this report. index entries for cataloging the report. Key words must be
9b. OTHER REPORT NUMBERS): If the report has been selected so that no security classification is required. Iden-
assigned any other report numbers (either by the originator fiers, such as equipment model designation, trade name, mili-
ot by the aponaor), also enter this numbers). tary project code name, geographic location, may be uaed aa
key words but will be followed by an indication of technical
context. The assignment of ll/lki. rules, and weights is
optional.
Unclassified
Security Classification
^üi»MMMIM««W^—