1981_MMI_PAL_Handbook_2ed 1981 MMI PAL Handbook 2ed
User Manual: 1981_MMI_PAL_Handbook_2ed
Open the PDF directly: View PDF
.
Page Count: 680
| Download | |
| Open PDF In Browser | View PDF |
' 51
HAl
HMSI
""'l
PROGRAMMABLE ARRAY lOGIC
$12.00
~S I
HAL
H MSI
PAL
PROG RA MM A BLE A RR AY LOG IC
PAL
~SI
HAL
HMSI
PAL
PROGRAMMAB LE ARRAY LOGIC
PAL
1S1
HAL
HMSI
PAL
PROGRAMMABLE ARRAY LOGIC
PAL
. 51
'51
HAL
HAL
HM51
HM51
PAL
PAL
PROGRAMMABLE ARRAY LOGIC
PROGRAMMABLE ARRAY LOGIC
PAL
PAL
PROGRAMMABLE ARRAY LOGIC
PAL
lSI
HAL
lSI
151
HAL
•
HMSI
HMSI
PAL
PAL
PROGRAMMABLE ARRAY LOGIC
PAL
HAL • HMSI • PAL • PROGRAMMABLE ARRAY LOGIC • PAL
20-Pin PAL Logic Symbols
PAL10H8
PAL12H6
PAL14H4
PAL16H2
PAL16C1
PAL10L8
PAL12L6
PAL14L4
PAL16L2
PAL16L8
PAL16R4
PAL16X4
PAL16A4
PAL16R8
PAL16R6
PAL®
PROGRAMMABLE ARRAY LOGIC
HANDBOOK
SECOND EDITION
PAL Introduction
II
Authors: John Birkner & Vincent Coli
Video Controller by Ehud Gordon
Monolithic I!t!n
Memories LnJn.U
© CopyriIJht 1981 Moriolittiic Memories, Inc.
•
1165 Arques Avenue
•
Sunnyvale, CA 9~086-9960
•
408-739-'3535
•
910-339-9220
PAL Introduction
Acknowledgements
The following employees of Monolithic Memories made contributions to this 2nd edition of the PAL APPLICATION
HANDBOOK. Specific technical contributions are sJted. on line
two of the PAL DESIGN SPECIFICATION.
Product Planning and Applications
Department
Ehud Gordon, Applications Engineer
Saeed Kazmi, PAL Product Marketing Engineer
Nadia Sachs, Senior Applications Engineer
Shlomo Waser, Manager, Product Planning and Applications
Sales
Bernard Brafman, District Sales Manager (Northern California)
Harry Hughes, Field Applications Engineer (Northern Europe)
Dick Jones, District Sales Manager (Illinois)
Vincent Leclerc, Field Applications Engineer (Southern Europe)
Brad Mitchell, Field Applications Engineer (South East)
WillyVoldan, Field Applications Engineer (Central Europe)
Mike Volpigno, Field Applications Engineer (East Coast)
To
th~seindividuals we
extend our gratitude,
The Authors
John Birkner, Monolithic Memories Fellow
Vincent Coli, Applications Engineer
. ....
PAL Introduction
Table of Contents
PAL INTRODUCTION ...............................
1-2
PAL FAMILY
Family Portrait ......................... " ................
Logic Diagrams
. ..........
PAL 1OH8 . . . . . . . . . . . . . . . . . . . . . . . . . . .
PAL 12H6 ..............................................
PAL14H4 ..............................................
PAL 16H2 ..............................................
PAL 16C1 , .............................................
PAL20C1 ..............................................
PAL 10L8 ..............................................
PAL 12L6 ..............................................
PAL 14L4 ..............................................
PAL 16L2 ..............................................
PAL12L10 .............................................
PAL 14L8 ..............................................
PAL 16L6 ..............................................
PAL18L4 ..............................................
PAL20L2 •. . .
. ............................•......
PAL 16L8 ..............................................
PAL20L 10 ............ , ................................
PAL 16R8 ..............................................
PAL 16R6 ...................... , .......................
PAL 16R4 ..............................................
PAL20X10 .............................................
PAL20X8 ..............................................
PAL20X4 ...................................' ...........
PAL 16X4 .............. " ..............................
PAL16A4 ...................................... , .......
2-2
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-1.5
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
2-32
4-Bit Counter with 2 Input Mux ..........................
Octal Counter ...........................................
Octal Up/Down Counter .................................
10-Bit Counter ..........................................
4-Bit Up/Down Counter with Shift Register and Comparator.
4-Bit Flash Gray A/D Converter ..........................
4-Bit Gray 0/A Converter ................ : ...............
8-Bit 0/ A Converter .....................................
Octal Comparator .......................................
Between Limits Comparator ..............................
Memory Mapped Printer .................................
Craps Game ............................................
Traffic Signal Controiler .................................
32-Bit CRC (Cyclical Redundancy Checking) Error Detection.
8-Bit Error Detection and Correction .....................
4-169
4-177
4-185
4-193
4-201
4-209
4-217
4-225
4-233
4-239
4-251
4-261
4-285
4-301
4-329
VIDEO CONTROLLER
Introduction to Video Section ............... , .............
Implementing a Video Controiler Using
Programmable Array Logic .............................
Video Controiler Schematic ...............................
Video Controiler PC Board Artwork ............ , ..........
Dot Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
CHAR/CURS Generator ...................................
SCAN/LINE Generator ....................................
LlNES/SCROL Generator .................................
Composite Video/Baud Rate Generator ...................
UART Shift Register and Control Key Detect. .............
UART Control ............................................
RAM Control .............................................
5-2
5-3
5-12
5-14
5-17
5-25
5-33
5-43
5-51
5-59
5-67
5-77
PAL DESIGN CONCEPTS
PAL Concepts ............................................
PALASM Flow Chart (Main Program) ......................
PALASM Flow Chart (Simulator) ..........................
PALASM 20 Source Code ................................ ·.
PALASM 24 Source Code ................................
Basic PALASM Source Code .............................
3-2
3-7
3-8
3-10
3-34
3-58
PAL APPLICATIONS
Basic Gates .............................................. 4-3
Basic Clocked Flip-Flops ................................. 4-9
Memory Mapped I/O .........•........................... 4-17
Memory Interlace Logic for 6800 Microprocessor Bus ..... 4-23
Video Logic .............................................. 4-31
Binary to BCD Converter ................................. 4-37
Deglitcher ............ , .. , ............................... 4-47
Electronic Dice Game .................................... 4-53
9-Bit Register ............................................ 4-63
Multifunction Octal Register .............................. 4-69
8-Bit I/O Priority Interrupt Encoder with Registers ........ 4-77
BC D/Hex Cou nter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4-83
64k Dynamic RAM Refresh Controiler .................... 4-91
State Counter for Multiplier/Divider.. .. . .. . . .. . . . .. . . ... 4-99
ALU/ Accumulator ....................................... 4-107
Stepper Motor Controiler ................................ 4-113
Shaft Encoder ........................................... 4-123
Quad 4:1 Mux ........................................... 4-129
Dual 8:1 Mux •........................................... 4-137
16:1 Mux ..................•............................. 4-145
. ............ 4-153
Octal Shift Register.....................
4-Bit Shift Register/Comparator .......................... 4-161
ARTICLE REPRINTS
Single-Chip Controiler Increases Microprocessor Throughput6-2
FPLA Arbiter Concept Adapts to Application Needs ....... 6-9
Programmable Array Logic Leads to
Flexible Application of 8-Bit Wide Memories ............. 6-16
PAL: Quick Turnaround Alternative to Gate Arrays ........ 6-18
High Speed/Low Case Fuse Link Arrays
Compete with TTL 74S/LS .............................. 6-27
PALs: Programmable Logic Functions
Help Minimize Hardware ........................... 6-32
Gate Arrays Logjam Test Engineering ..................... 6-38
High Level Language for Programmable Array Logic ...... 6-40
PAL/HAUHMSI. SPECIFICATIONS
PAL Series 20 ................................ " ..........
PAL Series 24 ............................................
HAL Series 20 ............. : ..............................
HAL Series 24. , ......................................... ,
Octal Counter SN54/74LS461 .............................
Octal Shift Register SN54/74LS498 ........................
Multifunction Octal Register SN54/74LS380 ...............
10-Bit Counter SN54174LS491 ............................
16:1 Mux SN54174LS450 ..................................
Dual 8:1 Mux SN54/74LS451 ..............................
Quad 4:1 Mux SN54/74LS453 ............................ ,
HMSI Appendix ................•.........................
7-2
7-10
7-18
7-42
7-60
7-62
7-64
7-66
7-68
7-70
7-72
7-74
REPRESENTATiVES/DiSTRIBUTORS .............
8-1
D
PAL Introduction
The PALTM Concept
Monolithic Memories' family of PAL devices gives designers a powerful tool with unique capabilities for use in
new and existing logic deSigns. The PAL saves time and
money by solving many of the system partitioning and
interface problems brought about by increases in
semiconductor device technology.
Rapid advances in large scale integration technology
have led to larger and larger standard logic functions;
single I.C.s now perform functions that formerly required
complete circuit cards. While LSI offers many advantages, advances have been made· at the expense of
deVice flexibility. Most LSI devices still require large
numbers of SSI/MSI devices for interfacing with user
systems. Designers are still forced to turn to random
logic for many applications.
The designer is confronted with another problem when a
low to medium complexity product is designed. Often the
function is well defined and could derive significant benefits from fabrication as an integrated circuit. However,
the design cycle for a custom circuit is long and the costs
can be very high. This makes the risk significant enough
to deter most users. The technology to support maximum
flexibility combined with fast turn around on custom logic
has simply not been available. Monolithic Memories
offers the programmable solution.
The PAL family offers a fresh approach to using fuse
programmable logic. PALs are a conceptually unified
group of devices which combine programmable flexibility with high speed and an extensive selection of interface options. PALs can lower. inventory, cut design
cycles and provide high complexity with maximum
flexibility. These features, combined with lower package count and high reliability, truly make the PAL a
circuit designer's best friend.
PAL'· is a trademark of Monolithic Memories.
PAL Introduction
The PAL-Teaching Old PROMs
New Tricks
array. Since the sum of products form can express any Boolean
transfer function, the PAL's uses are only limited by the number
of terms available in the AND - OR arrays. PALs come in different sizes to allow for effective logic optimization.
Figure 1 shows the basic PAL structure for a two input, one output
logic segment. The general logic equation for this segment is
Output
\
=
(ll+fl)(ll +f2)(l2+ f3)(1 2+f4) +
(1 1+15)(11+16)(12+17) (l2+ f 8)
where the "f" terms represent the state of the fusible links in the
PAL's AND array. An unblown link represents a logic 1. Thus,
fuse blown, f = 0
fuse intact, f = 1
An unprogrammed PAL has all fuses intact.
D
OUTPUT
MMI developed the modern PROM and introduced many of the
architectures and techniques now regarded as industry
standards. As the world's largest PROM manufacturer, MMI has
the proven technology and high volume production capability
required to manufacture and support the PAL.
The PAL is an extension of the fusible link technology pioneered
by Monolithic Memories for use in bi-polar PROMs. The fusible
link PROM first gave the digital systems designer the power to
"write on silicon." In a few seconds he was able to transform a
blank PROM from a general purpose device into one containing
a custom algorithm, microprogram, or Boolean transfer function.
This opened up new horizons for the use of PROMs in computer
control stores, character generators, data storage tables and
many other applications. The wide acceptance of this
technology is clearly demonstrated by today's multi-million
dollar PROM market.
'I
.!
The key to the PROM's success is that it allows the designer to
quickly and easily customize the chip to fit his unique
requirements. The PAL extends this programmable flexibility by
utilizing proven fusible link technology to implement logic
functions. Using PALs the designer can quickly and effectively
implement custom logic varying in complexity from random
gates to complex arithmetic functions.
ANDs and ORs
The PAL Implements the familiar sum of products logic by using
a programmable AND array whose output terms feed a fixed OR
Figure 1
PAL Notation
Logic equations, while convenient for small functions, rapidly
become cumbersome in large systems. To reduce possible
confusion, complex logic networks are generally defined by logic
diagrams and truth tables. Figure 2 shows the logic convention
adopted to keep PAL logic easy to understand and use. In the
figure, an "x" represents an intact fuse used to perform the logic
AND function. (Note: the input terms on the common line with
the x's are not connected together.) The logic symbology shown
in Figure 2 has been informally adopted by integrated circuit
manufacturers because it clearly establishes a one-to-one
correspondence between the chip layout and the logic diagram.
It also allows the logic diagram and truth table to be combined
into a compact and easy to read form, thereby serving as a
convenient shorthand for PALs. The two input- one output example from Figure 1 redrawn using the new logic convention is
shown in Figure 3.
1·5
PAL Introduction
--Hf-o-
used to store computer programs and data. In these applications the fixed input is a computer memory address; the
output is the contents of that memory location.
ABC
)--A.B.C
A •B . C
PROM
Figure 2
16 Words X4 Bits
"OR" ARRAY
(PROGRAMMABLE)
~
~
~
7
~
7
V V IV V
r--'\
F<
F<
OUTPUT
b='
Figure 3
As a simple PAL example, consider the implementation of the
transfer function:
F'\
~
The normal combinatorial logic diagram for this function is
shown in figure 4, with the PAL logic equivalent shown in figure 5.
f=<
!:='
Figure 4
" AND " ARRAY
(FIXED)
Figure 6
Figure 5
Using this logic convention it is now possible to compare the
PAL structure to the structure of the more familiar PROM and
PLA. The basic logic structure of a PROM consists of a fixed
AND array whose outputs feed a programmable OR array
(figure 6). PROMs are low-cost. easy to program, and available
in a variety of sizes and organizations. They are most commonly
The basic logic structure of the PLA consists of a programmable
AND array whose outputs feed a programmable OR array
(Figure 7). Since the designer has complete control over all inputs and outputs, the PLA provides the ultimate flexibility for implementing logic functions. They are used in a wide variety of
applications. However, this generality makes PLAs expensive,
. quite formidable to understand, and costly to program (they
require special programmers).
The basic logic structure of the PAL, as mentioned earlier,
consists ola programmable AND array whose outputs feed a
fixed OR array (Figure 8). The PAL combines much of the
flexibility of the PLA with the low cost and easy programmabiiity
of the PROM. Table 1 summarizes the characteristics of the
PROM, PLA, and PAL logic families.
PAL Introduction
PAL
4 In.4 Out.16 Products
FPLA
4 In.4 Out.16 Products
"OR" ARRAY
(FIXED)
"OR" ARRAY
(PR OGR A MM A BlE)
~
7
~
7
~
IV IV IV
~
--
7
~
~
~
~
~
V
~
--
7
IV !vA
r---.
k
b<
=<
b<
~
P<
F=<
P=<
F=<
P=<
P<
~.
P<
P<
P<
P<
P<
~
1......./
..
AND" ARRAY
(PROGRAMMABLE)
AND " ARRAY
(PROGRAMMABLE)
Figure 8
Figure 7
AND
I
i
PROM
FPLA
FPGA
FPLS
PAL
Fixed
Prog
Prog
Prog
Prog
OR
OUTPUT OPTIONS
Prog
Prog
None
Prog
Fixed
TS,OC
TS, OC, Fusible Polarity
TS, OC, Fusible Polarity
TS, Registered Feedback, I/O
TS, Registered Feedback, I/O
Table 1
!I
:1
D
\;", PAL Introduction
PAL Input/Output/Function Chart
TpD
PROGRAMMABLE FEEDBACK OUTPUT
PART
INPUT OUTPUT
NUMBER
I/O'S
REGISTER POLARITY
FUNCTIONS
10L
ICC
ns, mA mA,
TYP
TYP
PAL10H8
10
8
AND-OR AND-OR Gate Array
25
8
55
PAL12H6
12
6
AND-OR AND-OR Gate Array
25
8
55
PAL14H4
14
4
AND-OR AND-OR Gate Array
25
8
5.5
PAL16H2
16
2
25
8
55
PAL16C1
16
2
25
8
55
PAL20C1
20
2
AND-OR AND-OR Gate Array
BOTH 1 AND-OR Gate Array
BOTH 1 AND-OR Gate Array
25
8
60
PAL10L8
10
8
AND-NOR AND-OR Invert Gate Array
25
8
55
PAL12L6
12
6
AND-NOR AND-OR Invert Gate Array
25
8
55
PAL14L4
14
4
AND-NOR AND-OR Invert Gate Array
25
8
55
PAL16L2
16
2
AND-NOR AND-OR Invert Gate Array
25
8
55
PAL12L10
12
10
AND-NOR AND-OR Invert Gate Array
25
8
60
PAL14L8
14
8
AND-NOR AND-OR Invert Gate Array
25
8
60
PAL 16L6
16
6
AND-NOR AND-OR Invert Gate Array
25
8
60
PAL18L4
18
4
AND-NOR AND-OR Invert Gate Array
25
8
60
PAL20L2
PAL 16L8
20
2
AND-NOR AND-OR Invert Gate Array
25
8
60
10
2
6
AND-NOR AND-OR Invert Gate Array
25
24
120
PAL20L10
12
2
8
PAL 16R8
8
8
PAL16R6
8
6
PAL16R4
8
4
PAL20X10
10
10
PAL20X8
10
8
PAL20X4
10
PAL16X4
8
PAL16A4
8
AND-NOR AND-OR Invert Gate Array
35
24
90
8
AND-NOR AND-OR Invert Array w/Reg's
25
24
120
2
6
AND-NOR AND-OR Invert Array w/Reg's
25
24
120
4
4
AND-NOR AND-OR Invert Array w/Reg's
25
24
120
10
AND-NOR AND-OR-XOR Invert w/Reg's
35
24
120
2
8
AND-NOR AND-OR-XOR Invert w/Reg's
35
24
120
4
6
4
AND-NOR AND-OR-XOR Invert w/Reg's
35
24
120
4
4
4
AND-NOR AND-OR-XOR Invert w/Reg's
25
24
160
4
4
4
AND-NOR AND-CARRY-OR-XOR Invert w/Reg's
25
24
170
1 Simultaneous AND-OR and AND-NOR outputs
Table 2
PALs For Every Task
spectrum of logic functions at reduced cost and lower package
count. This allows the designer to select the PAL that best fits
his application. PALs come in the following basic configurations:
The members of the PAL family and their characteristics
are summarized in Table 2. They are designed to cover the
Gate Arrays
output configurations available (figure 9). This wide variety of
input/output formats allows the PAL to replace many different
sized blocks of combinatorial logic with single packages.
PAL gate arrays are available in sizes from 12x10 (12 inputterms,
10 output terms) to 20x2, with both active high and active low
INPUTS AND OUTPUTS
...
")0
po
I I I
I
I I
I
I
,,
Figure 9
,
I
I
I
,
'"
,/'
PAL Introduction
Programmable I/O
A feature of the high-end members of the PAL family is
programmable input/output. This allows the product terms to
directly control the outputs of the PAL (Figure 10). One product
term is used to enable the three-state buffer, which in turn gates
the summation term to the output pin. The output is also fed
back into the PAL array as an input. Thus the PAL drives the I/O
pin when the three-state gate is enabled; the I/O pin is an input
to the PAL array when the three-state gate is disabled. This
feature can be used to allocate available pins for I/O functions or
to provide bi-directional output pins for operations such as
shifting and rotating serial data.
INPUTS, FEEDBACK AND I/O
.
..
>--
b-d
I/O
.... t----
~
....
Figure 10
II
Registered Outputs with Feedback
Another feature of the high end memberS of the PAL family is
registered data outputs with registered feedback. Each product
term is stored into a Ootype output flip-flop on the rising edge of
the system clock (Figure 11). The Q output of the flip-flop can
then be gated to the output pin by enabling the active low threestate buffer.
.
,
In addition to being available for transmission, the Q output is
fed back into the PAL array as an input term. Thisfeed!>'acl(
allows the PAL to "remember" the, previoOs state, and it can'
aiter its function based upon that state. This allows the deSigner
to configure the PAL as a state sequencer which can be
programmed to execute such elementary functions as count up,
count down, skip, shift, and branch. These functions can be
executed by the, registered PAL at tates of up to 20 MHz.
,
INPUTS, Fi!:EDBACKANO, I/O
CLOCK
r--
"\
...
DC
D lilt-----
.....
~
rt.!~ .
'"
Figure 11
XOAPALs
These PALs feature an',exclusive OR function. The sum of
products is segmented into two sums which are then exclusive
ORed (XOR) at the input of the Ootype flip-flop (Figure 12). All
of the features of the Registered PAls are included in the XOR
PALs. The XOR 'function proVides an easy implementation of
the HOLD operation uSed in counters and other state sequencers.
INPUTS, FEEDBACK AND I/O
,~I1IIIIIIIII1IIIIIIIII!lmlllllllll ~.
Figure 12
PAL Introduction
Arithmetic Gated Feedback
The arithmetic functions (add, subtract, greater than, and. less
than) are implemented by addition of gated feedback to the
features of the XOR PALs. The XOR llt the input of the D-type
flip-flop allows carrys from previous operations to be XORed
with two variable sums generated by the PAL array. The flip-flop
Q output isfed back to be gated with input terms A (Figure 13).
This gated feedback provides anyone of the 16 possible Boolean
combinations which are mapped in the Karnaugh map (Figure
15). Figure 14 shows how the PAL array can be programmed to
perform these 16 operations. These features provide for versatile
operations on two variables and facilitate the P!lrallel generation
of carrys necessary for fast .arithmetic operations.
INPUTS, FEEDBACK AND 1/0
0C
CLOCK
=
B
~
I
)D -:!~ ~
Dar--
~
Figure 13
A,--~~----~--~~----.
B--~~--~~----~--~
}----,-- 1+ Ii
}------A
} - - - - - ' - A+ B
q-
t:, x~
x~
'q
't:,x
x~
~
}------'-B
-x
xx
x-
I+B
A
A+B
}------A·B
}------A:+:B
}------A+B
-x
A+B
A:+:B
A'B
B
xx
A
A'B
0
A'B
x-
A+B
B
A'B
A:·:B
}------A
}----A.B
}----o
}------A.B
}-----,--A:.: B
)------A·ii
}----lJ
}-----,.,..,--...,.. A+ lJ
A+B
(IB)
A+B
(AB)
I+s'
(AB)
I+B
(AB)
Figure 14
Figure 15
PAL Introduction
It should now be clear that the PAL family can replace most
Small-Scale Integrated Logic (SSI) logic in use today, thereby
lowering product cost and giving the designer even greater
flexibility in implementing logic functions.
PAL Programming
PALs can be programmed in most standard PROM programmers with the' addition of a PAL personality card. The PAL
appears to the programmer as a PROM. During programming
half of the PAL outputs are selected for programming while
the other outputs and the inputs are used for addressing. The
outputs are then switched to program the other locations.
Verification uses the same procedure with the programming
lines held in a low state.
PALASM (PAL Assembler)
PALASM is the software used to define, simulate, build, and test
PALs, PALASM accepts the PAL Design Specification as an
input file. It verifies the design against an optional function table
and generates the fuse plot which is used to program the PALs.
PAlASM is available upon request in many source code media
and isdoctlmented in the PAL Design Concepts section.
HMSI (HAL Medium Scale Integration)
The HMSI family is derived from the PAL using HAUechnology.
These devices perform predetermined functions which are not
available in the existing TTL family, Because they are produced
in volume, the user receives the benefit of volume pricing. HMSI
PAL designs are given in the Applications section with their
745 number in line 2 of the PAL Design Specification,
PAL Technology
PALs are manufactured using the proven TTL Schottky bipolar
Ti-W fuse process to make fusible-link PROMs, An NPN
emitter follower array forms the programmable AND array. PNP
inputs provide high-impedance inputs (0,25 mA max) to the array, All outputs are standard TTL drivers with internal active
pull-up transistors, Typical PAL propagation delay time is 25 ns,
and all PALs are packaged in space saving 20-pin and 24-pin
SKINNYDIP'",
HALs (Hard Array Logic)
The HAL family is the mask programmed version of a PAL. The
,HALis to a PAL just as a ROM is to a PROM. A standard wafer is
fabricated to the 6th mask, Then a custom metal mask is used to
fabricate Aluminum links for a HAL instead of the progral]1mable
Ti-W fuse array used in a PAL.
The HAL is a cost-effective solution for large quantities and is
unique in that it is a gate array with a programmable prototype.
PAL Data Security
The circuitry useo for programming
and logic verification can
be used at anytime to determine the logic pattern stored in the
PAL array, For security, the PAL has a "last fuse" which can
be blown to disable the verificatiOn logic, This provides a significant deterrent to potential copiers, and it can be used to
effectively protect proprietary designs,
D'
PAL Introduction
vee
+5V
RoLL
...&..0-<
IrD
~W
-LJ
~~rr
J
-
~
~W
J
.'
>--
-----
Q3
~
.011'.1 2N4402
~h
::
2K
20K
20K
2K
":"
12011
Y4-
£
M
I
29011
,..
1'4
IA
M
12011
1'1
IA
r;;w
-
.011'1
Q2
~W
~
~~
X
12011
~
1'4
Q4
L.....-
J
,4.:..J
~J
o
.~
Q5
~
1
r-U
r;;w
~
~
p
1
pOs t - -
r..-
--Q6
120n
r;;-;W
~
Or
L.....-
~
'--
1
pQa
L..-
Figure 16
120n
1'4
29011
-.l
1
r
r;Oa~
.~
M
~
r*
M
1'4
12011
PAL Introduction
PAL Part Numbers
The PAL part number is unique in that the part number code
also defines the part's logic operation. The PAL parts code
system is shown in Figure 17. For example, a PAL 14L4CN
would be a 14 input term, 4 output term, active-low PAL with a
commercial temperature range packaged in a 20-pin plastic dip.
, - - - - - - - - - - - HARD ARRAY LOGIC FAMILY
, - - - - - - - - - NUMBER OF ARRAY INPUTS
; - - - - - - - - OUTPUT TYPE
L = ACTIVE LOW
H = ACTIVE HIGH
R = REGISTERED
C = COMPLEMENTARY
X = EXCLUSIVE-OR REGISTERED
A = ARITHMETIC REGISTERED
. . . - - - - - - - NUMBER OF OUTPUTS
TEMPERATURE RANGE
C= OCTO+75C
M = -55C TO +125C
(CASE TEMPERATURE)
r-------
.P. .'.
; - - - - - - PACKAGE
N = PLASTIC DIP
J = CERAMIC DIP
F= FLAT PACK
883B = MIL-STD-8S3,
O.PT.IONAL
HI-REL PROCE. SSING
METHOD 5004 & 5005 LEVEL B
S83C= MIL-STD-S83,
METHOD 5004 & 5005 LEVEL C
B = MIL-STD-883,
METHOD 5004 EQUIVALENT
PAL
14 L4
CJ 8838
C
~~~~~~~:~ EQUIVALENT
high-volume consumer product: an electronic dice game. This
type of product will be produced in extremely high volume, so it
is essential that every possible production cost be minimized.
The electronic dice game is simply constructed using a free
running oscillator whose output is used to drive two asynchronous modulo six counters. When the user "rolls" the dice
(presses a button), the current state of the counters is decoded and latched into a display resembling the pattern seen on
an ordinary pair of dice.
A conventional logic diagram for the dice game is shown in
Figure 16. (A detailed logic derivation is shown in the PAL
applications section of this handbook). It is implemented using
standard TTL, SSI and MSI parts, with a totall.C. count of eight:
six quad gate packages and two quad D-Iatches. Looks like a
nice, clean logic design, right? Wrong!!
PAL Goes to the Casino
A brief examination of Figure 16 reveals two basic facts: first, the
circuit contains mostly simple, combinatorial logic, and second,
it uses a clocked state transition sequence. Remembering that
the PAL family contains ample provision for these features, the
PAL catalog is consulted. The PAL16R8 has all the required
functions, and the entire logic content of the circuit can be
programmed into a single PAL shown in Figure 19.
Figure 17
PAL Logic Symbols
The logic symbols for each of the individual PAL device:; gives a
concise functional description of that PAL's logic function. This
symbol makes a convenient reference when selecting the PAL
that best fits a specific application. Figure 18 shows the logic
symbol for a PAL 10H8 gate array.
In this example, the PAL effected an eight to onepackage count
reduction and a Significant cost savings. This is typical of the
power and cost effective performance that the PAL family brings
to logic design.
ROLL
VCC
+5V
.J...
r---_--.--~
2K
o------~-~
120(1
Figure 18
A PAL Example
As an example of how the PAL enables the designer to reduce
costs and simplify logic design, consider the design of a simple;
Figure 19
1·13
D
PAL Introduction
Advantages of Using PALs
Design Flexibility
The PAL offers the systems logic designer a whole new world of
options. Until now, the decision on logic system implementation
was usually between SSI/MSI logic functions on one hand and
microprocessors on the other.. In many cases the function
required is too awkward to implement the first way and too
simple to justify the second. Now the PAL offers the designer
high functional density, high speed, and low cost. Even better,
PALs come in a variety of sizes and functions, thereby further
increasing the designer's options.
The PAL has a unique place in the world of logic design. Not
only does it offer many advantages over conventional logic, it
also provides many features not found anywhere else. The PAL
family:
Space Efficiency
• Programmable replacement for conventional TTL logic.
• Reduces IC inventories substantially and simplifies their
control.
• Reduces chip count by at least 4 to 1.
• Expedites and simplifies prototyping and board layout.
• Saves space with 2()..pin and 24-pin Skinny DIP packages.
• High speed: 25ns typical propagation delay.
• Programmed on standard PROM programmers.
• Programmable three-state outputs.
• Special feature eliminates possibility of copying by
competitors.
All of these features combine together to lower product development costs and increase product cost effectiveness. The
bottom line is that PALs save money.
Direct Logic Replacement
By allowing designers to replace many simple logic functions
with single packages, the PAL allows more compact P.C. board
layouts. The PAL's space saving 20 pin "skinny dip" helps to
further reduce board area while simplifying board layout and
fabrication. This means that many multi-card systems can now
be reduced to one or two cards, and that can make the difference between a profitable success or an expensive disaster.
Smaller Invel1tory
In both new and existing designs the PAL can be used to
replace various logic functions. This allows the designer to
optimize a circuit in many ways never before possible. The PAL
is particularly effective when used to provide interfaces required
by many LSI functions. PAL flexibility combined with LSI function density makes a powerful team.
1·14
The PAL family can be used to
replace up to 90% of the
conventional TTL family with
just 25 parts. This considerably
lowers both shelving and inventory cataloging requirements. Even better, small
custom modifications to the
standard functions are easy
for PAL users; not so easy for
standard TTL users.
PAL Introduction
Secure Data
High Speed
The PAL family runs faster or equal to the best of bipolar logic
circuits. This makes the PAL the ideal choice for most logical
operations or control sequence which requires a medium
complexity lind high speed. Also. in many microcomputer
systems. the PAL can be, used to handle high speed data
interfaces that are not feasible for the microprocessor alone.
This can be Llsed to significantly extend the capabilities of the
low-cost. low-speed' NMOS microprocessors into areas formerly
'
requiring high-cost bipolar microprocessors.
Easy Programming
The members of the PAL family can be quickly and easily
programmed using standard PROM programmers. This allows
designers to use PALs with a minimum investmE;lnt in special
equipment. Many types of programmable 'logic. such as the
FPLA. require an expensive, dedicated programmer.
The PAL verification logic can be completely disabled by
blowing out a special "last link." This prevents the unauthorized
copying of valuable data,. and makes the PAL perfect'fo'r use in
any applioation. where df' integrity m~st be carefully guarded.
Summary
The 25 member PAL family, of logic d~vices offers logic designers new options in the implementation of sequential and
combinatorial logic designs. The family is fast. compact.
flexible. and easy to use in both new and existing deSigns. It
promises to, reduce costs ,inmost areas of design and
production with a corresponding increase ii1 product profitability.
A Great Performer !
D
PAL Introduction
PAL16R6
~he~
COnnection !
uf{- "
nPl>-"
ru~
~PI>t-J
fUlr"
U~"
I.
. PAL16R61-C>gic Diagram
PAL16R6 Logic Symbols
~SOUfICE
MID ....-oGRAMMAII E
ClRCUn'RY
IIRSCIlLLANEOUS
AND TESnNG
CIRCUITRY
PAL16R6 Metalization
2·1
PAL Family
)
FAIVlILV
~5 ~ - COunt@tn!
2-2
T
PAL Family
PAL Logic Symbols
PAL10H8
PAL12H6
Active
High
PALs
OCTAL 10 INPUT
AND-OR GATE ARRAY
HEX 12 INPUT
AND-OR GATE ARRAY
PAL14H4
PAL16H2
QUAD 14 INPUT
AND-OR GATE ARRAY
DUAL
INPUT
AN.D-OR GATE ARRAY
16
2·3
PAL Family
PAL Logic Symbols
PALs With Complementary Output
PAL20C1
PAL16C1
16 INPUT
AND·OR AND·OR·INVERT GATE ARRAY
20 INPUT
AND-QR AND·OR·INVERT GATE ARRAY
Active Low PALs
PAL10L8
OCTAl: 10 INPUT
AND·OR·INVERT GATE ARRAY
2·4
PAL12L6
HEX 12 INPUT
AND·OR·INVERT GATE ARRAY
PAL14L4
PAL16L2
QUAD 14 INPUT
AND-QR·INVERT GATE ARRAY
DUAL 16-INPUT
AND·OR·INVERT GATE ARRAY
PAL Family
PAL Logic Symbols
More Active Low PALs
PAL12L10
PAL14L8
PAL16L6
DECA 12 INPUT
AND-OR-INVERT GATE ARRAY
OCTAL 14 INPUT
AND-OR-INVERT GATE ARRAY
HEX 16 INPUT
AND-OR.JNVERT GATE ARRAY
PAL18L4
PAL20L2
{
QUAD 18 INPUT
AND-DR-INVERT GATE ARRAY
y
DUAL 20 INPUT
AND-DR-INVERT GATE ARRAY
2·5
PAL Family
PAL Logic Symbols
PALs With Feedback
PAL20L10
PAL16L8
DECA 20 INPUT
AND-OR-INVERT GATE ARRAY
OCTAL 16 INPUT
AND-OR-INVERT GATE ARRAY
PALs With Registered Outputs
2-6
PAL16R8
PAL16R6
OCTAL 16 INPUT REGISTERED
AND-oR GATE ARRAY
HEX 16 INPUT REGISTERED
AND-OR GATE ARRAY
.PAL16R4
QUAD 16 INPUT REGISTERED
AND-QR GATE ARRAY
PAL Family
PAL Logic Symbols
PALs With Exclusive OR
PAL20X4
PAL20X8
PAL20X10
DECA 20 INPUT REGISTERED
AND-OR-XOR GATE ARRAY
OCTAL 20 INPUT REGISTERED
AND-OR-XOR GATE ARRAy
QUA!, 20 INPUT REGISTERED
AND-OR-XOR GATE ARRAY
PALs With Arithmetic Gated Feedback
PAL16X4
PAL16A4
QUAD 16 INPUT REGISTERED
AND-OR-XOR GATE ARRAY
QUAD 16 INPUT REGISTERED
AND-CARRY-OR-XOR GATE ARRAY
2·7
PAL Family
Logic Diagram PAL10H8
0123
1
45
,,
INPUTS (0-31)
1213
1617
2021
2425
2829"3031
...
.
~
,
2
3
,
.......
,,
......-
19
..
....
17
16
17
4
18
~
..
...
......-
~
16
~
"
25
5
.
...
~
"
15
4D
14
33
6
.....
~
41
7
I
~
-'""'
48
49
8
...
13
~
...
12
"
57
9
....
iC
III
0123
2-8
45
II
,,
12tJ
II
1617
I
2021
2425
III
28293031
11
....
PAL Family
Logic Diagram PAL12H6
INPUTS (0-31)
1
..
2
...
012 J
...
4567
89
1213
2021
1611
24252621
28293031
~
,
"
.......
8
~
...
4
17
-<
16
17
....
18
./
11
J
19
"""....
...
....
~
'"
~
.
2.
S!-
16
25
~
CI)
~
a::
w
l-
,
....
t
;:)
c
IS
32
33
oa::
a.
~
..
6
~
••
"
1
~
14
~
...
.,.,
I
,
"
SI-
.......
13
../
..
I
8
.....
9
....
~
12
....
,
0121
4561
a9
1213
1617
2021
24252627
"""
30;
. ..
11
28293031
2·9
PAL Family
Logic Diagram PAL14H4
INPUTS (0-31)
1
1
...
...
...
0123
<1567
891011
1213
1617
20212223
24252627
28293031
~
...
3
.
,
...
.....
,
,
16
11
"
18
UJ
18
17
./
19
5
19
....
::E
a:
w
14
16
25
26
l-
~~
27
t)
:::)
Q
o
a:
Q.
-'"""'
32
33
34
35
6
-
...
~
15
./
40
'"
41
42
../
43
7
8
9
2·10
...
.
JI:: ,
...
...
....
"
13
11
~
~
11
~
0123
4567
891011
1213
1617
20212223
24252627
282931J31
PAL Family
Logic Diagram PAL16H2
INPUTS (O-31)
1
,
3
4
..
....
0123
4561
891(111
12131415
16111819
20212223
24252627
28293031
~
:JIt
_JC
19
....
..
.....
18
....
..
JC
....
17
24
25
16
17
28
U)
29
::E
3D
a::
w
lI-
5
o
"'"
16
'"'
15
31
..
32
33
:::I
C
3'
35
o
a::
Q..
36
./
37
38
39
6
7
•
9
...
.
14
~
..
~~
.......
...
12
....
...
....
....
....
:JIt
o
1 2 3
4 5 6 7
a
9 1011
12131415
16111819
20212223
24252627
11
28293031
2·11
PAL Family
Logic Diagram PAL16C1
1
2
3
•
....
INPUTS (0·31)
o
1 2 3
4 fi 6,1
8 91011
12131415
16171819
202122 23
24252627
28293031
~
...
...
~
~ ..
19
1C.
....
....
...
18
....
.....
C
17
....
24
""
17
18
19
5
..
3D
J1
16
.1
15
J1
JJ
34
J5
J6
""
"
6
...
...
....
7
....
8
....
9
..
....
"
....
13
....
....
o
2-12
....
....
1 2 3
/I
5 0 1
8 9 10"
12131415
1& 171819
20212223
24252627
28293031
12
11
PAL Family
01
~
23
456
,
Logic Diagram PAL20C1
-
INPUTS (0 39)
891011
12131415
161/1819
202'
n
23
~4
25 26 27
28293031
32 ]334 35
36]13839
+-
~
~
23
3
3::J
22
~
.....
21
~
~
-z.....
20
"'-;.>-
....
4
,
I
I
5
~l
"
J3
34
(j)
e..
1
33
I-
}-
38
::!E
a:
w
h
36
IIJ
I
....rD)--'
35
":'
39
6
»-
---
..."!It..
....
t:J
..
0
"
"
c
~
"
a:
Il.
tEt>J
44
r-
"
~
"
"
7
8
-.r1
...
7"
10
11
17
--t~
...
-<>'1
.
o
oa:
a..
J1
15
3J
34
3S
6
100.
...
~
40
"
41
"43
)
,
9
2·16
...
..
.
...
14
./
4567
1J
.....
12
~
~
II 123
....
891011
1213
1611
20212223
24252627
H
28293{\31
s::]
11
PAL Family
Logic Diagram PAL18L2
INPUTS (0-31)
1
2
3
•
...
...
(J
I 2 J
4567
891011
12131415
16171819
2DZI:t2Zl
24252621
2B293031
~
....
...
...
...
19
€
~
...
~.
18
-~
...
...
....
17
~
"
25
26
21
28
I/)
....
16
"-
15
,
l'
30
::IE
a:
w
'"
./
29
~
...
~
31
"
""
33
5
o
36
J7
If
"
39
...
6
...
7
...
8
...
9
.....
.....
13
.....
12
"'"
....
...
....
...11::
A
o
....
1 2 3
4
~
b 7
8 9 1011
12 1314 1~
161118 19
2021 2223
2425-2627
11
2829 3D 31
2-17
PAL Family
Logic Diagram PAL12L10
INPUTS (0-39)
24
2~
36373839
2829
L~
•
-tj.-L-
\
23
~
10'1)-
.,
3
~
-u-
11
-o-r
25
>
b-L
33
...r\-
--tJ--L
41
18
17
16
~
...r\-
~
"
15
2
~
12
-t::5-
13
~
0123
2.18
-
~
......
..
11
19
~
"
"
10
-
~
B=Lr
"
9
20
2
..
8
21
~.
..
7
-
~
"
6
-
2
14
5
-
22
>
"
4
-
~
......
.,
-
J ........
.'C
I
20 H
2425
2829
3233
36373839
14
13
PAL Family
Logic Diagram PAL14L8
INPUTS (11-39)
Il
1
12
1
4!1
Ii
1
8
1213
9
1611
1021
24
2~
2829
32333435
36313839
~
~
S
.,
-Q-1. ........
"
2
-
"
11
4
~
25
tn
a:
~
5
"
::;)
Q
0
...
32
I0
6
.
-Q---f'-
21
B=D
20
-R-i'
v-
19
2
a:
Q.;
~
'"':'-
40
41
7
,22
2
"
I
e.
:&
.
23
-
10
3
....
""
.
18
I~
...
=B=D
17
~
-
-Q--r"
.....
"
57
!-..-f~
..
~
""
~
...
...
C·
------ufl
•
I
l'
,
~
6
,
.,
1•
-u-=r'
."
~
,1 ~
16
1,213
1811
2011
""
2821
32 ~~ 34· ~5
36 F3']!
14
13
PAL FarnUy ,
Logic Diagram PAL16L6
INPUTS (0-39)
0'
23
4567
a
9 1011
1213
1611
2021
21293031
2425
323334 35
36313839
~
~'
3
....,...
;r;:
~
So.
.-II
-Q--L
16
IJ
-Q--l-
IB
22
21
L..J"'
"
4
23
~
,....,
"
"
20
25
'1...r"1
Z1
~~
13
6
-Q--r
19
.n.
18
--
"
~
40
41
-t5--L
~~
.
8
:-
,"so
"
R-.
-
">
:R:-I
51
"
P-lL..J",
"
59
9
17
.
16
15
~
..
,
"
10
...
14
..0,
13
~
!!..
..
l
01
Z 3
45
& 7
811DII
1213
1611
2021
2425
ZIn3031
12133435
36373139
PAL Family
Logic Diagram PAL18L4
INPUTS. (0-39)
8
0123
1611
9 1011
2021
242526'27
2B293031
32333435
36313839
~
...
~
23
~~
...
4
:e;
~~
5
oS;
22
21
24
25
~
26
Z1
6
,
"
"
...
rr,
31
,.
"
33
--
-Q-i-.
~-L"
-
41
~
"'3
-O--t""'"
...
18
~
r-
"
"
52
}-,
"
--
15
~~
...
11
17
16
~~
10
19
.....
40
7
20
I
oS;
:e;
~
14
13
...
.~
01
t
3
89,1011
121311115
16,11
2·21
PAL Family
Logic Diagram PAL20L2
INPUTS (0-39)
0113
45
Ii
7
891011
12131415
16111819
20212223
24262621
28293031
~
31333435
36313839
I
~
23
~
....
3
22
.....
4
5
A
..
20
----1~
r-o
,."
"
"
"
"
"
33
6
'h
.......
19
I-'~
~
".
.,
42
.
."
7
21
~
18
1--1-"
I-
"...
...
8
17
16
----1
'"
9
A
15
.1i.
....
10
11
:Co
o
1 23
4 !Ii
Ii
1
8 91011
12 U14·15
1& "181'
202122 U
24 2&26·27
21213031
32333435
31313139
-
14
13
PAL Family
Logic Diagram PAL i6La
INPUTS (0-31)
,
0123
4561
891011
12131415
16171819
20212223
24252627
28293031
r-J
1
1
3
4
5
2
..
•
7
1I:.t---
~
....
8
9
>-J
10
11
11
13
3
14
15
.
.1--....
"
....
23
l-
5
..
~b-J
;A
.1---....
32
:l
C
~~b-J
33
34
35
o
a::
Il.
"
...
>->-;A
...
....
....I - - ~
.
~
....
~
>--J
J=
50
51
51
53
.>
"
55
11:
...
50
61
"
63
...
.JIIO
IJ 1 2 J
4 5 6 1
8 9 1011
12131415
16171819,
20212223
2425lfi 27
13
...t---'----
""
~W
57
.,"
59
..>
"
11:.1---
:It
49
9
r-J
-
47
48
8
15
-f---1
37
38
39
40
41
42
43
44
45
7
16
31
t)
6
~
....
14
15
16
17
28
29
3D
::IE
17
11:
C/)
w
>--J
-
12
a::
18
~
....~
16
17
18
19
10
•
19
...
12
11
....
2829)031
2·23
PAL Family
Logic Diagram PAL20L10
INPUTS (0-39)
0123
·
4
5
~
1
,
9 1011
1211141.
1617 1819
20212121
24252621
282930]1
12333435
36313839
.......
,
,
,
n-l/1>
....,
,
~
.1----
··
~L~
'"
"
3
Jt.
.
"
"
"
"LJ-l>--t>
,.
.....
"
"
"
....,
t-<
~~
..r-t>
"
..... -r
6
..
20
19
~
~
"
"
OJ
7
...
"'"
~T~
18
"LJ"T-l/;)
17
...
8
~
"
t-<
"
"
"
....,
~~.
.
..J.
16
~
.......
"
"
"
11
~
21
~
32
"34
10
22
.....
"
4
23
-.:n~
15
~~
K..L
....,
14
~
.
"
"
"
"
1C.
1
U I
1
J
4
ti
6'
B i
1011
12131415
18111819
20212121
24-252811
282'93031
32)334 35
35313.39
13
PAL Family
Logic Diagram PAL 16R8
-
INPUTS (0 31)
1
0123
4567
891011
12131415
16111819
20212223
24252627
28293031
0
I
~
2
3
r---,
4
5
6
~
)
2
~~~
""
../
.....
~
...
11:
r'
•
")-'
"
q
9
10
r--"
11
13
14
r-D
~
r-
15
3
Ul
....
.A
110
~
....
01---
~
~
16
17
"
~I--
"-
19
20
~
11
21
23
4
....
...~
...
<-
~~
14
Pl
~
~
~
25
16
'\.
27
19
~
30
a:
w
l-
~
"
U)
5
....
31
~
t;
;:)
""'4
"
C
33
oa:
14
'-
35
36
Q,
~
37
Ja
39
6
....
.....
~
...
~
...
40
~
41
42
43
~
44
45
46
47
7
....
~
~
....
..
49
"
51
51
53
./
54
8
....
"
iI:
~.
"
""
61
...
...
5)
"-
j
"
61
63
9
to.
...
7
'--L~t_
....
~
0123
4567
891011
12131415
16171819
20212223
24252627
282931131
~
Pl
~
Pl
~
~
2.25
PAL Family
Logic Diagram PAL16R6
-
INPUTS (0 31)
1
0123
4!i 61
B 91011
12131415
16171819
20212223
24252627
28293031
0
>-J
1
1
3
,
4
6
19
7
,
....
.....
"".1---
L
....
8
9
10
J
to.
-~
""
11
11
13
14
D
./
"
....
~
Ot--
~~
16
17
18
19
10
-
,
.
D
./
11
1Z
Ot--
~1
13
~
~
14
"
~
16
I/)
17
28
19
30
:::IE
31
a::
IU
5
...
lI-
"'"
./
~
o
.....
32
33
34
::I
C
"
35
36
o
a::
J)
~
J8
J9
6
....
....
to.
1C.
.Jt.-
ill
~
~
~
~
40
41
42
"'"
43
44
45
./
46
41
7
.....
_«:A
48
49
50
"""\..
51
e
to..
"""
"
A
"57
~
""
60
61
61
9
.....
...
r;-;;-~
./
"
...
o1
.t----....
Z 3
4 5 6 7
8 9 1011
12131415
1617 1819
20212223
24252621
28293031
~
~l
12
~
PAL Family
L ogle Diagram PAL18A4
1
INPUTS (O-31)
....
,,
0123
4561
891011
1611'1819
12131415
20212223
"24252621
28293031
,
-
~
J
4
5
6
19
7
3
~ -
.C!~
..........
••
""
~
. ID
IJ
14
"
3
18
...
"""'"
.
2 J
4
~
•
1
8 9 10 11
17
~
"-;:J.
.....
.
~
A_
~-
G ,
19
-O-L
~D-
"
"
"
"
10
. . 90- ~~
J-L
.......-
50
9
.
~1
.....
=;:,[>q- ~
"43·
8
Q
:IC:
33
6
:IC:
12 13 '4 15
z.
15
14
13
PAL Family
Logic Diagram PAL20X8
INPUTS (0-39)
1
.
0121
..
5
61
891011
121314,S
16111819
10212223
24 ZS 16 1I
l8nlOl!
32]33435
36313839
.......
,
,
~
,
~
.,
H=L
~
...
1fllY>- "
~
V"
;;.R~D-
"
"
"
"
Ifll
Ifll
tA....
2~DIfll
-t::5--L
~
"
"
"
"
I;l
IDD:til
5
20
......
,
......
"
"
"
"
...
~D-
.,
OJ
7
.
fu
-3-~~
"
;0
"
.
19
~
~
:D]
~
ID~ ~ ~
"
"
"
"
9
.~. 2JD-:tl]
:til.
.
."
;;J.. -15
......
Q
"
10
.......
H=t
6
~
j
;:::-Q-f"?D-
""
3
23
~
i;
......
"
"
~~
"
"
~>
o
1
13
..
S
6
1
8
9 1\111
12 ll14 15
16111119
20 1122 11
24152621
2B 2' 30 31
12 J334 J5
14
~
,..,.-
36313.39
2·29
PAL Family
Logic Diagram PAL20X4
INPUTS (0-39)
1
....
--V
··,
01
23
45
Ii
1
.91011
12131415
'1111119
20212223
24252121
21293031
3233341&
36313139
~I
1
~
i:.r--'
··
~
""
3
.
::::;>-tI I
"
.
----t
~D- ~~
"
"
"
~
~
.....
~D~
"
"
19
1-<1
!4
15
~
6
...
~D-
;;.
""
.n-L
..
~
.."
.
~
~
~[>~ ~
~
"
8
21
~
"
7
22
,....,
"
11
4
23
...
li
.......
51
:g:b -t\ I
"
51
51
9
16
.t---'
.
.."
......
I-(
"
I
.
..J.
15
.....1
~.
,....,
"
"
"
"
-K-l
,J.
14
.....
1
11
a
1
2
1
..
5
II
1
I
9 1011
12111415
1& 11 '119
2021,2223
14 nZI t7
It Z, 3G 31
32 33:i4 n
3& 31313'
.A..
~
13
PAL Family
Logic Diagram PAL16X4
-
INPUTS (031)
I
() 1 2 3
4561
B 91011
12131415
16171819
20212223
24252627
28293031
~
0
I
!
~
2
3
4
I
I
;
i
1
I
6
7
to..
...
~
,
>-~
9
JO
,
II
11
I
J
•
I
I
1;
...
~
=tig}D-
J6
17
W"
=ti
M
~DM
"
;:::
19
20
21
""""1-<:::1
22
13
4
~
----11
Conventional Symbology
PAL Symbology
i2 + IT
12
LOGIC STATE
~
VCC
H L L H
PRODUCT WITH ALL FUSES
; - BLOWN REMAINS HIGH
ALWAYS
INPUT
HIGH
11
IH
11 12 + 11 12
~ PRODUCT WITH ALL FUSES
INPUT
LOW -=
12
INTACT REMAINS LOW ALWAYi
11
l
SHORTHAND NOTATION
FOR ALL FUSES INTACT .,
PAL Logic Diagram
r
'0
PRODUC
LINT
E
NUMBER
;
,
~
,
7,:
"
L
I
11
4 S 6'
'191011
.
lIlTl'l'
ACTIVE HIGH
THREE-STATE ENABLE
CLOCKt
,-..
-K.
0-
r
.
INPUT LINE NUMBER
PIN
NUMBER
III
b
12
-"
...L
23
~1
]~~'"
=~D~~"
~-
o SUM OF PRODUC·
IS EaUAT ED AT THESE NODE
(BEFORE THE BUBBLE)
Q
UTPUT
'--coo NTROL
PAL Concepts
PALASM Flow Chart
(Main Program)
START
(
)
'-----r--l0L-________~R=EA~D~PA~L~P~A~R~T~N~O~&~T~IT~L=E--------~
20
READ PIN LIST AND STORE IN SYMBOL TABLE, ISYM
25
READ NEXT SYMBOL
NO
28
YES
PRODUCT GROUP = MATCH (OUTPUT SYMBOL)
NO
OR
(
YES
MATCH
NO
SET FUSES (MATCH) AND SAVE SYMBOL FOR PLOT
YES
*
64
NO
70
68
NO
+
YES
OR
74
(
OR
YES
NO
TweEK FUSES FOR NON-EXISTENT FUSE PATTERN
ECHO .INPUT PAL DESIGN SPECIFICATION
PRINT PINOUT
PERFORM FUNCTION TABLE SIMULATION
PRINT ENTIRE FUSE PLOT
PRINT BRIEF FUSE PLOT
OMIT PHANTOM FUSES AND UNUSED PRODUCT LINES
GENERATE HEX OR BINARY PROGRAMMING
FORMATt
C,_____
~
S_T_O_P_____
tA SPECIAL DATA 1/0 FORMAT IS PROVIDED FOR SERIES 24 PALs.
OPTIONAL
(MUST ENTER
APPROPRIATE
OPERATION CODE)
PALASM 24 Source Code
PALASM Flow Chart (Simulator)
READ NEXT
PIN NAME
LBUF = FALSE
IF INVERTED
READ FUNCTION TABLE
PIN LIST. STORE IN
ISYM1. LPHAS1 = FALSE
IF INVERTED
IPROD = L
READ LOGIC EQUATION
READ NEXT
PIN NAME
LBUF = FALSE
IF INVERTED
ISTATT (IOUTP) = H
.i:*-----{B
L-----------------~C
PALASM 24 ,Source Code
FUNCTION TABLE
VECTOR ERROR
EXPECT = H
ACTUAL = L
FUNCTION TABLE
VECTOR ERROR
EXPECT = L
ACTUAL = H
FUNCTION TABLE
VECTOR ERROR
EXPECT OUTPUT ENABLE
ACTUAL = Z
FUNCTION TABLE
VECTOR ERROR
EXPECT = Z
ACTUAL = L OR H
CH NGE ORDER ro- CXN1'INOE ••• ":A$
620 PRINT"" :PRINr"
THIS PROGRAM CAN BE RIJN IN EITHER THE"
630 PRINT"mtPlLED OR IN'l.'ERPREn'ED MJDES. THE CNLY DIFFERENCE"
640 PRINT"SIIXJLD BE THE SPEED OF OPERATICN." :PRl:Nr""
650 PRINT:PRINT"FINE PRINl':"
660 .PRINT"THIS PROGRAM IS DISTRIBUl'ED CN AN --AS IS -- BASIS."
670 PRINT"IT WAS TRANSLATED FIOI! A FORl'RAN IV PROGRAM"
6S0 PRINT"AND EVERY EFFORl' WAS TAKEN TO INSURE ITS AO:lJAACY."
690 PRINT"lD'JE.VER, THE USER SHOOLD ALSO VERIFY ITS AO:lJAACY"
700 PRINT"AND mtPIETENESS. ":PRINT"" : PRINT" "
710 PRINT:INPUr"PRESS TO BEX;IN PROGRAM ••• ":A$
1000 A$="":FORX%=lT016:PRINT"":NEXT:CI.EARl.000:DEFINTC,F,H,N,O,T,X,Y,Z
1010 DIME' (31, 63) :DEFSTRA,D,L,P:DIw.(15) ,P (21) ,L(50) :C=O:X$="" :A$=""
1020 x=o :PRINT"ENl'ER 1 TO CREATE PAL IESIGI SPEX:IFIC'ATICN FILE FIOI! KEYBOARD"
1030 PRINT"ENIER 2 ro RFAD EXISTING PAL IESIGI SPEX:IFICATICN FILE: " :
1040 INPU1'X:X=A8S(X):CNXGOT01060,1130
1050 GOT01000
1060 PRINT:PRINT:PRINT"ENIER IESIGt SPEX: FILENAME (FILENAME,/EJcr':D)"
1070 PRINT"ENTER "END'" (WITfDJI' ~) AFi'ER LAST LINE."
10S0 PRINT"FILENAME ? ":: LINEINPUl'A$
1090 OPEN"O",l,A$
1100 LINEINPUrA$
1110 IFA$=''END"THEN1120ELSEPRINI11,A$ :GOT01l00
1120 CLOSE:GOT01000
1130 ONERRORGOT02260
1140 PRINT:PRINT:PRINT"ENl'ER FILENAME (FILENAME,/EJcr' • PASSl'DRD: D) ro BE ":
1150 PRINT"PiSSEM3IED ?":LINEINPt11'F$
1160 X=l:OPEN"I" ,1,F$
1170 INPUTt1,A:L(X)=A:X=X+1:PRINtA
l1S0 IFECF(1)TBEN1l90ELSE1170
1190 CLOSE1:NL=X
1200~
2000
2010
2020
2030
2040
2050
2060
2070
20S0
2090
REM *** VERIFY PARI' NUMBER AND Gm' TYPE
A=L(l):TY=O
X=INSTR(A, "PAL")
***
OT$=MID$(A,X+5,1):P=MID$(A,X+6,1):P3%~(P)
PN=MID$ (A,X, 7) :P=IEFl'$ (PN,3) !IFP<>"PAL"THENGOT02090ELSEP=MID$ (PN,4,4)
IFP="10HS"0RP="10LS "'lHENl'Y=lELSEIPP=" 12H6 "ORP=" 12L6 "'l'HEN1'Y=2
IFP="14H4"0RP="14L4"'lHENl'Y=3
IFP="16H2"ORP=" 16L2"0RP= " 16C1 "THENl'Y=4ELSEIFP=" 16LS"THENl'Y=5
IFP="16R4"0RP="16R6"0RP="16R8"'lHENl'Y=6ELSEIPP="16A4"0RP="16X4"THENl'Y=7
IFTY=0'IHEN" "THENP (Y) =P (Y}+P ELSEY=Y+l
NEXT:IFY=21THEN2270ELSEIFY<21THENLC%=LC%+1:GOT02220
GCSUB7210 : PRINT II INVALID PIN LIST":END
RESUME1l30
IFP(10} <>"GID"THENPRINT"ERROR RRECl'ED ••• PIN 10 IS NCM ..~Ir·":p(10}="QID
2280 IFP (20) <>''Va::''THENPRINT''ERROR RRECl'ED ••• PIN 20 IS NOO \Ta::"II:P (20) ="Va::
II
2290
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
2600
2700
2710
2720
2730
2740
2750
2760
2770
2780
2790
2800
2810
2820
2830
3000
3010
3020
3025
3030
3040
3050
3060
CNERRORGOrOO : 4THENN0=8ELSENO=P3%
LC%=LC%+l:A=L(LC%) :IFLC%>NLTHEN4010
FC=O :FS=O :FR=O :AT="" :DL="} / "
CE=INSTR(A, "="} :IFCE=OTHEN2420
OU=OU+1:IFCU>NO THEN3290
AL=LEFI'$ (A,CE-1) :CT=IEN (A) :CN=CE
CN=CN-1:IFCN=OTHENGOT02500
P=MID$ (A,CN,l) :IFP=" "THEN2470ELSEIFP=":"THENFR=1:GOT02470
P=MID$(A,CN,1}:IFINSTR(DL,P}=0~P+AT:CN=CN-1:IFCN<>OTHEN2490
FORZ=12T019 :IFAT=P (Z}ORP (Z) = ("/"+AT) THEN100THENFR=1:Y=Y-100ELSEIFYOTHEN2590
IFFC=lANDINSTR(AL, ") "}=OTHENY=Y+l:CN=CE+l:OT8ENCN=CE+1:Y=Y+1:en;ua4410:GOT03050
CN=INSTR(AL," (") :CT=INSTR(AL,"} ") : IFCN=00RCT=OTHEN259 0
A=AL:CN=CN+1:CT=CT-1
IFINSTR(A, "+") <>OTHEN D'I'HENPRINT" # II ;A:END
DL=" (:) +*" :AT=""
IFCN>CI'l.'HEN:.OI'02810
P=MID$ (A,CN,l) :IFP=" "THENCN=CN+1:GOT02770
IFINSTR(DL,P}=0THENAT=AT+P:IFCN<>C1'I'HENCN=CN+1:GOT02770
GCSUB3200:GOT02760
.
Y=Y+1:A=L(LC%) :CN=CE+1:CT=IEN(A)
GCSUB4410
G0T03050
REM *** INPtJl' PRCX::ESSING FOR SIMPLE CUI'PUI'S ***
LC%=LC%+l:A=L(LC%) :IFLC%>NLTHEN4010:REM** RE..,.ENTRY POINT **
IFINSTR(A, "DESCRIPTICN"} <>OT8EN4010
IFINSTR(A, "FUNcrICN TABLE"} <>OTHEN4010
cr=LEN(A}:CN=l
IFINSTR(A,"="}<>OTHEN2430
DL=" (:)+* ":AT=""
IFCN>CTTHEN3010
3·59
Basic PALASM Source Code
3070
3080
3090
3100
3110
3120
3130
3140
3150
3160
3200
3210
3220
3230
3240
3250
3260
3270
3280
3290
3300
3310
3320
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4400
4410
4420
4500
4510
4520
4530
4540
4550
4560
4570
4580
4590
4600
4610
4620
4630
4640
4700
3.60
P=MID$ (A,CN,l) :IFP=" "THENCN=CN+l:00l'03060
IFP="+"ANrlI\T<>""THENY1THEN3150ELSEY1THEN3150ELSEGaSUB4410:00l'03060
IFP="*"THENGCl3UB3210:00l'03050
IFTY=7AND(P="(" CR P=":")THEN9000
IFP="(" ORP=")" ORP=":"THEN2590
AT=AT+P:CN=CN+l
IFCI'=CN-l.ANI:lM'<>""THEN0'I'HENRETURNELlANDZ<10THENX=(Z-2)*4+1:RETURN
IFZ=10ORZ=20THENX=0:RETURN
IF (TY<6ANDZ=1) OR (TY>5ANDZ=19) THENX=3:RETURN
IF(TY<6ANDZ=11)OR(TY>5ANDZ=12)THENX=31:RETURN
IFTY=lTHENX=O:RETURN
IF(TY<5ANDZ=12)OR(TY>4ANDZ=13)THENX=27:RETURN
IF(TY<5ANDZ=19)OR(TY>4ANDZ=18)THENX=7:RETURN
IFTY=2'ffiENX=O:RETURN
IF(TY<5ANDZ=13)OR(TY>4ANDZ=14)THENX=23:RETURN
IF(TY<5ANDZ=18)OR(TY>4ANDZ=17)THENX=11:RETURN
IFTY=3THENX=0:RETURN
IFZ=140R(TY>4ANDZ=15)THENX=19:RETURN
IFZ=170R(TY>4ANDZ=16)THENX=15:RETURN
X=O:RETURN
REM **** 00TPUl' TABIE FUNcrICN ****
Basic PALASM Source Code
4710
4720
4730
4740
4750
4760
4770
4780
4790
4800
4810
4820
4830
4840
4850
4860
4870
4880
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
6000
Y=(19-Z)*8+1:NP=0:ZO=Z
IFY>57ORY<1'lmNY=0:RE1't1RN
IFrY=1THENNP=2:RE1't1RN
IF1'Y>4'l'HEmP=8
IFFcrGHT$(PN,2)=nRB n'lmNY=Y+100:RE1't1RN
IFrY=5THENY=-Y:RE1't1RN
IF1'Y>4AND(Z=12ORZ=19)THENY=-Y:RE1't1RN
IFFcrGHT$(PN,2)=nR6"THENY=Y+lOO:RE1't1RN
IF1'Y>4AND(Z=13ORZ=18)THENY=-Y:RE1't1RN
IF1'Y> 5THENY=Y+100 :RE1't1RN
IFZ=12ORZ=19THENY=0:RE1't1RN
IFrY=2AND(Z=13ORZ=18)THENNP=4:RE1't1RN
IFrY=2THENNP=2:RErUm
IFZ=13ORZ=l8THENY=O:RErUm
IFrY=3'lHEml?=4:RErUm
IFZ=140RZ=17THENY=0:RErUm
IFRIGHT$(PN,2)=nCl nTHENY=25:NP=16:RETURN
NP=8:RmURN
REM **** VIRGIN FUSE PATl'ERN INITIALlZATICN ****
NB=0:0NTYG0T05020,5060,5160,5240,5320,532Q,5320
FORY=0T063STEP8:FORX=OT031:F(X,Y)=0:F(X,Y+1)=0:F(X,Y+2)=2:F(X,Y+3)=2
F.(X, Y+4) =2:F (X, Y+5)=2:F (X, Y+6)=2:F (X,Y+7) =2:NEXTX, Y
FORY=OTOS7STEP8:FORX=6T027STEP4:F(X,Y)=3:F(X+l,Y)=3:F(X,Y+1)=3
F(X+1,Y+1)=3:NEXTX,Y:RErUm
IF01'$=nL nTHENC=2ELSEC=3
FORY=0T063STEP56:FORX=OT031:GOSUB5340:NEXTX,Y
FORY=8TOS5STEP8 :FORX=0T031~F (X, Y) =O:F (X,Y+l) =O:F (X', Y+4) =2
F(X,Y+5)=2:F(X,Y+6)=2:F(X,Y+7)=2:NEXTX,Y
FORX=0T031:F(X,10)=0:F(X,11)=0:F(X,50)=0:F(X,51)=0:NEXTX
FORY=18T043STEP8 :F(EX=0T031:F (X, Y) =2:F (X, Y+l)=2 :NEXTX, Y
FORY=8T049STEP8:FORX=10T023STEP4:F(X,Y)=3:F(X,Y+1)=3
F(X+1,Y)=3:F(X+1,Y+1)=3:NEXTX,Y
FORY=10TOS1STEP40:FORX=10T023STEP4:F(X,Y)=3:F(X,Y+1)=3
F(X+1,Y)=3:F(X+1,Y+1)=3:NEXTX,Y:RETURN
IF01'$="L nTHENC=2ELSEC=3
FORY=0T063STEP8 :IFY=16'lmNY=48
FORX=0T031:GOSUB5340:NEXTX,Y
FORY=16T047STEP8:FORX=0T031:F(X,Y)=0:F(X,Y+l)=0:F(X,Y+2)=0
F (X,Y+3)=0:F(X,Y+4)=2:F(X,Y+5)=2:F (X,Y+6)=2:F (X,Y+7) =2 :NEXTX,Y
FORY=16T043STEP2 :FORX=14T019STEP4: IFY=20'mENY=24EI..SEIFY=28THENY=32
IFY=36THENY=40
F(X,Y)=3:F(X,Y+1)=3:F(X+l,Y)=3:F(X+l,Y+l)=3:NEXTX,Y:RETURN
IFOT$=nL"'1HENC=2ELSEC=3
FORY=0T023STEP8 :FORX=OT031:F (X,Y) =C:F (X,Y+l) =C:F(X, Y+2) =C
GOSUB5340:NEXTX,Y
IF01'$=nH"THENC=3ELSEC=2
FORY=40T063STEP8 :FORX=0T031 :GOSue5340 :NEXTX, Y
C=O
FORY=24T039STEP8 :FORX=0T031 :GOSUB5340 :NEXTX, Y
RETURN
0=0 :FORY=0T0635TEP8 :FORX=0T031 :GOSUB5340 :NEXTX, Y
RETURN
F(X,Y)=C:F(X,Y+l)=C:F(XiY+2)=C:F(X,Y+3)=C:F(X,Y+4)=C
F(X,Y+5)=C:F(X,Y+6)=C:F(X,Y+7)=C:RErUm
REM **** X-PLOT FUNCTICN ****
3·61
Basic PALASM Source Code
6010
6020
6030
6040
6050
6060
6070
60S0
6090
6100
6110
6120
6130
6140
6150
6160
6170
61S0
6190
6200
"
Al="
11
A2="
0123 4567 S901
A3="X = FUSE INTACl'
A4="0 = PHANTCM FtJSE
1111 1111 2222 2222 2233"
2345 67S9 0123 4567 S901"
(LfN,O)
-.= FUSE BliM'l
(L,N,O)
0 = PHANTCM FUSE
(H,P,l)"
(H,P,l)"
~900
PRINl'"ENl'ER FII..ENAME (FILENAME,/E}cr'.PASSVllRD:D) FOR X-PLOl' CXJl'PU1' ? "
LINEINPtJ1'X$
QPEN"O",l,X$
C=O:A(O) ="X" :A(l) ="-" :A(2) ="on :A(3) =nO":CI.S:PRINl'L (3) :PRINT""
c:NERroROOl'OO
FORX=1T04:PRINl'i1,L(X):NEXTX
PRINTt1, "n :PRINTt1,"NUMBER OF Ft5ES BliM'l =" ~NB:PRINTt1, n"
PRINl':PRINl'"NtMmR OF FUSES BliM'l =n ~NB:PRINT
PRINTt1,Al:PRINTt1,A2:PRINl'#l," "
IFC=64THENPRINTt1," ":PRINTt1,A3 :PRINTt1,A4 :Al=" " :A3=" " :A4=" " :CI..Cl3E:RETt.JRN
PRINT:PRINl'Al:PRINTA2:PRINT
FORY=0'I07:CDruB6200:~
PRINTt1," ":PRINl':PRINT"I.F.Gr\ND: n :PRINTA3 :PRINTA4
FORX=0T0800 :NEXTX:CI.S :00:006150 .
A=n ":FORX=OT03lSTEP4:A:::A+A(F(X,C) )+A(F(X+l,C) ) +A(F(X+2,C) )+A(F(X+3,C) )+n
.
6210 NEXTX:PRINTUSING"tt"~C~:PRINTA
6220 PRINl't1,USING"it n ~C~ :pRINTt1,A$ :C=C+l:RE1'URN
6900 Gl3US7210 :PRINTnINVALIDFII..ENAME n : RESUME6050
7000
REM **** HEX FUNCtION ****
7010 A(O)="0":A(l)="1":A(2)="2":A(3)="3":A(4)="4":A(5)="5 n
7020 A(6) ="6" :A(7)="7" :A(S)="S":A(9)="9" :A(10) ="A" :A(11)="B"
7030 A(12)="C" :A(13)="D" :A(14)="E":A(15)="F"
7040 ~7200
7050 PRINl'"ENl'ER FII..ENAME (FILENAME,/E}cr'.PASSVllRD:D) FOR HEX CXJl'PU1' ? "
7060 LINEINPtJ1'X$
7070 ClPEN"On,l,X$
70S0 CNERROROO1'OO
7100 PRINl':PRINl'''NtMmR OF Ft5ES B~ =n ~NB:PRINT
.
7110 PRINT:PRINl'L(3):PRINT:PRINTt1,CHR$(lS)~CHR$(07)~CHR$(07)
7120 FORX=1T04:PRINTt1,L(X):NEXTX
.
7130 PRINTt1, "" :PRINTt1, nNtMmR OF Ft5ES BtaoN =" ~NB :PRINTi1, ""
7140 PRINTt1,CHR$ (01) ~CHR$ (02) ~
7150 C--1:FCRY=OT039:C=C+1:A="":IFY=STHENY=32
7160 FORX=OT031
7170 H=(F(X,Y)AND1)+(2*(F(X,Y+S)AND1»+(4*(F(X,Y+l6)AND1»+(S*(F(X,Y+24)AND1»
71S0 PRINl'A(H)+" "~:A=A+A(H)+" ":NEXTX:PRINT:PRINTt1,A:NEXTY
7190 PRINTt1,CHR$ (20) ~CHR$ (07) :cr..cm::RETt.JRN
7200 CDruB7210:PRINT"INVALID FI~":RESUME7040
7210PRINT n*** ERROR *** ••• ":RE.'.l'URl
SOOO
REM *** BHLF AND BPNF FUNcrICNS ***
SOlO cmRmROO1'08190
S020 PRINT"ENI'ER FILENAME (FILENAME,/E}cr'.PASSVllRD:D) FOR B"~D1~DO~"F CXJ1'PUl' ? n
S030 LINEINPtJ1'X$
S040 0PEN"0",1,X$
S050 CNERRORG:7I'OO
S060 PRINl':PRINl'L(3) :PRINT:PRINTt1,CHR$ (lS) ~CHR$ (07) ~CHR$ (07)
S070 FORX=1T04:PRINTi1,L(X) :NEXTX:PRINT#l,CHR$ (01) ~CHR$ (02)
SOSO FORY=OT039:IFY=8THENY=32
S090 FORX=OT031
Basic PALASM Source Code
8100 PRINI'''B'': :PRINI'i1, "B":
8110C=24:GOSUB8170:C=16:GOSUB8170
8120 C=8:GOSUB8170:C=0:GOSUB8170
8130 PRINT"F "::PRINTi1,"F ":
8140 IFX=7 ORX=lS ORX=23 ORX=31 THENPRINT"" :PRINTi1," "
81S0 NEXTX, Y
8160 PRINT:PRINTi1,CHR$(20):CHR$(07):CLOSE:RETURN
8170 IF (F (X, Y+C)AND1) =OTHENPRINTDO: :PRINI'U,DO: :RETURN
8180 PRINI'Dl: :PRINTi1,D1::RErtJm
8190 GOSUB7210 :PRINI'"INVALID FILENAME" :RESUME8010
9000
REM *** FOR 16A4 AND 16X4 PALS ONLY ***
9010 IFY<16ORy>47THEN2590
9020 IFP=": "THENAl=MID$ (A,CN,3)EISECDI'09060
9030 IFAl=":+: "THENY=4* (!NT «Y+4) /4» :GOSUB4410 :CN=CN+3:GCYI'030S0
9040 IFAl=": *: "'l'HENGIl3UB7210 : PRINI' " " : *:" IS USED INSIIE PARENI'HFSES ONLY":END
90S0 GOSUB7210:PRINI'""":P:"" IS INVALID AS USED IN:":PRINI'''i'':A:END
9060 N8=CN:N9=INSTR(CN,A,") ") :IEN9=0'mEN90S0
9070 Al=MID$ (A,N8 ,N9-N8+l)
9080 N=VAL(RIG8T$(Al,2»:IEN<00RN>3THEN9090ELSE9100
9090 GOSUB7210:PRINI'"INVALID EXPRESSICN "., :Al: II"":END
9100 X=N*4+8
9110 NO=IEN (Al) -3 :IENO>6THEN9090
9120 CNN0CDI'09130,91S0,9170,9180,9200,92S0
9130 C=2:GOSUB9300:IFMID$(Al,2,1)="A"THENC=3ELSEC=0
9140 GOSUB9300:CDI'09290
91S0 C=1:GOSUB9300:IFMID$(Al,3,1)="A"THENC=0ELSEC=3
9160 GOSUB9300:CDI'09290
9170 AT=Al:GCYI'03260
9180 C=2:GOSUB9300:IFINSTR(Al,"+") <>DTHEN9290
9190 C=0:GOSUB9300:C=3:GOSUB9300:CDI'09290
9200 IFINSTR(Al,"+B")<>DTHENC=0:GOSUB9300:CDI'09290
9210 IFINSTR(Al, "+/") <>DTHENC=3:GOSUB9300 :CDI'0929.D
9220 C=1:GOSUB9300:C=2:GOSUB9300
9230 IFINSTR(Al, "*B") <>DTHENC=0:GOSUB9300 :CDI'09290
9240 C=3:GOSUB9300:CDI'09290
92S0 IFINSTR(Al, "+/") <>DTHENC=1:GOSUB9300 :CDI'09290
9260 IFINSTR(Al, "+:") <>OTHENC=1:GOSUB9300 :C=2:GOSUB9300:CDI'09290
927.DC=0:GOSUB9300:C=3:GOSUB9300
9280 IFINSTR(Al, "* /") <>DTHENC=1:GOSUB9300 :CDI'09290
9290 CN=CN+NO+3:GCYI'030S0
9300 F(X+c,Y)=0:NB=NB-1:RErtJm
3-63
Notes
3-84
4·1
Applications
Table of Contents
PAL Applications
Basic Gates .............................................. 4-3
Basic Clocked Flip-Flops .............. ;................... 4-9
Memory Mapped I/O .......... ,........................... 4-17
Memory Interface Logic for 6800 Microprocessor Bus ..... 4-23
Video Logic .............................................. 4"31
Binary to BCD Converter ................................. 4-37
Deglitcher ...........................•......• , ............ 4-47
Electronic Dice Game ..................................••.. 4-53
9-Bit Register ............................... , . . . . . . . . . . . .. 4-63
Multifunction Octal Register ............................... 4-69
8-Bit I/O Priority Interrupt Encoder with Registers .....•... 4-77
BCD/Hex Counter ...................'. ............ : ....... 4~83
64k Dynamic RAM Refresh Controller .. , ........... : : ..... 4-91
State Counter .for Multiplier/Divider. • . . . . . . • . . . . . . . . . . . . . .. 4-99
ALU/Accumuliltor ........................................ 4-107
Stepper Motor Controller ................. : ............... 4-113
Shaft Ehcoder .: .. .. .. .. .. .. .. .. . .. .. . .. . .. ... . . .. .. ..... 4-123
Quad 4:1 Mux ..................;........................... 4-129
Dual 8:1 Mux ............................................ 4-137
Introduction to PAL Applications
The PAL family brings a unique'flexibility to the field of. logic
design. Using PALs, designers can both replace conventional
logic in existing products and optimize the design of new
products. Previous sections discussed the PAL concept and
provided information on the advantages gained and the
techniques used when designing with PALs. This section shows
PALs at work in applications ranging from simple logic gate
replacemenUo complete system designs.
Each example is presented as a.complete PAL design. The
required logic function is described, the PAL that best solves the
16:1 Mux ................................................
Octal Shift Register ......................................
4-Bit Shift Register/Comparator ..........................
4-Bit Counter with 2 Input Mux ..........................
Octal Counter ...........................................
OctalUp/Down Counter .................................
10-Bil Counler ...........................................
4-Bil Up/Down Counter wilh Shift Register and Comparator.
4-Bil Flash Gray AID Converter ..........................
4-Bit Gray D/A Converler ................................
8-Bit D/A Converler. .. . .. .. .. .. . .. . .. . . .. . .. . .. . .. . .. ....
Octal Comparator ........................................
Between Limits Comparator ..............................
Memory Mapped Printer .................................
Craps Game .............. : ................ '.' ............
Traffic Signal: Controller .................................
32-Bit CRC (Cyclical Redundancy Checking) Error Detection.
8-Bil Error Detection and Correction .....................
4-145
4-153
4-161
4-169
4-177
4-185
4-193
4-201
4-209
4-217
4-225
4-233
4-239
4-251
4-261
4-285
4-301
4-329
problem is selected, and the actual PAL logic implementation is
shown. The. PAL ,1pgic is shown as both the PAL design
specification and the actual .PALASM output for the PAL
programmer. This makes the examples complete enough to
serve as gui~es for designers using PALs in their own systems.
The PAL is a versatile device whose applications are practically
unlimited. These applications examples, combined with the PAL
design information contained..in the rest of this book, will help
designers to get the feel of PAL design procedures. With a little
practice and study, PAL design will become a natural extension
of the normal logic design process.
Basic Gates
PAL12H6
vee
o
Basic Gates
PAL DESIGN SPECIFICATION
VINCENT COLI 06/12/81
PAL12H6
BGATES
BASIC GATES
MMI SUNNYVALE, CALIFORNIA
CDFGMNPQIGNDJKLROHEBAVCC
B = /A
E
,INVERTER
= C*D
~=O---E
,AND GATE
F=D.. ·
,OR GATE
L
o
= /I
+ /J + /K
= /M*/N
R = P*/Q
G
I~'
'.'
. L
.k
,NAND GATE
==D-
J.,R GATE
+ /P*Q
H
7EXCLUSIVE
o
'.
M~
. . ···0
N~~-'
p_---I
OR GATE
R
Q---<.......
PAL12H6
4.4
Basic Gates
FUNCTION TABLE
ABC D E F G H I JKLMNOPQR
:AB
CDE
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
FGH
IJKL
MNO
PQR
COMMENTS
-----------------------------------------------------------LH
XXX
XXXX
xxx XXX
TEST INVERTER
XXX
XXX
XXXX
xxx XXX
TEST INVERTER
HL
XXX
TEST AND GATE
XX
XXX
XXXX
xxx XXX
LLL
TEST AND GATE
xx LHL xxx XXXX xxx XXX
XXX
XXXX
xxx XXX
TEST AND GATE
XX
HLL
XX
XXX
XXXX
xxx XXX
TEST AND GATE
HHH
LLL
LHH
HLH
HHH
XXX
XXX
XXX
XXX
XXX
xxx
xxx
xxx
xxx
xxx
xxx
xxx
XXX
XXXX
XXXX
XXXX
XXXX
LLLH
LLHH
LHLH
HLLH
HHHL
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
LLH
LHL
HLL
HHL
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
LLL
LHH
HLH
HHL
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
OR GATE
OR GATE
OR GATE
OR GATE
NAND GATE
NAND GATE
NAND GATE
NAND GATE
NAND GATE
NOR GATE
NOR GATE
NOR GATE
NOR GATE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
OR
OR
OR
OR
GATE
GATE
GATE
GATE
D
-----------------------------------------------------------DESCRIPTION
THIS EXAMPLE ILLUSTRATES THE USE OF FUSIBLE LOGIC TO IMPLEMENT THE BASIC
GATES: INVERTER, AND GATE, OR GATE, NAND GATE, NOR GATE, AND EXCLUSIVE OR
GATE.
THE FUNCTION TABLE EXERCISES ALL INPUTS AND TESTS BASIC FUNCTION PERFORMANCE.
PALASM EXERCISES THE FUNCTION TABLE TO SIMULATE THE BASIC GATES.
4·5
Basic Gates
BASIC GATES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
XXXXXXXXXXXXXXXXXH01
XXXXXXXXXXXXXXXXXL11
00XXXXXXXXXXXXXXLXX1
01XXXXXXXXXXXXXXLXX1
10XXXXXXXXXXXXXXLXX1
11XXXXXXXXXXXXXXHXX1
XXOOXXXXXXXXXXXLXXX1
XX01XXXXXXXXXXXHXXX1
XX10XXXXXXXXXXXHXXX1
XX11XXXXXXXXXXXHXXX1
XXXXXXXXOXOOHXXXXXX1
XXXXXXXXOX01HXXXXXX1
XXXXXXXXOX10HXXXXXX1
XXXXXXXX1XOOHXXXXXX1
XXXXXXXX1X11LXXXXXXI
XXXXOOXXXXXXXXHXXXX1
XXXX01XXXXXXXXLXXXXI
XXXX10XXXXXXXXLXXXX1
XXXX11XXXXXXXXLXXXX1
XXXXXXOOXXXXXLXXXXX1
XXXXXX01XXXXXHXXXXXI
XXXXXX10XXXXXHXXXXXI
XXXXXX11XXXXXLXXXXXI
PASS SIMULATION
BASIC GATES
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
8
---- IA
---x --
16 X-X24
25
32
---- C*D
X---
---- F
---- G
X-
-x
-x
IM*/N
40
41
X-
-x
---x IJ
---x ---- IK
X : FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
4.6
P*/Q
IP*Q
-X-- II
48
49
50
LEGEND:
-X-X---
306
FUSE BLOWN
(H,P,l)
Basic Gates
Basic Gates
Logic Diagram PAL12H6
012 J
c
1
D
2
...
4561
89
1213
1617
1021
24252621
21293031
~
...
A
...
,
8
F
.,(
10
11
-
16
-
4
I
::r"'\.
18
B
17
E
./
...
-
""
M
5
:J-(
16
::::J
15
J3
"
J
~
14
R
.
•
.
48
./
51
8
9
.
...
13
"
"
Q
o
~
4D
41
p
H
...
...
"
N
A
J
11
G
19
~
""
....
~
~
1213
1611
"'''
24252617
L
12
K
11
J
.:
28293031
4·7
Notes
4·8
Basic Clocked Flip-Flops
PAL16R8
ClK
VCC
JKT
K
.iKe
TT
PR
TC
ClR
OT
0
DC
D
SRT
R
SRC
GNO
4·9
Basic Clocked Flip-Flops
PAL16R8
BFLIP
BASIC CLOCKED FLIP-FLOPS
MMI SUNNYVALE, CALIFORNIA
CLK J K T PR CLR D S R GND
/OC /SRC /SRT /DC /DT /TC /TT /JKC /JKT
PAL DESIGN SPECIFICATION
VINCENT COLI 07/19/81
vec
JKT : = J* /JKT* /CLR
+ /K* JKT* /CLR
+ PR
7J-K FLIP-FLOP (TRUE)
7 (JKT .. Q)
7PRESET Q
JKC : .. /J* K */PR
+ /J* /JKT* /PR
+ K* JKT*/pR
+ CLR
7J-K FLIP-FLOP (COMPLEMENT)
7 (JKC = /Q)
'1'"1'
:=
T*/'1'"1'*/CLR
+ /T* '1'"1'*/CLR
+ PR
,
7CLEAR /Q
7T FLIP-FLOE' (TRUE)
7 ('1'"1'= Q)
7P,RESET Q
TC
: = /T* /'1'"1'* /PR
+ T* '1'"1'*/PR
+ CLR
7T FLIP-FLOP (COMPLEMENT)
f (TC = /Q)
7CLEAR /Q
DT
:=
7D FLIP-FLOP (TRUE)
7PRESET Q
D*/CLR
+ PR
DC
:= /D*/PR
+ CLR
SRT : =
S*
/CLR
/R* SRT* /CLR
+ PR
+
SRC := /S* R */pR
+ /S*/SRT*/PR
+ CLR
4-10
(DT
OJ
7D FLIP..,FLOP (COMPLEMENT)
7CLEAR /Q
Q)
(DC =
/Q)
7SET-RESE'l' FLIP-FLOP (TRUE)
7 (SRT .. Q)
rPRESET Q
7SET-RESET FLIP-FLOP (COMPLEMENT)
7 (SRC = /Q)
7CLEAR /Q
Basic Clocked Flip-Flops
FUNCTION TABLE
CLK loe PR CLR J K .JKT JKC T TT TC 0 OT DC S R SRT SRC
CONTROL
C
~ LK
I
oe PR CLR
X a x
x
J-K FLIP-FLOP
IN
OUT
J K Q. IQ
x x
Z
Z
T FLIP-FLOP
IN
OUT
T
Q IQ
x
Z
Z
0 FLIP-FLOP S-R FLIP-FLOP
IN
OUT
IN
OUT
0
Q IQ.
S R Q IQ
x
Z
x
x
COMMENT
Z
x x
x
x x x x
x x x x
X. x x
x
x x x x
x x x x
x x x x
x x x x
x x x~ x
x x x x
x x xx
CLEAR
x x x
x
CLEAR
x. x x
x x x
x x x
x
x
x
TOGGLE
TOGGLE
Z
Z
aI-Z
TEST J-K FLIP-FLOP
eLL
C L L
C L L
C L L
C L L
C L L
C L L
C L a
C L L
C L L
a
L
L
L
L
L
L
L
L
L
x X L
a
L
L
L
a
L
a
L
a
a
a
a
L
a
L
a
L
L
L
a
L
L
a
L
a
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
H
x
x
x
x
x
x
x
x
x
x
x
x
x.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x a
L
a
a
L
a
a
L
a
L
x
x
x
x
x
x
x
x
x
x
x
·x
L
L
L
a
a
a.
L
x
aL
x
x. x
xx
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
X
L
Ii
L
x x
x x
xx
x x
xx
x
x
x
x
x
TOGGLE
PRESET
TOGGLE
TEST T FLIP-FLOP
C
C
C
C
C
L
L
L
L
L
L
L
L
L
a
a
L
L
L
L
x
x
x
x
x
x
x
x
x
x
a
L
a
x
x
x
x
x
x
x
x
x
x
x x x
x
PRESET
TEST 0 FLIP-FLOP
C
C
C
C
L L
L L
L L
L L
a
C
L
L
H
L
L
L
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
a
a
x x x
x x x
X x x
x
x
x
CLEAR
x x x
x
PRESET
a
CLEAR
L
SET
a
aOLO
L
L
PRESET
a
a
L
L
a
x
a
L
x
x
x
)(
x
X L
,X
L
L
L
x x x
x
TEST S-R FLIP-FLOP
C L L
C L L
eLL.
C L L
C L L
a
L
L
L
L
C :to a L
C L
C L
L
L
L
L
x
x
x
x
x
x
x
x
x
x
x x x
x x x
x xx
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x. x
x x
x
x
x
X
x
x
x
x
x
x
x
x
x
x
x
L
H L a
L aL
L
a
L
L
a
x X a
L
a
a
RESET
a L a L
-----------------------------------------------~-------------------------------
Basic Clocked Flip·Flops
DESCRIPTION
THIS EXAMPLE ILLUSTRATES THE USE OF FUSIBLE LOGIC TO IMPLEMENT THE BASIC
FLIP-FLOPS: J-K FLIP-FLOP, T FLIP-FLOP, D FLIP-FLOP, AND S-R FLIP-FLOP.
NEXT STATE TABLE FOR THE BASIC FLIP-FLOPS:
Q= L
Q=H
1--------------------------------------
TYPE OF
FLIP-FLOP
INPUT 1 Q+ = L 1 Q+ = H 1 Q+ = L 1 Q+ = H 1
1-----------1-------1---------1---------1---------1---------1
J-K
J
I
L
I
H
1
X
X
K
X
X
I
H
L
1-----------1-------1---------1---------1---------1---------1
L
H
H 1 L 1
1 TIT
.1 -----------1-------1---------1---------1----.:..----1---------1
DID
1
L
1
H
L
H
1-----------1-------1---------1---------1---------1-------~-I
1 SET-RESET 1
S
L
I
H
1
L
X
1
1
R
X
L
H
L
NOTE THAT A PAL16L8 MAY BE SUBSTITUTED FOR THIS DESIGN. THEN THE CLOCK INPUT
(CLK) WOULD BE GATED WITH THE DATA INPUTS TO IMPLEMENT THE BASIC FLIP-FLOPS.
THE FUNCTION TABLE EXERCISES ALL INPUTS AND TESTS BASIC FUNCTION PERFORMANCE.
PALASM EXERCISES THE FUNCTION TABLE TO SIMULATE THE BASIC CLOCKED FLIP-FLOPS.
PAL16R8
~":'--_r---Q
R
I
IMPLEMENTATION OF THE S-R FLIP-FLOP AS A DIVIDE-BV-N COUNTER
4.12
Basic Clocked Flip-Flops
BASIC CLOCKED FLIP-FLOPS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
XXXXXXXXXXIZZZZZZZZI
CXXXOIXXXXOXXXXXXLHI
COOXOOXXXXOXXXXXXLHI
COIXOOXXXXOXXXXXXLHI
CIIXOOXXXXOXXXXXXHLI
CI0XOOXXXXOXXXXXXHLI
COOXOOXXXXOXXXXXXHLI
COIXOOXXXXOXXXXXXLHI
CXXXI0XXXXOXXXXXXHLI
CIIXOOXXXXOXXXXXXLHI
CI0XOOXXXXOXXXXXXHLI
CXXXOIXXXXOXXXXLHXXI
CXXOOOXXXXOXXXXLHXXI
CXXI00XXXXOXXXXHLXXI
CXXI00XXXXOXXXXLHXXI
CXXXI0XXXXOXXXXHLXXI
CXXXOIXXXXOXXLHXXXXI
CXXXOOOXXXOXXLHXXXXI
CXXXOOIXXXOXXHLXXXXI
CXXXOOOXXXOXXLHXXXXI
CXXXI0XXXXOXXHLXXXXI
CXXXOIXXXXOLHXXXXXXI
CXXXOOXOOXOLHXXXXXXI
CXXXOOXI0XOHLXXXXXXI
CXXXOOXOIXOLHXXXXXXI
CXXXOOXOIXOLHXXXXXXI
CXXXI0XXXXOHLXXXXXXI
CXXXOOXOOXOHLXXXXXXI
CXXXOOXI0XOHLXXXXXXI
PASS SIMULATION
4-13
Basic Clocked Flip-Flops
BASIC CLOCKED FLIP-FLOPS
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
° ---x
x-x- ---- ---- ---- -x-- ---- ---- ---- J*/JKT*/CLR
-x-- ---- ------- ---- ---- /K*JKT*/CLR
~x--
1
2 ---- ---- ---8
9
10
11
x--- ---- ---- ---- ----
-x-- x--- ---- -x-- ---- ---- ----xx- ---- ---- -x-- ---- ---- ------x x--- ---- -x-- ---- ---- ------- ---- ---- ---- x--- ---- ----
16 ---- ---- x-x17 ---- ---- -x-x
18 ---- ---- ---24
25
26
-------
-------------
PR
/J*K*/PR
/J*/JKT*/PR
K*JKT*/PR
CLR
---- -x-- ---- ---- ------- -x-- ---- ---- ---x--- ---- ---- ---- ----
T*/TT*/CLR
/T*TT*/CLR
PR
-xx- -x-- ---- ---- ---- ---x--x -x-- ---- ---- ---- ------- ---- x--- ---- ---- ----
/T*/TT*/PR
T*TT*/PR
CLR
32
33
---- ------- x---
-x-- x--- ---- ------- ---- ---- ----
D*/CLR
PR
40
41 ----
---- -x----- ----
---- -x-- ---- ---x--- ---- ---- ----
/D*/PR
CLR
48
49
50
---- ------- -------
56
57
58
---- ---- -x----- ---- -x----- ---- ----
LEGEND:
--~-
-x-- ---- x--- ----x-- ---- ---x -x-x--- ---- ---- ---- ------- ---- -x-- x------ ---- -xx- ---x--- ---- ---- ----
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
686
S*/CLR
/R*SRT* /CLR
PR
/S*R*/PR
/S*/SRT*/PR
CLR
- : FUSE BLOWN
(H,P,l)
Basic Clocked Flip-Flops
Logic Diagram PAL16R8
Basic Clocked Flip-Flops
ClK
1
0123
4567
891011
12131415
1611181920212223
24252621
28293031
0
I
1
J
./
4
,
6
J
1
..... >
~~~
"'"
,
....
t.!~
~
,
9
10
r--
"'"
II
11
IJ
14
D
15
.....
K 3'"
...
o~
~1
~
16
17
"
11
4
..
r;;-";;.---
'"
19
10
T
11
13
1£:
...
....
~~
14
"
""
30
"
Z6
5
...
...
.c"""I
"
"
j
16
17
6
..
.
D
j
J1
JJ
J4
ClR
r--
"'"
19
PR
16
J9
.....
01--
~1
=Dl
40
41
"
"'"
,43
44
./
41
o
,
...
40
47
....
.
....
"'-
II
11
.../
"
14
\I
.'"
1£:
...
"
17
\8
19
60
61
61
R
9
...
...
....
0123
4,567
II" 9101)
12131415
16111819
20212223
~
~
~
o
"
~
t1l
roo--
./
~
~
48
49
50
s8
~
01--
~
~1~
24252621_ ,··Zp930"Jl
4-15
Notes
4.16
Memory Mapped I/O
PAL16L2
vee
ABF
ABE
ABO
PORT1
ABe
ABA
Memory Mapped 1/0
Memory Mapped I/O
The logic equations for the memory mapped 1/0 logic are as
follows:
Functional Description
Memory mapped 1/0 interfaces 1/0 devices to a computer by
treating the device's physical address as a memory address.
This removes the requirement for. special 1/0 decoding and
enhances the flexibility of the 1/0 system. The PAL provides a
simple and direct method for implementing memory mapped 1/0
in mini aod lTIicro computer systems.
".
PORT 0= ABO·AB1·AB2·AB3· AB4·ABS· ABS· AB7·
AB8·AB9·ABA·ABB·ABC·ABD·ABE·ABF
PORT 1
= ABO·,AB1 • AB2· AB3· AB4· ABS' ABS· AB7·
, , AB8 ~AB9 • ABA· ABB • ABC· ABO· ABE· ABF
Circuit Operation
The circuits shown in Figure 1 are typical of those found in
memory mapped 1/0 applications. The inputs to the decode
logic are the system memory address lines, AO-AF. The logic
compares the address on the memory bus with the programmed
comparison addresS. When'im address on the bus matches, the
1/0 port enable signalis'set. This enable signal can then PEl
used in conjunction with other system contror~gnalsto trans- •
fer data to and from the system data bus. OtlYer',,!lxamples' in'
this applications section cover this I/O control decoding,in mote
detail.
PAL Design
The above example shows address decoding for memory
locations 1F78 hex and 1F7~ hex. Equation terms can be
chtlrlj18d t':t~ccommodateahY labit add~e!1$.'
t',';·
II1'operatfon;the PAL enable 9titPuts~iII go hii/h whepeverone, :,
ot., the programmed addresSes' m~tches the address, on the',
I!¥stem memory' address bus"Since, the PAL:, fully' decodes, the
addfess" any two I/O address m'ay be used?
Cgnclusion "
The PAL is used to monitor the system memory addreSs bus,
, Typical micro, _ - - - - - I
ABF
ABEC>-----------~
ABE
ABDc:>_---~
ABCc:>-----------------------~
ABD
ABC
ABBc;>----------------------~
ABB
ABAc:>---------~------------~
ABA
AB9
AB8
AB9c;>-----------------------~
AB8C)~---------------------~--~
PORT9
AB7 c:-----------I
AB8~~--------------~------~
AB5
AB4~---~--------------~
AB4
AB3c;>-~--------------------~
AB3
AB2
AB1
ABO
c:-----~
AB1c:>-----------~
ABO 0_--------1
MEMORY MAPPED
10
PORT1
AB7
ABe
AB5C)~-----------__4
AB2
,,~
MEMORY MAPPED
10
Memory Mapped I/O
PAL16L2
PAL DESIGN SPECIFICATION
BIRKNER/COLI 06/29/81
MMAP
MEMORY MAPPED I/O
MMI SUNNYVALE, CALIFORNIA
ABO ABI AB2 AB3 AB4 ABS AB6 AB7 AB8 GND
AB9 ABA ABB ABC /PORTI /PORTO ABD ABE ABF vec
PORTO
PORTI
~
*
=
*
/ABO*/ABl*/AB2* AB3* AB4* ABS* AB6*/AB7
AB8* AB9* ABA *ABB* ABC*/ABD*/ABE*/ABF
: SELECT PORTO
(lF78)
ABO*/ABl*/AB2* AB3* AB4* ABS* AB6*/AB7
AB8* AB9* ABA'll ABB* ABC*/ABD*/ABE*/ABF
:SELECT PORTI
(lF79)
FUNCTION TABLE
ABF ABE ABD ABC ABB ABA AB9 AB8 AB7 AB6 ABS· AB4 AB3 AB2 ABl ABO /PORTO /PORTI
:---INPUTS AB---:FEDCBA9876S43210
LLLLHHHHLHHHHLLL
LLLHHHHLLHHHHLLL
LLLHHHHHHHHHHLLL
LLLHHHHHLHHHLLLL
LLLHHHHHLHHHHLLL
LLLHHHHHLHHHHLLH
LLLHHHHHLHHHHLHL
LLLHHHHijHHHHHLLH
LLLHHHHLLHHHHLLH
LLHRHHIJHLHHHHLLH
LLLLLLLLLLLLLLLL
HHHHHHIJIJHHHHHHHH
LHLHLHLHLHLHLHLH
HLHLHLHLHLHLHLHL
LLHHLLHHLLHHLLHH
HHLLHHLLHHLLHHLL
---OUTPUTS--/PORTO /PORTI
H
H
H
H
L
H
H
H
IJ
H
H
H
H
H
He
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
COMMENTS
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TES'l'
TEST
TEST
TEST
TEST
TEST
OF78
lE78
IFF8
IF70
IF78
IF79
IF7A
IFF9
lE79
3F79
ALL L'S
ALL H'S
ODD CHECKERBOARD
EVEN CHECKERBOARP
ODD OOUBLE CHECKERBOARD
EVEN OOUBLE CHECKERBOARD
D
DESCRIPTION
THIS PAL PROVIDES A SINGLE CHIP DECODER FOR USE IN MEMORY MAPPED I/O
OPERATIONS. EQUATION TERMS CAN BE CHANGED TO ACCOMQDATE ANY 16-BIT
ADDRESS.
THE PAL WILL MONITOR THE SYSTEM MEMORY ADDRESS BUS AND DECODE THE
SPECIFIED MEMORY ADDRESS WORD (lF78,lF79) TO PRODUCE A PORT ENABLE
PIN FOR POWro AND PORTl.
4-1.9
Memory Mapped 110
MEMORY MAPPED I/O
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
000111101X1110BH0001
000111100X1111BH0001
000111111X1111BH0001
000011101X1111BH0001
00011110lX1111HL0001
100111101X1111LH0001
010111101X1111BH0001
100111111X1111BH0001
100111100X1111BH0001
100111101X1111BH1001
OOOOOOOOOXOOOOBH0001
111111111XII1IBHll11
lOlOl0101XOI0IBHOI01
010101010XI0I0BHI011
110011001XI00IBHI001
00l100110XOII0BHOlll
PASS SIMULATION
MEMORY MAPPED I/O
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
24
-x-x -x-x x--x x--x x-x- x-x- -xx- x-x-
32
-xx- -x-x x--x x--x x-x- x-x- -xx-
LEGEND:
x:
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN
A __ ~n
32
/AeO*/ABl*/AB2*AB3*AB4*AB5*AB6-
X-X- ABO*/AB1*/AB2*AB3*AB4*AB5*AB6*-
FUSE BLOWN
(H,P,l)
Memory Mapped I/O
Memory Mapped I/O
ABO
AB1
AB2
AB3
1
2
3
4
.
...
012
3
Logic Diagram PAL16L2
4 S 57
891011
12131415
16171819
20212223
24252621
28293031
~
I
..
.
~
~
I
...
19
....
...
(
.,.,
26
BlK1
~
22
BlK
~
4
"
"
CB6
23
16
G
15
R
14
EN1
9
-
..
.."
I-< •
"
.....
"
"
-
.J.
....
10
~.J.
W\{L~
"
"
""
H2 !!.-...,
13
.....
II
I
1
J
4
5
6
J
•
9 U'1I
12 131415
1& 11 I I "
UtI tz 23
24 lSi6 27
i.
U JI]I
12 II ~ U
.:11 311119
H4
Notes
4·36
Binary to BCD Converter
PAU6R8
Binary to BCD Converter
Serial Binary to Parallel BCD Conversion
The purpose of this circuit is to convert a serial stream of binary
data into a parallel BCD representation as depicted by Figure 1.
+
H~..............,H.'~ ;~~ :I
'-r-L -;L1"""'TI'~' Wl Wl
TT
,,'-,
BCD1000
03
I
MSB FIRST
BCD100
BCD10
I
COMBINATIONAL
NETWORK
COUT
OJ
02
I
Do
EDGE·TRIGGERED
REGISTER
Q3
Q2
OJ Qo
I
CLOCK
I
..
BCDO
Figure 1. Conceptual Diagram of Binary to BCD Converter
Figure 3, BCD Converter Building Block.
Couleur's Technique (BIDEC)
b) BCD (present state): = 5 - 9
then BCD (next state): = 10 - 18 which are not representable in one BCD digit, and a carry out· is generated.
e.g. If BCD (present state): = 6
then BCD (next state): = 2 and COUT = 1
In this conversion technique (Ref. 1), the input binary data is
shifted left (starting with the MSB) into the BCD register. The
beauty of this method is that after each clock pulse, the BCD
output contains correct BCD representation for the "relative"
binary data shifted so far. We illustrate the last statement in
Figure 2.
c) If CIN = 1 then it is simply shifted into the LSB of the BCD
digit (the old LSB was shifted left leaving a zero in its
original position).
Thus, regardless of the BCD (present state) value, the
following is true:
Logic Design
The overall conversion problem can be segmented into four-bit
binary blocks. Each block represents one BCD digit and is
expandable by CIN and COUTo The BCD building blOCk, is
shown in Figure 3 as a state machine.
BO (next state): = CIN
Truth Table
The preceding discussion is summarized by Tables 1 and 2.
The combinational network can be designed frol:T1 a "next-state"
truth table. The truth table can be constructed by observing that
a left shift is a multiplication by 2, and a carryin adds 1 to
the LSB.
PRESENT
STATE
B3·BO
0..
5·9
10·15
In equation form:
BCD (next state): = 2* BCD (present state)
Of course, if it were binary it will be simply,
+ CIN
NEXT
STATE
n
COUT
B3·BO
0
0-8
1
0-8
DON'TCARE DON'T CARE
0
1
2
3
4
5
6
7
8
9
10·15
Table 1, General Truth Table.
However, BCD requires some corrections as will be shown
shortly. For simplicity we analyze the three relevent cases:
CONVERSION REGISTER
10'
1
I
,
64
32
16
10'
1
I
1
128
8
4
2
1
1
I
1
0
1
1
1
0
4
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
64
32
16
8
4
2
1
32
16
8
4
2
16
8
4
8
4
2
4
2
1
2
1
1
2
1
1
0
0
0
1
0
0
1
COUT
B3 B2 B,
So
B3 B2 B, BO
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
X
0
0
1
1
0
0
0
1
1
0
X
o
1
o
1
o
o
1
o
1
CIN
CIN
CIN
CIN
CIN
CIN
CIN
CIN
CIN
o CIN
0
0
0
0
1
1
1
1
1
X
X
X
~
RELATIVE WEIGHT BeFORE LAST SHIFT
.... RELATIVE WEIGHT BEFORE 7TH SHIFT
_
RELATIVE WEIGHT BEFORE 6TH SHIFT
.... RELATIVE WEIGHT BEFORE 5TH SHIFT
_
RELATIVE WEIGHT BEFORE 4TH SHIFT
...... RELATIVE WEIGHT BEFORE 3RD SHIFT
..... RELATIVE WEIGHT BEFORE 2ND SHIFT
..... RELATIVE WEIGHT BEFORE 1ST SHIFT
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
Figure 2: Tabular Representation of the Conversion Cycle.
4·38
NEXT
STATE
Table 2: Detailed Truth Table.
a) BCD (prese nt state): = 0 - 4
then BCD (next state): = 0 - 8 which are representable
in BCD form at
10'
PRESENT
STATE
0
....... BINARY INPUT
.... 1 SHIFTED IN
_
2 SHIFTED IN
..... 4 SHIFTED IN
..... 9 SHIFTED IN
...... 18 SHIFTED IN
..... 36 SHIFTED IN
_72 SHIFTED IN
' _144 SHIFTED IN
Binary to BCD Converter
B1
B3 80
B2"+-=-t-=-±:-:-t--=-=~
1
B3 BO
B2
00
vcc
ClR
CIN
ClK
00
B01
-I
BCD
B02
0
B11
BCD
B12
"'I
10
B03
B1:~ ii3. B2' BO+ B3' 80+ B2. B1' BO
B2:~ B1' BO+ B2' B1 + B3' BO
10
B13
o
o
-=
x
x
B3:
~
B2' B1 • BO+ B3' BO
COUTo = B3+ B2' BO+ B2' B1
Figure 4. Karnaugh Maps
I~ DI
PAL Implementation
100
The PAL16R8 implements two BCD digits. One of the pins is
assigned to the clear (CLR) function. The BCD conversion
register must be initialized to zero before shifting of the binary
input data is started. The eight output registers are assigned to
the two BCD digits.
l~'
1000
At this pOint, it seems that we are short of one output pin for the
COUT in expanding to more BCD digits. However, the basic
equations indicate that COUT is a function of the four preceding
BCD bits. Therefore, by inputting these four bits to the next
stage, the COUT is derived internally by the latter stage. A
similar trick is used in each chip to cascade internally.
-=
-=
Figure 5. Logic Schematic
This expansion solution implies that in the least significant BCD
stage the equation is:
(1) BO:
=
Summary
CIN
whereas in later stages the equation is:
where the C terms are driven by the corresponding B terms of a
preceding stage. However, in order to have a universal solution,
we OR the two equations. If the PAL is used as the least
significant stage C1O, Cn, C12 and C13 are grounded and
equation (1) holds. If the PAL is used as an intermediate stage,
CIN is grounded and equation (2) holds.
A similar algorithm was described in Ref. 2, where the two BCD
digits were implemented with four ICs and could be clocked at
80 ns. Here we described one chip implementation that can be
clocked at 60 ns.
References
1. "Binary to BCD Conversion Techniques" by B. MacDonald, EON Dec. 1, 1969.
2. "Special PROM Mode Effects Binary to BCD Converte"", by D.M. Brockman, ElectroniCS.
4·39
Binary to BCD Converter
PAL16R8
BBCD
BINARY TO BCD CONVERTER
MMI SUNNYVALE, CALIFORNIA
CLK /CLR CIN /C10 /C11 /C12 /C13 NC NC GND
/OC /B13 /B12 /B11 /B10 /B03 /B02 /B01 /BOO VCC
BOO :=
+
+
+
/CLR*
/CLR*
/CLR*
/CLR*
CIN
C13
C12* C10
C12* C11
PAL DESIGN SPECIFICATION
S. WASER/V. COLI 09/14/81
,CONVERT BOO (LSB)
B01 := /CLR*/B03*/B02* BOO
+ /CLR* B03*/BOO
+ /CLR* B02* B01*/BOO
,CONVERT B01
B02 := /CLR* B01* BOO
+ /CLR*/B02* B01
+ /CLR* B03*/BOO
,CONVERT B02
B03 := /CLR* B02*/B01*/B00
+ /CLR* B03* BOO
,CONVERT B03
B10 := /CLR* B03
+ /CLR* B02* BOO
+ /CLR* B02* B01
,CONVERT B10
B11 := /CLR*/B13*/B12* B10
+ /CLR* B13*/B10
+ /CLR* B12* B11*/B10
,CONVERT B11
B12 : = /CLR* B11 * B10
+ /CLR*/B12* B11
+ /CLR* B13 */B10
,CONVERT B12
B13 := /CLR* B12*/B11*/B10
+ /CLR* B13* B10
,CONVERT B13 (MSB)
4·40
Binary to BCD Converter
FUNCTION TABLE
CIN C13 C12 Cll C10
ICLR
; INPUTS
-OUTPUTS-
; CARRY
CONTROL
I
CLK
loe
B13 B12 Bll B10 B03 B02 BOl BOO
(BCD)
;C CCCC
;I 1111
;N 3210
C C I
L L 0
R KC
BBBB BBBB
1111 0000
3210 3210
COMMENTS
x xxxx
L C L
HCL
HCL
HCL
HCL
L C L
HC L
HC L
HC L
HCL
HC L
HCL
HCL
L C L
HCL
HCL
BC L
HC L
HC L
HCL
HC L
L CL
HCL
HC L
BCL
HCL
HC L
HCL
L CL
HCL
HC L
HC L
HCL
HCL
HC L
L C L
HC L
HC L
HC L
HC L
HC L
HC L
HCL
xXH
LLLL
LLLL
LLLL
LLLL
LLLH
LLLL
LLLL
LLLL
LLLL
LLLL
LLLH
LLHH
LHHL
LLLL
LLLL
LLLL
LLLL
LLLH
LLHL
LHLL
HLLH
LLLL
LLLL
LLLL
LLLL
LLLH
LLHL
LHLH
LLLL
LLLL
LLLL
LLLL
LLLH
LLHH
LHHL
LLLL
LLLL
LLLL
LLLL
LLLH
LLHL
LHLL
HLLL
ZZZZ
CLEAR (0)
SERIAL INPUT A H (1)
SERIAL INPUT A H (3)
SERIAL INPUT A L (6)
SERIAL INPUT A H (13)
CLEAR (0)
SERIAL INPUT A H (1)
SERIAL INPUT A L (2)
SERIAL INPUT A L (4)
SERIAL INPUT A L (8)
SERIAL INPUT A H (17)
SERIAL INPUT A L (34)
SERIAL INPUT A L (68)
CLEAR (0)
SERIAL INPUT A H (1)
SERIAL INPUT A L (2)
SERIAL INPUT A H (5)
SERIAL INPUT A H (11)
SERIAL INPUT A L (22)
SERIAL INPUT A H (45)
SERIAL INPUT A L (90)
CLEAR REGISTERS TO TEST
SERIAL INPUT A L (178)
SERIAL INPUT A L (360)
SERIAL INPUT A L (720)
SERIAL INPUT A L (1440)
SERIAL INPUT A L (2880)
SERIAL INPUT A L (5760)
CLEAR (0)
SERIAL INPUT A H (1)
SERIAL INPUT A B (3)
SERIAL INPUT A H (7)
SERIAL INPUT A H (15)
SERIAL INPUT A H (31)
SERIAL INPUT A H (63)
CLEAR REGISTERS TO TEST
SERIAL INPUT A H (127)
SERIAL INPUT A H (255)
SERIAL INPUT A H (511)
SERIAL INPUT A H (1023)
SERIAL INPUT A H (2047)
SERIAL INPUT A B (4097)
SERIAL INPUT A B (8196)
TEST HI-Z
------------------------------------------------------------------------------H LLLL
H LLLL
L LLLL
H LLLL
x xxxx
H LLLL
L LLLL
L LLLL
L LLLL
H LLLL
L LLLL
L LLLL
X
xxxx
H LLLL
L LLLL
H LLLL
H LLLL
L LLLL
H LLLL
L LLLL
X
xxxx
L HLLH
LLHHH
L LHHL
L LLHL
L LHLL
L HLLL
x xxxx
H
H
H
H
H
H
LLLL
LLLL
LLLL
LLLL
LLLL
LLLL
x xxxx
LLHHL
L LLHL
L LHLH
L LLLH
L LLHL
L LHLL
L HLLH
x xxxx
LLLL
LLLH
LLHH
LHHL
LLHH
LLLL
LLLH
LLHL
LHLL
HLLL
LHHH
LHLL
HLLL
LLLL
LLLH
LLHL
LHLH
LLLH
LLHL
LHLH
LLLL
LLLL
L~H
LLHH
LHHH
LHLL
HLLL
LHHH
LLLL
LLLH
LLHH
LHHH
LHLH
LLLH
LLHH
LLLL
LLLH
LLHL
LHLH
LLLL
LLLL
LLLL
LLLH
ZZZZ
D
CASCADABILITY
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
1000)
1000)
1000)
1000)
1000)
1000)
CASCADABILITY
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
(TEST BCD 100,
1000)
1000)
1000)
1000)
1000)
1000)
1000)
------------------------------------------------------------------------------4·41
Binary. to BCD Converter
DESCRIPTION
THE FUNCTION OF
INTO A PARALLEL
OUTPUT CONTAINS
DATA SHIFTED SO
THIS PAL IS TO CONVERT A SERIAL STREAM OF BINARY DATA
BCD REPRESENTATION. AFTER EACH CLOCK PULSE, THE BCD
THE CORRECT BCD REPRESENTATION FOR THE RELATIVE BINARY
FAR.
THE INPUT BINARy DATA IS SHIFTED LEFT (STARTING WITH THE MSB) INTO THE
BCD REGISTER. THIS TECHNIQUE IS KNOWN AS COULEUR I S TECHNIQUE (BIDEC).
THE COMBITORIAL NETWORK IS DESIGNED FROM THE FOLLOWING NEXT-STATE TABLE:
PRESENT
STATE
B3-BO
NEXT
STATE
B3-BO
5-9
10-15
0-8
X
COUT
1-----------------------------1
0-4
0-8
0
4·42
1
X
Binary to BCD Converter
BINARY TO BCD CONVERTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CO XxXXXXXXOHHHHHHHH1
C111111XXXOHBHHHHHL1
C111111XXXOHBHHHBLL1
C101111XXXOHBHHHLLHl
C111111XXXOHHBLHHLL1
COXXXXXXXXOHBHHHHHHl
C111111XXXOHHBHHHBL1
C101111XXXOBBHHHHLHl
C101111XXXOHHBHHLHHl
C101111XXXOHHHHLHHHl
C111111XXXOHBHLHLLL1
C101111XXXOHHLLHLHHl
C101111XXXOHLLHLHHHl
COXXXXXXXXOHHHHHHHHl
C111111XXXOHBHHHHHL1
C101111XXXOHBHHHBLHl
C1111I1XXXOHBHHHLHL1
C111111XXXOHBHLHHBL1
C101111XXXOHHLHHBLHl
C111111XXXOHLHHHLHL1
C101111XXXOLBHLHHHHl
COXXXXXXXXOHBHHHHHHl
C1OO11OXXXOBBHHHHBLl
C1OOOO1XXXOHHHHHHLL1
C101OO1XXXOHBHHHLLL1
C101011XXXOHHBLHLHHl
ClO1101XXXOHHLHLHHHl
C10111OXXXOHLHLHLLL1
COXXXXXXXXOHBHHHHHHl
C11 111 1 XXXO HHHHHHHL1
C111111XXXOHBHHHBLL1
C111111XXXOHBHHHLLL1
C111111XXXOHBHLHLHL1
C111111XXXOHHLLHHBL1
C111111XXXOHLLHHBLL1
COXXXXXXXXOHBHHHHHHl
C101OO1XXXOHHHHHHHL1
C101011XXXOHHHHHHLHl
C100101XXXOHBHHHLHL1
C100111XXXOHBHLHHHHl
C101011XXXOHHLHHHHH1
C101101XXXOHLHHBHHH1
C100110XXXOLHHHHHBL1
XXXXXXXXXXlZZZZZZZZ1
PASS SIMULATION
4·43
Binary to BCD Converter
BINARY TO BCD CONVERTER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o x--- x--x--- ---x------x-- ----
1
2
3
---- -~-- ---- ------- ---- ---- -x--x-- ---- -x- --,..--- -x-- -x-- ----
------------
-------------
/CLR*CIN
/CLR*C13
/CLR*C12*C10
/CLR*C12*Cll
8
9
10
x--x --- --x- ~-X- --~- ---- ---- ---- /CLR*/B03*/B02*BOO
x-x- ---- ---- ---x --- ---- ---- ---- jCLR*B03* /BOO
x-x- --x---x ---~ ---- ---- ---- ---- /CLR*B02*B01*/B00
16
17
18
x--x ---x - - ---- ---- ---- ---- ---x--- ---x --x- ~-- ---- ---- ---- ---x-x- ---- ---- ---x ---- ---- ---- ----
/CLR*B01*BOO
/CLR*/B02*B01
/CLR*B03*/B00
24
25
x-x- --x- ---x ---- ~--- ---- ---- ---x--x ---- ---- --x ---- ---- ---- ----
/CLR*B02*/B01*/B00
/CLR*B03*BOO
32
33
34
x- --- ---- ---x --- ---- --- ---x--x ---- ---x ---- ---- ---- ---- ----
x--- ---x ---x ---- ---- ---- ---- ----
/CLR*B03
/CLR*B02*BOO
/CLR*B02*B01
40
41
42
x--- ---- ---- ---- ---x ---- --x- --xx--- --;..- ---- ---- --.X- ---- ---- ---x
x--- ---- ---- --- --x- ---x ---x ----
/CLR*/B13*/B12*B10
/CLR*B13* /B10
/CLR*B12*B11*/B10
48
49
50
x--x--x--x-x---
/CLR*B11*B10
/CLR*/B12*B11
/CLR*B13*/B10
56
57
LEGEND:
----------------
----------------
----------------
---x
-----x--x---x
-----x------x
----
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
4·44
---x
---x
----x----
664
---------x
------x
/CLR*B12*/B11*/B10
/CLR*B13*B10
- : FUSE BLOWN
(H,P,l)
Binary to BCD Converter
Binary to BCD Converter
CLK
Logic Diagram PAL16R8
1
0123
4567
B 91011
12131415
1617181920212223
24252627
28293031
0
1
1
2
.
./
•
)
.....
~
10
J
...
"'"
11
11
13
14
15
j
A
Jt
16
17
18
4
....
~1
D
./
11
21
13
A
~
~
-
'"
19
10
C10
Q~
~~
14
r--
"'"
17
....
D
/
18
29
30
31
.c:
...
,
14
l5
36
39
A
...
....
,
40
41
41
.
Jt
43
44
45
46
4)
A
....
..
"
50
"'"
51
j
51
53
NC
8
...Jt
"
55
.....
"".....
..
57
.......
58
59
60
63
NC
~l
~
=Dl
~
U1
~
U1
:Ul~
~
D
./
61
61
9
Q '--
~
j
37
38
)
~
'"'"
31
33
6
~
110.
15
26
5
800
""
,•
CIN
~~~
""
3
4
5
Q
Q
...
C
0\2]
4561
891011
12131415
16111819
20212223
24252627
.....
......
810
813
..
2829JOJI
4·45
Noles
4-46
Deglitcher
PAL16R4
VCC
A
ZD
ZS
X
NC
D
BS
ES
GND
4';47
Deglitcher
PAL16R4
PAL DESIGN SPECIFICATION
DEGL
VINCENT LECLERC 03/03/81
DEGLITCHER
MMI FRANCE
CLK Z PRS CLR NC NC NC NC NC GND /oe ES BS NC Y X ZS ZD A VCC
/ZS := /PRS*/Z
+ CLR
/X
/Y
/PRS*/X*/Y
+ /PRS* /X ,. • /ZS
+ /pRS*
/Y*/ZS
+ CLR
:=
1CLEAR
:= /PRS*/ZS
+ CLR
IF (VCC) /BS =
:B~INNING OF SIGNAL
X + /Y +./ZS
IF (VCC) /ES = /X + Y +ZS
1END OF SIGNAL,
= /PRS*ZD*/BS*/ES
IF (VCC) /A
+/PRS*ZD
*/A
+ /pM .. * BS
*/A
* ES*/A
+ /PRS
+ 'CLR
.
IF (VCC) /ZD =
+
+
+
+
/PRS*/A* BS
/PRS*/A*ES
/pRS*/A*/ZD
/PRS*/BS*/ES*/ZD
CLR
1CL~
1Z DETECTED.
1CLEAR
FUNCTION TABLE
CLK /oe Z PRS CLR X Y ZS BS ES ZD A
1COMMENTS
--------------------------------------------------------C
C
C
C
C
C
C
C
C
C
X
L X L
L
L
L
L
H
L
L H
L H
L L
L L
L L
L X
H X
L
L
L
L
t
L
L
L
H
X
H L L L
L L, L
L L L H
L L H L
L L L H
L L H H
L H H L
L HL L
L L L L
L HH H
X Z Z Z
L
L L
L L
L L
L L
L L
H L
L L
L H
L L
L L
X X
L L
H
L H
L H
L H
HH
HL
HH
L H
HH
XX
L
CLEAR
INITIAL STATE SOO
INPUT Z·
STATE SOO TO SOl
STATE SOl TO SOO
STATE 500 TO SOl
STATE SOl TO Sll
STATE Sll TO S10
STATE S10 TO SOO
PRESET TEST
ENABLE TEST
--------------------------------------------------------DESCRIPTION
THE SYSTEM DETECTS THE BEGINNING AND THE END OF A SIGNAL WHICH IS
DISTURBED BY GLITCHES.
4·48
Deglitcher
DOOLITCBER
1
2
3
4
5
6
7
8
9
10
11
CXOIXXXXXXOLLXLLLLLI
COOOXXXXXXOLLXLLLLHI
CI00XXXXXXOLLXLLHLHI
COOOXXXXXXOLLXHLLLHI
CI00XXXXXXOLLXLLHLHI
CIOOXXXXXXOLHXHLHHHI
COOOXXXXXXOLLXHHLHLI
COOOXXXXXXOHLXLHLHHI
COOOXXXXXXOLLXLLLLHI
CXI0XXXXXXOLLXHHHHHI
XXXXXXXXXXIXXXZZZXXI
PASS SIMULATION
4·49
Deglltcher
DEGLI'l'CHER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o ---- ---- ---- ---- ---- ---- ---- ---xx- ---- ---- -------- ---x ---x
/pRS*ZD*/BS*/ES
2 ---1 -XX- ---- --- --- - - ---- ---- /PRS*ZD*/A
3 ---x -x-- ---- --- ---- ---- --x- ---- /PRS*BS*/A
4 ---x -x----- ---- ---- ---- --x- /PRS*ES*/A
5
x--- ---- --- ---- ---- ---- CLR
1 ----
8
---- ---- ---- ---- ---- --9 ---x -x---- --- ---- --x- ---- /PRS*/A*BS
10 --1 -X-- ---- ---- --- ---- ---- --X- /PRS*/A*ES
11 ---1 -X-X --- ---- ---- ---- ---- ---- /PRS*/A*/ZD
12
-x-x ---- ---- ---- ---- ---x ---x /PRS*/BS*/ES*/ZD
13
---- x--- ---- ---- ---- ---- ---- CLR
16
17
-x-- -x- ---- ---- --- ---- --- ---x-- ---- ---- ---- ---- ~---
24
25
26
27 - 32
33
48
49
50
51 --56
57
58
59
LEGEND:
-x-- ---- ---x --x ---- ---- ----x-- ---x --x .-- --- ---'- ----
-x- ---x ---- ---x - - ---- ----
/PRS*/X*/Y
/PRS*/X*/ZS
/PRS* /Y* /ZS
---- x--- ---- ---- ---- --- ----CLR
-x-- ---x - - ---- ---- ---- ---- /pRS*/ZS
---- x--- ---- ---- ---- ---- ---- CLR
-------- --x- ---- ---- ---- ------ ---- ---- ---x ---- ---- ----
X
/Y
---X ---- ---- ---- ---- ---- /ZS
---- ---- ---x --- --~- ---- ------- ---- ---- --X---- ------- --x- --- -~-- ---- ---- ---x:
FUSE
NOT
NUMBER OF FUSES BLOWN
4-50.
/PRS*/Z
CLR
BLOWN (L,N,O)
=
846
/X
y
ZS
- : FUSE BLOWN
(H,P ,1)
Deglitcher
Logic Diagram PAL16R4
Deglitcher
CLK
1
,
012 1
4567
891011
12131415
1611181920212223
24252627
2829JOJI
:>-J
1
1
J
4
Z 3
5
6
7
....
:>-J
11
14
15
....' I - - 16
17
~~
18
19
4
.....
11
21
2J
....
,
16
17
....
"
....
11
3J
"
"
35
J6
37
38
39
NC
6
~l
~x
I
18
19
3D
,
zs
~
14
25
Nt
DO-
./
"
CLR
ZD
....
11
13
...
18
....
8
J
A
c:'~
~
,
"
PRS
19
I
....
....
...
....
~
~
U]
y
40
41
42
'"
.."
,44
../
47
NC
7
....
~
....
...
..
rJ
"
""
51
54
NC
8
...
lJ
NC
as
55
....
1Il."1---
....
"57.
>=J
51
..
~
~
""
""
"
....
NC 9 ...
.....
~
012 J
45& 7
891011
121314-15
f6111819
20212223
1~Z52621
2BZ9JO]1
"
ES
~ OC
4-51
Notes
4-52
Electronic Dice Game
PAL16R8
4-.53
Electronic Dice Game
Looking at the Karnaugh Maps (Figure 3), it may be noticed that
the simplest logic equations were not generated. This was to
insure a path to a valid state from all invalid states.
Logic Design Using Standard TTL
In one die, seven LEOs make up the display (Figure 1). Notice
they can be connected such that only four lines are required to
drive them. The LEOs are turned on when the appropriate line is
driven low. Since there are four lines to be driven it is necessary
to use four Ootype flip-flops for each die. For reference the outputs of the flip-flops are labeled 01-04 and the inputs are
labeled 01-04 (Figure 2). By using the inverting output of the
Flip-Flop we catl,JJse positive logic in the design: That is, a
logical "1"'at 0 o.utput represents 'an LED being turned on.
CLOCK
01
a
1----01
51
02
VCC
Q2
03
Os
0
Q
ClK
Q
D
Q
Cl,K
Q
0
Q
ClK
Q
Q2
'3
04
D4
Q4
Figure 1
Figure 2
The present state of table 1 shows the preferred sequence in
which the LEOs should turn on. The next state shows the conditions necessary to increment when clocked. From these two
tables the Karnaugh Maps of Figure 3 were made. Using the
Karnaugh Maps the following equations are obtained;
These equations satisfy the requirements for one die. By substituting 05.oa for 01-04 and 05-0a for 01-04 we have the
following equations;
Oa= 0507+ 050a
.
..."
,
STATE
~
03
~
~
°4
°3
°2
°1
1
0
1
0
0
0
0
1
0
2
0
0
1
0
1
1
0
0
3
1
1
0
0
1
0
1
0
4
1
0
1
0
1
1
1
0
5
1
1
1
0
1
0
1
1
6
1
0
1
1
0
1
0
0
.
Table 1
4-54
.
NEXT STATE
PRESENT STATE
,-
Electronic Dice Game
~
01 KARNAUGH MAP
02 KARNAUGH MAP
04
00
01
11
10
01
-03 02
04
00
09
x
0
x
x
00
X
01
X
0
0
X
01
11
0
~
X
X
11
10
0
X
X
10
-'
0
01
~
03 KARNAUGH MAP
04 KARNAUGH MAP
03 02
04
00
01
11
10
11
10
X
00
Vx
1
X
"?--
x
x
X
01\
IZ
1
1
~
X
X
11
0
0
X
X
x
x
X
X
10
0
X
X
X
x
x
11
10
X
Note: X means Don't Care
/
D
x
Figure 3
Vee
+5V
ROLL
~W
--;=0
>-~iT
J
>-
~
~W
===r:>
J
-r
---LJ
~.
>-
~H1~
2K
~I
2N4402
~1~
20K
20K
2K
-:
02
F> 03
'--
,
[)(
'--
12011
r;;-;;;W
,
~
-'-.,....
-14-
rW.
~011
I'"
L
I
r;-;;:W
INv
29011
I'
~
IA
I~
F> 0 4
'--
~J
P
>--- F> 05 r----
"--
~J
~
~
--I> 06
12011
r;;;;J
Ln
~
~
O?
'--
.~~
.-
'--
IA
I.'"
I
12011
f\r-<
29011
IA
~W
1
Y4- ~
I'"
IA
I'"
IA
12011
~
08
"--
Figure 4
4·55
Electronic Dice Game
However, since this is a synchronous design the clocks of the
two die are common. If tlie same equations are used for both die
there will be only six different states. To 'get around this the first
die is allowed to go through each of the six states incrementing
with each clock. The second die. is inhibited from incrementing
except when the first die goes from the 6th state to the 1st state.
At this time the second die is allowed to increment one time.
Looking at the present state of table 1 it is noticed that
whenever output 01 is high, the next clock should increment the
second die. Whenever 01 is low the second die should remain
the same. From this we now write all the equations.
Applications
Rules for CRAPS
The following is a set of rules that apply whether you are playing
in Las Vegas with dice or at home with a PAL.
.
The first roll is called the come-out and you win on a 7 or 11 or
you "crap-Qut" on a 2 (snake eyes), 3 (ace caught a deuce) or 12
(box cars). If none of the above happens you will have rolled a
number between 4 and 10. Mark this number well, you will need
to roll it again to win. At this point no "crap" can hurt you, but
unless you've programmed your PAL right, a seven can. Normal
probabilities in 36 throws:
°1=01 0 2 0 3
°2=01 0 3+ 0 1 0 4
03 = 03
04 = 01 02 + 01 04
05 = 01 05 + 01
06 =
Q.j
Os 06 07
°7=01 0 7+ 0 107
Os +
6 times
6
8
5
5
5
4
4
3
3
2
2
9
4
10
06 + 01 05 07 + 01 05 08
08 =01 08 + '01 05
7 will appear
3
01 05 08
11
From these equations the logic diagram can be drawn.
(Figure 4)
2
12
Logic Design Using PALs
The design requires 8 registered outputs. Looking at the PAL
Oata Sheet we determine that a PAL16R8 best suits this
application. The equations developed above can be used here
without change. The PAL Design Specification shows the
implementation of these equations. Note that the pinout is
chosen to convenience PC board layout which is shown below.
vee
ROLL
..J...
4·56
+5V
()
Q
0
Q
Electronic Dice Game
PAL 16R8
EDG
ELECTRONIC DICE GAME
MMI SUNYVALE, CALIFORNIA
CK INIT NC NC NC NC NC NC NC GND
/OC /Q5 /Q8 /Q7 /Q6 /Q1 /Q4 /Q3 /Q2 VCC
Q1:=
+
/Q1* Q2* Q3
INIT
Q2 :=
/Q1* Q3*/INIT
/Q1* Q4*/INIT
+
Q3 :=
/Q3*/INIT
Q4:=
/Q1* Q2*/INIT
/Q1* Q4*/INIT
+
PAL DESIGN SPECIFICATION
VETTER/COLI 07/06/81
Q5 := Q1*/Q5* Q6* Q7*/INIT
+ /Q1* Q5*/INIT
Q6 :=
Q1*/Q5* Q7*/INIT
Q1*/Q5* Q8*/INIT
+ /Q1* Q6*/INIT
+
Q7:= Q1*/Q7*/INIT
+ /Q1* Q7*/INiT
Q8:=
Q1*/Q5* Q6*/INIT
Q1*/Q5* Q8*/INIT
+ /Q1* Q8*/INIT
+
4-57
ElectroniC Dice Game
FUNCTION TABLE
CK
/oe INIT
1-CONTOOLS1C /
1K oe INIT
/Q1 /Q2 /Q3 /Q4 /Q5 /Q6 /Q7 /Q8
/OUTPUTS
QQQQQQQQ
12345678
COMMENTS
NUMBER DISPLAYED
DIE 2 DIE 1
----------------------------------------------C
C
C
C
C
C
C
L
L
L
L
L
L
L
H
L
L
L
L
L
L
LHHHHHHH
HHLHHHLH
HLHHHHLH
HHLLHHLH
HLHLHHLH
HLLLHHLH
LLHLHHLH
C
C
C
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
C
C
C
C
C
C
L
L
L
L
L
L
C
C
C
C
C
C
INITIALIZE COUNTER
1
2
3
4
5
6
1
1
1
1
1
1
HHLHHLHH
HLHHHLHH
HHLLHLHH
HLHLHLHH
HLLLHLHH
LLHLHLHH
1
2
3
4
5
6
2
2
2
2
2
2
L
L
L
L
L
L
HHLHHHLL
HLHHHHLL
HHLLHHLL
HLHLHHLL
HLLLHHLL
LLHLHHLL
1
2
3
4
5
6
3
3
3
3
3
3
L
L
L
L
L
L
L
L
L
L
L
L
HHLHHLHL
HLHHHLHL
HHLLHLHL
HLHLHLHL
HLLLHLHL
LLHLHLHL
1
2
3
4
5
6
4
4
4
4
4
4
C L
C L
C L
C L
C L
C L
L
L
L
L
L
L
HHLHHLLL
HLHHHLLL
HHLLHLLL
HLHLHLLL
HLLLHLLL
LLHLHLLL
1
2
3
4
5
6
5
5
5
5
5
5
C
C
C
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
HHLHLLHL
HLHHLLHL
HHLLLLHL
HLHLLLHL
HLLLLLHL
LLHLLLHL
1
2
3
4
5
6
6
6
6
6
6
6
C H
X
ZZZZZZZZ
TEST HI-Z
-----------------------------------------------
4·58
Electronic Dice Game
DESCRIPTION
THE DUAL MODULO-SIX COUNTER INCREMENTS ON THE RISING EDGE OF THE CLOCK (CK).
THE TliREE-STATE OUTPUTS ARE HIGH-Z WHEN THE OUTPUT CONTROL LINE (jOC) IS HIGH
AND ENABLED WHEN THE OUTPUT CONTROL LINE (jOC) IS LON.
THE "INIT" LINE IS NEEDED TO INITIALIZE THE COUNTER SO THAT THE FUNCTION TABLE
SIMULATION COULD BE PERFORMED AND THE PART COULD BE TESTED AT THE TIME OF FABRICATION. THIS LINE AS WELL AS ALL OTHER UNUSED INPUTS SHOULD BE TIED TOGND.
THERE ARE 36 DIFFERENT STATES TO THE COUNT SEQUENCE. EACH STATE CORRESPONDS
TO ONE OF THE NUMBER COMBINATIONS TO BE DISPLAYED ON THE DICE.
NOTE THAT THE PINOUT IS CHOSEN TO CONVENIENCE PC BOARD LAYOUT.
ELECTRONIC DICE GAME
1 CIXXXXXXXXOHHHHLHHHI
2 COXXXXXXXXOHHLHHHLHI
3 COXXXXXXXXOHHLHHHHLI
4 COXXXXXXXXOHHLHHLLHI
5 COXXXXXXXXOHHLHHLHLI
6 COXXXXXXXXOHHLHHLLLI
7 COXXXXXXXXOHHLHLLHL1
8 COXXXXXXXXOHHHLHHLH1
9 COXXXXXXXXOHHHLHHHL1
10 COXXXXXXXXOHHHLHLLH1
11 COXXXXXXXXOHHHLHLHLI
12 COXXXXXXXXOHHHLHLLLI
13 COXXXXXXXXOHHHLLLHLI
14 COXXXXXXXXOHLLHHHLHI
15 COXXXXXXXXOHLLHHHHLI
16 COXXXXXXXXOHLLHHLLH1
17 COXXXXXXXXOHLLHHLHL1
18 COXXXXXXXXOHLLHHLLLI
19 COXXXXXXXXOHLLHLLHLI
20 COXXXXXXXXOHLHLHHLHI
21 COXXXXXXXXOHLHLHHHL1
22 COXXXXXXXXOHLHLHLLH1
23 COXXXXXXXXOHLHLHLHLI
24 COXXXXXXXXOHLHLHLLL1
25 COXXXXXXXXOHLHLLLHL1
26 COXXXXXXXXOHLLLHHLHI
27 COXXXXXXXXOHLLLHHHL1
28 COXXXXXXXXOHLLLHLLHI
29 COXXXXXXXXOHLLLHLHL1
30 COXXXXXXXXOHLLLHLLLI
31 COXXXXXXXXOHLLLLLHL1
32 COXXXXXXXXOLLHLHHLH1
33 COXXXXXXXXOLLHLHHHL1
34COXXXXXXXXOLLHLHLLH1
35 COXXXXXXXXOLLHLHLHL1
36 COXXXXXXXXOLLHLHLLL1
37 COXXXXXXXXOLLHLLLHL1
38 CXXXXXXXXXIZZZZZZZZ1
PASS SIMULATION
4-58
Electronic Dice Game
ELECTRONIC DICE GAME
11 1111 1r1l2222 2222·2233
0123 4567 8901 2345 6789 0123 4567 8901·
°l -x--x-- ---x ---- --x-"".:;-
---- /Q1*Q3*/INIT
---- /Q1*Q4*/INIT
..i. __ )( .....-)(..;.
8
-x--
--X--~-- ~.:;--~---
16
17
-x-x ---..., ..:..--- ~.:;X.;.
-x-- ---- ---x --x-
24
25
---x ---x ---- --xx---
32 -x-33 -x-34 .,.X--
-.,.-- /Q3*/INIT
---.:..
--'--
---- /Q1*Q2*/INIT
---- ---- /Q1*Q4*/INIT
/Q1*Q2*Q3
INIT
---x ---- ---x
--x---x ---- ---- ---x --x--x- ---x -------
Q1*/Q5*Q7*/INIT
Q1*/Q5*Q8*/INIT
/Q1*Q6*/INIT
-x--x--
---x ---- --x--x- ---- ---x
Q1*/Q7*/INIT
/Q1*Q7*/INIT
-x--
-~--
-x--
--x---x ---x ------x --x---x -----x- ------x ----
56 -x-.• 57 -x--
---- ---x ---x ---x ---- --x---- --x- ---- ---- ---- ---x
40
41
48
49
50
LEGEND:
x:
FUSE NOT BLOWN (L,N,O)
NUMBEk OF FUSES BLOWN =
490
-------
Q1*/Q5*Q6*/INIT
Q1*/Q5*Q8*/INIT
/Q1*Q8*/INIT
Q1*/Q5*Q6*Q7*/INIT
/Q1*Q5*/INIT
- : FUSE BLOWN
(H,P,l)
Electronic Dice Game
Logic Diagram PAL16R8
Electronic Dice Game
CLK
~
0123
4567
B 91011
12131415
16171819
20212223
24252627
2S293031
0
I
1
J
,
"""
S
6
INIT
1
.
7
... ...
~
"
•
,
9
IU
"11
IS
J
.....Jt
..
.A
16
"
1]
.
.--
"'"
19
20
11
11
"
U]
I
"
NC
.Jt
i:
I
D
...
01----
I
15
16
27
"'"
28
19
]0
S
-
....
~
~~~
14
NC
02
~
IJ
"
NC
~r-~
1I
...
...
.<
.Jt
I
Dl
~
~
~
t>
Q
]1
]]
J4
J\
36
37
"'"
./
]8
NC
, ...
]9
..
.....
...
I
I
I
40
41
"
~. ~
'3
NC
7
....Jt
"45""
./
l---~
I
I
I
I
~
I
.....
I
I
,
18
"
SO
SI
S1
oj
NC
0
...
-
S4
SS
I
.
I
I
i
I
06
I
.....
....
I
50
../
NC
9
...
61
OJ
I
I
I
I
o
1 2 3
4
~
5'
8 9 1011
12 1314 15
I
1611 18 19
l---------z1
I
2021 22 23
2425 2b 21
2B 29 30 31
08
I~·.~
S7
SS
S9
61
~
~
...
~
4·61
Notes
9·Bit Register
PAL20X10
vee
co
01
02
03
Q4
05
06
07
08
Ne
DATA
OUT
D
9-Bit Register
PAL20X10
P8125
9-BIT REGISTER
MMI SUNNYVALE, CALIFORNIA
CLK DO D1 D2 D3 D4 D5 D6 D7 D8 /LD GND
/OC NC Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 QO vec
/QO := /QO*/LD
+ /DO* LD
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/19/81
1HOLD QO
1LOAD DO
,\'"
/Q1 := /Ql*JLI>
+ /D1* LD
1HOLD Q1
1LOAD D1
/Q2 := /Q2*/LD
+ /D2* LD
1HOLD Q2
1LOAD D2
/Q3 := /Q3*/LD.
+ /D3* LD
1HOLD Q3
1LOAD D3
/Q4 := /Q4*/LD
+ /D4* LD
1HOLD Q4
1LOAD D4
/Q5 :=/Q5*/LD
+ /D5* LD
1HOLD Q5
1LOAD 05
/Q6 := /Q6*/LD
+ /D6* LD
1HOLD Q6
1LOAD D6
/Q7 := /Q7*/LD
+ /D7* LD
1HOLD Q7
1LOAD D7
/Q8 := /Q8*/LD
+ /D8* LD
1HOLD Q8
1LOAD D8
.. \.
,(.'
FUNCTION TABLE
/OC CLK /LD D8 D7 D6 D5 D4 D3 D2 D1 DO Q8 Q7 06 Q5 Q4 Q3 02 Q1 QO
1/ C /
10 L L
1C K D
L
L
L
L
L
L
L
L
H
C
C
C
C
C
C
C
C
X
L
H
L
H
L
H
L
H
X
4-64
DATA IN
DDDDDDDDD
876543210
LLLLLLLLL
xxxxxxxxx
HHHHHHHHH
xxxxxxxxx
LHLHLHLHL
xxxxxxxxx
HLHLHLHLH
XXXXXXXXX
xxxxxxxxx
DATA OUT
QQQQQQQQQ
876543210
COMMENT
LLLLLLLLL
LLLLLLLLL
HHHHHHHHH
HHHHHHHHH
LHLHLHLHL
LHLHLHLHL
HLHLHLHLH
HLHLHLHLH
ZZZZZZZZZ
LOAD
HOLD
LOAD
HOLD
LOAD
HOLD
LOAD
HOLD
TEST
ALL ZEROS
ALL. ZEROS
ALL ONES
ALL ONES
EVEN CHECKERBOARD
EVEN CHECKERBOARD
ODD CHECKERBOARD
ODD CHECKERBOARD
HI-Z
9·Bit Register
DESCRIPTION
THIS 9-BIT REGISTER LOADS THE DATA (DB-DO) ON THE RISING EDGE OF
THE CLOCK (CLK) IF THE LOAD LINE (/LD) IS ASSERTED (LOW ON PIN 11)
AND OTHERWISE HOLDS THE ORIGINAL VALUE.
THE 9-BIT ARCHITECTURE MAKES THIS REGISTER IDEAL FOR PARITY BUS
INTERFACING IN MICROPROGRAMMED SYSTEMS.
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED
IN OPERATIONS TABLE:
IOC
CLK
ILD
H
L
L
X
X
X
Z
C
C
H
L
X
Q
OS-DO
o
Q8-QO
o
OPERATION
HI-Z
HOLD
LOAD
D
9-BIT
REGISTER
-CLOCK
LOAD ---I~--r-r----1
OUTPUT CONTROL
a
9-BIT REGISTER
1
2
3
4
5
6
7
8
9
COOOOOOOOOOXOXLLLLLLLLLI
CXXXXXXXXXIXOXLLLL.LLLLLI
CIIIIIIIIIOXOXHHHHHHHHHI
CXXXXXXXXXIXOXHHHHHHHHHI
COIOIOIOIOOXOXLHLHLHLHLl
CXXXXXXXXXIXOXLHLHLHLHLI
CIOIOIOIOIOXOXHLHLHLHLHI
CXXXXXXXXXIXOXHLHLHLHLHI
xxxxxxXXXXXXIXZZZZZZZZZl
PASS SIMULATION
4·65
9-Bit Register
9-BIT REGISTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
0
1
x---x--
/QO*/LD
/DO*LD
x---x--
/Q1*/LD
/D1*LD
x---
-x--
/Q2*/LD
/D2*LD
x---x--
/Q3*/LD
/D3*LD
---- ---x ----
x---x--
/Q4*/LD
/D4*LD
---x
-x--
x---x--
/Q5*/LD
/D5*LD
x---x--
/Q6*/LD
/D6*LD
x---x--
/Q7*/LD
/D7*LD
---x x---x-- -x--
/Q8*/LD
/D8*LD
---x
-x--
8
9
---x
-x----x
-x--
16
17
---x
-x--
24
25
----
32
33
-x--
40
41
---x
-x--
48
49
56
57
---x
-x--
---- ----
64
65
LEGEND:
x:
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW =
4-66
684
FUSE BLOWN
(H,P,I)
9-Bit Register
Logic Diagram PAL20X10
9-Bit Register
CLK
1
-t>
II
123
4 S
& 1
191011
12131415
1&1111'9
211212223
24252621
282930]1
Jl31J435
36313'39
,
:;;::.
~~
- M~
,
2
~
DO.~
.·,
3
~~
..... -
...
~
.......-
~~
""
"
"
02
4
~-
...
~
-
~=9D
""
""
~
03 L...t~
~:::.
:R:r~D
J2
"
"
J5
04 ~~
...
~
...
"
"
16
Q6
Q7
""'-
...·
..
......
~-l:;JD
""- ~
Ie(
"
08 ~~
J
""-
--;o-~
"
""
"
·
~
Q5
....
V
50
11
PI
~ Q49
PI
"";J.
"
LO
~
Q3
....
...... .--
"
9
Q2
'It
..
07
~
~
M
~
~-9DM
IDD- Dl
-
7
05 ---I
8
Q1
@D
.... -
"
"
06
PI
~
~
"
01
QO
Ie(
J
~J
Q
,.~
._ I
2 1
•
5
•
1
" " 11
12131415
Iii IJ I"g:
20212223
24252611
U 2!llO 31
1211311
n
31
n
~.2
v
R
v
Q8
NC
•
~.
,
lflt
4-67
Notes
4.68
Multifunction Octal Register
PAl20X8
DATA
OUT
4-69
Multifunction Octal Register
PAL20X8
74LS380
MULTIFUNCTION OCTAL REGISTER
MMI SUNNYVALE, CALIFORNIA
CLK /LO DO 01 02 03 04 05 06 07 POL GNO
/OC /PR Q7 Q6 Q5 Q4 Q3 Q2 Q1 QO /CLR vec
/QO :=
CLR
+ /CLR*/PR*/LD*/QO
:+ : /CLR*/pR* LO* POL*/oo
+ /CLR*/PR* LO*/POL* DO
/Q1 :=
CLR
+ /CLR*/PR*/LD*/Q1
:+: /CLR*/PR* LO* POL*/01
+ /CLR*/PR* LO*/POL* 01
/Q2
:=
CLR
+ /CLR*/PR*/LO*/Q2
:+ : /CLR*/PR* LO* POL*/D2
+ /CLR*/PR* LO*/POL* D2
/Q3 :=
CLR
+ /CLR*/PR*/LD*/Q3
:+: /CLR*/PR* LO* POL*/D3
+ /CLR*/PR* LD*/POL* D3
/Q4
:=
CLR
+ /CLR*/PR*/LD*/Q4
:+: /CLR*/PR* LO* POL*/04
+ /CLR*/PR* LD*/POL* 04
/Q5 :=
CLR
+ /CLR*/PR*/LO*/Q5
:+: /CLR*/PR* LD* POL*/05
+ /CLR*/PR* LO*/POL* 05
/Q6
/Q7
CLR
PAL DESIGN SPECIFICATION
BIRKNER/KAZMI/BLASCO 02/16/81
; CLEAR
; HOLD
; LOAD DO (TRUE)
;LOAD /00 (COMP)
; CLEAR
; HOLD
; LOAD 01 (TRUE)
;LOAD /01 (COMP)
; CLEAR
; HOLD
; LOAD D2 (TRUE)
;LOAD /D2 (COMP)
; CLEAR
; HOLD
; LOAD 03 (TRUE)
;LOAD /D3 (COMP)
; CLEAR
; HOLD
; LOAD 04 (TRUE)
;LOAD /04 (COMP)
; CLEAR
; HOLD
; LOAD 05 (TRUE)
;LOAD /05 (COMP)
+ /CLR*/PR*/LO*/Q6
:+: /CLR*/PR* LO* POL*/06
+ /CLR*/PR* LO*/POL* 06
; CLEAR
; HOLO
; LOAD 06 (TRUE)
;LOAD /06 (COMP)
CLR
+ /CLR*/PR*/LO*/Q7
:+ : /CLR*/PR* LO* POL*/07
+ /CLR*/PR* LO*/POL* 07
; CLEAR
; HOLD
; LOAD 07 (TRUE)
;LOAD /07 (COMP)
:=
:=
4.70
Multifunction Octal. Register
FUNCTION TABLE
07 D6 05 D4 03 02 01 DO /CLR /PR /LDPOL CLK
INPUTS
07----00
CONTROL
/CLR /PR /LD POL CLK /oe
/oe Q7 Q6 Q5
OUTPUTS
Q7----QO
Q4 Q3 Q2 Q1 QO
COMMENTS
-------~----------------------------------------------------------------------
;CLEAR AND PRESET TESTS
AAAHHHHH
L
L
L
a C L LLLLLLLL CLEAR (OVERRIDES PRESET/LOAD)
LLLLLLLL
aLL
a C L BARBARHH PRESET (OVERRIDES LOAD)
CLEAR (POL-L)
LLLLLLLL
L
L
L
L
C
L
LLLLLLLL
aHHHHHHR
aLL
L
C
L
RRRRRRRR
PRESET (POL-L)
; LOAD DATA - WALKING ZEROES (TRUE DATA)
LOAD HEX (FE)
RRRRRRRt,
a
a
Lac
L
RRRRRRR!,
LOAD HEX (FO)
RRRRRR!$
a
a
L
H
C
L
RRRRRR!$
LOAD HEX (FB)
mnnmr,HH
a
a
Lac
L
mnnmr,HH
HHRHI,mm
a
a
Lac
L
HHRHI,mm
LOAD HEX (F7)
LOAD HEX (EF)
HHHI,Hmm
a
a
Lac
L
HHHI,mmH
HHI,mnnm
H
H
L
H
C
L
HHI,mnnm
LOAD HEX (OF)
HLHBHHHH
H
H
L
H
C
L
HI,amnnm
LOAD HEX (BF)
LBmnnmH
H
H
L
H
C
L
T,RRRRRRR
LOAD HEX (7F)
RRRRRRRR
a
a
L
H
C
L
RHRRHRRR
LOAD HEX (FF)
; LOAD DATA - WALKING ONES (TRUE DATA)
LLLLLLLB
LOAD HEX (01)
LLLLLLLB
a
a
L
H
C
L
T,lJ,lJ,I,HL
LOAD HEX (02)
LLLLLLHL
a
H
L
H
C
L
T,T,T,T,T,HI,L
LOAD HEX (04 )
LLLLLHLL
a
H
L
H
C
L
LI,T,T,HI,I,T,
LOAD HEX (08 )
LLLLHLLL
a
a
Lac
L
I,T,T,HI,I,T,T,
LOAD HEX (10)
LLLHLLLL
HaL
a
C
L
T,T,BT,T,T,T,T,
LOAD HEX ( 20)
LLHLLLLL
HaL
a
C
L
T,HI,T,T,r,I,T,
LOAD HEX ( 40)
LHLLLLLL
a
a
L
H
C
L
HIJ,T,IJJ,r,
LOAD HEX (80)
HLLLLLLL
a
H
L
H
C
L
I,lJ,I,T,LLL
LOAD HEX ( 00)
LLLLLLLL
HaL
H
C
L
; LOAD DATA - WALKING ONES (COMP DATA) WITH HOLD TESTS
I,I,I,I,I,I,I.I,
HOLD
LLLLLLLL
a
H
H
L
C
L
RRRRBRRR
LOAD HEX(OO) (CaMP)
LLLLLLLL
a
aLL
C
L
LLLLLLLL
a H a a C L HHRHHHHR HOLD
LLLLLLLB
a H L L C L RRBRRRR!, LOAD HEX(Ol) (CaMP)
LLLLLLLL
H
H
a L C L RRRRRRR!. aOLD
a a L L C L RRRHHR!,l! LOAD HEX(02) (COMP)
LLLLLLHL
a H a H C L RRRRRR!.H aOLD
BmnnmHH
a a L L C L mnnmr.HH LOAD HEX(04) (CaMP)
LLLLLBLL
a a a L C L mnnmr.HH aOLD
LLLLLLLL
LLLLHLLL
a a L
HHRHI.HHH
LOAD HEX (80) (CaMP)
L
L
C
amnnmHa
a a a a C L HHRHI.mm aOLD
LLLHLLLL
a a L L C L HHHI.Hmm LOAD HEX (10) (COMP)
H
LLLLLLLL
a a L C L HHHI.Hmm HOLD
a a L
HHI,mmHH
LOAD HEX (20) (CaMP)
LLHLLLLL
L
L
C
amnnmHH
a H a a C L HHI,mnnm aOLD·
r,HI,r,r,r,LL
a a L L C L HI,mmHHH LOAD HEX(40) (COMP)
LLLLLLLL
a a a L C L HI.amnnm HOLD
HLLLLLLL
H
a L L C L I.RRBRRRR LOAD HEX (80) (CaMP)
HARAAAHH
a a a a C L I.RRRRRRR aOLD
a H L L C L RRRRRRRR LOAD HEX(OO) (COMP)
LLLLLLLL
XXXXXXXX
x x x x x a ZZZZZZZZ TEST HI-Z
-----------------------------------------------------------------------------4·71
Multifunction Octal Register
DESCRIPTION
THIS IS AN a-BIT SYNCHRONOUS REGISTER WITH PARALLEL LOAD, LOAD COMPLEMENT,
PRESET, CLEAR, AND HOLD CAPABILITIES. FOUR CONTROL INPUTS (/LD,POL,/CLR,/PR)
PROVIDE ONE OF FOUR OPERATIONS WHICH OCCUR SYNCHRONOUSLY WITH THE CLOCK (CLK).
THE LOAD OPERATION LOADS THE INPUTS (07-00) INTO THE OUTPUT REGISTER (Q7-QO),
WHEN POL=H OR LOADS THE COMPLEMENT OF THE INPUTS WHEN POL=L. THE CLEAR (/CLR)
OPERATION RESETS THE OUTPUT REGISTERS TO ALL LOWS. THE PRESET (/PR) OPERATION
PRESETS THE OUTPUT REGISTERS TO ALL HIGHS. THE HOLD OPERATION HOLDS THE
PREVIOUS VALUE REGARDLESS OF CLOCK TRANSITIONS.
CLEAR OVERRIDES PRESET, PRESET OVERRIDES LOAD, AND LOAD OVERRIDES HOLD.
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN THE
OPERATIONS TABLE:
/OC
CLK
H
L
L
X
C
C
C
C
C
L
L
L
/CLR
X
L
H
H
H
H
/PR
X
X
L
H
H
H
/LD
POL
D7-DO
Q7-QO
OPERATION
X
X
X
X
X
X
X
D
D
Z
L
H
Q
D
/D
HI-Z
CLEAR
PRESET
HOLD
LOAD TRUE
LOAD COMP
X
L
H
L
L
X
X
H
L
----------------------~------------------------------- ---
D
POLARITY _ _ _
LOAD
PRESET
CLEAR
_CLOCK
OUTPUT CONTROL
Q
Multifunction Octal Register
MULTIFUNCTION OCTAL REGISTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
C0111111111XOOLLLLLLLL01
C0000000001XOOHBHHHBBH11
COOOOOOOOOOXOOLLLLLLLL01
C0111111110XOOBBHHHBBH11
C0011111111X01HHBBHBHL11
C0101111111X01BBHHHHLH11
C011011111lX01HHBBHLHH11
C0111011111X01HHBBLHHH11
C0111101111X01BBHLHHBB11
COll111011lX01HHLHHBBH11
C011111101lX01BLHHHHHB11
COllllll101X01LHHHHBBHll
COll111111lX01BBHHHBBH11
C010000000lX01LLLLLLLH11
C0010000001X01LLLLLLBL11
C0001000001X01LLLLLBLLll
C0000100001X01LLLLHLLL11
C0000010001X01LLLHLLLL11
C0000001001X01LLHLLLLL11
C0000000101X01LBLLLLLL11
C0000000011X01HLLLLLLL11
C0000000001X01LLLLLLLL11
C1000000000X01LLLLLLLL11
COOOOOOOOOOX01BBBBBBBB11
C1000000001X01HHBBHHHHll
C0100000000X01BBHHHHHLll
C1000000000X01BBHHHHHLll
C0010000000X01BBHBHBLH11
Clllllll111X01BBHHHHLHll
C0001000000X01BBHHHLHH11
C1000000000X01BBHHHLHH11
C0000100000X01BBHBLHBH11
Cll11111111X01HBHBLHBH11
COOOO.010000X01HBHLHHHHll
C1000000000X01BBHLHHHH11
C0000001000X01HHLHHBBH11
Cl111111111X01HHLHHBBH11
C0000000100X01BLHHHHHH11
C1000000000X01BLHHHHHBll
C0000000010X01LHHHHBBH11
Cll1111111lX01LHHHHBBH11
COOOOOOOOOOX01BBHHHBBH11
XXXXXXXXXXXX1XZZZZZZZZX1
PASS SIMULATION
4·73
Multifunction OctalA.glster
MULTIFUNCTION OCTAL REGISTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
8 ---x ---9 x-x- ---x
10 -xx- -x-11
-xx- x--
16 --x ---17 x-x- ---18 -xx- ---19 -xx- ---24 ---x
25 x-x26 -xx27 -xx32
33
3.4
35
40
41
42
43
48
49
SO
-------
---x ----xx--
---
---x ----x--
-xx-
56
57
58
59
---x ---x-x-xx-xx-
64
65
66
67
--x --x-x-xx---- ----xx-
LEGEND:
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
4_74
= 1160
CLR
/CLR*/PR*/LD*/Ql
/CLR*/PR*LD*POL*/nl
/CLR*/PR*LD*/POL*Dl
--xx-x-
CLR
/CLR*/PR*/LD*/Q2 '
/CLR*/PR*LD*POL*/n2
/CLR*/PR*LD*/POL*D2
CLR
/CLR*/PR*/LD*/Q3
x-x- /CLR*/PR*LD*POL*/n3
-xx- /CLR*/PR*LD*/POL*D3
CLR
/CLR*/PR*/LD*/Q4
x-x- /CLR*/PR*LD*POL*/n4
-xx- /CLR*/PR*LD*/POL*D4
--x-
CLR
/CLR*/PR*/LD*/Q5
/CLR*/PR*LD*POL*/n5
-xx- /CLR*/PR*LD*/POL*D5
--xx-x-
---x ---xx---
51 -xx-
--xx-x-xx-
--x-
x-- ---
--x ---- ---x-x-
-xx-
CLR
/CLR*/PR*/LD*/QO
/CLR*/PR*LD*PoL*/nO
/CLR*/PR*LD*/POL*DO
-xx-
x--- -----x ------- ---x-x- --- -----x
-xx- --- ----x--xx- --- --- ---- x----x - x-x---x ---x--xx-xx-
--xx-x-
---x ---- --x-x-x-xx---xx-
CLR
/CLR*/pR*/LD*)Q6
/CLR*/PR*LD*POL*/D6
/CLR*/PR*LD*/POL*D6
---x,--x-x- x-x-
CLR
/CLR*/PR*/LD*/Q7
/CLR*/PR*LD*POL*/n7
/CLR*/PR*LD*/POL*D7'
x-- -xx-
-
: FUSE
BLOWN
(B,P,l)
Multifunction Octal Register
Logic Diagram PAL20X 8
Multifunction Octal Register
elK
1
.....
~a123
.,
45'
1
891011
121)1415
16 t1 1819
20]1122]
14252621
2129]0]1
323134U
3611J.:H
~
=I~
2
3
~
,
~D- ~~
BL
..,
::::-
"
DO
~
~
-
~D-
"
"
"
~
4
01 ---t
"25
~D...... -
"
"
02 L
~~D-tj.-J
"
"
~
6
~
...
IDD-
."
'--'-
7
..
.
~D~
..K-L
"
05
8
.,
;0
9
~
~
02
~
~
03
~
'""J
18
~
~
17
05
RV
16
as
v
V
04
~
~D~
~ ....
07
-t5--L
"
07 ~~
it:
~
"n
"
"
11
01
.
•
,
2 l
•
S 6 I
• • 10 II
12 11 I. IS
'117'1"
20212123
2.152621
11 2! lD JI
n 11341 15
14
~
lli 31 lilt
4·75
D
Multifunction Octal Register
Application
16-Bit Register
BUS OUT ENABLE
ClK
Li5
POL
16-BIT
DATA BUS
IN
r-v-- E
~1Ic--J
~~
r----
~ 1-_ lD v ClR
.12.
DO
00
14 f--- 01
01 1---
i.!. I--- 02
02 r---
~
rs f--- 03
~
L2. f--- 04
03 r---.
04 ' - -
rs c-- 05
05 C---
f---06
06--
._;;..!.
Im-'
r- iw.
'iii f--- ~~l OC ~~ -
I,,;.;;
F-I
rw
rw
F-I
rw
rw
~
~
~
~
I--'
I;&t
~
~
~
r;;
~
100. f--JI~
I--'
~
@
~
...---....,.--
-II--=j
~
IT
r----~1---1
~
lovClR
00 -
12. t--- DO
IT f--- 01
i'::::1
~
01 - -
~
cr -
02
02 -
IE:!
8: -'---
03
03 r---
':m
~
-
04
04r---:ill
~_c
05
osr---:m
II c--- 06
061--- :ill
'iii r-- 07
071--- lsi
I,,;.;;
POlOCPR
-.
r;;
.... ~J
m
I
~ I--'
'i4'
~.
16-BIT
DATA BUS
OUT
8~Bit I/O PrioFity Inte,.rupt
Encoder With Registers·
PAL16R4
,
f'
a.Bit 1/0 Priority Encoder with Register.
PAL16R4
PAL DESIGN SPECIFICATION
8BITENC
VINCENT COLI 06/28/81
8-BIT I/O PRIORITY INTERRUPT ENCODER WITH REGISTERS
MMI SUNNYVALE, CALIFORNIA
CLK 11 12 13 14 IS 16 17 18 GND
/OC NC NC Q4 Q3 Q2 Q1 NCNC vec
/Q1
12 ~
+ /ii*/I2*/I3. 14
:~ /Il~
M
"
+/Il*/I2*/13~/I4*/I5*
16,
+ /11*/12*/13*/14*;:[5*/16*/17* 18
/Q2 :=
+
+
+
/11*/12* 13
/11*/12*/13* 14
/11*/12*/13*/14*/15*/16* 17
/11*/12*/13*/14*/15*/16*/17* 18
/Q3 :=
+
+
+
/11*/12*/13*/14* IS
/11*/12*/13*/14*/15* 16 {,1"
/11*/12*/13*/14*/15* /1 6*>-J
1
2
J
•
5
6
11 3
.. ">
1
....Jt
01
~
~
02
~
~
03
~
04
1--.---
""
D
../
22
2J
4
01--
~~~
<
24
15
26
21
J
""
JO
14
~
rJ
11
12
13
14
15
20
21
5
NC
...
16
11
18
19
13
18
...
,
"
J
NC
~.~
8
12
19
.
.
J1
1C.
...
J2
JJ
J4
J5
J6
J7
15
6
....
"
J
"
J9
1C
"
"
...
41
"'
43
.
"45
16
7
...
./
"
...
...
...
48
rJ
49
"
""
53
54
17
8
.
"
..
..
NC
...
"
""
""
r-J
..
9
13
...
57
18
lDl
6J
...
o1
.....
2 J
4 5 6 7
8 9 1011
12131415
1617 18 19
20212223
24252627
28293031
12
NC
~
4-81
Notes
BCD/Hex Counter
PAL20X8
BCD/Hex Counter
07
II
06
05
04
II
03
02
I
1111
e vG
DO
01
1
1 2 3
HP
SPLAY
01 5082
7304
1
LLL '=dJ LLL-~ LLL-~
Irr;~
1rR;~
I~~l
lIfr
LLL~
Vl~
321032100
PAl20XS
MSB
PAL20XS
COC1 C2C3COCSCS
COC1 C2 C3 Co Cs Cs
,~
IJ
PAl20XS
J
PAl20XS
COC1 C2 C3COCSCS
IJJ IJ
IJ I,Jill' IJ
~
~
,.
"
.
ClK
10
PROBE
I
+5
,HEX
PB
ClR
4-84
)
6
6k
S-BIT
TOGGLE
HEX
x5
l5B
COC1 C2C3 COCSCS
1 I~
-------
~
BCD/Hex Counter
PAL20X8
BHEX
BCD/HEX COUNTER
MMI SUNNYVALE, CALIFORNIA
CK /CLR HEX /CO /Cl /C2 /C3 /C4 /CS /C6 /CIN GND
/oe /COUTI AO Al A2 A3 BO Bl B2 B3 /COUT2 vec
IF (VCC) COUT2
= /CLR*BO*BI*B2*B3
+ /CLR* /HEX*BO*B3
/B3 := C~R
+ /CLR*/B3
:+:/CLR*CO*CI*C2*C3*C4*CS*C6*CIN*BO*Bl*B2
+ /CLR* /HEX*BO*B3
PAL DESIGN SPECIFICATION
SAEED KAZMI 04/28/81
; HEX COUNT CARRY OUT
; BCD COUNT CARRY OUT
; CLEAR
;HOLD, MSB OF STAGE 2
; INCREMENT
;CLEAR IF BCD & COuNT=9
/B2:= CLR
+ .rCLR*/B2
:+:/CLR*CO*Cl*C2*C3*C4*CS*C6*CIN*BO*BI
/Bl:= CLR
+ /CLR*/Bl
:+:/CLR* HEX*CO*Cl*C2*C3*C4*CS*C6*CIN*BO
+ /CLR* /HEX*CO*Cl*C2*C3*C4*CS*C6*CIN*BO*/B3
/BO := CLR
+ /CLR*/BO
:+:/CLR*CO*Cl*C2*C3*C4*CS*C6*CIN
/A3 := CLR
+ /CLR*/A3
:+:/CLR*CO*Cl*C2*C3*C4*CS*C6*AO*AI*A2
+ /CLR* /HEX*AO*A3
;CLEAR IF BCD & COUNT=9
; HOLD, LSB OF STAGE 2·
;HOLD, MSB OF STAGE 1
;yLEAR IF BcD &;COUNT;'9
/A2:= CLR
+ /CLR*/A2
:+:/CLR*CO*Cl*C2*C3*C4*CS*C6*AO*Al
/Al:= CLR
+ /CLR*/Al
:+:/CLR* HEX*CO*CI*C2*C3*C4*CS*C6*AO
+ /CLR* /HEX*CO*Cl*C2*C3*C4*CS*C6*AO*/A3
;CLEAR IF BCD & COUNT=9
/AO:= CLR
+ /CLR*/AO
:+:/CLR*CO*CI*C2*C3*C4*CS*C6
;HOLD, LSB OF STAGE 1
IF (VCC)COUTI = /CLR* HEX*AO*AI*A2*A3
+ /CLR*/HEX*AO*A3
;HEX COUNT, INT. r~Y
;BCD COUNT, INT. CARRY
4·85
BCD/HexCounter
FUNCTION TABLE
HEX CLR CK OC CO Cl C2 C3.C4 C5 C6
COUT2 B3 B2 Bl BO COUTI A3 A2 Al AO CIN
;HC C 0 C CC CC CCC B B B B C A A A A C
;EL K COl 2 3 4 5 6 0 3 2 1 0 0 3 2 1 0 I
;XR
U
U
N
.T
2
T
'1
COMMENT
----.---------.;..---:o-------------'"':"~_:'------------..;.------- ------------------
X H C H L L L. L L L LL L r,. L. L L L L L L L
X H C H H.H H H H H H L L L. L L L L.L L L H
H L C H H H.HH H H HL.L LL H LL LL H H
~LCHHiH~HHH~LLBLLLLHLH
HLCHHHHHHHHLLLHHLLLHHH
H L CH H H H HH H H L L H L L L L H L L H
HLCHHHHHHHHLLHLHLLH~HH
H L C H H H H H H H'H LL H H L L L H H L H
HLCHHHHHHHHLLHHHLLHHHH
HLCHHHHHHHHLHLLLLHLLLH
HLCHBHHBHHHLHLLHLHLLHH
H L C H H H H H HHH LH L H L L H L H LH
H L C H H H H H HH H L'H L H H L H L H H H
HL CHHHHHHHHLHHL L L HHL L H
H L C H H H HH H H H L H HL H L H H L HH
HLCHHHHHHHHLBHH~LHHHLH
HLCHHHHHHHHHHHHHHHHHHH
H L C H H H HH H H H L L L L L L L L L L H
L L.CH H H H H H H H L L L L H L L L.L H H
L L C H H HHHH H H~t L H ~ L L L H L H
L L C H H H HH H.H H L L L H H L L L H H H
L L C H H H H H H H H L L H LL LL H L L H
L L CH H H H H HH H'L L H L H ~ LH LH H
LtC H H H H H H H.H L L H H LL L HH L H
LLCHHHHHHHHLLHHHLLHHHH
LLCHHHHHHHHLHtL~LHLLLH
LLCHHHHHHHHHHLLHH.HLLHH
L L C H H H H H H H H LL L L 'L L L L L L H
4.AA
CLEAR
HOLD, HEX COUNT 00
'HEX COUNT 11
22
33
44
55
66
77
88
99
AA
BB
CC
DD
EE
FF
BCD COUNT 00
11
22
33
44
55
66
77
88
99
100
BCD/Hex Counter
DESCRIPTION
FOUR IDENTICALLY PROGRAMMED PALS ARE USED TO DRIVE EIGHT OF HP'S NUMERIC
AND HEX INDICATORS (5082-7340). EACH PAL CONSISTS OF TWO FOUR BIT COUNTERS.
STAGE 1 IS THE LSB AND STAGE 2 IS THE MSB. CARRYOUTOF STAGE 1 IS CALLED
INTERNAL CARRY (CooTl) AND IS FED EXTERNALLY TO STAGE 2. COUT2IS FED INTO
THE NEXT PAL. CARRYOUT AND INTERNAL CARRYSFROM THE LOWER PAL ARE CONNECTED
TO ALL OF THE HIGHER PALS TO PERFORM THE CARRY LOOK AHEAD OPERATION.
TfiESE PALS HAVE TESTABILITY BUILT INTO THEM. COUTIIS CONNECTED TO CIN :
EXTERNALLY AND CAN FORCE COUTlTO GO HIGH, THUS STAGE 2 MAY START COUNTING
AT THE SAME TIME AS STAGE 1 WHICH REDUCES THE NUMBER OF TEST VtcTORS IN THE
FUNCTION TABLE.
THIS COUNTER OPERATES AT 10 MHz AND CAN PERFORM THE FOLLOWING OPERATIONS:
CLR'
HEX
X
L
CLEAR
COUNT BCD
L ..
COUNT HEX
__________ '_____ ;.... _____ _
H
L
H
";___
OPERATION
~;..,i
BCD/HEX COUNTER
1 COXIIIIIIIIXOHLLLLLLLLHI
2 COXOOOOOOOOXOHLLLLLLLLHI
3 CllOOOOOOOOX.OHHLLLHLLLHI
4 CllOOOOOOOOXOHLHLLLHLLHl
5 CllOOOOOOOOXOHHHLLHHLLal
6CII00000000XOHLLHLLLHLHI
7 CI100000000XOHHLHLHLHLHI
8 CllOOOOOOOOXOHLHHLLHHLHl
9 CllOOOOOOOOXOHHHHLHl'UrLHI
10 CII00000000XOHLLLHLLLHHI
11 CI100000000XOHHLLHHLLHHI
12CII00000000XOHLHLHLHLHHI
13 CllOOOOOOOOXOHHHLHHHLHHl
14 CllOOOOOOOOXOHLLFiFiLLBHHI
15 CllOOOOOOOOXOHHLHHHLHHHI
16 CllOOOOOOOOXOHLHHBLHBHHI
17 CllOOOOOOOOXOLHHHHHBHHLl"
18 C11000000dOXOHLLLLLLLLBl
19 CI000000000XOHHLLLHLLLHI
20 CI000000000XOHLBLLLHLLB1
21 C1000000000XOHHBLLHBLLH1'"
22 C1000000000XOHLLHLLLBLU'
23 CI000000000XOHHLHLHLHLH1
24 CI000000000XOHLHHLLHHLHI
25 C1000000000XOHHHHLHHHLBI
26 C1000000000xOFiLLLBLLLHH1
27 ClOOOOOOOOOXOLHLLHBLLHLI
28 C1000000000XOHLLLLLLLLHl
PASS SIMULATION
<,
BCD/Hex Counter
BCO/HEX COUNTER
11 1111 1111 2222 4222 2233 3333 3333
0123
o
1
2
8
9
10
11
45678~012345.6789
0143 4567 8901 23456789
---- -.--- ----:, ---..,. ---- ---'- ---.,.' ---- ---x--- --x- --X-,--:X- --x- ---- ---- -------,.. ---x--- -XX- ---- ---:- --x- ------------ ---- ----
-x-- ---- ----.-.,..-- --.-- ---- ---- ---- --:-- ---x--- ---x -.,..--. --~- --\;".- ---- ---- ----.. ---- ---x--- ----.-:XX- -xx,... -XX--X-- -x-- -x-... -:X-- -X-x--- -xx- ---- ---- --x- ---- ---- -------
16 -x-17 x--18 x---
----: ......-- --'--' ---- ----
------x
-x--x--
-------xx-xx-
-------x--x--
/CLR* /B3
/CLR*CO*C1*C2*C3*C4*C5*/CLR*/HEX*BO*B3
/CLR*/B2
/CLIt*CO*C1*C2*C3*C4*C5*-
24
25
26
27
-x-x--x--x---
32
33
34
-x-- ---- ---- ---- ---- ---- ---- ---- ---- ---x--- ---- ---- ---- ---x ---- ---- ---- ---- ---x--- ---- -x-- -x-- -x-- -x-- -x-- -x-- -x-- -x--
CLR
/CLR*/BO
/CLR*CO*C1*C2*C3*C4*C5*-
40
41
42
43
-x----- ---- ---- ---- ------x------ ---- ---- ---x -------x-- -x-- -x-- -x-- -xx- -xx- -xx- ---x--x--- -x----- ---- --x- ---- ---- --x- ----
CLR
/CLR*/A3'
/CLR*CO*C1*C2*C3*C4*C5*/CLR*/HEX*AO*A3
48
49
50
-x----- ---- ---- ---- ---- ---- ---x--- ---- ---- ---- ---- ---- ---x ---x--- ---- -x-- -x-- -x-- -x-- -x-- -xx- -XX- ----
CLR
/CLIt*/A2
/CLR*CO*C1*C2*C3*C4*C5*,...
56
57
58
59
-x----- ---- ---- ---- ------- ---x------ ---- ---- ---x ---- ---x--- x--- -x-- -x-- -x-- -x-- -x-- -x-- -xxx--- -x-- -x-- -x-- -x-- -x-x -x-- -x-- -xx- ----
CLR
/CLR*/A1
/CLR*HEX*CO*Cl*C2*C3*C4/CLR*/HEX*CO*C1*C2*C3*C-
64
65
66
-x-x--x---
72
73
74
x--- x--x--- -x-- ----
LEGEND:
-------x--x--
CLR
---- CLR
---x ---- ---- ---------- -x-- -xx- -xx- -x-- -x-- -x-- -x-- -x-------x---x-x
/CLR,*BO*B1*B2*B3
/CLR*/HEX*BO*B3
------- CLR
---- ---- ----: ---- /CLR*/B1
-x-- -x-- -x-- -X,:,,-:,/CLIt*HEX*CO*C1*C2*C3*C4-x-- -x-- -x-- -x-- !CLIt*/HEX*CO*C1*C2*C3*C-
---- ---- ---- ---- ---- ---- ---- CLR
---- ---- ---- ---x ----x-- -x-- -x-- -x-- -x-- -x-- -x-- ------- ----
--x;.. --x- --x- --x- ---- /CLR*HEX*AO*Al.*A2*A3
--x- ---- ---- --x- ----
X : FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW = 1204
/CLIt*/AO
/CLR*CO*C1*C.2*C3*C4*C5*-
FUSE BLOWN
/CLR*/HEX*AO*A3
I
(H,P,l)
BCD/Hex Counter
BCD/HEX Counter
CK
1
Logic Diagram PAL20X8
....
..,... 0
.,
12 l
45
& J
• • 10 u
12\31415
18171'1'
Z.OZIUZl
«
%52121
H lIlD 31
3! 33 M J5
31313111
0
.
.J.
I
J
CLR ~
......
I
-'""'--
"
-O--L
~D.
~~
..•
HEX
3
.
~-9D-
."
"
co 4
~
--"
:R:J~D-
II
IS
C1
~~
"
"
-t:5--l
"
~D-
5
""'-
"
"
"
C2
....
6
..........
....
~~D
-O---l
"
7
....
~
II
"
......
SI'·
B1
~
~
....
BoD
~
t;I.
.
-
51
••
C5
~
~
21
16
!"'"
t;I.
....
~
....
IDI>t; ~
"
9
.....
16
C6 .!LL
B2
A3
A2
A1
.
,
"
B3
~
~~D
8
COUT2
t;I.
....
IDD tQ]~
.....
C4
23
'
AO
.
.....
11
""
-
.l'K J...,
"
11
..J..
....
~
o
1 Z 3
• 5 I'
• • to It
It Ill. IS
111' , . "
Z. 21
unit
ZS 21
zr
14 .,.....--
"
COUT1
13 " ' -
A-
OC
.~
"
21 H 3. 31
32 U:M 3S
li 11 31:11
Notes
64k Dynamic RAM
Refresh Controller
PAL20X4
4·91
64k Dynamic RAM Refresh Controller.
COUNT
REFEN
ROWEN
CAS
t-H--o~CK
DATA
IN
A:rAo
PAL20X4
0:r00
/CARRY
CK
A4- A7
A1l-A15
65, 536xl
RAM
ICARRY
OUT
A3-Ao
PAL20X4
0:r00
All-As •
/CARRY
IN
4.Q2
WRITE
DATA
OUT
64k Dynamic RAM Refresh Controller
PAL20X4
PAL DESIGN SPECIFICATION
DYNRAM
MIKE VOLPIGNO
07/15/81
64k DYNAMIC RAM REFRESH CONTROLLER
MMI FIELD APPLICATIONS ENGINEER NEWTON, MASSACHUSETTS
COUNT AO A1 A2 A3 A8 A9 A10 All REFEN ROWEN GND
/oe /CARRYOUT 03 02 C3 C2 C1 CO 01 00 /CARRYIN vec
/CO :=
/CO
REFEN*/ROWEN
CARRY IN
REFEN*/ROWEN
:INCR REF ADDRESS COUNTER
: SET REF COUNTER
:INCR REF COUNTER
:SET REF COUNTER
/C1
REFEN*/ROWEN
CARRYIN* .CO
REFEN*/ROWEN
:INCR REF COUNTER
:SET REF COUNTER
:INeR REF COUNTER
:SET REF COUNTER
/C2
REFEN*/ROWEN
CARRYIN* CO* C1
REFEN*/ROWEN
:INCR REF COUNTER
:SET REF COUNTER
: INCR REF COUNTER
:SET REF COUNTER
/C3
REFEN*/ROWEN
CARRYIN* CO* C1* C2
REFEN*/ROWEN
:INCR REF COUNTER
:SET REF COUNTER
:INCR REF COUNTER
:SET REF COUNTER
+
+
/AO*/REFEN* ROWEN
/A8*/REFEN*/ROWEN
/CO* REFEN* ROWEN
:SELECT LOWER ADDRESS
:SELECT UPPER ADDRESS
:SELECT REFRESH ADDRESS
+
+
/A1*/REFEN* ROWEN
/A9*/REFEN*/ROWEN
/C1* REFEN* ROWEN
:SELECT LOWER ADDRESS
:SELECT UPPER ADDRESS
:SELECT REFRESH ADDRESS
+
+
/A2* /REFEN* ROWEN
/A10*/REFEN*/ROWEN
/C2* REFEN* ROWEN
:SELECT LOWER ADDRESS
:SELECT UPPER ADDRESS
: SELECT REFRESH ADDRESS
+
+
/A3* /REFEN* ROWEN
/A11*/REFEN*/ROWEN
/C3* REFEN* ROWEN
:SEtECT LOWER ADDRESS
:SELECT UPPER ADDRESS
:SELECT REFRESH ADDRESS
+
:+:
+
/C1 :=
+
:+:
+
/C2 :=
+
:+:
+
/C3 :=
+
:+:
+
IF (veC)
IF (veC)
IF (VCC)
IF (veC)
/00
/01
/02
/03
IF (veC) CARRYOUT
=
D
CARRYIN* CO* C1* C2* C3 :CARRY OUT
4-93
64k Dynamic RAM Refresh Controller
FUNCTION
~BLE
AO Al A2 A3 A8 A9 AI0 All COUNT lac REFEN ROWEN ICARRYIN ICARRYOUT
03 02 01 00 C3 C2 Cl CO
J--DATAJAAAAAAAA
11
,32101098
--CARRIES-----CONTROLS--COU I REF ROW
NT oc EN EN
I
I
CARRY CARRY
IN
OUT
3210
CCCC
3210
HHHH
LLLL
HHHH
LLLL
HHHH
LLLL
LLLH
LLHL
LLHH
LHLL
LHLH
LHHL
LHHH
HLLL
HLLH
HLHL
HLHH
HHLL
HHLH
HHHL
HHHH
XXXX
HHHH
HHHH
HHHH
HHHH
HHHH
LLLL
LLLH
LLHL
LLHH
LHLL.
LHLH
LHHL
LHHH
HLLL
HLLH
BLHL
HLHH
HHLL
HHLH
HHHL
HHHH
ZZZZ
0000
COMMENTS
---------------------.--------------------------------------------------XXXXXXXX
XXXXLLLL
XXXXHHHH
LLLLXXXX
HHHHLLLL
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
H
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
i:.
L
L
L
L
C L
C L
X H
H
H
H
H
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
X
L
L
L
H
H
H
H
H
H
H
a
H
H
H
H
H
H
H
H
H
Ii
X
H
H
H
H
H
H
H
H
H
a
H
H
H
H
H
H
H
H
H
H
L
X
SET REF CNTR
UPPER ADDRLOW
UPPER ADDR HI
LOWER ADDR LOW
LOWER ADDR HI
INCR REFADDR
CARRY OUT
TEST HI-Z
------------------------------------------------------------------------DESCRIPTION
TWO IDENTICALLY PROGRAMMED
REFRESH CONTROL FUNCTION.
P~20X4
CAN PERFORM THE 64 k DYNAMIC RAM
EITHER COLUMN OR ROW ADDRESSES'l'O THE RAM ARE· SELECTED DEPENDING
ON ROW ENABLE (ROWEN).
AN ADDRESS COUNTER (C3-CO) IS SELECTED DURING REFRESH WHEN ROW ENABLE
(ROWEN) IS HIGH.
THESE OPERATION'S ARE EXERCISED IN THE FUNCTION TABLE AND SUMMERIZED IN
THE OPERATIONS TABLE:
jac COUNT REFEN ROWEN· 03";00
OPERATION
------~-----------~------------------------------------~--H
L
L
L
L
4·94
X
C
C
C
C
X
L
L
H
H
X
L
H
H
L
Z
AJ-AO
All-A8
C3-CO
H
HI-Z
SELECT LOW ADDR BITS
SELECT UPPER ADDRBITS
SELECT REFRESH ADDR BITS
SET REFRESH COUNTER
Mk Dynamic RAM R.f....h Controller,
64k DYNAMIC
~~
REFRESH CONTROLLER
1 CXXXXXXXX10xoassasSHsSJ1
2 CXXXXOOOOOOXOBLLHBHBLLll
3 Cixxxl11100XOBBBBBBBBBl1
4 COOOOXXXX01xom·LBBBBIJ·11
5 Cl111000001XOSHHHHHHH811
6
7
8
9
10
CXXXXXXXXl1 XOBIJ.ItLLLLLO1
CXXXXXXXXllXOBLLI·LT.BLB01
CXXXXXXXXllXOBLLLLBTStD1
CXXXXXXXXl1XOBLLLLBBBB01
CXXXXXXXXl1XOBLBT.BLLI,Ul1
11 . C:XXXXXXXXl1XOBLBLBLIILB01
12 CXXXXXXXXl1XO BTSIJIBToBTo01·
13 CXXXXXXXXl1XOBToBTiBBBBRP1
14 CXXXXXXXXllXOBBLHLLLLtDl
15 CXXXXXXXXllXOBHLBLL8LB01
16 CXXXXXXXXl1XOBBLBLHLBL01
17 CXXXXXXXXl1XOBBTSI,BBBB01
18 CXXXXXXXXl1XOBBBBBIJ,t,tD1
19 CXXXXXXXXl1XOB8BBBLBLB01
20 CXXXXXXXXllXOBHBHHHlolU.oQl
21 CXXXXXXXXllXOLBBBBBBBS01
22 XXXXXXXXXXXXlXXXZZUxpl
PASS SIMOLA,'l'ION
64k
'D~nami$ R~M.R.fre8h, Controller
64k DYNAMIC RAM REFRESH CONTROLLER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
8
9
10
-x----x
11
16
17
18
19
24
25
26
27
32
33
34
35
40
41
42
43
48
49
50
51
-x--
---x
-x--
---x
---x
---x
---x
--x---x
--x- --x- --x---- ----x----x
64
65
66
67
-x--
/A8*/R:EFEN:*/ROWEN
/CO*REFEN",ROWEN
-x-- x---x-- -x-x--- x---
/A9*/REFEN*/RgwEN
/C1*REFEN*ROWJ!lN·
x--- -x-x--- -x--
/CO
REFEN* /RmfflN.
CARRYIN
REFEN*/ROWEN
x--- -x-x--- -x--
/C1
REFEN* /ROWEN
CARRYIN*CO
REFEN* /ROWEN\
/A1*/REFEN*R~~,
/C2
CARRYIN*CO*C1
REFEN*/ROWEN
x--- -x-..,
x--- -x--
/C3
REFEN*/ROWEN
CARRYIN*CO*C1*C2
REFEN*/ROWEN
-x-- x---x-- -x-x--- x---
/A2*/REFEN*ROWEN
/A10*/REFEN*/ROWEN
/C2*REFEN*ROWEN
-x-- x---x-- -x-- -x----x
x--- x---
/A3*/REFEN*ROWEN
/A11*/REFEN:*/ROWEN
/C3*REFEN*ROWEN
-..,-x
---x
/AO*/REFEN*R~
x--- -x-x--- -x--
--x- --x-
---x
56
57
58
59
72
73
-x..- x---x-- -x-x--- x---
_·x--
---...:
-x--
~EN*/ROWEN
--- ....
---x
LEGEND:
--x- --x- --x- --xX :
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW = 1289
CARRYIN*CO*C1*C2*C3
FUSE BLOWN
(H,P,l)
.I.
64k Dynamic RAM Refresh Controller
Logic Diagram PAL20X4
64k Dynamic RAM Refresh Controller
:OUNT
1
.....
V" •
·,,
I
~
3
. i'
1
.! 1,1'
U 1114 n
1111 t i l t
lOHUll
24 UlI21
U lt10 31
n
ll:M 35
l6lJlI:tt
A2
.··
-ti:.f
11
""1...)-1"
.
.."
1-<,........
......
:tj:l
"
""
...........
~~D-
......
11
..
....
~D~
....
~
..
~-L
"
.
CARRYIN
00
01
~~ co
~
~
C1D
~
::tL~
.....
C2
17
C3
16
02
Q
.J'""\.
"
A:
50
so
9
21
~f9r>tGI] I.J......
51
A10 8
-
~-L
"
7
..J..
"
A3 5
A11
J
. . . ~D:::::::::..
"
A9
22
~~
4
-6
23
..J.
3
."
A8
..J.
.....
I
AO ~
A1
..,..
I6(L
1
~
.
......
...,
u
...L
~r-I
~
~
J
"
10
......
"
.."
.....
"
11
,II)
4'11
111111
UIlI,,'
IIUIIII
HUZlU
Mnun
lIltll3'
l233l1lS
Hl1.31
..J.
J
15
14
03
CARRYOUT
~
4·97
Notes
4-98
State Counter for
Mu Itipl ier/ Divider
State Counter for Multiplier/Divider
Transition Flow Chart Multiplier/Divider
x
/
.;. * Loop 3 times for multiplication.
**loop 6 times for fractional division,
or 7 times for integer division.
PAL16R4'
Stat. Counter Using, PAL 16R.4
for MultipU.rIDivlder
.
CLOCK-~~'"
INSffl~ I-~~'"
(lSB)
}~A~
(MSB)
INSTRUCTION
CODE
0,1,2,3
4
5
5,7
6
7
STARTING STATE
NEXT STATE
0,8,10
0,8,10
0
8, 10
0,8,10
0,8,10
4
5
1
0
1
0
FIgure 1 Transition Table Multiplier/Divider
4 .. 100
State Counter for Multiplier/Divider
PAL16R4
STCNT
S~'l'E COUNTER FOR MULTIPLIER/DIVIDER
PAL DESIGN SPECIFICATION
WILLY VOLDAN 01/27/81
MMI MUNICH GmbH
CLK IO II 12 NC NC NC NC NC GND
/oe 12 13 04 123 122 121 18 19 vec
IF(VCC) /19 =
/I2*/Il*/IO
/l2*/Il* 10
/l2* Il*/lO
/I2* Il* IO
+
+
+
IF (VCC) /18 = 121* 122* 123*/04
+ 121* 122* 123* 04
+ 121*/122* 123*/04
+ /121* 122* 123* 04
+ /121*/122* 123* 04
+ /121*/122* 123*/04
/124
:=
121* 122*/123*/04
+ 121*/122*/123*/04
+ /121*/122* 123* 04* l2* Il*/lO
+ 121* 122*/123* 04
+ /121* 122*/123* 04
+ Q1*/Q2*/Q3* 04
+ /121* 122*/123*/04
/123
:=
+
19* 18
18
*
+ /121* 122* 123* 04*
+ /121*/122* 03* 04*
+ /121*/122* Q3*/04*
+ /121*/122*/123* 04
+ /121*/122*/123*/04
+ /13
/122
:=
+
+
+
+
+
+
/121* 122* 123* 04* 12* Il*/lO
/121*/122*/123* 04
/121*/122*/123*/04
121*/122*/123*/04
/121*/122* 123* 04* 12* Il*/lO
121*/122*/123* 04
/121* 122*/123*/04
/121 :- 121* 122* 123*/04*
+ 121*122* 123* 04*
+ 121*122*123* 04*
+ 121*/122* 123*/04*
+ /121*/122* 123*/04*
+ /121* 122* 123* 04*
+
+
I2*/Il*/lO
l2*/l1* lO
I2*/Il* lO
l2*/l1* IO
l2*Il*/lO·
l2*/Il* lO
12* Il*/IO
12* Il*/IO
12* Il*/lO
12* Il*/lO
* 12*/Il*/lO
18
<;.
.
~,.
~.
,
A
/12
4~101
State Counter ·for Multiplier/Divider
IF(VCC) /13 :=
Ql* Q2*/Q3* Q4
Q2~/23* Q4
+ 21*/22*/Q3* Q4
+ /Ql* Q2*/Q3*/Q4
+ /Ql*
IF(VCC)/l2 ;- /21"" Q2* Q3* Q4""
+ /21*/Q2"" 23* Q4*
+ /Ql*/Q2* Q3*/Q4*
+ /Ql""/Q2*/Q3*/Q4
+ /Ql*/Q2* 23* Q4*
+ /Ql* 22*/Q3* Q4
+ /21* Q2*/Q3""/Q4
12*/Il* IO
12*/Il* IO
12*/Il* IO
12* Il*/IO
FUNCTION TABLE
/OC CLK IO II 12 12 13 18 19
,
,CONTROL
,/cc CLK
INST
III
012
----L
L
L
L
L
L
L
L
L
L
H
C
C
C
C
C
C
BBL
BLB
LBB
BBH
c:
BLB
LBB
BLB
C
C
C
X
XXX
BLB
XXX
xxx
0'
Q3 Q2 21
STATE
1 1 1 1
238 9
QQQQ
XX-XX
XX-X-XX X X X
X X X X
X x.x X
X X X X
LXXX
L L X X
x x XX
X H X X
X X X X
BBBB
4321
COMMENTS
BBBL
BBLL
BBBB
BBHL
BBLL
HLHL
LLBL
LHLH
BBBB
ZZZZ
DISABLED
---------------------------------------------DESCRIPTION
IN MANY SIQUENTIAL CIRCUITS IT IS DESIRABLE TO KNOW THE STATE OF THE
SYSTEM. THIS PAL16R4 APPLICATION IS AN EXAMPLE OF A STATE ,COUNTER FOR
THE MMI SEQUENTIAL MULTIPLIER/DIVIDER.
THE STATES ARE REPRESENTED BY A FOUR BIT COUNTER WHERE Ql IS THE LEAST
SIGNIFICANT BIT AND Q4 IS THE MOST SIGNIFICANT BIT.
THE NEXT-STATE OF THE COUNTER AND THE MULTIPLIER/DIVIDER IS A FUNCTION
THE PRESENT STATE AND THE INSTRUCTION LINES 12-IO. FOR EXAMPLE IF THE
MACHINE IS AT STATE 0 AND THE INSTRUCTION IS 0,,1,2 OR 3 THEN THE NEXT
STATE IS 4 (MULTIPLY INSTRUCTION), IF THE INSTRUCTION ISS (DIVIDE
INSTRUCTION), ETC.
4;'102
State Counter for Multiplier/Divider
STATE COUNTER FOR
1
2
3
4
5
6
7
MDLTIPLIE~DIVIDER
CllOXXXXXXOXXBBBBXXl
Cl01XXXXXXOXXBBBJ:.XX:l
COllXXXXXXOXXBHLLXXl
ClllXXXXXXOXXBBHllXXl
Cl01XXXXXXOXXBBBLXXl
COllXXXXXXOXXBBLLXXl
Cl01XXXXXXO:j:.XBLBtXXl
8 CXXXXXXXXXOLLLLBLXXl
9 CXXXXXXXXXOXXLBLBXXl
10 Cl01XXXXXXOxB8BBBXX1
II XXXXXXXXXXlXXZZZZlOtl.
PASS SIMULATION
STATE COONTER FOR
MDLTIPLI~DIVlI)ER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o - - --- -.-
--~
--- - - - - ---
1 -X- -x- -x- - - ---- -....: .......... --..- /12*/11*/IO
2 X--- -X-- -x-- ---- ---- ---- ---- ---- /I2*/I1*IO
3 ,..X-- x-- -X- ---- - - - - - ..--.. :..-...,- /I2*11 */10
4 x-- x-- -x- ------- - - - - -....: /12*11*10
8
9
10
1.1
12
13
14
~-
------------
- - - - - - - - ---- ~-- - - - ---- -x- -x- -x- ---x --- -:----- -x- --x---x- --x- ------_ ...- :-x- -x -x- ---x--- -...;
- - - -.,;-x --x- -x- --x- - - --- - ---I. ---I. -x---
--x- ---- --
---x ---x --x- ---x ---- ----
Q1*Q2*03*/04"
Q+*Q2*Q3*04
Ql*/Q2*Q3*/Q4
/Ql*<;12 *Q3*04 . ,
/Ql*/Q2*Q3*04
/Ql*/Q2*Q3*/04
x-- x-x- -1.- --X-"":-X - - --.Q1*Q2*Q3*/04*I2*Il*/IO
-x- x-x';'" -x.... -X"" -x- -,...- ---- Ql*Q2*Q3*04*12*/Il.*Ia
x-- x-x- .,;-x- -x... --x... ......:-. - ... Q1*Q2*Q3*04*12~Il*/IO .
19 -x- x--X~X- - x -x- --x _ .. ---- Q1*/Q2~Q3*/04'*I2*Il*/IO
20 -X- x--- X-~x ...,.~x -x- ---x - - "';"--/Q1*/Q2*Q3*/04*12*11*/IO
21-X...,. X - x-x --x- -x- - X - ' - """:-/Q1*Q2*(23*04*I2*11*/10
22 -x-- -XX- x-- ---- - - --- ---- ---- 18*t2~/Il*/IO
16 -X17 x18 -x-
23 ---- ---- ---- ---- - - - --------
---x
';>'(
/12
4-103
State Counter tor Multiplier/Divider .
STATE COUNTER FOR MULTIPLIER/DIVIDER (CONTINUED)
11 1111 1111 2222 2222 2233
0123·4567 8901 2345 6789 0123 4567 8901
24
2S
26
27
28
29
30
-x-- x--- x--x --x- --x---- -,..-- ---x ---x -x
---- - - - --~x -x -x
---- ---- --x- ---x ---x
-x- x--- x--x ---x -x---- ---- --x- ---x ---x
---- ---- ---x --x- --x
32 --x33 -x-34 x--35 x36 x--37 - 38 ---39 ----
--x-XX-x--x--x--
--x- ---- -----x- ---- ------x ---- ----x ----
-x- -----x- - ---x ----
--------x-x--x-
---- ---- - -----x- -----x- ..:...--x ---- I --x- - -
/Q1*Q2*Q3*Q4*I2*I1*/IO
/Q1*/Q2*/Q3*Q4
/Q1*/Q2*/Q3*/Q4
---- Q1*/Q2*/Q3*/Q4
-~- /Q1*/Q2*Q3*Q4*I2*I1*/IO ..
---- Q1*/Q2*/Q3*Q4
---- /Q1*Q2*/Q3*/Q4
---x-x-x
x--x
x--x
---x
------x---x
-x
-x
--x-
--1- --~I - I ---- - - Q1*Q2*'/Q3*'/Q4
---I -x - - - - Q1*/Q2*/Q3*/Q4
------ ---x ---I ---x -x
---- - - - - - - - - -
----------------
19*18
18*I2*/I1*/IO
/Q1*Q2*Q3*Q4*I2*/I1*IO
/Q1*/Q2*Q3*Q4*I2*/I1*IO
/Q1*/Q2*Q3*/Q4*I2*/I1*IO
/Q1*/Q2*/Q3*Q4
/Q1*/Q2*/Q3*/Q4
--- -----x ---- /13
40
41
42
43
44
45
46
- - ----- ---
48
49
50
51
52
-------------
56
57
58
59
60
61
62
63
---- ---- ---- ---- ---- ---- - - - ----
--x- --x
-x-- x--- x--x -x --x- --x- ---- ------- - - --x- --x- -x --x- --- -.---- ------- ---- - ----
--x -x- -x --x-
--x- --.:.x ---x --x---x --x- ---x ---x
/Q1*/Q2*Q3*Q4*I2*I1*/IO
Q1*Q2*/Q3*Q4
---- ---~ /Q1*Q2*/Q3*Q4
.;.;..------ Q1*/Q2*/Q3*Q4
---- ---- /Q1*Q2*/Q3*/Q4
---- ---- ---- - - - ---- ---- ------- --x- --x- ---x -x- ---- _-- Q1*Q2*/Q3*Q4
---- ---x --x- ---x --x- ---- ---- /Q1*Q2*/Q3*Q4
---- --x- ---x ---x -x- ---- ---- Q1*/Q2*/Q3*Q4
---- ---x --x- ---x ---x ---~ ---- /Q1*Q2*/Q3*/Q4
x--- -x-- x--x --x- --x- --x- ---- ---x--- -x-- x--x ---x --xx--- -x-- x--x --x --x---- ----
---x ---x ---x
---x --x- ---x
---x --x- ---x
-x-- x--- x--x ---x --x---- ------- ----
LEGEND:
x:
--,;,.- --'--
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN
4·104
/Q1*Q2*Q3*Q4*I2*/I1*IO
/Q1*/Q2*Q3*Q4*I2*/I1*IO
--"'-X -------- /Q1*/Q2*Q3*/Q4*I2*/I1*IO
--x--,..- ,..-"- /Q1*/Q2*/Q3*/Q4
--x- ---- ---- /Q1*/Q2*Q3*Q4*I2*Il*iIO
--x- :"~-... ---:- /Q1*Q2*/Q3*Q4
,..--x -.. .--: ---- /Q1*Q2*/Q3*/Q4
,..~x-
= 1520
- : FUSE BLOWN
(H,P,l)
State Counter for Multiplier/Divider
State Counter for Multiplier/Divider
ClK
Logic Diagram PAL16R4
I
0123
45& 7
891011
12131415
1611181920212223
24252621
28293031
0
,
~.
1
J
•
19
5
10
2
.
..
7
....
~
~I---
,,
:r--J
10
11
"
""
13
11
3
...
17
..
NC
...
D
./
~
...
"
""
""
"
j
J1
....
JJ
"
lS
j
36
J7
38
NC
6
~
39
.....
...
...
""
"
"
"
"
..
NC
7
....
""'"
./
....
...
..
:r--J
50
""
'3
54
NC
8
...
0-
E:...!~
-'"
"
"
.
18
r-~ 01
"-
""
""
27
28
5
18
.....1---
.""
12 ~
19
•
~
~
02
~
03
~
tQ] ~
04
13
13
12
12
55
....
JIO.t-51
>-t1
"
51
51
..
"
"
11
NC
..
9 ...
'--1
...
JIC..t-o, 1
.
2 3
4 5 6 7
1"011
12131415
16\1181,
20212223
24252621
21293031
~ oc
4·105
Notes
ALU/ Accumulator
PAL16A4
vee
BO 4
DATA.
IN
{
in.
,17 : : } DATA
B2
l+I''ot-ti)ool
A2
B3
.......................
A3
OUT
~
~
ALUI Accumulator
PAL16A4
ALU
ALU/ACCUMULATOR
MMI SUNNYVALE, CALIFORNIA
CLK 10 11 eo ~1 B2 B3 12 13 GND
/oe LIO /p A3 A2 Al AO /G cm vee
CARRYO.EQU
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/15/81
/I3*/I2*/I1*/IO * CIN
CARRY1 • EQU /13* /I2 */ll */10* (AO *BO)
. + It3"/I2*/ll*/IO * (AO+BQ) .CIN
CARRY2 .EQU
/I3*/I2*/I1*/IO * (Al*B1)
+ /I3*/I2*/I1*/IO * (Al+~l)*(AO*BO)
+ /I3*/t2*/I1*/IO * (Al+B1)*(AO+BO)*CIN
CARRY3 .EQU
, +
+
+
/I3*/I2*/I1*/IO'"
/I3*/I2*/ll*/IO *
/I3*/I2*/I1*/IO *
/Ij*/I2*/I1*/IO *
(A2·*B2)
(A2+B2) (Al*B1)
*
(~+~2J*(Al+:Bl) * (AO*BO)
CA2+B2)
* (A.l.+Sl)
* (AO*BO). *CIN
'
."
."
"
/AO :+
+
+
:+:
+
+
+
IIj* /12* III *IIO* (AO: * :BO)
/I3*/I2* IO*(lAO)·
II3*/12* Il*(~O)
113* 12*/I1*/IO*(BO)
II3* ;I2*/ll* IO* (lAO*,lBO)
/I3* 12* I1*/Io*/cm
/I3* 12* Il* IO*(lAl)
<[3*(/AO)
CARRYO·
+:
I.AO OR eo
, SHIFT LEFT AO
,SHIF'l!. RIGHT AO
~,BOx.o AO (LSB)
,AO PLUS BO .PLUS 1
/Al Ie /I3*/I2*/I1*/IO*(Al:*IB1)
+ /I3*/I2* IO*(/Al)
+ /I3*/I2* I1*(~1)
+ /I3* 12*/I1*/IO*(B1)
:+: /13* 12*/I1* IO*(/Al*~l)
+ /I3* 12* I1*/IO*(/AO)
+ /I3* I2* Il* IO*(lA2)
+
13*(lAl)
+
CARRY1
;Al PLUS B1
;BOLD Al
(Al AND)
,LOAD B1
( B1 )
,LOAD ~1
;Al OR B1
; SHIFT LEFT Al
; SaIFT RIGHT Al
;HOLD Al
,Al PLUS B1 PLUS 1
/A2 := /I3*/I2*/I1*/IO*(A2:*:B2)
+ /I3*/I2* IO*(/~)
+ /I3*/I2* Il*(~2)
+ /I3* 12*/I1*/IO*(82)
:+: /I3* 12*/I1* IO*(/A2*~2)
+ /I3* 12* I1*/IO*(/Al)
+ /I3* 12* I1* IO*(/A3)
+ 13*(lA2)
+
CARRY2
;A2 PLUS B2
;HOLD A2
(A2 AND)
( B2
)
;LOAD B2
;LOAD ~2
;A2 OR B2
; SHIFT LEFT A2
; SHIFT RIGHT A2
;BOLD A2
;A2. PLUS B2 PLUS 1
iAO PLUS eo
,HOLD AO
eAO AND)
(
,LO~BO
eo )
;LOAD/BO
ALUI Accumulator
/113 :=
+
+
+
:+:
+
+
+
+
/I3*/I2*/I1*/IO*(A3:*:B3)
/I3*/I2* IO*(/A3)
/I3*/I2* I1*(/83)
/I3* 12*/I1*/IO*(BJ)
/I3* 12*/I1* IO*(/A3*/83)
/I3* 12* Il*/IO*(/A2)
/I3* 12* I1* IO*/LIO
13* (/113)
CARRY3
IF(VCC)
G ..
+
+
+
/I3*/I2*/I1*/IO
/I3*/I2*/I1*/IO
/I3*/I2*/I1*/IO
/I3*/I2*/Il*/IO
*
*
*
*
IF (VCC)
P ..
+
+
+
+
+
+
/I3*/I2*/I1*/IO
/I3*/I2*/Il* IO
/I3*/I2* I1*/IO
/I3*/I2* I1* IO
/I3* 12*/Il* 10
/I3* 12* I1*/IO
/I3* 12* 11* IO
*
*
*
*
*
*
*
,113 PLUS BJ
(113 AND)
,BOLD 113
(
,LOAD B3
B3 )
,LOAD /83
,113 OR B3
, SHIP"l' LEFT 113
, SHIFT RIGHT 113
,BOLD 113 (MSB)
,113 PLUS BJ PLUS 1
(A3*BJ)
(A3+B3)*(A2*B2)
(A3+B3)*(A2+B2)*(Al*B1)
(A3+B3) * (A2+B2) * (Al+B1) * (AO*BO)
(A3+B3) * (A2+B2) * (Al+B1) * (AO+BO)
(/113) *(/A2) *(/Al) * (/AO)
(/83)*(/B2)*(/81)*(/BO)
(/113+/83) * (/A2+/82) * (/Al+/B1) * (/AO+/BO)
(/113*/83) * (/A2*/82) * (/Al*/B1) *.(JAO*/BO)
(/A2)*(/Al)*(/AO)*/CIN
/LIO*(/A3)*(/A2)*(/Al)
IF (/I3* 12* I1*/IO) /LIO • (/113)
; SHIFT LEFT OUT
IF (/I3* 12* I1* IO) /CIN" (/AO)
;SHIFT RIGHT OUT
DESCRIPTION
THE ALU ACCUMOLATOR LGADS THE A-REGISTER WITH ONE OF EIGHT OPERANDS ON
THE RISING EDGE OF THE CLOCK. G AND P OUTPUT GENERATE AND. PROpAGATE
ON THE ADD INSTRUCTION. P OUTPUTS OP .. ZERO ON INSTRUCTIONS 1,.2.3,~, 6 .7.
OPERATIONS TABLE.:
/OC CLK
13
12
Il
10
LIO
CIN 1I3-AO
OPERATION
---~----------------------------------------------------------------------~--H
X
Z
X
X
X
X
X
X
HI-Z
A =Z
L
C L L L L
X
ADD
A;=A PLUS B
L A PLUS B
L
X
H A PL B PL 1 ADD
C L L L L
A:=A PLUS B PLUS 1
C
X
L
L L L H
A
HOLD
X
A:=A
L
C
L L H L
X
LOAD
X
A:=B
B
L
C L L H H
X
X A AND B
AND
A: "'A*B
L
C L H L L
X
x /8
LOAD COMP
A:=/8
L
X
C L H L H
X
A OR B
OR
A:"A+B
L
C
X
L H H L
SHIFT LEFT
LI St.;.(A)
L
C
RI
L H H B
x SR(A)
SHIP"l' RIGHT
L
X
C
H X
A
X
X
X
BOLD
A:=A'
------------------------------------------------------------------------------
4-108
ALUI Accumulator
ALU/ACCUMUIATOR
J..1 '1111 1111 2222.' 2222 2233
0123 4567 8901 2345 6789 0123 4561 8901
o x--- x--- ---- ---- ---- ---- x--- -x-- /I3*X2*Il*10
1 - - - ---- xx-- ---- ---- --- ---- ---~/AO
8
9 -x-- -x------ ---- ---- x-xx -x-- -x~ /13*/12*/Il*/10*Al*B3
10 -x-- -x~- ---- ---- x-xx -x-~x-- -X~/13*/12*/11*/10*Al+B3*A2*B2
11 -x-- ~x-- ---- x-xx -x- --x- -x- -x-- /13*/12*/11*/10*Al+B3*A2+B2*Al~
12 -x-- -x-- x-xx ~x- ~-x- -x- -x-- ":x- /13*/12*/Il*/ttl*A3+B3*A2+B2*Al16 ..;.x-- -x-- x--x --- ---- ...---,.,x-- -x-"; /13*/12*/Il*/10*AO:*:BO
17 x--- ..;.--- xx-- ---- ---- -",,---x--x~ /13*/12*10*/AO
18. --- x--- -x-x - ... - -~-- ---_ -x..;.- -x-- /13 */12 *Il*/BO
19 -x-- -x~-x-x- ~--- -:-'-----~x-- ~x~- /I3*12*/Il*/10*BO
20 x--- -x-- xx-x ---- ---- ;;.--- x--- -X-. /13*12*/Il*10*/AO*/BO
21 -x-x x--- ---- .....;.-- --- ---~ x--..;. ~x-- /13*12*Il*/10*/C1N
22 x--- x--- --~-·xx~- --,..- -~-- x--- -x-- /I3*12*Il*10*)Al
23 --- ---.., xx-- ;..·-7---- ~-"'":~--- x-- 13*/AQ
24 -x-- -x-- --- x--x --~- ---_ -x-- -x-- /13*/12*/Il*/10*Al:*:B1
25 x--- ---- -~:-- .xx""'- ---- -,..-- '~x- -x- /13*/12*10*/Al
26 --- x-----_- -x-x - ... ---~-- -x-- -x-- /13*/12*11*181
27 -x-- -x-- ---- x-x- ---- ---- 'x- -x-- /13*12*/Il*/10*B1
28 x--- -x-- ---- xx-x -,.;.-- ----x-- -x- /13*12*/Il*10*/Al*/B1
29 -x-- x--- xx- --- ---- ---- x----x- /13*12*Il*/10*/AO
30 x--- X...-- ---- ,..--- xx- ---- x--- ~x- /13*12*11*10*/A2
31 --- ---- ---- xx- -..;-- ---- '---- ~--13*/Al
'
32-X- -x-- -"--- --~- x--x --:-- ~x- -x-- /13*/I2*/Il*/10*A2:*:B2
33 x--- ---- -------..;.xx_-.-.:.-""'·~x-- -X-./13*/12*10*/A2
34 --- x--- ---- --,.. ";x":';X-",,---X---X..,-/13*/12*1l*/B2
35-X-- -x- ---- ..;...:~- X....lC..; ---- x..;...- -x-- /I3*12*/Il*/10*B2
36 x--- -x-- --------xx-X ...... -- x-~~ -X~ /13*12*/Il*10*/A2*/B2
37 -x-- x--- ---- xx-- --,...- ;..--.., x.~- -x- /13*12*Il*/10*/Al
38 x--"'x--- ""'--- ---- ----. xx-- x--- -x-- /13*12*11*10*/Al
39. ..,----------- ----xx;.."'" ...""'-- ---- x~- '13*/A2
40 -x-- -x-- --- ---- ---,.. x~x -x-... ~x-- /13~/12*/:i:1*/1()*Al:*:B3
41X--- - .. -- ---- --;.."'- -~~.:.. xx-- -x:'- ,..x-- /13*/r2*10*/Al
...
42 ---- x--- -----:_:-- -----x~x -x..._· -X-- /13V;12*U*/B3
43 -x-- -x-.- ---~ --- - ...";'~ x-x- x--~ ,..x.,.- !13*12*/Il*/I0*B3
44 x--- -x-- ..:.---------- xx-xx~...--x-,- /13*12*/Il*10*/Al*/B3
45 ... x--x--- ---- ----:KlC-- -~--:- X-- -X-- /13*12*U*/10*/A2
.
46 x--- x--- ;..-..;.- ---- ...--,..:---- x----x-x /13*12*Il*IO*/L10
, 47 ---- ---- ---- ---- :';..;,..- xx.,..,..
,.....,"'--' .x-.,."" .13'"/Al
'.
.
" . ' :,. ' .'
,
:','..
'.
4.8 --- ---- ---- ---- '-~-- -..;.-- -~-" ---49 -x__ , -x-- -x- -x- --x- --X;-:-x__ .,.x-~ /I3'VI2~/Il*/10*Al+B3*A2+B2*Al'"
50 X--, -X-- xx- xx-- XX--lCX-- ...X:--:O ....x-- /13*/I2*/Il*10*/A3*/A2*/Al*/AO "
51 -x-x--- -x-x -x-x:-X.:.X .... x,..x-x~fX-- /I3*/12*Il*/XO*/B3*/B2*/B1~~/B0
52 x--- x----x-- -x-,..' ... x--,..x-..,-x--..,.X.....;/I3*/'12*1l*IO*/A3+/B3./A2+~*53 x-':" -x-- xx-x ,xx-x xx..:X, lCx;-:x x--,-x-- /13*I2*/Il*XO*/A3*/83*/A2*;B2*.. 54 -x-x X--- xx-xx-- xx-... ---_X-·-.
/13*12*Il*/10*/A2*/Al*/AO*/C1N'
55 x--x--- --- xx-- xx.,.;- XX~x-..,... ""'x-x /I3*12*n*10*/LIO*/A3*/A2*/Al
56 -x__ x--- ---- :----~-- :--:0-:' X--- .,.X;"'" /13*12*I1*/1P
57 ~------ ---- -----... --xx:--:o------'- fAl
LEGEND: x: FUSE NOT BLOWN (L,N,O), _: FUSE Bt.owN
(:S~P,l)
NUMBER OF FUSES BLOWN =1270
.
...x-
ALUI Accumulator
Logic Diagram PAL 16A4
ALUI Accumulator
(} 1 2 3
4
~
6'
8 9 1011
12 13 14
1~
,1) 1118 19
2(J 21 2223
24
Z~
26
n
28293031
~>c>-.-l------_----'-'19
10
2
CIN
....
...
8
9
\D
"
"')
~-+-i
_ _ _ _ _....!!'8 G
14
11
3
"
""
....
18
19
20
11
21
13
18
19
30
)1
t~
........
J1
)D-~~~
3J
)4
11
)6
3J
38
39
B2'
~
iil====I=lli. .~f)D-fi~~
~
7
B3~
............. ·lE
.1'1
',0
'"
12
8
13
9
.
.. ~
1\.'
I
\',
iJ
I
H 'I lUll
1) 111·11'\
IblllH 1'1
)O!llll3
J.1!',!IJlI
"Kil'I.lU.ll
4-111
Notes
4.112
Stepper Motor Controller
PAL16R4
vee
01A
Q3A
OOA
OOB
Q2ii
03B
4-113
D
Stepper Motor Controller
Functional Description
Stepper motors and linear actuators are used in a variety of
applications requiring precise rotational and/or linear movement. Examples are printers, floppy disc drives, mechanical
valves, etc. Stepper motors. are two-phase permanent magnet
motors which provide discrete angular movement every time the
polarity of a winding is changed. In the case of linear actuators,
the angular movement is converted to a linear movement via a
load screw. In essence, they are dc motors without brushes,
where the user provides commutation with external logic'
v'--+---<'---+---+--'
Circuit Operation
One type of drive circuit, unipolar drive, is shown in Figure 1
below. Two drive sequences are given in Tables 1A and 1B.
Angular rotation is achieved by saturating the transistor drivers
in the sequence shown in the appropriate table (full or half step).
Now, assume the circuit of Figure 1 is connected to a stepper
motor deSigned for 7.5 0 steps. By following the step sequence
of Table 1A (full step), the shaft will rotate 7.5 0 each time the
state is changed. If the sequence of Table 1B is followed, a 3.75 0
(half step) rotation will result for each change of state. For both
step sequences, the direction can be reversed by stepping
backwards through the table (step 4-3-2-1-4-etc.).
Figure 1
Table 1A
FULL STEP SEQUENCE
CLOCKWISE
ROTATION
tI
Q2
Q3
0
1
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
STEP
QO
Q1
1
1
2
1
3
0
4
1
.....
1
COUNTER·
CLOCKWISE
ROTATION
Table 18
HALF STEP SEQUENCE
CLOCKWISE
ROTATION
tI
STEP
QO
Q1
Q2
Q3
1
1
0
1
0
2
1
0
0
0
3
1
0
0
1
4
0
0
0
1
5
0
1
0
1
6
0
1
0
0
7
0
1
1
0
8
1
0
0
1
0
1
0
1
0
1
COUNTERCLOCKWISE
ROTATION
PAL Implementation
In this application, one PAL16R4 can be used to provide the
logic levels required to drive two stepper motors in the full
step mode. Due to the high current drive required (100-400
mA/phase), external inverting high current buffers would be
used (ULN 2001 or equivalent). In the design, the following
features are provided within the PAL:
4.114
• Enable/Disable inputs to enable stepping of either section. (IE
inputs).
• Select clockwise or counter-clockwise rotation.
• Set the motor to logic state step 1.
A block diagram/pinout is shown in Figure 2.
Stepper Motor Controller
MOTOR A
VCC
MOTOR A
CONTROLS
~--~+-~----VCC
MOTOR B
CONTROLS
MOTOR B
~----+-------vcc
Figure 2
A function table for each motor control section is given below.
CLOCK
E1
E2
X
X
1
X
X
1
S
X
X
f
0
0
f
0
f
0
0
FUNCTION
Hold motor in current position
Hold motor in current position
1
X
X
X
0
0
0
Step motor clockwise
0
0
1
Step motor counter-clockwise
Set outputs to step 1 levels
The full step sequence (Table 1A) can be simplified from
4 outputs to 2 outputs since 01 ~ 00 and 03 = 02. The
sequences can then be expressed as follows:
0=1
0=0
STEP
00
02
00
02
01 = 00
03 = 02
1
1
1
1
1
when S = 1:
2
3
4
1
0
0
1
00 = 1 01 = 0
0
0
0
0
when E1 = 1 or E2 = 1
0
1
1
0
00.= qO
1
1
1
1
1
01 = q1
02 = 1 03 = 0
02 = q2
03= q3
4-115
Stepper Motor Controller
The step sequences can be converted to equations by use of a
Karnaugh map.
1
0
0
Conclusion
Although this example could be used "as is" in a stepper motor
application, the programmability of PAL's could allow for any
desired modifications. Changes to the circuit might include:
1. Drive only one stepper motor, using a PAL 16R6. The other
flip-flops could be used as a programmable counter, allowing
for different speed settings.
1
2. Drive only one stepper motor, using the extra inputs and
outputs to handle other circuit functions.
1
0
1
3. Drive only one stepper motor, using a PAL 16R6. The other
flip-flops could be used as a 4-bif position counter.
0
4. The substitution of a PAL 16R8, and another inverting buffer
would allow the driving and control of four stepper motors.
--.-o
5. Re-program for half-step operation.
00 = 02 . D + 02 . D
.----..
QO
o
--.-o
02 = 00 • D + 00 . [5
Factor in E1 and E2:
OO=~·~·~·5+~·~·~·~
02 =
E1 . ~ . 00
• D +
Ei .
E2 . 00 • [5
Express the set function as an equation:
00 = E1 . E2 • S
02 =
E1 . E2 .
S
Express the hold function (when E1 or E2 = 1)
00 = qO . E1 + qO . E2
02 = q2 . E1 + q2 • E2
Combining all the above:
00 :=
E1 . E2
. S + 00 . E1 + 00 . ~ + Ei
.
E2 . 02 . [5 + E1 . E2 . 02 . D
E1 .
E2 . 00 . D + E1 . E2 . 00' ~
01 := 00
02 :=
E1 . E2
03 := 02
. S + 02 . E1 + 02 . E2 +
Stepper Motor Controller
PAL16R4
SMC
STEPPER MOTOR CONTROLLER
DEVOE COMPANY, INDIANAPOLIS, INDIANA
eLK /ElA /E2A SA DA /ElB /E2B SB DB GND
/oe /Q3B /QlB /Q2B /QOB /Q2A /QOA /Q3A /QlA
QOA : =
QOA* /ElA
+ QOA*/E2A
+
SA * ElA* E2A
E2~* DA
Q2A* ElA* E2A*/DA
+ /Q2A* ElA*
+
~ HOLD
, HOLD
~ STEP
; LOAD
.~ LOAD
PAL DESIGN SPECIFICATION
DAVE SACKETT 02/23/81
vec
IF NOT E1
IF NOT E2
1 IF SET
/Q2A IF COUNTER-CLOCKWISE
Q2A IF CLOCKWISE
IF (vee) QlA = /QOA
Q2A :.
Q2A* /ElA
+ Q2A*/E2A
+
+
SA * ElA* E2A
QOA* ElA* E2A* DA
+ /QOA* ElA* E2A*/DA
IF (vee) Q3A
QOB : =
+
+
+
+
; BoLD IF NOT E1
,BOLD IF NOT E2
. ,STEP 1 IF SET
. ; LOAD QOA IF COUNTER-CLOCKWISE
~LOAD/QOA IF CtocKWISE
= /Q2A
QOB* /ElB
QOB*/E2B
SB * ElB* E2B
/Q2B* ElB* E2B* DB
Q2B* ElB* E2B*/DB
~ BOLD
IF NOT El
IF N:OT E2
,STEP 1 IF SET
,LOAD /Q2B IF COUNTER-CLOCKWISE
;LOAD Q2B IF. CLOCKWISE
~ BOLD
IF (vee) Q1B = /QOB
Q2B .:=
Q2B*/ElB
Q2B*/E2B
SB * ElB* E2B
+ QOB* ElB* E2B* DB
+ /QOB* E1B* E2B*/DB
+
+
; HOLD
;HOLD
; STEP
; LOAD
;LOAD
IF NOT El
IF .NOT E2
1 IF SET
QOB IF COUNTER-CLOCKWISE
/QOB IF CLOCKWISE
IF (vee) Q3B = /Q2B
4·117
Stepper Motor Controller
FUNCTION TABLE
CLK
loe
iCBIP
iC
I
iL
iK
0
C
C
C
C
C
C
C
C
C
C
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
/ELA /E2A SA DA QOA QLAQ2A Q3A IElB IE2B SB DB QOB QlB Q2B Q3B
STEPPER MOTOR A
CONTROL STEP
E E S D QQQQ
1 2 A A 0123
STEPPER MOTOR B
CONTROL STEP
E E S D QQQQ
1 2 A A 0123
COMMENTS
----------------------------------------------------------------SET TO STEP 1
L L a x HLHL
L L a x HLHL
a a
L L
L L
L L
L L
L L
L L
L L
H L
La
L H
x
L
L
L
L
L
L
L
L
L
a
x
L
L
L
L
L
L
a
H
H
a
HLHL
a
L
L
L
L
L
L
L
H
L
L
HLLa
LHLH
LHHL
HLHL
HLLB
LeLa
HLLa
HLLa
HLLa
HLLa
a
L
L
L
L
L
L
L
L
H
.H
x
L
L
L
L
L
L
L
L
L
a
x
a
a
a
a
a
a
L
L
L
L
HLHL
LHHL
LHLH
HLLH
HLHL
LHHL
LHLa
LHHL
LHHL
LHHL
LHHL
HOLD
STEP
STEP
STEP
STEP
STEP
STEP
STEP
aOLD
HOLD
HOLD
A
A
A
A
A
A
A
CW, BCCW
CW, BCCW
CW, BCCW
CW, BCCW
CW, BCCW
CW, BCCW
CCW, BCW
----------------------------------------------------------------DESCRIPTION
THIS PAL16R4 PROVIDES THE LOGIC LEVELS REQUIRED TO DRIVE 'mO STEPPER MOTORS
IN THE FOLL STEP MODE.
THE FOLLOWING OPERATIONS MAY BE PERFORMED FOR EACH STEPPER MOTOR CONTROLLER
INDIVIDUALLY:
CLK
/El
IE2
S
D
OPERATION
X
C
C
C
X
L
L
L
H
L
L
L
X
H
L
L
X
X
L
H
HOLD MOTOR IN CURRENT POSITION
SET OUTPUTS TO STEP 1 LEVELS
STEP MOTOR CLOCKWISE
STEP MOTOR COUNTER-CLOCKWISE
---------------------------------------------------------X
a
x
x
X
HOLD MOTOR IN CURRENT POSITION
----------------------------------------------------------
Stepper Motor Controller
STEPPER r«>'l'OR CONTROLLER
1
2
3
4
5
6
7
8
9
10
11
12
C001X001XXOBBLLLLBB1
C11XX11XXXOBBTJ.T.T.BB1
C00000001XOHLLBBLLB1
C00000001XOLLBBBBLL1
C00000001XOLSBLLBBL1
C00000001XOBBLLLLBB1
C00000001XOBLI·BBt.t.R1
C00000001XOI,I·B1DUITJ.1
C00010000xom,x,BBtJ.1U
C10011000xom,LS'JUJ ,1I1
C01010100Xorrr.r,m,x,1I1.
C01110110xOBLLBBLLBl
PASS SIMULATION
4·11:9
'·'stepper 'Motor' ContrOller
STEPPER MOTOR CONTROLLER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
0
1
0,"
-x-
/QOA
8
9
-x-
16
17
18
19
20
x---
--x
x-- --x
-x-- -x-- x--x-- -x-x-x-x-- -x-x-x
QOA*/ElA
QOA*/E2A
SA*ElA*E2A
/Q2A*ElA*E2A*DA
Q2A*ElA*E2A*/DA
24
25
26
27
28
x---
Q2A*/ElA
Q2A*/E2A
SA*ElA*E2A
QOA*ElA*E2A*DA
/QOA*ElA*E2A*/DA
/Q2A
,',"
--x --x-----x ---x- -x-- x-x-- -x-- ---x x---x-- -x-- --x- -x--
32
33
34
35
36
x--x
--x x---x-- -x-- x---
-x-- -xxx---x-- -x-x ---- -x--
QOB*/E1B
QOB*/E2B
SB*ElB*E2B
/Q2B*ElB*E2B*DB
Q2B*ElB*E2B*/DB
40
,x--- --x ----
x-x ----x- -x-- x---x-x -x-x---xx- -x--x--
Q2B*/ElB
Q2B*/E2B
SB*E1B*E2B
QOB*ElB*E2B*DB
/QOB*E1B*E2B*/DB
--x-
/QOB
41
42
43
44
--~-
48
49
56
57
LEGEND:
-xx: FUSE OOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN.
832
/Q2B
- : FUSE BLOWN
(H,P,l)
Stepper Motor Controller
Logic Diagram PAL16R4
Stepper Motor Controller
eLK 1
,,
o
I 2 J
4 S 61
89 Hili
121J141f1
16111819
2U21 2223
24252621
28293031
~
2
J
,,
3
..
•,
.A
~
~
•,
~
""
""
"
12
3
....
~
"""
""
.
11:
"
"
"
""
~
~~~
r-o
./
28
, ...
..
22
13
24
25
26
DA
~r-~
"'"
./
21
4
18
...1---
---t.
SA
19
..'"
Q~
~1
J2
JJ
~
""
"
""
~
./
J1
6
...
...
..
'"
"
"""
""-
.
7
...
./
""
"
....
...
-'--I
..
41
r-J
to
"
""
"
54
SB
.
:r-J
"
"
51
to
....
~
~
~
~
~
13
1------
8
•
-'--I
58
DB
~
"
""
012l
4561
'91011121314151811111'
20212223
24252627
28293031
...
12
11
•• 1~1
Shaft Encoder
PAL16R4
vee
DOWN
Q1
Q3
Qi
ERROR
He
4-123
Shaft Encoder
PAL16R4
SBEN
SHAFT ENCODER
MMI MUNICa Gmba
CLK SIGNALA SIGNALS NC NC NC NC NC NC GND
/oe NC ERROR /04 /Q3 /Q2 /Q1 DOWN UP vec
IF(VCC)
PAL DESIGN SPECIFICATION
WILLY VOLDAN 03/03/81
Q1*/Q2*/SIGNALB
/up.
+ /Q1* Q2* SIGNALB
+ Q3*/04* SIGNALA
+ /Q3* O4*/SIGNALA
IF(VCC) /DOWN -
Q1*/Q2* SIGNALS
+ /Q1* Q2*/SIGNALB
+ Q3*/04*/SIGNALA
+ /Q3* 04* SIGNALA
Q1 : -SIGNALA
122 :- 121
123 :- SIGNALS
04 :- 123
IP(VCC) /ERROR • /Q1* 122 */Q3 * 04
+ /121*122* Q3*/Q4
+ Q1*/Q2*/Q3* 04
+ Q1*/Q2* 123*/04
FUNCTION TABLE
/oe
CLK SIGNALA SIGNALS ERROR 04 Q3 122 121 DOWN UP
;
;/OC
CLK
SIGNAL
A B
QQQQ
ERROR
4321
DOWN
UP
XLLa
XBBL
XBLB
XLBL
LBXB
BLXL
LBXL
B
B
L
L
L
L
B
B
B
B
L
L
L
L
X
X
B
B
COMMENTS
--------------------------------------------------------L
B L
B
L
L
L
L
t
L
L
L
L
a
C
C
C
C
C
C
C
C
C
C
x
L
B
B
B
L
L
L
a
L
B
B
B
B
B
L
L
B
B
L
a
a
L
L
B
L
B
x x
a
x
BLXB
LBBL
BLLB
zzzz
x
X
X
X
COUNT UP
COUNT UP
COUNT DOWN
COUNT DOWN
COUNT UP
COUNT UP
COUNT DOWN
COUNT DOWN
ERROR FLAG
ERROR FLAG
DISABLED
---------------------------------------------------------
Shaft Encoder
DESCRIPTION
THE PAL CONTBOLS A 4-BIT UP/DOWN COUNTER WITH THE OUTPUTS "UP" AND
"DOWN". (UP=H MEANS COUNT UP, DOWN=H MEANS COUNT DOWN)
THIS DESIGN WITH GLITCHLESS OUTPUTS WILL SERVE WELL IN ELECTRICALLY
NOISY INDUSTRIAL ENVIRONMENTS.
THE PINNING AND THE OUTPUT POLARITY ARE GIVEN AS A FIRST PROPOSAL AND
CAN BE CHANGED ACCORDING TO THE PC BOARD LAYOUT.
BLOCK DIAGRAM:
A
B
/UP
PAL16R4
/DOWN
/UP
/DOWN
4-BIT
UP/DOWN
COUNTER
SENSOR, L -_ _ _ _ _- - '
DIGIPOT
OR SIMILAR
CARRY
BORROW
SIGNALS TO ADDITIONAL
COUNTERS
SHAFT ENCODER
1
2
3
4
5
6
7
8
9
10
11
C10 XXXXXXXOXBXBBLHL1
C01XXXXXXXOxmtLLlmLl
C11XXXXXXXOXHXLHLLH1
COOXXXXXXXOXHXBLHLHl
CllXXXXXXXOXHBLXLHLl
COOXXXXXXXOXHLHXBHLl.
C01XXXXXXXOXHBLXHLHl
C10XXXXXXXOXBLHXLLHl
C01XXXXXXXOXLHLLHXXl.
ClOxxxxXXXOXLLHHLXX1
XXXXXXXXXXlXXZZZZXXl
PASS SIMULATION
4;"125
Shaft Encoder
SHAFT EN---J
1G
11
11
13
"
18
DOWN
15
SIGNAlB
3
....
..
.A
"'16
17
""
~~
of--
""
1G
11
21
D
13
NC
4
...
"
"
~D
;::::;::
-O-L
4
S
=R::!9D
5
;:::~
::{j:::t
~
....,
""
6
~
.
~D
".,
.,
04
::t):l
7
~
..
...
05
8
-Q-l
IDD
..
."
"'"
~D
56
"
06
9
~
.
00
07 ~~
~
~
... 0 3 B
~
I;J.
~
~
~
r;J.
...
·18
~
16
I'"
~
-
"
11
~
~ 02
'""'
"
"
"
~
~ 01
IDI>~ ~
.
"
"
11
.....
~D
"
"
03
llRO
3
"
"
"
"
02
J
R:!9D t;~
"
"
"
01
23
.··
"
DO
...l.
-M-,
.,.
....
.~
II
1
Z 1
4
S
6
J
. , 11111
12131415
1117" '9
201122 2J
24IS2&11
11 It 30 31
12 lJ 34-35
)6113131
.
.A..
14
04
05
06
07
RllO
13
'"
4·159
Octal Shift Register
App'ieation
16-8it Shift Register
BOS OUT ENABLE
L SB 110
{ ClK
10
11
INSTR
lS-BIT
DATA BUS
IN
IS-BIT
0 ATA BUS
OUT
1
24
r-o:~tEI
-{1
~ I r-IID'22
r:' f--IO lIRO, I-DO
OO,~
Ll
all--
:::;: f-- 01
IT f-r:"
a.!,1-c-
02
~
021--l!!i
1-0
8,
r":'
.2. f--
03 BIT 031-- ~
SHFT
~
04 REG 041-- ~
::! -
05
051--
'TI:-
~ r - OS
osl--
E
r;o f-- 07
071-- ~
110CRIlO
"-
m~lL-lEJ-
m
ti]l
,-
SHIFT 1/0
4:
----
ITr---,
,
!! --,
01
01
Is -
02'
02--~
;:;: r - 03
-
!:II-"
,
'
LlRO
00
B~T ~ h;L ,
03
SHFT,
04 REG 041--
!! I--
05
051-
os,
osl--
trn I-- 07
-
071-110CRIlO
Iii~'l
m
12
4.f8B
=1
'
PO elK TO LIRO
"
t-'
~'
tID
S
tw
~
L-14
~,
~
MSB 1/0
1
NOTE: i f MAX
'
i--S
191--
-
0,
~
joiiOiC
10
DO
"
<
I r-~
I--
r;' f-J
, ,
~
+1
SU
4·Bit
Shift Register/Comparator
PAL16R4
4·8it Shift Register/Comparator
Functional Description
The equations using AND-OR-INVERT logic are:
Frequently it is necessary to take a serial bit stream and convert
it to a parallel form for storage. It is also necessary, in some
cases, to monitor the same bit stream for certain patterns
e.g., floppy disk file headers, RS232 ASCII characters, etc.
A1, A2 '" B1, B2
= (/A1'/B1)'(/A2'/B2)
+ (lAl'/B1)'(A2*B2)
+ (Al'Bl)*(/A2*/B2)
+ (Al'Bl)'(A2'B2)
So for 3 inputs we require 8 sum of products and so on. This
Using a PAL it is possible to combine these two functions.
means that we have to cascade 2 stages in the 16R4 as there
are only 7 product terms available per output. Hence, compare
1 (COl) is:
.
Circuit DeScription
= AO*BO'Al'Bl*/CI
+ AO'BO'/Al*Bl*/CI
ICI = COMPARE IN FROM
PREVIOUS STAGE
+ lAO*/BO*Al'B1*/CI
+ lAO'/BO*/A1'/B1*/CI
The circuit shows a 16 bit !!erial/parallel convertor,with threestate outputS and a compare true output (EO). Four PAL16R4s
are ca.scaded for this design. There is also a synchronous preset
(PR) pin available. The circuit takes positive true Non-ReturnTo-Zero (NRZ) data with a central positive edge clock and
converts It into parallel data. When the A and B inputs are equal,
s negative going clock is output, with the negative (leading)
edge in the center of the output data.
Compare Output 2 (C02) is:
= A2*B2*A3'B3*/C*l and so on.
On the final stage, the clock is inverted and gated with C02.
This causes a negative going pulse to be output when the A
data center.
and B inputs arE~. equal, the leading edge being
This pulse is the EO output. For a 16 bit register, the final C02.
output can have a maximum· delay of 4x2x25j,~. = 200ns, so for
a EO pulse at data center t~e maximum clock frequency would
be 5 MHz.
.
at
PAL Impl~m.ntatlon
A PAL16R4 is used, the four flip-flops comprising the. shift
register and tlie other gates are used to compare the data and
output on appropriate pulse if the compare is true. For the shift
register the equations are:
.
But, by using a carry-Jook-ahead technique,this could be
increased to 7.2 MH;t. In practice clock frequencies of greater
than 10 MHz could be used (causing the EO pulse leading edg.e
to shift off center).
BO := /SERIN'/PR
81 := /BO'/PR
82 := IBl'/PR
e3 := la2*/PR
Conclusion
By feeding the outputs ofthe shift register into a bank of FIFOs
(67401 or similar) a practical serial communication channel can
be buffered into a microcomputer system. Using PAls the
design can be tailored. for use in different communication
systems.
The inputs are inverted because of the inverting output buffer
on each stage. To compare two inputs A and B, the boolean
equivalence operator is A '" B (or A :':8).
11-81T
DATA IN
CLOCK
SERIAL
NRI
DATA
I
CK
SERIN
J: I
C1PR~
PRES;;
Oc
4
4
4
4
{7
{;..
{;..
I
A
CLK -NC
CO2
8
B3
4
r+
CK
SERIN
CLK
CI
PR ~
t
I
A
NC
r-
CK
SERIN
CI
CO2
PR
8
I
B3
4
A
ere
r
CK
CLK i-NCr- SERIN
CO2
.
{7
CI
8
83
4
A
CLKJ
PR ~
1
4
I
11-81T DATA OUT
CO2 '-EO
8
DATA EOU
L..r
I I TCK
14--
-.j
I I
4-BIT SERIAL/PARALLEL SHIFT REGISTER/COMPARATOR WITH PRESET
2
4 .. Bit Shift Register IComparator
PAL16R4
SHFT4
4-BIT SHIFT REGISTER/COMPARATOR
MMI ENGLAND
CK CLK PR AO Al A2 A3 SERIN NC GND
/OC C02 COL B3 B2 Bl BO EQ
CI VCC
PAL DESIGN SPECIFICATION
HARRY HUGHES 02/18/81
/BO := /SERIN*/PR
;SHIFT LEFT (SERIAL IN)
/B1
/BO*/PR
;SHIFT LEFT
/B2 := /Bl*/PR
;SHIFT LEFT
/B3 := /B2*/PR
;SHIFT LEFT
:=
IF (VCC) /C01
AD* BO* Al* B1*/CI
AO* BO*/Al*/Bl*/CI
+ /AO*/BO* Al* Bl*/CI
+ /AO*/BO*/A1*/Bl*/CI
+
IF (VCC) /C02 = A2* B2* A3* B3*/COl
+ A2* B2*/A3*/B3*/COl
+ /A2*/B2* A3* B3*/COl
+ /A2*/B2*/A3*/B3*/COl
IF (veC)
/EQ = /CLK*/C02
;COMPARE AO= BO AND Al= B1
;COMPARE AO= BO AND /Al=/Bl
;COMPARE /AO=/BO AND A1= Bl
;COMPARE /AO=/BO AND /Al=/B1
;COMPARE A2= B2 AND A3= B3
;COMPARE A2= B2 AND /A3=/B3
;COMPARE /A2=/B2 AND A3= B3
lCOMPARE /A2=/B2 AND /A3=/B3
;COMPARE TRUE PULSE
FUNCTION TABLE
SERIN A3 A2 Al AO CK /oC PR CI COL C02 CLK EQ B3 B2 Bl BO
;-INPUTS;SER AAAA
lIN 3210
x xxxx
L
L
L
L
H
H
H
H
HHHL
HHLL
HLLL
LLLL
LLLH
LLHH
LHHH
HHHH
x XXXX
X XXXX
H HHHH
X xxxx
-------CONTROL------C / P C C C C E
K OC R I 01 02 LK Q
C
C
C
C
C
C
C
C
C
L
L
L
X
L
L
L
L
L
L
L
L
L
L
L
L
H
H
L
L
L
L
L
L
L
L
X
X
L
X
X
L
L
L
L
L
L
L
L
H
X
L
X
X
L
L
L
L
L
L
L
L
H
X
L
X
X
L
L
L
L
X
L
L
L
L
L L
L L
L L
L L
H X
X H
L L
X X
X
L
L
L
L
L
L
L
OUTPUTS
BBBB
3210
HHHH
HHHL
HHLL
HLLL
LLLL
r~LLH
L
LLHH
LHHH
HHHH
H
H
L
X
XXXX
HHHH
ZZZZ
xxxx
COMMENTS
PRESET
SHIFT LEFT IN A L (A=B)
SHIFT LEFT IN A L (A=B)
SHIFT LEFT IN A L (A=B)
SHIFT LEFT IN A L (A=B)
SHIFT LEFT IN A H (A=B)
SHIFT LEFT IN A H (A=B)
SHIFT LEFT IN A H (A=B)
SHIFT LEFT IN A H (A=B)
PREVIOUS STAGE COMPARE NOT TRUE
COMPARE TRUE PULSE INACTIVE
COMPARE TRUE
TEST HI-Z
4 .. 163
4.SitShift Register IComparator
DESCRIPTION
THIS 4-BIT SHIFT REGISTER/COMPARATOR ACCEPTS POSITIVE NRZ INPUT DATA ON THE
RISING EDGE OF THE CLOCK (CK) AND PRODUCES A PARALLEL OUTPUT (B) WITH A
'COMPARE TRUE PULSE' ON THE NEGATIVE EDGE OF THE CLOCK (CLK).
THE THREE-STATE OUTPUTS (B) ARE HIGH-Z WHEN THE OUTPUT CONTROL LINE (lOC) IS
HIGH AND ENABLED WHEN THE OUTPUT CONTROL LINE (/OC) IS LOW.
4.1R4
4-Bit Shift Register/Comparator
4-BIT SHIFT REGISTER/COMPARATOR
1
2
3
4
5
6
7
8
9
10
11
12
13
CXIXXXXXXXOXXHHHHXXI
COOOII10XXOLLHHHLLOI
COOOOI10XXOLLHHLLLOI
COOOOOI0XXOLLHLLLLOI
COOOOOOOXXOLLLLLLLOI
COOI0001XXOLLLLLHLOI
COOI1001XXOLLLLHHLOI
COOI1101XXOLLLHHHLOI
COOI1111XXOLLHHHHLOI
OxxxxXXXXXOHHXXXXHl1
01XXXXXXXXOXXXXXXHXl
00011111XXOLLHHHHLOI
XXXXXXXXXXIXXZZZZXXI
PASS SIMULATION
4.165
4·Bit Shift Register/Comparator
4-BIT SHIFT
REGISTER/COMPA~TOR
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
8
9
-x--
---X·/CLK*/C02
-x--
16
-x--
24
-x-- ---x ----
32
-x--
..,.--x ----
/Bl*/PR
40
-x--
---x
/B2*/PR
48
49
50
51
52
56
57
58
59
60
LEGEND:
/BO*/PR
x-x- x-xx-x- -}(-X ----x-x x-x- ----x-x -x-x ----
---x
--,..x
---x
---x
x-xx-x-x-x
-x-x
x:
---- AO*BO*Al*Bl*/CI
---- AO*BO*/Al*/Bl*/CI
/AO */BO *Al *Bl* /CI
---- /AO*/BO*/Al*/Bl*/CI
x-x-x-x
x-x-x-x
---x
---x
---x
---x
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN
/SERIN*/PR
=
462
-------------
A2*B2*A3*B3*/COl
A2*B2*/A?*/B3*/COl
/A2*/B2*A3*B3*/COl
/A2*/B2*/A3*/B3*/COl
- : FUSE BLOWN
(H,P,l)
4-Bit Shift Register/Comparator
4-Bit Shift Register/Comparator
CK
Logic Diagram PAL16R4
1
III 2 J
4 5 6 7
891011
12131415
16111819
20212223
24252621
28293031
G
>-t1
1
2
,
J
,
5
ClK 3
.
rcl
15
~I-----
Jt
16
11
18
19
./
"
22
13
...
c:
~
24
25
26
21
A1
...
o 01--
J
29
JG
31
.....
~
~1
~
"
"
5
~~
o 0'--- .....
BO
"'"
2G
AO 4
~1
JJ
""
'"
../
J6
J7
J8
J9
....
..
...
A2 "'---I
....
"
""
""
""
41
A3
7
.
>-t1
"
55
~
B2
~
83
13
C01
12
C02
...
..
h.
.c.. I----
....
"
rJ
51
"""
""
9 ...
--.
..
B1
....
52
NC
-u~
h.
53
8
=Dl
.-o of--
"'"
../
""
""
SERIN
~
....
J2
6
EO
....
h.
..
.
18
....t - - -
~
"
PR
CI
I
8
9
IG
11
12
13
3
19
"
...
.,:1---oI
2 1
4 5 6 7
8 9 1011
12 131415
1617 1819
20212223
242S2627
28,293031
~
OC
Notes
4·Bit Counter
with 2 Input Mux
PAL16R4
AD
A
2
{ A1
DATA
IN
A2
l
A3
ao
B .
DATA
B1
IN
B2
:: ::.} DATA
OUT
I
'il:":' .LN._liS
02
1+IOl~""14 03
B3
4-169
0
4·Bit Counter with 2 Input Mux
PAL16R4
CNT4M
4-BIT COUNTER WITH 2 INPUT MUX
MMI SUNNYVALE, CALIFORNIA
eLK AO A1 A2 A3 BO B1 B2 B3 GND
/OC CO 11 Q3 Q2 Q1 QO 10 CI VCC
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/22/81
/QO := /Il*/IO*/QO
+ /Il* IO*/AO
+ Il*/IO*/BO
+ Il* IO*/CI*/QO
+ 11* 10* CI* QO
;!'IOLDQO (t,SB)
;LOAD AD
;LOAD BO
;HOLD IF NO CARRY IN
;COUNT IF CARRY IN AND QO=H
/Q1 := /Il*/IO*/Q1
+ /Il* IO*/A1
+ Il*/IO*/B1
+ 11* IO*/CI*/Q1
+ 11* IO*/QO*/Q1
+ Il* 10* CI* QO* Q1
;HOLD Q1
;LOAD A1
:LOAD B1
:HOLD IF NO CARRY IN
:HOLD IF.QO,Q;J.=L
;COUNT IF CARRY IN AND QO,Q1=H
/Q2 := /Il*/IO*/Q2
+ /Il* IO*/A2
+ Il*/IO*/B2
+ 11* IO*/CI*/Q2
+ 11* 1O*/QO*/Q2
+ 11* IO*/Q1*/Q2
+ 11* 10* CI* QO* Q1* Q2
;HOLD Q2
:LOAD A2
:LOAD B.2
:HOLD IF NO CARRY IN
;HOLD IF QO,Q2=J:.
;HOLD IFQ1,Q2=L
:COUNT IF CARRY IN AND QO,Q1,Q2=H
/Q3
:HOLD Q3 (MSB)
:LOAD A3
:LOADB3
:HOLD IF NO CARRY IN
IHOLD IF QO,Q3=L
: HOLD IF Q1,Q3=L
:HOLD IF Q2,Q3=L
:COUNT IF CARRY IN AND QO,Q1,Q2,Q3=H
:=
+
+
+
+
+
+
+
/Il*/IO*/Q3
/Il* IO*/A3
Il*/IO*/B3
Il* IO*/CI*/Q3
Il* IO*/QO*/Q3
11* IO*/Q1*/Q3
11* IO*/Q2*/Q3
11* 10* CI* QO* Q1* Q2* Q3
IF (VCC) /CO = /CI+/QO+/Q1+/Q2+/Q3
:CARRY OUT IF CARRY IN AND QO,Q1,Q2,Q3=H
B
A
CARRY OUT
CLOCK
OUTPUT CONTROL
Q
4·170
4-.Blt Counter with 2 Input Mux
FUNCTION TABLE
CLK lac Il IO A3 A2 A1 AO B3 B2 B1 BO CI co Q3 Q2 Q1 QO
~CONTROL
,CLK lac
INSTR
Il IO
AAAA
--INPUTS-BBBB
3210 3210
CARRY
CI CO
L
H
L
H
L
H
L
H
L
H
L
H
H
H
H
LLLL
LLLL
LLLH
LLLH
LLHL
LLHL
LHLL
LHLL
HLLL
HLLL
LLLL
LLLL
XXXX
XXXX
XXXX
xxxx
LHHH
XXXX
HHHH
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
xxxx
XXXX
XXXX
XXXx
X
X
X
X
X
X
X
X
X
X
X
X
X
H
X
H
X
H
X
H
X
H
H
H
H
H
H
L
H
X
OUTPUT
QQQQ
3210
COMMENTS
(HEX VALUES)
----------------------------------------------------------------------C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
H
H
L
H
L
H
L
H
L
H
L
H
L
L
H
L
H
H
H
H
H
L
H
L
H
L
H
L
H
H
H
L
H
H B
H H
H Ii
H H
H H
X X
HHHH
HHHH
LHHH
LHHH
HLHH
HLHH
HHLH
HHLH
HHHL
HHHL
HHHH
HHHH
LLLH
XXXX
LLHH
XXXX
XXXX
XXXX
XXXX
XXXX
HHLL
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX,
X
X
X
X
X
X
X
X
X
X
X
X
X
L
X
L
X
L
X
L
X
L
L
L
H
L
L
L
L
X
LLLL
HHHH
LLLH
LHHH
LLHL
HLHH
LHLL
HHLH
HLLL
HHHL
LLLL
HHHH
LLLH
LLHL
LLHH
LHLL
LHHH
HLLL
HHHH
LLLL
HHLL
HHLH
HHLH
HHHL
HHHH
LLLL
LLLH
LLLH
LLHL
ZZZZ
LOAD A (0)
LOAD B (F)
LOAD A (1)
LOAD B (7)
LOAD A (3)
LOAD ·B (Bl
LOAD A (4)
LOAD B (D)
LOAD A (8)
LOAD B (E)
LOAD A (0)
LOAD B (F)
LOAD B (1)
INCREMENT
LOAD B (3)
INCREMENT
LOAD A (7)
INCREMENT
LOAD A (F)
INCREMENT (ROLL OVER)
LOAD B (C)
INCREMENT (D)
HOLD (D)
INCREMENT (E)
INCREMENT (F) (CARRY OUT)
INCREMENT (0) (ROLL OVER)
INCREMENT (1)
HOLD (NO CARRY IN)
INCREMENT (2)
TEST HI-Z
-------------~---------------------------------------------------------
D
4·81t Counter with 2 Input Mux
DESCRIPTION
THE 4-BIT COUNTER LOADS A OR B FROM THE MUX, INCREMENTS, OR HOLDS
ON THE RISING EDGE OF THE CLOCK.
/oe CLK 11 10 CI A3-AO B3-BO Q3-QO
H
L
L
L
L
L
X
C
C
C
C
C
X
1.
L
H
H
H
X
L
H
L
H
H
X
X
X
X
L
H
X
X
Z
X
x
Q
A
X
X
B
A
B
X
X
x
x
Q
Q PLUS 1
OPERATION
HI-Z
HOLD
LOAD A
LOAD B
HOLD
INCREMENT
------------------------------------------------------
4·172
4-Bit Counter with 2 Input Mux
4-BIT COUNTER WITH 2 INPUT MUX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
C00001111XOXOLLLL1X1
C00001111X0XlHHBHOX1
CIOOOl110XOXOLLLHIXl
CIOOOIIIOXOXILHHHOXI
COI001101XOXOLLHLIXI
COI001101XOX1HLHHOXI
C00101011X0XOLHLL1Xl
C00101011XOXIHHLHOX1
C00010111X0XOHLLL1X1
C00010111X0X1HHHLOX1
C00001111XOXOLLLL1X1
C00001111XOXIHHBHOX1
CXXXX1000XOX1LLLHOX1
CXXXXXXXXXOL1LLHL111
CXXXX1100XOX1LLHHOX1
CXXXXXXXXXOL1LHLL111
C1110XXXXXOXOLHHH1X1
CXXXXXXXXXOLIHLLL111
C1111XXXXXOXOHBBH1X1
CXXXXXXXXXOL1LLLt111
CXXXX0011XOXOHHLL1X1
CXXXXXXXXXOL1HHLHll1
CXXXXXXXXXOLOHHLH011
CXXXXXXXXXOL1HHHL111
CXXXXXXXXXOH1HHHH111
CXXXXXXXXXOL1LLLL111
CXXXXXXXXXOL1LLLH111
CXXXXXXXXXOL1LLLH101
CXXXXXXXXXOL1LLHL111
XXXXXXXXXX1XXZZZZXX1
PASS SIMULATION
4-173
4·Bit Counter with 2 Input Mux
4-BIT COUNTER WITH 2 INPUT MUX
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
16
17
18
19
20
---x ---x
-x-- --x---x
---x --x- ---x
--x- --x- --x-
24
25
26
27
28
29
---x
---x ------x ----xx---x .... _----x
-x-- --x---x --x---x
--x--x- ---x ---x
--x--x- --x- --x- --x--x-
/11*/IO*/Q1
/11*IO*/A1
11*/IO*/B1
11*IO*/CI*/Q1
11*IO*/QO*/Q1
11*IO*CI*QO*Q1
32
33
34
35
36
37
38
---x
---x ---- ---x
---- ---- ---x -----x- -x----- ---- -xx---x
---x --x---x
--x---x
--x--x- ---x
--x---x ---x
--x--x- --x- --x- --x- --x--x-
/11*/IO*/Q2
/11*IO*/A2
I1*/IO*/B2
11*IO*/CI*/Q2
11*10*/QO*/Q2
40
41
42
43
44
45
46
47
---x
---x
--x-x----x
---x --x---x
--x- ---x ------x
--x---x ---- ---x
--x---x ---x
--x- --x- --x- --x- --x- --x-
---x
---x
--x- -x---x--x--x--x--x-
/I1*/IO*/Q3
/11*!0*/A3
11*/IO*/B3
I1*IO*/CI*/Q3
11*IO*/QO*/Q3
I1*IO*/Q1*/Q3
I1*IO*/Q2*/Q3
I1*IO*C!*QO*Q1*Q2*Q3
----
/CI
/QO
/Q1
/Q2
/Q3
56
57
58
59
60
61
----
----
LEGEND:
-x--
---x
---x
X : FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
4·174
/11*/IO*/QO
/11*IO*/AO
11*/IO*/BO
11*IO*/CI*/QO
11*IO*CI*QO
11*IO*/Q~*/Q2
I1*IO*CI*QO*Q1*Q2
---- ----
---x ---- .... _-- ------x ------x
----
---x ------x -----x--x--x-
----
921
-
:
FUSE BLOWN
(H,P,l)
4-Bit Counter with 2 Input Mux
Logic Diagram PAL16R4
4-Bit Counter with 2 Input Mux
elK
1
0123
4567
B 91011
12131415
16171819
20212223
24252627
28293031
0
>-J
.
1
1
3
5
6
19
el
18
10
)
AO 3
...
...'J---
~
)-J
,
8
10
11
11
13
A1
J
.
"15
1-
~
16
17
18
19
r-~ 00
""
D
J
'"
11
22
13
A2
4
...
.c.
~
~
"
A3
5
..
15
16
17
18
19
30
.
'"
j
J1
~
1C.
~
""'I
Qj--
~1
JJ
""
35
J6
J1
80
6
..
./
38
39
Dl
t-I>
~
~
01
~
02
~
03
Pl
31
l4
~
(j
'"
""
"
""
--/
<14
47
81
7
....
....
.....
...
48
49
50
>=d
51
51
82
8
..
53
54
55
13
11
11
co
~
'I---
......
56
~
""
""
59
60
6J
83
ll11
9
...
oI
2 J
~
4 5 6 1
8 9 1011
12131415
16171819
20212223
24252627
28293031
~
4-175
Notes
4-1,76
Octal Counter
PAL20X8
DATA
OUT
4-177
D
Octal Counter
PAL20X8
74LS461
OCTAL COUNTER
MMI SUNNYVALE, CALIFORNIA
CLK 10 DO Dl D2 D3 D4 D5 D6 D7 II GND
/OC /CO Q7 Q6 Q5 Q4 03 Q2 Ql QO /CI VCC
/QO :=
+
:+:
+
/Ql
.=
+
:+:
+
/Q2 :=
+
:+:
+
/Q3 :=
+
:+:
+
/Q4
:=
+
:+:
+
/Q5 :=
+
:+:
+
/Q6
.=
+
:+:
+
/97 :=
+
:+:
+
IF (VCC)
4·178
PAL DESIGN SPECIFICATION
BIRKNER/KAZMI/BLASCO 02/10/81
/I1*/IO
1O*/QO
I1*/IO*/DO
11* 10* CI
;CLEAR LSB
; COUNT/HOLD
;LOAD DO (LSB)
; COUNT
/I1*/1O
1O*/Q1
I1*/IO*/Dl
I1* 10* CI*QO
; CLEAR
;COUN'J'/HOLD
;LOAD Dl
; COUNT
/I1*/1O
IO*/Q2
I1*/IO*/D2
11* 10* CI*QO*Ql
; CLEAR
;CQUN'r/HOLD
;LOAD D2
; COUNT
/I1*/IO
IO*/Q3
I1*/IO*jD3
11* 10* C1*QO*Ql*Q2
; CLEAR
;COUNT/HOIoD
;LOAD D3
; COUNT
/I1*/IO
IO*/Q4
I1*/IO*jD4
11* 10* CI*QO*Ql*Q2*Q3
; CLEAR
; COUNT/HOLD
;LOAD D4
; COUNT
/I1*/IO
IO*/Q5
I1*/IO*/D5
11* 10* C1*QO*Ql*Q2*Q3*Q4
; CLEAR
; COUNT/HOLD
;LOAD D5
; COUNT
/I1*/IO
IO*/Q6
I1*/IO*jD6
11* 10* CI*QO*Ql*Q2*Q3*Q4*Q5
; CLEAR
; COUNT/HOLD
;LOAD D6
; COUNT
/I1*/IO
IO*/Q7
I1*/IO*/D7
11* 10* CI*QO*Ql*Q2*Q3*Q4*Q5*Q6
;CLEAR MSB
; COUNT/HOLD
;LOAD D7 (MSB)
; COUNT
CO
= CI*QO*Ql*Q2*Q3*Q4*Q5*Q6*Q7
;CARRY OUT
Octal Counter
FUNCTION TABLE
CLK JOC II IO D7 D6 D5 D4 D3 D2 Dl DO JCI JCO Q7 Q6 Q5 Q4 Q3 Q2 91 QO
: CONTROL
:CLK JOC
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
L
L
1.
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
C
L
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
INSTR
II IO
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
X
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
L
L
L
L
L
L
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
X
-INPUT-DDDDDDDD
76543210
LLLLLLLH
XXXXXXXX
LLLLLLHH
XXXXXXXX
LLLLLHHH
XXXXXXXX
LLLLHHHH
XXXXXXXX
LLLHHHHH
XXX XXX XX
LLHHHHHH
XXXXXXXX
LHHHHHHH
XXXXXXXX
HHHHHHHH
XXXXXXXX
HHHHHHHH
HHHHHHHL
HHHHHHLH
HHHHHLHH
HHHHLHHH
HHHLHHHH
HHLHHHHH
HLHHHHHH
LHHHHHHH
HHHHHHHH
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXX XXX XX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
HHHHHHHL
XXXXXXXX
XXXXXXXX
LLLLLLLL
HHHHHHHH
XXXXXXXX
CARRY
JCI JCO
X
L
X
L
X
L
X
L
X
L
X
L
X
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
L
L
X
X
X
X
X
X
X
X
L
X
H
H
H
H
H
H
H
H
L
H
L
L
L
L
L
L
L
L
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
X
L
H
L
L
H
L
H
L
H
X
X
-OUTPUTQQQQQQQQ
76543210
COMMENTS
(HEX VALUES)
LLLLLLLH
LLLLLLHL
LLLLLLHH
LLLLLHLL
LLLLLHHH
LLLLHLLL
LLLLHHHH
LLLHLLLL
LLLHHHHH
LLHLLLLL
LLHHHHHH
LHLLLLLL
LHHHHHHH
HLLLLLLL
HHHHHHHH
LLLLLLLL
HHHHHHHH
HHHHHHHL
HHHHHHLH
HHHHHLHH
HHHHLHHH
HHHLHHHH
HHLHHHHH
HLHHHHHH
LHHHHHHH
HHHHHHHH
LLLLLLLL
LLLLLLLH
LLLLLLHL
LLLLLLHH
LLLLLHLL
LLLLLHLH
LLLLLHHL
LLLLLHHH
LLLLHLLL
LLLLHLLH
LLLLHLHL
LLLLHLHH
LLLLHHLL
HHHHHHHL
HHHHHHHH
HHHHHHHH
HHHHHHHH
LLLLLLLL
ZZZZZZZZ
LOAD (01)
INCREMENT
LOAD (03)
INCREMENT
LOAD (07)
INCREMENT
LOAD (OF)
INCREMENT
LOAD (IF)
INCREMENT
LOAD (3F)
INCREMENT
LOAD (7F)
INCREMENT
LOAD (FF)
INCREMENT (ROLL OVER)
LOAD (FF)
LOAD (FE)
LOAD (FD)
LOAD (FB)
LOAD (F7)
LOAD (EF)
LOAD (DF)
LOAD (BF)
LOAD (7F)
LOAD (FF)
CLEAR
INCREMENT TO (01)
INCREMENT TO (02)
INCREMENT TO (03)
INCREMENT TO (04)
INCREMENT TO (05)
INCREMENT TO (06)
INCREMENT TO (07)
INCREMENT TO (08)
INCREMENT TO (09)
INCREMENT TO (OA)
INCREMENT TO (OB)
INCREMENT TO (OC)
LOAD (FE)
INCREMENT TO (FF) jCO=L
CI INHIBITS COUNT AND CO
HOLD SEL INHIBITS COUNT ONLY
INCREMENT TO (00)
TEST HI-Z
4-179
Octal Counter
DESCRIPTION
THIS IS AN 8-BIT SYNCHRONOUS COUNTER WITH PARALLEL LOAD, CLEAR, AND HOLD
CAPABILITY. THE LOAD OPERATION LOADS THE INPUTS (D7-DO) INTO THE OUTPUT
REGISTER (Q7-QO). THE CLEAR OPERATION RESETS THE OUTPUT REGISTER TO ALL LOWS.
THE HOLD OPERATION HOLDS THE PREVIOUS VALUE REGARDLESS OF CLOCK TRANSITIONS.
THE INCREMENT OPERATION ADDS ONE TO THE OUTPUT REGISTER WHEN THE CARRY-IN IS
TRUE (jCI=L), OTHERWISE THE OPERATION IS A HOLD. THE CARRY-OUT (jCO) IS TRUE
(/CO=L) WHEN THE OUTPUT REGISTER (Q7-QO) IS ALL HIGHS, OTHERWISE FALSE (/CO=H).
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN THE
OPERATIONS TABLE:
/OC
CLK
Il
10
/CI
D7-DO
Q7-QO
OPERATION
-------------------------------------------------H
L
L
L
L
L
X
C
C
C
C
C
X
L
L
H
H
H
X
L
H
L
H
H
X
X
X
X
H
L
X
X
X
D
X
X
Z
L
Q
HI-Z
CLEAR
HOLD
LOAD
HOLD
INCREMENT
D
Q
Q PLUS 1
-------------------------------------------------TWO OR MORE OCTAL COUNTERS MAY BE CASCADED TO PROVIDE LARGER COUNTERS. THE
OPERATION CODES WERE CHOSEN SUCH THAT WHEN 11 IS HIGH, 10 MAY BE USED TO SELECT
BETWEEN LOAD AND INCREMENT AS IN A PROGRAM COUNTER (JUMP/INCREMENT). ALSO,
CARRY-OUT (/CO) AND CARRY-IN (/CI) ARE LOCATED ON PINS 14 AND 23 RESPECTIVELY,
WHICH PROVIDES FOR CONVENIENT INTERCONNECTIONS WHEN TWO OR MORE OCTAL COUNTERS
ARE CASCADED TO IMPLEMENT LARGER COUNTERS.
o
CARRY IN
CARRY OUT
CLOCK
Q
4·180
Octal Counter
OCTAL COUNTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
COIOOOOOOOIXOHLLLLLLLHXl
CIXXXXXXXXIXOHLLLLLLHLOI
COIIOOOOOOIXOHLLLLLLHHXl
CIXXXXXXXXIXOHLLLLLHLLOI
COIIIOOOOOIXOHLLLLLHHHXl
CIXXXXXXXX!XOHLLLLHLLLOI
COIIIIOOOOIXOHLLLLHHHHXl
CIXXXXXXXXIXOHLLLHLLLLOI
COIIIIIOOOIXOHLLLHHHHHXl
CIXXXXXXXXlXOHLLHLLLLLO1
COIII1I1001XOHLLHHHHHHXl
C1XXXXXXXXIXOHLHLLLLLL01
COII111110IXOHLHHHHHHHX1
CIXXXXXXXXIXOHHLLLLI,LL01
COl1llll111XOLHHHHHHHH01
C1XXxXXXXX1XOHLLLLLLLL01
COlll1ll111XOLHHHHHHHH01
COOll1l111IXOHHHHHHHHLX1
COIOl1l111IXOHHHHHHHLHXl
COIIOl11111XOHHHHHHLHHXl
COll1011111XOHHHHHLHHHXl
COIIII01111XOHHHHLHHHHX1
COlll110111XOHHHLHHHHHXl
C01IIIIIOIIXOHHLHHHHHHXl
COlll11l10IXOHLHHHHHHHXl
COll11l11l1XOLHHHHHHHH01
COXXXXXXXXOXOHLLLLLLLLXl
CIXXXXXXXXlXOHLLLLLLLHOl
CIXXXXXXXXIXOHLLLLLLHLOI
CIXXXXXXXXIXOHLLLLLLHHOI
CIXXXXXXXXIXOHLLLLLHLLOI
CIXXXXXXXXIXOHLLLLLHLHOI
CIXXXXXXXXIXOHLLLLLHHLOI
CIXXXXXXXXIXOHLLLLLHHHOI
CIXXXXXXXXIXOHLLLLHLLLOI
CIXXXXXXXXIXOHLLLLHLLHOI
CIXXXXXXXXIXOHLLLLHLHLOI
CIXXXXXXXXIXOHLLLLHLHHOI
CIXXXXXXXXIXOHLLLLHHLLOI
COOll111111XOHHHHHHHHLXl
CIXXXXXXXXIXOLHHHHHHHHOI
CIXXXXXXXXIXOHHHHHHHHHII
CIOOOOOOOOOXOLHHHHHHHHOI
Cl111111111XOHLLLLLLLLOI
XXXXXXXXXXXXIXZZZZZZZZXl
0
PASS SIMULATION
4-181
Octal Counter
OCTAL COUNTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
11
-x----- ---- ---- ---- ---- ---- ---- -x-x--- ---x ---- ---- ---- ---- ---- ---- ---x---x-- -x-x--x ---x---
/Il*/IO
IO*/OO
Il*/IO*/DO
Il*IO*CI
16
17
18
19
-x-x-----x ----x--x-- ---x--x --x-
/Il*/IO
IO*/Ql
Il*/IO*/Dl
Il*IO*CI*QO
24
25
26
27
-x-x-----x ----x--x-x--x --X"- --x-
32
33
34
35
---- ----x-x-----x ----x--x-- ---x--x --x- --x- --x-
40
41
42
43
-x-x-----x ----x-- ---- ----x-x--x --x- --x- --x- --x-
48
49
50
51
-x-x-----x
-x--x-x--x --x- --x- --x- --x- --x-
56
57
58
59
-x--x-x-----x ----x-x---x-X--x --x- --x- --x- --x- --x- --x- ---- ---- x---
/Il*/IO
IO*/Q6
Il*/IO*/D6
Il*IO*CI*QO*Ql*Q2*Q3*Q4-
64
65
66
67
---- -x--x-x-----x ----x--x-- x--x--x --x- --x- --x- --x- --x- --x- --x- ---- x---
/Il*/IO
IO*/Q7
Il*/IO*/D7
Il*IO*CI*QO*Ql*Q2*Q3*Q4-
8
9
10
72 ----
73
-x-x--x---x-x--x---x-x--x---x-x--x---x--
----
x--x---
X: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW = 1243
4·182
/Il*/IO
IO*/Q3
Il*/IO*/D3
Il*IO*CI*QO*Ql*Q2
/Il*/IO
IO*/Q4
Il*/IO*/D4
Il*IO*CI*QO*Ql*Q2*Q3
/Il*/IO
IO*/Q5
Il*/IO*/D5
Il*IO*CI*QO*Ql*Q2*Q3*Q4
---- ----
---x --x- --x- --x- --x- --x- --x- --x- --x-
LEGEND:
/Il*/IO
IO*/Q2
Il*/IO*/D2
Il*IO*CI*QO*Ql
---- CI*QO*Ql*Q2*Q3*Q4*Q5*Q6-
FUSE BLOWN
(H,P,I)
Octal Counter
Logic Diagram PAL20X8
Octal Counter
ClK
1
.,,
012
1
4561
191011
12131"5
16111819
20212123
24252621
28293031
11133415
36113839
"'"
It'J(
J
It'J(
,
I<
-
11
o
1
2 1
..
5
6
1
•
9 10 I'
12 13'415
Ii 11-1"9
202121 2l
24 252621
21293031
323334
n
>-*J
14
13
16 31 Jl19
4-183
05
07
Octal Counter
Application
16-81t Counter
BUS OUT ENABLE
COUNT ENABLE
INSTR {
ClK
10
11
IS-BIT
DATA BUS
IN
-
16-BIT
OATA BUS
0 UT
-~
K
-
rm
-rz~lr-~
~
t::::I
10.
3 -DO
CI
Qor-~
.
'::1
L.:.
141-- 01
aIr- ~
....
1::::1
.J"51-- 02
Q2r- !!!.J
8
~
.J"61-- 03 BIT Q3t-- ~
....
CNTR
":':'I
J'i I-- 04
Q4 .!!r
I.,;"
;r
I--
05
Q5
r--
....
J"'9 t-- OS
....
-fiii f -
QS r--
07
Q7r110CCO
~
"::l
...I
~
~
.../
~
...m 1L-~
~
...
r,;~
~
-lr-IIDCARRY
4:
J2~
~31--0010
;;:
t-L,;:,
--
CI
t::::I
QO-~
01
ali-.
-15 r- 02
~6 t-- 03
L:.
~
,
Q2t-
8
~
:m
~
BIT Q3t- ~
CNTR
~
04
a4
-17 t--18 r--- 05
....
1m
r- .!.!.
'~
Q5t-
-IT -
~
~
os
Q6t~Iiii
07
Q7r:- ~
~r- 110CCO
.-..
"m~ IL-~
m
12
NOTE: IMAX
4-1.84
= IpO ClK TO CO + ISU
...•
b
~.
Octal Up/Down Counter
PAL20X8
vee
Ciii
00
01
02
DATA
03
IN
DATA
OUT
05
Q7
CBo
4-185
Octal Up/Down Counter
PAL20xS
PSOOS
OCTAL UP/DOWN COUNTER
MMI SUNNYVALE, CALIFORNIA
CLK /LO DO 01 02 03 04 05 06 07 /UD GNO
/OC /CBO Q7 Q6 QS Q4 Q3 Q2 Q1 QO /CBI VCC
/QO :=
PAL DESIGN SPECIFICATION
VINC~ COLI 07/24/S1
/LO*/QO
+
LO*/OO
:+: /LO* UD* CBI
+ /LO*/UO* CSI
/Q1 :=
/LO*/Q1
+
LO*/01
:+: /LO* UD* CBI* QO
+ /LO*/UD* CBI*/QO
/Q2 :=
/LO*/Q2
+
LO*/D2
:+: /LO* UO* CBI* QO* Q1
+ /LO*/UD* CBI*/QO*/Q1
/Q3 :=
/LO*/Q3
+
LO*/03
:+: /LO* UD* CBI* QO* Q1* Q2
+ /LO*/UO* CBI*/QO*/Q1*/Q2
/Q4 :=
/LO*/Q4
+
LO*/04
:+: /LO*.UD* CBI* QO* Q1* Q2* Q3
+ /LO*/UD* CBI*/QO*/Q1*/Q2*/Q3
/QS :=
/LO*/QS
+
LO*/OS
:+: /LO* UD* CBI* QO* Q1* Q2* Q3* Q4
+ /LO*/UD* CBI*/QO*/Q1*/Q2*/Q3*/Q4
/Q6 :=
/LO*/Q6
+
LO*/D6
:+: /LO* UD* CBI* QO* Q1* Q2* Q3* Q4* QS
+ /LO*/UD* CBI*/QO*/Q1*/Q2*/Q3*/Q4*/QS
/Q7 :=
/LO*/Q7
+
LO*/D7
:+: /LD* UO* CBI* QO* Q1* Q2* Q3* Q4* QS* Q6
+ /LD*/UO* CBI*/QO*/Q1*/Q2*/Q3*/Q4*/QS*/Q6
IF(VCC) CBO =
1HOLO QO
1LOAO DO (LSB)
1INCREMENT
1DECREMENT
1HOLO Q1
1LOAD 01
1INCREMENT
1DECREMENT
1HOLD.Q2
1LOAD 02
: INCREMENT
10ECRE:MENT
1HOLO Q3,
1LOAD 03
1INCREMENT
1DECREMENT.
1HOLO Q4,
1LOAD 04
1INCREMENT
1DECREMENT
1HOLOQS
',LOAD DS
1INCREMENT
1DECREMENT
1HOLO Q6
1LOAD D6
1INCREMENT
1DECREMENT
1HOLO Q7
1LOAO 07 (MSB)
1INCREMENT
1DECREMENT
UD* CBI* QO* Q1* Q2* Q3* Q4* QS* Q6* Q7 1CARRY OUT
+ /UD* CBI*/QO*/Q1*/Q2*/Q3*/Q4*/QS*/Q6*/Q7 :BORROW OUT
4-186
Octal Up/Down Counter
FUNCTlaN TABLE
CLK IOC ILD /UD 07 06 05 04 D3 02 D1 DO ICBI ICBa 0.7 0.6 0.5 0.4 0.3 0.2 Q1 0.0
,----CaNTRaL---,CLK lac ILD IUD
C
L
L
C
L
H
C
L
H
eLL
C
L
H
C
L
H
C
L
L
C
L
H
C
L
H
C
L
L
C
L
H
C
L
H
eLL
C
L
H
C
L
H
C
L
L
C
L
H
C
C
C
C
C
C
C
L
L
L
L
L
L
L
H
L
H
H
L
L
L
C·
L
L
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
C
X
L
H
H
X
X
L
H
X
L
H
X
L
H
X
L
H
X
L
H
X
L
H
X
L
H
X
X
X
X
X
X
X
X
X
L
L
L
L
L
L
H
H
H
H
H
H
H
H
X
-INPUTSDDDDDDDD
76543210
LLLLLLLH
XXXXXXXX
XXXXXXXX
LLLLLLHH
XXXXXXXX
XXXXXXXX
LLLLLHHH
XXXXXXXX
XXXXXXXX
LLLLHHHH
XXXXXXXX
XXXXXXXX
LLLHHHHH
XXXXXXXX
XXXXXXXX
LLHHHHHH
XXXXXXXX
XXXXXXXX
LHHHHHHH
XXXXXXXX
XXX XXX XX
HHHHHHHH
LHHHHHHH
HLHHHHHH
HHLHHHHH
HHHLHHHH
HHHHLHHH
HHHHHLHH
HHHHHHLH
HHHHHHHL
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
CARR/BaRR
ICBI ICBa
X
L
L
X
L
L
X
L
L
X
L
L
X
L
L
X
L
L
X
L
L
X
X
X
X
X
X
X
X
X
L
L
L
L
H
L
L
L
L
L
L
L
H
L
X
X
H
H
X
H
H
X
H
H
X
H
H
X
H
H
X
H
H
X
H
H
X
X
X
X
X
X
X
X
X
L
H
H
H
H
H
H
H
L
H
H
H
H
H
x
aUT PUTS
0.0.0.0.0.0.0.0.
76543210
LLLLLLLH
LLLLLLHL
LLLLLLI,H
LLLLLLHH
LLLLLHLL
LLI,LLLHH
LLLLLHHH
LLLLHLLL
LLLLLHHH
LLLLHHHH
LLLHLLLL
LLLLHHHH
LLLHHHHH
LLHLLLLL
LLLHHHHH
LLHHHHHH
LHLLLLLL
LLHHHHHH
LHHlIHHHH
HLLLLLLL
LHHHHHHH
HHHHHHHH
LHHHHHHH
HLHHHHHH
HHLHHHHH
HHHLHHHH
HHHHLHHH
HHHHHLHH
HHlIHHHLH
HHHHHHHL
HHHHHHHH
LLLLLLLL
LLLLLLLH
LLLLLLHL
LLLLLLHL
LLLLLLHH
LLLLLLHL
LLLLLLLH
LLLLLLLL
HHHHHHHH
HHHHHHHL
HHHHHHLH
HHHHHHLH
HHHHHHLL
ZZZZZZZZ
caMMENTS
(HEX VALUES)
LaAD (01)
INCREMENT
DECREMENT
LaAD (03)
INCREMENT
DECREMENT
LaAD (07)
INCREMENT
DECREMENT
LaAD (OF)
INCREMENT
DECREMENT
LaAD (IF)
INCREMENT
DECREMENT
LaAD (3F)
INCREMENT
DECREMENT
LOAD (7F)
INCREMENT
DECREMENT
LOAD (FF)
LaAD (7F)
LaAD (BF)
LOAD (OF)
LaAD (EF)
LOAD (F7)
LaAD (FB)
LOAD (FD)
LaAD (FE)
INCREMENT
INCREMENT
INCREMENT
INCREMENT
HaLO
INCRF~ENT
DECREMENT
DECREMENT
DECREMENT
DECREMENT
DECREMENT
DECREMENT
HaLD
DECREMENT
TEST HI-Z
(/CBa=L)
TO.
TO.
TO.
TO.
(FF)
(00)
(01)
(02)
TO.
TO.
TO
TO.
TO
TO.
TO
(03)
(02)
(01)
(00) (/CBO=L)
(FF) (ROLL UNDER)
(FE)
(FD)
(RaLL aVER)
TO (FC)
4·187
Octal Up/Down Counter
DESCRIPTION
THIS PAL IS AN 8-BIT SYNCHRONOUS UPjDOWN .COUNTER.WITH PARALLEL LOAD AND HOLD
CAPABILITY. THREE FUNCTION SELECT INPUTS (/LD, jUD, jCBI) PROVIDE ONE OF FOUR
OPERATIONS WHICH OCCUR SYNCHRONOUSLY ON THE RISING EDGE OF THE CLOCK (CLK).
THE LOAD OPERATION LOADS THE INPUTS (D7-DO) INTO THE OUTPUT REGISTERS (Q7-QO).
THE HOLD OPERATION HOLDS THE PREVIOUS VALUE REGARDLESS OF CLOCK TRANSITIONS.
THE INCREMENT OPERATION ADDS ONE TO THE OUTPUT REGISTER WHEN CARRY-IN INPUT
IS TRUE (jCBI~L), OTHERWISE THE OPERATION IS A HOLD. THE CARRY-OUT (jCBO) IS
TRUE (/CBO=L) WHEN THE OUTPUT REGISTER (Q7-QO) IS ALL HIGHS, OTHERWISE FALSE
(jCBO~H).
THE DECREMENT OPERATION SUBTRACTS ONE FROM THE OUTPUT REGISTER
WHEN THE BORROW-IN INPUT IS TRUE (jCBI=L), OTHERWISE THE OPERATION IS A HOLD.
THE BORROW-OUT (jCBO) IS TRUE (jCBO=L) WHEN THE OUTPUT REGISTER (Q7-QO) IS ALL
LOWS, OTHERWISE FALSE (jCBO=H).
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN THE
OPERATIONS TABLE:
JOC
CLK
JLD
JUD
H
L
L
L
L
L
X
C
C
C
C
C
X
L
H
H
H
H
X
X
L
L
H
H
JCBI
X
X
H
L
H
L
07-00
Q7-QO
X
Z
0
L
X
Q
X Q PLUS 1
X
Q
X Q MINUS 1
OPERATION
HI-Z
LOAD
HOLD
INCREMENT
HOLD
DECREMENT
THIS OCTAL COUNTER IS IMPLEMENTED WITH A SINGLE PAL20X8. CARRY/BORROW-OUT
(jCBO) AND CARRYjBORROW-IN (jCBI) ARE LOCATED ON PINS 14 AND 23 RESPECTIVELY,
WHICH PROVIDES FOR CONVENIENT INTERCONNECTIONS WHEN TWO OR MORE OCTAL UPjDOWN
COUNTERS ARE CASCADED TO IMPLEMENT LARGER COUNTERS.
o
CARRY OUT
CLOCK
OUTPUT CONTROL
Q
4·188
Octal Up/Down Counter
OCTAL UP/DOWN COUNTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
C010000000XXOXLLLLLLLHX1
C1XXXXXXXXOXOHLLLLLLHL01
C1XXXXXXXX1XOHLLLLLLLH01
C011000000XXOXLLLLLLHHX1
C1XXXXXXXXOXOHLLLLLHLL01
C1XXXXXXXX1XOHLLLLLLHH01
C011100000XXOXLLLLLHHHX1
C1XXXXXXXXOXOHLLLLHLLL01
C1XXXXXXXX1XOHLLLLLHHH01
COl1110000XXOXLLLLHHHHX1
C1XXXXXXXXOXOHLLLHLLLL01
C1XXXXXXXX1XOHLLLLHHHH01
C011111000XXOXLLLHHHHHX1
C1XXXXXXXXOXOHLLHLLLLL01
C1XXXXXXXX1XOHLLLHHHHH01
C011111100XXOXLLHHHHHHX1
C1XXXXXXXXOXOHLHLLLLLL01
C1XXXXXXXX1XOHLLHHHHHH01
C011111110XXOXLHHHHHHHX1
C1xxxxXXXXOXOHHLLLLLLL01
C1XXXXXXXX1XOHLHHHHHHH01
C011111111XXOXHHHHHHHHX1
C011111110xXOXLHHHHHHHX1
C011111101XXOXHLHHHHHHX1
C011I11011XXOXHHLHHHHHX1
C01ll101llXXQXHHHLHHHHX1
C011101111XXOXHHHHLHHHX1
C011011111XXOXHHHHHLHHX1
C010111111XXOXHHHHHHLHX1
C001111111XXOXHHHHHHHLX1
C1XXXXXXXXOXOLHHHHHHHH01
C1XXXXXXXXOXOHLLLLLLLL01
C1XXXXXXXXOXOHLLLLLLLH01
C1XXXXXXXXOXOHLLLLLLHL01
C1XXXXXXXXOXOHLLLLLLHL11
C1XXXXXXXXOXOHLLLLLLHH01
C1XXXXXXXX1XOHLLLLLLHL01
C1XXXXXXXX1XOHLLLLLLLH01
C1XXXXXXXX1XOLLLLLLLLL01
C1XXXXXXXX1XOHHHHHHHHH01
C1XXXXXXXX1XOHHHHHHHHL01
C1XXXXXXXX1XOHHHHHHHLH01
C1XXXXXXXX1XOHHHHHHHLH11
C1XXXXXXXX1XOHHHHHHHLL01
XXXXXXXXXXXX1XZZZZZZZZX1
m
PASS SIMULATION
4.189
Octal Up/Down Counter
OCTAl, UP/DOWN COUNTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
11
x--- ---x ---- ----x-- -x-- ---- ---x--x
x--x
16
17
18
19
x-----x ---- ----x--x-- ---- ---x--x --x- ---x--x ---x ----
-x----- x---
24
25
26
27
x---x-x--x --x- --xx--x ---x ---x
-------- /LO*/Q2
---- ---- LO*/D2
-x-- /LO*UO*CBI*QO*Q1
---- x--- /LO*/UO*CBI*/QO*/Ql
32
33
34
35
---- ---x
x---x--x-x--x --x- --x- --xx--x ---x ---x ---x
40
41
42
43
---- ---x-----x
-x--x-x--x --x- --x- --x- --xx--x ---x ---x ---x ---x
48
49
50
51
x---x-x--x
x--x
56
57
58
59
x------ ----x-x--x --x- --x- --x- --x- --x- --xx--x ---x ---x ---x ---x ---x ---x
x--- ---- ---- ---- ----x-- ---- ---- ---- ---x--x --x- --x- --x- --x- --x- --xx--x ---x ---x ---x ---x ---x ---x
8
9
10
64
65
66
67
72
73
74
-------
---- ---- /LO*/OO
LO*/OO
-x-- /LO*UD*CBl
x--- /LO*/UO*CBI
---x
-x--
---- ------- ----
----
----
/LO*/Q3
LO*/03
-X-- /LO*UD*CBI*QO*Ql*Q2
x--- /LO*/UO*CBI*/QO*/Ol*/Q2
-x-x---
---x
/LO*/04
LO*/04
/LO*UO*CBI*QO*Q1*Q2*Q3
/LO*/UO*CBI*/QO*/Q1*/Q2-
---- /LO*/Q5
LO*/05
-x-- /LO*UD*CBI*QO*Q1*Q2*Q3*x--- /LO*/UD*CBI*/QO*/Ql*/Q2-
---- -x--
--x- --x- --x- --x- --x---x ---x ---x ---x ---x
---x
-x--
x---
/LO*/Q6
LO*/06
/LO*UD*CBI*QO*Q1*Q2*Q3*/LO*/UO*CBI*/QO*/Ql*/Q2-
-x---x---x ---- x---
/LO*/Q7
LO*/07
/LD*UD*CBI*QO*Q1*Q2*Q3*/LO*/UO*CBI*/00*/Q1*/Q2-
-x--
---x
-x--
---- ----
---x --x- --x- --x- --x- --x- --x- --x- --x- -x----x ---x ---x ---x ---x ---x ---x ---x ---x x---
LEGEND:
/LO*/Q1
W*/Ol
/LO*UO*CBI*QO
/LO*/UO*CBI*/QO
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
= 1244
- : FUSE BLOWN
UO*CBI*QO*Q1*Q2*Q3*Q4~Q-
/UO*CBI*/OO*/Ql*/Q2*/Q3(H,P,l)
Octal Up/Down Counter
Logic Diagram PAL20X8
Octal Up/Down Counter
elK
1
G
,
1
Z
3
'S
I
J
•
"111
U 1314 15
1111111.
20212223
14 25262J
21213031
32]]3415
31313.39
.....
I
,z
MK
~
,•
""
~
::::::::::.
:R~D
-b-L
-
~
4
~9D-
"
"
"
......
-tW-
~
5
06
..
.""
~-
18
V
~
7
~~:D] ~17
~
"
"
-t:5--J-
.
.."
ID~
.
...
=:f9C>~
8
9
"
07
~
v
...
~
....
05
~
A...l!!
v
~
""J
:::::::9DB:::l
tlJ]
"
D4
~
t:rL.21
v
~??D~
.""
6
23
:::::~D
- tiIl~
"
03
J
-,--,
""
"
"
02
J
1-<1"
DO L-.
01
~-'
~
~
v
!J....
15
10
~
~
"
"
"
"
...L
hl5
051--:II:
{[ -06
06r-
Jiij ~ 07
. 071-UOOCCBO
-
E
E
~~l~'mIE
~
._-
YI
CARRY
~
!!~I
r-~
f3
o~o c't1ol- IziI
-
r-
i""""
14 r- 01
011- ~
~
1"5 r-- 02
021- ~
::
8
~
16 r- 03 BIT
031- 19
CNTR
~
f7 r- 04
041- 18
-
-
Ii -
......
05
"~-06
.liD - 07
=
1
NOTE: f MAX
-i71
06-E
i5I
071-UOOCCBO
-
~r----1
IE
05-
I'
1-~
lm:
..
CAiiRvi
BORROW
tpo ICLK TO CSO + tsu
10-Bit Counter
PAL20X10
elK
I
1 I---t>---.,
01
DATA
IN
02-7
3
08
5
iJj)
DATA
OUT
4-193
10-Blt Counter
PAL20XI0
74LS491
10-BIT COUNTER
MMI SUNNYVALE, CALIFORNIA
CLK DO 0102-7 08 09 /LD/CNT /UP SET /CIN GND
/oe Q9Q8 Q7 Q6 Q5 Q4 Q3 02 01 QO vec
/QO :=
PAL DESIGN SPECIFICATION
JOHN BIRKNER 04/01/81
/SET* LD*/DO
+ /SET*/LD*/QO
:+: /SET*/Lo* CNT* CIN* UP
+ /SET*/LD* CNT* CIN*/UP
/Q1 :=
/SET* LD*/D1
+ /SET*/LD*/Q1
:+: /SET*/LD* CNT* CIN* up* QO
+ /SET*/LD* CNT* CIN*/UP*/QO
/Q2 :=
/SET*LD*/D2-7
+ /SET*/LD*/Q2
:+.: /SET*/LD* CNT* CIN* up* QO*Q1
+ /SET:Ir/LD* CNT* CIN*/UP*/Qo*/Qi
/Q3 :=
/SE'l'* tD*/D2"'-7
+ /SET*/LD*/Q3
:+: /SET*/LD* CNT* CIN* up* QO* Q1* Q2
+ /SET*/LD* eNT* CIN* /UP* /QO* /Q1* iQ2.
/Q4 :=
/SET*LD*/D2-7
+ /SET*/LO*/Q4
:+:. /SET*/LD.* CNT* CIN* up* QO*Ql*Q2* Q3
+ /SET*/LD* CNT* eIN* /UP* /QO*/Ql */Q2* /Q3; ..
/Q5 :=
/SET* . LD* /02-7
+ /SET*/LD*/Q5
:+: /SET*/LD*·CNT* CIN* up* QO* Q1*Q2*Q3* Q4
+ /SET* /LD*·· CNT* CIN*/UP*/QO*/Q1*/Q2*/Q3*/Q4
/Q6 :=
/SET* LD*/D2-7
+ /SET*/LD*/Q6
:+: /SET*/LD* CNT* CIN* up* QO* Q1* Q2* Q3* Q4* 05
+ /SET*/LD* CNT* CIN*/UP*/QO*/Q1*/Q2*/Q3*/Q4*/Q5
/Q7 :=
/SET* LD*/D2-7
+ /SET*/LD*/Q7
:+: /SET*/LD* CNT* CIN* up* QO* Q1* Q2* Q3* Q4* Q5* Q6
+ /SET*/LD* CNT* CIN*/UP*/QO*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6
/Q8 :=
/SET* LD*/D8
+ /SET*/LD*/Q8
:+; /SET*/LD* CNT* CIN* up* QO* Ql* Q2* Q3* 94* Q5* Q6* Q7
+ /SET*/LD* CNT* CIN*/UP*/QO*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7
/Q9 : =
+
:+:
+
4-194
/SET* LD* /09
/SET*/LD*/Q9
/SET*/LD* CNT* CIN* up* QO* Q1* Q2* Q3* Q4* Q5* Q6* Q7* Q8
/SET*/LD* CNT* CIN*/UP*/90*/Ql*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7*/Q8
;LOAD DO
; HOLD (LSB)
; INCREMENT
; DECREMENT
; LOAD 01
; HOLD
; INCREMENT
; DECREMENT
; LOAD. 02-7
; HOLD
;INC~T
;DEcaEMENT
;LOAD 02-7
;HO~D'
; INCREMENT
;DECR,EMENT
;LOAD 02-7
;HOLD
; INCREMENT
: DECREMENT
;LOAD 02":7
; HOLD
; INCREMENT
; DECREMENT
;LOAD 02-7
; HOLD
; INCREMENT
; DECREMENT
;LOAD 02-7
; HOLD
; INCREMENT
; DECREMENT
;LOAD 08
; HOLD
; INCREMENT
; DECREMENT
; LOAD 09
;HOLD (MSB)
;INCREMENT
;DECREMENT
1 O-Bit Counter
FUNCTION TABLE
CLK 10C SET ILD ICNT ICIN Iup 09 08 02-7 01 DO 09 Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 QO
I I
;C I SIC C I -DATA IN;L 0 E L N I U DO 0 DO
;K C TOT N P 98 2-7 10
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
I,
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
1.
L
L
L
L
H
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
X
X
L
L
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
L
H
H
H
L
H
H
H
L
H
H
H
L
H
H
H
L
H
X
X
X
X
H
X
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
X
L
H
L
X
L
H
L
X
L
H
L
X
L
H
L
X
L
H
L
X
L
X
X
X
X
X
X
X
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
X
L
X
L
X
L
X
L
X
L
X
L
X
L
X
L
X
L
X
L
X
L
X
X
X
X
X
X
X
X
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
X
L
X
H
X
L
X
H
X
L
X
H
X
L
X
H
X
L
X
H
X
L
X
xx x
LL
HH
LL
LL
L
H
L
L
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
LL
XX
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
X
XX
LL
XX
X
H
X
XX
HH
XX
X
L
X
XX
LH
XX
X
L
X
XX
HL
XX
X
H
X
XX
HH
HH
X
H
H
xx x
xx x
xx x
xx x
xx x
xx x
XX
LL
HH
LL
LL
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
LL
XX
XX
XX
LL
XX
XX
XX
HH
XX
XX
XX
HL
XX
XX
XX
LH
XX
XX
XX
HH
HH
xx x xx
-DATA OUTQQQQQQQQQQ
9876543210
COMMENT
HHHHHHHHHH
LLLLLLLLLL
HHHHHHHHHH
HHHHHHHHHH
LLLLLLLLLL
LLLLLLLLLL
LLLLLLLLLL
LLLLLLLLLH
LLLLLLLLHL
LLLLLLLLHH
LLLLLLLHLL
LLLLLLLLHH
LLLLLLLLHL
LLLLLLLLLH
LLLLLLLLLL
HHHHHHHHHH
HHHHHHHHHL
HHHHHHHHLH
HHHHHHHHLL
HHHHHHHLHH
HHHHHHHLHL
HHHHHHHLLH
HHHHHHHLLL
LLLLLLLLLL
LLLLLLLLLH
LLLLLLLLLH
LLLLLLLLLL
LLHHHHHHLL
LLHHHHHHLH
LLHHHHHHLH
LLHHHHHHLL
HHLLLLLLHH
HHLLLLLHLL
HHLLLLLHLL
HHLLLLLLHH
LHLLLLLLHL
LHLLLLLLHH
LHLLLLLLHH
LHLLLLLLHL
HLHHHHHHLH
HLHHHHHHHL
HLHHHHHHHL
HLHHHHHHLH
HHHHHHHHHH
LLLLLLLLLL
ZZZZZZZZZZ
SET (SET=H)
CLEAR (D=L)
SET (D=H)
HOLD (lCNT=H)
CLEAR (D=L)
HOLD (lCNT=H)
HOLD (lCIN=H)
COUNT UP (NOTE 5 CNTRLS LOW NEAR GND)
COUNT UP
COUNT UP
COUNT UP
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN (ROLL UNDER)
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN
COUNT DOWN
LOAD
COUNT UP
HOLD (lCNT=H)
COUNT DOWN
LOAD
COUNT UP
HOLD (lCNT=H)
COUNT DOWN
LOAD
COUNT UP
HOW (lCNT=H)
COUNT DOWN
LOAD
COUNT UP
HOLD (lCNT=H)
COUNT DOWN
LOAD
COUNT UP
HOLD (lCNT=H)
COUNT DOWN
LOAD
COUNT UP (ROLL OVER)
TEST HI-Z
4-195
10·8it,Counter
DESCRIPTION
THE 10-BIT COUNTER CAN COUNT UP, COUNT DOWN, SET, AND LOAD 2 LSB'S (DO,DI),
2 MSB'S (D8,D9) AND 6 MIDDLE BITS (D2-7) HIGH OR LOW AS A GROUP.
SET OVERRIDES LOAD (/LD), COUNT (/CNT), AND HOLD. LOAD' OVERRIDES COUNT.
COUNT IS CONDITIONAL ON CARRY IN (/CIN), OTHERWISE IT HOLDS.
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN THE
OPERATIONS TABLE:
/OC
CLK
SET
/LD
H
L
L
L
L
L
L
X
C
C
C
C
C
C
X
H
L
L
L
L
L
X
X
L
H
H
H
H
/CNT
/CIN
/UP
D9~DO
Q9-QO
X
X
X
H
L
L
L
X
X
X
X
H
L
L
X
X
X
X
X
L
H
X
X
D
X
X
X
X
Z
H
D
Q
Q
Q PLUS I
Q MINUS I
OPERATION
HI-Z
SET ALL HIGH
LOAD D
HOLD (/CNT... H)
HOLD (/CIN=H)
INCREMENT
DECREMENT
--------------------------------------------------------------------------
•• 11.6
1 O-Bit Counter
10-BIT COUNl'ER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
CXXXXXXXXlXXOHHHHHHHHHHl
COOOOOOXXOXXOLLLLLLLLLLI
ClllllOXXOXXOHHHHHHHHHHl
COOOOOllXOXXOHHHHHHHHHHl
COOOOOOXXOXXOLLLLLLLLLLI
CXXXXXllXOXXOLLLLLLLLLLl
CXXXXXlOXOlXOLLLLLLLLLLl
CXXXXXlOOOOXOLLLLLLLLLHl
CXXXXXlOOOOXOLLLLLLLLHLl
CXXXXX10000XOLLLLLLLLHH1
CXXXXXlOOOOXOLLLLLLLHLLl
CXXXXX10l00XOLLLLLLLLHHl
CXXXXXlOlOOXOLLLLLLLLHLl
CXXXXXl0100XOLLLLLLLLLHl
CXXXXXlOlOOXOLLLLLLLLLLl
CXXXX?{10100XOHHHHHHHHHHl
CXXXXX10100XOHHHHHHHHHLl
cxXXXXlOlOOXOHHHHHHHHLH1
CXXXXXlOlOOXOHHHHHHHHLLl
CXXXXXl0100XOHHHHHHHLHH1
CXXXXX10100XOHHHHHHHLHL1
CXXXXXl0100XOHHHHHHHLLHl
CXXXXXlOlOOXOHHHHHHHLLLl
coqooOOXXOXXOLLLLLLLLLLl
CXXXXXlOOOOXOLLLLLLLLLHl
cxxXXXllXOXXOLLLLLLLLLH1
CXXXXX10100XOLLLLLLLLLL1
COOlOOOXXOXXOLLHHHHHHLLl
CXXXXXlOOOOXOLLHHHHHHLHl
CXXXXXllXOXXOLLHHHHHHLH1
CXXXXXlOlOOXOLLHHHHHHLLl
CllOl10XXOXXOHHLLLLLLHHl
CXXXXXI0000XOHHLLLLLHLL1
CXXXXXllXOXXOHHLLLLLHLLl
CXXXXXlOlOOXOHHLLLLLLHHl
COlOlOOxxOXXOLHLLLLLLHLl
CXXXXXlOOOOXOLHLLLLLLHHl
CXXXXXllXOXXOLHLLLLLLHHl
CXXXXXlOlOOXOLHLLLLLLHLl
ClOlOlOXXOXXOHLHHHHHHLHl
CXXXXXlOOOOXOHLHHHHHHHLl
CXXXXXllXOXXOHLHHHHHHHLl
cxxxxxlPlOOXOHLHHHHHHLHl
C11lll0XXOXXOHHHHHHHHHHl
C11llll0000XOLLLLLLLLLLl
XXXXXXXXXXXXlZZZZZZZZZZl
PASS SIMULATION
4-197
10..Bit Counter
10-BIT COUNTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
o -x-- ---- ---- ---- ---- -x-1 --x --- --- --- --- x2 --- ---- ---- ---- ---- x--3 --- --- ------ ---- x--
---- ---- -x-- ----x-- -x- -x~ -x--x- x--- -x-- -x--
/SET*LD*/DO
--- --- -x-- ---- /SET*/LD*/QO
/SET*/LD*CNT*CIN*UP
/SET*/LD*CNT*CIN*/up
-x----x
------
----------
------------
-----------
-xx-x--x--
-------x--x--
-------x-x---
-x--x--x--x--
-------x--x--
/SET*LD*/Dl
/SET*/LD*/Ql
/SET*/LD*CNT*CIN*UP*QO
/SET*/LD*CNT*CIN*/UP*/QO
16 --- --17 --- ---18 --x- -x19 - .. x --x
-x----x
------
----------
-----------
-xx--x--x--
-------x-x--
-------x-x--
-x--x--x--x--
-------x--x--
/S~*LD*/D2-7
24 ---- --- -x25 --- --- ---26 -x- --x- --x27 ---x --x --x
------x
------
----------
-x- ---- ---- -x-x-- ---- ---- -xx-- -x- -x- -x-x-- -x- x- -x-
------x--x-
/SET*LD*/D2-7
/SET*/LD*/Q3
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q-
32 --- ---~ -x-- --33 --- ---- - - ---34 -x- --x- --x- -x35 -x --x --x --x
---x
------
-x-- ---x----x-- -xx-- -x-
---- -x-- ------ -x- ----x-- -x~- -x-x- -x-- -X--
/SET*LD*/D2-7
/SET*/LD*/Q4
/SET*/LD*CNT*CIN*UP*QO*/SET* /LD*CNT*CIN* /UP* /Q-
40 --- ---x-- --41 --- --- --- - - --- x-x - 42 -x- --x- --x- --x- --x- X- -x43 ---x ---x --x --x -x x-- -X--
---- -x-- ------ -X';"- - - -x- -x-- -x-x--- -x-- -X--
/SET*LD* /D2-7
/BET*/LD*/Q5
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q-
48 ---- ---- -x-- ---- ---49 --- ---- ---- ---- --50 -x- --x- --x- --x- --x51 --x --x ---x --x ---x
-x-x--x_xx-x
-------x-x---
------x--x--
/SET*LD*/D2-7
/SET*/LD*/Q6
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q-
56 --- ---- -x- ---- ---57 --- ---- --- ---- ---58 --x- --x- --x- --x- --x59 --x ---x --x --x --x
-x-- ---- --- -x-- --x-- ---- ---x -x-- --x-x- -xx- -x- -X-- -xx--x -X-X x-- -x-- -x--
/SET*LD*/D2-7
/SET*/LD*/Q7
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*C!N*/UP*/Q-
64 ---- ---- ---- -x-- ---65 --- ---- ---- --- --66 -x- --x- --x- --x- --x67 --x ---x ---x --x ---x
-xx-x-xx-x
---- --- -x- ------- ---- -x-x ---xx- -XX- -x-- -x--x-x x--x -x-- -x-
/SET*LD*/D8
/SET*/LD*/Qa
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q-
72 ---- ---- ---- ---- -x-- -x- ---- ---- -x- --73 - - --- ---- --- ---- x--- ---- ---- -x-- --x
74 --x- --x- -x- --x- --x- x-x- -xx- -xx- -XX- -x-75 --x ---x --x--x --x x-x -x-x x--x -x-x -x-LEGEND: x: FUSE NOT BLOWN (I.,N,O)
- : FUSE BLOWN
NUMBER OF FUSES BLOW = 1350
/SET*LD*/D9
/SET*/LD*/Q9
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q(B,P,1)
8 --9 --10 -x11 --x
-x-- --- ----
4-198
-----x
-x-x--
-x--x--x--x--
/SET*/LD*/Q2
/SET*/LD*CNT*CIN*UP*QO*/SET*/LD*CNT*CIN*/UP*/Q-
10.. Bit Counter
Logic Diagram PAL20X10
10-Bit Counter
CLKL..{>
0121
4561
8
9 1011
1213 U 15
16111819
20212223
24252611
1S 293031
12 11 J4 35
36313839
~C> ~~
",
2
2
DO
~
.,
~DR-l
-
'"
"
01 ~~
~
~C>
"
"
"
"
02-7 ~~
.......
5
~D...........
22
n
"
"
09
6
...
.......- "
.......
~~D--K-J
.
"
~,
"
"
LO
7
~
..
8
~
~
~
v
Pi
~ 05
02
"
04
17
V
06
07
~
9
:)t
..
~
-
~=9c>
:(j:::)
~
'"\..J
~-
~
IJ.....
15
~c
14
~~~
"
"
"
"
11
Pi
~ 03
Q
jb
"
"
"
CIN
21
01
.......
"
"
10
~
~
Bl.
""
SET
~
22
::t
"
00
I.Jv
IDD-~.
49D-PI ~
'"
UP
-
~DRt
"
"
"
"
08
"
23
,..
~
o
1
2
1
4!i
6
I
8
910 II
121314 IS
16171119
2021
n
23
24252621
28293031
n
II J4 35
~
~
36313839
4-199
08
09
0
10·BitCounter
Application
CRT Horizontal Timing and Blanking
DOT
CLOCK
74LS491
PAL16L2
t----VHBLANK
I----VBLANK
1----1 ,I---SCAN BLANK
,HO
Hl H2 H3 H4 H5 H6 H7 HB H9
v
HORIZONTAL ADDRESS
NOTE: PAL 16L2 design is application dependent.
4·200
4-Bit Up/Down Counter with
Shift Register and Comparator
PAl16X4
:.: : : }
................. 15 A2
""""14 A3
...... 0 .....
t--t?ort----t 13 Gil
DATA
OUT
m
4.Bit Up/Down Counter with Shift Register and Comparator
PAL16X4
PAL DESIGN SPECIFICATION
SCNT4C
BIRKNER/COLI 10/31/81
4-BIT UP/DOWN COUNTER WITH SHIFT REGISTER AND COMPARATOR
MMI SUNNYVALE, CALIFORNIA
CLK 10 Il BO Bl B2 B3 12 CLR GND /OC /LIO /GE A3 A2 Al AD /LE /RIO VCC
IF (/12* 11*/10) RIO
=
(AO)
;SHIFT RIGHT OUT
/AO:=
+
/I2*/Il*/IO*(/AO)*/CLR
/I2*/Il* 10* (jBO) */CLR
+ /12* Il*/IO*(/Al)*/CLR
+
12* 11*
(/AO)*/CLR
:+: I2*/Il*/IO*/RIO
+
12* 11*/10* RIO
+
12* 11* 10* RIO
+
CLR
;HOLD AD
;LOAD BO (LSB)
;SHIFT RIGHT
; HOLD (INC AND DEC)
;SHIFT LEFT
;INCREMENT IF CARRY IN
;DECREMENT IF BORROW IN
;CLEAR LSB
/Al
/12*/11*/10* (/Al) */CLR
/12*/11* IO*(/Bl)*/CLR
/12* Il*/IO* (jA2) */CLR
12* 11*
(jA1) */CLR
:+: 12*/11*/10* (/AO)
12* Il*/IO*( AD)* RIO
+
+
12* Il* IO*(jAD)* RIO
+
CLR
;HOLD Ai
;LOAD Bl
:SHIFT RIGHT
: HOLD (INC AND DEC)
;SHIFT LEFT
iINCREMENT IF CARRY IN
iDECREMENT IF BORROW IN
: CLEAR
/12*/11*/10* (/A2) */CLR
/12*/11* IO*(/B2)*/CLR
/12* Il*/IO* (jA3) */CLR
12* 11*
(jA2) */CLR
+
:+: I2*/Il*/IO* (jAl)
+
12* 11*/10*( Al)*( AO)* RIO
+
12* 11* IO*(/A1)*(/AO)* RIO
CLR
+
:HOLD A2
iLOAD B2
iSHIFT RIGHT
;HOLD (INC AND DEC)
;SHIFT LEFT
: INCREMENT IF CARRY IN
; DECRF..MENT IF BORROW IN
; CLEAR
:~
+
+
+
/A2 :=
+
+
/A3 :=
/12*/11*/10* (/A3) */CLR
/12*/11* IO*(/B3)*/CLR
/12* 11*/10* /LIO*/CLR
12* 11*
(/A3) */CLR
+
:+: I2*/Il*/IO* (jA2)
+
12* 11*/10*( A2)*( Al)*( AO)* RIO
12* 11* IO*(/A2)*(/Al)*(/AO)* RIO
+
CLR
+
+
+
IF
(
12) LIO
I2*/Il*/IO*( A3)
+ 12* 11*/10*( A3)*( A2)*( Al)*( AO)* RIO
+ 12* 11* IO*(/A3)*(/A2)*(/Al)*(/AO)* RIO
IF (VCC)
IF (VCC)
4·202
LE
iHOLD A3
iLOAD B3 (MSB)
iSHIFT RIGHT
; HOLD (INC AND DEC)
;SHIFT LEFT
; INCREMENT IF CARRY IN
iDECREMENT IF BORROW IN
;CLEAR MSB
;SHIFT LEFT OUT
;CARRY OUT
;BORROW OUT
+
+
+
+
(A3*/B3)
(A3:*:B3)*(A2*/B2)
(A3:*:B3)*(A2:*:B2)*(Al*/Bl)
(A3:*:B3)*(A2:*:B2)*(Al:*:Bl)*(AO*/BO)
(A3:*:B3)*(A2:*:B2)*(Al:*:Bl)*(AO:*:BO)
;B3
;B2
;Bl
;BO
;B
+
+
+
+
(jA3*B3)
(A3:*:B3)*(/A2*B2)
(A3:*:B3)*(A2:*:B2)*(/Al*Bl)
(A3:*:B3)*(A2:*:B2)*(Al:*:Bl)*(/AO*BO)
(A3:*:B3)*(A2:*:B2)*(Al:*:B1)*(AO:*:BO)
;B3 GT
iB2 GT
i Bl GT
iBO GT
i B EQ
GE
LT A3
LT A2
LT Ai
LT AD
EQA
A3
A2
Al
AD
A
4·Bit Up/Down Counter with Shift Register and Comparator
FUNCTION TABLE
CLK 10C CLR 12 11 10 B3 B2 B1 BO IGE lLE ILIO IRIO A3 A2 A1 AO
1
,--CONTROL-,CLK 10C CLR
INST INPUT
III BBBB
STATUS
210 3210 IGE lLE
OUTPUT
---1/0--ILIO IRIO
AAAA
3210
COMMENTS
(HEX VALUES)
------------------------------------------------------------------------------C
C
C
C
C
C
C
L
L
L
L
L
L
L
L
C
C
L
C
L
C
C
C
C
L
L
L
L
C
C
L
L
C
C
C
L
L
L
L
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
L
C
C
C
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
H
xxx
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
LHL
LHL
LLL
LHL
LLL
LHL
LHL
HLH
LLL
HLL
HLL
HLL
HLL
HLL
LLH
HHL
HHH
LLH
HHL
HHIi
LLH
HHL
HHH
LLH
LLH
LLH
LLH
LLH
LLH
HHL
HHL
LLL
HHL
HHL
HHL
HHL
HHL
LHH
HHH
LLH
HHH
HHH
HHH
HHH
HHH
XXX
L
L
L
L
L
L
L
L
L
X
XXXX
XXXX
XXXX
LHLH
XXXX
LLHL
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
LLLH
XXXX
XXXX
LLHH
XXXX
XXXX
LHHH
XXXX
XXXX
HHHH·
LHHH
HLHH
HHLH
HHHL
bLHL·
XXXX
XXXX
HLHH
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
LLHH
XXXX
LLHL
XXXX
XXXX
XXXX
XXXX
x
x
X
L
X
L
X
X
X
X
X
X
X
X
x
x
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
H
X
X
X
X
X
X
X
X
X
X
X
X
X
X
x
x
X
H
X
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Z
L
H
Z
H
Z
H
H
H
Z
L
L
L
H
L
Z
H
H
Z
H
H
Z
H
H
Z
Z
Z
Z
Z
Z
·H
H
Z
H
H
H
L
H
Z
H
Z
H
H
H
L
H
X
Z
H
H
Z
H
Z
L
H
Z
Z
H
L
L
L
L
Z
L
L
Z
L
L
Z
L
L
Z
Z
Z
Z
Z
Z
L
L
Z
L
H
L
L
L
Z
L
Z
L
H
L
L
L
X
LLLL
HLLL
LHLL
LHLL
LLHL
LLHL
LLLH
LLLL
HHHH
HHHH
HHHL
HHLH
HLHH
LHHH
HHHH
LLLH
LLHL
LLLH
LLHH
LHLL
LLHH
LHHH
HLLL·
LHHH
HHHH
LHHH
HLHH
HHLH
HHHL
HLHL
HLHH
HHLL
HHLL
HHLH
HHLH
HHHL
HHHH
LLLL
HHHH
HHHL
LLHH
LLHL
LLHL
LLLH
LLLL
HHHH
ZZZZ
CLEAR
SHIFT RIGHT IN A H
SHIFT RIGHT IN A L
COMPARE B GT A
SHIFT RIGHT INA L
COMPARE B EO A
SHIFT RIGHT IN A L
SHIFT RIGHT IN A L
SET
HOLD
SHIFT LEFT IN A L
SHIFT LEFT IN A H
SHIFT LSFT IN A H
SHIFT LEFT IN A H
SHIFT LEFT IN A H
LOAD (1)
INCREMENT
DECREMENT
LOAD ()
INCREMENT
DECREMENT
LOAD (7)
INCREMENT
DECREMENT
LOAD (F)
LOAD (7)
LOAD {Bl
LOAD (D)
LOAD (E)
LOAD (AI
INCREMENT TO {Bl
INCREMENT TO (C)
COMPAREB LT A
INCREMENT TO (D)
HOLD NO CARRY IN (/RIO=H)
INCREMENT TO {El
INCREME~ TO (F) CARRY OUT
INCREMENT TO {OIROLL.OVER
SET
DECREMENT TO (El
LOAD (3)
DECREMENT TO( 2)
COMPARE B EQ A
DECREMENT TO (1)
DECREMENT TO {O)BOROW OUT
DECREMENT TO (F) ROLL UNDR
TEST HI-Z
4.~03
4-Bit Up/Down Counter with Shift Register and Comparator
DESCRIPTION
THE 4-BIT UP/DOWN COUNTER WITH SHIFT REGISTER AND COMPARATOR WILL COUNT UP,
COUNT DOWN, SHIFT RIGHT, SHIFT LEFT, COMPARE GREATER THAN OR EQUAL TO, COMPARE
LESS THAN OR EQUAL TO, CLEAR, SET, LOAD, OR HOLD AS SPECIFIED BY THE INSTRUCTION LINES (12,11,10) AND CLEAR (CLR). ALL OPERATIONS OCCUR SYNCHRONOUSLY ON
THE RISING EDGE OF THE CLOCK (CLK) EXCEPT FOR THE COMPARISION OPERATIONS WHICH
ARE PERFORMED ASYNCHRONOUSLY AND WITH NO INSTRUCTION LINES REQUIRED.
THE COMPARISION OPERATIONS (/GE AND /LE) WILL COMPARE THE INPUT DATA (B) WITH
THE DATA IN THE REGISTERS (A) AND SUPPLY THE FOLLOWING STATUS:
! COMPARISION
/GE
/LE
!---------------------!---------------!
B IS GREATER THAN A
IS EQUAL TO A
! B IS LESS THAN A
I B
L
L
H
H
L
L
NOTE THAT BORROW, CARRY, AND SHIFT LEFT AND RIGHT INPUT/OUTPUTS SHARE THE SAME
I/O LINES (/LIO AND /RIO) AND THESE LINES ARE INVERTED (ACTIVE LOW).
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN
THE OPERATIONS TABLE BELOW:
/OC CLK
H
L
L
L
L
L
L
L
L
L
CLR
X
H
L
L
L
L
L
L
L
L
X
C
C
C
C
C
C
C
c
C
12 II 10
X
X
L
L
L
L
H
H
H
H
X
X
L
L
H
H
L
L
H
H
X
X
L
H
L
H
L
H
L
H
B3-BO
/GE /LE
/LIO /RIO
X
X
X
B
X
X
X
X
X
X
STATUS
X X
STATUS
X X
STATUS
X X
STATUS
X X
STATUS
STATUS
X
X
X
X
RI
Z
A3
H
COUT
SOUT
B
MSB SHIFT
I/O~
OP SELECT
LSB SHIFT I/O
2
A
X
X
X
X
AO
Z
LI
Z
CIN
BIN
A3-AO
Z
L
A
B
SR(RIO)
H
SL(LIO)
H
A PLUS 1
A MINUS 1
OPERATION
HI-Z
CLEAR
HOLD
tOAD B
SHIFT RIGHT
SET
SHIFT LEFT
SE'+
INCREMENT IF CIN
DECREMENT IF BIN
4'!"Bit Up/Down Counter with Shift Register and Comparator
4-BIT UP/DOWN COUNTER WITH SHIFT REGISTER AND COMPARATOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
CXXXXXXXIXOZXLLLLXZl
COIXXXXOOXOOXHLLLXHI
COIXXXXOOxOlXLHLLXHl
COOIOIOOOXOZLLHLLHZl
COIXXXXOOXOIXLLHLXHI
COOOIOOOOXOZLLLHLLZI
COIXXXXOOXOIXLLLHXLI
COIXXXXOOXOIXLLLLXHI
CI0XXXXIOXOHXHHHHXZl
COOXXXXOOXOZXHHHHXZl
COOXXXXI0XOLXHHHLXll
COOXXXXI0XOLXHHLHXOI
COOXXXXI0XOLXHLHHXOI
COOXXXXIOXOHXLHHHXOI
COOXXXXI0XOLXHHHHXOI
CI0100000XOZXLLLHXZl
COIXXXXIOXOHXLLHLXOI
Cl1XXXXI0XOHXLLLHXOl
CIOl10000XOZXLLHHXZl
COIXXXXIOXOHXLHLLXOI
CIIXXXXIOxOHXLLHHXOl
CIOIII000XOZXLHHHXZl
COIXXXXIOxOHXHLLLXOI
Cl1XXXXlOXOHXLHHHXOl
CIOllllOOXOZXHHHHXZl
CI0111000XOZXLHHHXZl
CIOIIOIOOXOZXHLHHXZl
CIOI01100xOZXHHLHXZI
CI00l1100xOZXHHHLXzl
CIOOIOIOOXOZXHLHLXZl
COlxXXXlOXOHXHLHHXOl
COIXXXXIOXOHXHHLLXOI
COOIIOIOOXOZHHHLLLZI
COIXXXXIOXOHXHHLHXOI
COIXXXXIOXOHXHHLHXll
COIXXXXIOXOHXHHHLXOI
COIXXXXI0XOLXHHHHXOI
COIXXXXIOXORXLLLLXOI
CIIXXXXOOXOZXHHHHXZl
CIIXXXXIOXOHXHHHLXOI
CIOIIOOOOXOZXLLHHXZl
CIIXXXXI0XOHXLLHLXOI
OllOlOOlOXOHXLLHLXll
CIIXXXXIOXOHXLLLHXOI
CIIXXXXIOXOLXLLLLXOI
CIIXXXXIOXOHXHHHHXOI
XXXXXXXXXXIXXZZZZXXI
m
PASS SIMULATION
4-205
.,..ait Up/Dow,n Counter with Shift Register and· Comparator
4-5IT
COUNTER WITH SHIFT REGISTER AND COMPARATOR
.
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
UP/DOWN
0 -x-1 ---8
9
10
11
12
13
x--- -----xx
----
-xxx
---- -xxx x--x
-xxx x--x x--x
x--x x--x x--x
xx--x-x
xx-xx----"-
16
17
18
19
20
21
22
23
-x-- -x-x--- -x--x-,.. x--x---xx- -x--x-x x--x--x x---
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
xx--x-- -x-x--- -x--x-x
-x-- x--xx-xx-x---x-- -x-- xx--x-x x--- --xx ---x--x x--- xx-- ----
40
41
-x--
~--""I"
-xxx ---x--x ---x--x
x--x
x--x
-x--x--x-x--x--x--x---x--x--x-x--x--x--x---
---- ----
---------------
---------xxxx--x
---~
---- ---- ----
---- ---~--- xxxxxx- x--x
x--x x--x
x--x x--x
xxxx--x
x--x
x--x
x...,-x
-------------
-x--x--x--x--
"
x---x--x--x--x--
----------------
/I2*/Il*/IO*/AO*/CLR
/I2*/Il*IO*/BO*/CLR
/I2*Il*/IO*/Al*/CLR
I2*Il*/AO*/CLR
I2*/Il*/IO*/RIO
I2*Il*/IO*RIO
I2*Il*IO*RIO
.CLR
/I2*/Il*/IO*/Al*/CLR
/I2*/Il*IO*/Bl*/CLR
/I2*Il*/IO*/A2*/CLR
I2*Il*/Al*/CLR
I2*/Il*/IO*/AO
12*Il*/IO*AO*RIO
12*Il*IO*/AO*RIO
CLR
/I2*/Il*/IO*/A2*/CLR
/I2*/Il*IO*/52*/CLR
/I2*Il*/IO*/A3*/CLR
I2*Il*/A2*/CLR
I2*/Il*/IO*/Al
I2*Il*/IO*Al*AO*RIO
12*Il*IO*/Al*/AO*RIO
CLR
/I2*/Il*/IO*/A3*/CLR
/I2*/Il*IO*/B3*/CLR
/I2*Il*/IO*/LIO*/CLR "'"'.',.,
12*Il*/A3*/CLR
12*/Il*/IO*/A2
12*Il*/IO*A2*Al*AO*RIO
12*Il *10* /A2* /Al */AO*R~O'
CLR
"
\,-
/A3*B3
A3:*:53*/A2*B2
A3:*:B3*A2:*:B2*/Al*Bl
A3:*:B3*A2:*:B2*Al:*:Bl*/AO*BO
A3:*:B3*A2:*:B2*Al:*:Bl*AO:*:BO
12
56
---- ---- ---- -,--- x--12*/Il*/I0*A3
57 -x-~ -x----- --xx x--12*Il*/IO*A3*A2*Al*AO*R10
58 -x-x x--- --xx --xx --xx --xx x--12*Il*IO*/A3*/A2*/Al*/AO*RIO
59 x--x x--- xx-- xx-- xx-- xx-- x--(H,p,l)
LEGEND: x: FUSE NOT BLOWN (L,N,O)
- : FUSE BLOWN
NUMBER OF FUSES BLOWN = 1331
4 .. 208.
.,
---- A3*/53
---- A3:*:53*A2*/52
,.;",
A3:*:53*A2:*:52*Al*/51
A3:*:53*A2:*:52*Al:*:51*AO*/50
A3:*:53*A2:*:52*Al:*:Bl*AO:*:BO
---- ---x--xx--x-- -x--x-- -x-x--- -x--x-x ---- -x-- -x--x-- x--xx-- -x-- -x-x--xx-x--- -x--x-- -x-xx-x---x-x x--- --xx --xx
x--x--x x--- xx-- xx-x------ ---- x------ ---xx-- -x-- -x--x-- -x-- ---- ---x--- -x-- ---- ----x-x -x-- -x--x-- x--- ---- ----x-- -xxxx-- x--- -x-x--- ---- ----x-- -x-- ---- ---- xx-- ---- x--oo:x-x x--- --xx --xx --xx ---- x--x--x x--- xx-- xx-- xx--'
x------ ---x---
42
43
44
45
46
47
48
49
50
51 ---52
53
;,:
/I2*Il*/IO
---- AO
'
4-Bit Up/Down Counter with Shift Register and Comparator
4-Bit Up/Down Counter
with Shift Register and Comparator
ClK
Logic Diagram PAL16X4
I
0123
4 S 67
891011
12131415
16171819
20212223
24252621
28293031
0
I
~
~
2
3
4
5
6
10
2
...
...
,
,,
IQ
11
12
13
14
11
3
...
...
15
16
17
18
19
21
80
~24
FL~D- ~~1 ~
A1
'"""'
25
26
27
t-
28
"
30
31
~31
33
34
35
'""""
36
37
"
~
-----
40
41
42
:=::
44
45
46
47
,
fi]""
50
51
"
53
8
..
...
54
55
""
""
61
"
ClR
9
..
01---
A2
~D-U-~
A3
~
43
12
D
~
fi
~
83
~J).-
./
38
82
....--
~
;
81
AD
22
23
4
18
~D- ~~-~
~L!l
"'"
20
19
"
53
0123
4567
891011
12131415
16171819
Z0212223
24252627
2829J031
~
~
~
13
.
12
~
4-207
Notes
4.208
4·Bit Flash Gray
A/D Converter
PAL20X4
4·209
4·Bit Flash Gray A/D Converter
A/D and D/ A Converters
4-Bit Flash Gray AID Converter.
ClK
R
A6
R
A7
R
AS
R
A9
VCC
NC
AS.
R
A4
IGO
•
R
A10
R
A11
R
A12
R
A13
R
A14
R
A1S
VIN
************** **************
*
*
* *
****
****
* 1*
*24*
PAL
****
****
*
*
20x4
*>11**
****
* 2*
*23*
****
****
*
*
****
****
* 3*
*22*
****
****
*
*
****'.'
****
* 4*
*21*
****
****
*
*
****
****
>11 5*
*20*
****
****
*
****
****
* 6*
*19*
****
****
*
*
****
****
*7*
*18*
****
****
*
*
****
****
* 8*
*17*
****
****
*
*
**it*
****
* 9*
*16*
****
****
*
*
****
****
*10*
*15*
****
****
*
*
****
****
*14*
*11*
****
****
*
*
****
****
*12*
*13*
****
****
*
••
R
GNI)
IG1
4-BIT
GRAY
OUT
IG2
-/G3
R
A3
A2
R
A1'
R
IOC
*************.***.***~**********~
4-21:1
D
4-Blt Flash Gray ,AID Converter
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/29/81
PAL20X4
ADC4
4-BIT PIASH GRAY A/D CONVERTER
MMI SUNNYVALE, CALIFORNIA
CLK A6 A7 AS A9 AlO All Al2 Al3 Al4 Al5 GND
/OC Al A2 Al /G3 /G2 /Gl /GO A4 AS NC vec
IAl
GO :=
+ IA7
*
*
Al
AS
,CONVERT ANALOG TO GO (LSB)
:+: IAll* A9
+ IAl5* Al3
IA6
G1:=
*
A2
; CONVERT ANALOG TO Gl
+ IAl4* AlO
IAl2* A4
G2:=
AS
G3:.
; CONVERT ANALOG TO G2
;CONVERT ANALOG TO G3 (MSB)
FUNCTION TABLE
/OC CLK Al5 Al4 Al3 AlZ All AlO A9 AS A7 A6 AS All Al A2 Al G3 G2 Gl GO
ANALOG INPU'l'S
111111
543210987654321
GRAY
OUTPUTS
3210
C
C
C
C
C
C
C
C
C
LLLI,I,I,I,LLLI,I,I,LL
LLLLLLLLI,I,I,IJ,LH
LLLLLLLLLLLLLHH
LLLLLLI,IJ,IoI,I,HHH
LLLLLLLLLLLHHHH
LLLLLLLLLLHHHHH
LLLL
LLLH
LLHH
C
LLLLLLHHBHBBBBB
LLLLLHHHHHHHHHH
LLLJ:,HHBBHBBJffiHH
LLLttHttttBBBHBBHH
LLHHBBBBBBHHHHH
I,BBBBBBBBBBBBBH
; CONTROL
;/oe CLK
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
C
C
C
C
C
C
X
HHHHAHHHHaainma'
XXXXXXXXXXX~·.
LLHL
LHHL
LHHH
LHLH
LHLL
HHLL
HBLH
HHHH
HHHL
HLBL
HLHH
HLLH
HLLL
ZZZZ
COMMENTS
FRACTION OF VDlax
V-O
V-l/16
V-lI8
V=3/l6
V=1/4
V-S/16
V=3/8
V=7/16
V=1/2
V=9/16
V=S/8
V=1l/16
V=3/4
V=13/16
V=7/B
V=iS/16
TE~T HI-Z
-----------~----------------.---------------------------DESCRIPTION
THE 4-BIT FLASH ANAU)G-TO-DIGITAL CONVERTER CONVERTS AN ANALOG SIGNAL
INTO A 4-BIT GRAY CODE. GRAY CODE IS CHOSEN TO ELIMINATE GLITCHES AT
BINARY ROLL O~R POINTS.
THE MAXIUM SAMPLE RATE IS EQUAL TO l/tpd OF THE PAL20X4.
FEEDBACK PROPAGATION DELAY IS INTRODUCED.
A_"" "
NOTE THAT NO
4-Bit Flash Gray AID Converter
4-BIT FLASH GRAY A/D CONVERTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
COOOOOOOOOOXOOOOHHHHOOX1
COOOOOOOOOOX0100BHSLOOXl
COOOOOOOOOOX0110HHLLOOXl
cooooooooooxOl11HBLHOOXl
COOOOOOOOOOXOll1BLLHlOXl
COOOOOOOOOOXOll1HLLLllXl
ClOOOOOOOOOXOlllHLHLl1Xl
Cl100000000X0111BLHHl1Xl
Cl110000000X0111tLHHl1Xl
C1111000000X0111LLHLl1Xl
C1111100000X0111LLLL11Xl
C1111110000X0111LLLHl1Xl
Cll11111000X0111LHLBlIXl
C1111111100XOll1LHLLl1Xl
Cll11111110X0111LHHLl1Xl
Cl11111111lX0111LHHBlIXl
17 XXXXXXXXXXXXlXXXZZZZXXXl
PASS SIMULATION
,
'
4-213
4-8it Flash Gray AID Converter
4-BIT FLASH GRAY A/D CONVERTER
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
24
25
26
27
-------------
----XX-------
-------------
------X------
---- --- ---- ---x ---- --x- - ---- --- - - --- ------- -x- ---- --- --- ------- ---- --- X--- ---- -X--
/A3*Al
/A7*A5
/Al1*A9
/Al5*Al3
32 -x- ---- --- ---- - - ---- ---- ---- --X- ---- /A6*A2
33 ---- ---- --- ---- X--- ---- --- ---- -X-- ---- /Al4*AlO
40 --- --- --X- - - - - - - ----
-x- --- - - ----
/Al2*A4
48 ---- --- X - ---- - - - ---- - - - - - - - ---- AS
LEGEND:
X: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
4.214
=
305
- : FUSE BLOWN
(H,P,l)
4-Bit Flash Gray A/D Converter
Logic Diagram PAL20X4
4-Bit Flash Gray A/D Converter
ClK
1
......
-V'lll
0
,
,
1
A6
~
.,
""
A7
3
""
"
"
A8 4
A9 ~
"
"
"
"
6
.
"
"
.
A11
7
1
• • 1011
12 131<1115
I. UI'"
tor, u u
N ZSH17
II J! H II
U 33)1 35
n
11 JlJI
-.
.J
-wK
23
.....
....
......
1
.J
22
...L
21
- :1
....
IA(
NC
J]
AS
A4
~
"
"
"
"
A10
45'
=~D- ~~
......
-
-~=9D- ~ ~
IDD-
~
'""J
18
~~r>~
'"....."J
17
~
....
so '
so
~
.J.t..
V
A12 ~
"
"
"
~
...
.....
51
A13
9
L..ri)l
..L
16
A3
15
A2
1'"
A1
-'1::1--
H
"
A14 1Lt~
"
""
"
A15 !!.....t~
....
IA(
-
»
J
-,rvl
.J.
-C~
,
A
;....-
13,
Notes
4-Bit Gray DI A Converter
PAL16A4
4·Bit Gray DI A Converter
**************
**************
*
* *
*
****
****
CLK * 1*
PAL
*20* VCC
****
****
*
1 6 R 4
*
****
****
' ',R
N,C *2*
...,
*19* AO
*fI**
****
*
*
****
****
2R
NC * 3*
*18* A1
****
****
*
*
****
lI',***
GO ~ 4*
*17* lab '
****
***'*
*
*
****
'11***
'G1 * 5*
*16* 181 "
4-BIT
****
*'***
GRAY
*
*
IN
****
*'1\;'*
*15,* tB2
****
**** ;
*'
*
****
****
'G3* 7*
*14* /83
****
'****
*
*
****
****
4R
NC* 8*
*13* A2
****
****
*
*
****
****
8R
/OC2 * 9*
*12* A3
****
****
*
*
****
****
GND*10*
*11* /OC1
****
****
vcc
~.,
*
*
*******************************
2N
NOTE: EACH BIT CONTRIBUTES 16 VOLTS
WHERE N = THE SUBSCRIPT OF B
4.218
ANALOG
OUT
R
Vo
4-Bit Gray. D/A Conv.erter
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/30/81
PAL16R4
DAC4
4-BIT GRAY O/A CONVERTER
MMI SUNNYVALE, CALIFORNIA
CLK NC NC GO G1 G2 G3 NC /OC2 GND
/oel A] A2 /83 /B2 /81 /80 Al All vec
BO :=
/GO* G1*' G2* G3 ,CONVERT GRAY TO
'I:
so
(LSB)
+ GO*/G1* G2* G3
+ GO* G1*/G2* G3
+ GO* Gl* G2* /G3
+ GO * /G1 * /G2 * /G3
+ /GO* Gl*/G2*/Gl
+ /GO*/G1* G2*/G3
+ /GO*/Gl*/G2* Gl
B1 :-
+
+
+
B2 :-
+
B3 :=
, CONVERT GRAY TO BI
/Gl*/G2* G3
/Gl*' G2*/G3
Gl*'/G2*/G3
Gl* G2* G3
/G2*' G3
G2*'/Gl
G3
IF (BO*OC2)
;.CONVERT GRAY TO B3 (MBB)
/AD = BO
1CONVERT
so
TO ANALOG
IF (Bl.*OC2) /Al =
81·
IF (B2*OC2) /A2 -
B2
, CONVERT B2 TO ANALOG
IF(B3*OC2) /A] =
B3
,CONVERT. 83 TO ANALOG.
4.;.219
4-8it'Qray:D/A Converter
FUNCTION TABLE
/OCl /OC2 CLK G3 G2 .Gl GO B3 B2 Bl BO A3 A2 Al AO
:---CONTROL--:/OCl /OC2 CLK
GRAY
3210
BCD
3210
ANALOG
3210
COMMENTS
FRACTION OF vmax
--------------------~-----------------------.------------1.
1.
1.
1.
L
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
L
H
X
L
L
L
L
L
L
L
L
L
L
C
C
C
C
C
C
C
C
C
C
C
1.
1.
1.
C
C
L
C
1.
C
C
X
X
t
x
H
LLLL
LLLH
LLHH
UHL
LHHL
LHHH
LHLH
LHLt
HHLL
HHLH
HHHH
HHHL
HLHL
HLHH
HLLH
HLLL
XXXX
XXXX
LLLL
LLLH
LLHL
LLHH
LHLL
LHLH
LHHt
LHHH
HLLL
HLLH
HtHL
HLHH
HHLL
HHLH
HHHL
HHHH
ZZZZ
XXXX
ZZZZ
ZZZL
ZZLZ
ZZLL
ZLZZ
ZLZL
ZLLZ
ZLLL
LZZZ
LZZL
LZLZ
LZLL
LLZZ
LLZL
LLLZ
1.1.1.1.
XXXX
ZZZZ
V=O
V=1/16
V=1/8
V=3/16
V=1/4
V=S/16
V=3/8
V=7/16
V=1/2
v=9/16
V=S/8
V=1l/16
V=3/4
V=13/16
V=7/8
V=lS/16
TEST HI-Z (REG)
TEST HI-Z (OC)
---------------------------------------------------------DESCRIPTION
THE 4-BIT FLASH DIGITAL-To-ANALOG CONVERTER CONvERTS A 4~BITGRAY CODE (G)
INTO A 4-BIT BINARY CODE (B), wHICH IS THEN CONVERTED INTO ANALOG OUTPUTS (A).
ANALOG .OUTPUTS (A) ARE EITHER LOW OR HI-Z WHICH ALLOWS THE CONDITIONAL
THREE-STATE OUTPUTS TO PERtORM THE OPEN COLLECTOR FUNCTION THAT IS NEEDED TO
DRIVE THE RESISTOR NETWORK.
4-Bit Gray D/ A Converter
4-BIT GRAY D/A CONVERTER
1 CXXOOOOXOXOZZHHBHZZI
2 -d
.
NC 3
5
6
7
.
~
~
.
:>-d
9
17
12
Il
3
....Jt
AO
78
A1
~~
10
NC
19
"
75
d-16
17
19
"
10
11
11
GO
4
)--
of--~
'-
D
2J
.
.
.A
Jo..
~
'"
15
26
17
28
19
30
G1
5
...
"'
./
37
.A
~
~
~~
~
~
~
~
tD1
~
31
II
J4
"
35
36
17
./
J8
G2
6
...
J9
.A
...
...
"
"
,
41
4l
44
45
G3
7
..
./
"
41
A
~
..A
"
r-J
49
50
57
"
"
53
54
NC
8
....
"
"
"
""
r-J
57
61
..
.
13
A2
A..--t-....
~
5'
9
'""
.....
-.JC::I---~
o1
1 3
4 5 6 7
.8 9 1011
12131415
161718 19
20212223
24252627
2829 J031
12
A3
~
4·223
Notes
4·224
a-Bit D/ A Converter
PAL16L8
NC
vcc
AO
01
A1
A2
A3
04
A4
05
AS
A6
A7
GNO
4·225
D
8-Bit DI A Converter
8-BIT
DIGITAL
IN
************** **************
*
*
**
****
****
PAL
*20*
NC * 1*
****
****
1 6 L8
*
*
****
****
DO * 2*
*19*
****
****
*
*
****
****
01 * 3*
*18*
****
****
*
*
****
****
*17*
02 * 4*
****
****
*
*
****
****
03 * 5*
*16*
****
****
*
*
****
****
*15*
04 * 6*
****
****
*
*
****
****
05 * 7*
*14*
****
****
*
*
****
****
06 * 8*
*13*
****
****
*
*
****
****
07 * 9*
*12*
****
****
*
*
****
****
GNO *10*
*11*
****
****
*
*
*******************************
vcc
ANALOG
OUT
VCC
AO
A1
A2
A3
A4
A5
A6
A7
R
R
2R
4R
8R
16R
32R
64R
128R
IOC
NOTE: EACH BIT CONTRIBUTES : : VOLTS
WHERE N " THE SUBSCRIPT OF O.
Vo
a-Bit D/ A Converter
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/29/S1
PAL16L8
DACS
S-BIT D/A CONVERTER
MMI SUNNYVALE, CALIFORNIA
NC DO 01 02 03 04 05 D6 07 GND
/oe A7 A6 AS A4 A3 A2 Al AO vec
IF (OO*OC)
/AD =00
1CONVERT DO
TO ANALOG
IF (D1*OC)
/Al '" 01
1CONVER'l' 01
TO ANALOG
IF (D2*OC)
/A2 '" 02
1CONVERT 02
TO ANALOG
IF (D3*OC)
/A3 '" 03
1CONVERT 03
TO ANALOG
IF (04*OC)
/A4 =04
1CONVERT 04
TO ANALOG
IF (D5*OC)
/AS '" 05
1CONVERT 05
TO ANALOG
IF (D6*OC)
/A6 "06
1CONVERT D6
TO ANALOG
IF (D7*OC)
/A7 = 07
1CONVERT 07
TO ANALOG
(LSB)
(MSB)
FUNCTION TABLE
1/ DIGITAL IN
10 00000000
1C
76543210
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
LLLLLLLL
LLLLLLLH
LLLLLLHL
LLLLLLHH
LLLLLHLL
LLLLLHBH
LLLLHLLL
LLLLHBHB
LLLHLLLL
LLI.HHRRR
LLHLLLLL
LLHHBHHH
LHLLLLLL
LBBBHHHH
HLLLLLLL
HLLLLLHH
HLLLHHHH
HI,RAAAAR
HHHHBHHH
xxxxxxxx
ANALOG OUT
AAAAAAAA
76543210
COMMENTS
FRACTION OF
ZZZZZZZZ
ZZZZZZZL
ZZZZZZLZ
ZZZZZZLL
ZZZZZLZZ
ZZZZZLLL
ZZZZLZZZ
ZZZZLLLL
ZZZLZZZZ
ZZZLLLLL
ZZLZZZZZ
ZZLLLLLL
ZLZZZZZZ
ZLLLLLLL
LZZZZZZZ
LZZZZZLL
LZZZLLLL
LZLLLLLL
LLLLLLLL
ZZZZZZZZ
V-O
"'1/256
V=1/12S
V=3/256
V=1/64
V=7/256
V=1/32
V=15/256
V=1/16
V=31/256
V=l/S
".63/256
V=1/4
".127/256
V=l/2
".129/256
".141/256
V=lS9/256
".255/256
TEST HI-Z
vmax
4-227
\
\
8';'81t DI A Converter
DESCRIPTION
THIS PAL PERFORMS THE LOGIC NEEDED TO CONVERT AN 8-BIT DIGITAL SIGNAL INTO
A 256 INCREMENT ANALOG SIGNAL.
OUTPUTS'ARE EITHER LOW OR HI-Z WHICH ALLOWS THE CONDITIONAL THREE-STATE
OUTPUTS 'TO PERFORM THE OPEN COLLECTOR FUNCTION THAT IS NEEDED TO
DRIVE THE RESISTOR NETWORK.
4·228
\-
a-Bit D/ A Converter
8-BIT O/A CONVERTER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
XOOOOOOOOXOZZZZZZZZI
XI0000000XOZZZZZZZL1
XOI000000XOZZZZZZLZI
XII000000XOZZZZZZLLI
XOOI00000XOZZZZZLZZI
Xll100000XOZZZZZLLLl
XOOOI0000XOZZZZLZZZI
XIIII0000XOZZZZLLLLI
XOOOOI000XOZZZLZZZZI
XIIII1000XOZZZLLLLLl
XOOOOOI00XOZZLZZZZZI
Xlll11100XOZZLLLLLLl
XOOOOOOI0XOZLZZZZZZI
Xl1111110XOZLLLLLLLl
XOOOOOOOIXOLZZZZZZZI
xll000001XOLZZZZZLLl
XlIII000IXOLZZZLLLLl
Xllll1101XOLZLLLLLLl
Xlllll11IXOLLLLLLLLl
XXXXXXXXXXlZZZZZZZZl
PASS SIMULATION
4-229
a-Bit DI A Converter
8-BIT D/A CONVERTER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
0
1
---x
x--x---
8
9
16
17
24
25
DO*OC
DO
x--
x---
x---
x--x--x--x--
D2*OC
D2
---x
D3*OC
D3
---x
x--
41
---x
D4
x---
40
D1*OC
D1
---x D4*OC
x---
32
33
---x
D5*OC
D5
48
49
x--- ---x D6*OC
56
57
x--x
LEGEND:
x--
D6
D7*OC
x--- D7
X : FUSE NOT
NUMBER OF FUSES BLOWN
BLOWN (L,N,O)
488
FUSE BLOWN
(H,P,l)
a-Bit D/ A Converter
Logic Diagram PAL16L8
a-Bit D/ A Converter
NC
11123
4567
8911J1l
12131415
16171819
2021222J
24252627
28293031
0
;=J
1
2
J
4
5
6
19
AO
18
A1
17
A2
16
A3
7
DO
~
1
....' J - ,
8
10
11
12
lJ
01
J
..
..
"
f--
15
c
~
"
4
20
21
22
2J
.
..
~
~'~
....
24
~5=J
25
26
27
28
03
5
"
...
JO
f------'
Jl
f--~
"J--
-
32
JJ
J4
J5
36
04
6
...
~
....
:N
16
17
18
02
5=t1
J7
J8
J9
....
;=J
15
A4
~
--.c'J--
...
.It
40
;=J
41
42
4J
44
45
14
A5
13
A6
12
A7
11
CH:
46
05
7
...
47
.
~
"J--
...
~
48
b-J
49
"
06
8
..
51
52
53
54
55
....
....
c'J--
.>
"
~t>1
51
58
59
60
61
62
63
07
9
.
11:
012 J
4567
891011
12131415
16171119
20212223
24252&21
28293031
....
....
Notes
Octal Comparator
PAL16C1
Octal Comparator.
PAL16C1
COMP8
OCTAL COMPARATOR
MMI SUNNYVALE ,CALIFORNIA
AD A1 A2 A3 A4 AS A6 A7 BO GND
B1 B2 B3 B4 EQ NE Bs B6 B7 vec
NE = AO*/BO
+ A1*/B1
+
A2~/B2
+ A3*/B3
+ A4*/B4
+ As*/Bs
+ A6*/B6
+ A7*/B7
FUNCTION
+ /AO* BO
+ /A1* B1
+ /A2* B2
+ /A3* B3
+ /A4* B4
+ /As* Bs
+ /A6* B6
+ /A7* B7
; COMPARE
; COMPARE
;COMPARE
; COMPARE
; COMPARE
;COMPARE
; COMPARE
;COMPARE
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/21/81
AD NE
A~ NE
A2 NE
A3 NE
A4 NE
AS NE
A6 NE
A7 NE
BO
B1
B2
B3
B4
Bs
B6
B7
T~LE
A7 A6 AS A4 A3 A2 A1 AD B7 B6 Bs B4 B3 B2B1 BO NE EO
;INPUT A INPUT B OUTPuTs
;76543210 76543210
NE EQ
COMMENTS
---------------~-----------------~~-------~-----,:,------------~BLLLLLLL LLLLLLLL
H L
A7-Jl, B7-L
LHLLLLLL LLLLLLLL
A6.H, B6-Ii
H L
LLHLLLLL LLLLLLLL
H L
As-H, Bs""L
LLLHLLLL LLLLLLLL
H L
A4-H, As-t
LLLLHLLL LLLLLLLL
H L
A3=H, B3=--L
LLLLLHLL LLLLLLLL
H L
A2=H, B2=L
LLLLLLHL LLLLLLLL
H L
A1-H, B1-L
LLLLLLLH LLLLLLLL
H L
AO-H, BO-L
LLLLLLLL HLLLLLLL
H L
A7=L, B7-H
LLLLLLLL LHLLLLLL
H L
A6=L, B6=H
LLLLLLLL LLHLLLLL
H L
As=L, Bs=H
LLLLLLLL LLLHLLLL
H L
A4=L, B4=H
LLLLLLLL LLLLHLLL
H L
A3"'L, B3=H
LLLLLLLL LLLLLHLL
H L
A2=L, B2=H
LLLLLLLL LLLLLLHL
H L
A1=L, B1=H
LLLLLLLL LLLLLLLH
H L
AO=L, BO=H
LLLLLLLL LLLLLLLL
L H
TEST ALL L'S
HHHHHHHH HHHHHHHH
L H
TEST ALL H'S
HLHLHLHL HLHLHLHL
L H
TEST EVEN CHECRERBOARD
LHLHLHLH LHLHLHLH
TEST ODD CHECRERBOARD
L H
HHLLHHLL HHLLHHLL
L H
TEST EVEN DOUBLE CHECRERBOARD
LLHHLLHH LLHHLLHH
L H
TEST ODD DOUBLE CHECRERBOARD
-------------------------------------------------------------
DESCRIPTION
THE OCTAL COMPARATOR ESTABLISHES WHEN TWO 8-BIT DATA STRINGS
(A7-AO AND B7-BO) ARE EQUIVALENT (EO"'H) OR !l>T EQUIVALENT (NE=H).
4-234
Octal Comparator
OCTAL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
COMPARATOR
000000010XOOOOLH0001
000000100XOOOOLH0001
000001000XOOOOLH0001
000010000XOOOOLH0001
000100000XOOOOLH0001
001000000XOOOOLHOOOI
010000000XOOOOLH0001
100000000XOOOOLHOOOI
OOOOOOOOOXOOOOLH0011
000000000XOOOOLHOI01
000000000XOOOOLH1001
OOOOOOOOOX0001LH0001
OOOOOOOOOXOOIOLH0001
OOOOOOOOOX01DOLHOOOI
OOOOOOOOOXIOOOLH0001
OOOOOOOOlXOOOOLH0001
O()OOOOOOOXOOOOHLOOOI
111111111X1111HLll11
Ol0101010X1010HL1011
10101010lXOI01BL0101
001100110X0110HL0111
110011001X1001BLI001
PASS SIMULATION
Octal, Comparator
OCTAL COMPARATOR
11 11.11 1111 2222 2222 2233
0123 45678901 2.345 6789 0123 4567 8901
24 -x25 ---x
26 x-27 -X28
29 -~30
31
32
33
34
35
36
37
38
39
--- -...--- ,---
----" -X--AO*/BO
..._--
-.,--
~--- -'-.-
-"!"'-- X:,,:,-- /AO*SO
~-.:..
X~-
-x-
------x
-..:x--x--... ---- <---- ---x
..:x--
--x-
x-- ---x
--x· x----X- -x-
---XA1*/B1
--X- /A1-*B1
A2*/B2
/A2*B2
A3*/B3
/A3*B3
A4*/B4
/A4*B4
A5*/B5
/A5*B5
A6*/B6
/A6*B6
A7*/B7
/A7*B7
-X- --X-
--x
-x-
LEGEND:
NUMBER OF
x:
---x
--x-
FUSE
FUSES
x--x---- x---- -x-
NOT BLOWN (L,N,O)
BLOWN =
480
-
: FUSE
BLOWN
(H,P,l)
Octal Comparator
Octal Comparator
AO
1
A1
2
A2
3
A3
4
.
Logic Diagram PAL16C1
012 J
.
4!i 67
891011
12131415
16111819
20212223
24252627
28293031
~
.
..
19
87
...
18
86
....
17
85
~
~
......
h
~
....
......
Z
14
25
26
27
28
29
30
A4
5
...
"
16
1
~
15
NE
EQ
"
84
32
J3
34
35
36
31
"
39
AS
6
7
A7
8
80
9
...
~
...
....
...
~
...
..
~
h
....
..
~
o1
2 3
4
~
a
7
Bill 0 11
12 13 14 15
161118 1
e
....
2021 2223
24252627
13
12
11
82
81
28291031
4-237
B
Notes
Between Limits Comparator
PAL16X4
vee
Gi'
IT
AD
A2
A3
EO
NE
PAL16C1
rnro
1
LTlL
2
GTlU
EQ1L
3
LTDL
(ffiU 4
vee
GTDU
EQ2u 5
BTWL
Ecill
7
GT3U
8
EQ3ij 9
Ne
EQ3L
GND
4-239
D
aetween Limits Comparator
Between Limits Comparator
Logic Schematic
~a:a:$
g~~iil
--
c:l~9c:l
UPPER LIMIT
CI CI
PAL16X4
CR·OU
cc
99
\
~GTOU
:; =::;-]
~~~~,~
~~~~~--------------------------~--------.
f--g:
I,,-!B=:O~+-t_+_t_il~.~ AND
I,,-!B=,:1--+-t_+_t_il
"'~ D.
I,-=B:.=2--+-t_+_t_il
::::.~ :.,,:,
B3
:::: ARRAY
~~+-I-+-t--[~:[H"
~
~l!l
~ 3iI
~~
~ Ii;!
~~
~r- ~
g'-~~~
LO~IT
PAL16X4
.--__.m:~;;;;C~R':{~-L
1m
~
I rrNjci
~>-+-rHHHR=_=_=-;;::=c=,=,....=_~_:!J
__
~
~
\
\
~
r-
f--g:
~B4!...-+-I-+-t-~;'[H AND
, 1,-!B5=--++-H--{J::;'!J-l ::.
B8
"i SATE
\
B7
::;
[l
[!
[!
li'-1TiJ
Ii'-~
~r-~
~r- ~
III '--, I=-J l.:J, 1m
fi>oL-lTiJ
~~
ARRAY
~~
tti~
...~~~!t-LT_OL____________________.......,
:.r:. . Ii'- ~
F.il ~GT1U
~1TiJ-
\
AND
[! xu:.
[!
~.!.!!-
..!.
r-
Ii'~- 1;;1~
I--~......,...----
~~
.---_ _ _ _--:---::_ _ _ _ _ _ _ _ _ _,..,.,..,_ _- - ,
__________.,--__-,-, ________'--,
!;: I , C R · 1 L
;;
cr
~r-~
m'- l.:J,1m
,'"
'~rm',
" ~~'
F.iJ ~LT1L
,
fttIo'---IlillF=--------,~ PAL,18C1
~
jl:![!:.AND .~~
L.[lt--l,
ITo!
I~
li'-1TiJ
,Ip
I;
~ >-+-t-++----=CR""'.2""U:--'-"~- 't:! ~~ li'-1TiJ
r;'
I;
f'-.!!
r;
li'-Im
..' a. t"'~
;::
til 1;;1
~GT2U
,""
t= J
1\
1
B
U
S
~,
_~',', : : ;
r;
H-ral--{_',!J-l
B6
B9
::F
E01U
",I.!
m'--,
t""~
AND
::.
I""B.::10~+-I-:-+-+-il
r:,~ .ATE
'1,-=B.:..:11~+-I*-+--{~l[H"·AY
~~ .-----------------......1
Ii
Q ~
1;;0
Ii"'
~ 1m
E02U
~
~Im
~ ITiJ
r.. "" '--____________----'
I '-!=--+-+-+-i--{J::;'[H
r;
.;::;
~ I;;L
F.;;E01L
1=-J1'""jl!a
~.2L
~~
'i
.--------{J;:;'!J-l
;:;
AND ~
1;;1
GATE~t:;;
ARRAYfl'
1::' --
r--tw
r--Iii:
~
r----il
rnl:~'-c: r-- ~
~
r--;=:g 1& ~L
'~l -+-hI-+-,----=::-=:-:-------1
I [!:..:. ~~
I'-.!!
~ 1;;1
r;
r.. Iii:
II'
L-F-
T2L
m
AND
I'..B10
~
CR-3U
~ ,..-- Sl
'---'-~""'I:!..r;,;u
j:;,
H
B12
1'-==--+--+-i-··...,r:·!.H AND
I""B1:.::3__+--+--t-~'l!'cH :"
I--.::;B1.:.;4__+__+_t_il
I'-!::B1~5__+__+_t_i!li
;:;".AY
J ..l.'
"":Jis::e
II
II
Ii!
I!!! GT3U
~
j-I>-'-~
~
'
~~
GATE
~
E02L
~
~t- ~
[!
m'- >- ~ 1m
If-~
il-l!l
il- ~
ji'I ' - - , - - - - - - - - - - - - - - - - - - - '
. - -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ____'
.,
1>0";;
l!o
~"!!:-
E03U
~~ ill ':':':::'::'-{~:rJ:;1;:::£=h:~=--tiJ~
-->--',.,. J!]
@
~ LT3L
Ir-:=;,
~
j
~l L...-.tl=tl====~::!JII . I:!11
~
~~~~~~-----------------------'
AND
::.
~ ,-----------,...-------{ [! :.~~
~
~~
".AY
[l
~
•
~~1TiJ~,"
~~
.".~EQ3L
~~~~~----------------------'
g"--~~~
4.240
,,
" ,",
OUTL
"
,B'TWL
.
Between Limits Comparator
PAL16X4
BLR
BETWEEN LIMITS COMPARATOR/REGISTER
MMI SUNNYVALE, CALIFORNIA
CLK LOAD CLEAR BO Bl B2 B3 NC /OC2 GND
/OCl /NE
/EQ A3 A2 Al AO /LT /GT VCC
IF (OC2)
IF (OC2)
LT
GT
(A3"'/B3)
+ (A3:"':B3)
+ (A3:"':B3)
+ (A3: '" :B3)
(/A3"'B3)
+ (A3:"':B3)
+ (A3:"':B3)
+ (A3:"':B3)
'"
'"
'"
(A2"'/B2)
(A2: '" :B2)
(A2:"':B2)
'"
'"
'"
(/A2"'B2)
(A2: '" :B2)
(A2:"':B2)
'"
(A2:"':B2)
'"
'"
'"
'"
'"
PAL DESIGN SPECIFICATION
BIRKNER/COLI 07/12/81
(Al"'/Bl)
(Al:"':Bl)
(/Al"'Bl)
(Al:"':Bl)
(AO"'/BO)
;B3=L,
;B2=L,
;Bl=L,
;BO=L,
A3=H
A2=H
Al=H
AO=H
'"
(/AO"'BO)
;B3=H,
;B2=H,
;Bl=H,
;BO=H,
A3=L
A2=L
Al=L
AO=L
'"
(AO: '" :BO) ;COMPARE EQUAL
'"
IF (OC2)
EQ
(A3:"':B3)
IF (OC2)
NE
(A3:+:B3) + (A2: +:B2) + (Al:+:Bl) + (AO:+:BO) ;COMPARE NOT EQUAL
(Al:"':Bl)
/A3 := (/A3) "'/LOAD
+ (/B3) '" LOAD.
+ CLEAR
; HOLD REG A3
; LOAD REG A3
;CLEAR REG A3
/A2 := (/A2) "'/LOAD
+ (/B2) '" LOAD
+ CLEAR
; HOLD REG A2
; LOAD REG A2
,CLEAR REG A2
/Al := (/Al) "'/LOAD
+ (/Bl) '" LOAD
+ CLEAR
; HOLD REG Al
; LOAD REG Al
;CLEAR REG Al
/AO := (/AO) "'/LOAD
+ (/BO) '" LOAD
+ CLEAR
,HOLD REG AO
; LOAD REG AO
; CLEAR REG AO
DATA 16
BUS -r----1r----i
16-BIT
(UPPER
liMIT)
7
oun
COMPARE
lOGIC
2
CLEAR
lOAD
BTWl
ClK
4·241
Between Limits. Comparator
FUNCTION TABLE
CLK lOCI IOC2 LOAD CLEAR B3 B2 B1 BO A3 A2 Al AO LT EQ NEGT .
1CONTROL
loc
OPERATIONS
LOAD CLEAR
lCLK 1 2
C
C
X
X
X
C
L
L
L
L
L
L
X
X
L
L
X
X
C
L X
X
L L
X
L X
L
L
H
L
L
L
L
H
L
L
L
L
L
H
L
L
L
L
L
H
L
L
L
L
L
X H X
X
X
X
X
X
X L L
X
L L
X L X
C L X
C
L X
X
X
X
X
L
L
L
L
L
L
L
X
H
L
L
L
X
H
L
L
L
L
X
H
L
L
L
L
C
L X
X
C
X
X
X
L
L
L
L
H
L
C
X
L
L
X
X H
L
BUS
BBBB
3210
AAAA
REG
XXX X
LLLL
LLLL
LLLH
XXXX
XXXX
LHLH
LLLL
LHLH
HHHH
XXXX
XXXX
HLHL
LHLL
HLHL
HLHH
XXXX
XXXX
HHHH
HHHL
HHHH
XXXX
XXXX
XXXX
XXXX
LLLL
LLLL
LLLL
LLLL
LLLL
LLLL
LHLH
LHLH
LHLH
LHLH
LHLH
LLLL
HLHL
HLHL
HLHL
HLHL
HLHI,
LLLL
HHHH
HHHH
HHHH
HHHH
HHHH
ZZZZ
XXXX
3210
--STATUS--LT EQ NE GT
COMMENTS
(HEX VALUES)
X
X
L
L
X
X
X
H
L
L
X
X
X
H
L
L
X
X
X
H
L
X
X
X
X
H
L
X
X
X
L
H
L
X
X
X
L
H
L
X
X
X
L
H
X
X
X
X
L
H
X
X
X
H
L
H
X
X
X
H
L
H
X
X
X
H
I,
X
X
X
X
L
H
X
X
X
L
L
H
X
X
X
L
L
H
X
X
X
L
L
X
X
Z
Z
Z
Z
CLEAR REG
LOAD REG (0)
COMPARE (0 EQ 0)
COMPARE (1 GT 0)
READ REG (0)
CLEAR REG
LOAD REG (5)
.COMPARE (0 LT 5)
COMPARE (5 EQ.5)
COMPARE (F GT 5)
READ REG (5)
CLEAR REG
LOAD REG (A)
COMPARE (4 LT A)
COMPARE (A EQ A)
COMPARE (B GTA)
READ REG (A)
CLEAR REG
LOAD REG (F)
COMPARE (E LT F)
COMPARE (F EO F)
READ REG (F)
HOLD (F)
TEST HI-Z (/OC1=H)
TEST HI-Z (/OC2=H)
x x x x
DESCRIPTION
THE DEVICE CONTINUOUSLY COMPARES THE VALUE OF BUS (B3-8O) WITH THE VALUE OF
THE REGISTER (A3-AO) AND REPORTS THE STATUS ON OUTPUTS LT, EQ, NE, AND GT:
*
*
*
*
lOCI
LT
EQ
NE
GT
IOC2
H
X
L
X
X
X
X
4·242
INDICATES
INDICATES
INDICATES
INDICATES
.CLK
LOAD
THAT
THAT
THAT
THAT
B
B
B
B
IS LESS
THAN A
IS
EQUAL
TO A
IS NOT EQUAL TOA
IS GREATER THAN A
CLEAR
STATUS
LT EQ NE GT
X
H
x
X
x
x x x x
X
X
Z
X
X
X
C
C
X
L
H
L
X
C
X
L
x
L
X
L
L
L
H
L
Z
Z
Z
BUS
B3-BO
REG
A3-AO
x
Z
X
A
B
A
L
A
x
x X x X
x x x x
x x x x
x x x X
X
B
X
STATUS
B
X
OPERATION
REG HI-Z
STATUS HI-Z
READ REG
LOAD REG
HOLD
CLEAR REG
COMPARE
Between·. Llmits;Comparator
BETWEEN LIMITS COMPARATOR/REGISTER
1 CXIXXXXXXXOXXLLLLXXI
2 CI00000XXXOXXLLLLXXI
3 XOOOOOOXOXOHLLLLLBHl
4 XOOI000XOXOLBLLLLHLI
5 xOOxXXXXXXOXXLLLLXXl
6 CXIXXXXXXXOXXLLLLXXI
7 CI0I0I0XXXOXXLHLHXXI
8 XOOOOOOXOXOLHLHLHLHI
9 XOOI0I0XOXOHLLHLHHHI
10 XOOIIIIXOXOLHLBLHHLI
11 XOOXXXXXXXOXXLHLHXXI
12 CXIXXXXXXXOXXLLLLXXI
13 CI00I0IXXXOXXHLBLXXI
14 XOOOOI0XOXOLBHLHLLHI
15 XOOOI0IxOXOHLHLHLBHl
16 XOOllOIXOXOLBHLHLHLl
17 XOOXXXXXXXOXXHLHLXXI
18 CXIXXXXXXXOXXLLLLXXI
19 CI01111XXXOXXHBHHXXI
20 XOOOlllXOXOLHHHHHLHl
21XOOlll1XOXOHLBHHHHHl
22 XOOXXXXXXXOXXHBHHXXI
23 COOXXXXXXXOXXHBHHXXI
24 XXXXXXXXXXIXXZZZZXXI
25 XXXXXXXXIXXZZXXXXZZI
PASS SIMULATION
Between Limits Comparator
BE'l'WEEN LIMITS COMPARATOR/REGISTER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o
----------------
------------xxx-
---------xxxx--x
----------------
-x--------------
OC2
/A3*B3
A3:*:B3*/A2*B2
A3:*:B3*A2:*:B2*/A1*B1
A3:*:B3*A2:*:B2*A1:*:B1*/AO*BO
10
11
12
----------------
-------------xxx
------- -------xxx ------- -xxx x--x ----xxx x--x x--x ---x--x X--X x--x ----
-x--------------
OC2
A3*/B3
A3:*:B3*A2*/B2
A3:*:B3*A2:*:B2*A1*/B1
A3:*:B3*A2:*:B2*A1:*:B1*AO*/BO
16 -x-17 x--18 ----
---- xx-- ----x-x ---x--- ---- ----
---- /AO*/LOAD
---- /BO*LOAD
---- CLEAR
1 ----
2 ---3
4
8
9
------xxxx--x
x--x
---xxxx--x
x--x
x--x
24
25
26
-x-x---
---- xx----- -x-x ---x--- ---- ---- ----
---- /A1 */LOAD
---- /B1 *LOAD
---- CLEAR
32
-x-x---
---- ---- XX----- ---- ---- -X-X ----
---- /A2*/LOAD
---- /B2*LOAD
CLEAR
33
34
40
41
42
-x-x---
48
49
56
57
58
59
60
LEGEND:
x---
x---
---- xx-- ------- ---- -x-x ----
/A3*/LOAD
/B3*LOAD
---- ---- ---- ---- ---- CLEAR
---- ---- ---- ---- ---- ---- -x-- OC2
---- x--x x--x x--x X--X ---- ---- A3:*:B3*A2:*:B2*A1:*:B1*AO:*:BO
---- ------- ------- -------
x:
-xx-
-x--------
-xx-xx---- -~--xx- ---- ---- ---- ---- ----
FUSE NOT BLOWN (L, N, 0)
NUMBER OF FUSES BLOWN =
832
OC2
A3:+:B3
A2:+:B2
A1:+:B1
AO:+:BO
- : FUSE BLOWN
(H,P;l)
Between Limits Comparator
Logic Diagram PAL16X4
Between Limits ComparatorIRegister
ClK
I
o
lOAD
2
...
1 2 3
4 5 6 7
8 9 1011
12131415
16171819
20212223
24252627
28293031
....
8
9
10
11
"
13
14
15
CLEAR
3
...
....
16
17
18
"
;;;:;
2Om~§3fi§EimEmEm3~
11
21
23
BO~
t!go"
B3
7
50
51
52
53
54
NCB
..
55
56
57
58
59
"
OC2
9
.
61
51
6l
...
0123
"561
B 91011
12131415
16171819
20212223
24252621
2829JD31
4·245
Between Limits Comparator
PAL16C1
PAL DESIGN SPECIFlCA'l'ION
BLL
BIRKNER/COLI 07/12/81
BETWEEN LIMI'l'S COMPARATOR/LOGIC
MMI SUNNYVALE, CALIFORNIA
/EQ1U /L'l'lL /EQ1L /G'l'2U /EQ2U /L'l'2L /EQ2L /G'l'3U /EQ3U GND
/L'l'3L /EQ3L
NC
NC
BTWL 0U'l'L /G'l'OU /LTOL /GT1UVCC
OU'l'L .. G'l'3U
+ EQ3U
+ EQ3U
+ EQ3U
+ LT3L
+ EQ3L
+ EQ3L
+ EQ3L
7GT CR-3U
* GT2U
,EQ CR-3U, GT CR-2U
* EQ2U * GT1U
7EQ CR-3U, EQ CR-2U, GT CR-1U
* EQ2U * EQ1U * GTOU 7EQ CR-3U, EQ CR-2U, EQ CR-1U, GT CR-OU
7LT CR-3L
* LT2L
7EQ CR-3L, LT CR-2L
* EQ2L * LT1L
7EQ CR-3L, EQ CR-2L, LT CR-1L
* EQ2L * EQ1L * LTOL 7EQ CR-3L, EQ CR-2L, EQ CR-1L, LT CR-OL
FUNCTION TABLE
G'l'3U EQ3U EQ3L LT3L GT2U EQ2U EQ2L L'l'2L GT1U EQ1U EQ1L LT1L G'l'OU LTOL 0U'l'L BTWL
, COMPARATOR REGISTERS
7CR-3
7GEEL
,TQQT
7UULL
CR-2
GEEL
CR-1 CR-O
GEEL G L
TQQT TQQT T T
UULL UULL U L
0U'1'PU'l'S
0U'l'L BTWL
COMMENTS
----------------------------------------------------------------HLLL
LHLL
LHLL
LHLL
LHLL
LHLL
LHLL
LHLL
LHLL
LLBt
LLHL
LLHL
LLHL
LLHL
LLHL
LLHL
LLHL
LLLH
XXXX
HLLL
LHLL
LHLL
LHLL
LHLL
LHLL
LLHL
LLLH
HLLL
LHLL
LLHL
LLHL
LIm.
LLHL
LLHL
LLLH
xxxx
XXXX
XXXX
HLLL
LHLL
LHLL
LLHL
LLLH
XXXX
XXXX
XXXX
XXXX
BtLL
LHLL
LLHL
LLHL
LLLH
XXXX
XXXX
x
X
X X
X .X
X
X
X
X
X
X
H
H
H
L
L
L
L
L
L
L
X
L
X
I!
H L
L H
X
X
X
X
X
X
X
X
H L
L H
X
X
x
H
X
X
X
L
H
H
H
H
L
L
L
L
II
H
H
H
H
H
H
H
H
H
L
L
L
L
OUT OF LIMITS (GT3U=H)
OUT OF L~TS (G'l'2U=H)
OUT .OF LIMITS (GT1U=H)
OUT OF LIMITS (GTOU=H)
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN LIMITS
BETWEEN
LIMITS
.
.
BETWEEN LIMITS
BETWEEN LIMITS
OUT OF LIMITS (LTOL-H)
OUT OF LIMITS (LT1L=H)
OUT OF LIMITS (LT2L-H)
OU'!' OF LIMITS (LT3L=H)
----------------------------------------------------------------DESCRIPTION
THE BETWEEN LIMITS LOGIC CHECKS THE LT, EQ, AND GT STATUS PROM THE
COMPARATOR REGISTERS TO DETERMINE IF THE DATA IS BETWEEN THE t]PP]i:R,
AND LOWER LIMITS LOADED IN THE COMPARA'I'pR REGIS~. BOTH BETWEEN
LIMITS (BTWL) AND OUT OF LIMITS (OU'l'L) OUTPUTS ARE PROVIDED.
4·246
Between Limits Comparator
BETWEEN LIMITS COMPARATOR/LOGIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
XXXXXXX01XllXXLBXXX1
XXX011110X11XXLRXXX1
111101110X11XXLHXX01
011101110X11XXLH0111
011101110X11XXBL1011
110101110X11XXBLXX11
101101110X11XXBLXX11
XXX111010X11XXBLXXX1
XXXllOllOXllXXBLXXX1
XXX011111X10XXHLXXXl
XXX10111lX10XXBLXXX1
11111101lXIOXXBLXX01
011111011X10XXHLXX11
110111011X10XXBL0111
110111011X10XXLH1011
101111011X10xxLBXX11
XXXll0111X10XXLBXXX1
XXXXXXX11X01XXLBXXX1
PASS SIMULATION
4-247
Between Limits. Comparator
BETWEEN LIMITS COMPARA'l'OR/LOGIC
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
24
25
26
27
28
29
30
31
-x----------x ---- ---- -x-x ---- ---- ----
----x--x--x----- ---- ---- ---- ---- ---- ---- ---x
---- ---- ---- ---- -x-- ---- ---x ----x-- ---- ---- ---- ---- -x-- ---x ------- -x-- ---x ---- ---- -x-- ---x ------- ---- ---- ---- ---- ------- ---- -x-- ---- ---- ------- ---x ---- -x-- ---- ----
LEGEND:
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
4-248
236
GT30
EQ30*GT20
EQ30*EQ20*GT10
EQ30*EQ20*EQ10*GTOO
LT3L
EQ3L*LT2L
EQ3L*EQ2L*LT1L
EQ3L*EQ2L*EQ1L*LTOL
- : FUSE BLOWN
(B,P,l)
Between Limits Comparator
Between Limits Comparator/Logic
0123
1
2
EQ1L
GT2U
3
4
4567
891011
12131415
Logic Diagram PAL16C1
16111819
20212223
24252621
28293031
...
~
.....
19
Jt:
""
...
...
.....
.....
.....
GT1U
18
17
GTOU
Z4
15
""
"'"
5
...
3D
J1
16
.I
~
15
OUTLD
BTWL
J2
3J
34
l5
J6
37
3B
"
LT2L
EQ2L
6
7
...
...
A
--N
...
.
8
...
9
.
A
14
13
NC
NC
~
A
...
....
12
11
o
I 2 J
4 fI 8- 7
191011
U 1314 15
16171819
20212ZZJ
24252627
. LT3l
28293031
4-249
.
Notes
4-250
Memory Mapped Printer
PAL16H2
vee
Viii
RO
WRITE
A2
AS
PAL20X8
vee
07
P07
PD8
...............ro....J....
P05
P03
P02
19
Memory Mapped Printer
r----=
• t
TRS-80 EXPANSION CONN.
SYSTEM DATA BUS
AD
A15
Al4
TRS·80 EXPANSION CONN.
SYSTEM BUS
~AD
20 24 28 18
07 06 05 04
26 322230
030201 DO
~
10""
Al3
A12
A11
......
.......
A10
A9
A8
30
745387
)0-
Z.n
.
~
A7
I
I
74LS175
CKe
I.
74LS175
-r-
CK
I
+5
(
A6
20K
A5
A3
~
30
~
AAS
A2
v~
74LS123
'~
~
.,
,
Q
R = 20K
~C,=300Pf
.2:
\"),
+
P 'S
'R T
I R
N 0
T B
E
WRiTE", ,
P
A
P
E
R
B
U
S
Y
070605,04
03,0201 DO
PRINTER (37E8 HEX)
"
°TRS-80 IS A TRADEMARK OF TANDY RADIO SHACK
+5
+r-
TRS-80 EXPANSION CONN.
SYSTEM DATA BUS
Y
15
Rp
7
10
A15
A14
6
A13
3
5
9
A12
A11
4
4
A10
6
17
11
A9
7
AS
8
36
36
A7
2
;
9
11
35
AS
12
34
40
A3
,A2
13
14
RAS
17
19
WR
f
16 READ
I
24
8
1
15 WRITE
+5
5 6
7
I
9 12 13 10 11 22 21 20 19 18 17 16 15
lLf
R
>--
R
C
74LS123
+
= 20K
= 200pf
S
T
R
0
"TRS-80 IS A TRADEMARK OF TANDY RADIO SHACK
3 4
PAL20X8
~ L
f"v
23 14 2
PAL
16H2
10
,
20 24 28 18 28 32 22 30
07 D6 05 04 03 02 01 DO
1
5
AS
13
20
18.
1
TRS·80 EXPANSION CONN.
SYSTEM DATA BUS '
,
B
E
B
U
S
Y
P 07060504030201 DO
A
P
PRINTER
E
(37E8 HEX)
R
Memory Mapped Printer
PAL16H2
PAL DESIGN SPECIFICATION
MMPD
DICK JONES
07/07 /Sl
MEMORY MAPPED PRINTER DECODER
MMI FIELD APPLICATIONS ENGINEER LOMBARD, ILLINOIS
A15 A14 A13 A12 All A10 A9 AS A7 GND
A6 AS A3 A2 WRITE READ /RAS /RD /WR vec
WRITE = /A15*/A14*A13*A12*/All*A10*A9*AS*A7*A6*A5*A3*/A2*RAS*WR
READ
= /A15*/A14*A13*A12*/All*A10*A9*AS*A7*A6*A5*A3*/A2*RAS*RD
FUNCTION TABLE
A15 A14 A13 A12 All A10 A9 AS A7 A6 AS A3 A2 RAS RD WR WRITE READ
1AAAA AAAA AAA AA RRW
WR
11111 1198 765 32 ADR
15432 10
S
RE
LLBB LBBB HBB BL
LLBB LHBB HBB BL
XXXX XXXX xxx XX
XXXX XXXX XXX XX
IA
TO
E
BLH
BL
BBL
LB
LXX
LL
LL
BLL
COMMENTS
WRITE WHEN 37E8 HEX
READ WHEN 37ES HEX
RAS NOT PRESENT
NOT READ OR WRITE
DESCRIPTION
THIS IS A MEMORY DECODER FOR A PRINTER. THE PRINTER
IS MAPPED TO HEX ADDRESS 37E8. THE WRITE OR READ LINES
GO HIGH WHEN ADDRESS LINES ARE CORRECT AND A WRITE OR
READ STROBE RESPECTIVELY IS PRESENT.
THIS IS THE FIRST IC OF A 2-PAL PRINTER INTERFACE FOR
THE STANDARD CENTRONICS-TYPE PRINTER.
MEMORY MAPPED PRINTER DECODER
1
2
3
4
001101111X1110BL0101
001101111X1110LH0011
XXXXXXXXXXXXXXLL1XX1
XXXXXXXXXXXXXXLL0111
PASS SIMULATION
4 .. 253
Memory Mapped Printer
MEMORY MAPPED PRINTER DECODER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
24
-x-x x--- x--x -x-x x--x x-x- x-x- .x-x-
/A15*/Al4*Al3*Al2*/Al1*AlO*A9*-
32
-x-x x--x x--- -x-x x--x x-x- x-x- x-x-
/Al5*/Al4*Al3*Al2*/Al1*AlO*A9*-
LEGEND:
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN·
34
- : FUSE BLOWN
(H,P,l)
Memory Mapped Printer
Memory Mapped Printer Decoder
A15
A14
1
2
... :lit
...
0123
4 J 51
II 91011
12131415
Logic Diagram PAL16H2
16171819
20212223
24252627
28293031
I
...
... >.
111::
....
19
,
,
A13
A12
J
,
... :lit
...
....
...
... :lit
111::
....
18
17
14
25
26
27
28
29
"""
1.
"""
15
READ
30
A11
5
...
... :lit
J1
32
33
J4
35
36
J7
38
WRITE
3'
A10
6
A9
7
AS e
A7
9
...
...
... :lit
I.
....
...
... :lit
"
...
...
... :lit
...
....'
....
4 5 6 1
a9
1011
121314 15
161118 19
2021 22 2~
24252621
A3
....
....
" A5
....
....
11
111::
0, 1 2 3
13
A2
A6
2B 29 30 31
4·255
Memory'Mapped Printer
PAL20X8
PAL DESIGN SPECIFICATION
PDRM
DICK JONES
07/07/81
PRINTER DATA REGISTER/MUX
MMI FIELD APPLICATIONS ENGINEER LOMBAlID, ILLINOIS
WRITE D5 D4 D3 D2 D1 DO READ NC BUSY PAPER GND
/EN D6 PDO PD1 PD2 PD3 PD4 PD5 PD6 PD7 D7 vec
IF (READ) /07
- /BUSY
/PD7 := /07
/PD6
:=
:READ PRINTER STATUS -BUSY
: LOAD MSBTO PRINTER
/D6
: LOAD PRINTER
/PD5 :- /05
: LOAD PRINTER
/PD4 :- /04
: LOAD PRINTER
/PD3 := /D3
: LOAD PRINTER
/PD2 := /02
: LOAD PRINTER
/PD1
:=
/D1
/PDO :- /DO
IF (READ) /06
• /PAPER
: LOAD PRINTER
: LOAD LSB TO PRINTER
: READ PRINTER STATUS - PAPER OUT
FUNCTION TABLE
WRITE BUSY PAPER READ D7 D6 D5 D4 D3 D2 D1 DO PD7 PD6 PD5 PD4 PD3PD2 PD1 PDO
:WSPR DDDDDDDD PPPPPPPP
:RUAE 76543210 DDDDDDDD
: ISPA
76543210
:TYED
:E R
LHLH
LLHH
CXXL
CXXL
CXXL
CXXL
COMMENTS
HLXXXXXX
LHXXXXXX
ZZXXXXXX
LLLLLLLL
HLHLHLHL
HHBHHBHH
XXXXXXXX
XXXXXXXX
XXXXXXXX
LLLLLLLL
HLHLHLHL
HHH8BBHB
READ PRNTR STATUS
READ PRNTR STATUS
TEST HI-Z
LOAD DATA TO PRINTER
LOAD DATA TO PRINTER
LOAD DATA TO PRINTER
----------------------------------~-----------~--
4-256
Memory Mapped Printer
DESCRIPTION
REGISTERED DATA FRO,", THE SYSTEM BUSS IS PRESENTED TO THE PRINTER WHEN A WRITE
STROBE FROM THE DECODER IS PRESENT (DJPR1).
PRINTER STATUS DATA (P~INTER BUSY AND OUT OF PAPER) IS TRANSFERED
TO THE SYSTEM DATA BUSS WHEN A READ STROBE FROM THE DECODER IS PRESENT.
THIS IS THE SECOND IC OF THE 2-PAL PRINTER INTERFACE FOR THE
STANDARD CENTRONICS-TYPE PRINTER.
PRINTER DATA REGISTER/MUX
1
2
3
4
5
6
OXXXXXX1X10XXLXXXXXXXXHl
OXXXXXX1X01XXHXXXXXXXXLl
CXXXXXXOXXXXXZXXXXXXXXZl
COOOOOOOXXXXXOLLLLLLLLOl
C1010100XXXXXOLHLHLHLHll
CllllllOXXXXX1HHHHHBBHll
PASS SIMULATION
4 .. 257
Memory Mapped Printer
PRINTER DATA REGISTER/MUX
11 llll llll 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
----
o
1
8
x--
--x ----
---~
/BUSY
"!--- /D7
---x
16
24
READ
-x--
-x--
32
/D5
-x--
/D4
-x--
40
/D3
-x-
48
/D2
-x--
56
/Dl
-x--
64
/DO
x--
72
73
LEGEND:
/D6
x:
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW =
468
READ
-x-- /PAPER
- : FUSE BLOWN
(H,P,l)
Memory Mapped Printer
Printer Data Register/Mux
WRITE
Logic Diagram PAL20X8
1
0111
·
4
S
67
8
S lDll
1213141\
16111&19
20212223
24202621
28293031
l23Jl4H
163JlB]9
,
05
··
-Q-,9D~-
"
3
~-
:Q:r~D;;;;::.
-
-I\t',
"
03 ~
"
"
5
01 6 -
...
~D
-
"
"
.....
7
...
,.
,......
B
~
..
~D
-
"
~
"
"
~
9
..
8~
"
10
tLIl
....
20
P05
P03
~ PO
~
P01
tQJ~
POO
tl1l
....
~
,....,
"
"
"
"
11
tQ]
~
,....,.~D-
."
IAPER
~
~ P04B
..-
~~D
-
"
BUSY
~
I;J.
~D
-
"
NC
P07
~
...
.~
"
"
"
READ
~~
~2 P06
IDD--
"
"
DO
07
~
""
"
02
23
-
~
'"
D4
,....,.
~D--P I
,
,
~.~
>----t>
:J
">
o
1
2 3
4
5
6
7
' 9 ' 0 It
12 IJ 14 IS
16!1 1819
21121
n
2l
24252627
212930 JI
32 ll34
n
14
~
1& Jllll9
4·259
06
Notes
4-260
Craps Game
'r:
PAL16R4
WiN
LOsE
A
i
C
NC
NCA
NC
PAL16R6
PAL16R4
PAL16L8
vcc
vcc
is
2"
QO
46
"7
Q1
2i
NC
Q2
'is
NC
Q3
NC4S
PaS
P4s
P2S
NC
54
NC2i
P'iS
Nc1S
11
SWCiJ(
vcc
iiOIT
R
".
CK
OND
NC
Os
SWcK
NC
NC
OND
OND
Craps Game
A Game of Chance
This application note describes the use of PALs to simulate the
dice game "Craps". The design requirements were derived from
the basic rules of the game which are listed below.
1. The player throws two dice. The number will be between 2
and 12.
There are four PALs used in this design, which are:
ICI 8-State Machine and Win-Lose Decoder
IC2 36-State Machine
IC3 Dice Decoder
IC4 Store Point and 12, 17, and III Decode
2. He wins if the number is 7 or 11. He loses if the number is 2.
which is called "snake eyes".
3. Any number other than 2, 7, or 11 is the player's point.
4. Player continues to roll if a point is indicated on the first roll.
5. The player loses if he throws 7 or lIon a subsequent roll.
6. The player wins if he throws a point on a subsequent roll.
7. The player continues to roll until a win or a loss is indicated.
Not included in this application note are three more ICs. These
are a 74LS85 (Magnitude Comparitor), used to compare the
stored point to the roll of the dice on second and subsequent
rolls, and two Binary-to-Seven Segment Decoders, used to drive
the LED displays.
Craps Game
PAL16R4
ICI
8-STATE MACHINE AND WIN-LOSE DECODER
MMI FIELD APPLICATIONS ENGINEER DALLAS, TEXAS
CLK /ROLL /2 /7 /11 CP NC NC /T GND
/OC NC /NCA NC /C /B /A /LOSE /WIN VCC
PAL DESIGN SPECIFICATION
BRAD MITCHELL 04/07/81
IF (VCC) WIN
A* B*/C
;DECODE THE WIN STATE
IF (VCC) LOSE
A*/B* C
;DECODE THE LOSE STATE
A* B*/C*/ROLL
;STATE DECODES DERIVED
;FROM THE KARNAUGH MAP
;NCA IS ADDITIONAL DECODE FOR A
IF (VCC) NCA
+ A*/B* C*/ROLL
+ /A* B* C*/ROLL
A := /A* B*/C*/ROLL* 7
* T ;STATE DECODES DERIVED
+ /A* B*/C*/ROLL
* 11
* T ;FROM THE KARNAUGH MAP
+ /A* B*/C*/ROLL
* 2
* T
+ A*/B*/C*/ROLL*/7*/11
*/Cp* T
+ A*/B*/C*/ROLL* 7
* T
+ A*/B*/C*/ROLL
* 11
* T
+ A*/B*/C*/ROLL
* cp* T
+ NCA
*/ROLL
* T ;PICK ADDITIONAL DECODE LOGIC
;FROM NCA
B := /A*/B* C*/ROLL
*
+ /A* B*/C*/ROLL* 7
*
+ /A* B*/C*/ROLL
* 11
*
+ /A* B*/C
*/7*/11*/2
*
+ A*/B*/C* ROLL*/7*/11
*/CP*
+ A*/B*/C*/ROLL
* CP*
+ A* B
*/ROLL
*
+
B* C* ROLL
*
T ;STATE DECODES DERIVED
T ;FROM THE KARNAUGH MAP
T
T
T
T
T
T
C := /A* B*/C*/ROLL
* 2
+ /A* B*/C* ROLL*/7*/11*/2
+ A*/B*/C*/ROLL* 7
+ A*/B*/C*/ROLL
* 11
+ /A*/B
* ROLL
+ A
* C*/ROLL
+ /A* B* C* ROLL
T
T
T
T
T
T
T
*
*
*
*
*
*
*
4·263
Craps· Game
FUNCTION TABLE
CLK ROLL 7 11 2 CP NCA TAB C LOSE WIN
;-INPU'l'S1CR712CNT
1LO 1 PC
;XL
-OUTPOTSABC
L W
o
I
S N
E
A
1 L
COMMENTS
------------------------------------------------------------------------TEST· INITIATION AND GAME START
CBXXXXXL
CBXLXXLB
CBXXXXLB
CLXXXXLB
CLBLXXBB
CLXXXXHB
CBXXXXLH
CBXxxxLB
CLXXXXLB
CLXxBxHB
CLXXXXBB
CBXXXXLB
CBXXXXLB
CLXXXXLB
CLLL~LB
CHLLLXLB
CBXXXXLB
LLXXXXHB
CLXXXXLB
CLLLXHBB
CBXXXXLB
CHXXXXLB
CLXXXXLB
CHLLLXLB
LLXXXXHB
CLXXXXLH
CLHBXXBB
LLL
LLB
LLH
LBL
HBL
HHL
ttL
LLH
LBL
HLB
HLB
LLL
LLH
"LBL
LBL
LHB
LBB'; .
xxx
liLL
HHL
LLL
LLB
LliL
LHB
XXX
HLL
BLB
L L
L L
L L
L L
L H.
L B
L L
L L
L L
H L
H L
L L
L L
L L
L L
L L
L L
LL
L L
L B
L L
L L
L L
L L
L L
L L
B L
WIN BECAUSE A 7 WAS ROLLED
BOLD WIN WHEN NOT ROLLING
RESTART GAME
LOSE BECAUSE OF 2 ON FIRST ROLL
. BOLD LOSE WHEN NOT ROLLING
RESTART GAME
WIN BECAUSE POINT WAS MATCHED
RESTART GAME
LOSE BECAUSE 7 OR 11 WAS ROLLED ON SECOND ROLL
-------------------------------------------~----------------------------~-----DESCRIPTION
THIS PAL SERVES AS THE MAIN LOGIC UNIT. IT IS THE 8 STATE MACHINE WHICH
CO~LS WHERE WE ARE IN THE GAME.
IT ALSO DETECTS THE WIN AND LOSE STATES.
PIN IT IS USED TO INITIATE THE GAME TO STATE 000 FOR I.C. TEST EQUIPMENT.
Craps Game
8 STATE MACHINE & WIN-LOSE DECODER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22·
23
24
25
26
27
COXXXXXX1XXXXXHHHHBI
COXXIXXXOXXXXBI.HHHHl
COXXXXXXOXXXXHLHHHHl
CIXXXXXXOXXXXBBLBBHl
CIXOIXXXOXXXXLBLLBLI
CIXXXXXXOXXXXLHLLBLI
COXXXXXXOXXXXBBHHHHl
COXXXXXXOXXXXHLBHHHl
CIXXXXXXOXXXX~HHHl
CI0XXXXXOXXXXLLHLLHl
CIXXXXXXOXXXXLLHLLHl
COXXXXXXOXXXXBBHBBHl
COXXXXXXOXXXXHLBBBHl
CIXXXXXXOXXXXBBLBBBl
CIIIIXXXOXXXXBBLHBBl
C0111XXXOXXXXHLLHBBl
COXXXXXXOXXXXHLLHBBl
01XXXXXXOXXXXLXXXBBl
CIXXXXXXOXXXXBBBLBHl
CIXl11XXOXXXXI.BLI.BLl
COXXXXXXOXXXXBBHHHHl
COXXXXXXOXXXXBI.HHBBl
CIXXXXXXOXXXXBBLBBBl
COIIIXXXOXXXXHLLHBBl
01XXXXXXOXXXXLXXXHHl
CIXXXXXXOXXXXBBBLBHl
CIXOOXXXOXXXXLLBLLBI
PASS SIMULATION
Craps Game
8-STATE MACHINE AND WIN-LOSE DECODER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
0
1
8
9
16
17
18
19
20
21
22
23
---x ---x --x-
---- A*B*/C
---x
-xxx--x----xx--- -x-- --xx--x
x--x---x-x
x-----x
x-----x
x---
--x- ---x
---x --x-x-x --x---x --xx-x- -xx--x- --x-xx- --x--x- x-x-
A*/B*C
x--x--x---
--x---x
-x-x
x--x
x-x--x---x
---x
24
25
26
27
28
29
30
31
--x-xx--xx--- x-xx--x
-x-x-----x
x-----x
-x--
-x--x--x--x--x--x--x----x -x--
/A*B*/C*/ROLL*7*T
/A*B*/C*/ROLL*ll*T
/A*B*/C*/ROLL*2*T
A*/B*/C*/ROLL*/7*/11*/CP*T
A*/B*/C*/ROLL*7*T
A*/B*/C*/ROLL*ll*T
A*/B*/C*/ROLL*CP*T
NCA*/ROLL*T
---x
-x--x--x--x--x--x--x--x--
/A*/B*C*/ROLL*T
/A*B*/C*/ROLL*7*T
/A*B*/C*/ROLL*ll*T
/A*B*/C*/7*/11*/2*T
A*/B*/C*ROLL*/7*/11*/CP*T
A*/B*/C*/ROLL*CP*T
A*B*/ROLL*T
B*C*ROLL*T
32
33
34
35
36
37
38
x--- -x-- --x- ---x --x-x-- x--- x-x- x--x --x-x-x --x- --xx--x-----x -xx- --x-x---x- --xx-----x
---x
-x---x- ---x ---x
-x--x--x--x--x--x--x--
/A*B*/C*/ROLL*2*T
/A*B*/C*ROLL*/7*/11*/2*T
A*/B*/C*/ROLL*7*T
A*/B*/C*/ROLL*l1*T
/A*/B*ROLL*T
A*C*/ROLL*T
/A*B*C*ROLL*T
48
49
50
51
x--x---
X---'
LEGEND:
---x
--x--x--x-xxx-x-
---x ---x --x---x --x- ---x
--x- ---x ---x
X : FUSE NOT BLOWN (L,N,Ol
NUMBER OF FUSES BLOWN
842
A*B*/C*/ROLL
A*/B*C*/ROLL
/A*B*C*/ROLL
FUSE BLOWN
(H,P,ll
Craps Game
Logic Diagram PAL16R4
a-State Machine and Win-Lose Decoder
ClK
1
0123
4561
891011
12131415
16171819
20212223
24252627
28293031
0
~
.
1
2
3
;
6
ROll 3
)
.
.A
~
~I----
".
,
8
~
10
11
12
13
""
3
~I----
~~
oi-'--
""
"
20
21
22
..
18
.A
"'"
16
17
18
4
19
D
~~
2J
~
c
~
~
""
r;;-;;I--
""
26
"
j
28
"
30
31
.•...
..
5
to.
~
iC.
""
I
32
33
34
l5
J6
"
./
"39
J8
CP
6
to.
~
...
'"
~
=Dl
40
41
"
""-
43
44
45
46
47
NC
7
to.
~
~
iC.
""
".
48
rJ
49
;0
"
52
53
54
NC
8
to.
"
T
.
~
~
13
NC
NCA
,,:t--....
~
~
"57
9
=Dl
~i
rJ
"
"""
"
6J
~
'I----
"'I
".
o1
2 3
4 5 6 7
8 91011
12131415
1&17 1819
20212223
24252627
28293031
12
~
NC
CraPs Oame
~-N46R6,
PAL DESIGN SPECIFICATION
, BRAD MITCBELL07 /24;8i
te2'
36 STA'l'B MACHINB
MMI FIBID APtlCATIONS BNGINBBR DALLAS, 'l'BXAS
/SWCLK
sa
He NC NC NC /T ,CK GND
/124 /Q3 /Q2 /Ql /r¥J /ROLL vec
/OC ,/SWCI: /QS
,a-s
11'(VCC) ROLL - jS
+
a*
IJ!'(VCC) SWCK - /eB:* ROLL-
QQ :- /00
+ /r¥J
,I SWITCH
'*/Q2 */Q3 */124
Q2 :- QQ:"'Ql*/Q2
/Ql* Q2
+
* Q2
+ /QQ
*/QS*T
*/QS*T
*/QS*T
"
Q3 :- QQ* Q1* Q2*/Q3
/Q2* Q3 ;
+
*Q3
+ /r;tJ
*Q3
+'
/Ql
*/Q5*T
*/QS*1t
*/QS*1
*/QS*T
124 :- QQ* Ql* Q2* Q3*/Q4*/QS*T
+
/Q3* Q4*/QS*T
* Q4*/QS*T
* Q4*/QS*'r
*Q4*/Q5*T
QQ* Ql* Q2'*Q3* Q4~/QS*T
/Ql*/Q2*/Q3*/Q4* QS
+ /r¥J* Ql*/Q2*/Q3*/Q4* QS
QS :+
CONTROLLED CLOCK
*T, DECODB DERIVED PROM KARNAUGH MAP
*/QS*T
*T
Ql :- /r¥J* Q1*/Q2*/Q3*/Q4
+ QO*/Ql*/Q2*/Q3*/Q4
*T
+ lQO* Ql
'*/QS*T
+ QO*/Ql
*/QS*T
+
/Q1
+
/Q2
+ /QQ
FLU FLOP USED AS A
IOBBOUNCB SWITCH
ROLL
Craps Game
FUNCTION TABLE
sweLK S R CK T Q5 Q4 Q3 Q2 Q1 QO ROLL SWCK
-INPUTS
,S S R C T
,W
K
--OUTPUTS-QQQQQQ
R S
5 4 3 210
0 W
,CL
L C
L K
,K
COMMENTS
----------------------------------------------------------------------------C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
x
x
x
x
x
x
xXL
xXH
xXH
xXH
xXH
xXH
Xx XH
XxXH
xxXH
Xx XH
Xx XH
xx XH
xxXH
xxXH
xxXH
xxXH
xx XH
xxXH
xxXH
xxXH
xxXH
xxXH
xxXH
xx XH
xxXH
xxXH
xxXH
xxXH
xxXH
xxXH
xxXH
Xx XH
xxXH
xxXH
Xx XH
xx XH
XxXH
HL L L
L HHL
HHL L
HHHL
HHL L
HL HL
HHL L
HHHL
L HL L
HHHL
L L L L L L
L L L L L H
L L L L HL
L L L L HH
L L L HL L
L L L HL H
L L L HHL
L L L HHH
L L HL L L
L L HL L H
L L HL HL
L L HL HH
LLHHLL
L L HHL H
LLHHHL
LLHHHH
LHLLLL
LHLLLH
L HL L HL
L HL L HH
L HL HL L
L HL HL H
L H L II H L
L HL HHH
L HHL L L
L HHL L H
L HHL HL
L HHL HH
LHHHLL
L HHHL H
LHHHHL
L HHHHH
HLLLLL
HL L L L H
HL L L HL
HL L L HH
L L L L L L
XXXXXX
XXXXXX
XXX XXX
XXXXXX
XXXXXX
XXXXXX
XXX XXX
XXXXXX
XXXXXX
XXXXXX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
L L
HL
HH
HL
HH
L L
L L
L L
HH
HL
CYCLE THRU THE TOTAL 36 STATES (STATE 0)
(STATE 1)
(STATE 2)
(STATE 3)
(STATE 4)
(STATE 5)
(STATE 6)
(STATE 7)
(STATE 8)
(STATE 9)
(STATE 10)
(STATE 11)
(STATE 12)
(STATE 13)
(STATE 14)
(STATE 15)
(STATE 16)
(STATE 17)
(STATE 18)
(STATE 19)
(STATE 20)
(STATE 21)
(STATE 22)
(STATE 23)
(STATE 24)
(STATE 25)
(STATE 26)
(STATE 27)
(STATE 28)
(STATE 29)
(STATE 30)
(STATE 31)
(STATE 32)
(STATE 33)
(STATE 34)
(STATE 35)
(STATE 0)
EXERCISING THE SET-RESET FLIP FLOP
AND THE SWITCHED CLOCK
19
4·269
Craps Game
DESCRIPTION
THIS PAL IS A 36 STATE MACHINE USED TO SIMULATE THE EXACT ROLL OF THE DICE.
THE STATE MACHINE IS SIMILAR TO THE "ELECTRONIC DICE GAME".
4.270
Craps Game
36
STATE MACHINE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
CXXXXXXIXXXXHBBHBBX1
CXXXXXXOXXXXHHHHHLX1
CXXXXXXOXXXXHHHHLHXl
CXXXXXXOXXXXHHHHLLXl
CXXXXXXOXXXXBlmIJmXl
CXXXXX~OXXXXImHLHLXl
CXXXXXXOXXXXHHHLLHXl
CXXXXXXOXXXXHHHLLLXl
CXXXXXXOXXXXHHI,HHHX1
CXXXXXXOXXXXHHLHHLXl
CXXXXXXOXXXXHHLHLHX1
CXXXXXXO XXXXHHLHLLXl
CXXXXXXOXXXXHHLLHHXl
CXXXXXXO;XXXHHLLHLXl
CXXXXXXOXXXXHHLLLHX1
CXXXXXXOXXXXHHLLLLXl
CXXXXXXOXXXXHLHHHHXl
CXXXXXXOXXXXHLHHHLXl
CXXXXXXOXXXXHLHHLHX1
CXXXXXXOXXXXHLHHLLXl
CXXXXXXOXXXX~HHXl
CXXXXXXQxxxXHLHLHLXl
CXXXXXXOXXXXHLHLLHX1
CXXXXXXOXXXX~LXl
CXXXXXXOXXXXHLLmtHx1
CXXXXXXOXXXXHLLHHLXl
CXXXXXXOXXXXHLLHLHXl
CXXXXXXOXXX~Xl
CXXXXXXOXXXXHLLLHHX1
CXXXXXXQXXXXHLLLHLn
CXXXXXXOXXXXHLLLLHXl
cxxxxxXOXXXXHLLi.LLXl
CXXXXXXOXXXXLHHHHBX1
CXXXXXXOXXXXLHHHHLXl
CXXXXXXOXXXXLHHHtHXl
CXXXXXXOXXXXLHHHLLX1
CXXXXXXOXXXXHHHHHHXl
C10XXXX10XXHXXXXXXH1
C01XXXXllXXHXXXXXXtl
CllXXXX10XXLXXXXXXLl
C11XXXX11XXHXXXXXXLl
C11XXXX10XXLXXxxxXLl
C10XXXX11XXHXXXXXXHl
Cl1XXXX10XXHXXXXXXHl
CllXXXXllXXHXXXXXXHl
C01XXXX10XXLXXXXXXLl
CllXXXXl1XXHXXXXXXLl
PASS SIMULATION
Craps Game
36 STATE MACHINE
11 1111 1111 2222 2222 2233
0123 45618901
~34S
6789, 0123 4567 8901
o ---- ---- ---- ,---... --- ..,--- ---- -----..:' ~"'-,' -..-- ---.,. ---- ---- ----
/S
2-..,-X
R*ROLL
1 - x...-
8 ---~
9 --16
17
18
19
-----------
x-- --- --- ---- ---- -----X- ---- ..-x- ~-x---x- -x-...
--x- ----....""'-- --...- ---- ..,xx-x- ---x --x... --X--";X- -x-.;.--x -X- "';-X--"'X- --X- -x--x- ---x ---- ---- ---- -xx---x --x- ---- ---- ---- -xx---x --x --X- ---- ---- -xx---- --x- ---x ---- ---- -xx-
---------:..-----------------
/QO*/Q2*/Q3*/Q4*T
/QO*/Q5*T
/QO*Ql*/Q2*/Q3*/Q4*T
QO*/Ql*/Q2*/Q3*/Q4*T
/QO*Ql*/Q5*T
QO*/Ql*/Q5*T
24 ---QO*Ql*/Q2*/Q5*T
25 --/Ql*Q2*/Q5*T
26 - - --X- ---- ---x --- ---- -XX- ---- /QO*Q2*/Q5*T
--X- - - -
-xx- ----
QO*Ql*Q2*/Q3*/Q5*T
---x ----
-XX- ----
/Ql*Q3*/Q5*T
40 --- ---x ---x --x --x --X41 -".-- --- - .. -,. ---- --x- --x
42
-""'----x
43
---- ---- --X- ---- ---x
44 --- --X- ---- ---- ---- ---x
-------------------------
--x ---x ---x
32
33
34
35
---- ---- --X--X- ---- ------- --x- ---
--x ---- -xx- --- /Q2*Q3*/Q5*T
--x --- -xx- --- /QO*Q3*/Q5*T
48
49
50
-xx-xx-..,X- ---- ----xx-xx-xx---x ---x ---x ---x ---x -xx---- --x- -x- --x- --x- ---x
--x- ---x --x- --x- --x- --x
56
57
---x ---- ---- ---- ---- ---- ----
LEGEND:
QO*Ql*Q2*Q3*/Q4*/Q5*T
/Q3*Q4*/Q5*T
/Ql*Q4*/Q5*T
/Q2*Q4*/Q5*T
/QO*Q4*/Q5*T
QO*Ql*Q2*Q3*Q4*/Q5*T
/Ql*/Q2*/Q3*/Q4*Q5
/QO*Ql*/Q2*/Q3*/Q4*Q5
---- ---- ---- ---- ---- ---- ----
x: FUSE
NOT
BLOWN (L,N,O)
NUMBER OF FUSES BLOWN = 727
-x-~ /CK*ROLL
-:
FUSE BLOWN
(H,P,l)
Craps Game
Logic Diagram PAL16R6
36-5tate Machine
SWCll(
J-h
.....
0123
4561
89101-1
12131415
16111819
20212223
24252821
28293031
0
r-J
1
2
3
4
5
•,
S
2
....
19
..,
"
c:'~
~
,
8
10
~!-~
'"
11
./
12
13
14
15
R
3
~~
"..,
....
16
11
18
19
D
./
"
22
23
4
i--
""
20
..
c:
HC "--I
0"--
~~
..
24
~
~
~
~
Dl
~
25
26
27
28
"
29
HC
5
....
30
31
....
~
32
33'-"
34
35
'I--
36
HC
6
....
~
31
38
39
....
....
,
40
,
41
42
43
....
44
'"
.'
./
41
HC
7
....
..,
..
'.
."
.""
48
"-
""
55
T
8
....
....
"
"
82
W.
c
>-J
57
51
59
80
CK
~>---
../
53
"
....
~~
0123
4561
,g 1011
121314-15
16111819
20212223
24252121
28293031
~~
~
12
SWCK
~ OC
4-273
Craps Game
PAL16L8
IC3
DICE DECODER
MMI FIELD APPLICATIONS ENGINEER DALLAS,TEXAS
NC NC /QO /Ql /Q2 /Q3 /Q4 /Q5 NC GND
NC NC /NCIS /NC2S /NC4S /lS /2S /4S /8S VCC
IF (VCC)
IS = /QO* Ql
*/Q3* Q4*/Q5
+ /QO
*/Q2*/Q3*/Q4* Q5
+ /QO* Ql* Q2*/Q3
*/Q5
+ QO*/Ql* Q2* Q3
*/Q5
+ /QO
*/Q2* Q3*/Q4*/Q5
+ QO
* Q2* Q3*/Q4*/Q5
+ NClS
IF (VCC) NClS
=
QO
*/Q2*/Q3*/Q4*/Q5
+ QO*/Ql
*/Q3*/Q4*/Q5
+ /QO
* Q2*/Q3* Q4*/Q5
+ QO*/Ql*/Q2
* Q4*/Q5
PAL DESIGN SPECIFICATION
BRAD MITCHELL 04/07/81
JTHE MINIUM LOGIC REQUIRED
JTO DECODE THE 1S BIT WAS DERIVED
JFROM THE KARNAUGH MAP
JNC1S IS USED AS ADDITIONAL DECODE
JFOR is
+ QO
*/Q2* Q3* Q4*/Q5
+ /QO* Ql* Q2
* Q4*/Q5
IF (VCC)
2S = /QO* Ql*/Q2*/Q3*/Q4* Q5
+ QO*/Ql*/Q2*/Q3*/Q4
+ QO*/Ql*/Q2
*/Q4*/Q5
+
Ql* Q2* Q3*/Q4*/Q5
* Q3*/Q4*/Q5
+ /QO* Ql
+ /QO* Ql* Q2
*/Q4*/Q5
+ NC2S
IF (VCC) NC2S
=
QO* Ql
*/Q3* Q4*/Q5
+ /QO*/Ql* Q2
* Q4*/Q5
+ /QO
* Q2* Q3* Q4*/Q5
+
/Q1
*/Q3*/Q4*/Q5
+
/Q1
* Q3* Q4*/Q5
IF (VCC)
4S
IF (VCC) NC4S
IF(VCC)
8S
JNC2S IS USED AS ADDITIONAL DECODE
JFOR2S
= QO* Q1*/Q2*/Q3*/Q4
+ /QO*/Q1* Q2*/Q3
*/Q5
t /QO* Q1* Q2* Q3
*/Q5
+
/Q1*/Q2* Q3
*/Q5
+
Ql*/Q2*/Q3
*/Q5
+ /QO
* Q3*/Q4*/Q5
+ NC4.S
JFROM KARNAUGH MAP
=
JNC4S IS USED AS ADDITIONAL DECODE
JFOR 4S
Q2* Q3* /Q4 */Q5
* Q2
*/Q4*/Q5
+
QO
=
QO* Ql*/Q2* Q3
*/Q5
/Ql*/Q2*/Q3* Q4*/Q5
Ql*/Q2* Q3* Q4*/Q5
Ql* Q2*/Q3* Q4*/Q5
/Ql* Q2* Q3* Q4*/Q5
QO
* Q2
* Q4*/Q5
/Q2*/Q3*/Q4* Q5
+
+
+
+
+
+
4-274
JFROM KARNAUGH MAP
,FROM KARNAUGH MAP
Craps Game
FUNCTION TABLE
Q5 Q4 Q3 Q2 Q1 QO NC4S NC2S NelS 8S 4S 2S lS
INPUTS
;
;Q Q Q Q Q Q
;5 4 3 2 1 0
NNN
C C C
421
S S S
. OUTPUTS
8 .. 2 1
S S S S
COMMENTS
(DICE ROLL)
-----------------------------------------------LLLLLL
LLLLLa
I. L L L a L
L L L L a a
I. L I. a L I.
LLLaI,ra
LLLaaL
LLLaHa
L L H L L L
LLaLLa
LLaLHL
LLHLaa
LLaaLL
LLHaLH
LLaaaL
LLRHaa
I. a I. L L L
LaLLLa
LaLLaL
I. a L LH a
LaLaLL
LBLHLa
LHLHHL
LaLaaH
LHHLLL
LHaLLB
LBHLaL
LHRLaH
LaHaLL
I. R H R L H
I. R B R H I.
LRHRaH
atLLLL
aLL L I. a
HLLLHL
R L I. LR a
L a L
L a a
L L I.
L L a
La L
a a a
L L L
aLL
L L L
L L L
L L L
L L L
aLL
R L L
aLL
R L L
L L L
L L a
L L L
L a I.
L a a
L L I.
L La
L H L
L HI.
L R a
L I. I.
I. L H
L a I.
L a L
I. a H
L I. L
L I. I.
L L L
I. L L
I. L L
L L a L
L L a a
La L L
L a I. a
L a a L
L a a a
L L R a
La L L
I. R L a
L a H I.
L a a a
H L I. L
L a I. I.
La L R
I. a a L
L a a a
aLL L
aLLa
La L a
I. Ba L
L a a a
aLL L
a L.L H
a L a I.
I. a a L
L B a a
a I. L L
aLL a
R L R L
a L R R
I. R R a
R I. I. L
H L L H
R L a I.
R I. a a
H a L.L
2
3
4
5
6
7
3
4
5
6
7
8
4
5
6
7
8
9
5
6
7
8
9
10
6
7
8
9
10
11
7
8
9
10
11
12
------------------------------------------------
Ell
Craps Game
DFSCRIPTION
THIS PAL DECODES THE 36 STATE MACHINE INTO A BINARY REPRESENTATION OF THE
ROLL OF THE DICE (2 THRU 12). THERE ARE 36 POSSIBLE COMBINATIONS FOR THE
TWO DICE.
THE NUMBERS ARE DECODED SO THAT THE PROPER ODDS ARE MAINTAINED
FOR THE ROLL OF EACH NUMBER.
Craps Game
DICE DECODER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
XXllll11XXXXHLHHLHHl
XX01lll1XXXXLLHLLHH1
XXI0lll1XXXXHHHHHLBl
XXOOl111XXXXLHHLHLBl
XXl10111XXXXHLHHLLHl
XX010111XXXXLLLLLLBl
XXI00111XXXXHHHLLHHl
XXOOOll1XXXXHHLHHLHl
XX1110l1XXXXHHHLHLBl
XX0110l1XXXXHHHHLLHl
XX1010l1XXXXHHHLLLHl
XX0010l1XXXXHHHHHHLl
XX1100l1XXXXHHLHHLHl
XXOI0011XXXXHHLLHLHl
XX1000IIXXXXHHLHLLHl
XXOOOOl1XXXXHHLLLLHl
XX11110IXXXXHHHHHHLl
XX01l101XXXXLHHLHHLl
XX101101XXXXHHHLHLHl
XX001I0IXXXXHLHHLLHl
XX110I01XXXXLLHLLLHl
XX010I01XXXXHHHHHHLl
XX100I0IXXXXLHHLHHLl
XX000101XXXXHI,HHT.BL]
XX1l1001XXXXHLHHLLHl
XXOII00IXXXXLLHLLLHl
XX1010 OlXXXXHHBHHHI,l
XX00100IXXXXLHHLHHLl
XX11000IXXXXHLHHLHLl
XXOI000IXXXXHLHLLHLl
XXI0QOOIXXXXLLHLLLHl
XXOOOOOIXXXXHHHHHHLl
XX1ll110XXXXHHHLHHLl
XX01l110XXXXHHHHLHLl
XXI0l110XXXXHHHLLHLl
XXOOl110XXXXHHHHHLLl
PASS SIMULATION
4·277
Craps Game
DICE DECODER
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o ---- ---- ---- ---- ---- ---- ---- ---1
2
3
4
5
6
7
----------------------
-x-- -x-x---x--x-x---x-- ----------------
---- ----
x--x--x---x--x--x-x---
-x-x---x-x---x----x---
----x--x--x--x--x-x---
x--x--x--x--x--x---x--
------~---
------------~
QO*Q1*/Q2*Q3*/Q5
/Q1*/Q2*/Q3*Q4*/Q5
Q1*/Q2*Q3*Q4*/QS
Q1*Q2*/Q3*Q4*/Q5
/Q1*Q2*Q3*Q4*/Q5
QO*Q2*Q4*/Q5
/Q2*/Q3*/Q4*Q5
8 ---- ---- ---- ---- ---- ---- ---- ----
9
10
11
12
13
14
15
---- -x-- -x-- x------ x--- x--- -x----- x--- -x-- -x----- ---- x--- x------ ---- -x-- x------ x--- ---- ------- ---- ---- ----
x--x---x--x-x---x----x
x--------------x------
---x--x--x--x--x------
----------------------
16
17
18
19
20
21
22
23
---- ---- ---- ---- ---- ---- ---- ------- x--- -x-- x--- x--- x--- -x-- ---- /QO*Q1*/Q2*/Q3*/Q4*Q5
---- -x-- x--- x--- x--- x--- ---- ---- QO*/Q1*/Q2*/Q3*/Q4
---- -x-- x~-- x--- ---- x--- x--- ---- QO*/Ql*/Q2*/Q4*/Q5
---- ---- -x-- -x-- -x-- x--- x--- ---- Ql*Q2*Q3*/Q4*/Q5
---- x--- -x-- ---- -x-- x--- x--- ---- /QO*Q1*Q3*/Q4*/Q5
---- x--- -x-- -x-- ---- x--- x--- --~- /QO*Q1*Q2*/Q4*/Q5
---- ---- ---- ---~ ---- ---x ---- ---- NC2S
24
25
26
27
28
29
30
31
32
33
34
----------------------------------
QO*Q1*/Q2*/Q3*/Q4
/QO*/Q1*Q2*/Q3*/Q5
/QO*Q1*Q2*Q3*/Q5
/Q1*/Q2*Q3*/Q5
Q1*/Q2*/Q3*/Q5
/QO*Q3*/Q4*/Q5
NC4S
---- ---- ---- ---- ---- ---- ----
x--x--x---x-x---x--
-x-----x-x---------
---x---x--x-x---x--
x--x--x---x--x--x--
-x-- x--x~-- -x----- x------ x--x--- x--x--- x------ ---x
----------------------
/QO*Q1*/Q3*Q4*/Q5
/QO*/Q2*/Q3*/Q4*Q5
/QO*Q1*Q2*/Q3*/Q5
QO*/Q1*Q2*Q3*/Q5
/QO*/Q2*Q3*/Q4*/Q5
QO*Q2*Q3*/Q4*/Q5
NelS
-------- ---- ---~
---- ---- ---- ---- ---- ---- ------- ---- -x-- -x-- x--- x--- ---- Q2*Q3*/Q4*/Q5
-x-- ---- -x-- ---- x--- x--- ---- QO*Q2*/Q4*/Q5
40 ---- ---- ---- ---- ---- ---- ---- ---41 ---- -x-- -x-- ---- x--- -x-- x--- ---- QO*Ql*/Q3*Q4*/Q5
42 ---- x--- x----x-- ---- -x-- x--- ---- /QO*/Ql*Q2*Q4*/Q5
43 ---- x--- ---- -x-- -x-- -x-- x--- ---- /QO*Q2*Q3*Q4*/Q5
44 ---- ---- x--- ---- x--- x--- x--- ---- /Ql*/Q3*/Q4*/Q5
45 ---- ---- x--- ---- -x-- -x-- x--- ---- /Ql*Q3*Q4*/Q5
48 ---- ---- ---- ---- ---- ---- ---- ---49 ---- -x-- ---- x--- x--- x--- x--- ---- QO*/Q2*/Q3*/Q4*/Q5
50 ---- -x-- x--- ---- x--- x--- x--- ---- QO*/Ql*/Q3*/Q4*/Q5
51 ---- x--- ---- _x-- x---' -x-- x--- ---- /QO*Q2*/Q3*Q4*/Q5
52 ---- -x-- x--- x--- ---- -x-- x--- ---- QO*/Q1*/Q2*Q4*/Q5
53 ---- -x-- ---- x--- -x-- -x-- x--- ---- QO*/Q2*Q3*Q4*/Q5
54 ---- x--- -x-- -x-- ---- -x-- x--- ---- /QO*Ql*Q2*Q4*/Q5
LEGEND: X: FUSE NOT BLOWN (L,N,O)
- : FUSE BLOWN
(H,P,l)
NUMBER OF FUSES BLOWN = 1351
4·278
Craps Game
Dice Decoder
Ne
Logic Diagram PAL16L8
1
o'i
J
4
~
891011
6 1
12131415
161]18i9
20212223
24252621
28293031
0
~
1
2
3
4
5
Ne 2
•,
.
'9
....
....
....:~
.'
......
;
>-t1
9
"
'11
12
.""
i-'----l
<~,'
18
15
...
...
J
~.t---
....
'8 ,
~
11'
fB
19
Q1
4
... >--
20
21
22
..
"
'
...
.'
,' ....
.
24
"
27
2B
5
....
"3'
31
16
"
'.'
...
.. :;
~t---
..,.
. '::
"
32
33
~
.
34
"
,.
36
37
38
6
....t--:-
~t>-J
25
.
11
:'"1'5
....
...
.....
4D
41
"
.1-:--..,.
J
43
..
14
~
44
45
NC2S
41
7
...
...
~
> ~<
,>
4.
....I------,-
"
,....;
.
49'
".
"
51
U
8
....
54
;~-.
55
.'
2-
"
"
..
"
57
,~
....:t----
b-J'
C"
5'
61
Ne 9
...
"6J
.
...
0, t 2 3
4 5 6 1
. , 1011
121314 IS
1&171119
13
.
;..
.
'.
."
~~.
21212223
24252&21
11
11
NC
NC
28293031
4.279
era.-Game
PAL16R4
IC4
STORE POINT /2, /7, AND /11 DECODE
Mm. FIELD APPLICATIONS ENGINEER DALLAS, TEXAS
CLK /8S /4S /2S /lS /A /B /C IT GND
/OC NC /11 /p1S /p2S /p4S /PBS /7 /2 VCC
P8S :-
8S
*T
*T
*T
*T,
,SAVE POINT
,SAVE POINT
4S
*/A* B./C
P4S*/A* B* C
P4S* A*/B
P4S* ..A* B* /C
*T
*T
*T
*T
,LOAD INTO POINT IF FIRST ROLL
,SAVE POINT IF NOT FIRST ROLL
,SAVE POINT
,SAVE POINT
2S
*/A* B*/C
P2S*/A* B*C,
P2S* A*/B
P2S* A* B*/C
*T
*T
*T
*T
,LOAD INTO POINT IF FIRST ROLL
,SAVE POINT IF NOT ,FIRST ROLL
*/A* B*/C
P1S*/A* B* C
P1S* A*/B
P1S* A* B*/C
*T
*T
*T
*T
,LOAD INTO POINT IF FIRST ROLL
,SAVE POINT IF NOT FIRST ROLL
+
+
+
P2S :-
+
+
+
P1S :-
, LOAD 'INTO PoINT ON FIRST ROLL
, SAVE POIN't IF NOT FtRS',I! ROLL
*/A* B*/C
PBS*/A* B* C
PBS* A*/B
PBS* A* B*/C
+
+
+
P4S :=
PAL DESIGN SPECIFlCATAION
BRAD MITCHELL 07/28/81"
lS
+
+
+
,SAVE POINT
,SAVE POINT
, SAVE PO.INT
,SAVE POINT
IF(VCC) 2
• /8S*/4S* 2S*/1S
, DECODE THE NUMBER 2
IF(VCC) 7
.. /8S* 48* 2S* lS
, DECODE THE NUMBER 7
IF(VCC) 11
.
, DECODE THE NUMBER 11
8S*/4S* 2S* lS
FUNCTION TABLE
CLK 8S 4S 2S lS
ABC T, P8S· P4S P2S. P1S 2 7 11
,-------INPUTS------,C 8 4 2 1
A B CT
,L S S S S
,K
C
C
C
C
C
C
C
C
L
a
L
L
L
L
L
a
LL
,L L
LL
L L
L L
La
H a
L a
L
a
L
L,
L
L
a
H
L L L
L a L
L B a
H L X
aa L
L a L
L a L
L a L
L
a
H
a
a
H
a
H
---..;.otJTPtJTs---P P P P
8 4 2 1
S S S S
LL L
a I. L
H L L
,'aLL
a L L
L L H
La a
L
a
a,
H
B
L
a
HI. H H'
2 71
1
L
L
L
L
L
a
L
L
L L
L L
LL
L L
L L
L L
H L
L H
INITIATE ALL REGISTERS TO LOW
LOAD,A NUMBER 'INTO POINT"
SAyZ THE NUMBER IN POINT
SAVE TJiE NmmER IN POINT
SAVE TBB, NOMBQ IN POINT.
LOAD POINT & DECOD~ A "2.LOAD POINT &' DECODE A "7·
.LOAD POINT & DECODE A "11"
"
-------------------------~~..-----------"'!"---~-...~-----~--------~------~---
Craps Game
DESCRIPTION
THIS PAL IS USED TO STORE THE POINT IN THE GAME.
IT ALSO. DECODES; THE NUMBERS
2, 7, AND 11 TO BE USED IN DETERMINING WIN OR LOSE.
STORE POINT /2,
1
2
3
4
5
6
7
8
/7, AND /11 DECODE
Cl1111111XXXHHHHHHHl
COI101010XXXHLHHLHHl
CIIIIIOOOXXXHLHHLHHl
C111101XOXXXHLHHLHHl
CIIII0010XXXHLHHLHHl
ClIOIIOIOXXXHHLHHHLl
ClOOOIOIOXXXHLLLHLHl
C01001010XXXLLLHLHHl
PASS SIMULATION
4.281
Crap8.Came
S'l'ORB POINT AND /2,
/7,
AND /11 DECODB
1111n 11112222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
0
1 x-- x-- -x8
x---
42
43
x-- -x-- -x- ..x-xx- -x----x
x-- -x---x
-x- x-.--- ·--x
-X- -x-x-·
x-- -x----x x--- -x---x -X-- x----X -X-- -x-xx--- -xX-X -x--x-x x--x-x -x-x- x..-- -xx-- -x-x
-x-- x--x
-x-- -x-x
48
49
-x- x--
9
16
17
18
19
24
25
26
27
32
33
34
35
40
41
LEGEND:
x:
/8S*/4S*2S*/1S
/8S*4S*2S*lS
x--
8S*/A*B*/C*T
P8S* /A*B*C.*T
PBS*A*jB*'1'
x-- -X- PBS*A*B*/C*'1'
x- -x--
-x:-
xx--xx--
4S*/A*B*/C*'1'
P4S*/A*B*C*'1'
-X-- P4S*A*jB*'1'
-x-- P4S*A*B*/C*'1'
-x--
-x--x--x-xx--- -x-x- -x-.... Xx-- -x-
--
----x-- -xPUSB NO'!' BLONN (L,N,O)
NUMBER OF FUSES BLONN. 616
-x--
-x- -x-x-
2S*/A*B*/C*'1'
P2S*/A*B*C*'1'
P2S*A*jB*T
P2S*A*B*/C*'1'
lS*/A*B*/C*'1'
P1S*/A*B*C*T
P1S*A*jB*T
PlS*A*B*/C*'1'
8S* /4S*2S*lS
roSB BLONN
(H,P;l)
Craps Game
store Point and 2, 7, and
ClK
11 Decode
Logic Diagram PAL16R4
1
0123
4567
891011
12131415
15171819
20212223
24252627
2B293031
,
0
~
.
2
3
5
6
19
)
3
...JF
.A
-'"
8
9
>--
'"
"
"
"
73
J
.......
:>--J
....
~
"
))
25
..
.
r-~
""'"
D
./
23
~
i::
....
Q-
~~
27
25
16
~
27
~
28
29
30
37
5
,;..
.
~
c
32
,.. .......
>--
3J
"
"
35
36
3)
38
6
..
..
"
.A
~
....
""'"
'"46
OJ
.""'/"
45
47
7
...
.
~
48
48
"
53
54
55
P45
tal
~
P25
tQ]
~
....
13
~.r---
...
....
"
""
"
:>--tl
60
62
...
~
~
...
....
5)
9
....
~
50
5)
B
7
>5
78
19
20
27
22
4
18
11
NC
6J
.1--.....
0123
4567
891011
12131415
16171819
Z(JZI2ZZJ
24252627
28293031
~
4·283
Notes
4·284
Traffic Signal Controller
PAL16R4
4·285
Traffic Signal Controller
An Example of Sequential Logic Design
with PALs
Figure 1 illustrates a simple traffic intersection consisting of two
one-way streets, direction A and direction B. Each direction has
a signal consisting of red, yellow and green lamps which are
activated with appropriately named active low signals. Also,
each direction has a sensor which provides an active low signal
indicating the presence of an oncoming vehicle. Our controller
Is to manage this intersection with the sensors as inputs and the
lamps as outputs, as shown in Figure 2.
The specifies of the controller operations are detailed with a
state graph, shown in Figure 3.
SENA . SENB
A
-------B
r------.
I
1--
... _----'.
'§EiiiA
SENA' SENB
Figure 1. Traffic Intersection
Figure 2 also includes the system clock and an initialize (or
reset) signal, which drives the controller to a pre-defined initial
state. This raises two important'issues in designing sequential
logic. with PALs. First, all circuit implementations of sequential
logic with PALs are totally synchronous. This implies that all
state variables (flip-flops) change at {he same time, precisely
after the rising edge of the clock. 6ecomd, PAL sequential logic
designs should include a means for initialization to implement
test programs and ensure reliable circuit operation.
SEf.iA----\
I----REDA
1-----__ R'Ei5B
miD----f
INIT----f
TRAFFIC 1-:----,-rn:A
SIGNAL
CONTROLLER 1----yELB
I------GRNA
I----GRNB
CLK---p
Figure 2. Traffic Signal Controller
Figure 3. State Graph -
Traffic Signal Controller
In this format. each bubble represents a stable state, i.e., an
output configuration, lasting at least one clock cycle. Inside the
bubble is the name of the state (60-611) and the outputs
associated with that state. This particular circuit's outputs are
specified to be a function of the state of the flip-flops only, and
are not directly affected by thT' inputs. For the sake of simplicity
in the state graph, the transitions involving INIT are omitted;
INIT Simply drives the circuit to 60 from any state, regardless of
other inputs.
Another method of expressing the state graph information is
with a state table, shown in Figure 4. Each row in the state table
corresponds to a state (or bubble from the state graph). The first
four columns give the next state for each of the possible input
combinations. The output is also given for each state in the
table. The state graph may be omitted but a state table is
generally required to design the circuit.
The next ,step in the design is to assign.state variables. This
process also involves selecting the PAL or PALs to be used.
Referring to Figures 2 and 3, the circuit requirements are seen to
be 4 input, 6 output and 12 internal states, 6ince the intputloutput
pin requirements do not impose restrictions in either a 20 or 24
pin package, the states requirement will be addressed first. A
PAL16R4 can implement the 12 states with its 4 flip flops.
However, only 4 combinatorial outputs are available. This
means that the flip-flop outputs (or state variables) will need to
Traffic Signa. Controtler
be utilized as circuit outputs as well. One such approach' is to
take advantage of the fact that REDA=
.and implementing
REDA with one flip"fl~p. and REDS with an external inverter.
Such a state variable aSSignment and resulting transition table is
in Figure 5. This Is generated by substituting the variable
assignments into the state table.
ReDs
NEXT STATE
CU~RENT
STATE
INPUT SENA, SENB
"
01
10
11
""
00
SO
S1
52
54
50
S2
52
53
54
53
54
53
54
55
$'
52
53
OUTPUT
GRNA
REDB
REDA
YELA
51
0
0
1
52'
0
0
1
0
0
54
53
54
0
55
55
55
0
YELB
GRNB
1
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
55
56
56
56
56
0
1
0
1
0
0
56
57
56
510
57
1
0
0
0
0
1
57
'.'. S8
59
510
S8
sa
58
1
0
o'
0
1
59
510
59
510
59
1
0
0
0
0
0
1
510
1
0
0
0
0
1
58
59
510
511
511
511
511
t
0
0
0
0
1
5.11
SO
50
50
50
1
0
0
0
1
0
Flg!,re 4. S.... Table -
CURRENT ','
STATE
Traffic SIgnal Control...,
INPUT/NEXT STATE
01
10
00
OUTPUTS
11
0
.0
0
0
0
0 0
0 1 1 0 0
0
0
0
0
0
0
1 0
0
0
0
0
0 1
1 0
0
0 0 0 1
0
0
0
b
0
0
0
0
0
1
0
0
1 1
0
0
1
1
0
0
1 1
0
0
0
0
0
0
0
0
0
0
0
0
1
P
0
0
0
0
1 0
0
1 0
0
1 0
1
0
1 0
0
0 1 1 0 0
0
0
1 0
0
1 0
1 0
0
0
0
0
0
0
1 1
0
0
0 0
<0:'-"
0
1
1
0
0
0
0 0 0
0 0 1
0
d 1
0 1 0
0
0
1 0
"
0
0
1
0
0
1 1
0
0
1
1 ' '0 0
1
1 0
0 0 0 0"
1
1
0
1 0 0 0
1 0 0 0
0
0
.(
0
t, 1,
0
0
0
00
1
0
1 0
0
0
0 1 1
1 0 0
1 0
l' 1
0
1
0
0
1 0
1
1
1 0 ,,1
0
0
0
0
0
0
0
0
0
0
0 1
0
1
1
1
1 0 0
1
0 1
0 ,0 0 0
0 1 0
1 0 0
1 0
0
0 0
1 0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0 0
1 .0 0 0 1
1
1
1
1
1
0
'.' O3,02.Q1 QO
0 0 0
SO
,0
51
0 0 0
52
53
54
55
D. 0
1 0
0'
0
0
1 0 0
1 0, 1
0
1
1
56
1 0
57
1' 0 0
0
1
sa
~
0 '1
0
0
~.
0
59
510
1
511
t
0
1
1 0
1
o
Input "SENA. 5ENB
CurrentiNext5tate= 03, 02.01. QO/03+,02+' 01+, 00+
Output =AEDA; VELA. GRNA. REDB.VEI-B. GRNB,
FIgure S. State A_gnman! No. 1ITnlnlltion Tab..
1
'4-287
m
TraHi.c~Sign."
From this table, Karllaugh maps for.D flipflop next.state
equations and output functions can be written, by trans<;ription
from the transition table, and minimized equations derived. This
is shown in Figures 6 through 10. The state machine and PAL
04
Controlier
implementation follows, Note that the INIT te.rm is simply
AND'ed with ali next state products tqgenerate the,initialize
function,
02
03,02
03,02
01, 00
03.,02
00
00
0
01.0
111
l-=+::..:.......,:-'--I~~
I\V y
0
X
0
X
01, 00
0
lller
lob
SENA, SENB
SENA, SENB = 00
SENA, SENB = 01
03,02
01, 00
03,02
00
11
01
01,0 0
03,02
00
= 01
01
01
0
0
0
0
11<[ X
X
Y
X.
X
0
/x ~ 1\
10 .0
X
X
SENA, SENB = 10
10 .,0
0
SENA, SENB " 11
02 = 01 00' + 02 01 QO +
SENA,SENB Q3 Qi Co
Figure 8. K Maps for 02+
01
03,02
01
11
10
00
0
0
0
0
01
J)
0
0
lei
11 . 0
x
X
0
10 . (
X
X
J)
SENA, SENB = 00
01,0 0
00
00
0
0<:Y
11
0
101c[
01
01
11
10
0
0
0
0
01Y
0
0
11
0
X
X
0
""
,,
,
../
....
....
••
10
11
13
14
to..
"
~
~
.""
...
...
A
.
../
22
23
....
c::....
~
~'l
r""""D 01-
'"
19
20
21
4
ral- ~
""
11
3
~1
~c::
~'l
24
"
26
~
""
"
D
j
28
"
30
11
Ne 5
....
to..
r
>
01-
,.
"
34
'"
j
36
38
...
39
lj
~
H~1
JC.
31
33
Ne
~
to..
...
....
~
~
40
"
""
""
""
./
44
Ne
,
41
....
to..
....
...
""
.,
""
\I
f
>J
Ne
B
to..
""
...
lit
~.
\6
-..
"
""
"
Ne
,
.
.
D
61
63
...1L
~
o
t 2 3
4!i 6,1
8 9 1011
1213 14
1~
16t} 11119
2021 2223
24 2S26 21
28293031
~
~
5
r--
./
61
Dl
~
~
....
01-
~1
~
~ GND
4-299
Notes
4·300
32·Bit CRC (Cyclical
Redundancy Checking)
Error Detection
PAL20X10
VCC
ClK
CHEcK
024
C
Q2s
026
027
Q23
NC
NC
NC
CHK1
(ffi
CHK2
OuT
DC
PAL20X8
PAL20X8
PAL20X8
vcc
vcc
CHK2
CHK3
as
Q1s
Q17
031
NC
010"
Qii
Qfi
Q19
012
oro
013
em
NC
NC
NC
4·301
D
32·Bit CRC Error Detection
CYCLIC REDUNDANCY CHECK (CRC)
USING PALS
Programmable Array Logic D~vices Provide
Efficie"nt Implementation of ·PopularLocal·Network
Error" Checking' Protocol"
There is a growing interest in providing data communication
links to connect several processors and peripherals into one
local area network. One of the most popular networks is the
Ethernet. To insure reliable communications in the network an
efficient error detection scheme is required. The Ethernet
protocol specifies a 32-bitcycle.redundancy which must operate
at 10 Mbits/sec.·
.
.
divisiOn will generate a quotient. Q(x). and a remainder. R(x).
PIx) is prescaled to insure that the order of PIx) is greater than
the order of G(x) so that the remainder is always different than
the message itself.
The following application opens with a tutorial on .the CRC and
then shows a detailed implementation of the Ethernet CRG
using PAL. The use of fuse programmable devices allows easy
modification to accommodate other data commul1ications
protocols as well as other applications (CRC in disk drives. etc.).
that operate at-rates up·to 13,'Mbits/sec.
". x"P(x) = Q(x) G(x) + R(x)
Introduction
The growing number of high speed digital links and the need for·
reliable communication requir~s implementation of efficient
error detection schemes at rates of 10 Mbits/sec ,a,nd higher. A
32-bit CRC using PAls meets these requirements.
WhatlsCRe?
CRC is the acronym for Cyclid Redundancy Check, an error
detection technique Y1(id~ly .used. in serial communication sys~
tems from computer to computer or from computer to peripheral
devices. This technique operates on serial bits of information
treated as the coefficients of a binary polynomial. PIx), and
processes these bits inmodul0-2 arithmetic.
The basic coding conceptofthe'CRC .is to modify the polynomial. PIx). so that it is exactly divisible by a fixed pqlynomial.
G(x); the divisorG(x) is referredto.as the generator polYromial.
The modified polynomial,.M(x), is.transmitted. M(x) is divided by
the same G (x) when received or fetched. If the remain?er is zero,
all bits are assumed to. be correct;; otnerwise. a flag is set tei
indicate an error.
..."
.
An Example UsingCRC
Specifically. PIx) is p.rescal~d by x" where n is the degree of
Six).
(1)
For a !3-bitCRC.lmd'G(x}=x' + 1 eqOation(1) becomes:
,- ....
.
-.
',
The operation is petformed using modulO-2 arithmetic where
the sum and difference are synonymous.
Equation 1 can equivalently be written as:
x" PIx) - R(x) = x" P(:l<)
+ R(x) = Q(x) G(x) = M(x)
M(X) is exactly dilrisibleby G(x) al'1d ifis M(x) that is transmitt.ed.
.nle messag,e.M(X) isfqrmEild by adding the remaining bits. R'(x)/
of a fixed 'Iengthn' to the message' bits. Because the· message'
was prescaled, addition is equivalent to appending the remainder at the end of the data bits. Forthe example given (remembering that LSB is sent first) the information transmitted is: 011
101110. Three redundancy bits are appended to facilitate error
detection.
In conclusion when performing cRe, the tr&nsmitter will generate and append R(x) while the receiver. Will verify the exact
division of M(x) by G(x) and signal the occurrence of an error.
WhyCftC?·
Compared to other error detection schemes such as parity
checking CRC is more powerful:
A 6-bit messaget101110) can be represented in pOlynomial forr"(f.
as:
PIx) = 1 + 0 x :+; 1 x' + 1 x' + 1 x 4 +'0 x·
or
PIx) = x· + x'. +'x 2 ..+ 1
'•. all errors within n successive bits are detected
The highest power of x.i~ attached to. the least significant bit
(LSB). The LSBis the'firs! bit transmitted in communication
channels. In general PIx) will not be exactly divisible by G (x); the
CRC is also more efficient (for large frame of information).
Efficiency is defined as the number of data bits divided by the
. total number of bits transmitted. For example: in the Ethernet
•
~or ~ven G(x) all errors With an odd numb~rof~bits in error are
'detected (50% of all possible random errors)
• all e.rror patterns thatate not divisible by G(x) are detected
32·Bit CRC Error Detection
specification the number of data bits ranges from 60 to 1500
bytes, the total number of bits transmitted will contain only an
extra 32-bits (if 32-bit CRC is used) instead of an extra 60to 1500
parity bits (if we assume one parity bit per byte of information is
used.)
Implementation
A binary division that ignores the quotient but retains the
remainder, R(x), is conventionally implemented with a shift
register. A feedback path from the output of the last stage
returns to the input of the stages corresponding to the powers of
x that have non zero coefficient in the generating polynomial. At
each such input, amodul0-2adder (Exclusive OR) combines the
feedback signal with the output from the previous stage.
This is equivalent to a shift subtract on each clock cycle. The
example in Fig. 1 shows a 32-bilCRC where G(x), the generator
polynomial, (used in ETHERNET and AUTOBAUD II) is given
by:
G(x) = x" + X'6 + x23 + X22 + X'6 + X12 + X" + x ' O +
x· + x' + )(, + X4 + x' + x + 1
Transmitter operation:
1. Initialize shift register to all Hs. (INIT = H)
2. Data is shifted in the feedback shift register to generate R(x)
and fed to the output. (Control C = H)
If the two R(x) match, the final content of the shift register is:
X31
XO
11000111000001001101110101111011
(residue)
4)
This value is tested. (Check = L indicates no error, as
shown in Fig. 2)
The same hardware can perform both the transmitter and
receiver function if the respective inputs are multiplexed.
PAL Configuration
Four PALs are used to implement the 32-bit CRC .. This configuration can process serial streams of data at rates of 10
Mbits/sec. The PAL interconnections are shown in Fig. 2. Eight
bits of the 32-bit shift register are distributed in eacH PAL. The
logic to check for the residue is distributed among the four PALs
as shown in Fig. 3.
Summary
The lack of standardization in data communication equipment
makes the use of PALs very attractive due to their flexibility and
ease of design modification. A good example is this 32-bit CRC
which achieves the speed requirements of 13 Mbits/sec while
being cost effective.
3. After last data bit has been processed, the complimented
R(x) is shifted out fortransmission. (Control C = L)
Receiver operation:
1. Initialize shift register to all Hs.
2. Data is shifted in the feedback shift register to regenerate
R(x).
REFERENCES
3. After last data bit has been processed, Control remains High
and the complement of R(x) is shifted (as generated by
transmitter).
The Ethernet, A Local Area Network, Data Link Layer and
Physical Layer Specifications,version 1.0 (joint publication of
Digital Equipment Corp., Intel Corp., and Xerox Corp., 1980).
4·303
32-Bit CAC Error Detection
fCRCt--------:-:--,----------r------------:----..,--,--·-,- CRc"%l
I ~IT
I
I
I
I
I
I
I
I
I
------------------jI
I
I
I
•I
I
~R~ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@
~OR
e
~XOR
III ~(INe031)' C 'INIT" IN' 031' C· INIT + iN· 031' C·
e
o
J _______________
I
I
~_CRC4J
iNiT
~AND
~NOT
Bn
CK
CLKr-- ~
~
INIT
C
IN
CHKl
-
Q26
~
CRC4~
PAL Q29
U~20Xl0~
031
t--
CRC1
PAL
>- ...
n
.......--
Lr031
031
CLK
INIT
C
IN
t--
CRC2
PAL
2QX8
---LrCRC3
PAL
20X8
----
f-~15
031
~~.
f!'!.
""""'-
I'I!!""
~C1--------~~------l
I
I
I
I
I
I
00
~;
03
04
CHK1
05
06
07
I
I
I
I
I 024'
I O~
1026
I 0",.27::..-_-'1
I
I
I
I
I
1 0 2 8
IcAcz-------- -1
I
I
I
I
I
I
I
Q29
~:
1030
010
1031
011
012
013
CHK2
~
I
I
~-I
i
J!I
I
I
I
I
I
I
I
~C3~-------1
I
I
I
I
I
I
I
IL
014
015
I
I
017
018
019
020
~~
023
CHK3
!
I
I
I _______
_________~
I
I
I
I
I
I
I
I
~
a• •It. ··CRe :Error DeteCtioni
PAL20XS
PAL DESIGN SPECIFICATION
CRCl
NADIA SACHS OS/14/S1
32-SIT CRe (CYCLICAL REOONDANCY CBECiING):J!:RROR DETECT.!ON, CHIP 1
MMI SUNNYVALE, CALIFORNIA
CLK INIT C IN /031 NC NC NC NC NC NC GND
/OC NC /07 /06 /05 /04 /03 /02 /01 /QO/cmuvcc'
32-Blt CRCBrrorlJetectlon
PONC'l'lON TABLE
eLK /OC INlT C IN 031 07 Q6 05. Q4 03 02 01 go ··ClIKl
,
,CLK
/OC
1NIT
C
1N
0
3
1
'''''.'
QQQQQQQQ.
76543210
em
.~----~------~-----~-------~-------------~-----H
x x x . 8".8,,8,18'8· :-., X
.C
L
L
C
a L B XoBLLBLLB X
~
X
L
LLBLLSLB
B
L
B
L
e
B
L
B
BHBHHHI,B
X
C
L
L
X
B
C
L
L
L
B
LBLLBBr.B
B
B
L
C
L
LLBLBBLB
X
L
X
B
e
L
L
B
L
BBBLBBLB
BBLBBLBt./;
e
L
L
B
L
X
L
e
L
B
X
L
L
L
BLBBLBLL
B
LBRr,BLLL
X
L
L
L
L
C
B
B L
x
L
C
L
LBBLLHBB
X
C
L
L
B
L
L
BBLLBBBL
B
L
X
L
C
L
L
BLLBBBLL
L
L
B
X
L
e
BIoIoI·S HHB.
B
L
B
L
L
B
C
BLBLBLLB
X
QBLLBLB
B
C
L
B
X
L
L
B
L
B
L
LBBBBBLB
X
C
L
BBBBIJl:jSr,
X
L
L
B
C
L
L
B
C
L
L
X
L
BH8BLBLL
L
B
BBBLBLLL
X
L
L
L
C
L
C
B
L
L
X
L
BBLBLLLL
L
L
L
L
L
C
B
BLBLLLLL
X
B
LBIoI,IoI.LL
C
L
L
L
X
L
L
B
L
L
L
X
C
BLLLLLLL
LLLLLLLL
X
L
L
L
L
e
If
BLBBLBBB· . X
B
L
C
L
B
L
x
B
C
L
L
L
L
LBBLBBBL
L
B
L
B
C
L
LBBLBLBB
X
C
L
B
B
X
L
L
LBBLLLLB
L
L
B
L
BBLLLLBL
L
e
X
C
L
B
X
L
L
B
LLBBLLBB.
B
L
L
L
LBBLLBBL
L
X
C
H
C
L
H
X
L
LaBBBLBB
L
C
X
H
X
X
L
X
XXXXXXXX'
-----------------------------------~~-~--~-----DBSClUPT10N
1!'1RST a-B1T SHUT RPlG1STBR AND CHECK.
32-8it CRC Error Detection
32-BIT CRC (CYCLICAL REDUNDANCY CHECKING) ERROR DE'l'ECTION, CHIP 1
1C1XXXXXXXXXXOXLLLLLLLLX1
2 C0100XXXXXXXOXBLBHLHHLXl
3 C0100XXXXXXXOXBHLHHLRLXl
4 coiOOXXXXXXXOXLLLLLLHLXl
5 C0100XXXXXXXOXBLBBLLHLXl
6 C0100XXXXXXXOXBHLHLLHLXl
7 C0100xXXXXXXOXLLLHLLHLXl
8 C0101XXXXXXXOXLLHLLHLBXl
9 C0101XXXXXXXOXLHLLHLHHXl
10 C0101XXXXXXXOXHLLHLHHHXl
11 C0100XXXXXXXOXHLLHHLLLXl
12 C0101XXXXXXXOXLLBBLLLHX1
13 C0101XXXXXXXOXLBHLLLHHXl
14 C0100XXXXXXXOXLSBHLLLLXl
15 C0100XXXXXXXOXLBLHLHHLXl
16 C0100XXXXXXXOXLLLHHLHLXl
17 C0100 XXXXXXXOXBLLLLLHLXl
18 C0101XXXXXXXOXLtoLLLHLHXl
19 C0101XXXXXXXOXLLLLBLHHXl
20C010IXXXXXXXOXLLLBLBBHXl
21 C0101XXXXXXXOXLLBLHIJHHXl
22 C0101XXXXXXXOXLBLHBHlmX1
23 C0101XXXXXXXOXBLBB8BBHXl
24 C010UCXxxXXXOXLBBBBBHBXl
25 C010IXXXXXXXOXBHHHHHHHXl
26 C0100 XXXXXXXOXLHLLBLLtXl
27 C0101XXXXXXXOXHLLHLLLHXl
28 C0100 XXXXXXXOXHLLHLHLLXl
'29 c0100 XXXXXXXOXHLLHHHHLXl
30 C0101XXXXXXXOXLLHHHHLBXl
31 C0100XXXXXXXOXBHLLHHLLXl
32 C010IXXXXXXXOXHLLHHLLHX1
33 C0100XKXXXXXOXBLLLLBLLXl
34 CXXXXXXXXXXXOXXXXXXXXXLl
J
PASS SIMVLATION
4-307
32-BlteRe, Error Detection
32-BIT CRC (CYCLICAL REOONDANCYcaEC!KINGF'i!lRROR Di!:~TI<»J, CHIP-1
11 1111 1111 2222 222~ 2233 3,3333333
0123 4567 8901 2345 6789 0123 4567 8901 234~ 6789
o
---x ---x --x- ---x ---x ---x ---x --x-
1
8
9
10
11
16
17
18
19
24
25
26
27
-x-- x--- x---x- x--- x---x-x--x--
/INIT*IN*C
/INIT*IN*C
Q31*C
INIT
-x- x--- x--- x---x-- x--- -x-- -x----x
x---x- x- x--- x---x-- x--- -x-- -x-:-
/INIT*C*IN*/Q31
/INIT*O* /IN*Q31 -INIT
/'INIT*C*IN*/Q31
/INIT*C*/IN*Q31
-,..-- Q1
INIT
---x
x-.,.
40
41
42
43
-x- x--- -x-- -x--
Q2
INIT
-x-- X--- X--- x-x---
48 -x49 -x-50 --51 x--.,..
64
65
66
67
CO
---x
x---
32
33
56
57
co *Q1 */Q2*Q3 *04 *Q5 *06 */-
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q3
.
mIT
---x
x--- x--- x---
x--- -x-- -x--
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
04
INIT
---x
---x
x---
-x-- x--- x--- x---x-- x--- -x-- -x-.,.-...-
---x
x--- ---- ---_ ---X: FUSE NOT BLOWN (L, ~, 0)
LEG$ND:
NUMBER
OF
FUSES BLOW = 1129
- : FUSE BLOWN
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
06
INIT
(H,P,l)
32·Bit CRC Error Detection
Logie Diagram PAL20X 8
32·Bit CRC, Chip 1
ClK
1
....
~O123
,
4
~
6
1
8
9 1011
1'2131415
16171819
20212221
24252621
182930]1
32333435
36 n lIl9
,
,
- ~
,
INIT
~
~
.,
3
;:::::::: .
R-1~D-
"
"
"
-b-L
"
4
~
IDD-~
"
"
"
"
;i9t>
--
"
031
NC
5_
6
7
--t~
..
"
8
~
...... ..-.
"
"
"
I~Lj
9
.~. ~ lfi;
.
~D-
"
"
"
NC
=1:):1.
10
11
17
04
05
~ 06
I.:J.......
15
07
Q
~
"'"
te(,
....L
-'6t,..r-v
"
"
"
"
NC
~
01
~
......
-t:5--L
""'.-..~D-
56
NC
~
5--L
00
~
02
......
~
"
NC
~
~
IDD~
IDD- ~
"
"
"
"
NC
22
......
~
"
"
"
CHK1
I
Il
"
IN
23
~D~R
-
"
C
......
v
.A.
>
14
NC
13
OC
~
(I
1
2 1
4 S "
. , 1011
121314 IS
1& 11 1119
20212223
24251521
U 2t 10 31
31 33 34
n
li 313139
4-309
32-Bit CRC Error Detection
PAL20xS
PAL DESIGN SPECIFICATION
CRC2
NADIA SACHS OS/14/S1
32-BIT CRC (CYCLICAL REDUNDANCY CBECKJ;NG) ERROR DETECTION, CHIP 2
MMI SUNNYVALE, CALIFORNIA
CLK INIT C IN /Q7 /Q31 NC NC NC NC NC GND
/OC NC /Q1S /Q14 /Q13 /Q12 /Q11 /Q10 /Q9 /Q8 /CHK2 vec
CHK2 =
Q8
Q8*/Q9* Q10* Ql1* Q12*/Q13* Q14* QIS
/INIT* C*IN* /Q31
/INIT* C*/IN* Q31
:+: Q7
INIT
+
:=!=
+
Q9
:=
+
QI0 :=
+
:+:
+
QS
INIT
/INIT* C* IN*/Q31
/INIT* C*/IN* Q31
Q9
INIT
/INIT* C* IN* /Q31
/INIT* C*/IN* Q31
:+: QI0
INIT
+
Ql1 :-
+
Q12 :=
/INIT* C* IN* /Q31
+ /INIT* C*/IN*Q31
:+: Qll
INIT
+
Q13
:=
+
Q14 :=
+
QIS :=
+
;CHECK BIT 2
;MODULO-2
; ADDITION
; SHIFT
; INITIALIZE
; SHIFT
; INITIALIZE
;MODULo-2
; ADDITION
;SBIFT
; INITIALIZE
;MODULo-2
; ADDITION
;SBIFT
; INITIALIZE
;MODULo-2
; ADDITION
;SBIFT
; INITIALIZE
Q12
INIT'
; SHIFT
; INITIALIZE
Q13
INIT
;SBIFT
; INITIALIZE
Q14
INIT
;SBIFT
; INITIALIZE
3.2-8"· CRCError Detection
I'ONCl'ION TABLE
ctK
J
,CLK
ICC
INIT C IN Q7 Q31 Q15 Q14 Q13 Q12 Q11 Q10 Q9 Q8 cBK2
ICC
INtT
C
Q
QQQQQQQQ
Q
3
IN
7
1
111111
54321098
L
B
L
L
B
L
L
B
B
B
B
B
B
CBK2
-----------------------------------------------------B
X
BBBBSBBS
X
L
X
X
X
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
c
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L.
L
L
L
L
L
L
L
L
L
L
L
B
B
B
B
B
B
B
II
B
L
L
L
L
L
L
L
L
L
L
B
L
L
L
L
B
L
B
L
B
L
B
L
B
L
L
L
L
L
B
B
L
L
B
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
B
B
B
B
B
B
B
B
B
C
C
C
C
L
C
L
C
L
L
L
L
L
L
L
t..
L
B
L
L
L
X
H
C
C
C
C
L
t.
B
B
B
11
B
B
X
L
L
L
L
L
L
L
L
L
L
L
X
B
B
L
L
B
B
B
B
B
B
B
L
B
L
B
L
L
L
B
L
L
X
B
L
L
L
B
t.
L
B
B
B
B
BBBLLLBL
BBLBBLLB
BLSI.BSSB
LBI.I.I.I.BL
BLLBBLLB
LLBLBBBB
LBLBBBBB
BLBBBJDm
LBBBBBBB
BBBLLLBB
BBLLLBBL
BLLLBBLB
LLLLLBBL
LLLBLLLL
LLBBBBLL
LBBLLBLL
L
L
L
L
L
L
L
L
B
L
B
B
L
B
L
B
X
L
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
D
X
BLT.T.AAAA
X
LLBIDQDIL
x
x
LBBBBBL~
X
BBBLLBBB
BBLLBBBB
BLLLLLBB
LLLBBLBB
LLBBLBBL
LBBBLLLL
BBBLLLLL
BBLBBBLB
X
X
X
X
X
X
LLLBJJBBB
xxxxxxxx
X
X
B
-----------------------------------------.-------.•._-
.-~1"
·32·BitCRC Error Detection
DESCRIPTION
SECOND a-BIT SHIFT REGISTER AND CHECK.
32-81t CRe Error Detection
32-BIT CRC (CYCLICAL REDUNDANCYCBECKING) ERROR DETECTION, CHIP 2
1
2
3
4
S
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2S
26
27
28
29
30
31
32
33
34
C1XXXXXXXXXXOXLLLLLLLLXl
C01000XXXXXXOXLLLHHHLHBl
C01010XXXXXXOXLLHLLHHLHl
C01010XXXXXXOXLHLHLLLLX1
C01000XXXXXXOXHLHHHHLHXl
C01010XXXXXXOXLHHLLHHLXl
C01010XXXXXXOXHHLHLLLLXl
C01001XXXXXXOXHLHLLLLLXl
C01001XXXXXXOXLHLLLLLLXl
C01001XXXXXXOXHLLLLLLLXl
C01010XXXXXXOXLLLHHHLLXl
C01011XXXXXXOXLLHHHLLHXl
C01001XXXXXXOXLHHHLLHLXl
C01000XXXXXXOXHHHHHt.I.8Xl
C01000XXXXXXOXHHHLHHHHXl
C01000XXXXXXQXHBLLLLHHXl
C01000XXXXXXOXBLLHHLHHXl
C01011XXXXXXOXLLHHLHHRXl
C01001XXXXXXOXLHHLHHHLXl
C01001XXXXXXOXHHLHBBLLXl
C01001XXXXXXOXHLHHHLLLXl
C01001XXXXXXOXLHHHLLLLXl
C01001XXXXXXOXBlrm:'LLLLXl
C01011XXXXXXOXHHTJ.r.T.T.HXl
C01001XXXXXXOXHLLLLLHLXl
C01010XXXXXXOXLLLHHLLLXl
C01001XXXXXXOXLLHHLLLLXl
C01010XXXXXXOXLHHHHHLLXl
C01010XXXXXXOXHHHLLHLLX1
C01011XXXXXXOXHHLLHLLHXl
C01000XXXXXXOXHLLLHHHHXl
C01011XXXXXXOXLLLHHHHHXl
C01010XXXXXXOXLLHLLLHLXl
CXXXXXXXXXXXOXXXXXXXXXL1
PASS SIMULATION
4-313
32-Blt CAC Error Detection
32-BIT eRC (CYCLICAL REDUNDANCY CHECKING) ERROR DETECTION, CHlP2
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
0
1
11
--x --x- ---x ---x ---x --x- ---x ---x ---x---x-- x-.;.- x---x--x-- x--- -x--x-x---
16
17
x---
24
25
26
27
x--x- x-- x---x--x-- x--- -x----x ---x---
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q9
INIT
32
33
34
35
-x- x-- x---x-- x--- -x--
x---x----x ---
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q10
INIT
40
42
43
-x-- x-- x---x-- x--- -x-x---
x--x----x
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q11
INIT
48
49
x---
56
57
x---
64
65
x---
8
9
10
41
--x
x---
LEGEND:
Q8*/Q9*Q10*Q11*Q12*/Q13/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q7
INIT
Q8
INIT
---x
Q12
INIT
---x
Q13
INIT
---x ----
----'----
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW"
984
- : FUSE BLOWN
Q14
INIT
(H,P,l)
32 .. Blt CAC Error Detection
Logic Diagram PAL20X 8
32·Bit CAC, Chip 2
ClK 1
.,
012
J
. 5.'
1
8 ! 1011
12131415
16
n "'9
21212223
24252&21
21 ZllO 11
12133415
161111:n
,
,
IN IT 2
~
,
.
~=9~ ll] ~
-...
CHK2
Q8
~
"
"
"
4
"
"
"
"
5
IDD
-O-L
~
"
"
"
6
Q10
'Q
..
....-.;;
',";"';
.............
J~D
t;
~D :t;
"
.,"
-H-L
7
...
'
...
so
"
.
'Q
~
'"-;:J.
17
....
Q12
Q13
,
.
tl-L9
............ D
ll]~
Q14
IDD:f; I.J..
Q15
r--. .......
"
~
Ie{
59
NC 9
,"
,
20
,'''-
~
8
:f;
I.J..
......
Q9
~,
....
:~D
~
'32
NC
~J
.',
......
II
NC
23
ID~
- ~~
C .L
Q7
.rt>
~
""
IN
......
.."
15
i ....
"
NC ~~
-
"
""
-
J6l
"
.J.
./
.A..
NC ~~
I
1 ,1 3
..
5
Ii. 1
I
t
10 11
12 1l1~ 15
"
11 tt "
I
2021 U 23
~
24 25 ZIi 11
ZI Z' ,. 31
n
13:M lS
H
n
14
Ne
13'
OC
......
lilt
4·3,15
32-Bit CRC Error Detection
PAL DESIGN SPECIFICATION
PAL20X8
NADIA SACHS 08/14/81
CRC3
32-BIT CRC (CYCLICAL REDUNDANCY CHECKING) ERROR DETECTION CHIP 3
MMI SUNNYVALE, CALIFORNIA
CLK INIT C IN /Q15 /Q31 NC NC NC NC NC GND
/OC NC /Q23 /Q22 /Q21 /Q20 /Q19 /Q18 /Q17 /Q16 /CRK3 vec
CBK3
..
Q16
:=
/Q16*/Q17* Q18*/Q19*/Q20*/Q21*/Q22*/Q23
;CHECK BIT 3
/INIT* C* IN*/Q31
;MODULo-2
;ADDITION
; SHIFT
; INITIALIZE
+ /INIT* C*/IN* Q31
:+: Q15
INIT
+
Q17
:=
+
Q18
:=-
+
Q19
:=
+
Q20
:=
+
Q21
:+
Q22
:=
Q16
INIT
; SHIFT
; INITIALIZE
Q17
INIT
; SHIFT
; INITIALIZE
Q18
INIT
, SHIFT
; INITIALIZE
Q19
INIT
; SHIFT
; INITIALIZE
Q20
INIT
; SHIFT
; INITIALIZE
/INIT* C* IN*/Q31
+ /INIT* C*/IN* Q31
:+: Q21
+
INIT
Q23
:=
/INIT* C* IN* /Q31
+ /INIT* C*/IN* Q31
:+: Q22
+
INIT
4-316
;MODULo-2
; ADDITION
; SHIFT
; INITIALIZE
;MODULo-2
; ADDITION
; SHIFT
; INITIALIZE
32·Bit CRC Er.ror Detection
FUNCTION TABLE
CLKjOC INIT C IN Q15 Q31 Q23 Q22 Q21 Q20 Q19 Q18 Q17 Q16 CHK3
;CLK
JOC
INIT
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
C
IN
Q
1
5
Q
3
1
QQQQQQQQ
22221111
32109876
BHHHHHlm
LLBHHHHL
HLHHHHLL
HLBHHLLL
HLHHLLLL
HLHLLLLH
HLLLLLHL
LI,I,I,I,HLL
LLLLHLLL
LLLHLLLH
HHHLLLHH
HHLLLBHH
CHK3
-----------------------------------------------------
X
X
X
X
x
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
H
H
H
L
H
L
L
H
L
H
H
H
L
L
L
L
H
H
L
L
H
L
L
L
H
H
H
L
L
L
H
H
H
H
H
H
H
L
L
L
H
L
L
H
H
H
H
L
L
L
L
L
L
L
L
H
L
H
H
L
H
L
H
HHLHHHHL
LBHHHHLH
LLHHHLHH
HLHHLHHH
LBHLHHHL
HHLHHHLH
HLHHHLHH
LHHHLHHL
HHHLHHLL
HHLHHLLH
HLHHLLHL
LHHLLHLL
LLLLHLLH
LLLHLLHH
HHHLLHHL
LLLLHHLL
LLLHHLLL
HHHHLLLH
RHHLLLHL
LLLLLHLL
X
X
X
X
XXXXXXXX
~
H
H
H
H
H
H
H
H
H
H
H
H
H
H
R
HLLLHHHH
x
L
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
x
X
X
X
0
x
X
X
X
X
X
X
X
X
X
X
X
H
----------------------------------------------------
.';!U7
,
32-Bit CRC Error Detection
DESCRIPTION
THIRD a-BIT SHIFT REGISTER AND CHECk.
32-Bit CRC Error Detection
32-BIT CRC (CYCLICAL REDUNDANCY CHECKING) ERROR DETECTION CHIP 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ClXXXXXXXXXXOXLLLLLLLLXl
COlOOOXXXXXXOXHHLLLLLHHl
COlOOOXX~XXXOXLHtLLLHHHl
COlOOOXXXXXXOXLHLLLHHHXl
COlOOOXXXXXXOXLHLLHHPHX1
C01010XXXXXXOXLHLHHHHLXl
COlOOOXXXXXXOXLHHHHHLHX1
COlOllXXXxxxOXHHHHHLHHXl
COlOllXXXXXXOXHHHHLHHHXl
c0100ixxxxxxoximin.Bmn.Xl
C01010XXXXXXOXLLLHHHLLXl
C01001XXXXXXOXLLHHHLLLXl
COl001XXXXXXOXL~LXl
C01000XXXXXXOXLLHLLLLHX1
C01010XXXXXXOXHLLLLLHLXl
C01010XXXXXXOXHHLLLHLLXl
C01010XXXXXXOXLHLLHLLLXl
C01011XXXXXXOXHLI.HLLLHX1
C01001XXXXXXOXLLHLLLHLXl
C01001XXXXXXOXLHLLLHLLXl
C01011XXXXXXOXHLLLHLLHX1
C01011XXXXXXOXLLLHLLHHXl
C01001XXXXXXOXLLHLLHHLXl
C01011XXXXXXOXLHLLHHLHXl
C01011XXXXXXOXHLLHHLHHXl
COl010 XXXXXXOXHHHHLHHLXl
COl001XXXXXXOXHHHLHHLLXl
C01000XXXXXXOXLLLHHLLHXl
C01000XXXXXXOXHHHHLLHHXl
C01011XXXXXXOXHHHLLHHHXl
C01010XXXXXXOXLLLLHHHLXl
COl011XXXXXXOXLLLHHHLHX1
C01000XXXXXXOXHHHHHLHHXl
CXXXXXXXXXXXOXXXXXXXXXL1
PASS SIMULATION
4-319
32·81t CRC. Error Detection
32-BIT CRe (CYCLICAL REDUNDANCY CBI!lCKING) ERROR DETECTION 'CHIP 3
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
0
1
8
9
10
11
16
17
24
25
32
33
40
41
48
49
56
57
58
59
64
65
66
67
-x- ....x- ---x.--x- --x- --x- --x- --x-x- x--- x--- _._- x--x-x- x--.;. -x--x-x--x
x-----x
x----...x
x----x
x-x---x--xx---x--x-x---
LEGEND:
x--x--
x--·x--x-- -x-
x--x--
016
tNIT
017.
tNIT
----
018
INIT
Q19
INIT
--,-- 020
INIT
912
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q21
INIT
---x
X : FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW.
4.320
/INIT*C*IN*/031
/tNIT*C*/IN*031
015
tNIT
----
---x
x--- x--x-- -x-
/016*/017*018*/019*/020-
/INIT*C*IN*/031
/INIT*C*/IN*Q31
022
INIT
---x
FUSE BLOWN
(H,P,l)
32-Blt. CRC Error Detection
Logic Diagram PAL20X 8
32-Blt CRC, Chip 3
.....
ClK 1
V.
,2l
.5' I
191011
N 111415
i817UI9
282122 U
24252627
28293031
3233:M35
3&31313 •
0
,
,
......
J
,
J
....,.
INIT ~
..
...... -J:j-~D......~~~
"
-t:}-L
"
C
3
"
"
"
4
...
...
.,"
.
s.
:
I.'
;"
",i
.,
.."
<
~
...
.'....
.,~
"
'.
..
.
'.
:..
",
-~D-
.{:S-;L
m,..
••
~
Ie(
Sf
...
.
~
~
'--
.
21
~2a
L....
'
"
~
'"J. ',.
~
~
11
~
R......
16
.J
.....
18
Qji •.
Q21
.
~g;D-
.
."
~C>~ ~
"
-
If
~
"
NC ~
"
"
"
"
NC
I
Je(.
ft;
"
~=OD...,
;"4,i'
NC .~
"
--
;'
R....
.;
IfKI
:.0-
NC
- ~
~I5
•
fGll
-~I>
....~:::..
I"
6.
031 4.
NC
~I>
:::::.
"
IN
23
lA(
.....
11
'
> .J. .
-
CI-----'
D 1 2 3
"S, 7
. , " 11
12 13 14 IS
" 11 " "
21 21 U U
24 15 21 21
1I zt 31 31
It 13 14 J5
3. 31 H B
14
...q...-E
NC
32-81t CRC Error Detection
PAL20XlO
PAL DESIGN SPECIFICATION
CRC4
NADIA SACHS 08/14/81
32~BIT CRC(cYCLICAL .REDUNDANCY CHECKING) ERROR DETECTION, CHIP 4
MMI SUNNYVALE, CALIFORNIA
CLK INIT C IN /Q23 NC NC NC /CHkl /CBK2 /CHK3 GND
/oe /OUT /Q31 /Q30 /Q29 ·/Q28 /Q27 /Q26 /Q25 /Q24 /CBECK vec
Cmx::K:-
CBK1* CBK2* CBK3* Q24* Q25* Q26*/Q27*/Q28*/Q29* Q30* Q31,CBECK ERROR
Q24
Q23
INIT
,SHIFT
, INITIALIZE
Q24
INIT
,SHIFT
,INITIALIZE
:-
+
Q25
;
..
+
Q26
:=
Q27
:-
/INIT* C* IN*/Q31
+ /INIT* C*/IN* Q31
:+: Q25
+ INIT
+
Q28
:-
+
Q29
:-
+
Q30
:'"
+
Q31
:-
+
OUT
4-322
Q26
INIT
,SHIFT
,INITIALIZE
Q27
INIT
,SRIFT
,INITIALIZE
Q28
INIT
,SHIFT
,INITIALIZE
Q29
INIT
,SHIFT
,INITIALIZE
Q30
INIT
,SHIFT
,INITIALIZE
Q31*/C
+ /IN* C
:-
,MODULo-2
,ADDITION
,SHIFT
,INITIALIZE
,SERIAL
:00'1'
32-Bit CAC Error Detection
FUNCTION TABLE
CLKjOC INIT C IN cmu CBK2 CHK3 Q23 Q31 Q30 Q29 Q28 Q27 Q26 Q25 Q24 OUT CHECK
JCLK
joe
INIT
C
IN
CBK
123
Q
2
3
QQQQQQQQ
33222222
10987654
OUT
CHECK
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
-------------------------------------------------------.-----BHHHARAH
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
X
H
L
L
H
L
L
L
H
L
L
L
L
L
H
L
H
L
L
L
L
L
L
H
L
L
H
L
L
L
H
L
L
H
L
L
L
L
H
L
L
L
S
L
L
H
L
L
L
H
L
L
L
H
L
L
L
L
H
L
H
L
L
L
H
L
L
L
L
L
H
L
L
L
H
L
L
L
L
H
L
H
L
L
L
L
H
L
H
L
L
L
L
L
Ii L
L
L
H
L
i:.
L
H
L
L
L
S
L
L
L
H
L
L
L
H
L
L
L
H
L
L
L
H
L
L
L
H
L
L
L
H
L
L
X
X
X
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _N
xxx
xxx
X
xxx
H
L
H
H
H
H
H
L
L
L
H
XXX
H
XXX
xxx
XXX
XXX
xxx
XXX
xxx
xxx
XXX
xxx
xxx
xxx
xxx
xxx
xxx
xxx
xxx
H
H
L
L
H
L
H
H
L
H
H
H
L
L
L
H
L
L
H
H
HHHHHLHH
HHHHLLHL
HHHLLLLH
HHLLLHHH
HLLLHLHH
LLLHLLHH
LLHLLHHH
LHLLHHHL
HLLHHHLL
LLHHHHLL
LHHHHLLH
HHHHLLHH
HHHLLLHH
HHLLLLHH
HLLLLLHL
LLLLLLLL
LLLLLLLH
LLLLLLBL
LLLLLm.H
LLLLHLBH
LLLHLHHL
LLHLHHLH
LHLHHLHH
HLHHLHHH.
LHHLHLHL
HHLHLHLL
HLHLHHLL
LHLHHHLH
HLHHHLHL
LHHHLLLL
HHHLLLLH
HHLLLHHH
x
x
D
X
X
X
X
XXX
X
X
XXX
K
X
XXX
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
H
HHH
____________________________________
xxx
xxx
xxx
xxx
xxx
xxx
xxx
xxx
xXx
xxxxxxxx
4-323
32·Bit CRC Error Detection
DESCRIPTION
FOURTH 8-BIT SHIFT REGISTER, CHECK, AND SERIAL OUT.
NOTE THAT A PAL20Xa CAN BE USED FOR THE CRC4 IF THE IMPLEMENTATION DOES
NOT REQUIRE OUT AND CHECK TO BE REGISTERED OUTPUTS.
4·324
32-Bit'CRCError Detection··
32-BIT CRC (CYCLICAL REDUNDANCY CHECKING) ERROR DETECTION, CHIP 4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
C1XOXXXXXXXXOXLLLLLLLLXl
C0100XXXXXXXOXLLLLLHLLXl
C0101XXXXXXXOXLLLLHHLHX1
C0100XXXXXXXOXLLLHHHHLXl
C0100XXXXXXXOXLLHHHLLLXl
C0100 XXXXXXXOXLHHHLHLLXl
C0100 XXXXXXXOXHHHLHHLLXl
C0100 XXXXXXXOXHHLHHLLLXl
C0101XXXXXXXOXHLHHLLLHXl
C0101XXXXXXXOXLHHLLLHHXl
C0101XXXXXXXOXHHIJ.I.LHHXl
C0100XXXXXXXOXHLLLLHHLXl
C0100XXXXXXXOXLLLLHHLLXl
C0100XXXXXXXOXLLLHHHLLXl
C0100XXXXXXXOXLLHHHHLLXl
COI0IXXXXXXXOXI.HHHHHI.8Xl
COI0IXXXXXXXOXBHHBHBBBXl
COI00XXXXXXXOXHHHHHHHLXl
COI0IXXXXXXXOXHHHHHHLHXl
COI00XXXXXXXOXHHHHHI.BLXl
COI00XXXXXXXOXHHHBLHLLXl
C0101XXXXXXXOXHHHLHLLHXl
COI00XXXXXXXOXHHLHLLHLXl
COI00XXXXXXXOXHLHLLHLLXl
COI00XXXXXXXOXLHLLHLLLXl
COI0IXXXXXXXOXHLLHLHLHXl
C0101XXXXXXXOXLLBLHLHHXl
C0101XXXXXXXOXLHLHLLHHXl
COI00XXXXXXXOXHLHLLLHLXl
C0101XXXXXXXOXLHLLLHLHXl
C0101XXXXXXXOXHLLLHHHHXl
COlO O.,XXXXXXXO XLLLHHHHLXl.
COI00XXXXXXXOXLLHHHLLLXl
CXXXXXXXOOOXOXXXXXXXXXLI
PASS SIMULATION
32·Bit CRC Error Detection
32-BIT CRC (CYCLICAL REDUNDANCY CHECKING) ERROR DETECTION, CHIP 4
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
o ---- ---x ---x ---x --x- --x- --x- -x-x -x-x -x-8 ---- ---- ---9 x--- ---- ---16 ---17 x---
-x-- ---- ---- ---- ---- ---- ------- ---- ---- ---- ---- ---- ----
---x ---- ---- ---- ---- ---- ---- ------- ---- ---- ---- ---- ---- ---- ----
24 -x-- x--25 -x-- x--26 ---- ---27 x--- ----
x--- ---- ---- ---- ---- ---- --x-x-- ~--- ---- ---- ---- ---- ---x ----
---x ---- ---- ---- ---- ---- ---- ----
---- ---- ---- ---- ---- ---- ---- ----
32 ---- ---- ---33 x--- ---- ----
/INIT*C*IN*/Q31
/INIT*C*/IN*Q31
Q25
INIT
Q26
INIT
---x ---- ---- ---- ---- ------- ---- ---- ---- ---- ----
Q27
INIT
---x ---- ---- ---- ------- ---- ---- ---- ----
Q28
INIT
---x ---- ---- ------- ---- ---- ----
Q29
INIT
---x ---- ------- ---- ----
Q30
INIT
56 ---- ---- ---- ---- ---- ---57 x--- ---- ---- ---- ---- ----
64 ---- ---- ---- ---- ---- ---- ---65 x--- ---- ---- ---- ---- ---- ----
-x-- ---- ---- ---- ---- ---- ---- ---x ---x--- -x-- ---- ---- ---- ---- ---- ---- ---X : FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
4·326
Q24
INIT
---- ---- ---- ---- ---- ---- ----
48 ---- ---- ---- ---- ---49 x--- ---- ---- ---- ----
LEGEND:
Q23
INIT
---x ---- ---- ---- ---- ---- ----
40 ---- ---- ---- ---41 x--- ---- ---- ----
72
73
CHK1*CHK2*CHK3*Q24*Q25*-
= 801
FUSE BLOWN
Q31*/C
/IN*C
(H,P,l)
32·Bit CRC Error Detection
Logic Diagram PAL20X10
32·Bit CRC, Chip 4
iCLK I ~
I'"
I
0123
·,
of
S. 1
1110.11
1213'415
",Jl"9.
nZlun
u»an
DaHl!
l23114U
llUlllt
~-
-~C> ~~
2
....
3
INIT
~
•
~-
"·
-ti~D-
-IA(
"
C
3
.....
..
"
-- fill
-
4
~
-t5~DR-J
"
"21
6
.
~~D-
"42
--
"
NC ~~
....
~~D-
"
~-
.
.
-~D-..... -
"
51
II
9
..
.....
-
~-9c>
u
"
~~
it
~
~
""J
.....
18
~
""J
V
17
~
""J.
.....
16
~.
r.J.V
15
~~~"""'--
"
""
"
:HK3
21
~-
32
11
tlV
~
""
"
NC
~
~
5
8
CHECK
t11
~
~!9Dt11
--
2S
NC
~
1fK-9D-
"
"
"
IN
-
...
..
Q
it
•
I
Z 3
..
5
•
1
•
t '111
121310115
' I n 1111
!iZI U 23
Z4 Ullin
21 II :Milt
111114 35
14,
V
13
If 31 lilt
4~327
Notes
4·328
a-Bit Error Detection
and Correction
VCC
eo
Bl
C3
C2
Ci
co
0
B2
B3
PAL16X4
PAL16L8
. PAL16L8
VCC
B1C
BOC
C3C
C1C
COC
ERROR
NC
,;'
8·Bit Error Detection and Correction
Single bit error detection and correction for an 8-bit data word
requires 4 check bits, making a 12-bit code word. The simplest
code to design is a 12-bit Hamming code. To arrive at the code,
we set up the following matrix:
B7 B6 B5 B4 B3 B2 B1
80
C3 C2 C1 CO
S3 X X X X
S2
X
X X X
X X
X X
X
X
X X
X X
X
S1
SO
Example
X
X
C3
C1
CO
The vertical columns are in a counting pattern, excluding
the single bit values of 8, 4, 2, 1. The single bit values are
assigned to the check bits C3-CO. By reading horizontally
across the rows of the matrix, we get the check equations
by exclusive OR'ing the data bits with X's in that row and
equating that to the check bit with an X in that row:
C3
B7$B6$85$B4
C2
B7 $
B3 $
B2 $ B1
C1
B6 $
B5 $
B3 $
B2 I3l BO
CO
B6 $
B4 $ B3 $
B1 $ BO
The check bits are stored along with the data bits in the
following message format:
M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1
B7
B6 B5
B4 C3
B3
B2
B1
C2
BO
C1
"
"
$
B7 $
B6 $ 85 $
B4 $ C3
B7 $
B3 $
B2 $
B1 $ C2
S1
SO
B6 $
B5 $
B6 I3l B4 $
B313l B2 $
B3 $
0
M12 Ml1 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1
1
1
1
0
0
1
1
1
1
1
1
0
B7 86 85 84 C3 83 B2 81 C2 80 C1 CO
EDAC System Block Diagram
ADDR
BUS
·DATA
aus
CHECK BIT
GENERATION
1-
-
64Kx4
CHECK
BIT
MEMORY
64Kx8
DATA
MEMORY
16
-
B1 I3l SO $ CO
TIMING
AND
CONTROL
I-
4
4
8
The Hamming code works by introducing enough other code
words to create a difference of exactly 3 bits between legal code
words. All other code words are illegal. If, in storage, one bit
flips, the result is an illegal word. In addition, there is only one
word in the set of legal code words from which it COuld have
come, hence the correction.
The Hamming matrix and resultant sets of check bit and
syndrome equations are selected so that when a single bit error
occurs, the syndrome gives the position of that bit (either data
or check) in the 12-bit message format.
CONTROL
BUS
4
t
The 4 syndrome bits indicate the location of any single bit errors
in the 12-bit message format which may than be corrected by
inversion.
4·330
0 $
$
message:
CO
BO $ C1
1
$
When a read occurs, the check bits are recalculated and
compared with the stored bits to generate the 4 bit syndrome:
S2
0
B7 $ B6 I3l 85 $ B4
1 I3l 1 I3l a $
B7 $ B3 I3l B2 $ B1
1 $ 1 I3l 1 I3l a
B6 I3l B5 $ B3 $ B2 I3l BO
1 $ a $ 1 $
$ 0
B6 $ B4 $ B3 $ B1 $ BO
8
S3
o
o
cheek bits:
C2
X
BO
B7
random data word:
SYNDROME
GENERATION
•1
ERROR
CORRECTION
8
t
CORRECTED
CHECK
I--
4
4_BIT
SYNDROME
FOR ERROR
LOGGING
ERROl!
a-Bit Error Detection and Correction
assume no error:
83
82
81
87
Syndrome Bit EqUations
86 ~ 85
~
84
~
C3
83= 87~86E1l85~ 84E1l C3
~
1
~
0
~
1 ES
1
87
~
B3
~
82
~
C2
1
~
1
1
ES
81 ~
0 ES
86 ES B5
~
83
~
82
~
80
~
Cl
~
ES
~
1
~
0
~
1
~
B4 ES 83
~
~
CO
~
E9
E9
1
86
80
~
0
0
~
= (87 '86 . 85 + 87 • 86' 85 + B7 . 86 • 85 + 87 • 86· 85)
Ell (84 •
1
81 ES BO
0
0
0
~
0
0
83
Q
~
E9
ES
1
~
1
Q
ei
E9
E9
0
E9
1
E9
E9
i
E9
0
E9
0
E9
E9
0
E9
0 E9
0
-b
>-b
1
3
B7
6
, ...
1
.
8
9
"
11
11
1l
B6
J
""
...
...
11
"
r;:,.
"
21
22
,
"
~""
21
-
3D
31
\
~31
J4
J5
.......
J6
J1
38
J9
-
"""
"
"""
r;:,.
6
47
NC
m
~
M
~D-fi~
4~
49
"
"
""
51
B4
~J),-
./
I
-Q."I
B5
~D- ~t..21 ~
.....-0
01--
~
J3
F
~
~D- r-r;;-;;~~
~~1
I-
28
29
NC
B1
,.....,
"
NC
18
BO
,.
16
18
NC
19
B
9
...
...
...
.
"
""
""
6D
61
62
6J
01234561891011
1213141516171119
202122232425262128293031
>-b
>-b
...
13
12
B2
B3
LA.!!
~
4-335
a..ait Er.....' Detectfon}andrCortection
PAL16X4
PAL DESIGN SPECIPICATION
SBG
B. BRAFMAN 03/13/81
SYNDROME BIT GENERATOR
MMI FIELD APPLICATIONS ENGINEER YORBA ,LINDA, CALIFORNIA
SYNCLK 07 06 BO B1 B2 B3 05 04 GND,
/oe 03 02 A3 A2 Al AO 01 DO vee'
:,
IN THE ABOVE PIN LIST, THEFOLLOWlN~ SUQSTlTUTIONS HAVE BEEN ,
MADE TO ACCO.,OATE THE SPECtFIO FORMAT MEANS
B1 MEANS
:B2!:MEANS
B3MEANS
AO'MEANS
Al -MEl\NS
A2 MEANS
A3 MEANS
/C3
/C2
/<=1
/eo
/S3
/S2
/Sl
ISO
(CHECKB!T 3)
(CBECKBIT2)
(CHECK BrT 1)
.)
(~KBITO)
(SYNDROMEB):T
(SYNDROME 'BIT
(SYNDROME BIT
(S'YNJ)ROMEBIT
3)
2)
1)
0)
BO-B7 ARE THE BITS OF .THE OAT~ WORD.
THE .SUBSTITUTIONS APPLY BELOW. WlTB THE
/AO :=
+
+
+
:+:
,+
/Al :=
+
+
+
:+:
+
/A2 :=
+
+
+
:+:
+
+
+
/A3 :=
+
+
+
:+':
+
+
+
A
~~A
EXC~TION.
07*06* 05
/07*/06* 05
/07* 06*/05
07*/06*/05
04* (/BO)
(04*( BO)
:B7 :+: B6 :+: Bs
:~4
:+: C3
0.7* 03* 02
/07*/03* 02
/07* D3*/02
07*/03*/02
01* (/B1)
/01*( B1)
:B7
:+:
OF COMMENTS.
:+:
B3 :+: B2
:+:
:B1 :+: C2
:06* 05* 03
/06"'/05* 03
/06* 05*/03
06*/05*/03
02* 00*( B2)
/02*/00* ( B2)
/02* 00* (/B2) 02*/00* (/B2)
1136 :.+: Bs :+: .B3
06* 04* 03
/06*/04* 03
/06* 04*/03
06*/04*/03
01* 00* ( B3)
/01*/00* ( B3)
/01* 00* (/B3)
01*/00* (/B3)
lB6 :.+: B4 ;+: B3
:+:
",
,"
lB2 :+: BO l.+: C1.
'
... \.
!
:'+:
lBl :+: ,BO
:+: CO
~
:",
8-Bit Error Detection and Correction
FONC'l'ION 'mBLE
SYNCLK
loe
,eON'l'ROL
,SYN I
, eLK oe
07 06 05 04 03 02 D1 DO BO B1 B2 B3
lAO IA1 IA2 IA3
IIII
-DATADDDDODOD
76543210
BBBB
0123
AAAA
0123
eoMMEN'l'S
LLLL
HHLL
HLBB
NO ERROR
D7 ERROR
06 ERROR
05 ERROR
D4 ERROR
03 ERROR
D2 ERROR
D1 ERROR
00 ERROR
BO ERROR
NO ERROR
B2 ERROR
B1 ERROR
NO ERROR
D7 ERROR
06 ERROR
D5 ERROR
D4 ERROR
03 ERROR
D2 ERROR
01 ERROR
DO ERROR
BO ERROR
B1 ERROR
B2 ERROR
B3 ERROR
------------------------------------------e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
BBBBBBBH
LLBH
LARRABHH
LLHH
BLBBBBBB
BBLBBBBB
LLBH
LLHH
LLBB
BBBBLBBB LLBB
HBHBBLBB LLBB
tu1HHHl1LB LLHH
BBBBBBBL LLHH
BBBBBBBB BLBB
BARBARHH
LLBB
HBHtItItItItI
LLLB
BBBBBBHH LLHL
LLLLLLLL LLLL
BLLLLLLL LLLL
LBLLLLLL LLLL
LLHI.I,LLL. LLLL
LLLBLLLL LLLL
LLLLBLLL LLLL
LLLLLHLL LLLL
LLLLLLBL LLLL
LLLLLLLB LLLL
LLLLLLLL BLLL
LLLLLLLL LBLL
LLLLLLLL LLBL
LLLLLLLL LLLB
AAA',HHHH
BLHL
BLLH
LHBB
LBBL
LBLB
LLBB
BLLL
LLLL
LLHL
LLLB
LLLL
BBLL
HLBB
BLHL
HLLB
LBBB
LHHL
LBLB
LLBH
BLLL
LBLL
LLBL
LLLB
DI
-------------------------------------------
4-337
a.Blt Error Detection and Correction
DESCRIPTION
THIS PAL GENERATES THE SYNDROME BITS· FOR A 12 BIT HAMMING CODE WORD
AS A FUNCTION OF THE 8 DATA . BITS AND THE 4 CHECK BITS TO POINT TO
ANY SINGLE BIT IN ERROR.
8·Bit Error Detection and Correction
SYNDROME BIT GENERATOR
1 C11001111X011BBBB111
2 C0100111lX011BBLL111
3 C1000111lX011LLBL111
4 C11001101X011HLRL111
5 C11001110X011LBBL111
6 Cl1001111X001LLLH111
7 Cl100111lX010HLLH1l1
8 C1100111lX011LHLS011
9 Cl1001111XOllLLHH101
10 Cl1101111X011HHHL111
11 C1100111lX011HBHB111
12 CllOOOlllXOllHLHH111
13 C1100101lX011LHHH111
14 cOOOOOOOOXOOOHHHH001
15 C10000000XOOOHHLL001
16 C01000000XOOOLLHL001
17 C00000010XOOOHLHL001
18 COOOOOOOlXOOOLBBL001
19 COOOOOOOOX010LLLH001
20 COOOOOOOOX001HLLH001
21 COOOOOOOOXOOOLHLH101
22 COOOOOOOOXOOOLLHH011
23 C00100000XOOOHHHL001
24 C00010000XOOOHHLH001
25 ·COOOOlOOOXOOOHLHHOOl
26 C00000100XOOOLHHHOOl
PASS SIMULATION
4.338
·8-Bit Error Detection:and Correction
SYNDROME BIT GENERATOR
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
16 x--- x--17 -x-- -x-18 -x-- x--19 x--- -x-20 ---- ---21 ----
-------------x-x
x-x-
x--x---x--x--------
------------x---x--
07*06*05
/07*/06*05
/07*06*/05
07*/06*/05
04*/B0
/04*BO
24 x--25 -x-26 -x-27 x--28 ---29
-----------x---x
--x--x---- ---- ---- ---- ---x
---- ---- ---- ---- ---x
---- -x-x ---- ---- ------- x-x----
--x---x
--x---x
-------
07*03*02
/07*/03*02
/07*03*/02
07*/03*/02
01*/B1
/Ol*B1
x---x--x-x--------------x---x--x-x----x---x
---x
--x-
-------------------------------------------------
--x--x---x
---x
-------
--x- ----
06*05*03
/06*/05*03
/06*05*/03
06*/05*/03
02*00*B2
/02*/OO*B2
/02*00*/B2
02*/OO*/B2
-------------------------
06*04*03
/06*/04*03
/06*04*/03
06*/04*/03
01*00*B3
/Ol*/OO*B3
/01*00*/B3
01*/OO*/B3
32
33
34
35 ---36 --x37 ---x
38 --x39 ---x
40 ---41 ---42
43 ---44 --x45 ---x
46 --x47 ---x
LEGEND:
----------------
-------------------..;.-----------------------------
----------------
------------x-xx-x-x-x
-x-x
-------------------------
----------------
------------------------------------x-xx-x-x-x
-x-x
x---x-x---x---x---x
---x ----
x: FUSE roT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =
828
x-x-xxx--x
-x-x
-------------
- : FUSE BLOWN
(H,P,l)
8-Bit Error Detection and Correction
Syndrome Bit Generator
SYNCLK
Logic Diagram PAL16X4
I
0123
4567
891011
12131415
16111819
20212223
24252621
2829]031
0
1
2
3
4
6
07
2
...
...
.,
8
12
13
.
3
~
18
0
14
15
...
16
1)
18
"
80
19
)
10
11
D6
~
;J
5
~
20
21
22
,
.........
AO
~D-
~
A1
~
A2
-D
.......
24
25
26
27
"
-
30
31
5
Ei
..........
~~1
H~n=t"""\.
-c -z.
~
36
~
37
38
39
,
--:-
~
6
F
~40
-~
-t> cr"
~D-;f::-~
41
"
43
44
45
46
47
83
- or--
-D
;
32
l3
34
35
82
or--
~~1
28
81
01
;}D ~~
23
m
DO
,
.
~
A3
-:-
.......... 48
~b-J
"
50
51
52
05
8
...
...
54
55
"
>;j
5)
58
"
04
9
...
13
.;J
53
6D
61
62
63
r
~
01234561891011
1213141516111111
20212223
2425262728293031
12
~
02
03
a-Bit· Error Detection and Correction
PAL16L8
PAL DESIGN SPOCIFlCATION
OCUl
B. BRAFMAN 03/13/81
ERROR CORROCTION UNIT No. 1
MMI FIELD APPLICATIONS ENGINEER YORBA LINDA, CALIFORNIA
/S3 /S2 /S1 ISO B7 B6 BS B4· B3 GND
B2 NC NC B2C B3C B4C BSCB6C B7C vee
IF (vee) /B7C
=
+
+
+
+
S3* S2*/S1*/SO* B7
/S3*/B7
/S2*/B7
S1*/B7
SO*/B7
1CORRECTION OF B7
1NO CORRECTION
1NOCORRECTION
1NO CORRECTION
1NO CORRECTION
IF (vee) /B6C •
+
+
+
+
S3*/S2* S1* SO* B6
/S3*/B6
S2*/B6
/S1*/B6
/SO*/B6
1CORRECTION OF B6
1NO CORRECTION
1NO CORRECTION
1NO CORRECTION
1NO CORRECTION
=
S3*/S2* S1*/SO* BS
/S3*/BS
S2*/BS
/S1*/BS
SO*/BS
1CORRECTION OF BS
1NO CORRECTION
1NO CORRECTION
1NO CORRECTION
1NO CORRECTION
S3*/S2*/S1* SO* B4
/S3*/B4
S2*/B4
S1*/B4
/SO*/B4
1CORRECTION OF B4
1NO CORRECTION
1NO CORRECTION
rNO CORRECTION
1NO CORRECTION
IF (vee) /BSC
+
+
+
+
IF (vee) /B4C
=
+
+
+
+
IF (vee) /B3C
= /S3*
S2* S1* SO* B3
S3*/B3
/S2*/B3
/S1*/B3
/SO*/B3
1CORRECTION OF B3
1NO CORRECTION
tNO CORRECTION
1NO CORRECTION
1NO CORRECTION
IF (vee) /B2C = /S3* S2* S1*/SO* .B2
+ S3*/B2
+ /S2*/B2
-I;jSl*/B2
+ SO*/B2
1CORRECTION OF B2
1NO CORRECTION
1NO CORRECTION.
1NO CORRECTION
1.NO CORRECTION
+
+
+
+
8·81t Error Detection and Correction
FONC'l'ION TABLE
S3 S2 Sl so B7 B6 B5 B4 B3 B2 B7C B6C B5C B4C B3C B2C
, SYNDROME
, SSSS
, 3210
INPUT
BBBBBB
765432
CORRECTED
BBBBBB
765432
LLLL
LLLL
aBLL
UBBBHB
UBBBHB
LLLLLL
LBBBBH
BLLLLL
COMMENTS
.
-----------------------------------------------.
aBLL
LLLLLL
~
LLLLLL
BLBB
BLBB
BLHL
BLHL
BBBHHH
BLHBBB
LLLLLL
LHLLLL
LLLLLL
LLHLLL
HLLB
HLLB
BBBmm
BBHLBB
LLLLLL
LLLBLL
LBBH
BBBBBH
BBHHLB
LBBH
LaBL
~
BB$m
mrimJm
LLLLLL
BHLHBB
toLLLHL
BBBHHL
LLLLLB
______________ _________
LLLI¥o
~_~
NO ERROR
NO ERROR
CORRECT B7
CORRECT B7
CORRECT B6
CORRECT B6
CORRECT B5
CORRECT BS
CORRECT B4
CORRECT B4
CORRECT B3
CORRECT B3
CORRECT B2
COlUUlCT B2
~~--------~.
___
~-----c
DESCRIPTION
THIS PAL PERFORMS ERROR CORRECTION ON BITS B2-B7 BASED ON THE 4-BIT
ERROR SYNDROME SO-S3.
'
ERROR CORRECTION UNIT U
1
2
3
4
5
6
7
8
9
10
11
12
13
14
111111111X1XXHBHBHHl
111100000XOXXLLLLLL1
001l1l1l1X1XXBBHHHI,l
001100000XOXXLLLLLHl
01001111lXlXXHBBHLB1
010000000XOXXLLLLHL1
010111111X1XXBBHLHB1
01010QOOOXOXXLLLBLL1
01lO1l111X1XXHHLBHB1
011000000XOXX~L1
10001111lX1XXHLHBHB1
100000000XOXXLBLLLLl
100111111X1~1
100100000XOXXHLLLLL1
PASS SIMULATION
8-Blt Error Detection and Correction
ERROR CORRECTION UNIT No. 1
11 1111 1111 2222 222.2 2233
0123 4567 8901 2345 6789 0123 4567 8901
o --- ---I
2
3
4
5
8
9
10
11
12
13
16
17
18
19
20
21
-x-x x---
-x- ---x---x-
x~-
'----
x---
-x--x--
-x--x-- -x--
x--x -x-- -x--
x---x--
x--
-x..-
-x-x--
x--
S3*/S2*Sl*SO*B6
/S3*/B6
S2*/B6
/81*/B6
/SO*/B6
-x--
x---
-x--
x-x -x- x---
-x-x-
83,*S2* /81 */SO*B7
/S3*/B7
/S2*/B7
Sl*/B7
SO*/B7
x---x--x--x--x--
-x--
S3*/S2*81*/80*B5
/S3*/B5
S2*/B5
/Sl*/B5
SO*/B5
24
25
26
27
28
29
x--x x-- -x--x-x-x-x---
32
33
34
35
36
37
-xx- -x- -x---x
x-x-x---
x---x--x--x--x--
/S3*82*Sl*SO*B3
S3*/B3
/S2*/B3
/Sl*/B3
/80*/B3
-xx- -x-- x----x
x--x--x--
--x---x
/S3*S2*Sl*/SO*B2
S3*/B2
jS2*/B2
/Sl*/B2
SO*/B2
40
41
42
43
44
45
LEGEND:
~---
x--
----
4-344
-x-x--
x: FU8E NOT BLOWN (L,N,O)
NUMBER OF FU8ES BLOWN = 1074
S3*/S2*/Sl*SO*B4
/S3*/B4
S2*/B4
Sl*/B4
/SO*/B4
-x--x--
---x
---x
--x
- : FUSE BLOWN
(H,P ,1)
a-Bit Error Detection and Correction
Logic Diagram PAL16L8
Error Correction Unit No. 1
(J
12 3
4!i 61
891011
12131415
16171819
202122"23
24252627
28293031
0
~
1
2
J
4
5
6
2
7
.
:r-J
••
~SJ
10
fI
12
13
....
~
~
...
11:'1------
,.
t-
19
I-
20
>=11
21
22
"
""
27
""
5
.....
30
J1
~
...
-
~SJ
pJ
J5
36:
J7
J8
"
40
41
42
...
44
7
...
1"
..
51
54
84
...>
55
.."
61
U
..
B2C
...
)--
:r-J
13
NC
....
50
...
14
...'I---
'.
...
9
~~
:1-----
...
'0,
B3
B3C
~
41
"
""
8
15
...I - - -
...
43
IS
B4C
~
JJ
...
16
....
"
6
BSC
'~:.I---
J2
B6
17
~'
24
B7
B6C
15
17
.
18
!----,
\4
16
4
B7C
...' I - - -
~
3
19
"
:""
~
'
...
~
12
11
82
4-34'
8 ..Bit··Error .Detection and' Correction
PAL16L8
PAL DESIGN 5PECIFICATION
ECU2
B. BRAFMAN 03/13/81
ERROR CORRECTION UNIT No. 2
MMI FIELD APPLICATION5 ENGINEER YORBA LINDA, CALIFORNIA
/53 /52 /51 /SOB1 BO /C3 /C2 /C1 GND
/CO NC ERRORCOC CIC C2C C3C BOC B1C vec
IF (vee) /B1C =
+
+
+
/53* 52*/51* 50* B1
53*/B1
/52*/B1
51*/B1
,CORRECTION OF B1
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
IF (vee) /BOC •
+
+
+
+
/53*/52* 51* 50* BO
53*/B0
52*/B0
/51*/B0
/50*/B0
,CORRECTION OF BO
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
IF (vee) /C3C'. 53*/52*/51*/50* C3
+ /53*/C3
+ 52*/C3
+ 51*/C3
+ 50*/C3
,CORRECTION OF C3
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
IF (vee) /C2C •
+
+
+
+
/53* 52*/51*/50* C2
53*/C2
,CORRECTION OF C2
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
IF (vee) /C1c •
+
+
+
+
/53*/52* 51*/50*C1
53*/C1
52*/Cl
/51*/Cl
50*/C1
,CORRECTION OF C1
,NO CORRECTION
,NO CORREX::TION
,NO CORRECTION
,NO CORRECTION
IF (vee) /COC ..
+
+
+
+
/53*/52*/51* 50* CO
53'(r/CO
52*/CO
51*/CO,
/50*/CO
,CORRECTION OF CO
., NO CORRECTION
,NO CORRECTION
,NO CORRECTION
,NO CORRECTION
/52*/C2
51*/C2
50*/C2
IF (vee) /ERReR = /53*/52*/51*/50
4-346
,NO ERROR!
a-Bit Error Detection and Correction
FUNCTION TABLE
S3 S2 Sl
1SSSS
13210
so
BB
10
B1 BO C3 C2 C1
CCCC
3210
BB
10
CC
co
CCCC
3210
CCCC
B1C BOC C3C C2C C1C COC ERROR
ERROR
COw.mNTS
-----------------------------------~----------------
LLLL
LLLL
LLLL
LLLt
LHLH
LHLH
LLHH
LLHH
HLLL
HLLL
LHLL
LHLL
LLHL
LLHL
LLLH
LLLH
HH
Xx
LL
xx
JIH
LL
HH
LL
xx
xx
xx
xx
xx
xx
xx
xx
xxxx
HflHH
XXXX
LLr.;:r..
xxxx
xxxX,
XXXX
xxxx
HHHH
LLt:;L
flHRH
LLLL
HHHH
LLLL
HHHH
LLLL
HH
XX
XXXX
HHHH
4
xxxx
tH
Ht
HL
,LH
xxxx
xxxx
XXxX
xxxx
xx
xx
xx
xx
xx
xx
xx
xx
xx
LLLL
LHHH
HLLL
HLHH
LHLL
HHLH
LLHL
HHHL
LLLH
L
L
L
L
H
H
H
H
H
H
H
H
H
H
If
H
NO
NO
NO
NO
ERROR.
ERROR
ERROR
'ERROR
~()RRECTJ31
CORREC'r B1
CORRECT BO
CORRECT :eo'
CORRECT C3'
CORRECT C3
CORRECTC2 .,'
CORRECT C2
CORRECT ~1
CORRECT C1
CORRECT cO
CORRECT co
-------------------------~~-------------------------
DESCRIPTION
THIS PAL PERFORMS ERROR CORRECTION ON BITS BO-B1 AND CHECKS BITS
CO-C3 BAS]!:DON THE 4 BIT ERROR SYNDROME SO:"S3.
ERROR CORRECTION UNIT
'2
1 llllllXXX~XXLXXXXHHl
2 llllXXOOOXOxLHBBRXXl
3 111100XXXXXXLXXXXLLl
4 llllXXlllXlXLLLLLXXl
5 lOlOllXXXXXXBXXXXBLl
6 lOlOOOXXXXXXBXXXXLHl
7 1100llXXXXXXBXXXXLBl
8 llOOOOXXXXXXBXXXXBLl
9 OlllXXOOOXOXBBBBLXXl
10 OlllXX111XIXBLLLaXXl
11 lOllXXOOOXOXBBHLBXX1
12 101lXXIllXlXHLLHLXX1
1.3 llOlXXOOOXOXBHLBBXX1
14 llOlXXlllXlXBLBLLXX1
151110XXOOOXOXBLBBBXXl
16 1l10XX111XIXBHLLLXXl
PASS SIMULA'l'ION
4-847
8.Blt Errol' DetectIQft'.and.£orrectlon
ERROR CORRECTION UNIT No. 2
11 1111 1111 2222 2222 2233
0123 4567 8901 2345 6789 0123 4567 8901
o ---- ---- ---- ----xx- x--- -x-- x--
1
2
3
---x ---- ---- -x-x---x--
4
-x--
-x--
8
9
x-x- -x-- -x--
------- ---------- ----
...:.;,....::·.,;'/S3*S2*/sl*sO*B1 .
---- sj*/Bl
-...;...:- /S2*/B1
---- ----
----
~--~'Sl*/B1
x--- ---- ---- ---- /S3*/S2*Sl*SO*BO'
10 ---x ---- ---- ---- -x-- ---- ---- ---- S~*/BO
11 -x--x----- ---- S2*/B0
12
x---x----- --~- /Sl*/BO
13
x---x----- ---- ./SO* /BO
16
17 x--x x--- x--18 --x- ---- ---19 -x-- ---20 ---- -x-21 ----x-24
25
'.26
27
28
29
,
---- ---- x--- ---- ---x--- ---- ----
x--- ---x--- ----
/S3*/C3
S2*/C3
---- Sl*/C3
----SO*/C3
'
----
-xx- x--- x-x-- ---- /S3*S2*/Sl*/SO*C2
---x ---- ---- ---- ---- ---- x--- ---- S3*/C2
x--X---, ---- /S2*/C2
-x-x--- ----Sl*/C2
-x--
32 ---- ---33 x-x- -x-- x--34 ---x ---- ---35 -x-36
x--37
-x-40
41
42
43
44
45
---- ----
-x-- ---- --,..., S3*/S2*/Sl*/SO*C3 .
x-x---x
-x--
x--- -x--
x--- ---- SO*/C2
--- ---- --------- -x--
48
49 x-x-
LEGEND:
-x----- ---- x--x--x--x---
----
---x S3*/CO
/S3*/S2*/Sl*SO*CO
____________ --xr
x---
x--- x---
---- ---- --x- S2*/CO
---- ---- --x- Sl*/CO
---- --x- /SO*/CO
---- ---- /S3*/S2*/Sl*/SO
x: FUSE mT BLOWN (L,N,O)
NUMBER OF FUSES BLOWN =1104
4-348
/S3*/S2*Sl*/SO*C1
S3*/C1
S2*/C1
/Sl*/C1
SO*/C1
- . FUSE BLOWN
(H,P,l)
a-Bit Error Detection and Correction
Error Correction Unit No. 2
Logic Diagram PAL16L8
S3 '
G 123
4561
891011
1213141fi
16171819
20212223
24252627
28293031
0
:>-J
1
2
,
J
5
6
7
2
...
..
11:
~
19
B1C
...
8
9
:=->--J
10
11
12
13
14
15
3
..
....1---
--I
sb---J
17
18
19
20
21
22
..
"
~
~b-J
16
27
28
29
JO
.
~
...
>-J
l'
J5
J6
J7
J8
6
...
C2C
~.t----
~
l2
J3
BO
1fi
f--
J1
81
C3C
11:.1---'
24
...
17
...
~
25
5
BOC
i-------,
16
4
18
15
C1C
39
....
...
... t----?-
~
"
"
~b-J
41
42
44
""
I.
CDC
47
7
.1---
""
""
~b-J
"
"
53
54
8
to.
ERROR
~
C3 - - 1
"
"
""
~~
63
f--
5)
61
62
g
13
to.
..
...
012,3
4561
891011
12131415
16171819
20212223
24252627
12
NC.
}'.
.",
11
28293031
4-3.49
Notes
5-1
Video Controller
to Video Section
..Introduction
.
.
Computer graphics is a rapidly growing field in the computer
industry. It enables communication between the human being
and the computer. The human eye can absorb information
displayed in diagrams, numbers, letters and images I\luch faster
than it can absorb tables with numbers only. Computer graphics
is penetrating into almost every professional field and the "video
games" syndrome is spreading into more and more living
rooms.
The PAL family teams up to help the wide-spread use of
computer graphics. By using high speed PAls, the designer can
implement simulations and real time systems in an efficient way.
The following designs are examples of the use of PALs in the
video world.
1. 10 BIT .COUNTER [SN54n4LS491] This is ideal for video
synch generation for CRT graphics including video games.
This counter provides the vertical and horizontal coordinates
required to address the graphic data. Video resolution is
usually 9 or 10 bits in the vertical and horizontal which in the
past·was supplied by three LS161's. These, of course, can be
replaced by one LS491. This counter can also count down
which allows screen coordinate reversal.
2. Analog to digital and digital to analog converters, change
analog signal into an equivalent digital code and vice versa.
This function is commonly required in a digital system when
the analog information has to be stored and then shown as a
displacement on a CRT.
3. The video logic deSign shows the reduction in the number of
parts on a video-interface board using PALs.
4. The video-controller board is an example of how to implement
a video system using PALs.
Implementing a Video Controller
Using Programmable Array Logic
by Ehud "Udi" Gordon
The use of video is definitely a sign of the times and will be with
us into the future. The video-controller board is the bridge
between 'the' outside world and the screen. There are many
possibilities to implement the video-controller board. but an
efficient one uses PALs. The following will simplify the construction of a video-controller bOllrd and will assist the cjesigner
in elimio/lting·board space problems.. PAt'$:are' the backbone o~
this application.
.
RS232
9600
VIDEO
CONTROLLER
BAUD
RS170
COMPOSITE
VIDEO
KEYBOARD
Overview
There are words that belong to spa.cifiY cq(lCepts within the
video industry. For a clear uriderstandintj{'o'thow the videocontroller board works we nee.d
, to define ; some of them:
~
FRAME -
,
A single complete picture· .'.
SCANNING - The process of analyzing successively, according to a predeterminecJ method, the light values of picture
elements which constitute th~ total picture area
FRAMI: FRI:QUI:NCY - The numbkr of times per second the
picture area is completely scann~a
The frame frequency has· been standardized at 30 frames per
second, which gives a satisfactory .illusion of motion continuity,
although the individual picture· elements are transmitted one
after the other. A frequency of 30 frames per second is equal to
half the power-line. frequency in most locations. Using this
standardized rate, the entire screen is illuminated 30 times per
second. This is too slow to give the impression of a truly steady
light, so a flickering occurs.
To overcome the flickering problem it is common to use the
INTERLACED SCANNING METIiQD. In this method the screen
is divided into 525 lines and into two fields. There is an odd
numbered field and an even numbered field. Each of these fields
is made up of one-half of the screen by dividing the frame into
odd and even numbered lines. First,.allthe odd numbered lines
1, 3, 5, ... are scanned from top to bottom. After scanning a
total of 262.5 odd numbered lines, the even numbered lines are
scanned from top to bottom, for the total of 525 lines. Each
scanning period from top to bottom"is 1/60 of a second and is
called a FIELD. Two fields constitute a frame.
'"':
Figure 1a. Odd Numbered Lines Scanned Generate the
Odd Field
Flgure1b.Even Numbered Lines Scanned ..Gene,ate the
Even Field
Video Controller
3
5
--
~
--
--
~
~ --
ETC.
-
r
r
-
- --------
--
Figure 1c. The Solid Lines 1, 3, 5, ... Represent the Odd Field.
The Dashed Lines 2, 4, 6 ... Represent the Even Field
Figure 1d. The Odd and Even Fields Combined Generate
One Frame
FIELD FREQUENCY - The number of times per second the
field is completely scanned
vertical retrace, blanking pulses are transmitted which blank out
the total screen for this time period. The rate of the vertical
synchronizihg pulse is equal to the number of fields transmitted
per second: 60 pulses/second.
The field frequency has been standardized at 60 fields per
s~cond. At this rate, the screen gets illuminated 60 times per
second which results in the disappearance of the flickering.
(Notice that the frame frequency is still 1/30 of a second.)
At the end of each scan line the electron beam moves rapidly
from right to left on the screen which gives the horizontal retrace.
Then it moves across the next odd/even numbered scan line
and returns retracing right to left. While the beam retraces,
blanking pulses are transmitted which blank out the total screen
for this tim., period.
A HORIZONTAL SYNCHRONIZED PULSE is used to time the
start of each horizontal scan line. The rate of the horizontal
synchronizing pulse is equal to the total number of lines per
frame multiplied by the number of frames transmitted per second:
525 lines' 30 frames = 15750 pulses/second
A VERTICAL SYNCHRONIZED PULSE is used to time the
start of each field. It occurs at the end of each field and causes
the beam to go from bottom to top of the screen. During the
Figure 2. Horizontal Scanned Lines With the Retraces
BLANKING FOR ~I
SYNCH AND
RETRACE
.16 H
I
Figure 3. Composite Video Signal
~
-
-
REFERENCE WHITE LEVEL
I
I
REF/!RENCE BLACK LEVEL
BLANKING LEVEL
I> = 1.0 ± 0.05 Volts
= 0.4 ± 0.051> Volts
H Time From Start of One
Line to Start of Next Line
0'
FRONT
PORCH
...
PORCH
'HORIZONTAL SYNC PULSE
H_
5·5
Video Controller
A picture signal is defined as voltage levels which when
combined with the synchronizing pulses generate A COMPOSITE VIDEO SIGNAL. There are two reference voltage levels;
i.e., a high voltage level =white and a low voltage level = black
(see Figure 3). In between these reference levels are the gray
tones. The synchronizing pulses are below the black level so
they do not produce light.
The horizontal and vertical pulses along with the picture signals
constitute a frame where 15,750 horizontal lines are scanned
every second making one complete horizontal cycle of approximately 63.5 microsceonds (commonly called 1H). Because
of the front and the back porches (see Figure 3) that are used for
retrace time and synchronization, the visible portion lasts approximately 54 microseconds. The time from the start of one
field to the start of the next field is 262.5H or 1V.
Figure 6 illustrates the relationship between (a) the horizontal
and vertical sweeps and (b) the line and the field blanking. A field
blanking signal starts at Point A which is the initiation of the
vertical retrace where the electron beam is at the bottom of the
screen. During the vertical retrace period, the beam moves back
and forth across the screen until it reaches the top of the screen
(see Figure 5). The field remains blank until the beam reaches
Point B. From Point B the beam is visible until it nears the right
edge of the screen. At this time, horizontal blanking occurs and
the beam moves from the right edge to the left edge of the
screen. Horizontal blanking occurs 263 times for each field. At
Point C, a new vertical retrace for the next field is initiated. At
Point D, the beam finishes the scan of the entire screen for one
frame. This point corresponds to POint A in the first field, so a
field blanking occurs again.
PAL MAN
LINE AROUND
PAL MAN
UNDER LEAD
~-----TIME 15~50 SEC (APPROX.)-----.~
Figure 4, A Waveform of Video Voltage Produced by Scanning
One Line on a Televised Screen
EVEN LINE TRACE
LINE TRACE
LINE TRACE
Figure 5. Vertical Retraces for the Odd and Even Fields
VideO. Controller
~_________________________1 COMP~~T~FRAME __________________________~_I
~_ _ _ _ _ _1~~2~~E~D ________-'l·~'"'I___________~2~~2:SI~L:t:D_ _ _--""_~I
I
TIME.
_: , . "••(';,2.5:>
HORIZONTAL
SWEEPS
15750 PER SECOND
~f~jl fiu~1'~1
1 - -.07v_I"
VERTICAL
SWEEPS
60 PER SECONO
..
_I
.93V
_1~-.07v---'-+-1
-.93V
~18.4 LINES--..j"-:--244.1 LINES-_~18.4 LINES-....1'+--244.1 LlNES-_1
I
I-
PICTURE
I_
-,
.1
PICTURE
Figure 6. Vertical and Horizontal Sweeps, and Blanking Within a Frame
I
I
1,",4~--~__-----H--------~------~~1
t.
LEFT EDGE OF SCREEN ~'. ,I
END OF HORIZONTAL
. "I
RETRACE
.
1
r
/
f' .
I I
I I
END OF HORIZONTAL
BLANKING
.
START OF HORIZONT~L -..I
BLANKING ;.
I
I
I~
I
I
1
I
I
I
I
END ~F VERTICAL
--'.~"'--~=-=-=-:==-=-====-=-=-==-=-1lr~&}~
RIGHT EDGE OF SCREEN
START OF HORIZONTAL
RETRACE
APPROXIMATELY 488
VISIBLE LINES
1
~!~~~~~~~~~~~~=~~~~~~~~~:....:::....:::....::2f,J~¥~
START OF VERTICAL
____B.!:..A!:!~~ __ fj
262.5 H INITIATiON
VERTICAL RETRACE
2ND FIELD
t--'---- 0.5 H -------""I
REPRESENTS THE RETRACE
PORTION .OF THE VERTICAL
SWEEP. AND IS ACTUALLY
FOLDED BACK FROM BOTTOM
. TO TOP OF SCREEN
Figure 7. Effect 01 Vertical and Horizontal Blanking on the Screen
Figure 7 shoWs the actual movement of the beam and the effect
of the line and the field blanking' on the screen. The shaded
portions at the top and bottom of the screen represent field
blanking, while the shaded portion at the left and right edges of
the screen 'represent line blanking. The combinatiOn of the
shaded portions. with the unshaded' portions represent the
available screen size, if nbretracing were .necessary.
From a single scan line to a complete picture which defines a
frame, we have presented the concept and the process for
sending information (a composite video signal) to a video
receiver.
5-7
Video Controller
RS232
9600
BAUD
VIDEO
CONTROLLER
RS170
COMPOSITE
VIDEO
KEYBOARD
16 LINES
48 CHARACTERS
PER LINE
Figure 8. A Very Simplified Diagram
From the Keyboard to the
Video Controller
The input to our video controlier comes from a keyboard
terminal or a computer. The information is transferred via an
RS232 port to the video controlier, one bit at a time. Each
character is represented in ASCII code and is detected by the
video controlier only if a start Signal was first issued.
+12V
,.:;:.:.:...,..........---..".~=...-=-T"O"",..=T~STOP
BIT
-12V MARK
"0"
"1"
ASCII CODE FOR A CHARACTER
Figure 9. Each Character Consists of 10 Bits
1 Start Bit
7 ASCII Bits
1 Parity Bit
1 Stop Bit
From the Video Controller to
the Video Screen
Our video controlier uses a NON-INTERLACED METHOD for
scanning (see Figrue 10). In this method, the traced lines are
adjacent and each frame consists of 260 scanned lines. Each
field is equal to a frame which changes the definition of a field
so that a complete frame is now transmitted in 1/60 of a second.
Figure 11 shows the horizontal and .the vertical sweeps which
cut in half the common frame frequency and now generate two
frames for the same amount of time. At the end of each
horizontal line, the electron beam moves rapidly from the right
edge to the left edge of the screen while blanking pulses are
transmitted (Points C-O in Figure 11).
5·8
The design is based on using 260 scan lines and an 8 MHz
crystal. In order to obtain the standard horizontal period of 63.5
microseconds, each horizontal line is divided into 512 cycles
giving a line period of 512/8 = 64.0 microseconds. The frequency
of the electron beam is equal to the power line frequency
(60 Hz) so in a clear environment (without noise) the picture is
clear and steady.
8 MHz
FRAME RATE =
.'
260 scan lines
=60.09 Hz
512 cycles per line
These figures and calculations are explained and diagrammed
in detail in the section on implementation.
START
A
OF EACH
FIELD OR FRAME
1
.:.::.
2
3
4
~"
" "'- "'-
5
"'- ~
"
ETC.
"'-
" "'-
""
Figure 10. Non"interlaced Scanning: 260 Solid Lines Represent
a Frame. The Dashed Lines are the Retrace Lines.
Video Controller
~I·~-------------------------------~OH--------------------------------~·~I
I.
.1.
260H
·1
260H
r~
r ~ A-_~~-~_~~:_-~_vJ
@I
1
V ~\
~r
r,
r.
r
,".
:
_r
...•..r
HORIZONTAL
SWEEP
15600 P.S.'
.
I-- START
I SECOND
j...--:"START
ONE
1
FRAME (FIELD)
1
1
I
I
1
1
FRAME (FIELD)
I VERTICAL
SWEEP
60 P.S •.
F
Figure 11. 5~ Horizontal Lines Generate Two Fields Which
Constitute Two Frames In A No~lnteriaced Scantling
between the character-lines.~ch dot in 'a dot-line is called
At the end of 260 horizontal lines, theeleotrOn beam is blanked
out while it goes \:lack from the bottom to the top of the screen
(Points E-F in Figure 11).
a PIXEL.
" Rgure 12 shows dne charader'-linewifh the characters"U,'D, '"
and all the pixels that built these three character's on the screen.
These pixels or character elements 'areisent'one after the other
in an orderly sequence across the dot-line. Twelve dot-lines are
rapidly transmitted to create one character-line. This is called
SUCCESSIVE NlETHOP OF TRANSMISSION (see Figure 13).
The video controller can display a maximum of 16 visible
character-lines with 48 visible characters per character-line.
Each character is produced by a 5X7 character generator. A
character-line on the screen consists of twelve dot-lines: seven
,dot-lines for the character and five blank dot-lines for space
5x7 CHARACTERS GEN£IIATED BY
5x7 CHARACT~R . GENERATOR
,
~
. 0 0 0 . 0 0 0 • • • • 0 0 0 0 0 • • • 0000
• 000.000.000.00000.00000
. 0 0 0 • 0 0 0 • 0 0 0 • 0 00 0 0 • 0 O~ 0 0
-FOR THE
• 0 0 0 • 0 0 0 • 0 0 0 • 0 0 0 0 0 • 0 0 0 0 0
CHARACTER
.000.000.000.00000.00000
.
.OOO.OOO.OOO.OQOOO.OOOOO
0 ••• 0 0 0 0 •••• 0 0 0 0 0 ••• 0 0 0 p
5 BLANK
DOT-LINES \ ' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FOR SPACE
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 DOT-LINES {
Figure 12.
One Character-line
With Three Characters
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000
-
. 0 0 0 • .000
•. 0 0 0 " 00 o·
.000.000
.000.000
.000.000
.000.000
0
,000000"00
,gggggggg ,:
00000000
00'000 D 0 0
0
0
0
•
0
0
0
o •••
•
0
0
0
•
0
0
0
0
0
0
0
0
0
•
0
0
0
•
0
11
"
0
0
•
0
0
0
•
0
0
0
•
0
00 •
0
0
0
•
0
0
0
•
0
0
0
DOT-LINE 3 __ _
DOT-LINE 2
0
0
PIXEL
Figure 13. Successive Method of Transmission. For Simplicity
'. ASSl!me pnly One Character 'U'. E.ac;t! Dot-line is
Sen•. Jn qrde~y Sequence.
.
o.·.·.no·o
•
12 DOT-LINES =
1 CHARACTER-LINE
.. .
.. .
.. .
gggggggggggg~oggggggggggg .. .
BETWEEN
CHARACTER
LINES
DOT-LINE 1
•••
•••
...
•••
.. .
.. .
0
000 000 000 000
DOT-LINE 12
Video Controller
Implementation
Our video-controller board is divided into two subsystems
which are connected by a RAM. The RAM is time shared by the
two subsystems and provides the effect of a multi-port RAM. An
8-bit ASCII code is entered into the system through a "write
only" port which is connected by the RS232 interface. The code
is written into the RAM in locations indicated by pointers
"SCROL" and. "CURS". We d,on't write every cycle, but we read
every cycle. The code is read from the RAM from locations
indicated by pointers "LINES" and "CHAR" and transferred
through ,a "read only" port to a character generator that
generates the pixels for the screen. The "read" is done
continuously so the picture looks steady. "Write" is done upon
receipt of a special signal.
KEYBOARD
I
ASCII
ASCII
R;f32.
To build the video-controller board we used a RAM, a character
generator and counters that are used as pointers/special
module counters. Monolithic Memories' PALs provide an excellent replacement for TTL counters. They can be programmed to
count in any desired mode. The PAL meets the requirements of
the standard TTL SSI/MSI of 25 nsec propagation delay while
reducing the chip count on the board. The PAL can generate
non-standard functions which are not available on standard
chips. By customizing the PAL to give only the functions that
are needed, the user can save board space. The following is a
detailed design of a video controller using Monolithic Memories
PALs.
* *
UART
RAM
WRITE ONLY PORT
CHARACTER
GENERATOR
r--Ts-
SHIFT
REGISTER
PIXEL
r+
VIDEO
RECEIVER
READ ONLY PORT
Figure 14. The RAM Divides tile Board Into Two Subsystems:
a) Write, Only Subsystem; From the Keyboard to the RAM.
b) Read Only Subsystem; From the RAM to the Video Receiver.
~
l
@£J
5
XTAL
DOTS OF
CHARACTERS
i
DOT
GENERATOR
VP1
DTCNT
3
ASCII CODE
CKOUT
D4
5
-
,
~
RAM
1
t
1
r
RAM
CONTROL
VP8
t
UEN
I
WE /
/1
SAMPLE
/1
9600x8 Ht
f..-.c-
L..,.
1
SCANNER/LINE
GENERATOR
VP3
,
UART
VP6
7
~
4 / 5
RS232
/
RXD
/1
+
ADDR
SCROL/LINES
GENERATOR
VP4
r--
CHARACTER
GENERATOR
7
LSB OF ADDR
M~~/
7
/1
1
CHARACTER/
CURSOR
GENERATOR
VP2
/
4
~
L...o..
BAUD RATE
GENERATOR
VP5
1
VIDEO 1
Figure 15. Block Diagram of the Video Controller
I
UART
CONTROL
VP7
READY
J
1
RXD
Video Controller
NOTES:
1. VP1 is a shift register for the dots in a dot-line of each character. "DTCNT" counts 8 dots for each character (PAL20X8).
2. VP2 generates the 5 least significant bits of the address to the RAM (PAL20X10): "CHAR", when reading from the RAM; "CURS", when writing into the RAM.
3. VP3 counts 12 dot-lines per 1 character-line and the number of lines in the whole screen (PAL20X10).
4. VP4 generates the 4 most significant bits of the address to the RAM (PAL20X10): "LINES", when reading from the RAM. "SCROL". when writing into the RAM.
5. VP5 generates the baud rate and the composite video signal (PAL20X8).
6. VP6 is a shift register. It loads the ASCII bits in serial form from the RXD line (PAL20X8).
7. VP7 generates the "SAMPLE" pulses. the "READY" signal when a code for a character is in the UART, and detects a false "START" signal (PAL20X10).
8. VP8 controls the RAM (PAL20X10).
9. Monolithic Memories' 6055 is used as a character generator.
10. Hitachi HM6116P: 2048 words x 8 bits high speed static CMOS RAM is used in our design.
5·11
Video. Controller
A
B
+5V
PAL20XB .' .. ~~
CKIN 1~
.1
-~_
1'-'------DO-I:~1J'H....:;..... II ~CKOUT
01:i
1..
1......._ _--::
.l.I3 H
1......._-'----"'OZ=-t:g:!l.H
I f:.!J.HAND
1'-____D3=1
,---===D4=i:fil;;'H ::R
HBLANK:;
~
, -_ _ _ _~r-------~S=C=AN~3i~'~
-+_________L~I~NE~4_~~II~
r -______
j
I
OSCIN:;
GATE
~RRA
, -_ _ _-==IN;;,IT;:S:.rn
"", H
Hr--"'::":'-="'''-Ill"H
:
CK
• *- ~:OOTO
• ~ fiJJ: OOT1
*-~:OOTZ
•
• ~ I;;t "DOT3
~Dc5i'i
II
: ~OTCNTO
~DTCNn
•
~OTCNn
• i<>" ~ OSCOUT
11
50~ ~ "-F-J~ffiiOc
,..
"""
~-----L
C
A~~
__~U~A=L
8 MHz
~
__~I'-
E
:.+SV .
.:'
HM6116P
A7
.:
ASr;
A4~
r;
AZr;
Al r;
AD r;
1/01 r;
IIoZ.1iii
.'
I
~
I,.-----------__:.::AS:.,""UJ,
A3
... ' .'
L!. ...:.--v-. m-1££J.
.
WAS,
ill
AS
j,lWE
;;.' OE
3
:iii
Al0
Ci
ill 1/08
iii
'iii
1/07
1108
1103. Iii
iii. 1105
GND~1li
:;;1 1104
.:~I!L,...-::-..:...f!I...;=:-:-I-i1-'"
,.. '.
,
+5V
G
H
:
.
-:.:-.
.
-'.
....
:.<.
--:
"'
.
K
L
.:.;
.::
5-12
-:=
,..
Video Controller'
~
A
B
+5V
6055
A7
I
AS::;:
A5;:;:
A4;:;:
A:I~
AOF,
5
I
A1 ::
A2~
i
..r:--'a
I
GNd_
I
-
I
I
I
.
-
~_VCC I
~~
~~
" 01
Iw
~-=---~02
rm 03
~04
1;;1 05
-=AS232
~r<
C
I
I
0
i
E
~
~
201m
F
-==K
L
COMPOSITE
.,.
VIDEO
SIGNAL
Video , Controner
Solder Side
•
•
•
•
5·114
.: • • • •
Video Controller
Component Side
5·t5
Video Controller
Video Controller Specifications
The Video controller provides a 16 line by 48 character display for use with
standard CRT monitors and televisions. The controller "listens" to standard
RS232C serial data via a 25 pin DB-25 plug/socket pair inserted into any
Computer/Terminal RS232C interface. The controller stores the serial data in
a 21.
Dl
~
21
~
~
20
~
"
"
"
"
~-9D-
"
"
"
"
~~D-
4
5
~
"
""
"
~D- ~- ~
~
.
~
~~D-
"
"
"
~-
7
-
....
~D-
'"
"
8
~9D-
..""
....... .-~
9
....
~D-
"
10
.
>.
~
~
18
P1
~
....
17
~
~
P1
~
....
-9D-ll1]
~..t1
"
"
"
"
....
~
-yo""'.....
11
-
U I
1
1
•
5
"
I
9 10 11
il 11 14 IS
16 11 11 It
20 21 21 2J
24 n U l l
21 29 n 31
12 JI M 35
36 11 11 It
14
Q
13
CHAR4
CURS4
CHAR3
Video Controller
5-32
SCAN/LINE Generator
PAL20X10
CHARs
2
CHAR4
3
CHAR3
4
CHAii2
5
INITS
6
H25s
WRiTE
7
8
TSVNc
9
CHAR1
CHARO 11
SCANl
SCAN2
u..r.-::LlJ~ 17
SCAN3
Video Controller
PAL20X10
PAL DESIGN SPECIFICATION
VP3
BIRKNER/UDI
7/13/81
SCAN/LINE GENERATOR
MMI SUNNYVALE, CALIFORNIA
CK /CHARS /CHAR4 /CHAR3 /CHAR2 /INITS /H255 /WRITE /TSYNC /CHARl /CHARO GND
/oe /LINE4 /LINE3 /SYNC /SCAN3 SCAN2 SCAN1 SCANO /LINE2 /LINE1 /LINEO vec
/SCANO
:= INITS
+ /INITS*/SCANO
:+:/INITS*H255
1INITIALIZE
1HOLD
1INCREMENT
/SCAN1
:= INITS
+ /INITS*/SCAN1
:+:/INITS*H255*SCANO
1INITIALIZE
1HOLD
1INCREMENT
/SCAN2
:= INITS
+ /INITS*/SCAN2
:+:/INITS*H255*SCANO*SCAN1*/SCAN3
1INITIALIZE
1HOLD
1INC IN. MODULUS 12
SCAN3
:= /INITS*SCAN3
+ /INITS*H255*LINE4*LINE2*LINEO
*SCAN2*SCAN1*SCANO
:+:/INITS*H255*SCANO*SCAN1*SCAN2
+ /INITS*H255*SCAN3*SCAN1*SCANO
LINEO
:= /INITS*LINEO
+ /TSYNC
:+:/INITS*H255*SCAN3*SCAN1*SCANO
+ /INITS*H255*LINE4*LINE2*LINEO
*SCAN2*SCAN1*SCANO
1HOLD
1DETECT SCAN LINE 2~O
1FOR VERTICAL RETRACE
1INCREMENT
1MODULE 12 CORRECTION
1INITIAL WHEN INITS=H
1HOLD
1TEST SYNC
1INCREMENT
1DETECT LINE 21 7/12
1FOR VERTICAL RETRACE
LINE1
:= /INITS*LINE1
+ /TSYNC
:+:/INITS*H255*SCAN3*SCAN1*SCANO*LINEO
1HOLD
1TEST SYNC
1INCREMENT
LINE2
:= /INITS*LINE2
+ /INITS*LINE2
:+:/INITS*H255*SCAN3*SCAN1*SCANO*LINEO*LINE1
+ /INITS*H255*LINE4*LINE2*LINEO
*SCAN2*SCAN1*SCANO
LINE3
LINE4
SYNC
5·34
:= /INITS*LINE3
+ /INITS*LINE3
:+:/INITS*H255*SCAN3*SCAN1*SCANO
*LINE2*LINE1*LINEO
:= /INITS*LINE4
+ /TSYNC
:+:/INITS*H255*SCAN3*SCAN1*SCANO
*LINE3*LINE2*LINE1*LINEO
+ /INITS*H255*LINE4*LINE2*LINEO
*SCAN2*SCAN1*SCANO
:=
+
:+:
1 HOLD
1EXTEND
1INCREMENT
1DETECT LINE 21 7/12
1FOR VERTICAL RETRACE
1HOLD
1EXTEND
1 INCREMENT
1HOLD
1TEST SYNC
1INCREMENT
1DETECT LINE 21 7/12
1FOR VERTICAL RETRACE
CHAR5*CHAR4*/CHAR3*CHAR2*/WRITE
1CHAR 52-55 HORIZ SYNC
LINEO *LINE1*/LINE2 *LINE4 */SCAN2 */SCAN3 * SYNC 1VERTICAL SYNC
LINEO*LINE1*/LINE2*LINE4*/SCAN2*/SCAN3*SYNC1WHEN LINE=19 SCAN 0-3
*CHARS*CHAR4*/CHAR3*/CHAR2
1AND CHAR 48-51
Video 'Controller
FUNCTION TABLE
CK
loe
CHARS CHAR4 CHARJ CHAR2 CHAR! CHARO TSYNC INITS H255 WRITE
LINE4 LINE3 LINE2 LINE1 LINEO,SYNC SCAN3 SCAN2 SCAN1 SCANO
C CHAR
K 543210
T I
S N
y I
N T
C S
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
H
H
H
a
a
a
H
a
a
a
H
a
H
H
a
a
a
L
a
H
a
H
a
H
W
H
2
5
5
S
R
y
I I
LINE N SCAN
T 0
E C 43210 C 3210
COMMENTS
X
H
H
a
a
H
a
a
a
a
a
a
H
a
a
a
X L LLLLL
X L LLLLL
X L LLLLL
x L LLLLL
x L LLLLL
X L LLLLL
x L LLLLL
x L LLLLL
x L LLLLL
x L LLLLL
x L LLLLL
x L LLLLL
X L LLLLa
x L LLLLH
x L LLLLH
x L LLLLH
x L LLLLL
X L HLLHH
X L HLLHH
x L HLLHH
X L HLLHH
x L aLLHH
x L HLLHH
L L XXXXX
INITIALIZE COUNTERS
INC SCAN
INC SYNC
INC SYNC
INC SCAN
INC sCAN
INC SCAN
INC SCAN
INC SCAN
INC SCAN
INC 'SCAN
INC SCAN
INC LINE, INC SCAN MODULE 12
LINE = 1, INC SCAN
LINE = 1, INC SCAN
LINE = 1, INC SCAN
INITIALIZE COUNTERS
LINE .. 19, FOR TESTING VERTIC SYNC
VERTICAL SYNC
VERTICAL SYNC
VERTICAL SYNC
INC SCAN
INC SCAN
HORIZONTAL SYNC
------------------------------------------------------------------------XXXXXX
XXXXXX
XXXXXX
XXX XXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
HHLLXX
HHLLXX
HHLLXX
HHLLXX
HHLLXX
HHLLXX
HHLHXX
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
a
L
L
L
L
L
L
L
x
L
H
a
H
a
a
L
X
X
X
X
X
X
X
X
X
X
X
X
x
LLLL
LLLH
LLHL
LLHH
LHLL
LHLH
LHHL
LHHH
HLLL
HLLa
HLHL
HLHH
LLLL
LLLH
LLHL
LLHH
LLLL
LLLL
LLLH
LLHL
LLHH
LHLL
X
X
X
X
L
L
L
L
L
L LHLH
H XXXX
-----------------------------------------------------------------------------
$ .. 35
Video Controller
DESCRIPTION
EACH CHARACTER ON THE SCREEN CONSISTS OF 12 DOT LINES: 7 LINES FOR THE
CHARACTER AND 5 LINES FOR SPACE BETWEEN CHARACTER'S. THE FOLLOWING FIGURE
SHOWS THE LETTER nUn AND THE SPACE WITH ALL THE PIXELS AROUND IT AS IT IS
DISPLAYED BY THE VIDEO CONTROLLER.
7
CHAR
LINES
x
x
x
x
x
x
x
xxx
xxx
x x ~X
xxx
xx x
~
5
BLANK
LINES
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
~
CHARACTER PIXEL
X SPACE PIXEL
BLANK PIXEL
X>X
xx
xx
xx
"SCAN" IS A MODULE 12 COUNTER THAT COUNTS TRE NUMBER OF THE DOT LINES FOR
EACH CHARACTER.
"LINE" COUNTS THE NUMBER OF THE CHARACTER LINES. EACH CHARACTER LINE IS
12 SCAN LINES. THE COUNTER COUNTS UNTIL 21 ALTHOUGH ONLY 16 LINES ARE
VISIBLE ON THE SCREEN.
THE HORIZONTAL SYNC PULSES ARE GIVEN IN EVERY SCANNED LINE BETWEEN
CHAR 52 AND 55. THE VERTICAL SYNC PULSE IS GIVEN WHEN THE LINE COUNT IS 19,
SCAN IS BE'lWEEN 0 AND 3, AND CHAR IS BETWEEN 48 AND 51.
THE NEXT FIGURE SHOWS THE SCREEN WITH THE CORRESPONDING LINE AND CHAR
COUNTERS, AND THE SYNC PULSES.
HORIZONTAL
SYNC PULSE
LINE
~~rrrr77777777~~~~~~rr-----20
~~~~~~~~~~~""~.------19
~CHAR
= 48-51
VERTICAL SYNC
5-36
Video Controller
Vertical Sync
I
LINE 18
- - - - - - ( 1 2 SCAN L I N E S ) - - - - - - - - - I * " > - - - - - - - - - - - - - L I N E 1 9 - - - - - - - - - - - - - . . j .
I
SCAN
: 8
SCAN
SCAN
SCAN
SCAN
: 9
: 10
: 11
: 0
(52,55)
(52,55)
CHAR
0
630
(52,55)
630
630
16
1~.I-----VISIBLE-----;...1
LINES
(52,55)
SCAN
: 1
SCAN
SCAN
: 2
: 3
SCAN
: 4
I
SCAN
: 5
I
(51)
630
630
5 11/12 BLACK
LINES
o
LINE
o
16 17
19~01
19
21.8/12
1 PERIOD
21 8112 LINES
12 dot-lines generate one-character line. The total number of scanned lines is 260 or 21 8/12 character-lines. Out of the 21 8/12
character lines only 16 lines are visible. The vertical sync pulse is asserted during Line 19.
5-37
Video Controller
Horizontal Sync
I~..
_--------ONE
L I N E - - - - - - - - + - I__- - - - - - - N E X T
LINE-'---------t~
j-._ _ _ CHA~~~~E: s~~~~~YED---+t--
CHAR 0
4748
I
(52,55)
I·
630
4748
1 PERIOD
H255 ~ 512 PULsES
I
{52, 55)
630
~I
One character is represented in 8 pulses. Then the 512 pulses cause "CHAR" to count from 0 to 63. Out of the 64 characters only 48
characters are visible on the screen. The horizontal sync pulse is asserted during "CHAR" position 52 through and including "CHAR" 55.
5·38
Video Controller
SCAN/LINE GENERATOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CXXXXOXXOXXXOHHXHLLLBHHI
CXXXXI0XOXXXOHHXHLLBHHHI
CXXXXI0XOXXXOHHXHLHLHHHI
CXXXXI0XOXXXOHHXHLBHHHHI
CXXXXI0XOXXXOHHXHHLLHHHI
CXXXXI0XOXXXQHHXHHLBHHHI
CXXXXI0XOXXXOHHXBHHLBHHI
CXXXXI0XOXXXOHHXHHHHHHHI
CXXXXI0XOXXXOHHXLLLLHHHI
CXXXXI0XOXXXOHHXLLLBHHHI
CXXXXI0XOXXXOHHXLLHLBHHI
CXXXXI0XOXXXOHHXLLHHHHHI
CXXXXI0XOXXXOHHXHLLLHHLI
CXXXXI0XOXXXOHHXHLLHHaLl
CXXXXI0XOXXXOHHXHLHLHHLI
CXXXXI0XOXXXOHHXHLHHHHLI
CXXXXOXXOXXXOHHXHLLLBHHI
COOIIIIXIXXXOLBHHLLLHLLI
COOIII0XOXXXOLHHHLLHHLLI
COOIII0XOXXXOLHHHLHLHLLI
COOIII0XOXXXOLBHHLBHHLLI
COOIII0XOXXXOLHHHHLLHLLI
COOIII0XOXXXOLHHHHLHHLLI
COOI0III0XXXOXXtXxxXXXXI .
PASS SIMULATION
Video Controller
SCAN/LINE GENERATOR
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
x--x------ --x- x-x- -x-- ---x ------x --x- x-x- -xxx------ ---x ------- ---x----x- x-x- -x-- ---x ------x ----
0 ---x ---1 ---- ---2 ---- ---3 ---x ---8
9
10
16 ---17 ---18 ---x
19 ---x
---x
/INITS*LINE1
/TSYNC
/INITS*H255*SCAN3*SCAN1-
---- ---x ---- x---
---- ---x ---- x---
---x ---- --x- x-x- -x-- ---x
---- ---x --x- x-x- -xx-
/INITS*LINEO
/TSYNC
/INITS*H255 * SCAN3 * SCAN1/INITS*H255*LINE4*LINE2-
---x
/INITS*LINE2
/INITS*LINE2
/INITS*H255*SCAN3*SCAN1/INITS*H255*LINE4*LINE2-
24
25
26
-x----x x--x--- -x--
INITS
/INITS*/SCANO
/INITS*H255
32
33
34
-x-x--x
--x- x--- -x--
INITS
/INITS*/SCAN1
/INITS*H255*SCANO
40
41
42
-x-x--- ---x
--x- x-x- -x-- --x-
INITS
/INITS*/SCAN2
/INITS*H255*SCANO*SCANl-
x---
48
49 ---x
50
51
---x --x- x-x- -xx-
---x
56
57
58
--x- X-X- -XX--x- x-x- -x-- ---x
x---x-- -x-- x--- -x----x --x- ---x
---x ---x --x.,.
-x-x -x-x x-x- x-----x --x- ---x
64
65
66
x-----x ---x ---x --x- x-x- -x-- ---x
72
---- ---- x------ ----
73
74
75
---- ---- x---
---x ---x ---x --x- x-x- -x-- ---x
x---
--x ---- ---x --x- x-x- -xx-
LEGEND:
X :
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
5·40
= 1222
-
---x
/INITS*SCAN3
/INITS*H255*LINE4*LINE2/INITS*H255 *SCANO *SCAN1/INITS*H255*SCAN3*SCAN1-
---x
---x
CHAR5*CHAR4*/CHAR3*CHARLlNEO*LINE1*/LINE2*LlNELINEO*LINE1*/LINE2*LINE-
---x ------x
/INITS*LINE3
/INITS*LINE3
/INITS*H255 *SCAN3 *SCAN1-
---x
/INITS*LINE4
/TSYNC
/INITS*H255 *SCAN3 *SCAN1/INITS*H255*LINE4*LINE2-
---x ------- ---x
: FUSE BLOWN
(H,P,l)
Video Controller
Logic Diagram PAL20X10
SCAN/LINE Generator
CK
1
.......
.,,
011
J
4!,
1
111011
12131415
li17111i
202122 13
24 n1621
2121)0)1
323]34
n
J6113139
~~~ ~~
,
CHAR5
~
,
,
'""
~~D-
3
..
~
;:::
"
"
"
......
D-
~
4
~
n
"
"
""
~-OD-
""
.~.~D-
5
"
6
..
,
"
"
....
~~D-
7
~-
'"
"
WRITE
~-
!...
~::?D-
I
9
..
~D-
."
"
CHAR1
10
~
~-
22
21
~
...
~
19
V
~
~18
~
~
17
~
~
16
~-
"
"
"
"
TSYNC
fll
~-
~::?D....
"
H255
t1l
~-
"
...
r.:J.
V
~
CHAR2
~
23
n
'"-;:L
....
15
~(
~S»lDl ~
"
""
"
'-'
11
.~'61
191011
12ll14U
16111111
1011112]
1'151$11
11 2930Jl
11Jl341~
SCAN1
SCAN2m
LINE3
L1NE4
Q
~
DIll
SCANO
;
.
...A.
~
13
36HlIl~
5~41
Video Controller
5-42
LINES/SCROL Generator
PAL20X10
vee
OE
iNifS
LlNES3
L.1.I.c=.... _ • •••
SciiOr3
iJNES2
SCiiOL2
5-43
Video Controller
PAL20X10
PAL DES~~ SPECIFI~TIO~
VP4
BIRKNER/UDI
7/14/81
LINES/SCROL GENERATOR
MMI SUNNYVALE, CALIFORNIA
CK /SWAP
SCANO
SCAN1 /INIT
/SCAN3
/H2SS
NC
/WRITE /LINE4
/INCSCR GND /oe
/SCROLO /LINESO /SCROL1 /LINES1 /SCROL2 /LINES2 /SCROL3
/LINES3 /INITS JOE vec
LINESO
:=
/SWAP* /INITS*LINESO
+
SWAP*/INITS*SCROLO
:+: /SWAP*/INITS*H2SS*/LINE4
+
SCROLO
:=
~ SCAN3*SCAN1*SCANO
/SWAP* /INtTS'*INCsCR
/SWAP* /INITS*SCROLO
+
SWAP*/INITS*LINESO
:+: /SWAP*/INITS*INCSCR
+
LINES1
INITS
/SWAP*/INITS*LINES1
SWAP*/INITS*SCROLl
:+: /SWAP*/INITS*H255*/LINE4
• SCAN.3:1rSCAN1 *SCANO*LINESO
+ /SWAP*/INITS*INCSCR*LINESO
:=
+
SCROLl
47)
'!lOLD
,SWAP WITH SCOOL
, INC (12 DOT LINES)
,INC (LF)
:=' /SWAP*/INITS*LINES2
,HOLD
, SWAP WITH SCROL
,INC (12 DOT LINES)
SWAP*/INITS*SCROL2
: +: /SWAP* /INITS*H255 */LINE4
. * SCAN3*SCAN1*SCANO
*LINES1*LINESO'
+ /SWAP*/INITS*INCSCR
*LINES1*LINESO
SCROL2
: = /SWAP* /INITS*SCROL2
+ SWAP*/INITS*LINES2
:+: /SWAP*/INITS*INCSCR*SCROLO*SCROL1
+
INITS
LINES 3
:=
/SWAP*/INITS*LINES3
+
SWAP*/INITS*SCROL3
:+: /SWAP*/INITS*H255*/LINE4
* SCAN3*SCAN1*SCANO
*LINES2*LINES1*LINESO
+ /SWAP*/INITS*INCSCR
*LINES2*LINES1*LINESO
:=
/SWAP*/INITS*SCROL3
+
SWAP*/INITS*LINES3
:+: /SWAP*/INITS*INCSCR
*SCROL2*SCROL1*SCROLO
INITS
+
INITS
:=
OE
.=
5-44
,HOLD
,SWAP WITH LINES
, INC (LF OR CHAR
,INITIALIZE
,HOLD
, SWAP WITH LINES
7.INC (LF OR CHAR = 47)
iINITIALIZE
+
SCROL3
, INC (LF)
/SWAP* /INITS* SCROLl
SWAP*/INITS*LINES1
: +: /SWAP* /INITS*INCSCR*SCROLO
+
: INITS
:=
+
LINES 2
,HOLD
, SWAP WITH SCROL
,INC (12 DOT LINES)
INIT*H255
/WRITE
, INC (LF)
,HOLD
, SWAP WITH LINES
,INC (LF OR CHAR = 47)
,INITIALIZE
,HOLD
, SWAP WITH SCROL
,INC (12 DOT LINES)
, INC (LF)
,HOLD
, SWAP WITH LINES
,INC (LF OR CHAR = 47)
,INITIALIZE
;INITIALIZATION SIGNAL
; ENABLE THREE STATE OF RAM
Video Controller
FUNCTION TABLE
CX
SWA.P
SCAN3 SCANl SCANO INIT
8255
WRITE LIN24 INCSCR
SCROL3 SCROL2 SCROLl SCROLO LINES3 LINBS2 LINESl LINElSO INITS
OE
loe
I
W L N
I
N
S
I 8 R I C
I
W
N 2 I N S I
C A SCAN I 5 T E C 0 SCJtOL LINElS· '1' 0
K P . 310 T 5: E 4" R C
,. 3210 3210 S E COMMENTS
------.-~---.--------~-.~~--~----~.----~---------.-~---~---~-~---~---~.---SET INITIALIZE BIT
XXXX 8 X
C x
XXX 8 H X X X L
XXXX
INITIALIZE COON~
XXX L X X x X L
C X
HHHH
t.LLL L X
LLLL L II: INITS • L
C L
XXX L L X X L L
HHHH
LLLH L X INC LINES, HOLO seROL
C L
HHH L 8 X L L L
HHHH
C L
HBH L If x L L L
HBHH
LLRI. L x JNC LlNElS, 80LO SCROL
HBHH
LLHH L X INC LlNES , SCAN • 11
C L
HBH L H X L. L L
lNC LINES, SCAN .. 11
HBHH
C L
LHLL L X
HHH L H X L L L
INC LINES & SCJtOL: LF
LLLL
LHLH L X
C L
XXX L H X X H L
C L
LUJI
L X X X H L
LBHL L X INC LINES & SCJtOL: LF
xxx L L X X t; L LtL!! LHHL L X HOLO· LINES & SCJtOL
C L
C H
xxx L L X X L L LHH'I. LLLH L X SWU LINES & SCJtOL
xxx L X X X 8 L LHBH LLHL L X INC LINES & SCJtOL
C L
C X
xxx x x L X X L XXXX XXXX X H SET OE
x X H X X L XXXX xxxx X L CLEAR OJ!:
C X
xxx
xxx
..----------~----
-----------------------------------~----------~---~~---~-DESCRIPTION
"SCROL" AND "LINES" ARE COQ'N'l'EM AND PoINTEIU3 TO TaE RAM. "LINES" IS A
POINTER TO THE LINE THAT z,s lU!lAD PROM 'rD. RAM. "SCROL" IS A POINTER
TO THE LOCATION IN TBE RAM W!!ERE A NEW LINE CAN BE STORED. BOTa OF THEM
COUNT UP TO A MAXIHOM OF 16 LIm:s.
THE BIT "SWAP" ENAIlLES THE 'tWO COUNTERS TO TALK TO 'l1!!l SAME ADDRESS LINES
OF THE RAM.
"
.~,
THE NEXT FIGURE SHOWS ALl. THE POINTERS THAT HAW BEEN DESCRIBED.
"W" MEANS WRITlt«; IN'l'O TBE RAM, WRit MlJ;ANS RPDING FROM THE RAM AND "C"
IS A TEMPORUY POlNTER.
$
LINE
C
CURS
W
...,o--TiMPCOUNTliR
SCRd ..
wi
LINiS
R
OTCNT R
CHAR
R
I
- - . , COUNTERS FOR THE FlAM
} -COUNTEFIS FOR THE SCFlEEN
5 ..45
Video;: Controller
+5V
lOOk!!
PAL
INIT
2OX10, .
t-~~"""··INITS
H255
R·e = .lOOk!! • 1 Mf =. 0.1
l
'i:,
vee
sec ...
",I."
. ,Initialization of the system when pqwer (+5V) Is turned on..
~_~ _ _ _._....: _ _ ~
_ _ _ _ -:--'-....: _ _
.1
.
....
....
r .'
:.
"c.
o ____________
•
-L~
:h
••.
.
I · :."
______________~--------~~----~~~~--1
1
•...,
.·1
"I
; ".I:'
elK
0
:"!
INIT
3
1.2
I
0
0.1 sec
3
\
INITS
0
~.5
it .
I;
3
H255
0
~.:
'
n
Video Controller
LINFS/SCROL GENERATOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CXXXOXOXXXXXOXXXXXXXXLXl
CXXXIXXXXXXXOLHLHLHLHHXl
CIXXlXIXXXIXOLHLHLHLHHXI
CIIII00XXIIXOLLLHLHLHHXl
CIIII00XXIIXOLHLLLHLHHXl
CIIII00XXIIXOLLLLLHLHHXl
CIIII00XXIIXOLHLHLLLHEXl
CIXXIXOXXXOXOHLHHHLHHHXI
CIXXIXXXXXOXOLHHLHLHHHXI
CIXXIXIXXXIXOLHHLHLHHHXI
COXXIXIXXXIXOHLLHLHHHHXI
CIXXIXXXXXOXOLHLLLHHHHXI
CXXXXXXXIXXXOXXXXXXXXXLI
CXXXXXXXOXXXOXXXXXXXXXHI
PASS SIMULATION
5-47
Video Controller
LINES/SCROL GENERATOR
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
x---
0
-x--
8
/WRITE
-x--
INIT*H255
16
17
18
19
x---x-x--x---
24
25
26
27
x--- --x---x
-x-- --x- ---x ---x--- --x---x ----
32
33
34
35
x---x-x--x---
40
41
42
43
56
57
58
59
x--- --x---x
-x-- --x---x
x--- --x---x ---- -x-x
---x ---x--- -x---x
-x-- --x---x ---x--- x-x- x--- ---- ,..x-- -x-x--x
x--- --x---- ---x -x-x--- --x---x ----x-- --x---x
x--- --x-x-x
---x
/SWAP*/INITS*SCROLI
SWAP*/INITS*LlNESl
/SWAP*/INITS*INCSCR*SCRINITS
64
65
66
67
x---x-x--x---
/SWAP*/INITS*LlNESO
SWAP*/INITS*SCROLO
/SWAP*/INITS*H255*/LlNE/SWAP*/INITS*INCSCR
72
x--- --x-x-- --xx--- --x---x ----
48
49
50
51
73
74
75
LEGEND:
-x- ---x -----x---x
x-x- x---x-x -x-- ---x
--x---x
---x
-x- -----xx-x- x----x-
x--x ------x -x--
---x
-x-- -x--
x-----x
---- ----
----
FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
5·48
---x ---- ---x ---- -x-x
---x ------x
-x-- -x-- ---x
---x
-x--xx-x- x----x-
X :
x--x ------x -x--
= 1235
---x
-x----x
-x--
---- ---- ----
-
: FUSE BLOWN
/SWAP*/INITS*LINES3
SWAP*/INITS*SCROL3
/SWAP*/INITS*H255*/LlNE/SWAP*/INITS*INCSCR*LIN/SWAP*/INITS*SCROL3
SWAP*/INITS*LINES3
/SWAP*/INITS*INCSCR*SCRINITS
/SWAP*/INITS*LlNES2
SWAP*/INITS*SCROL2
/SWAP*/INITS*H255*/LlNE/SWAP*/INITS*INCSCR*LIN/SWAP*/INITS*SCROL2
SWAP*/INITS*LINES2
/SWAP*/INITS*INCSCR*SCRINITS
/SWAP*/INITS*LINESI
SWAP*/INITS*SCROLI
/SWAP*/INITS*H255*/LlNE/SWAP*/INITS*INCSCR*LIN-
/SWAP*/INITS*SCROLO
SWAP*/INITS*LINESO
/SWAP*/INITS*INCSCR
INITS
(H,P,l)
Video Controller
LlNES/SCROL Generator
CK
....
....
1
012
J
4
~
6
1
B 91011
12131415
Logic Diagram PAL20X10
161/1119
2021222]
U 251& II
2129]0]1
12 II
)I
l~
]6313139
""?D :GI]~
",
,
,
2
~-
--
~
,
.
~~D
'"
"
SCANO
4
I;J.
20
-
....
~~D
,....
,,~
~
...
tB»
~
~""9D
-~
~
"
"
"
6
....
"
"
7
" . .9[>
....
I;J.
~
'""'-t30
--~D
~
-'""'--
'"
"
...
19
18
17
~-
8
"
"
""
WRITE
21
19D
5
NC
-- ~
~
--
~~D
"
"
""
H255
22
-'""'
"
"
"
SCAN3
Dl
~
3
..
SCAN1
23
I
16
n--L
9
" . .9 D
....
..
J-L
~
-
"
~
,....-
riJ.
-yv-
Pl &
::9>tD] ~
"
"
"
"
~
11
0111
'~Ii
1
I ! fDII
Ulllt,!>
Ullll!!
2D212213
1(2!>lfiZl
1'1']831
311lMn
"
15
14
~
JiJIlIl'
5-49
Video' Controller
5-50
Composite Video/Baud
Rate Generator
PAL20X10
VCC
VIDEO
NC
NC
iiAUDo
BAUD1
INT
7
BAuD2
WRiTe
8
BAUD3
DTCNTD
9
ii'i'C'Ni'1
i5TCN'i'2
11
5~51
Video Controller
PAL20X8
PAL DESIGN SPECIFICATION
VP5
BIRKNER/KAZMI/UDI 7/14/81
COMPOSITE VIDEO/BAUD RATE GENERATOR
MMI SUNNYVALE, CALIFORNIA
CK /DOT4 /SYNC
NC NC NC
INT /WRITE /DTCNTO /DTCNT1 /DTCNT2 GND
/oe /SYNOUT /UEN /9600XS /BAUD3 /BAUD2 /BAUD1 /BAUDO' NC NC VIDEO vec
IF ( SYNC)
SYNOUT = SYNC
IF ( /OOT4 ) /VIDEO
= /DOT4
;SYNC PULSE
;PIXEL TO THE SCREEN
9600XS := INT
+ BAUD3*BAUD2*DTCNT2*DTCNTl*/DTCNTO
;TO INITIALIZE COUNTER BAUD
;104/S = 13, MODULE 102
;COUNTS 103 = 12 6/8
BAUDO := /9600X8*BAUDO
+ /9600X8*BAUDO
:+:/9600X8*DTCNT2*DTCNTl*DTCNTO
; HOLD
; EXTEND
; INC
BAUDI := /9600XS*BAUDI
+ /9600X8*BAUDI
:+:/9600X8*DTCNT2*DTCNTl*DTCNTO*BAUDO
: HOLD
; EXTEND
BAUD2 := /9600X8*BAUD2
+ /9600X8*BAUD2
:+:/9600X8*DTCNT2*DTCNTl*DTCN'l'0
*BAUDl*BAUDO
; HOLD
; EXTEND
; INC
; INC
BAUD3 := /9600X8*BAUD3
+ /9600X8*BAUD3
:+:/9600X8*DTCNT2*DTCNTl*DTCNTO
*BAUD 2*BAUDI *BAUDO
; HOLO
UEN
;DTCNT
;DTCNT
:= WRITE*/DTCNT2*DTCNTI
+ WRITE* DTCNT2*/DTCNTl*/DTCNTO
; EXTEND
; INC
= 2,3
=4
Video Controller
FUNCTION TABLE
CK DOT4 SYNC INT WRITE DTCNT2 DTCNTI DTCNTO loe SYNOUT UEN
9600X8 BAUD3 BAUD2 BAUDI BAUDO VIDEO
D S
o Y I
S
Y
9
W
6
V
R
I
N
IOU
0
0
I
D
DTCNT
210
E
N
U E
T N
X BAUD
8 3210
E
0
COMMENTS
XXX
XXX
XXX
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
X
X
L
H
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
CHECK SYNOUT FOR H
CHECK SYNOUT FOR L
VIDEO = L
VIDEO = H
SET 9600X8
INITIALIZE BAUD COUNTER
INC BAUD
INC BAUD
INC BAUD
INC BAUD
HOLD BAUD: DTCNT NEQ HHH
INC BAUD
INC BAUD
INC BAUD
INC BAUD
INC BAUD
INC BAUD
INC BAUD
INC BAUD
HOLD BAUD
HOLD BAUD
HOLD BAUD, SET UEN
HOLD BAUD, SET UEN
HOLD BAUD, SET UEN
HOLD BAUD
SET 9600X8, HOLD BAUD
INITIALIZE BAUD
C T
K 4
N N T
C T E
L
L
L
L
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
H
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
H
x
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
H
H
H
H
H
H
H
H
xxx
LLL
LLL
HHH
HHH
HHH
HHH
HLH
HHH
HHH
HHH
HHH
HHH
HHH
HHH
HHH
LtL
LLH
LHL
LHH
HLL
HLH
HHL
HHH
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
L
H
H
H
L
L
L
XXXX
XXXX
XXXX
XXXX
XXXX
LLL!·
LLLH
LLHL
LLHH
LHLL
LHLL
LHLH
LHHL
LHHH
HLLL
HLLH
HLHL
HLHH
HHLL
HHLL
HHLL
HHLL
HHLL
HHLL
HHLL
HHLL
LLLL
5-53
Video Controller
DESCRIPTION
THIS PAL GENERATES THE BAUD RATE, THE VIDEO AND THE SYNC SIGNALS WHICH ARE
COMBINED AT THE OUTPUTS TO FORM THE COMPOSITE VIDEO SIGNAL, AND THE "UEN"
SIGNAL WHICH ENABLE THE "UART".
EVERY CHARACTER CONSISTS OF 10 BITS: 1 START BIT, 7 ASCII CODE BITS, 1
PARITY BIT, AND 1 STOP BIT. THE CHARACTER RATE IS 9600 Hz. EACH BIT IS
DIVIDED INTO 8 SMALL BITS SO THE NUMBER OF BITS PER SECOND REQUIRED
FOR OUR SYSTEM IS 9600*8 = 76800 OR 76800 Hz.
I
! . - - - T = 9600 H z - - - - '
I
T = 1/76800 = 13 MICROSECOND
THE CLOCK FREQUENCY IS 8000000 Hz.
WE NEED TO DIVIDE THE CLOCK FREQUENCY BY 104 TO GENERATE A FREQUENCY
OF 76800 Hz.
8000000/76800
=
104
= 13*8
"DTCNT" COUNTS 8, AND "BAUD" COUNTS 13. TO GET 104 COUNTS WE NEED TO
COUNT FROM 0 TO 103. BECAUSE THERE IS ONE CLOCK CYCLE DELAY UNTIL THE
DATA IS AVAILABLE ON THE OUTPUT PINS (REGISTERED PAL), MODULE 104 IS
DETECTED BY COUNT 102 WHICH IS EQUAL TO 102/8 = 12 6/8.
+5V
15011
SYNC
COMPOSITE
VIDEO
lan
75n
DOT4
VIDEO
VIDEO CONTROLLER
_1_6_ . 4.6
150 + 16
=
_75_. 5
150 + 75
1.66V
=
0.49V
When SYNC = H the output is at O.4V.
5·54
TV
Video Controller
DIGITAL TO ANALOG CONVERTER
SYNOUT
VIDEO
COMPOSITE
VIDEO
L
L
1.7V
L
H
O.9V
O.4V
O.4V
H
L
H
H
1.7Y--~--------WHITE REFERENCE
O.9Y-O.4Y-----
GRAY
TONES
--BLACK REFERENCE
---SYNC PULSE
COMPOSITE YIDEO SIGNAL
COMPOSITE VIDEO/BACD RATE GENERATOR
1
2
3
4
5
6
7
8
9
10
i1
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
oXOXXXXXXXXXOLXXXXXXXXX1
OX1XXXXXXXXX01XXXXXXXXX1
01XXXXXXXXXXOXXXXXXXXXL1
00XXXXXXXXXXOXXXXXXXXXl1
CXXXXX1X111XOXXLXXXXXXX1
CXXXXXOX111XOXXHHHBHXXX1
CXXXXXOXOOOXOXXBHBHLXXX1
CXXXXXOXOOOXOXXBHHLRXXX1
CXXXXXOXOOOXOXXBHHLLXXX1
CXXXXXOXOOOXOXXBBLBHXXX1
CXXXXXOX010XOXXHHLBHXXX1
CXXXXXOXOOOXOXXHHLHLXXX1
CXXXXXOXOOOXOXXBBLLHXXXl
CXXXXXOXOOOXOXXBHLLLXXX1
CXXXXXOXOOOXOXXHLHHRXXX1
CXXXXXOXOOOXOXXHLHHLXXX1
CXXXXXOXOOOXOXXHLBLHXXX1
CXXXXXOXOOOXOXXBLB~XXX1
CXXXXXOXOOOXOXXHLLHHXXX1
CXXXXX00111XOXBBLLBBXXXl
CXXXXX00011XOXBBLLHHXXX1
CXXXXX00101XOXLHLLHHXXX1
CXXXXX00001XOXLHLLHHXXX1
CXXXXX00110XOXLHLLHHXXX1
CXXXXX00010XOXBBLLBBXXx1
CXXXXX00100XOXHLLLHHXXX1
cxxxXXOOOOOXOXBBBHHHXXX1
PASS SIMULATION
5·55
Video Controller
COMPOSITE VIDEO/BAUD RATE GENERATOR
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
o x--- ---- ---- ---- ---- ---- ------- ---x--- ---- ---- ---- ---- ---- ---- ---- ---- ----
1
24
25
26
---x ---- ---- ---- --x- ---- ------x ---- -----x------- ----XX- -x-- -x--
/DOT4
/DOT4
/9600X8*BAUDO
/9600X8*BAUDO
/9600X8*DTCNT2*DTCNT1*D-
32
33
34
---- ------x ---- ---- --x---- ------x ---- ---- --x---- ---- ---x ---- ---- ---- -xx- -x--
/9600X8*BAUDl
/9600X8*BAUDl
-X-- /9600X8*DTCNT2*DTCNT1*D-
40
41
42
---- ---- ---- ---- ---x ---- --X- ------- ---- ---- ---- ---x ---- --X- ------- ---- ---x ---x ---- ---- -xx- -x--
---- /9600X8*BAUD2
---- /9600X8*BAUD2
-X-- /9600X8*DTCNT2*DTCNT1*D-
48
49
50
---- ---- ---- ---- ---- ---x --x- ---- ------- ---- ---- ---- ---- ---x --x- ---- ------- ---x ---x ---x ---- -xx- -X-- -X--
56
57
---- ---- ---- X--- ----
64
65
---- ---- ---- ---- -X-- ----
72
-X-- ---- ---- ---- ---- ---- ----X-- ---- ---- ---- ---- ---- ----
73
LEGEND:
---- ---- ---- ---x ---x
INT
X--- -X-- -X-- BAUD3*BAUD2*DTCNT2*DTCN-
---- ---- ---- ---- -x-- x---
X: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
=
745
/9600X8*BAUD3
/9600X8*BAUD3
/9600X8*DTCNT2*DTCNT1*D-
-x--
X--- WRITE*/DTCNT2*DTCNTl
X--- -X-- WRITE*DTCNT2*/DTCNT1*/D-
- • FUSE BLOWN
SYNC
SYNC
(H,P,l)
Video Controller
Composite Video/Baud Rate Generator
CK
1
".
......
~
,
2 J
•
~
6
1
•
t
1011
n 13 14 IS
1611111!1
102112 2l
2'251621
Logic Diagram PALJOX 8
!lUlO)!
12 lllol U
Jill)'l'
'"'
,
,
,
~
,
,
.
m>9
- D
~~
-
MC
;~D
NC
--
4
.-.--
"
""
"
-R~D
""
"
"
~.-9D
5
~
6_
Q
IDD
"
"
"
INIT
VtHO
-A
"
"
"
"
NC
J
~
3
NC
23
~
"
NC
.J.
~
-
7
....,. ........
....
~~D
""
8
~
I.l.
21
~
Q.
......
20
~
I;l,
19
~
~
18
~
I;l,
17
I.:l...
16
~-=?D
""
......
""
"
"
rv-
...
......
~
t;L
ID~
-
L-
"
".
15
......
"
10
"
"
"
"
-
.!!:
I.
~.J..
...
~
•
1
I. I
'5
i
1
. , 10 11
U
u,. n
II 11 II "
2.11 22 11
l' 25,. 2J
If 11 111 31
J2 JJ 10I U
,Ji II
]I,.
Lq--E
Video Controller
UART Shift Register
and Control Key Detect
PAL20X8
Video Controller
PAL20X10
VP6
PAL DESIGN SPECIFICATION
BIRKNER/UDI
21/7/81
UART SHIFT REGISTER AND CONTROL KEY DETECT
MMI SUNNYVALE, CALIFORNIA
CK /SAMPLE RXD /CLRLIN /WRITE INIT NC NC NC NC NC GND
/UEN /BS /SPACE D6 D5 04 03 02 01 DO /LF vec
/DO := /DO*/SAMPLE
+ SPACE
: + : /D1 * SAMPLE
,HoLD
,SET SPACE CODE
,SHIFT
/D1 := /D1*/SAMPLE
+ SPACE
:+:/D2* SAMPLE
,HOLD
,SET SPACE CODE
,SHIFT
/02 : .. /D2*/SAMPLE
+ SPACE
:+:/03* SAMPLE
,HOLD
,SET SPACE CODE
; SHIFT
/D3 :=·/D3*/SAMPLE
+ SPACE
: +: /D4 * SAMPLE
,HOLD
rSET SPACE CODE
,SHIFT
/D4 := /D4*/SAMPLE
+ SPACE
: +: /D5 * SAMPLE
,HOLD
ISET S~ACE CODE
ISHI.FT
/D5
,SET SPACE CODE INSTEAD
/INIT*/D5*/SAMPLE*/SPACE
+ /05*/SAMPLE*/SPACE
:+:/INIT*/06*SAMPLE*/SPACE
:=
,OF ANY CONTROL CODE
,SHIFT
/D6 : .. /INIT*/D6*/SAMPLE
+ SPACE
:+:/INIT* RXO*SAMPLE
,HOLD
,SET SPACE CODl!:
1 DATA IS SHIFTED IN
SPAC.E := WRlTE*/D6*/D5
+ CLRLIN
,DETECT CTRL CHAR
,AND CLEAR LINE
LF :== /06*/05*/04*03*/02*01*/00
*WRITE
+ LF*WRlTE
,LINE FEED .. HEX OA
,LATCH ON WRITE
1HOLD DURING WRITE
Video Controller
FUNC'l'ION TABLE
CK SAMPLE RXD CLRLIN WRITE INIT
C
K
S
A
C
L
M
R
W
R
L
I
N
I
T
E
P
L
E
R
X
D
I
N
I
T
/
U
E
N
S
P
/ A
B ·C
S E
/UEN
!BS SPACE 06 05 04 03 02 01 DO LF
DATA· OUT
06----00
L
F
XXXXXXX
HBXXXXX
XXXXXXX
HXXXXXX
LHXXXXX
HLHXXXX
LHLHXXX
HLHLHXX
LHLHLHX
HLHLHLH
LHLHLHL
HLHLHLH
LHLHIJJL
HLHLHLH
LHLHLHL
LLHLHLH
LLLHLHL
LLLHLHL
LHLLLLL
X
X
COMMENTS
----------------------------------------------------------------------------C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
x
X L
X L
x X L
H L L
H H L
H L L
H H L
H L L
H H L
H L L
H H L
H L L
H H L
H L L
H H L
H H L
H H L
L X L
L X L
H
L L L
L H L
L L L
X L L
X L "~
X L L
X L L
X L L
X L L
X L L
X L L
X L L
X L L
X L L
X L L
X L L
L L L
H 'L L
L L L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
x
X
X
X
X
X
X
X
X
X
X
.X
X
X
X
H
X
INITIALIZE "SPACE"
INITIALIZE 06 AND 05
HOLD "SPACE" LO
SHIFT IN l'ST BIT OF ,au," CODE
SHIFT IN 2'ND BI.T OF n~a CODE
SHIFT IN 3'RD BIT OF nUn CODE
SHIFT IN 4' TH BIT OF "Un CODE
SHIFT IN 5'TH BIT OF nun CODE
SHIFT IN 6'TH BIT OF nun CODE
OUTFUT nUn CODE, STORE IN RAM
SHIFT IN l'ST BIT OF "LF~ CODE
SHIFT IN 2'ND BIT OF "LF" COPE
SHIFT IN 3'RD BIT OF nLF" CODE
SHIFT IN 4' TH BIT OF nLF" CODE
SHIFT IN 5'TH BIT OF "Lpn CODE "
SHIFT IN 6'TH BIT OF nLF" CODE
DETECT "LF" CODE
BOLD DURING WRITE
WRITE ·SPACE" CODE INTO RAM "
,
"
'~
---------.------------------------~~---~---.----------------------~-~---~~~-~
Video Controller
DESCRIPTION
THE "UART" SHIFT REGISTER ISA SEVEN BIT REGISTER FOR THE SEVEN BIT ASCII
CODE. THE INFORMATION ENTERS THE SHIFT REGISTER IN D6, ONE BIT AT A TIME.
IT COMES THROUGH RXD PIN WHICH IS THE TRANSMIT OR THE RECEIVE LINE OF THE
RS232. THE OUTPUTS ARE TRANSFERED IN PARALLEL TO THE RAM. "UEN" ENABLES THE
THREE STATE FOR THESE OUTPUTS. WHEN BITS D6 AND D5 TOGETHER IN THE ASCII
CODE ARE ZEROES OR WHEN THE "CLRLIN" BIT IS SET, A "SPACE" CODE IS SHIFTED
INTO THE "UART" REGISTER. THE SPACE CODE PRINTS A BLANK SPACE ON THE SCREEN.
"SPACE" IN ASCII CODE IS 0100000
20 HEX~
=
ASCII Code System and Character Set
06, 05 \
,.
7~
N
o
0
5
o
o
00
6
4 3 2
o
o
0
01
o
o
1
o
o
%
&
'i:
2
3
4
5
6
7
8
9
p
Q
a
b
B
R
S
c
D
T
d
E
u
v
e
F
u'
v
G
w
g
w
H
x
h
x
~~
~
,~
s
y
L
>
N
?
o
y
z
z
k
\
m
M
1 1 1 1 ~S(~~y~~
q
C
K
<
1
@
J
+
1
o
o
1,
A
1 1 1 ~BEL <5'..
PI
~D-
- ~
"
"
-Q-I
"
>..
~
~
~
~
~ 05
~
IDD-
"
6
>..
..
"
~~D-
..
.
1..(1
""
NC
7
~D,..,-
"
NC ~~
...
::::::::.
~D"'"
56
"
"
NC
9
>..
;;;.-
>..
~-
::~~
"
"
"
"
NC
15
Ie< 1
"
10
03
19(1
..,. _
.
11
"
1
2)
4
§
6
I
•
91011
12 131. 15
16 11 18 19
2011 l2 23
24252627
1129 JO 31
32 3314 lS
_a
-10.
04
~ os
1,,(1
...."
NC
19
~
~D- ~
~
"
01
R....
...
JJ
21
.....
~
49~
Mj
"
"
"J
DO
~ 02
~-
"
"
"
"
5
1C
~
"
4
-
SPACE
~
"
lA..E
"'f
36 l1lt19
5-65
Video Controller
5-66
UART Control
PAL20X10
5-67
Video Controller
PAL20X10
PAL DESIGN SPECIFICATION
VP7
BIRKNER/CD I
7/28/81
UART CONTROL
MMI SUNNYVALE, CALIFORNIA
CK /9600X8 RXD /WE /INIT /SETBC2 /SETBC1 /SETBCO ~ NC NC GND
/oe /READY /SAMPLE /BC3 /BC2 /BC1 /BCO /DET2 /DET1/DETO /START vec
START :.. /READY*START
+ /READY*RXD
:+:/READY*START*BC3*BC2*BC1*BCO
*/DET2*/DET1*DETO*/RXD
: HOLD
:DETECT START BIT
: FILTER FALSE START
:CANCEL START IF NO RXD
DETO := START*DETO
+ START*DETO
:+:START*9600X8
: HOLD
: EXTEND
DET1 :.. START*DET1
+ START*DET1
:+:START*9600X8*DETO
: HOLD
: EXTEND
: CARRY
DET2 : = START*DET2
+ START*DET2
:+:START*9600X8*DETO*DET1
: HOLD
: EXTEND
BCO
BC1
BC2
BC3
: = /SETBCO *BCO
+ /SETBCO*RFADY
:+:/SETBCO*START*9600X8*DETO*DET1*DET2
+ SETBCO
: = /SETBC1 *BC1
+ /SETBC1*RFADY
:+:/SETBC1*START*9600X8*DETO*DET1*DET2
*BCO
+ SETBC1
:.. /SETBC2 *BC2
+ /SETBC2*RFADY
:+:/SETBC2*START*9600X8*DETO*DET1*DET2
*BCO*BC1
+ SETBC2
BC3
+ READY
:+:START*9600X8*DETO*DET1*DET2
*BCO*BC1*BC2
:=
: CARRY
: CARRY
:liOLD
:SET BC TO -1 ON READY
: CARRY
: SET BC TO 7 FOR. TESTING.
: HOLD
: SET BC TO -1 ON READY
: CARRY
: S~ BC TO 7 FOR TESTING
: HOLD
: SET BC TO -1 ON READY
: CARRY
:SET BC TO 7 FOR TESTING
: HOLD
: SET BC TO -1 ON READY
: CARRY
SAMPLE : = START*960 OX8* /DET2*DETl */DETO */BC3
+ START*9600X8*/DET2*DET1*/DETO*/BC3
:+:START*9600X8*/DET2*DET1*/DETO
*/BC3*BC2*BC1*BCO
:DET=2 & BC=O •• 7
READY := /INIT*/WE*READY
+ /INIT*/WE*START*BC3*/BC2*/BC1*/BCO
:+: INIT
: HOLD
:SET ON BC=8
:INITIAL READY, START & BC
5·68
: EXTEND
: CANCEL BC = 7
Video Controller
FUNCTION TABLE
CK 9600X8 RXD /WE INIT SETBC2 SETBCl SETBCO loe READY
SAMPLE BC3 BC2 BC1 BCO
DET2 DET1 DETO
START
9
S
6
R
OlE
o R I N
I A
C X x W I SETBC 0 D
K 8 D E T 210
C Y
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
x x
X
X
X
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
H
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
X
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
C H H H L
C
C
H H L L
H H L L
xxx
xxx
xxx
XXX
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
HLH
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
LLL
A
S
M
T
P
A
L BC
E 3210
DET
210
R
T
L H X XXXX xxx X
L H X HHHH XXX L
L L X HHHH LLL L
L L X HHHH LLL H
L L L HHHH LLH H
L L L HHHH LHL L
L L L HHHH LLL H
L L L HHHH tLH H
L L L HHHH LHL H
L L L HHHH LHH H
L L L HHHH HLL H
L L L HHHH HLH H
L L L HHHH HHL H
L L L HHHH HHH H
L L L LLLL LLL H
L L L LLLL LLH H
L L L LLLL LHL H
L L H LLLL LHH H
L L L LLLL HLL H
L L L LLLL HLH H
L L L LLLL HHL H
L L L LLLL HHH H
L L L LLLH LLL H
L L L LLLH LLH H
L L L LLLH LHL H
L L H LLLH LHH H
L L L LLtH HLL H
L L L LLLH HLH H
L L L LLLH HHL H
L L L LLLH HHH H
L L L LHHH LLL H
L L L LHHH LLH H
LLLLHHHLHLH
L L L LHHH LHH H
L L L LHHH HLL H
L L L LHHH HLH H
L L L LHHH HHL H
L L L LHHH HHH H
L L L HLLL LLL H
L H L HLLL LLH H
L L L HHHH LHL L
L L L HHHH LLL H
COMMENTS
INITIAL READY
CLEAR START & INITIAL BC
INITIAL DET & CLEAR READY
SET START
NO RXD, DETECT FALSE START
CLEAR START (NOISE ON RXD)
INITIALIZE DET
NOW IT IS A REAL SIGNAL
INC DET, NO SAMPLING
NO SAMPLE, START BIT OF INFO
INC DET, NO SAMPLING
INC DET, NO SAMPLING
INC DET, NO SAMPLING
INC DET, NO SAMPLING
INC DET AND BIT COUNTER
l'ST BIT OF ASCII CODE
INC DET
SAMPLE THE l'ST INFO BIT
INC DET
INC DET
INC DET
INC DET
INC DET AND BIT COUNTER
2 ' ND BIT OF ASCII CODE
INC DET
SAMPLE 2 ' ND BIT OF INFO
INC DET
INC DET
INC DET
INC DET
SET BIT COUNTER TO 7
7 ' TH BrT OF ASCII CODE
INC DET
NO SAMPLE 7 ' TH BIT ALWAYS 0
INC DET
INC DET
INC DET
INC DET
INC DET AND BIT COUNTER
SET THE READY SIGNAL
SET START BIT & INITIAL BC
REPEATE FOR NEXT CHARACTER
5·69
Vldeo,'Controlier
DESCRIPTION
BIT #7 IS
ALWAYS 0
STOP BIT
"BC" IS A COUNTER FOR THE ASCII CODE BITS. A SAM]?LE FROM EACH ASCII BIT
IS TAKEN WHEN "DET," = 3.
THE "START" SIGNAL IS SET:,WHEN A STAll,T BIT IS DE'l'ECTED ON THE RXD LINE
AND REMAINS SET UNTIL, THE :LAST ASCII BIT OF THE CHARACTER THAT IS SAMPLED.
AFTER ALL THE,7 BITS OF THE ASCII CODE WERE SAMPLED, A WRITE SIGNAL IS
SENT TO THE RAM AND THE 7 BITS,(A CODE FOR A C~CTER) ARE WRITTEN IN
PARALLEL INTO THE RAM.
WHEN "BC" COUNTS 8 THE "READY" SIGNAL GOES HIGH, "START" GOES LOW AND READY
TO BE SET AGAIN IF A NEW START BIT IS DETECTED. Ai NEW CODE FOR A NEW
CHARACTER WILL START TO BE SAMPLED.
BUT
ASSUME THAT A NOISE OCCURS ON THE RXD LINE WHICH SET THE "START" SIGNAL.
RXD~
START~
'
SIGNAL
NO CHARACTER IS S!',NT. THE START LINE
{ SHOULD BE HI, BUT IS FORCED LOW BY
'A NOISE ON THE RXDLINE
THE START SIGNAL IS SET
{ BY A FALSE S'TART BIT
, ,ON THE RXD LINE
TO DETERMINE IF THIS IS A TRUE OR FALSE STAR'l.', WE CHECK THE RXDLINE.
IF THE RXD LINE IS NOT SET, WE KNOW THAT NO CHARACTER WAS SENT O~ THE
RS232 LINE: THEREFORE, ~ NQISE/~~SE SIGNAL WAS DE~CTED.
5 ..70
Video Controller
ERROR ANALYSIS FOR SAMPLING
SINCE BOTH A TRANSMITTER AND A RECEIVER ARE USED IN OBTAINING INFORMATION,
AN ERROR CAN OCCUR THAT INVOLVES BOTH OF THESE COMPONENTS.
ASSUME: ERROR IN TRANSMITTING FREQUENCY = EX
ERROR IN RECEIVING FREQUENCY = ER
THEN THE TOTAL ERROR FOR ONE BIT OF INFORMATION IS (EX + ER).
AND THE TOTAL ERROR FOR THE N'TH BIT OF INFORMATION IS N*(EX + ER).
WHEN COUNTER "DET" IS EQUAL 3, WE HAVE THE IDEAL BIT FOR SAMPLING.
THE MAXIMUM ERROR THAT IS ALLOWED DUE TO THE TOLERANCES IN THE FREQUENCIES
IN BOTH TRANSMITTER AND RECEIVER, WILL BE WHEN THE SAMPLE IS TAKEN AT
"DET n = 0 OR.AT "DET" = 6, AS SHOWN HERE:
_1_ • .1
_-+-:-....,...-':-::~-'L-'-:+_=9600 8
THE DASHED LINES ARE
THE MAXIMUM ERROR ALLOWED
IN SAMPLING
THE FREQUENCY FOR EACH BIT OF INFORMATION IS 1/9600 Hz (104 MICROSECOND).
EACH BIT OF INFORMATION IS DIVIDED INTO EIGHT TIME SLOTS.
THE TOTAL ERROR ALLOWED FOR THE 7' TH BIT OF INFORMATION IS:
7 * (EX + ER)
=
(1/9600) * (3/8)
THE TOTAL ERROR ALLOWED FOR ONE BIT OF INFORMATION IS:
(EX + ER) = 104 * (3/8) * (1/7) = 5.5 MICROSECOND
THE FREQUENCY RATE BETWEEN RS232 AND THE RXD LINE FOR EVERY BIT OF
INFORMATION SHOULD BE BETWEEN 10150 Hz AND 9130 Hz.
5·71
Video Controller
DETAIL C
RXD
START
I
/
"
/
BC
SAMPLE
READY
CHAR
IFINISH TO LOAD
- - - - - - - - - - - - - - . . . J · A CHARACTER
INTO THE UART.
ONE CHARACTER
ONE CHARACTER
NEXT CHAR
r,
WRITE TO THE RAM AT ADDRESS POINTED BY "CURS"
WE: AND ·SCROL" THE CHARACTER CODE THAT IS IN
THE UART.
A SIGNAL TO THE UART CONTROLLER THAT THE UART
WRITE: HAS A CHARACTER CODE WHICH IS READY TO BE
WRITTEN INTO THE RAM.
Timing diagram for detecting a character and writing it into
the .RAM. Signals "WRITE" and "WE" are explained and derived in the next PAL specification VPB.
5·72
r---I
Video Controller
UART CONTROL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
CXXXOXXXXXXXOLXXXXXXXXX1
CX01IXXXXXXXOLXLLLLXXXH1
CXOOIXXXXXXXOHXLLLLHHHH1
CX101XXXXXXXOHXLLLLHHHL1
C00011l1XXXXOHHLLLLHHLL1
COOOI1IIXXXXOHHLLLLHLHH1
C0101111XXXXOHHLLLLHHHLl
C0101111XXXXOHHLLLLHHLL1
C0101111XXXXOHHLLLLHLHLI
C010l111XXXXOHHLLLLHLLL1
C0101111XXXXOHHLLLLLHHL1
C0101111XXXXOHHLLLLLHLL1
C0101111XXXXOHHLLLLLLHL1
COI011l1XXXXOHHLLLLLLLL1
C0101111XXXXOHHHHHHHHHL1
C0101ll1XXXXOHHHHHHHHLL1
C0101111XXXXOHHHHHHHLHL1
C0101111XXXXOHLHHHHHLLLl
C010ll11XXXXOHHHHHHLHHL1
C0101111XXXXOHHHHHHLHLL1
C0101ll1XXXXOHHHHHHLLHL1
C0101111XXXXOHHHHHHLLLL1
C0101111XXXXOHHHHHLHHHLl
C010111IXXXXOHHHHHLHHLL1
COI01111XXXXOHHHHHLHLHLl
C010l111XXXXOHLHHHLHLLLl
COI01111XXXXOHHHHHLLHHL1
C0101111XXXXOHHHHHLLHLL1
C0101111XXXXOHHHHHLLLHLl
C01011IIXXXXOHHHHHLLLLL1
COI01010XXXXOHHHLLLHHHL1
C010llllXXXXO.HHHLLLHHLL1
COI0ll11XXXXOHHHLLLHLHLl
C010111IXXXXOHHHLLLHLLL1
C0101I11XXXXOHHHLLLLHHL1
C0101111XXXXOHHHLLLLHLL1
C0101l11XXXXOHHHLLLLLHLl
C010111IXXXXOHHHLLLLLLL1
C01011l1XXXXOHHLHHHHHHL1
C0111111XXXXOLHLHHHHHLLl
C0101lllXXXXOHHLLLLHLHH1
C01011l1XXXXOHHLLLLHHHLl
PASS SIMULATION
5·73
Video Controller
UART CONTROL
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
0
1
2
---x ------- x-----x -x-x
8
9
10
---x ---x ---- ------x ---x ---- ----x-x ---- ---- ----
START*DETO
START*DETO
START*9600X8
16
17
18
---x ---- ---x ------x ---- ---x ----x-x ---x ----
START*DET1
START*DET1
START*9600X8*DETO
24
25
26
---x ---- ---- ---x ---- ---- ------x ---- ---- ---x
-x-x ---x ---x
START*DET2
START*DET2
START*9600X8*DETO*DET1
--X:-
32 ---- ---- ---33 ---- ---- ---34 -x-x ---x ---x
35
--X- /READY*START
/READY*RXD
/READY*START*BC3*BC2*BC-
--x--x- ---x ---x ---x ---x ---- --x-
---x ---- x--x---
---x
40
41
42
43
x--x ---x---x-x ---x ---x ---x ---x x---x--
---x
48
49
50
51
x-----x
x---x-x ---x ---x ---x x--x ---x
-x--
---x
---x
x---x--
---x
56
57
58
-x-x ---x ---x ---x ---x ---x ---x ----
64
65
66
-x-x --x- ---x --x- ---- ---- ---- --x-x-x --x- ---x --x- ---- -----x-x-x --x- ---x --x- ---x ---x ---x --x-
72
73 ---x ---74 ---- ---LEGEND:
x--- x--x--- x--- --x- --x- --x- ---x
-x--
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW
5·74
= 1207
---x
/SETBCO*BCO
/SETBCO*READY
/SETBCO*START*9600X8*DESETBCO
/SETBC1*BC1
/SETBC1*READY
/SETBC1*START*9600X8*DESETBC1
/SETBC2*BC2
/SETBC2*READY
/SETBC2*START*9600X8*DESETBC2
BC3
READY
START*9600X8*DETO*DET1*START*9600X8*/DET2*DET1START*9600X8*/DET2*DET1START*9600X8*/DET2*DET1-
---x
/INIT*/WE*READY
/INIT*/WE*START*BC3*/BC---- INIT
- : FUSE BLOWN
(R,P,l)
Video Controller
UART Control
Logic Diagram PAL20X10
CK 1
0\
2)
4
~
,
I
891011
11 13 14
1~
16l/1I19
2Q 21 12
n
14 15
~ti
1I
21 19 10 31
12 JJJ4 lS
36]1]139
'""'-
~~~
~~
"
,
,
~
~
'""'-
,
""
~~D-
0
RXD
--
3
~
Xf9D-- ~
"
"
"
....
"
4
~
0-
~""9D-
"
"
"
"
-
5
6
.
"
H>o~
~
7
f--
...
,.
"
~
8
.
"
"
"
~D-
...
.
~9D~-
~J\7{
9
"
::k
~
~
:rL.
....
16
~ 15
-yo-
~~~
"
"
"
"
NC
20
~-
.,"
10
R
-vo-
~
~9DH>o~
~
~D- ~~
:L;lJ
"
NC
~
;:::..:=
~D-
"
u
"
NC
~
~
~
11
o \
2
1
_
~
,1
I ' 10 11
11 1114 IS
16 11 18 19
10]1 11 13
14 1S 16 11
11
1~
]0 31
31 11 l4 JS
l i 31
~
lin
5-75
Video Controller
5·76
RAM Control
PAL20X10
VCC
WRITE
CUiiSi
SWAP
CHAR1
5
tiiLANK
WE
CHA'R2
6
CHARi
7
CiiAiii
8
CHARS
9
J.UOOUU'><..JI'7
'6
r.:11 ... ·_ . .
'.
5.
CLRt'iN
iNCSCii
CHAiiii
5·77
Video Controller
PAL20X10
PAL DESIGN SPECIFICATION
VP8
BIRKNER/UDI
7/29/81
RAM CONTROL
MMI SUNNYVALE, CALIFORNIA
CK /DTCNTO /DTCNT1 /DTCNT2 /CHARl /CHAR2 /CHAR3 /CHAR~ /CHARS /READY /LF GND
/oe /H25S /CHARO /INCSCR /CLRLIN /SWAPC IWE/HBLANK /SWAP /CURSO /WRITE vec
WRITE:=READY*/DTCNT2*/DTCNT1*/DTCNTO*/H2S5
*CHARS*CHAR4*CHAR3*CHAR2*CHARl*CHARO
+ WRITE*/DTCNT2*/H2SS
:+:WRITE* DTCNT2*/DTCNT1*/H2SS
+ CLRLIN*/DTCNT2*/DTCNT1*/DTCNTO
;SET WHEN DTCNT=O
;& CHAR=63
;HOLD AT 0,1,2,3
;HOLD AT 4,S
; SET AT DTCNT=O
SWAP : = WRITE* /DTCNT2 */DTCNT1 *DTCNTO
+ WRITE* DTCNT2*/DTCNT1*/DTCNTO
;SWAP AT DTCNT=l
; SWAP BACK AT 4
SWAPC:= WRITE*/DTCNT2*/DTCNT1*DTCNTO*/CLRLIN
+ WRITE* DTCNT2 */DTCNT1 */DTCNTO */CLRLIN
:+:CHARS*CHAR4*/CHAR3*LF
; SWAP AT DTCNT=l
; SWAP BACK AT 4
;TEST CONDITION
WE
:= WRITE*/DTCNT2*DTCNT1*DTCNTO
; ENABLE WRITE
INCSCR
:= WRITE*DTCNT2*/DTCNT1*DTCNTO*/CLRLIN*/H2SS*LF
+ WRITE* CHARS */CHAR4 *CHAR3 *CHAR2 *CHARl *CHARO
*/CLRLIN*/H2SS
* DTCNT2 */DTCNTI *DTCNTO
:+:CHARS*CHAR4*/CHAR3*LF
; DE'l'ECT LINEFEED
;CURS=47, LAST
;VISIBLE CHAR ON
; LINE. DTCNT=S
,TEST CONDITION
H2SS
:= CHARS*CHAR4*CHAR3*CHAR2*CHARl*CHARO
*DTCNT2*DTCNTl*/DTCNTO
;END OF LINE
;DTCNT=6
CLRLIN := INCSCR
+ CLRLIN*CHARS*CHAR4*CHAR3*CHAR2*CHARl*CHARO
:+:CLRLIN*/CHARS
+ CLRLIN*/CHAR4
;SET ON LINE END
;HOLD THIS WRITE
;HOLD, CHAR=O-31
;HOLD, CHAR=32-47
HBLANK : = CHARS *CHAR4
+ CHARS*CHAR4
:+:CHARS*CHAR4*/CHAR3*/CHAR2*/CHARl*/CHARO*/DTCNT2
+ CHARS*CHAR4*/CHAR3*/CHAR2*/CHARl*/CHARO*/DTCNTl
;CHAR=48-63
; EXTEND
;CANCEL 48-48.S
;CANCEL 48.S-48.75
CHARO : = SWAPC*CURSO
+ /SWAPC*CHARO
: +:/SWAPC*DTCNTO*DTCNTl*DTCNT2
; SWAP WITH CURS
; HOLD
;INe
CURSO := SWAPC*/INCSCR*CHARO
;SWAP WITH CHAR
+ /SWAPC*/INCSCR*CURSO
; HOLD
:+:/SWAPC*/INCSCR*WRITE*/CLRLIN*DTCNT2*DTCNTl*/DTCNTO ;INC
5-78
Video. COntroller
FUNCTION TABLE
CK .O'l'CNT2 D'lQfrl D'l'CN'l'O CHARS. CAAR4 CaAR) C9AR2 CHARi CAARO READY
LF /oe H~S5 INCSCR Cf,RLIN SWAPe /WE aBLANt{ SWJ\P CURSO WRITE
~
C D'l'CN'!'
210
K
CAAR
54321 0
R
E
A
/
D L 0
Y F C
H
2
5
5
I
C
N
C
S
C
R
L
R
L
I
N
H
S
W
A /
P W
C E
B
C W
L SUR
A W R I
N A S T
K POE
COMMENTS
--------------~--------------------------------------------------------------SET INCSCR, SWAPC
LLL
HHLXX X X H L X H X H X X X X X
C
HHLXX
HHLXX
LLLXX
LLXXX
HHLXX
HHLXX
aHLXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
C
HHL
LLL
LLH
HHL
HHL
HHL
LLL
LLa
LBL
LHH
HLL
aLB
HHL
HHH
LLL
LLH
LEL
LHH
ELL
HLB
HHL
HHH
LLL
HHH
C
~LL
C
C
C
C
C
C
LHH
HHL
XXX
LLL
LLL
LLL
LLH
HHLLL
HHLXX
HHLXX
HHLXX
LLXXX
LLXXX
HHLXX
XXXXX
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
xxxxx
aHHBH
HHLXX
HHHXX
HHLXX
X
X
X
X
X
X
X
X
X
L
X
X
H
H
X
X
H
H
H
X
X
X
X
X
X
X
L
L
L
L
L
L
x x
L
x L
L
X L
L
X L
L
X L
L
x L
L
X L
L
H L
L
a L x L
a L x L
H L X L
H L X L
a L x L
H L X L
H L X L
L L L L
L aLL
H L L L
HaL L
H L L L
H L H L
L L L L
L L L L
L L L L
L L L L
L L L L
X
L
L
L
X
X
L
L
L
L
L
L
L
L
L
L
L
L
L
L
H
L
t
L
L
L
L
L
L
L
t
L
H
H
L
L
H
H
H
f,
L
X
H H
a H
X X
X X
X X
X X
X X
X X
L X
L X
L X
L X
L X
L X
L ~
L X
L L
L L
L L
L L
L L
H L
L H
L H
L H
L L
L L
H
H
L
L
H
H
H
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X X
X
X
X
X
L
a
L
H
X
X
x x
~
x' x x
L
L
L
L
L
L
L
L
L
L
L
L
H
X
X
X
X
H
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
x x x x
X
X
X
X
X
X
X
X
X
X
X
X
H
H
a
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
x
L
L
.~
X
X X
X X
X X
x H
L
L
L
X
X
L
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L
L
L
t
L
L
L
L
L
X
H
H
L
X
X
H
a
a
a
a
a
L
L
L
L
L
L
L
L
X
X
L
L
X
L
L
L
H
L
H
H
CLRLIN=H,CURS=L
SET WRITE
INCSCS,CLRLIN=L
SWAP CORSO, CAARO
SET INCSCR,CWAPC
CLRLIN"'H
SET WRITE SIGNAL
HOLD WRITE
HOLD WRITE
ENABLE WRITE
HoLD WRITE
HOLD WRITE
CLEAR WRITE SIGNAL
CAARO=H, INCSCR=L
HOLD
HOLD
HOLD
HOLD
HOLD
HOLD
END OF LINE
CriEAR CLRLIN & H2SS
SET HBLANt{
SET CORSO' LO
HBL(OO{=L
HOLD
SET INCSCR
SET CLRLIN
HOLD CLRLIN, SET WRITE
CLR WRITE, HOLD CLRLIN
CLEAR CLRLIN
SET SWAP & SWAPe
5·79
Video Controller
DESCRIPTION
THIS PAL CONTROLS BOTH THE TIMING FOR wRITING A CHARACTER INTO THE RAM
AND THE TIMING FOR READING A CHARACTER FROM THE RAM.
"WRITE~ IS A SIGNAL THAT DATA IS AVAILABLE AND CAN BE WRITTEN INTO THE
RAM WHEN "DTCNT" IS BETWEEN 0 AND 5.
"SWAP" AND "SWAPC" SWAP POINTERS TO ENABLE WRITING AND READING BY
ADDRESSING THE RAM THROUGH THE SAME ADDRESS LINES.
"UEN" ENABLES THE UART.
"WE" WRITES TO THE RAM THE DATA THAT IS IN THE UART REGISTER.
"INCSCR" IS A SIGNAL THAT DETECT LINEFEED AND 48 CHARACTERS PER LINE.
"CLRLIN" ERASES EARLIER INFORMATION AND ALLOWS TO WRITE TO THAT LOCATION.
WHEN THE "LF" KEY IS PUSHED, THE CLRLIN SIGNAL. IS SET. IT REMAINS SET AS
LONG AS A WRITE IS DONE TO THIS LOCATION.
"H255" DETECTS END OF LINE.
"HBLANK" BLANK OUT THE SCREEN WHEN "CHAR" IS BETWEEN 48 AND 63.
DTCNT
WRITE
tot f f f f t f t
I I I I I I I I I
I I I I I I I I I
---+-l I I I I I +11
2
3
4
5
6
7
f-.
SWAPC/SWAP
I I
I I
I
I
I
I I
I
RAM ADO.RESS POINTED BY: -+"..,...,,....,..,..,,,.,,+~....,,..,,~+,,..,...,,....,..,..,,,.,,
OPERATION: _~....;.;=:-~--:-:-:..;.;.;.;:'-+-....;.;=:-_
I
UEN
DATA BUS
CONTROLLED BY:
WE
I I I
!
I
I
I
I II
I
+1'1 H:+1 :+.
I II I
I I I
I I I I . . I I I
I I I I I I I I I
WRITE and READ signals to the RAM for one character
code (when CHAR = 63). (Z = THREE STATE)
~.80
Video Controller
RAM CONTroL
1 C111XX100XOXOXXLXLXXXXX1
2 C100XX100XOXOXXLLLXXXHX1
3 C111XX100XOXOHXLLLXXXBL1
4 C011XX111XXXOHXHHHXXXBL1
5 C100XXX111XXOHXHHHXXXXH1
6 C100XX100XOXOXXLXLXXXXX1
7 C100XX100XOXOXXLLLXXXHX1
8 C111XX100XOXOHXLLLXXXXLl
9 C011XXXXX1XXOHXXXXXXXXLl
10 C101XXXXX1XXOHXXXXHXXXL1
11 C001XXXXX1~OaxxXXLXXXL1
12 C110XXXXX1XXOHXXXXHXXXL1
13 C010XXXXX1XXOHXXXXXXXXL1
14 C100XXXXX1XXOHXXXHXXXXH1
15 COOOXXXXX1XXOHLHXHXXXXH1
16 C111XXXXX1XXOHLHXHXXXXHl
17 C011XXXXX1XXOBLHXHXXXXH1
18 C101XXXXX1XXOHLHXHXXXXH1
19 C001XXXXX1XXOHLHXHXXXXH1
20C110XXXXX1XXOBLHXHXXXXH1
21 C010XXXXX1XXOHLHXHXXXXH1
22 C100000001XXOLLHXHXXxxx1
23 COOOXX10011XOHHHHHXXXXX1
24 C111XX00001XOHHHHHXLXXHl
25 COOOXX10011XOBLHHHXLXHH1
26 C1111110001XOBLHHHXLXHX1
27 C001XX10011XOBLHHHXXHHH1
28 C100XX10010XOHLLHLXXHHH1
29 CXXXXX10011XOHHHLXXXXHH1
30 C111XXX11l1XOHHBLXXXXBL1
31 C111XXX1l11XOHHHLXXXXHH1
32 C111XX100llXOaHHHXXXXBLl
3.3 COllXXXXXllXOHHHHLXXLHL1
PASS SIMULATION
5 .. 81
Video· Controller
RAM CONTR:>L
11 1111 1111 2222 2222 2233 3333 3333
0123 4567 8901 2345 6789 0123 4567 8901 2345 6789
o
1
2
3
x-----x
---x
x---
x-----x--x---
x--x---x-x---
-x-----------
-x--
-x--x-- -x----- ---- ---- ------- ---- ---- ------- ---- ---x ----
-x-x
----------
--x- READY*/DTCNT2*/DTCNT1*/--x- WRlTE*/DTCNT2~/H255
-~x- WRlTE*DTCNT2*/DTCNT1*/H---- CLRLIN*/DTCNT2*/DTCNT1*-
8 ---- ---- ---- ---- ---- ---x ---- ~-x- ---x ---- SWAPC*/INCSCR*CBARO
9 ---- ---x ---- ---- ---- --x- ---- --x- ---- ---- /SWAPC*/INc$CR*cuRSO
10 x--x -x-- -x-- ---- ---- --x- --x- --x- ---- ---- /SWAPC*/t~SCR,*WRlTE*/C16 -x-x x--- x--- ---- ---- ---- ---- --,..- ---- ---- WRITE*/DTCNT2*/DTCNT1*D17 x--x x--- -x-- ---- ---- ---- ---- ---- ---- ---- WRITE*DTCNT2*/DTCNT1*/D24
25
26
27 ----
---------x---
------x------
------x--x---
------x--x---
------x--x---
-x--x--x--x--
-x--x--x--x--
----.---- CBARS*CBAR4
---- ---- CBAR5*CBAR4
--x- ---- cHAR5*C~4*/CBAR3*/CBA--x- ---- CBARS*CBAR4*/CBAR3*/CBA-
32 -x-x -x-- x--- ---- ---- ---- ---- ---- ---- ---- WRlTE*/DTCNT2*DTCNTl*DT40 -x-x x--- x--- ---- ---- ---- --x- ---- ---- ---- WRlTE*/DTCNT2*/DTCNT1*D41 x--x x--- -x-- ---- ---- ---- --x- ---- ---- ---- WRlTE*DTCNT2*/DTCNT1*/D42 ---- ---- ---- ---- ---- x--- -x-- -x-- ---- -x-- CBARS*CBAR4*/CBAR3*LF
48
49
50
51
-------------
-------------
-------------
----x--------
----x--------
----x--------
----x-x
---x
x--x
---x
-x-x------
------x
-------
-------------
INCSCR
CLRLIN*CBARS*CBAR4*CBARCLRLIN*/CBARS
CLRLIN*/CBAR4
56 -x-x x--- -x-- ---- ---- ---- --x- ---- ---- -xx- WRITE*DTCNT2*/DTCNTl*DT57 -x-x x--- -x-- -x-- -x-- -x-- x-x- -x-- ---x --x- WRlTE*CBARS*/CBAR4*CBAR58 ---- ---- ---- ---- ---- x--- -x-- -x-- ---- -x-- CBARS*CBAR4*/CBAR3*LF
64
---x ---- ---- ---- ---x ---- ---- ---- ---- SWAPC*CURSO
65
---- ---- ---- ---- --x- ---- ---- ---x ---- /SWAPC*CBARO
66 -x-- -x-- -x-- ---- ---- --x- ---- ---- ---- ---- /SWAPC*DTCNTO*DTCNT1*DT72 x--- -x-- -x-- -x-- -x-- -x-- -x-- -x-- ---x ---- CBARS*CBAR4*CHAR3*CBAR2LEGEND:
x: FUSE NOT BLOWN (L,N,O)
NUMBER OF FUSES BLOW =
989
- : FUSE BLOWN
(H,P,l)
Video Controller
Logic Diagram PAL20X10
RAM Control
CK 1
.....
-v
D 113
•
S 11
·,
I' "'1
n n,.
15
15111119
102122ll
"lSun
21 nJa]1
J2 II M U
36 HllH
~~
,
,
DTCNTO
2
:::::.-
··
~D-
-Q-r
3
"
"
~~~
-
"
"
"
"
.......
"
,."
:~D-
DTcNT2 4
-
~-L9~
CHAR1 5
"
6
..
~-?D-
"
"
"
CHAR3
....
7
-
.
9
.
21
~
";L
2!)
~
19
~
~ SWAPC
10
~
~
....
....
17
SWAP
HBLANK
WE
CLRLlN
....
" 16
INCSCR
Q
.............
"
~
15
CHARo'
~
~~~
"
"
"
"
TF
~
~
Pl
~
.......
.."
READY
CURSO
::H:t
...."
-
22
....
~-
~
"
CHARS
~
....
. . . ~D- ~
~
. . --9D- R
~
0D- ~
~
...
CHAR4 8
WRi'TE
.......
""
CtiAR2
23
Q
~
""
DTCNT1
Pl";[
~
11
0'
t]
(
~
Ii
1
•
,
10 n
12
n ,.
IS
I i " 11
n
202111
n
14 2S111l
11 nll]1
JIll:MlS
L--
H
H25S
13
OC
]Ii Jl JlH
5·83
m
Video Contro.ller
Summary
This paper conveys the message that a video-controller board
can be designed in an efficient way by using PALs. The
above video controller was developed and is used by Monolithic
Memories, Inc.
We have presented the basic vocabulary and processes that are
presently common to the industry with an explanation of how
we developed our video-controller board.
Boolean transfer function equations, function tables, descriptions, simulations and fuse-plots are all offered within our PAL
specifications. These were developed on the company in-house
computer and are available from Monolithic Memories.
Video Controller Computer Interface
"TAP JACK"
--------
AUDIO JACK
--
KATZI VIDEO
CONTROLLER
AC CORD
WITRANSFORMER
References
1. Color TV Training Manual
by Howard W. Sams
Howard W. Sams & Co., Inc.
The Bobb-Merrill Co., Inc.
2. Television Fundamentals Theory, Circuit and Servicing
Fowler and Lippert
McGraw Hill
3. Principles of Interactive Computer Graphics
by William M. Newman and Robert F. Sproull
McGraw Hill
4. John Birkner, personal
Communication; 1981
Article Reprints
I#J
SINGLE-CHIP CONTROLLER INCREASES
MICROPROCESSOR THROUGHPUT
Design technique uses semicustom logic to minimize hardware in a DMA controller that combines fast response with
the potential to service multiple input or output devices and
the flexibility to handle many different applications
Alan W. Bentley
Cubic Corporation
9333 Balboa Ave, San Diego, CA 92123
Reprinted by permission from Compufer Design Magazine.
Copyright Computer Design Publishing Company, September 1980.
Microprocessors have a broad range of capabilities; yet
they are unable to perform specific functions efficiently
without hardware augmentation. One such function is trans·
fer of blocks of data to or from processor controlled
memory. Under specific conditions, such blocks may be
moved efficiently by direct memory access. Data must be se·
quentially ordered, a starting address must be specified for
both the processor associated memory and the external
source or destination, and the data block length must be
specified. When these three conditions are met, data
transfer responsibility passes to a hardware controller, and
data moves rapidly because instruction processing is elim·
inated during the transfer.
Although direct memory access (DMA) efficiently transfers
blocks of data between a source and a destination, it nor·
mally interfaces memory with only a single external device
and is unable to move data between memory and a dis·
tributed network. The need to interface a microprocessor
with a network of distributed devices led to a generalized
concept that can be structured to transfer data rapidly in
either direction.
6·2
This concept is analogous to the DMA function in that
blocks of sequential data are transferred to or from
memory. It differs in that, externally, each data word has an
associated device location. Implementing the transfer function in terms of this concept increases the data transfer rate
while imposing four constraints on the system: the data
block length must be constant; datac must occupy sequential
memory locations; the distributed devices are always ser·
viced in the same sequence; and each implementation is
committed to either input or output.
C
Controller Design Objectives
Conceptually, the controller accepts data transfer responsibility from the microprocessor upon command; steps
through the data block, sequentially creating data paths
between memory and various external devices; then returns
control to the microprocessor. Functionally, upon receipt of
the transfer mode command, the controller places the cen·
tral processing unit (CPU) in the 3-state mode, generates all
Single-chip Controller Increases Microprocessor Throughout
---
RESET
CPU
DECODED COMMANDS
FROM CPU
OTRAN$
.----
BIDIRECTIONAL
DATA BUS
HOLDA
END
END
DECREMENT MEMORY
ADDRESS
COMPLETE
o
5T ATE DIAGRAM
1
2
13 14
-.,.-
15
DATA LOAD COMMANDS
I'
IRC
ADDRESS==X===;===;===C
_
I----IAA--I
CS ,\I
\I \I \I \\I
\\I
DoUT
\
'1
HARDWARE CONFIGURATION
\
BIDIRECTIONAL
DATA BUS
GENERAL
I--IEA(
CPU HOLD COMMAND IS 0G
tRC
tAA
tEA
21'4
RAM
=
=
=
READ CYCLE TIME
ACCESS TIME - ADDRESS TO DOUl
ACCESS TIME· CHIP SELECT TO DoUT
+ 'OH
(STATE 1,2: OR 3)
ADDR~S; ANi) DATA
2,
STATE 2 IS ENTERED UPON RECEIPT OF HOLDA (CPU IN HOLD, CPU
BUSES 3-$T ATE) ,
3
IN STATES 2 AND 3 RAM ADDRESS COUNTER OUTPUT IS REMOVED FROM 3-STATE
MODE AND ITS COUNT CAPABiliTY ENABLED THROUGH C.ET
1
AT TRANSITION FROM STATE 3 TO STATE 2. BOTH DATA COUNTER AND RAM COUNTER
ADD~ESS ARE DECREMENTED BY RISING EDGE OF
5,
UPON COMPLETION OF DATA TRANSFER (END), 'STATE 0 fS ENTERED FROM STATE 3,
DATA COUNTER IS SET AT ITS INITIAL CO~NT"ADDRESS COUNTER IS PLACED IN 3-STATE
MODE, AND HOLD COMMAND ,10 CPU IS RELEASED' ,
RAM TIMING REOUIREMENTS
6G
SPECIFIC (TRANSFER CPU M'EMORY TO EXTERNAL DEVICES)
a;;
I,
RAM IS SELECTED IN STATES 2 AND 3,
2
IN STATE 3, ENABLE SELECTS DEMULTIPLEXER, AND CONTENTS OF DATA COUNTER
THROUGH
ARE DECODED TO GENERATE DATA LOAD (WRITE ENABLE) PULSE
(OA
00)
SEDUENCE OF EVENTS
Fig 1 Transfer from CPU memory to device. PAL implements two categories of Boolean expressions. data
cou,nters that control destination selection and state
,required timing and control signals, sequentially creates the
data paths, and transfers data through each path. Upon
completion of ·the data transfer,it relinquishes control to
the microprocessor, which then resumes instruction
processing.
Increased throughput is the implementation rationale;
therefore, the two primary design objectives are to enter
:and leave the data :transfer IJ\iOde in a minimum number of
,€:lock periods and to· transfer one dat'a word every two clo'ck
periods.: This. transfer rate allows. one clock period to
establish each data path, with the write pulse created in the
second period to complete the tran·sfer. Secondary design
objectives relate to implementation and allow modification
to meet varying 'applications using a minimal amount of
additional 'circuitry.
equations that control sequence of events shown in
state diagram
Design approaches that meet these objectives include use
of a state sequencer to meet the control transfer .and data
transmission 1iming requir~ments, and, use of fusible link,
semicustom logic to meet the circuit flexibility and
minimization requirements. A simplified microprocessor
interface is achieved ,by' incorporating 'the microprocessor
clo€,k and' held capabilities into the 'sequencer design.
St~te
Sequencer
The state sequencer, organizes lmd>Mncentrates' logical
functions to realize the high density Capabilities of
semicustom :logic. What deterniimes the 'number ()f'control
flipflops . is the, number of:. required states;' th~refore,
SIngle-chip Controller Increases Microprocessor Throughout
RESET
FROM CPU
CPU DECODED COMMANDS
"-'--
~
Ai5LOAo
ADDRESS
LOAD
COMMAND
PAL 16Re
BIDIRECTIONAL
DATA BUS
,-L.'-l..,'~,.,...,....,
00 1iC Oii iiA
HOLDA
END
25LS2569
RAM
ADOAESS
GND
.C
0
B
A
Gj
G2
74154
o
1
13
14
15
~
STATE DIAGRAM
SOURCE SELECT
I',
ADDRESS
'j
lwe
==x
2114 RAM
x::=
BIDIRECTIONAL
DATA BUS
I-IWR-l
IS\S'\'M\\
CS \ \ \ \ \ \ \ \ \ \ \
HARDWARE CONFIGURATION
'""'""'""'''"
WE "'\S""S.....
\\""ST'\\""S""'\\ I---tw-----i
.
IS\SSSS\SS\
I--IDW ,...-!-IDH-l
<
DIN
lwe
tw :;:
lOW
=
WRITE CYCLE TIME
WRITE TIME
=
>--
GENERAL
+
1.
CPU HOLD COMMAND ISOG
2.
STATE 2 IS ENTERED UPON RECEIPT OF HOLDA (CPU IN HOLD, CPU ADDRESS AND DATA
BUSES 3-STATE)
QH (STATE 1,2,OR3)
3.
IN STATES 2 AND 3 RAM ADDRESS COUNTER OUTPUT IS REMOVED FROM 3-STATE
MODE AND ITS COUNT CAPABILITY ENABLED THROUGH CET
4
AT TRANSITION FROM STATE 3 TO STATE 2, BOTH Dt,LA COUNTER AND RAM COUNTER
ADDRESS ARE DECREMENTED BY RISING EDGE OF 0G
5.
UPON COMPLETION OF DATA TRANSFER (END), STATE 0 IS ENTERED FROM STATE 3,
DATA COUNTER IS SET AT ITS INITIAL COUNT, ADDRESS COUNTER IS PLACED IN 3-STATE
MODE, AND HOLD COMMAND TO CPU IS RELEASED
DATA TO WRITE. TIME OVERLAP
tOH :; "DATA HOLD TIME FROM WRITE TIME
tWR = WRITE RELEASE TIME
RAM TIMING REQUIREMENTS
SPECIFIC (TRANSFER EXTERNAL SOURCE TO CPU MEMORY)
1.
2
~O~~'i!EE~ goAN~~JT~NDDE~~'E~~~E~:E~N~~~~0~crECODES DATA
ENA8LE
DURING STATE 3
IS RAM CHIP SELECT AND WRITE ENABLE, WRITING
SOURCE OATAWQRD IN SELECTED ADDRESS .lOCATION
SEQUENCE OF EVENTS
Fig 2 Transfer from device to CPU memory. Similar to Fig 1, with hardware configuration and state diagram
modified to transfer data in opposite direction
performing all logic functions-in four states reduces the se·
quencer design requirement to two flipflopsand helps meet
the secondary design objective. These four states are idle,
when the CPU has system control; transitional, while the CPU
is entering the hold mode and relinquishing control; and
two data transfer, one permitting address and data
stabilization, and the .other creating the write command
(Figs· rand 2).
In t!!!s .!!pplication, both flipflops are reset in the idle
stale (QH,QC' state 0) awaiting a software generated com·
mand (DTRANS), which sets the G flipflop, advances the se·
quencer to state 1 (QH,QJ; and initiates 8: CPU hold com·
mand, sustained until the sequencer returns to state O. The
CPU tests its hold command input each machine cycle and,
upon sensing a command, enters the hold state, placing its
data bus, address bus, and some control lines in the 3·state
mode. It remains in this. state until the hold command is
released by the sequencer.
• When it enters the hold state, the CPU issues a hold
acknowledge (HOLD). Upon receipt of HOLDA,the
Single.chlp Controller Increases Microprocessor Throughout
sequencer advances to state 2 (QH,QJ, which completes
transfer of the data handling function from the CPU to the
controller. It then toggles between state 2 and state 3
(QH,QJ, processing one data word each cycle until the
preestablished number of data words have been transferred
(END). Then, the sequencer returns to state 0 and releases
the hold command, allowing resumption of instruction processing'by the CPU.
While the sequence of states is the same for data transfer
in either direction, the events -that occur within states 2 and
3 differ. During transfer of data from memory to external
devices, state 2 is memory access time and state 3 generates
the load command for the specific device. When leaving
state 3, the edge of the G flipflop (Q c> advances the memory
address counter. When data front external devices are read
into memory, state 2 time is used to select the external
source and stabilize the data. The memory write enable
pulse is generated by state 3, and leaving state 3 changes
the memory address counter. Transfer states ST2 and ST3
are identified by the output of the H flipflop, which activates the random access memory (RAM) address counter
ou'tputs, enables address counting, and, additionally, selects
either the RAM or the multiplexer' when transferring to or
from the external devices, respectively.
Programmed Array Logic
Utilizing semicustom integrated circuitry satisfies the requirement for logic minimization and design flexibility.
This approach increases logic density by mitigating two factors that increase random logic package count: function
partitioning and pin limitation. To maximize these benefits,
the programmable logic chip must contain AND, OR, and
flipflop functions, as well as internal feedback. Flipflop
functions are required to implement the sequencer and, additionally, a counter that is decremented at the completion of
each data transfer (state 3 to state 2 transition). The counter
serves a dual purpose: the demultiplexed count selects external devices and, by monitoring the count, the controller
determines completion of the data block transfer (END).
Data block length determines the number of counters and
demultiplexers required. With three counters and a 3 to 8
demultiplexet(74138), block lengths up to eight may be' ac-
commodated. With four counters and a 4 to 16 demultiplexer (74157), the block length may be extended to 16. An
increase to six counters will allow block length expansion to
64, with additional demultiplexers. This approach focuses
on design for a block length of 16 words so that the flipflops
and associated input decoding can be contained on one fusible link, programmable array logic (PAL) integrated circuit.
PAL 16R6 contains six 0 flipflops (registers) connected to a
common clock input. Output Q of each register is available
externally through an inverting, 3-state buffer (Q). Input 0
of each register is an B-input OR gate; each input a program;
~able AND combination of the available terms. Each gate
array must be true to set the register on the following clock
pulse or false to allow the register to reset. Thus, Boolean
expressions state the conditions that cause the registers to
become or remain set.
Two additional, non-register, AND·OR gate outputs and
the six register outputs have internal feedback paths. With
the eight available inputs, they b!lcome the 16 terms
available when implementing Boolean expressions.
Boolean Expressions
Six counter equations are shown in Fig 3. For a maximum
block length of 16, the four least, significant counts (A
through D) are required; expansion up to length 32 requires
equation E; equation F must be implemented for block
lengths between 33 ,and 64. The counter flipflops are held
set during states 0 and 1. State~ 2 and 3 require only one
clock period each; hence, from leaving state I until completion of data translJlission and return to state 0, there is a
state transition in every clock cycle.
During this interval, each' equation must establish the
condition of its counter flipflop for the following state.
When entering state 2 fr,!m state I, the couriter flipflops are
set as established by state 1.. Since it is necessary to change
the counter on the transition from state 3 'to state 2, the
counting decision must be made during state 3, and the new
count must be established when entering state 2. The
counter register content mllst be maintained during state 2
to prevent change at the transition from state 2 to 3.
Fig 3 also shows the 2-state sequencer equations. Equation G is independent of block length, and equation !I
+ 0H • OG • OF + OH • 0G (OF: 0E + OF' 00 + OF • Cc + OF • 0B + OF' 0A)
Of< + 0H' Oa' to
establish block length
"$lntl.~oltip
Controller'nore,!,ses l't'Uoroprocessor Throughout
iijeorporate~ ,th~bi~k lin8t~
(KND) decoding: The taMe,
Block CIl~th t:~ntr()l. silo,!"$. tneeJ9>ressions for 00, when
si~ coul\t~s ate used.. orga~zed.by r~mainde~ of a ,modulo
l~ pun!.l>er.:' FOF,shorter.block . lengths, references'to
upjmpl~nlePted coubt,ers' are ignored. Both control flipflops
are reset (exJiressions false) when the computer issues a
RESET command, establishing state O. This state is main·
tained 'until the CPU issues DTRANS, advancing the se·
quencer to. ,state 1 by setting G.
A hold command is generated by the sequencer, which
waits in state 1 untii the CPU responds with HOLDA, verifying
that it has stopped instruction processing and that its buses
are 3·stated. HOLDA resets G and sets H, advancing the
sequencer to state 2. The G flipflop then toggles, causing
the sequencer to cycle between states 2 and 3. H remains set
during both states but tests the content of the data counter
during state 3 to determine if data transmission is complete
(END expression false). END.false also causes the H flipflop
to reset at the completion of state 3, returning the sequen·
cer to state 0 and releasing the hold command to the CPU.
System parameters were developed for use with the model
8085 microprocessor, the 2114 bidirectional RAM, and the
25LS2569 binary up/do";n counter. Attributes of these components th,at help meet the design goals are (a) availability
of the CPU interface signals reset, clock out, hold, and hold
EITHER
Remainder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
o
QF +
QF +
QF +
QF +
QF +
QF' +
QF +
QF +
QF +
QF +
QF +
QF +
QF +
QF +
QF+
QF +
END expression
Qe
Qe + QA
Qe + Qs
Qe + QS + QA
QE + QC
Qe + QC + QA
Qe + QC + QS
QE + QC + Qs +
Qe + QD
QI! + QD + QA
Qe'+ QD + Qs
Qe + QD + QS +
Qe + QD + QC
Qe + QD + QC +
QE + QD + QC +
QE + QD + QC +
QA
QA
QA
QS
Qs + QA
• AaquiftId to oompIeIo~ H in F'II3. END.........,.,..... 11_ by modulo 16 ....
malnder of data word count. Counter F is not required for block sizes less than 33.
CounIarE isnotroqulred Iorblook .... Iees_,7. Single _
transmission isa trtvtaI
Implementation
DATA
FLOW
Block Length Control·
solution
r---
5H SELECT COMMAN~
RAM ADDRESS CHANGES ON
TRANSITION ST 3 TO ST 2
-A--f-A-'--I-A-2--1-A-3-+-A-4-+-A-5-+-A-S-+-A 7-+-A·B-t--A-9-
DIRECTION
ENABLE " 0H '
00
TIMING DATA FLOW
R~M TO EXTERNAL DEVICE
I
~-~-~~
- - - - - - - - - - - - - - - - -
LOAD 0 LOAD'
I~~_-I
LOAD 8 LOAD 9
lAC
TIMING DATA FLOW
EXTERNAL DEVICE TO RAM
~
I
~-
- - - - - - - - - - - - - - - - I
ENABLE ENABlE
SOURCE 0 SOURCE 1
~
ENABLE
~
ENABLE
SOURCE 8 SOURCE 9
lwe
Fig 4 6085 timing and interface signals. Register
contents reflect state controller interaction with
computer commands. Control states reflect state
flipflop outputs_ Signals common to transfer in either
direction are grouped. Current RAM address starts at
6.6
A and decreases during successive cycles. Memory
timing, shown for data flow both from and to RAM,
relates to RAM timing requirements for Fig 1 and Fig
2, respectively
.ln$l.-c;it•., c.ntron..... llWr•••.,. MIC;,.,.r..,••.,..,fitroughout
.
, . . . . L:, .. :" ..
J.
. ackn~wtedge; .(b) ih~ RAM'sl1ighdensity,4-bit data lI/Gl'd,
.6.ili/irectional databu~; and simplified ~UlilcontroHinein,.
terrace; and (c) the eo\iuter sY!lci:lroniJed load:, inc(emelt't,
a,qd decrement (:On trois, and alsG its3-l>tl'.t~ '\lutP.~t· and
casclidingcapabilitiea.. 4dditionl'.lly" the ~Pllnse' ai/.d
operating speeds of the RAM and counter are compatible
with the microprocessor clock.
Figs 1, 2, and 4 show the configuration a!ld timing rela·
tionships achieved by using these components.
Microprocessor choice establishes the system clock fate and
the method of passing control between the microprocessor
and the data controller. The method of implementing the
data controller, which meets the dual requirements of
simplicity and high throughput, restricts RAM selection. In
Figs I and 2, t Re and twe cannot exceed two clock periods.
When moving data to external devices, the devices must be
able to function within the constraints of t A• and tEA' When
moving data to the CPU memory, its write requirements, tw
and tow, must be le~s than one clock period. Because of the
controller stru.cturc, t DU alld tWR must both be zero, a restric·
tion satisfied by many RAMs currently available.
Adaptation
Pistributed data port servicing is the primary functional reo
quirement of the data controller, and the specific number of
ports is a parameter written into the Boolean expressions
Implemented by a member of the PAL family. The inherent
flexibility arising from implementation of many of the logic
functions by easily modified Boolean expressions can be
demonstrated by extending the application requirements to
include program control of the data block length. Now, the
design objectives are to incorporate' this feature with
..'
,'.
. ..... .
minimal~rdWat:e reconfigtjflltion lind, to retain all the
Operational attributes of the original LiMA controller.
?\lthougn ·tl/:etrtate sequencer remains conceptually Ull·
chaflged; its. int~l'll<:tion with the data !!o.unter. must be
'1l04i£iedJD jm.p~ment~ vllrillblehlock length. The original
cQncept hils fixed data block length,with the data counter
starting at all h and decrementing to a .predeterl\1ined end
coullt. Its advantages are that the CPU interface is mini·
mi~ed and th.at all data ports are serviced during each DMA
cycle. To implement the variable block length feature, the
CPU loads the data counter with the' actual count; then duro
ing data transfer, the state sequencer decrements the count
to 0, the end count that terminates the operation.
It is desirable to implement the state sequencer and data
counter on a single programmable chip while maximi~ing
the data counter length. To achieve this, a 16R8 program·
mabie logic chip replaces the 16R6 used previ~usly. This
change increases the nU.mber of registers by two at the ex·
pense of the two gated outputs. The chip configuration now
offers eight data inputs; eight 0 registers, each with an in·
verting output; a register clock input; and a 3·state control
input.
Of the eight registers, two are required for the state se·
quencer, allowing a maximum block length of 64 in a single·
chip implemel)tation. However, three control lines are reo
quired:HOLDA and DTRANS, as in the original concept, plus
a software generated LOADA, which transfers the content of
the data bus to the data registers. Additionally, the LoADA
command must be used to initialize the state counter (Fig
5). With thi.s approach, five inputs remain for the data bus,
limiting the block size to 32 words.
An alternative configuration using only three data bits
allows loading of the six flipflops in two instruction cycles
a
~!
STATE
SEOUENCER
DATA COUNTER
DATA COUNTERS
DE = LOAD A • 24 ;, DE
00
DC
oa
OA
IOH
+ 0H • OG} ;, 0H • 0G • DE 100
T
Dc +
DB + 0A}
= LOAD A.' 23 + ODIOH + ,0wOG} + 0H • 0G 100 IDC + DB ;, DA} + 6i) . Oc ·68· 0;;1
= LOAD A • 22 + DC 10;:; + OH • OG} + 0H • 0G 10c lOB + 0A} + Oc •68 . 0;;)
= LOAD A' 2' + Oa IOH + OH • OG} + 0H' 0GIOa' OA + 08 'GA}
= LOAD A • 2° + DA 10;:; + OH • OG} + OH • 0G • 0;;
STATE CONTROLLER
0G = LOAD A IOH •
OG • OTRANS
+ OH • 0G •
DH " LOAD A rOH • 0G • HOLDA + Ow
H5iJ5A
+ 0H • OG}
OG + 01< : 0G IDE
+ 00 +
C)C;
+ Oa + O~})
Fig 5 Adding program control over block
length. Hardware configuration and
Boolean'expressjons are modified to im·
plement progral\1 control of data block
length. Data input limitation prevents use
of orie register, restricting block length to
32 words
. '
Single-chip Controller Increases Microprocessor Throughout
CPU
DATA BUS
I
CPU DECODED
COMMANDS
FROM CPU
TTT~
22
21
tJ
CLOCK
HOlDA
ilFOEaoacOii5A
r-JI'
RESET DTRANS LOAD A LOAD B
PAL 16R8
illJ---lJJ
QATA COUNTER
0t1
QG
L-L
STATE
SEOUENCER
DATA COUNTERS
OF
= LOAD B • 22
+ OF
{o,:; + Ow OG) + 0H • 0G • OF (OE + 0D + Dc + Os + 0A)
(0,:; + 0H • OG) + 0H • 0d [ 0E (OD + 0c + 0a + 0A) + OE . On . Oc' OS . CAl
(0,:; + 0H' OG) + 0H' 0G[OO (OC + Os + 0A) + On·
Os· CiAI
+ Oc (0,:; + 0H • OG) + QH • 0G [DC (Oa + 0A) + Oc . OS' CAl
0E = LOAD a • 2' + 0E
ac'
00 = LOAD S· 2°+ 00
Dc = LOAD A • 22
Os
=, LOAD A' 2' + Os (OH + 0H • OG) + 0H • 0G (OS' 0A +
0A = LOAD A • 2° + 0A
(0,:; +
0H •
OS . CA)
OG) + 0H • 0G • CA
Fig 6 Extending block length.
Additional modification in·
creases block length to 64 words
by using all Internal registers. All
capabilities of previous con·
figuration have been maintained
across both modifications
STATE CONTROLLER
0G
0H
= RESET (OH . 6G ',DTRANS + 6H . 0G . HOLDA + QH • OG)
= RESET [0,:; • 0G • HOLDA + 0H • OG + 0H . 0G (OF + 0E + 00 + Dc
by implementing a second load command, LOADB. Tbe DMA
controller now handles block lengths as long as 64 data
words, and the RESET command can be used to initiali~e the
state counter as in the original concept (Fig 6).
+ Os + 0A))
Bibliography
"MCS·B5 Users Manual," Intel Corp, Santa Clara, Calif, 1978
J. Nissim, "DMA Controller Capitalizes on Clock Cycles to Bypass
CPU," Computer Design, Jan 1978, pp 117·124
"Programmable Array Logic Handbook," Monolithic Memories
Inc, Sunnyvale, Calif, 1978
Summary
Generally, a design approach and its means of implementa.
tion should be complementary. Specifically, the controller
design objectives are met by utilizing a state sequencer, and
implementation compatibility is assured by such features of
semicustom logic as multiple storage elements with internal
feedback paths, dense gating arrays, and interconnection
flexihility.
The process of creating a state sequencer to solve a
design problem results in a series of Boolean expressions
that define the controller capability and the gate array that
must be effected. Several partially dedicated gating and
register arrays constitute the semicustom logic family. After
"the most suitable arrily configuration is selected, the inter·
connections, as expressed by Boolean statements, are com·
pleted to implement the design. This creates Ii unique logic
pattern whose dense gating contributes to chip count
minimization. Design variations can be accommodated by
restructuring the gating arrays with minimal hardware
reconfiguration. Thus, the system can be tailored to the
original operating requirements and yet be easily adapted if
modifications are desired.
A.A
Alan W. Bentley is a design specialist,
technically responsible for the develop·
ment of a high speed data processing
and display system at Cubic Corp. He is
also an instructor in the Engineering
Department of San Diego Community
College. He has a BS degree in electrical
engineering from Tufts" University, an
MBA from United States International
University, and an -MA from San Diego
State University.
Reprinted by permission from Computer Design Magazine.
Copyright Computer Design Publishing Company, June 1981.
FPLA ARBITER CONCEPT ADAPTS
TO APPLICATION NEEDS
Reid programmable logic implements efficient. easily customized arbiter
whose versatile Boolean statement format meets numerous system
requirements
AI,n
w. Bentley
Cubic· Corporation
9333 Balboa Ave, San Diego, CA 92123
T
oday's trends toward shared resources, multiprocessing, and decentralized, bus oriented system organization underscore the demand for arbiters that work independently and iss\le grants according to predetermined algorithms. Functionally, a requirement for
stable processing of system requests is created when
several prOCessors use; a common device and each requests service asynchronously; It is the arbiter'S task to
issue grants foT sequential access in accordance with a
preestablished algorithm. By using a versatile Boolean
statement format to express its algorithms, an arbiter
can be cU.stomized' to iriterface . with single-array,
multiple-array, and hybrid logic con(iguration~. Designing arbiters to befiexible in impleMenting algorithms
can help to meet the demand for cost,.effective data pro'cessing systems and bring heretofore expensive, hence
scarce, devices into wider use.
'
Arbiter .Interface
From the system's perspective ofiheinterface, when a
system is ready for service from the device, it raises arequest 1i11e. The arbiter responds by issuing a grant to the
system that clear's it to conduct transactions with the
device. Upon cpmpletion of service, the system drops its
request line. 'the arbiter, in turn, cancels the grant and
is then free to issue a' grant to the next pending request
. Stable system requests are neCessary h.ecauseall requests and grants are evaluated each clock period. These
requests are generated .asynchronously and are synchronized thropgh a set of inpllt latches: If a 2-phase
balanced clock 'is used, with requests synchronized on
phase 0 and grants' iss tied o~,released on phase 1; the
maximum time from a system request for service until
syncbronization of that request is one clock period.
Minimum time from completion of the transaction to
release oftl\e synchronized request is the system's internal delay, as it drops the request line, plus. tbe setup time
oftbe synchronizing·iatches. At the completion Of a
transaction, there isahalf-clock period. the time frOIn
phase o to phase 1; when Ii unique signal combination
exists-a grant issued toa system that does not bave a
synchronized request. During this half-period, all other
synchronized requestS are examined and, according to
tbe servicing algorithm, the recipient 'oCthe next sequential grant is oetermined. Thenj' on phase 1, the existing
(unsolicited) grant is canceled atlci the next grant issued.
c
6-9
FLPA Arbiter Concept Adapts to Application Needs
PI<~
~
~~
LGUARDBAND
IlAUNCED 2·PHASE CLOCK
fbi
~
~
GUARD
~
~~~~~-l
BAND
UNIIAUNCED 2·PHASE CLOCK
ICI
G•• RESET· R.
iii,· .... R, (ti,
+ ••• + Gy +
G, ••••• Gzi
+ Gol
~ ~ ~TRANSFER-l--IDLE--J..r~
r---MoDIFIER
---j
.'MAINTENANCE /
fd)
Fig l· Arbiter circuitry, timing, and grant expression format .. ln (ai, 56 to SO are system requests.
Latch outputs R6 to RO .are synchronized requests
. that arbiter algorithm convarts to systam grants,
G6to GO. Unbalanced clock phases increase guard
band (b and cl, with maximum guard band needing
only one phase. Logic aquation for algorithm (dl
combines four subaxpressions
The sum of the requesting system's internaldelay in
dropping. its request line, the synchronizing iatchsetup
time,and on~-half the clock period,act as a/guard band
to ensure separation of systems interacting "w~th the
device .. Arbiter clock frequency, therefore, is a major
factor in determining guard band: time. For a given ar!;liter clock frequency, the guard band can be increased
by unbalancing the clock, increasing the time between
phase 0 and phase I to more than ha,lf the clock period.
The limiting case occurs when the time between phase 0
and phase 1 is increased until it equals. the clock period.
This makes phase 0 and phase 1 coincident, requires
only a single-phase clock, and maximizes the guard
&·1'0
band for a given clock frequency. The limiting casc.
relies on the propagation delay of the latch flip flops and
the setup time of the array logic grant flipflops to ensure
a delay of one clock period between release of the syn··
chronized request and the associated grant. Start
of the guard band signifies completion of the current
transaction, and guard band time is used to determine
the next grant recipient; then, at the start of the next
clock period, the current grant will be canceled, and,
if one or more requests are pending, the next grant
issued.
Octal D flip flops (LS273) are used to synchronize the
input requests, and a programmable gate array (16R8) is
used to evaluate the requests and issue grants. ID.the
i~phase clock, phase 0 synchronizes requests and ph"ase
I issues grants (Fig I). Both the octal flipflops and the
logic array are 2O-pin packages. In addition to the clock
and 3-state control inputs, the logic array has 8 data inputs and 8 D flipflop outputs. The Q output of each
flipflop is inverted and buffered, and is a 3-staie output;
the Q output is returned to the array internally, where
the 8 flipflop settings and the 8 data inputs are complemented and are available in both original and complement· form at 8-input OR gates. There are eight OR
gates, each forming the D il1Put for one of the eight
flipflops.
.
By programming through fusable links, the set condition of each flipflop is established from the eight data
inputs, the current state of the eight flipflops, and the
complements of both. Each flipflop's set condition can
be represented as a Boolean expressi()n of up to eight
ORed statements. Each statement is created by ANDing
terms drawn from the data inputs, the flipflop status,
and their complements. Limiting parameters of this
configuration are the 8 data inputs and the fIXed 8-term
OR gate at the D input of each flipflop. Boolean expressions implemented througp theprograminable fuses
must be true when the flipflop is to be set or maintained
in th.e set state, and false when the flipflop is to be reset
or to remain reset.
Single-Array Configuration
t.ny of several
servici~g algorithms, expressed as
Boolean statements, can be implemented with a single
logiC array that will process service requests for up to
seven systems. The first. two' algorithms· represent the
()rganizational extremes. "Priority service" algorithm
has a strict priority ranking {rom R6 to RO: a grant will
be issued only if no higher priority system has a pending
request. The other extreme. is the "polled service"
algorithm; here, aflsystems place equal demand on the
device arid are servicCd through Il rotating, ()r "roundrobin," method. In. this case, when one transaction has
been completed, the' following grant is issued in
response to the next ranking reqti~st (eg, next lower
number). Circular continuity is maintained by having R6
follow RO in the granting sequence. Between .the extremes, algorithms 3 and 4 represent hybrid organiza.tions. The "executive and polled service" algorithm
allows a single, high priority executive sy,stem (R6), with
the remaining systems (RS to RO) equal and polled in a
FLPA Arbiter Concept Adapts to Application Needs
ALGORITHM 1: PRIORITY SERVICE
:Reffi. RS [GS • As + G4 • Iii + G3 • R3 + G2 • R2 + G' • FIT + GO· Ro + GS • Go • G3 • G2 • Gi • GO + GS)
:Reffi. RS [M(GS + G4. Iii + G3. ii3 + G2 • R2 + G, • Ai + GO. liO + GS· Go. G3. G2. (IT. GO) + GS]
z :Reffi. R4 [M. As (GS + GS + G3 • R3 + G2 • R2 + G, • FIT + GO. iiO + G6. GS • G3. G2 • lIT • GO) + GO)
- REm • R3 [~. liS" • Iii (GS + GS • G4 + G2 • R2 + G, • FIT + GO. 1ili • G6 • il5 . ll4 • ~ • lIT • imi • G3]
- ~ • R2 [I!! • lf5" • "Iii • "Ii! (GS + GS • G4 + G3 + G, • lIT + GO. 110 + "GJ. ll5" • ll4. l!3" • lIT • imi + G2)
-REm. R, [Re • As .114·113 .11} (GS • GS + G4 + G3 •. G2 • Go."1ili • G6. liS. '(li.1l'3. ~.~) + G,)
- REm • AO [Re • As. R4 • R3 •Ai" • FIT (GS • GS • G4 + G3 + G2 + G, + GS • G5 • G4 • G3 • G2 • cm + GO]
GS GS
G4
G3
G2
G,
GO
&
ALGORITHM 2: POLLED SERVICE
GS -
REm.
G, • Rf • G2 • Ai". 1'ii + G3 • R3. R2". FIT +
• Gs • G4 • G3 • G2 • in • GO + GS]
•
[116 (GS + GO· Ro + G' • Ai • Ro + G2 • Ai • Ai • Ro +
• IllI • G4 • Il3 • G2 • en •
....
Figure 2. AND-OR Cell
INPUTS, FEEDBACK AND 1/0
CLOCK
OC
,.;..
r--
"'
....
h..
c
ot--
D
~
~~
~
Figure 3. Registered Cell With Internal Feedback
,
.
INPUTS, FEEDBACK AND 1/0
...
W
...
1/0
....
lII:::
....
"'"
Figure 4. Programmable I/O Cell
6-19
PAL: Quick Turnaround Alternative to Gate Arrays
x1_
Z1
.
x2~
.
xm_
Z2
Zn
~01
01+
COMBINATORIAL
SUBNETWORK
,.---J
3
4
5
6
J
x1
~
10
~r-~
""
11
12
13
14
15
.2
......it
.....
....
""
Figure 6. Section of a PAL16R6 Logic Diagram
6·20
Z1
...
8
9
3
19
~~
OC
01
PAL: Quick Turnaround Alternative to Gate Arrays
PAL20X8
The Second Generation: PAL24
The PAL24 is an evolution of the PAL20 and similarly has
combinatorial and registered partS. However, in the combinatorial
circuits, it is now possible to decode simultaneously up to 20
inputs. The registered parts now have as many as 10 outputs,
but the important thing to note about the architecture of the
registered part is the addition of a new cell: "ANO-OR-EXOR" as
illustrated in Figure 7. The significance of the cell is for
implementing various types of counters. Figure 8 shows the
logic diagram for the PAL20X8 that can be easily programmed
to implement an octal counter.
PAL Performance: Present and Future
The most critical parameter for the PAL performance is the
propagation delay for the combinatorial cells and the set-up
time for the registered cells. These two parameters are equal in
the PAL family and are listed below as function of time:
tpo
= tsu
1979
1981
1982
1983
40 ns
35 ns
25 ns
15 ns
These numbers are worst case fo~ commerc.ial temperature and
supply ranges. Add 5 ns to get the worst case numbers for
military temperature and supply.
Figure 8. PAL20X8
PAL'
VB
Other Alternatives
PAL Advantages Over SSIIMSI
PAL -
Industry Standard
The PAL has been accepted as ,an industry standard and is
being manufactured under license by National Semiconductor
(NSC). In addition, it was announced by Texas Instruments (TI).
It is very significant to note that TI and NSC, who are the leaders
in the TTL market have recognized that PAL will eventually
replace the present TTL. The PAL20 was adopted by the JEOEC
42.1 Committee as a de facto standard and it further proposed
that the PAL24 be also adopted.
HAL -
Hard Array Logic
The HAL to a PAL is the same as a ROM to a ,PROM. Instead of
having a fuse mask, a metal mask is used. This technique
reduces the PAL price almost by a factor of two. The HAL is
similar to a gate array. Both are customized in the last
fabrication stage by applying a unique metal mask to otherwise
standard wafer. However, the HAL is the only gate array in the
market with a fusible prototype.
The PAL can replace from 4"10 SSI/MSI and consequently it
reduces the board space required for a function. It also
increases reliability by moving the interconnections from the
less reliable PC solder connections to the si(icon Chip, Since the
PAL is programmable, it expedites the prototyping and debugging
process as compared to 90nventi9nal SSIIMSLl,.ast but not
least, is the PAL security fuse which makes it impossible to copy ~
the contents of a PAL.
'
-.:..
PAL vs Gate Arrays
Gate arrays typically have higher gate density than a PAL.
However, they have several drawbacks. The turn-around time
for gate array is 2-4 months for the first silicon and typically two
iterations are required to get a completely functional unit. Thus,
the actual turn-around time is
lLOAO 06
1COUNT
lCARRY OUT
~
PAL: Quick Turnaround Alternative to Gate Arrays
Following the logic equations, a FUNCTION TABLE is given.
Note that the FUNCTION TABLE includes some basic test
information:
FUNCTION TABLE
CLK joe Il 10 07 06 05 04 03 02 01 DO JCI JCO Q7 Q6 Q5 Q4 Q3 Q2 Ql QO
,CONTROL
,CLK joe
INSTR
Il 10
-INPUT-00000000
76543210
CARRY
jCljCO
-OUTPUTQQQQQQQQ
76543210
COMMENTS
(HEX VALUES)
------------------------------------------------------------------------------,BASIC LOAD TEST AND INCREMENT-WITH-CARRY TESTS
C
L
H L
LLLLLLLH
X H
LLLLLLLH
LLLLLLHL
H H XXXXXXXX
C L
L
H
LLLLLLHH
X H
LLLLLLHH
L
H L
C
LLLLLHLL
L
H H XXXXXXXX
C
L
H
LLLLLHHH
LLLLLHHH
H L
C L
X H
LLLLHLLL
H H XXXXXXXX
C L
L
H
LLLLHHHH
X H
LLLLHHHH
L
H L
C
L
H
LLLHLLLL
L
H H XXXXXXXX
C
H L
C
L
LLLHHHHH
X H
LLLHHHHH
C
L
H H XXXXXXXX
L
H
LLHLLLLL
C L
H L
LLHHHHHH
X H
LLHHHHHH
LHLLLLLL
L
H H XXXXXXXX
C
L
H
LHHHHHHH
L
H L
C
X H
LHHHHHHH
C
L
H H XXXXXXXX
L
H
HLLLLLLL
C
L
H L
HHHHHHHH
HHHHHHHH
L
L
L
H H XXXXXXXX
L
H
LLLLLLLL
C
,COMPLEMENT LOAD TESTS
HHHHHHHH
C
L
H L
L
L
HHHHHHHH
L
H L
HHHHHHHL
C
X
H
HHHHHHHL
C L
H L
HHHHHHLH
X H
HHHHHHLH
HHHHHLHH
L
H L
C
X H
HHHHH1.HH
C
L
H L
HHHHLHHH
X H
HHHHLHHH
C
L
H L
HHHLHHHH
X H
HHHLHHHH
C
L
H L
HHLHHHHH
X H
HHLHHHHH
C
L
H L
HLHHHHHH
HLHHHHHH
X H
LHHHHHHH
L
C
H L
X H
LHHHHHHH
C
L
H L
HHHHHHHH
HHHHHHHH
L
L
,SHORT COUNT SEQUENCE - CONSECUTIVE COUNTS
C
L
L L
XXXXXXXX
X H
LLLLLLLL
LLLLLLLH
L
H H XXXXXXXX
C
L
H
C
L
H H XXXXXXXX
L
H
LLLLLLHL
C
L
H H XXXXXXXX
L
H
l.LLLLLHH
L
C
H H XXXXXXXX.
L
H
LLLLLHLL
,COUNT HOLD CHECK - CO GATING CHECK
HHHHHHHL
HHHHHHHL
L
H L
C
X H
H H XXXXXXXX
C
L
L
L
HHHHHHHH
C
L
H H XXXXXXXX
H H
HHHHHHHH
C L
L H LLLLLLLL
HHHHHHHH
L
L
C
L
H H HHHHHHHH
LLLLLLLL
L
H
,TEST OUTPUT CONTROL (jOC) FOR THREE-STATE OUTPUTS
X H
X X XXXXXXXX
X X
ZZZZZZZZ
6·24
LOAD (01)
INCREMENT
LOAD (03)
INCREMENT
LOAD (07)
INCREMENT
LOAD (OF)
INCREMENT
LOAD (IF)
INCREMENT
LOAD (3F)
INCREMENT
LOAD (7F)
INCREMENT
LOAD (FF)
INCREMENT (ROLL OVER)
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
LOAD
(FF)
(FE)
(FD)
(FB)
(F7)
(EF)
(OF)
(BF)
(7F)
(FF)
CLEAR
INCREMENT
INCREMENT
INCREMENT
INCREMENT
TO
TO
TO
TO
(01)
(02)
(03)
(04)
LOAD (FE)
INCREMENT TO (FF) jCO=L
CI INHIBITS COUNT AND CO
HOLD SEL INHIBITS COUNT ONLY
INCREMENT TO (00)
TEST HI-Z
PAL: Quick Turnaround Alternative to Gate Arrays
Finally. it is highly recommended that a description be a part of
this computerized data sheet.
THIS IS AN 8-BIT SYNCHRONOUS COUNTER WITH PARALLEL LOAD, CLEAR, AND HOLD
CAPABILITY. THE LOAD OPERATION LOADS THE INPUTS (07-00) INTO THE OUTPUT
REGISTER (Q7-QO). THE CLEAR OPERATION RESETS THE OUTPUT REGISTER TO ALL LOWS.
THE HOLD OPERATION HOLDS THE PREVIOUS VALUE REGARDLESS OF CLOCK TRANSITIONS.
THE INCREMENT OPERATION ADDS ONE TO THE OUTPUT REGISTER WHEN THE CARRY-IN IS
TRUE (/CI=L), OTHERWISE THE OPERATION IS A HOLD. THE CARRY-OUT (/CO) IS TRUE
(/CO=L) WHEN THE OUTPUT REGISTER (Q7-QO) IS ALL HIGHS, OTHERWISE FALSE (/CO=H).
THESE OPERATIONS ARE EXERCISED IN THE FUNCTION TABLE AND SUMMARIZED IN THE
OPERATIONS TABLE:
loe
CLK
I1
H
L
L
L
L
L
X
C
C
C
C
C
X
L
L
H
H
H
10
ICI
07-00
X
X
X
X
H
L
X
X
X
0
X
X
Q7-QO
OPERATION
-------------------------------------------------X
L
H
L
H
H
Q
Z
L
Q
0
Q
PLUS 1
HI-Z
CLEAR
HOLD
LOAD
HOLD
INCREMENT
-------------------------------------------------CAD Software for PAL
PALASM
PALASM is a software which translates the LOGIC EQUATIONS
to a fuse pattern. The output of the PALASM is in.a format
compatible with either a PAL or a PROM programmer. The user
needs to specify only his "block-box" description and the
programmer will blow the corresponding fuse pattern. '
PALASM also uses the FUNCTION TABLE to perform two
critical operations for the sem!-custom user:
• Design Verification - Each entry of the FUNCTION
TABLE is checked against the logic equations and any
inconsistency is flagged as an error.
• Test Vectors - Each entry of the FUNCTION TABLE is
translated to a universal test vector. so there is a way of
testing the customized PAL once it is fabricated
PALASM is written in FORTRAN IV and it resides on an IBM
370/168. Users can access the program by calling the NCSS
time-share network. Additionally. Monolithic Memories makes
the source code of PALASM available to users at no cost.
PALASM is presently running on quite a few computers at
customer Sites. Several examples of such computers are the
DEC PDP/11. DG NOVA. HP2100. MDSSOO. and many others.
An example of the test-vectors generated from the FUNCTION
TABLE of the octal counter is given at right:
1
2
3
4
5
6
7
8
9
10
11
COI0000000IXOHI,LLLLLLHXI
CIXXXXXXXXIXOHLLLLLLHLOI
COII000000IXOHLLLLLLHHXl
CIXXXXXXXXIXOHLLLLLHLLOI
COIII00000IXOHLLLLLHHHXl
CIXXXXXXXXIXOHLLLLHLLLOI
COIIII0000IXOHLLLLHHHHXl
CIXXXXXXXXlxOHLLLHLLLLOI
COIIIII000IXOHLLLHHHHHXl
CIXXXXXXXXlXOHtLHLLLLLOI
COI11111001XOHLLHHHHHHXl
12 CIXXXXXXXXIxOHLHLLLLLLOI
13 COIIIII1101XOHLHHHHHHHXl ~
14 CIXXXXXXXXIXOHHLLL~LLOI - . : . .
15 COIIIII1111XOLHHHHHHHHOI
16 CIXXXXXXXXIXOHLLLLLLLLOI
17 COI11111111XOLHHHHHHHHOI
18 COOIII11111XOHHHHHHHHLXl
19 COI01111111xOHHHHHHHLHXl
20 COII0IIIIIIXOHHHHHHLHHXl
21 COIII011111XOHHHHHLHHHXl
22 COIIII01111XOHHHHLHHHHXl
23 COIIIII0IIIXOHHHLHHHHHXl
24 COIII111011XOHHLHHHHHHX1
25 COI11111101XOHLHHHHHHHXl
26 COIIIIIIIIIXOLHHHHHHHHOI
27 COXXXXXXXXOXOHLLLLLLLLXl
28 C1XXXXXXXXIxOHLLLLLLLH01
29 C1XXXXXXXX1XOHLLLLLLHL01
30 C1XXXXXXXXIXOHLLLLLLHHOI
31 CIXxXXXXXXIXOHLLLLLHLL01
32 COOI1111111XOHHHHHHHHLX1
33 CIXXXXXXXXIXOLHHHHHHHHOI
34 CIXXXXXXXXIXOHHHHHHHHH11
35 CI000000000XOLHHHHHHHH01
36 C1111111111XOHLLLLLLLL01
37 XXXXXXXXXXXXIXZZZZZZZZXl
PAL: Quick Turnaround Alternative to Gate Arrays
Testability
Low-Volume
The test vectors which resulted from the FUNCTION TABLE are
referred to as basic test vector and they indeed guarantee that
the part is functioning according to each entry in the FUNCTION
TABLE. However, to increase the confidence level that the
device will not "misbehave" (when unspecified inputs are
applied) it is necessary to insure that all nodes are toggled
during the testing. Monolithic Memories has an automatic testvector generation program which is used to test HAL, the
software uses the basic test-vectors as seed vector and from
there it iteratively adds more test vector'S until all nodes have
been toggled.
Low-volume requirement has been a continuous problem to the
military market place, but with PAls obviously the low-volume
requirement can be satisfied by customizing as little as one chip
at a time.
It is important to note that for testability it is always necessary to
have an initiallization mechanism, e.g., in the octal counter when
10 = 11 = 0, the counter is cleared to all zeros.
HMSI: Dedicated HAL Functions
In general, the PAL and HAL are programmed according to user
specifications. However, as an aid to customers, we make
certain dedicated 24-pin HAL. For example:
,. Octal Counter
• 10-Bit Counter
• 16:1 MUX and several other "new" TTL functions
PAL and the Military
Bipolar Technology
The PALs are fabricated using bipolar Schottky technology
which has been proven to be much more reliable at extreme
temperatures than the MaS technology. The PAL is being
programmed by blowing TiW fusible links which has proven
reliability on PROMs. The fusible link technique is much more
reliable than the EPROM or EEPROM which use a stored
charge that leaks with time and has a questionable operation at
the military temperature range.
Obsolete SSI/MSI
Anytime the demand for ICs exceeds the available supply, the
semiconductor manufacturer stops producing the least profitable
ICs. As the labor cost increases and the silicon cost decreases,
SSI/MSI devices (which are labor intensive) are the first to
become obsolete. With the fast turn-around time of the PAL.
These TTL devices can be quickly reduced by PAL.
Leadless Packages
The PAL is also available in the space saving lead less chip
carriers (LLC). These carriers are made according to JEDEC
outline (Type B) with 50 mil centers and 75 mil package
thickness. The 20-pin LCC is 350x350 mils and occupies only
40% of the space required by the equivalent of 20-pin DIP.
Military Processing
PAls, like all other Monolithic Memories' products, can be
processed to meet the HI-REL requirements of MIL-STD-883B.
This processing is available for both LCC and DIP packages
and also for dice where they are visually inspected by method
2010B and are shipped in a standard waffle pack.
Summary
The PAL family is already a valuable semi-custom approach in
the commercial market place. It will even be more valuable to
the military market that has been looking for a solution to the
problem of low-volume requirement.
The PAL, which is implemented in bipolar technology, presents
a high reliability programmable solution to the demanding
needs of the military market.
High Speed/Low Cost Fuse Link Arrays
Compete with TTL 74S/LS
John BirknerlWescon 78
Random Logic has remained virtually impenetrable
by today's state of the art LSI technology. This fact is
dramatically evidenced by the high percentage of TTL
74S/LS logic found in currently introduced small
board computers based on MaS microprocessors,
and also high performance minicomputers based on
bipolar bit slice chip sets.
LSI has vastly reduced the well defined, regular
logic functions found in these systems because of the
wide appeal, thus, high volume and low cost. When the
regular functions are applied to the specific needs of a
particular systems manufacturer, however, individual
interfacing requirements demand additional logic not
available in LSI functions. The present solution is to
use standard SSI/MSllogic functions at a high cost in
chip count, assembly/test labor and reliability.
To answer the need for LSI Random Logic, a family
of fuse Programmable Array Logic devices I PAL I has
recently been introduced. This family meets the speed
requirements of competing TTL SSI/MSI with typical
25ns propogation and set up delays while reducing
chip count 4 to 1.
Total system cost using PALs is comparable with
SSI/MSI, yet design time and inventory costs are
reduced. The 15 part family utilizes the latest
improvements in bipolar Schottky fusible link
technology with the proven reliability track record 01
bipolar PROMs. Titanium-tungsten fuses and emitter
follower arrays are used to achieve the 25ns delays
through three levels 01 logic.
DEFINING THE PROBLEM
Increasing the logic function density per chip is the
name of the game in the integrated circuit industry.
The standard procedure is to identify a logical block
which is common to many applications and users, and
then to integrate that function onto a single chip. The
problem with integrating the random and irregular
functions which are so prevalent in today's digital
systems is to identify a common denominator which
can provide a generalized solution that meets cost and
performance goals.
A Decade of TTL
The growth of TTL SSI/MSI during the last decade
provides a wealth of knowledge about the elements
that designers need to build digital systems. This
family of devices was defined by many users and
manufacturers over many years and is, therefore, an
evolutionary, emperical data base from which we can
extrapolate generalized logical primatives for LSI
implementation.
the basic gates, AND-OR-INVRT gates, Multiplexors,
de-multiplexors and priority encoders. More complex
combinatorial includes arithmetic functions such as
comparitors, adders, and ALUs. The common
denominator among the simple combinatorial
elements is the sum of products. An additional
primative in the arithmetic elements is a high density of
Exclusive-ORs.
BOOLEAN
TRANSFER
FUNCTION
INPUTS
OUTPUTS
Figure 1: Combinatorial function
Sequential includes all the registered functions
such as counters, shift registers, registered multipliexors, accumulators, and registered encoders. The
common denominator of these sequential elements is
a register driven by a combinatorial element whose
inputs are both external and internal from the register.
All of the sequential devices may be described as
simple state machines.
CLOCk
BOOLEAN
TRANSFER
FUNCTION
OUTPUTS
Figure 2: Sequenlia' Functfon
Both the combinatorial and the sequential functions
may have the optional characteristic of three-state
outputs. That is, the output function may be
disconnected as a driving source by placing the
outputs in a high impedance state (High-Z)
OUTPUTI
The Primitives
SSI/MSI functions can be classified as either
combinatorial or sequential. Combinatorial includes
Figure 3: Three--St.le Output Gltl
6·27
High Speed/LowCost Fuse Link Arrays
Definition of Terms
Before we can rigorously define the basic logical
primitives, we first need a precise language which
unambiguously describes the transfer functions.
Definitions:
Equality, after the propogation time, tpo, from any
input change .
.= Replaced by, after Ihe propogation delay, tpo,
from the low to high transition of the clock.
IF Conditional Equality, after the propogation delay,
tpo, from the enabling condition. Otherwide, high
impedance (High-ZI.
Complement, Boolean operator, placed to the left
of a Boolean variable.
AND, Boolean operator.
+ OR, Boolean operator.
:+: XOR, Boolean operator.
() Parenthetical separators.
hierarchical order / • + :+:
where / is evaluated first.
A sequential function is described as,
V:= fiX, VI
IFrEI V1 = V
CLOCK
Y'
Combining sequential, combinatorial and threestate we now have,
IF I f1IX, VI I Z = f2(X, V)
V: = f31X, VI
IF ,E)
V1 = V
Given these definitions, we can formulate rigoro~s
logical descriptions of stl\ndard SSI/MSI functions.
Rigorous Statement of Primitives
We can now state, in equation form, a generalized
set of equations suitable for LSI implementation.
For an input vector X and an output vector V, a
combinatorial function is described as,
,.
V = fiX)
CLOCK
'eX)
where f is Boolean Sl-lm of products transfer function.
A three state combinatorial function is described as,
IF (.f1IXI)
Z =;12(Xi
The above generalized Boolean functions are a
super set of virtually all of the standard SSI/MSI
fu·nctions.
For an LSI implementation to provide a better
solution than existing SSt/MSI it must meet the
following requirements:
1. Reduce package count
2. ~atch or improve pl;!rformance.
3. Reduce System Cost.
The Programmable -Array Logic (PALl family was
designed to meet these· requirements.
6·28
High Speed/Low Cost Fuse Link Arrays
SEOUENTIAL EXAMPLE:
COMBINATORIAL EXAMPLE:
4 to 1 Mux.wlth three-state Outputs (74LS253)
4 SIT. UP/DOWN COUNTER (74LS169)
4 tn 1 Mux Logic Symbol
Up/Down Count.r Logic Symbol
'o--~>----------.-------.
,co
---------'------:::I::::r-,
,C' --------,.,----f-+±...-......
'C2
--------:-~:::t:ft;[)
'C3
------~:$*3)
2CO ~-----t-l-+ft-L-..,
2C'
--------.t=1==¥f=L..)
2C2
--------~==FL.J
2C3
----~--~===f=L-'
20
_~~_~
4
_ _-+_ _ _ _
~
to 1 Mux Logic Dlag,r.m
Up/Oown Counter LogiC DI.',.rn
EOUATIONS:
EOUATIONS:
IF( 11G)
1Y = IA*/B*1CO
+
A-/S-1C1 +
lA-
S-1C2 +
A- B-1C3
IF( /2G)
+
+
2Y = IA-/S-2CO
A-/S-2C1
IA-S'<2C2 +
A-S-2C3
OA: = LOAO*A + ILOAO-OA :+:
ILOAO-poT .
OB: = LOAO·B + ILOAO'OS :+:
ILOAO'P*T*UO*OA +
ILOAO*P*T/UO*/OA
OC : = LOAO*C + ILOAO*OC :+:
ILOAO*P*T*UO*OA*OB +
ILOAO*P*T*/UO*/OA* lOB
00 : = LOAO*O + /LOAO*OO :+:
ILOAO*P*T*UO"OA*OS*OC +
ILOAO*P*T*/UO*/OA*/OB*/OC
/CARRY = T*UO*OA*OS*OC*OO + T*/UO*
IOA*/OB*/OC*/OO
6-29
High .p...., .... Cost.fuH1.inkArray.s
,
-' . .
"'f--
THE PROGRAMMABLE LSf'SOlUTlON
A family of 15 PAL devic~s .il:remanufacturedby
Monolithic Memories •. Inc. whi·ch provide a tarige
logic functions including combinatorial. thr.e'-State.
sequential. and arithmetic sequential. Tile TTL
devices utilize a platinum Siliciqe Schottky process'
andTitanium Tungsten fuse links to forma single
programmable emitter follower AND array which
drives a fixed OR array as shown in Figure 4.
.of
"
BasiC Combinatorial Cell.
Thebasic combinatorial cell implements the sumo!
prellduct$ over a range of input-output pin ratios. All
combinatorial output drivers conform tell the Low
Power SchOttky TTL eleclrical characteristics for
totem pole drivers. e.g., IOl = SmA.
I11I111111111111
..
~
Figure 6: Combinatorla' C.II
Programmable 1/0
A more complex combinatorial celi incorporaies
three-state drivers where the. enable function is
programmable. This allows a pin to be allocated as an
input, an output. or dynamically I/O. All three-state
outputs are designed to meet the Low Power Schottky
TTL three-state bus standard of 24mA IOl.
Figure 4: A.ND-OR Circuli Oiagram
The AND-OR array is described logically by a
distributed AND gate symbol to facilitate ease 6f
drawing. I Conventional AND symsol with single
input rail where X indicates a diode and a fuse.'
-=1111111111111111~
Figure 7: Programmable 110 Cell
Registered Feedback Cell
A D-type Register at the output of a combinatorial
cell forms the state machine primative. This cell can be
uSed to implement regular state sequences such as
count and shift, but more importantly, it can be used to
implement random state· sequences not ·available as
standard functions.
111111111!11
Figure 5: AND-O"R Logic DiagraM
6-30
t St
High Speed/Low Cost Fuse Link Arrays
Arithmetic Cell
The most complex of the PAL cells Includes an
exclusive OR and a gated fee:Jback to implement basic
arithmetic operations such as greater than, less than,
add and subtract.
The register forms an accumulator while the
combinatorial network forms an ALu.
111111111111W$i
Figure 9: Arithmetic Cell
Structured Pinouts
The 15 PALs are packaged In the popular 20 pin 300
mil wide Skinny DIP'· Input pins are generally. to the
left while output pins and 1/0 pins are to the right. This
feature conveniences PC board layout and allows the
PinouL'Logic Symbol to be. a Block diagram
~A;Ls~\,Programma,ble Logic Functions
Help, Minimize Hardware
Jpbn,; Birkner/Wescon
7,9
Taking lId~J~tage of PROM on-the-spotptogrammability, the
PALs ofjera range oUogic replacement ,capabilities - from
random gates to complex arithmetic circuits. Using a programmable AND array to feed a fixed OR array, PALs permit
compact realizations of sum-of-products expressions, This
paper will provide an overview of the PAL family, a basic
understanding of the PAL structure, some'guidelines as to how
systems can be partitioned to take advantage of the PAls and a
design example.
The Problem
A look at the three 1 billion dollar digital integrated circuit
marketplace provides inSight into the needs of systems designers.
First, Figure 1 breaks out the dollar marketplace into four
major areas.
Figure 2. Unit Digital IC Marketplace
. Comparison of Figure 1 and Figure 2 along with some quick
arithmetic shows the ASP (Average Selling Price) of the MPU,
RAM, ROM/PROM/EPROM is around $4,00, whereas, the ASP
of TTUCMOS is around $.50. As a ball-park cost of placing an
IC on a board is around $1.00 (board cost, assembly and test).
the major cost of using the TTUCMOS is the overhead, not the
silicon,
Programmable Logic
figure 1. $ Digital IC Marketplace
As the average system should contain a similar percentage cost
of silicon for MPU, RAM, ROM/PROM/EPROM, TTUCMOS, it
is of particular interest to hote the high percentage of Random
Logic; e.g., TTUCMOS. In spite of the great microprocessor
revolution, the systems marketplace spends 35% of its dollars
on random logic. To make this point shockingly clear, Figure 2
shows the three billion unit marketplace for MPU, RAM,
ROM/PROM/EPROM, TTUCMOS.
The systems marketplace devotes 87% of its IC chip count to
TTUCMOS, Dramatic evidence of this fact is demOnstrated by
observing the high percentage of. 16 and 20 pin DIPs on today's
small board computers and microprocessor systems.
Semiconductor manufacturers have been busy designing a host
of programmable logic devices to meet the challenge of
integrating this last holdout to LSI, namely random logic
gates/muxes/decoders/flip-flops. For the system. designer,
programmable logic holds the promise of balancing the level of
integration of his digital IGs while still further reducing the
printed circuit board real estate required per system. Further,
programmable logic gives the US,fiIr a custom IC which he can
buy as an inexpensive high volume/multiple sourced virgin
device, then customize on commonly available programmers.
The first and most commor programmable logic device suitable
for logic replacement is the bipolar PROM. Available in a wide
variety of inpuVoutput pin ratios, the PROM transforms an input
variable (address lines) to a desired output conditiOn (data out)
with a propagation delay in the range of 50 to 80 nanoseconds.
Normally thought of as a memory, the PROM is a sum of
products, boolean transfer function which will transform all
poSSible input vectors to any desired output vector, Caution!
PROM outputs glitch during the propagation delay of any input
change. This is true as any input change causes the source of
data to move from one product to another where there may be a
gap, overlap, ora third product causing unpredictable outputs.
Figure 3 shows a PROM architecture in slim of products form.
PALs: Programmable Logic Functions Help Minimize Hardware
PROM
16 Words X4 Bits
1
3
~
V
7 '
'\
"OR" ARRAY
(PROGRAMMABLE)
0
7
~
IV iV
FPLA
4 In • 4 Out • 16 Products
~
~
10
V
~
'\
'\
V
I,
V
""""'
""""'
=<
=<
=<
=<
=<
=<
F=<
F=<
F=<
F=<
F=<
?<
F=<
F=<
F=<
F=<
F=<
F=<
l......I
...J
~
~
~
~
~
c-_
"AND" ARRAY
"OR" ARRAY
(PROGRAMMABLE)
~
=<
=<
=<
=<
~
yyyy-
(FIXED)
"AND" ARRAY
(PROGRAMMABLE)
F"lgure 4. FPLA Architecture
Figure 3. PROM Architecture
The first programmable logic device designed specifically for
logic replacement was the-FPLA. The programmable AND array
overcomes the previous glitch problem in the PROM and allows
more input variables. Figure 4 shows an FPLA architecture with
programmable AND and programmable OR arrays.
complement of the PROM architecture as the AND array is
programl\1ablE! and the OR array ill_ fixed: The architectuni
affords simple programming in existing .PROM programmers
plus a fast propagation time of 40 nanoseconds maximum over
the commercial Vee and temperature ranges. In addition~ PAlS
have additional output options of Registers and 1/0 as sum-mari:l;ed in Figure 6. Figure 5 shows tHee PAL architecture with
programmablE! ArilD~amlY and fixed OR array.
~,
c
A recent entry into the progral\1mable_logic marketplace is the
PAL 2 (Programmable Array Logic). The PAL architecture is a,
yyyy
:PALs: Progl'ammableLogicFunctions Help Minimize Hardware
PALs -
PAL
4 In • 4 Out • 16 Products
"OR" ARRAY
(FIXED)
10
...
'7'
~
7 'Ii
7 ...
V ~ IV
~
K
K
K
b<
Fifteen PALs provide a family approach to the replacement of
random logic gates, muxs, decoders and flip-flops at a greater
than 4 to 1 chip count reduction. The die sizes range from 13K
squar~mils to 19K square mils which compare to 2K PROM and
4K PROM die sizes which sell in the $2.00 to $4.00 range. Two
major semiconductor manufacturers are now supplying PALs
with a third to appear shortly.
A description of the family is shown in Table 1 below.
PART
NUMBER
=<
~
DESCRIPTION
Octal
Hex
Quad
Dual
PAL10H8
PAL12H6
PAL14H4
PAL16H2
PAL16Cl
PAL10L8
PAL12L6
PAL14L4
PAL16L2
PAL16L8
PAL16R8
PAL16R6
PAL16R4
PAL16X4
PAL16A4
r=<
F<
-,
A Family of 15
=<
f::<
=<
F=<
F<
Octal
Hex
Quad
Dual
Octal
Octal
Hex
Quad
Quad
Quad
10 Input And-Or Gate Array
12 Input And-Or Gate Array
141nput And-Or Gate Array
161nput And-Or Gate Array
16 Input And-Or/ And-Or-Invert Gate Array
10 Input And-Or-Invert Gate Array
121nput And-Or-lrivert Gate Array
141nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or-Xor Gate Array
161riput Registered And-Carry-Or-Xor Gate
Table 1. PAL Family
yyyy
"AND" A RR AY
(PROGRAMMABLE)
Figure 5. PAL Architechlre
Ranging in complexity from simple gates to complex arithmetic
functions the PAL Family can functionally replace up to 90% of
the 7400 Series TTL.
.
A Simple Example
To demonstrate a PAL implementation, consider the following
Boolean functions:
B = A
A--J:>---B
D
/e
G
E *,
~
F
:=D-
G
J
H
+
I
~=D-.J
H~
I
..
J
~=D-M
~==D-M
~=D-P
~==Do-P
C---[>o--D
E
PROM
FPLA
FPGA
PMUX
PAL
AND
OR
Fixed
Prog
Pro~
Fix/ rog
Prog
Prog
Prog
None
Fixed
Fixed
OUTPUT OPTIONS·
TS;OC
IS, OC, Fusible PQIi'!.rity
TS, ~C, Fusible Polarity
IS
..,.
IS, Registered, Feedback, 1/9
Figure 6. Programmable Logic Summary
M = /K + /L
P
/N
* /0
.
.
..
. .G.
·=D---c
PALs: Programmable Logic Functions Help Minimize Hardware
Choosing the PAL10H~, these functions are now, implemented
as shown in the logic sympol of Figure 7.
PAL1GH8
The functions are described by the logic diagram of Figure 8.
The buffer which connects Pin 1 (A) to Pin 19 (8) is formed by
the ,single ·X" placed at the intersection of product term 0 (top
horizontal Line) and input line ~,(far left vertical line). The "X" is a
shorthand expression for an intact fuse connecting the product
lin,e (AND gate) to the input line thru an NPN transistor. The
absence of an "X" indicates a blown fuse . .The AND gate is
formed by two "Xs" on the same line which signifies ANDing as
all "Xed" inputs on the ,single rail AND symbol are' ANDed
together. The OR fLingtion is formed by two "Xs" on different
product lines.
This example has shown the implementation of common gate
structures. The versatility of the PAL is demonstrated by some
not so common gate structures shown below. Figure 9 shows a
PAL implementation of those gates.
c
A
* IB
F
o
+
Logic Symbol
Figure 7. Example Gates Logic Symbol
Example Gates
No~1
Logic Diagram
PAL10H8
r ' 'r
A '-'-'~==lm
IE
I = G*/H
L
J*K
+ IG*H ~=:)~
I
+/J*/K
"B
c'
"
"D
"G
PAL1GH8
" J
,
)------!' M
" NOT
USED
" NOT
USED
N~·~~=#~~t=~#=~~~I~====~~"o
Figure 8. Example Gates LogiC Diagram
Logic Symbol
Figure 9. Example Gates Logic Symbol
PALs: Programmable Logic Functions Help Minimize Hardware
Partitioning System Logic for PALs
The sum of products Boolean transfer function is the common
denominator and basic primitive of all digital logic systems.
From the sum of products, not only can all the gate functions be
derived, but so also can latches, edge triggered registers, MUXs,
encoders and decoders. The first nine PALs (PAL 10HB thru
PAl16L2) implement a. variety of input/output pin ratios and
product terms per output. Input pin loading is less than 0.25 mA
while output drive is 8' mA sink and 3.2 mA source. A typical
gate configuration is shown in Figure 10.
Latch Circuits can be implemented as shown in Figure 12. The
PAL 16LB is commonly used for this function as six of the eight
outputs are internally connected to an array input line. Edge
triggered flip flops can be constructed from two latches where
individual clocki['lg is required.
Figure 12. Latch Circuit
Figure 10. Typical Sum of Products
Three-state buses are commonly used in TTL systems to reduce
interconnect densities by sharing signal lines. The PAL 16L8
thru PAL16A4 output driversllre all three-state outputs which
sink 24 mA, compatible with the low power Schottky three state
standard. This 24 mA sink is sufficient to drive many standard
buses including the Intel Multibus.
Control logic containing D-type or J-K flip-flops is common
among memory, processor and controller interfaces. This logic
can generally be classified as state-sequence logic or smallstate machines. The PAL types PAL 16RB, PAL 16R6 and
PAL 16R4 contain output registers with feedback which can
implement simple state-sequences. Figure 13 shows a typical
control logic configuration.
The PAL three-state outputs are of two types. First, the register
outputs are controlled by a common enable pin for parallel bus
enabling. Second, the combinatorial outputs are individually
controlled by a product term. This feature allows an open
collector configuration to be logically derived as required in
bus-shared control Signals such· as memory transfer acknowledge. The latter type is shown in Figure 11.
Figure 13. Registered Sum of Products
Figure 11. Three-State Driver with Individual Enable
PALs: Programmable Logic Functions Help Minimize Hardware
Design Example
DATA
OUT
ENABLE
A typical control logic problem is the memory to processor
handshake on memory transfer used in many computer
architectures. The processor makes a transfer request by
activating a request line (REO) and specifies a read or write
operation on a, Read/Write line (R/W).
DATA
AVAILABLE
During a read operation the processor waits for a Data Available
signal at which time the data bus is sampled and the request line
lowered, completing the cycle. During a write operation, the
processor places data on the bus and waits for a write complete
signal after the write cycle is finished; Upon write complete, the
request line is lowered, completing the cycle. This handshaking
operation is described in the timing diagram of Figure 14.
The memory-board logic to implement this function may be
designed with gates and edge triggered flip flops as shown in
Figure 15. This particular 'design would require about five
SSI/MSI packages. The same design is implemented in Figure
16 by a single PAL16RB.
WRITE
COMPLETE
REO
Rffl ----+----+---+--~
Figure '15. Memory Handshake Logic
Logic Diagram PAL 16R8
CK~'~
,v------~"-."..-""-"'-...-,,... ,-,,.....-....-.. -....-"..--~----'
DA
WE
WC
Figure 14. Memory Handshake Timing
Bibliography
1. Semiconductor Industry Association, 1979, first four months
report.
2. John Birkner, High, Speed/Low Cost Fuse Link, Arrays
Compete with TTL 74S/LS, WESCON 'lB.
Figure 16. PAL Memory Handshake Logic
Oate 'Arrays Logjam Test 'Engineering
John BirknerlWescon 80
Gate arrays give logic designers the ability to create
numerous semi-custom ICs in a relatively short amount of
time. The number of \Jnique patterns may vary from 10 to 200
for a typical new, systems design. When the new system is
transferred to production, the Test Engineering department
is faced with one to two work weeks per pattern. Systems
manufacturers, using gate !irrays for the first time, are cautioned to plan for the increased demands on Test Engineering, or they will find a logjam infesting. This paper examines
the problems and solutions, in testing gate arrays and
semicustom logic.
Definitions
Many terms have recently appeared to describe the host of
integrated circuits which are configured late in the manufacturing process. These ICs are most generally described as
uncommitted logic. More specifically, there are classifications such as semicustom logic, gate arrays, programmable
logic arrays, field programmable logic arrays, programmable
array logic and hard array logiC;
All of these devlcliS provide the systems designer with
common advantages; higher board density, lower power,
higher speed, etc. For the purposes of this discussion, they
will all be classified as gate 'arrays; The specific example
chosen for this discussion will be hard array logic, HAL, and
Its programmable counteipart, PAL.
Replacing PCBs With Silicon
The problem of testing digital logic is steadily moving
from the printed circuit board (PCB) to the LSI chip. In the
case of gate arrays, the etched lines which connected the
random assortment ofSSl/MSI gates and flip flops is'being
lifted from the, PCB and placed on silicon. Test engineers,
who complain that the new gate arrays create a testing prob·
lem, forget that they once testedtf;lat same logiC on thePCB."
Gate arrays don't create new,testing problems; they just
move the old testing problem from the PCB onto the silicon
chip. This ITW-Y be viewed as an opportunity t9structure the
testing problem in the more regular environment of a fixed
package, structured array. We must be more clever, however,
in generating our test programs without the aid of Internal
test pOints which were available on the PCB.
The/Logjam
Testing LSI logic is certainly not a new problem. Standard
LSI chips, like the miCroprocessor and the variety of special
purpose controllers,are regularly tested.,The new problem
lies in large numbers of gate array patterns which can be
quickly designed and fabricated.
"
For a single systems design, a few design engineers can
create as many as 200 new and unique gate array patterns.
At one week per pattern, this translates to four work years of
test engineering time,
Test Vectors'
Test programs for LSI devices consist of electrical, switching and functional tests. The electrical, and switching
characteristics are tested by the semiconductor manufacturer, and may be opti,~>nally tested by the user. The function
test is supplieq to the manufacturer by the user. It consists
of a list of test vectors, which specify for each pin, instructions for driving high or low, or testing high or low, or not driving and not testing. ,
The time consuming job for:the user is the generation of
test vectors. At' this time, work is under, way toward
automating the generation' of test vectors, thus fa:r with
some success. Even with automated programs, man4al intervention and human interaction make the task time consuming. In addition, the automated programs are not self
starting. They need manually generated seed vectors.
Responsibility of the Designer
When a new system is transferred to production, the
systems designer hands over the responsibility for the
system to ,the test engineering department who now determines how and what tests should be performed to ensure
proper operation of the system. At this pont the systems,
designer transmits the necessary Information for understanding the system operation. Unfortunately, much information is lost at this pOint. All too often continuity is broken
and while the systems designer is off designing the next
great project, the test engineer is left to struggle with understanding how the system works. This struggle is exaggerated when system complexity is increased by the use of
gate arrays.
It is the design engineer who best knows the operation of
his, gate array design, and it is the design engineer who can
quickly specify a few seed vectors to give the test engineer a
starting point or to give the automatic vector generator a
starting point. The problem at hand is to entice designers into this task.
'
Tools for the Designer
The first step toward luring the designer into providing
test vector information is to give him a standard format for
specifying the vectors. The format should be easy to understand and convenient to write down either on paper or,
preferably, into a computer terminal. Fortunately, there is a
format that already exists, which with slight modification,
will suit our purpose. The format is the well known "Function
Table" format found in the Texas Instruments TTL Databook
and accepted by JEDEC. Let us now redefine that forlnat as
follows:
Function Table
The function table begins with the keyword, "FUNCTION
TABLE." It is followed by a pin list Which symbolically
Gate Arrays Logjam Test Engineering
defines each pin. The pin list is followed by a dashed line,
e.g.·······(length optional), which in turn is followed by a list of
vectors, one vector per line. A vector is a sequence of states
in order of the pin list followed by an optional comment. The
vector list is followed by another dashed line.
This is the approach takento specify designs for Hard Ar·
ray Logic, HAL, the mask version of Programmable Array
Logic, PAL. The design specification is a computer file which
contains part number, name of device, symbolic pin list,
design equations and a Function Table.
Definition of States
Outsmarting the Designer
H
HIGH LEVEL
L
LOW LEVEL
C
TRANSITION FROM LOW TO HIGH
Providing just the format for specifying test vector infor·
mation is not likely to seduce the busy systems designer into
such a boring task. We have to be a bit more clever to snare
him. Fortunately, we can charm him with a decoy, gate array
simulation.
x
IRRELEVANT
Gate Array Simulation
Z
OFF (HIGH IMPEDANCE)
With this definition, let us now write a function Table for a
simple two input AND Gate having inputs A and B with out·
put C.
FUNCTION TABLE
ABC
-------------L
H
L
L
L
L
L
T" H
H H H
The systems designer is impressed with computer·aided
tools that help him in his design task. What if he had a com·
puter program which would simulate his gate array design
and tell him if it works as he wants it to? Would he use it?
This author is betting that he will.
A simulator has been added to the PAL Assembler,
PALASM, which reads the Function Table and simulates the
device as specified in the state equations which specify the
transfer function. Inconsistencies between the Function
Table and the transfer function are reported as errors. The
simulator checks the operation of the gate array against the
equations, thus verifying the designer's intention for the
device. What the designer perhaps will never realize is that
he has also provided seed vectors for test engineering.
Future Considerations
The second step in persuading the designer into pro·
viding test vectors is to combine the Function Table with the
gate array design specification so as to provide one docu·
ment with design and functional information.
The. real objective here is to give the designer a format to
mimic the data sheet format which he is accustomed to see·
ing for standard TIL components.
The test vector generation problem is generally con·
sidered to be one of starting with the transfer function and
synthesizing the state table. The engineering problem is just
the reverse. That is, the designer starts off with the state
table and he synthesizes the transfer fucntion. A challenge
for gate array manufacturers is to provide their customers
with computer·aided tools to automatically generate gate ar·
rays from state tables.
m
_
High Level Language for Programmable
Array Logic
John BirknerlWescon 81
Introduction
Standards for silicon definition languages are under consideration by semiconductor manufacturers in order to provide a
means of communication between vendor and customer for
specifying semicustom ICs. The objective of an industry
standard language is to provide a hardware-independent,
manufacturer-independent, user-independent, unambiguous
definition of an IC. So far, the debates in subcommittees,
ranging from what symbol to use for an AND gate to whether
there should be a standard at all, would indicate that many
standards will evolve.
If the vendor implements the TTL function exactly as shown, the
user will pay the price of extra die size. If the vendor optimizes
the deSign, he must understand it, at a high cost of engineering
development time. In either case, the vendor is subject to the
risk that the IC version will not operate identically to the TTL
version. Figure 1 demonstrates the risk of copying TTL logic
directly. The 74LS161 four-bit counter is asynchronously set to
zero when the count reaches 12. Will this circuit hazard operate
the same when it is forged into one piece of silicon? Or, will it
oscillate?
Digital machines are most efficiently defined by explicit Boolean
state equations. These equations are unambiguous, they are
easily simulated, and they can be readily expanded to systems
of machines. This paper discusses such an equation-implemented language as applied to Programmable Array Logic.
74LSOO
74LS161
Logic Schematics Fall Short
Figure 1. Common Circuit Hazard
The predominant hardware description language of today is the
logic schematic. The predominant hardware verification technique of today is the hardware prototype. These tools are
inadequate for the development of silicon hardware.
The logic schematic may be a fine tool for human understanding of a digital system, but is is quite awkward to input it
into a computer for generation of photOlithographic plates used
in making semicustom or custom ICs. Likewise, the hardware
prototype is an awkward means of design verification of an IC.
Differences in propagation delay, circuit implementation, and
logic implementation degrade the effectiveness of the hardware
emulation. Also, the manual interaction increases the probability of error, especially in high complexity logic systems. The
cost of an error in making an IC is tens and thousands of dollars
and months of delay. The cost of multiple errors is years of
delay, which often kills the project.
TTL 7400-series logic schematics are commonly submitted to
semiconductor vendors for implementation in semicustom or
custom ICs. The semiconductor manufacturer then makes a
choice as to whether to implement the function exactly as
shown on the schematic, or to optimize the design to the
particular circuit technique.
Testability is another common trap lor the semiconductor
vendor. The user's TTL prototype may work fine in his system
and also be virtually untestable. A frequent example is the clock
phase generator which has no initialize control pin. Without a
known initial state, the tester must sequence the device until a
recognizable pattern is observed. Most IC testers do not have
this capability.
Discipline for Semicustom Users
Successful use of semicustom logic is best achieved when the
user understands the vendors manufacturing cycle and when
the user partiCipates in that cycle. The production of a
semicustom IC is basically the same as that required for a
standard IC, with the exception that the user takes part in some
of the steps. The major steps are outlined below.
1. Define
2. Simulate
3. Build
4. Test
High Level Language for Programmable Array Logic
USER
SILICON FOUNDRY
+
I
I
INPUT
EQUATIONS
AND
FUNCTION
TABLE
ASSEMBLE
~
I
EDIT
EQUATIONS
I
+
EQUATIONS
SIMULATE
~
+
PAL
I
TEST
FUNCTION
~OMIC
HAL
FABRICATE
AI
LINKS
..
TEST
ELECTRICAL
PARAMETERS
GENERATE
COMPRE:HENSIVE
VECTORS
I
I
+PAL
/
I.
L....,.
I
I
j
,-
I
..
~L
FABRICATE
Ti-W
FUSES
I
FUNCTION TABLE
I
GENERATE
CUSTOM
MASK
Hi
I
I
EDIT
FUNCTION
TABLE
YES
BLOW AND
VERIFY
FUSES
FABRICATE
WAFERS
TO
6TH MASK
I
I
YES
I
~
I
t
I
SAND
TEST
ELECTRICAL
PARAMETERS
.
TEST
FUNCTION
COMPREHENSIVE
I
I
Figure 2. PAL/HAL Development Cycle
These four steps are demonstrated.Jn the diagram above for the
development of PAL, Programrlllible Array Logic, and HAL;
Hard Array Logic. The user begins by defining his logic
functions using Boolean logic equations. THese equations are
automatically assembled into hardwani routing instruciions by
'the PAL assembler, PALASM. Syntax errors are reported. The
user edits and reassembles., repeating the proceSs Until no
syntax errors are ieported.
;.
The user then inputs a Function Tapleto verify his design.
PALASM simulates the PAL/HAL, using the equations, and
executes the Function Taple on the simulated device. Simulation errors are reported. The user corrects the Function Table
and/Or equations until no simulation errors occur. This com"
pletes the design verification process.
The automatic routing instructions from PALASM may now be
used to generate a custom mask for fabrication of a HAL.
Aluminum links implement the logic .equations, providing a
semicustom device. Comprehensive Test vectors are generated
using the Function Table as seed vectors.' One hundred percent
coverage for .s,tuck-high/low test conditions is usually achieved
with fewer th~1n 200 vectors.
HALs are cost-effective in volumes of 1000 or above, For lower
volumes, th~ prOgrammable version, PAL, may be programmed
low-cost programmers. The HAL is unique in
by the user
that it is a semicuslom device that has a programmable
prototype, the PAL.
on
EquatiorisSimplify
"Our life is frittered away by detail: .. Simplify, simplify."
Thoreau
Hardware Description Languages most often use network
topology to specify the interconnectioN of gates and flipflops.
Propagation delays are individiJaily specified; wire lists are
generated: long lists of generally unreadable network interconnection are printed out.
High Level Language for Programmable Array Logie
Explicit Boolean equations are a much simpler method of
writing logic functions. They are easily interpreted and can be
readily commented. An example of an AND gate feeding an OR
gate with a comment is shown below.
EXAMPLE SESSION 11
+INPOT
The AND gate is symbolIzed by"'" and the OR gate is
symbolized by "+".
PAL10LS
PAL DESIGN SPECIFICATION
PN12345
J. BI~
6/9/81
EXAMPLE
MMlSUNNYVALE,CA
ABC X X X X X X GND X X X X X X X x/F vce
F .. A*B + E : THIS IS A COMMENT
FUNCTION TABLE
ABC F
Function T.ble Simulates
I, L I,
H H L
L L B
F
= A'B
+ C ; This is a comment
Equations are easily simulated and can be exercised by HIGHs
and LOWs specified in a Function Table. A simulation of the
above equations is implemented in the Function Table below.
FCNC'l'ION TABLE
AB C' F
,~~---------------------
L I, I, TEST OUTPUT LOW
BB I, B TEST OOTPUT HIGH
I, L H H TEST OUTPUT HIGH
I,
The simulation is now used to generate test vectors and may
also be used as seed vectors for automatic generation of
comprehensive test vectors until a 100% coverage of stuckhigh/low conditions is achieved.
L
L
B
TEST OUTPUT LOW
TEST OUTPUT HIGH
TEST OUTPUT HIGH
---~---------------~-----+ASSEMBLE
ASSEMBLY ERROR .. E
FAIL
+EDI'l'
PAL10L8
i PN12345
t
PAL DESIGN SPECIFlCA'l'ION
6/9/81
J. BIRXNER
EXAMPLE
t MMI SUNNYVALE, CA
• ABC X X X X X X GND X X X X X X X X IF
t F" A*B + E :THIS IS A COMMENT
JCEP .. A*B + C
F .. A*B + C :THIS IS A COMMENT
t
vee
to
+SIMOLA'l'E
01 000XXXXXXXXXXXXXXXH1
VECTOR ERROR 02 F
FAI~
Design Verification
The design verification performed by a user in the PAUHAL
development cycle of Figure 2 is now demonstrated in a real
example. What follows is a computer printout from the terminal
of a PAL Development System during a development session.
Two errors are intentionally made during the sessi.on. First, a
syntax error, then a simulation errQr is made to demonstrate th!3
corrective feedback in the development cycle.
+EDIT
PAL10L8
PAL DESIGN SPECIFICATION
J. BI~
6/9/81
• P.Nl2345
t EXAMPLE
t MMI SUNNYVALE, CA
I ABCXXXXXXGNDXXXXXXXXIFvcC
t F" A*B +·C :THIS IS A C~~
t FUNCTION TABLE
I ABC F
t
•
---------------------
00'l'J?0'l'
L L L
L
TEST
LOW
H H L
B
TEST OUTPUT HIGH
t H H L I, TEsT OUTPUT HIGH
leLHHL H
I
to
+SIKJIA'l'E
01 000XXXXXXXXXXXXXXXH1
02 1l0XXXXXXXXXXXXXXXL1
03 00lXXXXXXXXXXXXXXXL1
PASS
+
High Level Language for Programmable Array Logic
A more complex example is an 8-bit synchronous counter as
shown in Figure 3. Example Session #2 reads, assembles and
simulates the PAL Design Specification.
EXAMPLE SESSION 12
+Rl!'AD
PAL20XS
PAL DESIGN SPECIFICATION
CTR8A
BIRKNER/KAZMI/BLASCO
·2/10/81
S-BIT SYNCBRONOOS COtTN'l'ER
MMI SUNNYVALE, CALIFOlINIA
CLK 10 DO 01 02 03 04 05 06 07 Il GND
/EN /CO Q7 Q6 Q5 Q4 Q3 Q~ Ql QO /CI vee
/00:- /Il'*/IO
+
10 '* /00
:+: ' Il'*/IO '* /DO
+
Il* 10 * CI
/01
:'CLEAR LSB
:COONT/HOLD
:t.oAD DO eLSB)
:COONT
/Il'*/IO
10 * /01
:+: Il'*/IO * /Dl
+
11* IO '* CI~OO
I.
+
/02:-
/Il*/10
,
10 * /02
:+: 11'*/10 * /D2
+
11* 10 * CI'*QO*Ql
+
/Q3
I-
+
;+:
+
/Q4 :-
+
:+:
+
/Il*/IO
I'O * /Q3
11*/10 * /D3
11* 10 * cr*00'*01'*Q2
/Il*/IO
10 • /Q4
Il·/IO * /04
Il* 10 '* CI*OO*Ql*02*Q3
/Q5:-
/Il'*/IO
IO * /Q5
:+1 Il*/IO * /05
+
Il*'ZO * CI'*QO'*Ql*02'*'Q3'*Q4
+
/Q6
I'"
+
1+:
+
/Il*/10
IO * /Q6
11*/ZO * /06
Il* IO * CI*OO*01*Q2*Q3*Q4*05,
/Q7:-
/Il*/ic
10 '* /07
:+: Il*/ID '* /07
+
11'* 10 * CI*QO*Ql*Q2*03*Q4'*Q5*Q6
+
Figure 3, 8-Blt Synchronou5 Counter
If (VCI;:)
CO "CI*QO'*Ql*Q2*Q3*Q4*Q5*Q6*Q7
,6.43
High Level Language forProgrammabl. Array Logic
+ASSEMBLE
FUNCTION TABLE
11 10 D7 D6 DS D4 D3 D2 D1 DO /CI CLK /EN
Q7Q6 Q5 Q4.Q3 Q2 Q1 QO /00
I SEX.
I n 10
INPOTS
CONTROL
ot1'1'PUTS
7------0 /CI.CLK /EN 7------0 /00
-----.-------------~~----------------------
10 10
H 10
a a
HL
a a
H, 10
a H
a 10
Ha
LLLLLLLL H
LLLLLLLB a
LLLLLLHL a
c
LLLLLLHR a
C
LLLLLELL a
IJJJ,IoHBB a
C
xxxxxxxX
C
~LL H
LttLmmB
C
LLLLmmB . H
I,IJ,mJJI, a
C
XXXlQCXXX
IIIsmmH H
BL LLIoBHBHH
C
II H XlqCClqCXX
C
LLSLLLLL H
C
H L LLHRmmB
LLHRmmB a
IoBIoI,I,I,LL a
a a
C
a L
C
LmmmmB a
a a
xxxxxxxX
C
HLLLLLLL a
dHBriBHriH
H L jiHBfU!HBa
C
L
xxxxxxxx
a a
C
LLLLLLLL H
a L "..nnnBBH
tu1I1"ntln n
C
10
C
1iBl1ita:mu.
~ 10
Iii1IUiBBHL a
a 10 IIBBBBmJi
C
HHmmBLa a
B L aBmmLBB
C to BBBHHLBB a
a 10 BHimI.ImB
C L BBHHLBBH H
a 10 BRI!LmmB
C L BI!I'l:t.mmB a
aL B!pIIBBB
C to BBLHHBBB B
a L atoHBBBBB
C L RLHBBHBB a
C 10 LfD!lI!IBBB a
H 10 LHBBHBBH
a 10 HHHEfflfiSB
C L mmBmmB L
10 L XXXXXXXX
C L LloI,j:,IoLIJ, . II
a a
xxxxxxxx
C L ELLLLLt.a a
Ba
XXXXXXXX
C L LttI,USI, a
aa xxxxxxxx
C 10 ~wm a
a a XXXXXXXX
C L LLLLLHLL a
H L IU1l1riBBBL
C to RHaHHRil+' B
H a XXXXXXXX
C 10 1I1.tl.ll.tl.tdDIH L
C 10 ~ B
It H .' XXXXXXXX B
La LLLLLLLL 10 C L IiHHBBHBB 10
a a BHBBHBBB L C 10 L~LL a
---------------------------~-~~~-----~----HSBBBHBB
LLLLLLLH
XXXXXXXX.
LLLLLLSH
xxxxxxxx
LLLLLmII'J
f.:~=
10
X
10
x
10
x
L
X
L
x
L
X
10
x
L
L
10
10
x
x
X
x
X
x
x
X
L
X
L
10
10
L
X
10
C
C
C
10
10
10
10
L
10
L
10
L
L
L
10
10
L
10
L
L
10
L
L
PASS
+SIMDIA'l'E
01 C0111111110XORLLLLLLLL01
02 C010QOOOO01XOBIJ.T.I.tJJ.HX1
03 C1XXXXXXXX1XORLLLLLLEL01
04 C0110000001XOHLLLLLLHRX1
os C1XxxXXXXX1XORLLLLLRLL01
06 C0111000001XOHLLLLLHRHX1
07C1XXXXXXXXlXORLLLLHLLL01
08 C0111100001XORLLLLHHBBX1
09 C1XXXXXXXX1XORLLLaLLLL01
10 C0111110001XOHLLLBBEBHX1
11 C1XXXXXXXX1XORLLRLLLLL01
12 C0111111001XOHLLHBBHBBXl
13 C1XXXXXXXX1XOBLBLLLLLL01
14 C0111111101XOBLBHBBHBBX1
15 C1XXXXXXXX1XOHHLLLLLLLOl
16 C0111111111XOLmmBBBBBOl
17 C1xxxXXXXX1XOHLLIoLLLLLOI
18 .eOl11~11111XOI,eHHHHHHHOl
19 COOIIil1111XOBBH~X1
20 C010111111ixoHHHHHHi!l,1IX1
21 COII0111il1XOBHBHBaLHBxl
22 CQ111011111XOBBHHBLBBBX1
23 C0111tOl111XOBBBBLHBBBX1
24 c0111110111xOHHB~1
25 C0111111011XOBBLHBBHBBX1
26 c01il1111PlXoBi.mmmmsxl
27 COllll11111XOt.!!HeHBH Ai101
28 crixxXXXxxXOXOHLLLLLLLLXl
29 ClxXxXXXXXlXOriLLLLLLLBOl
30 CIXXXxxxxxlXOHLLLLLL~Ol
31 CIXXXXXXlOC1XOHLLLI4BHP1'
32 C1XXXXxXXX1xoijLLLL~01
33 COOl,UlllllxpmpduWBSLXl
34 C1xxxx~lxOLijB~Dl
35 C1XXXXxxxXIXOBBH~11
36 CI00QooooogipLBBBBimBBD1
37 CllllllllllXOBLLtLIitt.;.0l
PASS
+
7·1
Programmable Array Logic Family
PA~Series 20
U.S. Patent 4124899
Features/Benefits
• Programmable replacement for conventional TTL
logic.
• Reduces Ie inventories substantially and simplifies
their control.
• Reduces chip count by 4 to 1.
• Expedites and simplifies prototyping and board
layout.
Saves space with 20-pin SKINNY DIP'"' packages.
• High speed: 25ns typical propagation delay.
• Programmed on standard PROM programmers.
• Programmable three-state outputs.
• Special feature reduces possibility of copying by
competitors.
Description
The PAL family utilizes an advanced Schottky TTL process and
the Bipolar PPOM fusible link technology to provide user programmable logic for replacing conventional SSI/MSI gates and
flip-flops at reduced chip count.
The family lets tht~ systems engineer "design his own chip" by
blowing fusible links to configure AND and OR gates to perform
his desired logic function. Complex interconnections which
previously required time-consuming layout are thus "lifted" from
PC board etch and placed on silicon where they can be easily
modified during prototype check-out or production.
The PAL transfer function is the familiar sum of products. Like
the PROM, the PAL has a single array of fusible links. Unlike the
PROM, the PAL is a programmable AND array driving a fixed
OR array (the PROM is a fixed AND array driving a
programmable OR array). In addition the PAL provides these
options:
• Variable input/output pin ratio
• Programmable three-state outputs
• Registers with feedback
• Arithmetic capability
March 1981
PART
NUMBER
PKG
PAL10H8
PAL12H6
PALHH4
PAL16H2
PAL 16Cl
PAL10L8
PAL 12L6
PAL 14L4
PAL 16L2
PAL 16L8
PAL16R8
PAL 16R6
PAL16R4
PAL16X4
PAL16A4
N,J.F
N,J.F
N,J,F
N,J,F
N,J,F
N,J,F
N,J.F
N,J,F
N,J,F
N,J.F
N,J,F
N,J,F
N,J,F
N,J
N,J
DESCRIPTION
Octal
Hex
Quad
Dual
Octal
Hex
Quad
Dual
Octal
Octal
Hex
Quad
Quad
Quad
10 Input And-Or Gate Array
12 Input And-Or Gate Array
141nput And-Or Gate Array
161nput And-Or Gate Array
16 Input And-Or/ And-Or-Invert Gate Array
10 Input And-Or-Invert Gate Array
121nput And-Or-Invert Gate Array
141nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or-Xor Gate Array
161nput Registered And-Carry-Or-Xor Gate
Unused inputs are tied directly to VCC or GND. Product terms
with all fuses blown assume the logical high state, and product
terms connected to both true and complement of any single
input assume the logical low state. Registers consist of D type
flip-flops which are loaded on the low to high transition of the
clock. PAL Logic Diagrams are shown with all fuses blown,
enabling the designer use of the diagrams as coding sheets.
The entire PAL family is .programmed on inexpensive conventional PROM programmers with appropriate personality and
socket adapter cards. Once. the PAL is programmed and verified, two additional fuses may be blown to defeat verification.
This feature gives the user a proprietary circuit which is very
difficult to copy.
Ordering Information
~
f-I
1[=="
PROIlRAM..
H~
L ~
C~
x ~
A~
ACTIVE HIGH
ACTIVE LOW
COMPLEMENTARY
EXCLUS.IVE-OR REGISTERED
ARITHMETIC REGISTERED
IEJ
1
11 j 1] ~
!
".
~.ABLE ARRAY LOIlIC FAMILY
:~~:~~ ~:p:RRAY INPUTS
NUMBER OF OUTPUTS
TEMP.ERATURE RANGE
C'" DC TO +75C
I
PA:~::~ T.O +12.5C
I
,
(CASE TEMPERATURE)
N ~ PLASTIC DIP
J ~ CERAMIC DIP
F ~ ~LATPACK
OPTIONAL HI-REL PROCESSING
883B -= MIL-STO-883, METHOD 5004 & 5005 LEVEL B
8.83C MIL-STD-883, METHOD 5004 & 5005 LEVEL C
B ~. MIL-STD-883, METHOD 5004 EaUIVALENT
PAL 14 L4 CJ8838
PAl:jj' is a registered trademark of Monolithic Memories
1165 East Arques Avenue. Sunnyvale. CA 94086 Tel: (408) 739-3535 TWX: 910-339-9229
7-2
MonolIthIc ~T!II
MemorIes InJlW
PAL Series 20
PAL10H8
PAL12H6
PAL14H4
PAL16H2
PAL16C1
PAL10L8
PAL12L6
PAL14L4
PAL16L2·
PAL16L8
PAL16R4
PAL16X4
PAL16A4
PAL16R8
PAL16R6
7-3
PALS.rl.. 20
Absolute Maximum Rating.
Operating
~~~I~~i~::e:~~. :::: :::::: ::::: :::: :::::::: ::: :::::::::::::::::::::::::::::::::: :::::::;::::::: ::::::: :::::::: '5:5~
>.................. .......... ',' ..........
Off-state' output Voltage' :~ .• , ...................... ',' .......•.........•..
~'
5.5V
Storage·temperiitur~'.,,, ...............:......................................................... ;., .. '........., -65. to +1SO·C.
Operating COQditions
"
SYMBOL
"
vec
tw
tsu
MILITARY
MIN TYP MAX
'PARAMETER
' SlJl'Ply
voltage>
16RS
input or.feedb!:lCk
'16X4 16A4
.; 5
5
.25'
10
25
10
25
10
25
10
45
25
55
30
-15
35
45
30
I" High
Set up time fr0tn
,
,.'
1"4.5
low
Width Qfclock
, COMMERCIAL
UNIT
MIN ,TYP MAX
16R6 16R4
th
Hold 'time
0
TA
Operating free;.air temperature
-55
TC
Operating case temperature
.5.5
.
4.75
5.25
ris
25
0
-15
0
5
V
ns
ns
75
·C
·C
125
Electrical Characteristics Over Operating Conditions
SYMBOL
*
VIH *
Vil
PARAMETER
TEST CONDITIONS
MIN TYP
low"Ie:~el input voltage
High~level
O,S
2
input voltage
V
V
VCC = MIN
VCC = MAX
VI = 0.4V
-0.02 -0,25
mA
IIH
t
High-level inpUl current t
Vee = MAX
VI = 2.4V
25
pA
II
Maximum inp'ut current
Vec = MAX
VI = 5.5V
1
mA
III
low-Ie¥el input 6urrent
.'
VOL
II = -lSmA
low-level output voltage
Vee = MIN
VOH
High-level output voltage
Off-state output current
t
10ZH
lOS
Vil
= O.SV
VIH
= 2V
Vee = MAX
10Zl
Outpuishort-<;ircuit current
-O.S
OHS. 12H6, 14H4
Mil·
10l = SmA
Vee = MIN 16H2,16Cl.l0lS
12l6, 14l4. 1612 COM
=
O.SV
Vil
16RS
16lS
Mil 10l - 12mA
VIR = 2V
16R6
16R4
16A4 eOM IOl = 24mA
16X4
...
**
Yll
=O.SY
V,H
= '2N
Yc.e
= 5V
I'
0.3
,
I.ee
Supply current
10H
c'
Vo
=6\w
-100
pA
YO
= 2.4Y
100
pA
-70
-130
mA
55
90
l6lS c,
16RS
16R6
16R4
.,16X4
16A4
"
-30
. 16R4. 16R&; '16RS,' 1618
16M
'
.
"
I/O pon leakage os Ihe \"Iorsl.case of 10ZX or IIX e.g,,'IIL and 10Z/oI'
Aillypical values are at VCC'= SV. TA = 2S·C.
• These are abso'jule v<)llages wil.hrespecl 10 pin 10 on ihe devi,ce arid includes all overshllOls due Ii> system and/or leSler noise,
Do notattempl to test theSe values wilhout suitable' equipment.
* * Only one output shorted at a lime.
7-4
2.S
V
-3.2mA
Vo = OY
,;
,,16X4
V
eOM
2.4
'.'
0.5
V
IOH = -2mA
10lS, 12l6.14l4, 16L2
Yee = MAX
-1,5
Mil
10HS, 12H6. 14H4.16R2.16:el
tt
UNIT
Input clamp voltage
VIC
t
MAX
.'
120
"
180
160
225
'170
240
mA
PAL Series 20
Switching Characteristics
OVer Operating Conditions
SYMBOL
MILITARY
MIN TYP MAX
TEST
CONDITIONS
PARAMETER.
COMMERCIAL
MIN TYP MAX
UNIT
10Ha 12H6 14H4
Input to
tpo
1414
output
Input or feedback to output
tpo
Al = 5600
R2 = 1.lkO
16H2 lOla 12L6
1612
25
45
25
35
16Cl
25
45
25
l6R6 16R4 16la
16X4 16A4
25
45
25
40
35,
30
45
30
40
ns
ns
tClK
tpZy
Clock to output or feedback
15
,25
. 15
25
ns
Pin 11 to output enable
25
15
25
ns
tpxz
Pin 11 to output disable
Rl =2000
15
15.
25
15
25
ns
R2 =3900
25
25
35
30
45
45
30
ns I
25
45
25
40
35
30
45
30
40
.
'.,
.'
tpz X
Input to
output enable
16R6 16R4 16la
16X4 16A4
tpxz
Input to
output disable
l6R6
fMAX
16R4 16La
16X4 16A4
16Ra
Maximum
frequency
'.
16R6' 16R4
16X4, 16M
14
25
16
25,
12
22
14
.22
:; ..
ns
MHz
Test Load
Available ;P~ogl'ammers
5V
OUTPUT
MANUFACTURER
o--+---.--tel TEST .POINT
Oata 1/0 Corporation
PERSONALITY' SOCKET ADAPTER
'CARD SET
.CONFIGURATION
900-1427
"
Sch~matic
Pro-log Corporati,on
PM9068
Stag SYstem~
PM202
of Inputs and Outputs
EQUIV~LENT INPUT
Vci:o-,---~..--~~
,
TYPICAL OUTPUT
-~='=;:':':"::":'_-ovcc
.
4OJ! NOM
INPUTo-..-f---KH-
"
,
Structured Design
5020/24
7151428'-1
7151428'-2
715 1428'-3
AM10Ha
AM12H6
AM)4H4
AM.16H2
AMl6Cl
AM10l8
AM12l6
AM14l4
AM16l2
PAL Series 20
Programming
PAL fuses are programmed using a low~voltage linear-select
procedure which is common to all15 PAL types. The array is
divided into two grOups, products thru 31 and products 32 thru
63, for which pin identifications are shown in Pin Configurations
below. To program a particular fuse, both an input line and a
product line are selected according to the following procedure:
°
Step 5 Program the fuse by pulsing th~output pins, 0, of the
selected product group to V IHH as shown in Programming Waveform.
Step 6 Lower VCC (pin 20) to 6.0 V
Step 7 Pulse the CLOCK pin and verify the output pin, 0, to be
Low for active Low PAL types or High for active High
PAL types.
Step 8 Lower VCC (pin 20) to 4.5 V and repeat step 7.
Step 1 Raise Output Disable, 00, to V IHH
Step 2 Select an input line by specifying '0, ' 1, '2' '3, '4, ' 5 , '6' '7
and L/R as shown in Table 1.
Step 3 Select a product line by specifying AO' A1 and A2 on~of
eight select as shown in Table 2.
Step 4 Raise VCC (pin20)toV,HH
°
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
16
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
IS
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L·
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
14
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
13
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
11
12
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
Table 1 Input Line Select
7·6
To prevent further verification, two last fuses may be blown by
raising pin 1 and pin 11 to Vp. VCC is not required during this
operation.
L/R
PRODUCT
LINE
NUMBER
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
0, 32
1,33
2, 34
3, 35
4, 36
5, 37
6, 38
7, 39
8, 40
9,41
10, 42
11,43
12,44
13,45
14, 46
15,47
16,48
17,49
18,50
19,51
20, 52
21,53
22, 54
23, 55
24, 56
25, 57
26, 58
27, 59
28, 60
29,61
30, 62
31,63
PIN IDENTIFICATION
17
This procedure is repeated for all fuses to be blown (see
Programming Waveforms).
L = Low-level input voltage, V,L
H = High-level input voltage, V,H
Voltage Legend
INPUT
LINE
NUMBER
Step 9 Should the output not verify, repeat steps 1 thru 8 up to
five (5) times.
10
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH = High-level program voltage, V,HH
Z = High impedance (e.g., 10k!} to 5.0V)
PIN IDENTIFICATION
03
02
01
00
A2
A1
AO
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
HH
HH
HH
HH
Table 2 Product Line Select
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
HH
Z
HH
z
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
HH
Z
HH
PAL Series 20
Pin Configurations
PRODUCTS 0 THRU 31
Programming Parameters
SYMBOL
TA = 25°C
PARAMETER
Program-level input voltage
VIHH
PRODUCTS 32 THRU 63
MIN
LIMITS
TYP
11
11.5
Output Program Pulse
Program-level input current
IIHH
00, UR
ICCH
Program Supply Current
Tp
Program Pulse Width
10
to
Delay time
100
tov
Delay Time to Verify
100
Ip
Verify-Protect-input current
Tpp
Verify-Protect Pulse Width
12
V
50
25
mA
400
50
20
20
mA
IlS
ns
11 5
Program Pulse duty cycle
Verify-Protect-input voltage
UNIT
5
All Other Inputs
Vp
MAX
21
25
22
%
400
mA
50
msec
V
Programming Waveforms
00
VIL
VIHH--~~-r-~------------------------------------------------------------------~
I. L/R. A VIH
Vce
VIHH
VOH
a
VOL
VIH
CLOCK
VIL
7·7
6
PA.L
PAL DESIGN SPECIFICATION
PART NUMBER
I
USER'S PART NUMBER
NAME
REV
L
DATE
TITLE
COMPANY, CITY, STATE
PIN 1
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
PIN 7
PIN 8
PIN 9
PIN 10
PIN 11
PIN 12
PIN 13
PIN 14
PIN 15
PIN 16
PIN 17
PIN 18
PIN 19
PIN 20
GND
VCC
EQUATIONS
Description
LEGEND:
= EQUAL
:= REPLACED BY
+
*
OR
AND
F 110
7·8
:+:
: *:
XOR
XNOR
I
(
)
COMPLEMENT
THREE-STATE
FUNCTION
TABLE
PIN A
PIN B
PIN C
PIN D
PIN E
PIN F
PIN G
PIN H
PIN I
PIN J
PIN K
PIN L
PIN M
PIN N
PIN 0
PIN P
PIN Q
PIN R
;
COMMENT
- -- -- -- -- -- -- -- - -- -- --
; -A
- BCDE'FGH
~
-- - -- -'
COMMENT
JKLMNOPQR
------.-----~----------------------------------------------------------~---
-- -- -- -- -- -- -- -- -- -- -- -- -- -- --, -- -- --- -- -- -- -- -- -'- -,- -'- -- --
~
- -
-"- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --,
-- -- - -- -- -- -- -- -- -- -- -- -- ,--,-- -- ----- -- -,- -- -- -- -- -- -- -- - -- -- -- - -- -- --- -- -- --'-' -- -- -- -- -- -- -- -'-'- -- -- -- -- -- -,
,
-- -- -- -- -- -- -- -- -- -- -- -- - '--"- -- --' --- -- --' -- -- -- - -- -- -- -- -- -- -- -- ----- -- -- --' .- -- - --' -,- -- -- -- -- -- -- - -- --- -- --- --- -- -- -- -- -- -- -- -- -- -- ----
-
-,.-
----------------~------------~------------------------~--~-----~----------~-
LEGEND:
H
L
HIGH
C CLOCK
LOW
X
F 109
z
OFF
IRRELEVANT
7-9
Programmable Array Logic Family
PAC Series 24
U.S. Patent 4124899
Features/Benefits
• Programmable replacement for conventional TTL logic.
• Reduces IC inventories substantially and simplifies their
control.
• Reduces chip count by 5 to 1.
• Expedites and simplifies prototyping and board layout.
• Saves space with 24-pin SKINNYDIP'· packages.
• Programmed on standard PROM programmers.
• Programmable three-state outputs.
• Special feature reduces possibility of copying by competitors.
Description
The PAL Series 24 family complements the PAL Series 20 family
by providing two additional inputs and two additional outputs,
allowing more complex functions in a single package. This new
family is made feasible by the Monolithic Memories new and
revolutionary 24-pin SKINNYDIP'".
In addition to providing more logiC function per chip, 24 pins
allows for many natural functions which were previously unavailable in skinny 300 mil-wide packages. Examples include:
•
•
•
•
•
8-bit parallel-in parallel-out counters
8-bit parallel-in parallel-out shift registers
16-Line-to-1-Line Multiplexors
Dual 8-Line-to-1-Line Multiplexors
Quad 4-Line-to-1-Line Multiplexors
These natural functions provide twice the density of traditional
16-pin packages.
The PAL family utilizes an advanced Schottky TTL process and
the Bipolar PROM fusible link technology to provide user
programmable logic for replacing conventional SSI/MSI gates
and flip-flops at reduced chip count.
The family lets the systems engineer "design his own chip" by
blowing fusible links to configure AND and OR gates to perform
his desired logiC function. Complex interconnections which
previously required time-consuming layout are thus "lifted" from
PC board etch and placed on silicon where they can be easily
modified during prototype check-out or production.
The PAL transfer function is the familiar sum of products. Like the
PROM, the PAL has a single array of fusible links. Unlike the
PROM, the PAL is a programmable AND array driving a fixed OR
array (the PROM is a fixed AND array driving a programmable
OR array). In addition the PAL provides these options:
• Variable inpuVoutput pin ratio
• Programmable three-state outputs
• Registers with feedback
7·10
PKG
PAL12L10
PAL14L8
PAL16L6
PAL18L4
PAL20L2
PAL20C1
PAL20L 10
PAL20X10
PAL20X8
PAL20X4
J.N
J.N
J,N
J,N
J,N
J,N
J,N
J,N
J,N
J,N
DESCRIPTION
Deca
Octal
Hex
Quad
Dual
Deca
Deca
Octal
Quad
121nput And-Or-Invert Gate Array
141nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
181nput And-Or-Invert Gate Array
20lnput And-Or-Invert Gate Array
20 Input And-OrlAnd-Or Invert Gate Array
20 Input And-Or-Invert Gate Array
20 Input Registered And-Or-Xor Gate Array
20 Input Registered And-Or-Xor Gate Array
20 Input Registered And-Or-Xor Gate Array
Unused inputs are tied directly to VCC or GND. Product terms
with all fuses blown assume the logical high state, and product
terms connected to both true and complement of any Single input
assume the logical low state. Registers consist of D type flip-flops
which are loaded on the low to high transition of the clock. PAL
LogiC Diagrams are shown with all fuses blown, enabling the
designer use of the diagrams as coding sheets.
To design a PAL, the user writes the logiC equations using PAL
DESIGN SPECIFICATION standard format (F108). This specification may be submitted to Monolithic Memories where it is
computer processed and assigned a bit pattern number, eg
P0123. Monolithic Memories accepts the PAL DESIGN SPECIFICATION in one of the three forms:
1. Computer generated listings.
2. Typed or hand-written forms F1 01 and F108.
3. Direct on line data transmission to Monolithic Memories
Timeshare computer system via telephone (local telephone
network to major U.S. cities, London and Paris) or TWX
online Boston TWX No.).
The entire PAL family is programmed on inexpensive conventional PROM programmers with appropriate personality and
socket adapter cards. Once the PAL is programmed and verified,
two additional fuses may be blown to defeat verification. This
feature gives the user a proprietary circuit which is very difficult
to copy.
Ordering Information
PROGRAMMABLE ARRAY LOGIC FAMILY
~-----NUMBER
OF ARRAY INPUTS
,------OUTPUT TYPE
L =ACTIVE LOW
C = COMPLEMENTARY
X = EXCLUSIVE OR REGISTERED
R =REGISTERED
, - - - - - NUMBER OF OUTPUTS
TEMPERATURE
~
"'" "., '""''
l~:t~~!i;'
r
c=
RANGE
OCTO+75C
LEVEL SEE "SCREENING
OPTIONS
PAL20X8CJ 8838
SKINNYDIP is a registered trademark of Monolithic Memories
1165 East Arques Avenue. Sunnyvale, CA 94086
PART
NUMBER
Tel: (408) 739-3535
TWX: 910-339-9229
mmn
•lIIonolll..1I10
emorle. U'1JnJJ
PAL S.rl•• 24
PAL12L10
PAL14L8
PAL20L2
PAL20L10
PAL20X10
PAL16L6
PAL18L4
PAL20C1
PAL20X8
PAL20X4
7·11
PAL Series 24
Absolute Maximum Ratings
Operating
Supply Voltage, vee ", .... , ..... , .. " .... " ........ " .......... , ................... , ... ,"', ....... 7
Programming
.......... 12V
Input Voltage .... ,.,."............................................................................ 5.5V ..... , .... 12V
Off-state output Voltage ............................................................................ 5.5V .......... 12V
Storage temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -65° to +150" C
*
Operating Conditions
VCC
MILITARY
MIN TYP MAX
PARAMETER
SYMBOL
Supply voltage
4.5
I low
40
5
20
30
5.5
COMMERCIAL
UNIT
MIN TYP MAX
4.75
35
5
20
10
25
10
tw
Width of clock
tsu
Set up time
60
38
50
th
Hold time
0
-15
0
I High
TA
Operating free air temperature
TC
Operating case temperature
Electrical Characteristics
SYMBOL
low-level input voltage
VIH
High-level input voltage
VIC
Input clamp voltage
III
low-level input current
IIH
High-level input current
II
Maximum input current
TEST CONDITIONS
t
t
Vee
Vee
Vee
Vil
Vee
High-level output voltage
t
IOZH
lOS
ICC
t
tt
Output short-circuit current
**
Supply current
= MIN
= MAX
= MAX
= MAX
=
= O.BV
= 2V
MIN
= MIN
= O.BV
= 2V
All typical values are at Vee = 5V. T A = 25"C.
7·12
°c
MIN TYPtt MAX UNIT
II
= -18mA
VI = OAV
VI
VI
V
-0.8
-1.5
V
-0.02
-0.25
mA
25
p.A
1
mA
0.5
V
= 2AV
= 5.5V
12l10, 14lB, 1616
1Bl4, 20l2, 20e1
20l10,20X10
20XB, 20X4
10l
V
= BmA
0.3
Mil 10l = 12mA
COM 10l -124mA
= -2m A
Mil
10H
= -3.2mA
COM
Va
= 0.4V
-100
p.A
Vil
= MAX
= O.BV
VIH
= 2V
Va
= 2.4V
100
p.A
Vee
= 5V
Va
= OV
mA
Vee
= MAX
1/0 pin leakage is the worst case of 10ZX or IIX e.g. IIX and IOZH
* Pins 1 and 13 may be raised to 22V max.
* * Only one out-put shorted at a time.
°c
10H
Vil
VIH
Vee
Off-state output current
75
2
Vee
low-level output voltage
lOll
ns
0.8
VIH
VOH
38
Over Operating Conditions
Vee
Val
ns
125
PARAMETER
Vil
V
-15
0
-55
5.25
2.4
-30
2.B
V
-70
-130
12l10, 14lB, 16l6,
1Bl4, 20l2, 20e1
60
100
20X4, 20XB, 20X10
120
1BO
20L10
90
165
mA
PAL Series 24
Switching Characteristics
Over Operating Conditions
PARAMETER
SYMBOL
TEST CONDITIONS
MILITARY
MIN TYPMAX
COMMERCIAL
MIN TYP MAX
UNIT
25
45
25
40
ns
12L10, 14L8,
Input to
tpo
output
R1 = 5600
16L6, 18L4,
R2= 1.1kO
20L2, 2OC1
tpo
Input or feedback to output
35
60
35
50
ns
tCLK
Clock to output or feedback
20
35
20
30
ns
tpzx
Pin 13 to output enable
20
20
35
ns
tpxz
.Pin 13 to output disable
20
45
45
20
35
ns
tpzx
Input to output enable
35
55
35
45
ns
tpxz
Input to output disable
35
55
35
45
ns
fMAX
Maximum frequency
20L 10, 20X10
20X8, 20X4
R1 = 2000
R2 = 3900
10.5
16
Test Load
5V
OUTPUT o-4---<~:') TEST POINT
50pF
Schematic of Il;1puts and Output.
EOUIVALENT INPUT
Vcc 0---'-....-----'-8~0 NOM
INPUT0-_-t----I<(I--t'-
TYPICAL OUTPUT
-----_-ovcc
400 NOM
12:5
16
MHz
PAL 8.rle.:24
Programming
PAL fuses are programmed using a low-voltage linear-select
procedure which. is common to all PAL types. The array is
divided into twp groups, prOducts '0 thru 39 and products 40
thru 79, for which pin identifications are shown in Pin
Configurations below. To program
particular fuse, both an
input line and a product line are selected according to the
following ,Procedure:
a
Step 5 Program the fuse by pulsing the output pins, 0, of the
selected product group to V IHH as shown in Programming Waveform.
StepB Lower VCC (pin 24) to B.O V.
Step 7 Pulse the CLOCK pin and verify the output pin, 0, to
be Low for active Low PAL types or High for active
High PAL types.
Step a Lower VCC (pin 24) to 4.5 V and repeat step 7.
Step 1 Raise Output Disable, 00, to VIHH'
Step 2 Select an input line by specifying 10, 11, 12' 13, 14, 15, IB'
17 , la, 19 and UR as shown in Table 1.
Step 3 Select a product line by specifying Ao, A1 and A2
one-of-eight select as shown in Table 2.
Step 4 Raise VCC(pin 24) to VIHH'
Voltage Legend
INPUT
LINE
NUMBER
a
1
2
:3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
21
28
29
30
31
32
33
34
35
36
37
38
39
l
H
HH
Z
19
18
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
L HH
H HH
To prevent further verification, two last fuses may be blown by
raising pin 1 and pin 13to Vp. VCC is not required during this
operation.
= low-level input voltage, VIL
= High-level input voltage, VIH
= High-level program voltage, VIHH
= I High impedance (e.g. 10K n to 5.0V)
PIN IDENTIFICATION
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
Step 9 Should the output not verify, repeat steps 1 thru a up
to five (5) times.
This procedure is repeated for all fuses to be blown (see
Programming Waveforms).
17
16
15
14
13
12
I,
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
Table 1 Input Line $elect
10 L/R
L
H
L
H
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
Hf.J
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH.
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
Z
Z
HH
HH
PRODUCT
LINE
NUMBER
0,40
1,41
2,42
3,43
4,44
5,45
6,46
7,47
8,48
9,49
10,50
11,51
12,52
13,53
14,54
15,55
16,56
17,57
18, 58
HI,59
20,60
21,61
22,62
23,63
24,64
25,65
26,66
27,67
28,68
29,69
30,70
31,71
32,72
33,73
34,74
35,75
36,76
37, 77
38,78
39,79
PIN IDENTIFICATION
04
03
02
0,
00
A2
A,
Ao
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
Hlil
HH
HH
HH
HH
HH
Z
HH
Z
HH
Z
HH
Z
HH 'Z
HH
Z
HH
Z
Z
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
z·
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
'Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Table 2 Product Line Select
HH
HH
HH
HH
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
HH
HH
HH
HH
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
z
HH
HH
HH
HH
Z
Z
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
HH
HH
HH
HH
Z
Z
HH
HH
HH
HH
Z
Z
Z
HH
Z
Z
HH
HH
HH
HH
HH
HH
HH
Z
Z
HH
HH
HH
HH
HH
HH
HH
HH
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
PAL Series 24
Pin Configurations
PRODUCTS 0 THRU 39
Programming Parameters
SYMBOL
TA ; 25°C
PARAMETER
Program-level input voltage
VIHH
Program-level input current
IIHH
PRODUCTS 40 THRU 79
MIN
LIMITS
TYP
11.5
i 11.75
50
00, L/R
50
Program Supply. Current
Tp
Program Pulse Width
10
to
Delay time
100
tov
Delay Time to Verify
100
Ip
Verify-Protect-input current
Tpp
Verify-Protect Pulse Width
rnA
400
50
/'S
ns
/,S
Program Pulse duty cycle
Verify-Protect-input voltage
rnA
5
ICCH
Vp
V
12
Output Program Pulse
All Other Inputs
UNIT
MAX
%
25
20
20
21
22
V
400
rnA
50
msec
PrOgramming Waveforms
00
VIL
VIHH--+-~+-~~----------------------------
I. LiR, A
VIH
Vce
VIHH
VOH
0
VOL
VIH
CLOCK
VIL
________________________________
~
PAL
PAL DESIGN SPECIFICATION
PART NUMBER
.I
I
USER'S PART NUMBER
REV
DATE
NAME
TITLE
COMPANY, CITY, STA TE
PIN 1
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
PIN 7
PIN 8
PIN 9
PIN 10
PIN 11
PIN 12
PIN 13
PIN 14
PIN 15
PIN 16
PIN 17
PIN 18
PIN 19
PIN 20
PIN 21
PIN 22
PIN 23
PIN 24
GND
VCC
EOUATIONS
DESCRIPTION:
},
LEGEND:
=
:=
EQUAL
REPLACED BY
+
*
OR
AND
F 108
7·16{
:+:
: *:
XOR
XNOR
I
(
COMPLEMENT
) THREE-STATE
.
FUNCTION
TABLE
PIN A
PIN 8
PINC
PIN 0
PIN E
PIN F
PiN G
PIN H
PIN I
PINJ
PIN K
PIN L
PIN M
PIN N
PIN 0
PIN P
PIN Q
PIN R
PiN S
PIN T
PIN U
PIN V
COMMENT
.
,A
COMMENT
8
C
0
F
E
G
H
K
J
L
M
N
--,.----,~----,----
_ . _ _ _ ,...;....o.. _ _ _
.~~.~ ~.--, ~
~
0
P
--
Q
-
STU
V
--- --
-
______
. ___
- - - ~ ---: -
R
,~_.
- - - - -
~
___ _
-
--
---~--.. ~------~--------~--
.
.
.
-------------.-------
--.-,........
----~------~---~...:....;,.;.--
.
.. - - - - -. -.-. - - - - .-. - - - - - -----.
----:--
- -'-'- -
-
--.
--
- - -.- -
--- -
- --
...,...;.,..--.-~......:...--------.--~----------
-------;,'---~---------------
~~----------------------'-
---------------------------~--
..
.
~-.-.-~----~----------.------~-
- --- --'-- -
- -- ------ - --------- .
T
---
--~--~------------~------~--------~-------------------------------------~~-·,·Z OFF
I£GEN8:
H HIGH
CCt::OCK
L
LOW
X
F 107
IRRELEVANT
'l ..17
Hard Array Logic Family
HAL Series 20 Data Sheet
Features/ Benefits
• Gate array equivalent of up to 200 gates.
• Semi-custom solution
• Reduces SSI/MSI chip count greater than 4 to 1.
• Prototype using field-programmable version -
PAL.
• Cost savings up to 40% compared to PAL.
• Security link disabled for design secrecy.
• Test and simulation made simple with PALASM Function
Table.
• Saves space with 2O-pin SKINNYDIp'· packages.
• Power consumption Is directly proportional to logic
complexity.
PART
NUMBER
PKG
HAL10H8
HAL12H6
HAL14H4
HAL16H2
HAL16e1
HAL10LB
HAL12L6
HAL14L4
HAL16L2
HAL16L8
HAL16R8
HAL16R6
HAL16R4
HAL16X4
HAL16A4
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N.F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
DESCRIPTION
Octal
Hex
Quad
Dual
Octal
Hex
Quad
Dual
Octal
Ottal
Hex
Quad
Quad
Quad
10lnput And-Or Gate Array
121nput And-Or Gate Array
141nput And-Or Gate Array
161nput And-Or Gate Array
16 Input And-Qr/ And-Or-Invert Gate Array
10 Input And-Or-Invert Gate Array
121nput And-Or-Invert Gate Array
141nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput And-Or-Invert Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
161nput Registered And-Or Gate Array
16 Input Registered And-Or-Xor Gate Array
161nput Registered And-carry-Or-Xor Gate
Description
The HAL family utilizes standard Low-Power Schottky TTL
process and automated mask pattern generation directly
from logic equations to provide a semi-custom gate array for
replacing conventional SSI/MSI gates and flip-flops at reduced chip count.
The family lets t~,e systems engineer "design his own chip"
by AND and OR gates to perform his desired logic function.
Complex interconnections which previously required timeconsuming layout are thus "lifted" from PC board etch and
placed on silicon where they can be easily modified during
prototype check-out or production.
The HAL transfer function .is the familiar sum of products.
Like the ROM, the HAL has a single array of selectable gates.
Unlike the ROM, the HAL is a selectable AND array driving a
fixed OR array (the ROM is a fixed AND array driving a
selectable OR array). In addition the HAL provides these
options:
•
•
•
•
Variable input/output pin ratio
Programmable three-state outputs
Registers with feedback
Arithmetic capability
Unused inputs are tied directly to VCC or GND. Product terms
with all fuses blown assume the logical high state. and product
terms connected to both true and complement of any single
input assume the logical low state. Registers consist of D type
flip~flops which are loaded on the low-to-high transition of the
clock. HAL Logic Diagrams are shown with all fuses blown,
enabling the designer to use the diagrams as coding sheets.:
To design a HAL,. the user first programs and debugs a PAL
using PALASM and the "PAL DESIGN SPECIFICATION"
standard format. This specification is submitted to Monolithic
Memories where it is computer processed and assigned a bit
pattern number, e.g. P01234.
Monolithic Memories accepts the PAL DESIGN SPECIFICATION
in one of three forms:
1. Computer generated listing.
2. Typed or hand-written forms F109 andF1.10. See example
on pages 6-7 and forms on pages 23-24.
3. Direct online data transmission to Monolithic Memories
Timeshare computer system via telephone (local telephone
network to major US cities, London and Paris) Or TWX
(online Boston TWX no.).
Monolithic Memories will provide a PAL sample for customer
qualification. The user then submits a purchase order for a
HAL of the specified bit pattern number. e.g. HAL14L4 P01234.
See Ordering Information below.
Ordering Information
, . . . - - - - - - - - - HARD ARRAY LOGIC FAMILY
~------- NUMBER OF ARRAY INPUTS
. . . - - - - - - - OUTPUT YPE
H ~ ACTIVE HIGH
L ~ ACTIVE LOW
c" COMPLEMENTARY
R ~ REGISTERED
X ~ EXCLUSIVE.OR REGISTERED
A ~ ARITHMETIC REGISTERED
r-------
NUMBER OF OUTPUTS
TEMPERATURE RANGE
c~
OC TO +7SC
M~
TO +125C (CASE TEMPERATURE)
. . . - - - - - PACKAGE
. N ~ PLASTIC DIP
J ~ CERAMIC DIP
F ~FLAT PACK
OPTIONAL HI-REL PRDCES81NG
r---~--
lr
"
.
r
HAL14
L4
8'~~f~~~T=~
5005 LEVEL B
~~~8-D~~3500s LEVEL c
~ ~ =:t::~g::: =fT~g
== ~g~:~:t:~
BIT PATTERN NUMBER
cJ 8838 P01234
1165 East Arques Avenue, Sunnyvale, CA 94086 Tel: (408) 739-3535 TWX: 910-339-9229
7-18
.
-ssc
""""'thlo on
"morl• • .
HAL Logic· Symbols
HAL10H8
HAL12H6
HAL14H4
HAL16H2
HAL16C1
HAL Series 20
Absolute Maximum Rating.
Operating
Supply Voltage, VCC •....•.......•..............................•............•••..•. , ••. , ••.•...••••..•. " ..•.•.•.•..• 7
Input Voltage .; ........•...........•...•......................... ; ........................••....•••.••.• ,.' •• . • • • • . ..•. 5.!!N
Off-state"output Voltage •.....................................................•...•..•.•..••..
• •...............••• 5.5V
Storage temperature ..............................................................................'.: •...•.... -{is' to +l50'C
Operating Conditions
.
.
. SYMBOL
PARAMETER
tw
,
. 4.5
s'
25
10
25
10
High
25
10
25
10
45
55
25
35
25
30
.,.45
0
30
"
Width of clock
tsu
,.
Set uptime from
16RS
input ot feedback
16X4 16M
16R6
16R4
Hold time
0
TA
Operafing free-air temperature
.,.55
TC
Operating case temperature
th
",
"
CO",MEijCJAL
UNIT
MIN .. T'fP MAX
Low
Supply voltage
VCC
.
MILITARY
MIN TYP MAX
5.5. 4.75.
-Hi
0
5
,V.
: 5.25
',,'
ns
I
ns
-15
' ': 5
ns
'0
75
·C
125
Electrical Characteristics Over Operating Conditions
SYMBQL
.'
V'L*
Low-level input voltage
VIH*
High-level input voltage
V'C
Input clamp voltage
VCC
',L
Low-level input current
VCC: MAX
"H
t
High-Ieyel input current t
: -lSmA
"
V, : O.;4V
VCC: MAX
I,
Maximum input current·
VCC: MAX
Low-level output ,voltage
10HS, 12H6, 14H4
MIL
VCC: MIN 16H2,16Cl,10LS
12L6, 14L4, 16L2 COM
V,L =O.SV
16RS
16LS
MIL
VIH = 2V
16R6
1684
16A4 COM
16X4
.VOL
MIN TYP tt MAX. UNIT
TEST CONDITIONS
PARAMETER
O.S
:
MIN
High-level output voltage
rnA
V,: 2.4V
25
pt.
V,: 5.SV
,1
rnA
VCC = MIN
V,L = O.SV
V,H
"Off-state output ,current
t
'OZH
Output short-circuit current * *
lOS .. '
V'L
V,H
=
o.siI
0.3
10L = 12mA
=2V
COM
IOH = -3.2mA
16R6
1684',
16X4
16M
Va
= O.4V
Va ,;, 2.4V
'
~ICC
1bl.s, 12L6, 14L4, 1~1,.2
".
Supply current
VCC = MAX
"
Va = OV
10H.S,
. , 12H6, 14H4, 161-12,16Cl
.
.
1~R4, lfiJ:~6,
2.S
'.
VCC : ,5V
16RS, 16L8
V '.
. ,
IOH = -2mA
16RS
6.5
IOL = 24mA
MIL
16LS •
V
IOL = SmA
2.4
= 2V
VCC = MAX
'OZL
V
'-O.S -1.5
..
-0.02 ~0.25
'.'.
VOH
V
2
,
-30
~'
V
.. '-100
pA
100
JJA
-70
'::'130
.55
90
$eeTablel
mK
~,,;,
180
"
:"
16X4
,
16A4
t
I Opln!eakageistheworstca·~.eof lozx or, IIX
eg
:
'IL and 'OZH
tf All typical values are at vee =sil. TA =2S'e.··
..
.
'::',
• These are apsolute voltages with respect to pin 10 on the pevlce and.·includes all overshoots due 10 system and/or tester~oise.
Do not attempt to teSt these values 'without suitable eQuipment.
' ".
** Only one output shorted at a time
7.-20
160
225
170
240 ..
rnA
,"
HAL Series 20
11
il
~i
Switching Characteristics
Over Operating Conditions
,'I
,
TEST
CONDITIONS
PARAM~ER
SYMBOL
MILITARY
MIN TYP MAX
COMMERCIAL
UNIT
MIN TYP ,MAX
10H8 12HS 14H4
1SH~
Input to
tpo
10L8
14L4
output
Rt
12LS
R2
1SL2
= 5600
= 1.1kO
25
16C1
tpo
16R616R4
Input·or feedback ~o output
1SX4
16L8
16A4
25
45
35
25
45
25
40
25
3Q
45
25
35
45
3Q
40
ns
ns
tCLK
Clock to output or feedback
15
25
15
25
ns
tpZy
Pi n 11 to output enable
15
~5
15
25
ns
tpxz
Pin 1t to output disable
ns
tplzx
tpxz
fMAX
t6R6 1SR4 1SL8
16X4 16A4
Input to
output enable
' Inpuna
output disable
16R6
Maximum
frequency
16R8
16R4
16X4
15
25
15
25
R 2 "3900
25
45
45
25
3Q
35
40
45
25
35
45
30
40
30
25
30
l6L8
16A4
16R6
16X4
R1 =2000
"
1SR4
16A4
14
25
16
25
12
22
14
22
ns
ns
MH~
Test Load
5V
OUTPUT o--+--~~) TEST POINT
" 50pF
HAL16L8, 16R4
HUM_ER OF
HAl16X4
16R6, 16R8
PRODUCT TERMS
0
1-4
5-8
g;.12
13-,16
17c;20
SChematic of Inputs and Outputs
vcco---.......-
__
INPUTo-~+_-_'KH~
_ T....
Vp
....
IC....
AL
....O:.::U....
TP.;:.IJT~---oVCC
21-24
25-28
29-32
3s.:SS
31,.4Q
41-44
45-48
49-52
53-00,
57-60
61-64 '
99
101
104 '
106
108
110
113
115
117
119
122
124
126
128
131
133
135
97
101
10S
110
115
119
124
128
133
137
142
146
151
155
160
1S4
169
HAl16A4
108
113
117
122
126
131
135
140
144
149
153
158
162
167
171
176
180
"
Table 1.:TypIcaIICC
VI.
Num~r of PfOduct. U I4Id
HAL i''2.'-1(.,
HAL DESIGN SPECIFICATION
PART NUMBER
PW 1'2~4
'2./ t./ !II
USER'S PART NUMBER
T:!:.A~LC
NAME
REV
c:..A-re.OS
DATE
Eo'" "IoI\PL.E
TITLE
MO\.JO'-''T~c..
.....~O«AEc..,
c.A'-'\~oe""IA
COMPANY, CITY, STA TE
C
D
PIN 1
PIN 2
\J
~
PIN 6
PIN 7
J
"'-
PIN 11
e:-
F
PIN 12
M
PIN 5
PIN 3
PIN 4
1:
GND
PIN 8
PIN 9
PIN 10
\..
12-
PIN 13
PIN 14
0
PIN 15
\-\
Eo
'&
A-
VCC
PIN 16
PIN 17
PIN 18
PIN 19
PIN 20
EQUATIONS
~
~ \N'I6a.'T&Q.
-/A
e-=-c.·O
; At-JO
\-\:1=+0.
')
On.
)
t-J,..uo GATe.
o '= 1t-I\ iii'- l).l
;
~oa.
Grp."'te
2 "'P~/Q + Ip~Q
')
Xoa.
~A"Te
\... '=
/1 +/J +
I~
~
G~
DESCRIPTION
\~t:.
e...,c...c..-~c-e
~S\C.
LEGEND:
\ ~U ..,caA'"t'6S
~~c.
"To I ""'-PUS~e.e-sr
c...A.""t&S.
EQUAL
: = REPLACED BY
+
*
OR
AND
F 110
7·22
AeeA'i
:+:
: *:
XOR
XNOR
/
(
)
COMPLEMENT
THREE-STATE
FUNCTION
TABLE
A
l!>
PIN A
PIN B
a.
J:
t:::.
'-
PIN K
1>
PIN M
~o
en..
UAWQ
;..A. e. E-
~ .§.. .J!... ~
!:i
PIN N
0
PIN 0
PIN R
...,0. .
"OR.
A ~ d.. "'" ~ ~ ~ ...2- ~ ~
ABCDEFGH
J
PIN J
g
C\
PIN Q
COMMENT
PIN E
:1
PIN I
M.
PIN L
PIN P
,""'"
PIN H
e.
t)
PIN D
H
PIN G
PIN F
;
C
PINC
2-
COMMENT
IJKLMNOPQR
~~~~~X.~~~~~~X~A~~~
~~~~~AAAA~A~~A~~~~
~~~~~L~~AAA~~~A~~~
~~~~~~~~AA~~AA~A~~
A~~h~~AAA~AAAA~~~1
A~o
~X~~~XX~~~~A~AbAA~
XAAA~~~~AA~~~~~1~~
A~AL~~~A~~X~~~~~~~
~AA~A~~~AA~~X~XX~~
02.
~~~X~~~i~~~~~AA~~~
02
A~~~~X~~~~~~AXAAXX
~&A~AK~~~~~~~~X~~X
~~AA~i~A~~~~~~X~AX
X&~~1~~~~~~A~~ALA~
A~A1~A~A~~~~~XAAXX
~K~~~AX~Xg~A~~Ax~~
~~XXA~XKX~A~~~~X~~
~~A~~AXAX~~X~~~~~X
~~~~A~~~AA~~~~~~~~
~~~AA~~~~X~~~X~~~~
---------------~--------:-------- ...... -----------~--------'--- ..... ------------~-...:.:.... -'~~.;.
LEGEND:
Z
OFF
H HIOH
C CLOCK
.
X IRRELEVANT
L LOW
7;023
Not••
., i.A
HAL Series 20
Logic Diagram HAL 1 OHa
INPUTS (0-31)
0123
1
45
, 9
121l
1617
2021
2425
2B2g3031
I
.
~
•
~
1
19
"1
2
....
,
,......,
3
18
~
9
...
...
17
16
11
4
...
en
15
14
:::iE
25
a::
w
~
~
o
c
5
-
....
:::)
o
a::
Q.
,......,
32
15
33
6
...
~
4.
14
41
7
.
...
~
13
48
49
8
...
12
"
5)
9
...
11
L
""4
0123
4 S
, 9
1213
1617
2021
2425
282930]1
..
AI!'
HAL Series 20
Logic Diagram HAL 12H6
INPUTS (0-31)
0123
1
1
4561
·89
1213
1617
2021
24252627
28293031
...
~
.....
...
...
.
,•
10
"
J
~
16
!II
:E
w
lI-
,
...Jt
16
~
~
.
o
::l
o
"
J2
J3
o
a:
a.
17
-E
~
24
25
a:
,
18
, ./
...
.17
4
"""
19
.
.... ~
.....-
40
14
41
1
.....
~
~
48
49
50
.,
9
"""
13
;/
."
8
I
..
....~
\
111::
.
...
....
...
0123
4561
89
1213
1611
2021
242lH621
28Z93031
11
11
HAL Series 20
Logic Diagram HAL 14H4
INPUTS (0-31)
...
2
...
3
012 J
....
1
4561
B 91011
1213
1617
20212223
24252627
28293031
....
...
...
19
~
4
...
.
~.
P'
16
17
17
"
./
19
5
.
18
P'
U)
:IE
a:
w
~
24
16
15
~
Z6
27
~
-:1-./
(J
::;)
Q
oa:
Il.
......
32
J3
34
35
6
~
......
42
43
9
15
""
14
....
41
8
""
./
...
"
7
,
~
.....
J
13
"'"
....
11
...
"'"
....
...
...
0123
4567
891011
1213
16-17
20212223
24252627
282930Jl
"'"
11
HAL Series 20
Logic Diagram HAL 16H2
INPUTS (0-31)
1
2
...
0123
4567
891011
121314151617181920212223
-2425262'7
28293031
...
...
~
~
...
3
O"
,
I'
4C.
18
'"
...
...
....
17
14
25
"
"
27
28
II)
:E
30
IX
W
l-
5
t::l
...
...
""
16
"'
15
./
31
J2
lJ
34
Q
35
o
"
"
./
37
IX
38
Q.
G
.
....
O"
7
8
•
...
....
...
13
'"
......
....
I'
'"
.
....
12
'"
....
~
o1
2 J
4 5 6 1
8 91011
12131415
16111119
l0212223
24252621
28293031
11
HAL Series 20
Logic Diagram HAL 16C1
1
.
2
.
3
4
INPUTS (0-31)
(1123
4 S6 7
8111(111
12131415
1611181920212223
242!i2621
"28293031
~
...
C
...
19
....
....
18
....
17
...
....
...
...
....
24
15'
"
27
28
5
..
"
30
It
16
...
T
1
15
"
"36
31
J4
17
38
30
6
....
...
14
....
\
7
8
....
....
13
....
,
.....
'
....
12
,
"
9
po
(I
I 2 J
4 5 8 J
8 11011
12 1:11415
111 \11819
Z!U12Z23
24252&21
28 Z9 lD3:1
-.....
11
7-29
HAL Series 20
Logic Diagram HAL 1 OL8
INPUTS (0-31)
0123
1
45
, 9
1213
1611
2021
2425
ZUllO]!
....
~
,
19
1
2
..
--1
•
~
18
.~
17
9
3
..
..
"'-----I
""
•
~
...
~
16
24
"
5
....
15
32
"
6
.
~
.,.
I.
40
41
1
.
~
,
49
8
~
..
....~
r-.
""
9
13
~
48
12
~,
....
11
---1
""
01 Z 3
.........
4!i
'9
1213
1611
2021
2425
28293031
HAL Series 20
Logic Diagram HAL 1 2L6
INPUTS (0-31)
0123
1
...
2
...
4
r.
61
89
1213
1617
2021
24252627
28293031
I
~
....
...
J
8
9
10
11
3
18
./
~
...
,
"
17
4
.
19
17
.
16
24
Z5
!II
:i!
a:
w
~
5
ti:::l
....
...
a:
0..
6
..
:>:
i-< ~.
40
41
7
15
~
31
33
o
o
...
..
~
~
48
I
13
49
J
50
51
8
9
14
.
.. .:>:
...
12
...
11
...
-it.
...
0123
4 S. 67
89
1213
1617
2021
24252621
28293031
...
HAL Series 20
Logic Diagram HAL 14L4
INPUTS (0-31)
1
...
,
...
3
....
G 1 Z 3
4567
891011
1213
1611
20212223
24252617
:'8293031
...
....
~.
....
...
~
,
...
..c:
~
~
~
I
5
18
"'"
~
16
11
18
19
e.
..
19
11
./
...
VI
:::iii
~
24
15
II:
W
....
t;
16
"
16
.
./
~
......
::J
Q
oII:
D.
31
.
l3
"
lS
,
.
15
~
"41
41
-:J.-.-,/
'3
1
...
..
8
...
....
,
...
...
...
...
0123
4567
891011
1213
1617
20212223
24252621
I
28293031
"
13
...
"
....
11
...
HAL Series 20
Logic Diagram HAL 16L2
INPUTS (0-31)
o
1
2
3
•
...
...
...
1 2 3
4 5 6 7
8 9 1011
12131415
16171819
2021
a,n
24252627
28293031
I
~
~
JC:
...
19
~
....
....
....
....
...
.....
...
18
17
24
15
16
~
17
18
~
II:
W
5
lI-
.
16
../
19
30
CI)
31
~
31
U
33
34
35
36
:::>
o
"-
15
....
....
,
.....
....
13
.....
....
....
o
../
3J
II:
38
Q.
39
6
7
B
9
....
.
....
..
12
11
JC:
~
D 1 23
4567
8 '111111
12131415
16171819
20212223
24252627
211293031
7·33
HAL Series 20
Logic Diagram HAL 16L8
INPUTS (0-31)-11123
4!i 6 7
B 91011
12131415
16111819
20212223
242'52621
28293031
,0
~b-J
2
3
4
5
1
6
7
..
....1---
...:>
,
"
B
~~~
10
12
13
3
19
18
14
15
....
....
.1--~
16
17
>--J
1B
"
2D
21
22
17
23
4
...
...:>
c:.r-24
~;-J
25
"
27
""
"
I/)
::E
w
3D
a:
....
....
16
5
o
::;)
c
...
....
.r-~
32
b-J
,,""34
o
16
a:
31
Q.
3B
39
6
..
h
.r-40
41
42
~
43
7
.
..
44
~
45
f---;
"
~
41
~
.
51
52
53
"
55
14
..." I - - 13
..... r - -
.
h
~"
"
"
~
57
58
6D
61
62
h
f--'
~~
"
9
J
....
........
~
4B
8
15
"
A
...
~
o1
2 3
4 5" 6 1
1 9 lOti
121}1415
16111819
29212223
24252&11
l82,3031
12
11
HAL Series 20
Logic Diagram HAL 16R8
-
INPUTS (0 31)
1
0123
4561
891011
12131415
1617 1819
20212223
24252627
28293031
I""-'
0
I
1
3
4
5
6
rH '.-/
)
1
....~
A
~
...
....
8
9
10
II
11
13
14
15
J
~
t=J
...
........
.~
.Jt
....
'.-/
1U
11
11
....
...
~
~
~
~
)---'
16
17
I'
19
4
:C~
Q~
13
...
--
51
51
53
54
"'./
55
...
~
~
~
41
)
~
s::""4
tll
~
tll
56
5)
58
'j
59
60
r-D
61
62
9
...
)---j
63
>
-<£
""""I
0123
4561
891011
12131415
16111819
20212223
24252627
Q
f---
°l
~
-~
18 293031
7.35
HAL Series 20
Logic Diagram HAL 16R6
INPUTS (0-31)
1
012 ]
4561
891011
12131415
1611
19
2fl212~23
24252627
28293031
•,1
r-J
,
•
••
19
1
~
A
JIi~t---~
,
9
I.
11
1>
1!
I.
I•
J
~r-~
""', /"
....
A
~
~~
16
Il
1.
19
2D
....
r---
""'"
o or--
../
21
"
2!
... ...,
~~
t:...2
J
~
24
""
"
""
'\.
. ./
28
5
..
!1
~
""!4
"!6
""
>- ~
!l
6
..
...
,
4D
41
,
"44
4!
..
,/
45
1
..
4l
.......
~
~
~
~
P1
~
48
49
"""
"
"
~r-
,/
54
8
....
...
,
"
_~b-J
"""
"
9
.
"
62
"
012: 3
4561
• 9 1011
12131415
16171819
20212223
24252127
28293031
.....t----
~
~~
12
~
HAL Series 20
Logic Diagram HAL 16R4
-
INPUTS (031)
1
012 J
4561
891011
12131415
16111819
20212223
24252621
28293031
0
:>-J
1
2
3
4
5
6
7
3
...
.....
"I---
~
•
rJ
9
10
11
12
"
14
J
...
"1-17
18
ar-~
'"
20
21
D
./
,
22
...
18
15
"
"
4
19
"
....
c:
..........
~ °l
""
""
26
f/)
27
2B
:::E
w
3D
31
l-
5
t)
::::l
C
o
a:
~
.....
""
....
~
{t
°l
J
.
.c;
...
""
32
3J
34
J5
,
3B
./
37
ti
..
...
""
"--I
"
41
42
43
44
"'"../
"""
46
48
7
...
""
41
,
.
48
8
...
"55..
~
13
.....
.c;~1---
""
58
57
:r-J
""
eo
81
""
9
....
r-J
50
51
52
~
-Dl
Dl
'"
"
a:
12
;
...
"--I
o1
2 J
4 5 •
7
• 9 1011
12131415
1&11 tilt
211212223
24252621
212.93031'
..... t - - -
~
7·37
HAL Series 20
Logic Diagram HAL 16X4
INPUTS (1).31)
0.'2 1
4
~
6 1
891011
121J1415
1&111819
20212223
24252621
21293031
0
~
1
2
J
,
4
6
2
1
....
""'I
8
9
10
~
11
12
"
14
.......
3
"
16
"
18
;:::-
19
20
21
22
2J
,
r-<
=t:S-
~-,.
"
··,-,c
"'P
~
-t.,J-
28
"
~
18
~~D-~Q
~
~
2S
26
\
19
1~D-
~
~
~
~
~
~
12
II
34
:'~J)-
l5
l&
31
".
~::t-./
19
1-
6
fE
---"
~
~D-Cfl
41
42
43
44
""
47
I
,
~
-vo-"
f~
t:!:f-'r..
.: ,....
4ft
49
~
"
"
"""
""
"
51
8
.......
-.,...,.
~~J
""
61
62
9
7·38
.....
...
13
6l
-.,...,.
012 J
4-!i 61
891011
12131415
16171819
2~21
2223
24252621
282930Jl
12
11
HAL Series 20
Logic Diagram
INPUTS (11-31)
>-------------------------------------------~
"23
4511
8'1111
'213M'.
111'1111
HHHn
unnn
HAL 16A4
nH.~
1.
z ..
...
••
"
11
12
,.
"
t3
3
...
...
l'
11
17
11
"
"
"
21
23
4
1I
~
27
~
28
"
30
11
II)
:I
II:
""
"
5
~
w
l-
t)
~"
::l
.
.
33
Q
0
35
II:
IL
"
"
3.
6
1I
..
41
42
43
44
45
.,
44
7"
~
I
-- ..
""
""
IO
53
• •...
.
54
55
51
'7
51
51
if
.."
II
..
...
EI
HAL DESIGN SPECIFICATION
PART NUMBER
I
USER'S PART NUMBER
REV
NAME
I
DATE
TITLE
COMPANY, CITY, STATE
PIN 1
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
PIN 7
PIN 8
PIN 9
PIN 10
PIN 11
PIN 12
PIN 13
PIN 14
PIN 15
f."'It.., PIN 16
PIN 17
PIN 18
PIN 19
PIN 20
GND
VCC
~II'
EQUATIONS
DESCRIPTION
LEGEND:
= EQUAL
:=
REPLACED BY
+
*
OR
AND
F -110
'7.4n
: +:
: *:
XOR
XNOR
/
(
)
COMPLEMENT
THREE-STATE
FUNCTION
.
TABLE
PIN A
PIN B
PIN C
PIN D
PIN E
PIN F
PIN G
PIN H
PIN I
PIN J
PIN K
PIN L
PIN M
PIN N
PIN 0
PIN P
PIN Q
PIN R
I
COMMENT
1-- C
- - -D- -E- -F- - G
AB
-H- - - - J
COMMENT
-K- -L- - M -N- -0- - P -Q- - R
-~-------------------------------------------------------------------------
-"- -- -- --" -- - -- - - -- -- -- - --
-
-"-
-- --
-- --- -- -- -- -- -- -- -- -- - -- -- -- -- -- --"- -- -- -- -- - - -- -- -- -- -- -- -- -- -- -- --
-
-- -- -- -- -- --- -- -- -- -- -- -- -- -- -- -- -- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -"
"
----"----.-" "--------------------------
-- --"- -- -- -- -- -- -- -- -- -"- - -- -- --- -- -- -- - - --" -- -- -- -- --""
-- -- -- -- -- - -- -- -- --- -- -- ---"...-.-,
"--
---------~-~------------------~-~-~-~--~.~~~~-----------------------------LEGEND:
H HIGH
L" LOW
F 109
C
CLOCK
X
IRRELEVANT
z
OFF
Hard Array Logic Family
HAL Series 24 Data Sheet
Features/Benefits
• Gate array equivalent of up to 300 gates.
• Semi-custom solution
• Reduces SSI/MSI chip count greater than 5 to 1
• Prototype using field-programmable version -
PAL.
• Cost savings up to 40"10 compared to PAL
• Security link disabled for design secrecy.
• Test and simulation made simple with PALASM Function
Table
PART
NUMBER
PKG
DESCRIPTION
HAL 12L 10
HAL 14LS
HAL 16L6
HAL 1SL4
HAL20L2
HAL20C1
HAL20L 10
HAL20X10
HAL20XS
HAL20X4
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
J,N,F
Deca 12 Input And-Or-Invert Gate Array
Octal 141nput And-Or-Invert Gate Array
Hex 161nput And-Or-Invert Gate Array
Quad .1Slnput And-Or-Invert Gate Array
Dual 20lnput And-Or-Invert Gate Array
20 Input And-Or/ And-Or Invert Gate Array
Deca 20 Input And-Or-Invert Gate Array
Deca 20 Input Registered And-Or-Xor Gate Array
Octal 20 Input Registered And-Or-Xor Gate Array
Quad 20 Input Registered And-Or-Xor Gate Array
• Saves space with 24-pin SKINNYDIP'· packages
To design a HAL, the user first programs and debugs a PAL
using PALASM and the "PAL DESIGN SPECIFICATION"
standard format. This specification is submitted to Monolithic
Memories where it is computer processed and assigned a bit
pattern number, e.g., P01234. Monolithic Memories accepts the
PAL DESIGN SPECIFICATION in one of three forms:
Description
1. Computer generated listing.
The HAL family utilizes standard Low-Power Schottky TTL
process and automated mask pattern generation directly from
logic equations to provide a semi-custom gate array for
replacing conventional SSI/MSI gates and flip-flops at reduced
chip count.
2. Typed or hand-written forms F107 and F108. See example on
pages'7-30, 7-31 and forms on pages 7-42 and 7-43.
The family lets the systems engineer "design his own chip" by
AND and OR gates to perform his desired logic function.
Complex interconnections which preViously required timeconsuming layout are thus "lifted" from PC board etch and
placed on silicon where they can be easily modified during
prototype check-out or production.
The HAL transfer function is the familiar sum of products. Like
the ROM, the HAL has a single array of selectable gates. Unlike
the ROM, the HAL is a selectable AND array driving a fixed OR
array (the ROM is a fixed AND array driving a selectable OR
array). In addition the HAL provides thee options:
• Variable input/output pin ratio
• Programmable three-state outputs
• Registers with feedback
• Exclusive-OR gates
Unused inputs are tied directly to VCC or GND. Product terms
with all fuses blown assume the logical high state, and product
terms connected to both true and complement of any single
input assume the logical low state. Registers consist of D type
flip-flops which are loaded on the low-to-high transition of the
clock. HAL Logic Diagrams are shown with all fuses blown,
enabling the designer to use the diagrams as coding sheets.
SKINNYDIP is a registered trademark of Monolithic Memories
1165 East Arques Avenue, Sunnyvale, CA 94086
'7_A"
3. Direct online data transmission to Monolithic Memories
Timeshare computer system via telephone (local telephone
network to major US cities, London and Paris) or TWX
(online Boston TWX no.).
Monolithic Memories will provide a PAL sample for customer
qualification. The user then submits a purchase order for a HAL
of the specified bit pattern number, e.g., HAL 18L4 P01234. See
Ordering Information below.
Ordering Information
. - - - - - - - - - - - H A R D ARRAY LOGIC FAMILY
, - - - - - - - - - N U M B E R OF ARRAY INPUTS
. - - - - - - - - O U T P U T TYPE
L = ACTIVE LOW
C = COMPLEMENTARY
X =EXCLUSIVE-OR REGISTERED
. - - - - - - - N U M B E R OF OUTPUTS
.------TEMPERATURE RANGE
C = OC TO +75C
M = -55C TO +125C (CASE TEMPERATURE)
.------PACKAGE
N = PLASTIC DIP
J = CERAMIC DIP
F= FLAT PACK
.----OPTIONAL HI-REL PROCESSING
BB3B = MIL-STD-BB3,
METHOD 5004 & 5005 LEVEL B
BB3C = MIL-STD-BB3,
METHOD 5004 & 5005 LEVEL C
B = MIL-STD-BB3,
METHOD 5004 EQUIVALENT
C = MIL-STD-883,
METHOD 5004 EQUIVALENT
BIT PATTERN NUMBER
r
HAL 18 L4 CJ 8838 P01234
Tel: (408) 739-3535 TWX: 910-339-9229
16Jnollthlc mt!n
lIIemorles In.In.LI
HAL Series 24
HAL12L10
HAL14L8
HAL20L2.
HAL20L10
HAL20X10
HAL16L6
HAL18L4
HAL20C1
HAL20X8
HAL20X4
7-43
HAL "rl_ 24
Absolute Maximum Ratings
Operlllng Progl'lllMllng
Supply Voltage, vee ................................................................................ 7 .......... 12V
Input Voltage ...................................................................................... 5.5V .......... 12v*
Off-state output Voltage ............................................................................. 5.5V .......... 12V
Storage temperature, ................................................................................... -65° to +150"0
Operating Conditions
VCC
MILITARY
MIN TYP MAX
PARAMETER
SYMBOL
Supply voltage
I Low
COMMERCIAL
UNIT
MIN TYP MAX
4.5
~
40
20
35
5
20
30
10
25
10
5.5
4.75
tw
Width of clock
tsu
Set up time
60
38
50
th
Hold time
0
-15
0
TA
Operating free air temperature
-55
TC
Operating case temperature
I High
Electrical Characteristics
SYMBOL
VIL
High-level input voltage
Input clamp voltage
IlL
Low-level input current
IIH
High-level input current
II
Maximum input current
t
t
Vce
Vee
Vee
VIL
High-level output voltage
Vil
VIH
t
IOZH
Output short-circuit current
**
Supply current
= MIN
= 0.8V
= 2V
12L10, 14L8.. 16L6
18L4, 2Ol2, 20el
= MIN
= 0.8V
= 2V
Vee
= 5V
Vee
!i,
MAX
t
I/O pin leakage is the worst case of 10ZX or IIX e.'g. IIX and 10ZH
7·44
-0.8
-1.5
V
-0.02 -0.25
mA
VI = 2.4V
25
JJA
= 5.5V
1
mA
VI
,2OL10,20Xl0
2OX8,2OX4
10L
= 8mA
0.3
MIL 10l = 12mA
COM 10l = 24mA
0.5
V
IOH
= -2mA
Mil
IOH
=. -3.2mA
COM
Vo
= O.4V
-100
.JJA
Vo
= 2.4V
100
JJA
mA
2.4
VO= OV
2.8
V
-70
-130
12L10, 14L8. 16l6,
18L4,20l2, 20Cl
60
100
2OX4. 2OX8, 20X10
120
180
90
165
2OL10
. tt Alltypical~aluesareatvcc =5V. TA ~ 25°C.
* Pins 1 and 13 may'be raised to 22V milx.
* * Only one output shorted at a time.
V
V
= -18mA
= O.4V
VI
VIH
VIL
II
= MAX
= MAX
= MAX
= MAX
= 0.8V
= 2V
Vee
Off-state output current
ICC
MIN TYPtt MAX UNIT
2
VCC = MIN
Low-level output voltage
10ZL
°C·
·C
0.8
Vce
lOS
75
0
TEST CONDITIONS
VIH
VOH
ns
Over Operating Conditions
Vee
VOL
38
-15
Low-level input voltage
VIH
V
ns
125
PARAMETER
VIC
5.25
-30
,
rriA
HAL Series 24
Switching Characteristics
Over Opel8Ung CondlUons
PARAMETER
SYMBOL
TEST CONDITIONS
12L10, 14L8,
Input to
tpo
output
R1
16L6, 18L4,
R2
2OL2, 2OC1
MILITARY
MIN TYP MAX
= 5600
= 1.1kO
COMMERCIAL
UNIT
MIN TYP MAX
25
45
25
40
ns
tpo
Input or feedback to output
35
6Q
35
50
ns
tCLK
Clock to output or feedback
20
35
20
30
ns
tpzx
Pin 13 to output enable
20
45
20
35
ns
tpxz
Pin 13 to output disable
20
45
20
35
ns
35
35
55
35
45
45
ns
tpzx
Input to output enable
tpxz
Input to output disable
fMAX
Maximum frequency
20L 10, 2OX10
20X8,20X4
R1
R2
= 2000
= 3900
10.5
W
35
55
12.5
16
ns
MHz
Test Load
SV
A1
\lUTPUT
TEST POINT
Schematic of Inputs and Outputs
EQUIVALENT INPUT
VCCQ--.....:..........- - -
IkO NQM
TYPICAL OUTPUT
--""':"''''':''';'-=''.._-oVCC
400 NOM
INPUTQ-.._+----f« .....+_
7·45
HAL ZO)(IO·
HAL DESIGN SPECIFICATION
.PART NUMBER
o
aNT 8C.2
USER'S PART NUMBER
2/78/8'
REV
NAME
DATE
l)~
t)4
NOWA,I- '12~,s""l&
pOMPANY, CITY, STA TE
e'"
1>'2
1)\
po
PIN 3
PIN 4
.1)'5
AIN 2
Ole
07
D6
Ao
PIN 7
PIN 8
PIN 9
. PIN 10
PIN 11
PIN 1
loe
ge
NC
pai
4
PIN 15
PIN 19
PIN 20
PIN 21
PIN 16
Q2.
Q)
PaC)'
PIN 22
PJN23··
lao ~ = I ao ./LO
EQUATIONS
+ loa
/Q?:.
~
OS
PIN 18
vce
PIN 24
QD.
·;LOAO 00
;~Ql
; LOAD O.
Qt
I-OAO 02,",0'-0 Q3
; ,",OLD
t)!.. .. \..0
;
: -/O!> .. /\..o
)
;'-/03 #It-
GND
PIN 12
;Ha...o
LO
tQ\ :=/Gl'''' .fLO
+1 0\ JI. LO
/Q'2. ::/Q~ ,.. /1-0
+/
PIN 6
Q2
(;)7
P
Q4
.' PIN 5
Lo
; LOAD '03
/Q4- :~/G+ ,./\..O
)~1.'D
Q4'
+/1)4.. LD
IQS : =.J Q5 *" / L 0
;L~D
'04-
; \-k)L.t)
QS
; LQA.t)
0'5
+/05.
LO
;"-OLO QCo
+/01....
; LOAD 'O{g
L..O
.;~G7
Icto
+/'07 .... \"D
; \..01\0
01
::r./Q&" / LO
~Ha..O
~/05"
; LC»\D
QS
08
DESCRIPTION:
l\\e wOa.Jt..L.. U6\'a~. as'
\\l~
\F L-OAro L..\a.l6
LEGEND:
:=
7 ..46
A q-'O\T 2l:.E.iIi.Tea.. :!]urr . \...o~ -ntE. 'DA~
I~ SELrCt1!!;o O"n\e(bN,'$6 ~ ~
EQUAL
REPLACED BY
+
*
OR
AND
F 108
:+:
: *:
XOR
XNOR
1
(
02.\UtlJQL 0Al}l..
COMPLEMENT
). THREE-STATE
I
JUNCTION
TABLE
!'r-:--:--:CK
,
oe.
t:n
PIN A
PIN B
PIN C
PIN D
PIN E
D1S>
'04
])3
O~
PI
PIN H
PIN I
I PIN G
as
G7·
I
· PIN M
I
. Q2
I PIN S
Olp
PIN 0
PIN N
00
PIN L.
PIN K
QS
Q4
Q~
PIN P
PIN Q
PIN R
QO
Q\
PIN T
~
PIN J
PIN F
PIN U
PIN V
~-n. Our
'ODtp. \N
COMMENT
~~A~L&AL&AAX~~~~~~~~b_
~.Aahh~~~~~~~L~~~~~~~h~
~
Au....
~A~~~X~XXXAX~h~~k~b~h_
.tb.;O
AU-'~
~AJlA~~A~~AAAAA~~~~~~A_
~'P
ALl-.~
UOLO
A~. 0J.JeS
l~~X~XX~A~~X~~~~~~~~~_
~A&k •. ~~.I ~LA~~"~a~A~d~_
"2'.E£OS
"tEST E\lelJc",lC:iiIr.eoAID
[AAA:A~~:~~~~~&~~h&:~_
"T"E$;' 0t:J0 C"«~
~~---------:--------~:----
EI
-------..---_. ---~------,-.-----------------'~.----
- - ---- - - - - - - - - - , - - - - - - - - --- -
-
-
- - -
-
- - -
---~-- --:--
.
.
--:.- -,~
-
-"- -
-
~
- - - -----,--'--.
.
- - -,-
-"- -
-- -
----~--------
~'-'~
-
-
.
- -
-- -
~,--
-
.
----
---_._'!'-- - - - -
------.. .-----.. .-;...------------:-"-'----------~~---------------...:.------..:..----~-:"'--~7""--.....:;
LEGEND:
H
L
HIGH
LOW
C
X
F 107
CLOCK
IRRELEVANT
Z
OFF
7·47
HAL Series 24
Logic Diagram HAL 12L 10
INPUTS (0-39)
o·
123
45
8 ,
1213
21121
2425
2829
3233
3& 313839
L-b•
-Q-f""
23
-0---1"
~
22
~
21
-0-,
20
..n-
19
---'
1
~
..-0-
,
8
~>
"
11
4
-U-
.2
-
"
25
~----i~
l2
-t}-L.
33
6
~
..
':""~
18
B=D
17
~
16
...n..
-tJ-L.
15
-O-L
41
7
..
49
8
.2
-
"
"
9
.2
""
~>
~
"
~
~
012
7-48
-
-0- -L./
"
1
45
1213
2021
.l"
25
14
13
HAL Series 24
Logic Diagram HAL 14L8
INPUTS (11-39)
0123
4561
89
1213
16
n
2021
24 H
2829
32333435
J611J819
.
~
~
~
,
~
00(
•
3={1
"
11
3
23
22
....."
....2
~-.:5-.J
"
"
21
•
-
24
5
.
6
,
....,
--'"'-]
3J
2
-..... -,'"-
.
-
"
7
..
-Q-;'
-U.
17
-Q-;"-.
18
:>
"
"
1..)-
..
~
..
..
.l""\---I
51
1-t
-{ ' ".
1-t-j.....'
15
.....,.,
"
~~
~
~
11
18
~
..
•
.
2
12
8
20
.......
"
..
2
,
0'
,
1
456'1
,
.
c:
~
1-113
1611
2021
2425
""
123314JS
]6J1l1lt
1.
...
13
HAL Series 24
Logic Diagram HAL 1 6L6
INPUTS (0-39)
o
1
2 1
4
5
6 1
8!1 Hill
1213
1611
2021
2425
282930]1
323334 35
36313839
~
2
23
to..,-
v-
."
....,
41
7
8
...
)k
AI;
;e;:
...
9
19
18
~
....
~
.-rl
10
11
17
16
15
14
13
---I
D 12
J
8
9 1011
12131415
Ifi1J II"
20212223
24252621
21Z93031
12lJ14l5
7·53
HAL Series 24
Logic Diagram HAL20L 10
INPUTS (0-39)
012
J
4,
G I
a
91011
1213141S
1617 1819
10211221
242>2621
2629)031
121114 35
36]1 lBJ9
",
23
r--~t~
-,
,
J
~
.r---
.,
--'"""
J-".-L~
"
-.-
"
22
.....
3
4
--'"""
"
"
"
"
1:'~~
"
"
"
LJ'~
.
"
5
J>
(/)
-<-
JJ
W
tJ.
~:1
L.J .-
"
"
II:
19
6
o
::J
.....
'"
C
o
II:
7
..
;J
=P:=:l"\ N.
"
"
"
C.
.L.J
-
-
14
~
I
o ,
7-54
20
~
::E
lI-
21
1
J
4
~
6
I
I
8
I
9 10 11
12 I) 14 1~
,~ II
18 19
20 21 12 1]
Zq 2, 16 1I
II 19 ]0 31
]1 II 34 1,
16 11 3B 39
13
HAL Series 24
Logic Diagram HAL20X10
INPUTS (0-39)
1
.
0123
456
J
B
9 lOll
12131415
16111819
20212123
24252621
282930Jl
J211J4l5
.-...
......
r-..
......
36373839
,
,
J
-tH-9~
-b--L
Pl~
~DHL
~
~
..
,
...
Pl
~~ ~
Pl
"
"
"
"
~D-t5--!
;::::-
"
3
j(
"
"
"
"
4
5
-t5-L
~
~;::,
~
n~~
"
"
"
JJ
-t""'5--L
~~
~
.
"
=ti=L .
...
.-...
"
7
1;:1.
18
v
~
......
~D...
"
"
~...
"
"
"
;0
...
.
"
"
"
10.
~
~
~D- U]
"
9
...
~
i;:1 20
-vo-----
~
~
~D- U]
i;J.
......
=R:~D-
~
~
-t5--L
>.
~
16
V
~C
~~tfJ:]
~
-
"
.-...-
"
"
"
1-<1
~-
Q
"'"
11
o
1
2 1
4
~
6
J
a
9 10 11
11 13
14'~
II. 11 1119
1011 12 21
24 H 26 27
21 19 ]0 31
31 II J.I lS
36 11 3119
~
~.
HAL Series' 24
Logic Diagram HAL20X8
INPUTS (0-39)
1
II
121
4
~
ti
1
1"011
12131415
16111819
20212223
l' nZ&21
21Z93031
3211M]5
J6313839
D
,
,
,.....
~
J
...
~
.
I
~
-Q-,-9~ :f1]~
.,
"
3
23
~
"
"
"
"
4
;:::::::::
-R-f~D
::Jj:L
:f1] ~
~D
-O-L .
~~
~
"
"
"
~
-
"
~
III
:E
a:
w
t
::::I
C
~D
,.""
"
l-
6
...
o
If
~
...
'";l.
18
~D
&
-
--;J..
-yo-
17
=rL........
16
'";l.
15
~
"
8
"
"
,
"
"
IDD
..
.
,.....~D
9
"
10
Br
..
~
fiJ
t;.
.....
.....
~
~
..""
~
-
"
~~
II
7-56
~
.....
fiJ
;::::~D
m..
fiJ
~
"
"
7
fiJ
,
2 1
4 5 '1
.!
..J..
.....
14
.A.
""'F
1011
n 13'415
'611 11"
211 212223
24 25 16 21
2' 19 311 31
Ull)4 lS
3631 Jilt
13
HAL Series 24
Logic Diagram HAL20X4
1
INPUTS (0-39)
....
....
.,
012
J
456'
a
9 lQ 11
12131415
16111819
lO211213
ll252621
21
2~
JO 31
12111415
J611lSl9
~
~
--K-r
2
J
~
,
,.
J
~J
~
r\--L
9
3:F~
"
23
:J
:.;:l.
22
3
~
""
~
"
~Dt>-L
~~
""
4
"
"
"
en
:::e
5
IX
LIJ
:::-::::~D-
JJ
,.
O
5
o
"J2
t-
::{j:j
"
6
----I.
.
IX
Q.
~Dfu
"
"
"
7
21
::k
.
~
~
~
~
19
~D-~ ~
"
"
a
J-j
"
8
"
"
i:H>
~ ~1
";g
9
..
~
fu~
.
"
"
10
16
15
~
"
"
"
~l
"
~~
~r--'
o
1
1
1
4
~
6.
J
•
9 10!1
12 1314 ''''
1611
n
19
1021 22 23
14 25 26 11
21 1930]1
11 JJ 14 U
li lJ
]I
14
~
19
7-57
HAL
HAL DESIGN SPECIFICATION
PART NUMBER
I
USER'S PART NUMBER
REV
NAME
I
DATE
TITLE
COMPANY, CITY, STA TE
PIN 1
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
PIN 7
PIN 8
PIN 9
PIN 10
PIN 11
PIN 12
PIN 13
PIN 14
PIN 15
PIN 16
PIN 17
PIN 18
PIN 19
PIN 20
PIN 21
PIN 22
PIN 23
PIN 24
GND
VCC
EQUATIONS
DESCRIPTION:
LEGEND:
EQUAL
: = REPLACED BY
+
*
OR
AND
F 108
7-58
: +:
: *:
XOR
XNOR
I
(
COMPLEMENT
) THREE-STATE
FUNCTION
TABLE
PIN A
PIN B
PIN C
PIN 0
PIN E
PIN F
PIN G
PIN H
PIN I
PIN J
PIN K
PIN L
PIN M
PIN N
PIN 0
PIN P
PIN Q
PIN R
PIN S
PIN T
PIN U
PIN V
,.
COMMENT
,A
COMMENT
BCD
E
F
G
H
LEGEND
J
K
H
L
L
M
N
0
P
C
X
HIGH
LOW
Q
R
S
T
CLOCK
IRRELEVANT
U
V
z
OFF
F 107
7-59
Octal Counter
SN54/74LS461
Ordering Information
Features/Benefits
• Octal counter for microprogram-counter, OMA controller
and general purpose counting applications
• a bits match byte boundaries
PART NUMBER
PACKAGE
TEMPERATURE
SN54LS461
JS
MIL
SN74LS461
NS, JS
COM
• Bus-structured pinout
• 24-pln Skinny 01P® saves space
• 3-state outputs drive bus lines
• low current PNP inputs reduce loading
• Expandable in a-bit increments
Description
The LS461 is an 8-bit synchronous counter with parallel load,
clear, and hold capability. Two function select inputs (10' 11)
provide one of four operations which occur synchronously on
the rising edge of the clock (CLK).
Logic Symbol
The LOAD operation loads the inputs (DrDo) into the output
register (OrOo)' The CLEAR operation resets the output
register to all LOWs. The HOLD operation holds the previous
value regardless of clock transitions. The INCREMENT operation adds one to the output register when the carry-in input is
TRUE (CI = LOW), otherwise the operation is a HOLD. The
carry-out (CO) is TRUE (CO = LOW) when the output register
(OrOo) is all HIGHs, otherwise FALSE (CO = HIGH).
The output register (OrOo) is enabled when OC is LOW, and
disabled (HI-Z) when OC is HIGH. The output drivers will sink
the 24 mA required for many bus interface standards.
Two or more LS461 octal counters may be cascaded to provide
larger" counters. The operation codes were chosen such that
when 11 is HIGH, 10 may be used to select between LOAD and
INCREMENT as in a program counter (JUMP/INCREMENT).
Function Table
ClK
CI
OC
H
L
L
L
L
L
11
10
X
X
X
1
1
1
1
1
L
L
H
H
H
L
H
L
H
H
X
X
X
X
H
L
DATA
IN
07-0 0 07-0 0 OPERATION
X
X
X
0
X
X
Z
.L
HI-Z
CLEAR
0
HOLD
0
LOAD
HOLD
0
Oplus1 INCREMENT
For supplementary information. see appendix, this section.
.. --
1165 Eaet Arqwa Avenue, Sunnyvale, CA 94088 Tel: (408) 739-3535 TWX: 910-339-t228
II::::!,!/',f: DB
SN54/74LS461
Logic Diagram
Octal Counter
Octal Shift Register
SN54/74LS498
Ordering Information
Features/Benefits
• Octal shift register lor serial to parallel and parallel to serial
applications
• 8 bits match byte
~undaries
PART NUMBER
PACKAGE
TEMPERATURE
SN54LS498
JS
MIL
SN74LS498
!\IS, JS
COM
• Bus-structured pinout
• 24-pln SKINNYOIp'· saves space
• 3-state outputs drive bus lines
• low current PNP Inputs reduce loading
• Expandable in
8~blt
increments
Description
The LS498 is an 8-bit synchronous shift register with parallel
load and hold capability. Two function s~lect inputs (10, 11)
provide one of four operations which occur synchronously on
the riSing edge of the clock (CLK).
Logic Symbol
The LOAD operation loads the inp\Jt (DrDo) into the optpLit
register (OrOo). The HOLD operation holds the previous
value regardless of clock transitions. The SHIFT LEFT operation
shifts the output register, 0, one bit to the left; 00 is replaced
by LlRO. RILO outputs 07'
The SHIFT RIGHT operation shifts the output register, 0, one
bit to the right; 07 is replaced by RILp. LlRO out~uts 00:
The output register (OrOo) is enabled wl1en OC is LOW, and
disabled (HI-Z) when OC is HIGH. the output drivers will sink
the 24 mA required for many bus interface standards.
DATA
DATA
IN
OUT
Two or more LS498 octal shift registers m.!!y be cascaqed to
provide larger shift registers as shown iJ:! Ihe'application section.
07
Function Table
-
14 RILO SHIFT 1/0
OC
elK
11
10 07- 0 0 QrQo OPERATION
H
L
L
L
L
x
X
L
L
H
H
x
!
!
!
!
L
H
L
H
x
X
x
x
D
Z
l
SR(O)
SL(O)
D
For supplementary information, see appendix. this·
GNO
HI-Z
HOLD
SHIFT RIGHT
SHIFT LEFT
LOAD
sec~lQn:,
....,lthlo .1I1In
1165 East Arques Avenue, Sunnyvale, CA 94086 Tel: (408) 739-3535
7.62
TVI)(: 9111-339-9229
. .morl•• 1n.In.LI.
SN54/74LS498
Logic Diagram
Octal Shift Register
7-63
Multifunction Octal Register
SN54/74LS380
Features/Benefits
Ordering Information
• Octal Register for general purposes interfacing applications
PART NUMBER
• 8 bits match byte boundaries
• Bus-structured pinout
PACKAGE
TEMPERATURE
SN54LS380
JS
MIL
SN74LS380
NS, JS
COM
• 24-pln SKINNYOIp'· saves space
• 3-state outputs drive buB lines
• Low current PNP .Inputs reduce. loading
LogiC Symbol
Description
The LS380 is an 8-bit synchronous register with parallel load,
load compliment, preset, clear, and hold capacity. Four control
inputs (0:;, POL, CGi, PR) provide one of fqur operations which
occur synchronously on the rising edge of the clock (CLK). The
LS380 combines the features of the LS374, LS377, LS273 and
LS534 into a single 300 mil wide package.
The LOAD operation loads the inputs (DrDo) into the output
register (OrOo), when POL is HIGH, or loads the compliment
of the inputs when POL is LOW. The CLEAR operation resets
the output register to all LOWs. The PRESET operation presets
the output register to all HIGHs. The HOLD operation holds
the previous value regardless of clock transitions. CLEAR overrides PRESET, PRESET overrides LOAD, and LOAD overrides
HOLD.
DATA
IN
DATA
OUT
The output register (OrOo) is enabled when OC is LOW, and
disabled (HI-Z) when OC is HIGH. The output drivers will sink
the 24 mA required for many bus interface standards.
Function Table
OC
CLK
H
L
L
m
PR
07-00
Q7-QO
X
X
HI-Z
L
CLEAR
H
L
H
H
X
X
X
X
Z
L
H
H
H
D
D
LOAD true
L
H
H
D
5
LOAD comp
LO
POL
X
X
!
!
X
X
L
!
H
X
X
X
X
L
!
L
L
!
L
X
OPERATION
H
PRESET
a
HOLD
For supplementary information, see appendix, this section.
1165 East Arques Avenue, SUnnyvale, CA94086 Tel: (408) 739-3535 TWX: 910-339-9229
7_AA
.."",th,c
Memorle.
W.
SN54/74LS380
Logic Diagram
Octal Register
1 O-Bit Counter
SN54/74LS491
Ordering Information
Features/Benefits
PART NUMBER
• CRT vertical and horizontal liming generation
PACKAGE
TEMPERATURE
• Bus-structured pinout
SN54LS491
JS
MIL
• 24-pln SKINNVOIp'· saves
SN74LS491
NS, JS
COM
SpSce
• 3-s..te outputs drive bus lines
• Low current PNP Inputs reduce loading
Logic Symbol
Description
The ten-bit counter can count up, count down, set, and load 2
LSB's, 2 MSB's and 6 middle bits high or low as a group. All
operations are synchronous with the clock. SET overrides
LOAD, COUNT and HOLD. LOAD overrides COUNT. COUNT
is conditional on CIN, otherwise it holds.
DATA
IN
DATA
OUT
All outputs are enabled when OC is low, otherwise HIGH-Z.
The 24 mA IOL outputs are suitable for driving RAM/PROM
address lines in video graphics systems.
Function Table
OC
CLK
SET
Lo CNT
CIN
UP
D9·DO
X
X
X
Z
HI-Z
X
H
Set all HIGH
H
X
X
X
X
X
L
'1
H
X
X
L
1
L
L
X
X
X
L
1
L
H
H
j(
L
1
L
H
L
L
1
L
H
L
L
1
L
H
L
Q9-QO
OPERATION
X
D
D
LOAD D
x
Q
HOLD
H
X
X
X
Q
HOLD
L
L
X
Q plus 1
Count UP
L
H
X
Q minus 1
Count ON
For supplementary information see appendix this section.
1185 ~t Arqua.Avenue. Sunnyvala•.,CA 94088 Tal: (4De) 739-3535 TWX: 910-339-9229
.,
Maximum clock frequency
el to eOdetay
Clock ,to Q
Clock, to CO
Output enable delay
Output disable, delay.
TYP
COMMERCIAL
MAX
10,5
el = 50 pF
R1 =2000
R2 = 3900
':.
MILITARY,
MIN
.'
MIN
TYP
MAX
35
20'
55
35
50
12,5
35
20
55
35
35
60
35
95
55
55
.:'
UNIT
MHz
35
30
SO
45
45
!'Is
ns
ns
ns
n~
7·75
SN54/74LS498
Absolute Maximum Ratings
Supply voltage vee ................................................................................................ 7V
Input voltage .................................................................................... , ................ 5.5V
Off-state output voltage ........................................................................................... 5.5V
Storage temperature ............................................................................ ,....... _65° to +150°C
Operating Conditions
Vee
MILITARY
MIN TYP MAX
PARAMETER
SYMBOL
Supply voltage
4.5
I low
I High
35
30
25
Width of clock
tsu
Set up time
60
th
Hold time
0
Operating free-air temperature
Te
Operating case temperature
Electrical Characteristics
SYMBOL
VOL
low-level output voltage
VOH
High-level output voltage
0
0
75
Over Operating Conditions
MIN
TYPt MAX UNIT
0.8
Vee
Vee
Vee
Vee
Vee
= MIN
= MAX
- MAX
=
=
=
MAX
MIN
0.8V
2V
II
VI
VI
VI
Vil
VIH
Vee - MIN
Vil = O.BV
VIH = 'J,V
= -1BmA
-1.5
0.25
25
1
= OAV
- 2AV
- 55V
Mil
IOl = 12mA
COM
IOl = 24mA
Mil
IOH = -2mA
COM
IOH = -3.2mA
Vee - MAX
Vil = 0.8V
VIH = 2V
*
°e
°e
2
Supply current
V
ns
-15
125
TEST CONDITIONS
Off-state output current
Output short-circuit current
5.25
ns
low-level input voltage
High-level input voltage
Input clamp voltage
low-level input current
High-level input current
Maximum input current
10lH
lOS
ICC
5
50
-15
-55
PARAMETER
Vil
VIH
VIC
III
IIH
II
lOll
4.75
40
tw
TA
5.5
5
COMMERCIAL
UNIT
MIN TYP MAX
Vee - 5.0V
Vo
= OAV
Vo
= 2AV
Vo
= OV
0.5
2.4
/lA
mA
V
V
-100
-30
Vee - MAX
V
V
V
mA
120
/lA
100
/lA
-130
mA
180
mA
* No more than one output should be shorted at a time and duration of the short-circuit should not exceed one second
t All typical values are at Vee = SV, T A = 2S' C
Switching Characteristics
t ..... 8BOL
PARAMETER
fMAX
tpo
tpo
tpo
Maximum clock frequency
tplX
tpXl
7-76
10, 11 to LlRO, RllO
Clock to Q
Clock to LlRO, RllO
Output enable delay
Output disable delay
Over Operating Conditions
TEST CONDITIONS
(See Test Load)
MILITARY
MIt-! TYP
COMMERCIAL
MAX
10.5
el = 50 pF
R1 = 2000
R2 = 3900
MIN
TYP
MAX
12.5
35
20
55
35
35
60
35
95
55
55
35
20
55
50
30
80
35
35
45
45
UNIT
MHz
ns
ns
ns
ns
ns
SN54/74LS380
Absolute Maximum Ratings
Supply voltage vee ................................................................................................ 7V
Input voltage ....................................................................................... , ............. 5.5V
Off~state output voltage ........... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5.5V
Storage temperature... .......... ........... ......... .. .. ........ .................................. ..... _65° to +l50o e
Operating Conditions
Vee
MILITARY
MIN TYP MAX
PARAMETER
SYMBOL
Supply voltage
4.5
5.5
4.75
I
High
40
40
I
low
35
35
tw
Width of clock
tsu
Set uptime
60
th
Hold time
0
TA
Operating free-air temperature
-55
Te
Operating case temperature
Electrical Characteri.stics
5
COMMERCIAL
UNIT
MIN TYP MAX
5
5.25
ns
50
-15
0
V
ns
-15
0
75
125
°e
°e
Over Operating Conditions
",
SyMBOL
PARAMETER
V il
low-I.evel input voltage
VIH
High-level input voltage
Input clamp voltage
low-level input current
Vie
III
IIH
II
High-level input current
Val
Low-level output voltage
Maximum input current
t£ST CONDITIONS
IOZl
Vec~
MIN
II
= -18mA
= O.4V
Vee = MAX
Vee ~ MAX
VI
VI - 2.4V
Vee = MAX
Vee - MIN
VIL = 0.8V
VI
= 2V
= MIN
= 0.8V
= 2V
High-level output voltage
Vil
Off-state output current
VIH
Vee - MAX
Vil = 0.8V
lOS
Output short-circuit current*
VIH = 2V
Vee - 5.0V
Ice
Supply current
Vee
10ZH
MIN
TyptMAX
.
...
= 5.5V
Mil
10l
eOM
10l
Mil
10H
eOM
10H
= 12mA
= 24mA
= -2mA
=-3.2mA
Va
= O.4V
= 2.4V
Va
= OV
Va
V
-1.5
V
V
0.25
mA
25
1
IJ.A
mA
0.5
V
2.4
V
-30
=MAX
UNIT
0.8
2
VIH
Vee
VOH
',".
120
-100
p.A
100
p.A
-130
mA
180.
mA
* No more than one output should be shorted at a time and duration of the short-Circuit should not exceed one second.
t All typical values are at Vee =5V. T A =25' C
Switching Characteristics
SYMBOL
PARAMETER
fMAX
Maximum· clock frequency
tpo
elock to Q
tpzx
Output enable delay
tpxz
Output disable .delay
Over Operating cond'mcms
TEST CONDITIONS
(See Teit'Loadl)
el
Rl
R2
= 50.pF
= 2000
= 3900
MILITARY
MIN TYP MAX
COMMERCIAL
UNIT
MIN TYP ~AX
10.5
12.5
MHz
20
35
2ri'
30
ns
35
55
55
~
35
45
'ns
45
ns
35
SN54/74LS491
Absolute Maximum Ratings
Supply voltage V CC .......................................... ..................................................... ·7V
Input voltage .: ........ , ..........................................................•.................. '.' .............. 5.5V
Off~state output voltage .................•............•...........................................•................. 5.5V
Storage temperatUre................ ... ...... .. . .... ........ ........... ....... ... ......... ... . ....... . ... _65· to +)50·C
Operating Conditions
MILITARY
MIN TYP MAX
PARAMETER
SYMBOL
Supply voltage
VCC
4.5
I High
I Low
35
35
tsu
Set up time
60
th
Hold time
0
Operating free-air temperature
Operating case temperature
Electrical Characteristics
VIL .'
Low-level input voltage
VIH
VIC.
IlL
IIH
II
High-level input voltage
Input clamp voltage
Low-level input current
High-level input current
Maximum input current
VOL
Low-level output voltage
VOH
High-level output voltage
10ZL
Output short-circuit current
Supply current
5.25
ns
-15
75
0
·C
·C
Over Operating Conditions
MIN
TYPt MAX UNIT
0.8
-1.5
0.25
V
V
V
mA
25
1
JlA
mA
0.5
V
2
VCC ~ MIN
VCC ~ MAX
VCC - MAX
VCC - MAX
VCC = MIN
VIL = 0.8V
VIH = 2V
II = -18mA
VI - O.4V
VI = 2.4V
VI = 5.5V
VCC - MIN
VIL = 0.8V
VIH = 2V
MIL
10L = 12mA
COM
10L = 24m A
MIL
10H = -2mA
COM
10H = -3.2mA
VCC = MAX
VIL = 0.8V
*
V
ns
125
= 2V
ICC
0
TEST CONDITIONS
Off-state output current
10ZH
lOS
5
50
-15
-55
PARAMETER
SYMBOL
4.75
40
Width of clOCk
TC
5.5
40
tw
TA
5
COMMERCIAL
UNIT
MIN TYP MAX
VIH
VCC = 5.0V
Vo
= O.4V
Vo
= 2.4V
Vo
- OV
2.4
V
-30
VCC - MAX
120
-100
100
JlA
-130
mA
mA
180
JlA
* No more than. one output should ~e shorted at a time and duration of the short-circuit sho~.ld not exceed one second.
t All typical values are at VCC = 5V. T A
= 25· C:
Switching Characteristics
SYMBOL "
,PARAMETER
fMAX
Maximum clock frequency
tpo
Cloekto Q
tpzx
Output enable delay
tpxz
Output disable delay
7-78
Over Operating Conditions
TEST CONDITIONS
(See T.est Load,)
CL = 50pF
R1 = 2000
R2
= 3900
MILITARY
MIN TYP MAX
COMMERCIAL
UNIT
.MIN TYP MAX
10.5
12.5
MHz
20
35
20
30
ns
35
55
35
45
ns
35
55
35
45
ns
SN54/74LS450
Absolute Maximum Ratings
Supply voltage V cc ............................. ;................................................................... 7V
Input voltage ................................................................................. , ...•.........•....... 5.5V
Off-state output voltage ........................................................... : .................. ; . . • . . . . . . . .. 5:5V
Storage. temperature' ...........................•......................... : ............. , ............. ;... _65° to +150·(::
Operating Conditions
VCC
Supply voltage
TA
Operating free-air temperature
TC
Operating case temperature
VIL
VIH
VIC
IlL
I.IH
II
MIN NOM MAX
4.75
,5
0
UNIT
5.25
V
75
·C
·e
125
Over Operajing Conditions
.
h,
MIN
TYPt MAX UNIT
.;,
V
O.S
2
v:
VI "0.4V
VI- 2.4V
0.25
mA
25
VCC - MAX
Vec=MIN
VIL =O.SV
VIH = 2V'
VI - 5.5V
'1
Jl.A
mAo
Vce - MIN
VIL = .O.SV
VIH = 2V
MIL
VCC = MAX
VCC- MAX
Output short-clrcuit. current '"
Supply current
V
.,.1.5
II
Vcc - MIN
Maximum input current
High-level output voltage
5.5
TEST CONDITIONS
High-level input voltage
Input clamp voltage
Low-Ievelinpu! current
High~level input current
VOH
lOS
5
1-55
PARAMETER
Low-level output voltage
COMMERCIAL
NOM MAX
Low-level input voltage
VOL
ICC
MIN
4.5
Electrical Characteristics
SYMBOL.
MILITARY
PARAMETER
SYMBOL
VCC =.5.0V
.~
-lSmA
0.5
IOL= SmA
...
V
10H = -2mA
II
2.4
COM
. 10H= -3.2mA.
.
Vo
....30
- OV
VCC - .MAX
60
-130
100
rnA
rnA
* No more than one output ·should be shorted at a time and duration of the 'short-circuit should not exceed one second.
tAli typical values are at VCC =SV, TA = 2S"C
SwitchlngCha.racferistic8
,
SYMBOL
tpo
PARAMETER
Any inplJtto Y or W
over Operatil,g,CondIUons
...
TEST CONDITiONS
(See Test Load?
CL = 50 pF
Bl=5600
R2 = 1.1kO
MILITARY
MIN
I····
COMMERCIAL
TYP
MAX
25
45
MIN
TYP
MAX
25 .. ,40
UNIT
ns .;.
7;.79
SN54174LS451
Absolute Maximum Ratings
Supply voltage vee ............ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7V
Input voltage ..................................................................................................... 5.5V
Off-state output voltage ................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. 5.5V
Storage temperature.... . .. ..... ... .. .. .. .... .... ... . .. ..... . . . . ........... . . ... . .. .. .. .. .. .. .. . ..... ... _65° to +150 0 e
Operating Conditions
SYMBOL
MILITARY
PARAMETER
MIN
Vee
Supply voltage
4.5
TA
Operating free-air temperature
-55
Te
Operating case temperature
VOL
Low-level output voltage
VOH
High-level output voltage
TEST CONDITIONS
Output short-circuit current
Supply current
* No more than
UNIT
5.25
V
75
°e
°e
MIN
TYPt MAX
O.B
Vee - MIN
Vee = MAX
Vee = MAX
Vee - MAX
Vee - MIN
VIL = O.BV
VIH = 2V
*
II - -1BmA
VI = O.4V
VI = 2.4V
VI = 5.5V
-15
0.25
25
1
10L
= MIN
VIL = O.BV
VIH = 2V
Vee = 5.0V
Vee - MAX
MIL
10H
COM
10H
Vo
= BmA
0.5
= -2mA
=-3.2mA
2.4
- OV
-30
UNIT
V
V
V
mA
JlA
mA
V
V
-130
60
100
mA
mA
one output should be shorted at a time and duration of the short-circu'it should not exceed one second.
t All typical values are at V CC ~ 5V. T A
~ 25°C
Switching Characteristics
Any input to Y
Over Operating Conditions
TEST CONDITIONS
PARAMETER
,
7-80
5
2
Vee
tpo
4.75
0
Low-level input voltage
High-level input voltage
Input clamp voltage
Low-level input current
High-level input current
Maximum input current
SYMBOL
5.5
NOM MAX
Over Operating Conditions
PARAMETER
VIL
VIH
Vie
IlL
IIH
II
lOS
ICC
5
MIN
125
Electrical Characteristics
SYMBOL
COMMERCIAL
NOM MAX
(See Test Load)
eL
R1
R2
=50 pF
=5600
= 1.1kD
MILITARY
MIN
COMMERCIAL
TYP
MAX
25
45
MIN
TYP
MAX
25
40
UNIT
ns
SN541,74LS453
Absolute Maximum Ratings
Supply voltage vee ................................................................................................ 7V
Input voltage ..................................................................................................... 5.5V
Off-state output voltage ........................................................................................... 5.5V
Storage temperature ............................................................................ ,~ ....... _65° to +150 0 e
Operating Conditions
SYMBOL
MILITARY
PARAMETER
MIN
Vee
Supply voltage
4.5
TA
Operating free-air temperature
-55
Te
Operating case temperature
Electrical Characteristics
SYMBOL
VIL
VIH
5.5
4.75
NOM MAX
5
0
VIC
IlL
IIH
II
VOL
Low-level output voltage
VOH
High-level output voltage
5.25
V
75
°e
Over Operating Conditions
TEST CONDITIONS
MIN
TYPt MAX UNIT
O.B
2
Vee - MIN
Vee = MAX
Vee = MAX
Vee - MAX
Vee = MIN
VIL = O.BV
VIH = 2V
Vee
Output short-circuit current
Supply current
*
UNIT
°e
volt~ge
High-level input voltage
Input clamp voltage
Low-level input current
High-level input current
Maximum input current
lOS
lee
5
MIN
125
PARAMETER
Low-level input
COMMERCIAL
NOM MAX
II - -1BmA
VI - O.4V
VI " 2.4V
VI - 5.5V
= MIN
VII. = O.BV
VIH = 2V
Vee - 5.0V
MAX
Vee
10L
= BmA
MIL
10H
2.4
eOM
10H
= -2mA
=-3.2mA
- OV
-30
Vo
V
V
V
rnA
-1.5
0.25
25
1
/loA
mA
0.5
V
V
-130
60
100
mA
mA
* No more than one output should be shorted at a time and duration of the short~circuit should not exceed one second.
t AlltypicalvaluesareatV CC =5V.T A = 25°C
.
Switching Characteristics
SYMBOL
tpD
PARAMETER
Any input to Y
Over Operating Conditions
TEST CONDITIONS
(See Test Load)
CL = 50 pF
R1 = 5600
R2 = 1.1kO
MILITARY
MIN
COMMERCIAL
TYP
MAX
25
45
MIN
TYP
MAX
25
40
UNIT
ns
7 ...81
7·82
. Representatives/Dlstributors
1:1
Monolithic Memories Area and Regional Sales Managers and FAEs
California
Cupertino
George Anderl
(408) 996-1477
(714) 556-1216
PaSadena
Wayne Caraway
Dick Jones. FAE
Minnesota
Edina
(312) 932-1940
Naperville
Huntington Beach
Dick Siemiatkowski
Illinois
Lombard
(714) 556-1216
Sal Graziano
Bernard Brafman. FAE (714) 556-1216
(312) 961-9200
(617) 256-3573
New Jersey
Sussex
Mike Wier
MassachuseHs
Chelmsford
Jack Abbott
Irvine
(617) 655-7070
Reading
Stan Karandanis
Florida
Longwood
(617) 944-5535
Newton Centre
Jim McGrath
(30S) 830-7867
Mike Volpigno. FAE
(612) 922-2260
(513) 439-D470
Bill Bartley
Framingham
Russ French
AlexSherbanenko
Ohio
Dayton
(201) 875-9430
Texas
Gariand
Bob Rainwater
(214) 233-5833
Dallas
(617) 332-4840
Brad Mitchell. FAE
(214) 233-5833
Monolithic Memories Representatives
U.S.A.
Kansas
Olathe
Alabama
Huntsville
(205) 881-9270
REP. Inc.
Scottsdale
Summit Sales
(602) 998-4850
(213) 870:9191
Irvine":'
. Bestronics
(714) 979-9910
¢upertlno
(408) 996-9889
"
Littlefield & Smith
(714) 455-005S
···Colorado
Wl1IIatridge
, '. Waugam~n A~ociates (303) 423-1020
Connecticut
Norih Hailen
Comp .Rep Associates
(203) 239-9762
Florida
Altemonte Springs
c>yne;-A-Mark . .:.
. (3QS) 831-2697
Clearwater
Dyne-A-Mark
(813) 441-4702
Fort Lauderdale
Dyne-A-Mark
(305) 771-6501
Palm Bay
Dyne-A-Mark
(305) 727-0192
REP/Inc.
(404) 938-4358
Leslie M. DeVoe Co.
Technical Sales. Inc.
(314) 394-7271
L:Mar Associates
L-Mar Associates
(201) 692-()200
(809) 832-9529
(615) 475-4105
Texas
Austin
West and Associates
(512) 441-6973
(716) 544-8000
(315) 43H77~
(214) 661-9400
Houston
(713) 777-4108
Utah
s.1t Lake City
(801) 467-4263
Virginia
Reston
Monolithic Sales
North Carolina
Raleigh
REP, Inc.
REP; Inc.
Waugaman ASsociates
New York
RoChester
Syracuse
Comp Rep Associates
West and Associates
New Je~y
Teall8ck
R.T. 'Reid Associ!ltes
(215) 885-5106
Tennessee
Jefferson City
wesi and Associates
(612) 941-9790
Missouri
Ballwin'
Rush and West
CMS Marketing
Puerto Rico
Mayagues
Dallas
Mlnne!lota
Edina
(703) 620-9558
Washington
Belle~
Northwest Marketing
Wisconsin.
BroOkfield
(206) 455-5846
"\''.,
Surney'
(414) 784-6641
(919) 85h-3001'
Makin Associates
(513) 871-2424
Columbus
(614) 459-2423
West & Associates
cantec
(918) 445-7429
(317) 842-3245
(319) 393-1845
CANADA
.Ontario
Brampton
Oklahoma
Tulsa
Iowa
Cedar Rapids
, ..'
(313) 499-0188
(312) 991-6500
Indiana
Indianapolis
8-2
Michigan .
Grosse Point
Makin Associates
illinois
Roiling Meadows
Sumer
(617) 329-3454
Pennsylvania
Oreland
Ohio
Cincinnati
Georgia
Tucker
o Sales
Comp Rep Associates
Greiner Associates
ihresum Associates
S &
(301) 296-2444
.:Westwood
Bestronics
'
M6nolithicSaies
MassachuseHs
'California
CulVer City
","
(913) 764-2700
Maryland
Baltimore
~rizona
$anDiego
Rush and West
Cantec
Oregon
Portland
North West Marketing
(416) 791-5922
OttaYia
(613) 725-3704
Quebec
Dollard Des Ormeaux
(503) 297-2581
Cantec
(514) 683-6131
Monolithic Memories Franchised Distributors
U.S.A.
M~~:,"oc:.
Alabama
Huntsville
Hall-fI.1ark Electronics
(205) 837-8700
A~ona
Kierulff Electronics
(602) 243-4101
Tempe
Marshall Electronics Group
Bell Industries
Kierulff Electronics
lionex
(617) 272-9400
(617) 933-£130
(213) 999-5001
Michigan
Ann Arbor
Arrow Electronics
(213) 686-{)141
Farmlngton
Diplomat/Northland
Irvine
Marshall Electronics Group
(714) 556-£400
Grand Rapids
RS Electronics
Los Angel..
Kierulff Electronics
Newport Beaq!I
Arrow Electronics
(213) 725-0325
Kalamazoo
RS Electronics
(714) 851-8961
Livonia
(415) 968-£292
Minnesota
RS Electronics
Palo Alto
Kierulff Electronics
SanD~
Anthem lectronics
Kierulff Electronics
Arrow Electronics
(714) 279-5200
(714) 278-2112
(714) 565-4800
San Jose
Anthem Electronics
(408) 946-8000
Sunnyvale
Arrow Electronics
DiplomatiWestland
(408) 745-8800
(408) 734-1900
TusHn
Anthem Electronics
Kierulff Electronics
(714) 730-8000
(714) 731-5711
Chatsworth
Anthem Electronics
Arrow Electronics
(213) 700-1000
(213) 701-7500·
Colonldo
Den_
~~~~~1t'lnectronics
=~~K:II Electronics
(303) 758-2100
(303) 371-£500
Bond Electronics
(616) 241-3483
(616) 381-5470
(313) 525-1155
Hall-Mark Electronics
St. louis
Arrow Electronics
(203) 852-1001
Arrow Electronics
Marshall Electronics Group
(603) 668-8968
(201) 575-£750
(201) 227-7960
Florida
Clearwater
Arrow Electronics
(201) 797-5900
Fort Lauderdale
Arrow Electronics
Hall-Mark Electronics
(813) 443-4514
(305) 776-7790
(305) 971-9280
Orlando
Hall-Mark Electronics
(305) 855-4020
~~ue1:'lronics
Arrow 1:lectroniCS
New York
Buffalo
Summit Distributors
Arrow Electronics
(305) 725-1480
Kierul!! Electronics
Georgia
Norcrosa
Diplomat Electronics
Arrow Electronics '"
Electronics
(813) 576-1966
l404)
449-4133
404) 449-8252
(404) 447-8000
(716) 884-3450
(1112) 640-0200
Melville
(312) 893-9420
LlverpoCil
Indiana
Indlenapolls
Advent Electronics
Arrow Electronics
Iowa
Cedar Rapids
Advent Electronics
(317) 872-4910
(317) 243c9353
(319) 363-{)221
Diplomat Electronics
Arrow Electronics
Hall-Mark Electronics
Winston/Salem
Arrow Electronics
Ohio
Solon
Centerville
(913) 688-4747
(716) 275-{)300
(716) 334-8110
(516) 273-2900
(516) 273-1660
(516) 231-1000
Arrow Electronics
(214) 388-7500
(214) 343-5000
Hell-Mark Electronics
Quality Components
(113) 781-6100
(713) 772-7100
(713) 4914100
Century/Bell Electronics
Kierulff Electronics
(801) 972-6969
(801) 973-8813
Washington
Bellevue
Almac/Stroum Electronics
Arrow Electronics
(206) 643-9992
(206) 643-4800
Kierulff Electronics
Arrow Elettronics
Hall-Mark Electronics
(206) 575-4420
'(414) 764-8800
(414) 761..3Q00
Wauk..ha
(414) 764-8160
Alberta
Calgary
,
~403)
403)
2.59-6408
230-1422
Edmonton
(403) 463-3014
British Columbia
Vancouver
RAE Electronics
Zentronics Limited
Future Electronics
(604) 291-8866
(604) 688-2533
(604) 436-5545
Manitoba
Winnipeg
Zentronics Limited
(204) 775c8881
Ontario
Brampton
Zentronics Limited
(4·16) 451-9600
(516) 454-£400
Zentronics Limited
Future Electronics
(6131' 238-£411
(613) 820-8313
(315)652-1000
Toronto
North Carolina
Raleigh
Arrow Electronics
Kansas
Hall-Mark Electronics
Roch..ter
Lionex
Arrow
Schaumburg
Arrow< Electronics'
(516) 694-8800
(312) 860-3800
Elk Grove Village
Kierulff Electronics
(315) 437-0300
~~=~~~rronics
Arrow Electronics"
(512) 258-8848
(512) 835-{)22O
Stefford
Arrow Electronics
Zentronics Limited
(607) 754-1570
Summit Distributors
Houston
Future Electronics
Zentronics Limited
Marshall Electronics
~~~=u~mponents
illinois
aensanville
Hall-Mark Electronics
Add Electronics
DallaS
(214) 387-4949
CANADA
(505) 292-2700
(505) 243-4566
Endwell
St. Petersburg
Quality Components
Kierulff Electronics
E. Syracuse
Palm Bay
Texas
Addison
(609) 424-0880
New Mexico
Diplomat/Southland
(215) 674-4000
(412) 856-7000
Arrow Electronics
Wisconsin
Oak Creek
Cherry Hili
Hallmark
Pioneer/Delaware Valley
Monroeville
(215) 627-1920
Saddlebrook .'
(918) 835-8458
(918) 864-8812
(918) 587-9123
(503) 641c9150
Kierulff Electronics
Tukwila
(609) 235.1900
(614) 891-4555
p-.:'on,:~:::nia
(201) 765-1830
Moorestown
(203) 265-7741
(203) 265-3822
Oregon
Portland
Utah
Salt Lake CIty
Totowa
Diplomat/IPC
Hall-Mark Electronics
Quality Components
Radio, Inc.
Arrow Electronics
Hall-Mark Electronics
(314) 567-£888
(513) 236-8088
Oklahoma
Tulsa
(612) 830-1800
(6)2) 941-7500
N~:rf~:ey
Lionex
Marshall Electronics
Welterville
(612) 884-9056
(314) 291-5350
(216) 473-2907
Dayton
Hall-Mark Electronics
Quality Components
New Hampshire
Manchester
Arrow Electronics
Hall-Mark Electronics
AusUn
Earth City
Mt. Laurel
Waillngtqnf
Arrow Electronics
Marshall Electronics Group
(313) 477-3200
.Missouri
(303) 424-1985
Connecticut
E. Nol'Wlltk
(313) 971-8220
Edina
Arrow Electronics
Kierul!!. Electronics Co.
Kierulff Electronics
Arrow Electronics
Kierul!! Electronics
(617) 667-8331
Wobum
Arrow Electronics
Burlington
Ohio (continued)
Clevetand
Hall-Mark Electronics
(602) 624-9968
EIMonte
Marshall Electronics Group
(301) 948-0710
(602) 968-£181
(602) 968-7800
Callfomla
Cenoga Park
Marshall Electronics Group
Massachusetts
Billerica
(301) 247-5200
(301) 796-9300
Kierulff Electronics
Tuecon
Lenexa
Gaithersburg
Pioneer Washington
Phoenix
Hall~Mark
Arrow Electronics
Hallmark Electronics
Ottawa
Future Electronics
(416) 663-5563
Watel100
(919) 832-4465
Zentronics Limited
(919) 725c8711
NOVII Scotia
Dartmo.uth
(216) 248-3990
Quebec
Montreal
(51~) 435-5563
ZentrQliiCs Limited
Future Electronics
Zentronlcs Limited
(519) 884-5700
(902) 46a-6411
(514) 6~"7710
(514) 735-5361
8-3
m
•
Monolithic Memories Overseas Representatives and Distributors
AUSTRIA
Ing. Erl1$tSteiner
Geylinggasse 16
A 1130 Wien
Phone: 22~822674
Telex: 135026
AUSTRALIA
R&D Electronics Pty Ltd.
257 Burwood Hwy.
Burwood, Vi.c. 3125
Phone: 3-288-8232
Telex: .M33288
R&D Electronics Pty Ltd.
133 Alexander SI.
Crows Nest-2065
Phone: 2-439-5488
Telex: AA25468
BELGIUM
Ritro Electronics, B.V.
Plantin & Moretuslei 172
B 2000 Antwerp
Phone: 31-353272
Telex: 33637
DENMARK
vaa APS
Kokkedal Industripark 42A
DK-2980 Kokkedal
Phone: 244888
Telex: 41198
ENGLAND
Monolithic Memories Ltd.
Lynwood House
1 Camp Road
Farnborough
Hampshire
GU146EN
Phone: (0252) 517431
Telex: 858051 MONO UK G
Memory Devices Ltd.
Central Avenue
East MOlesey
KT80SN
Phone: 1-9411066
Telex: 929962
Macro Marketing Ltd.
396 Bath Road
Slough, Berkshire
Phone: 628663011
Telex: 847083
Dice. Only:
Hy~Comp
Ltd.
7 Shield Road
Ashford,
Middlesex TW15 IAV
Phone: (07842) 46273
TeleX: 923802
FINLAND
Telereas O.Y.
P.O .. Sox 2
01511 Vantaa 51
Phone: 0-821655
Telex: 12111
FRANCE
Mon9lithic Memories France S.A.R.L.
Silic 463
94613 Rungis Cedex
Phone: 1-6874500
Telex: 202146
8·4
FRANCE (continued)
Alfatronic S.A.R.L.
La Tour d'Asnieres 4
Avenue Laurent Cely
F 92606 Asnieres
Phone: 1-7914444
Telex: 612790
Generlm S.A.R.L.,
Zone d'Activities de Courtaboeuf
Avenue de la Baltique
P.O. Box 88
91943 Les Ulis Cedex
Phone: 1-9077878
Telex: 691700
GERMANY
Monolithic Memories, GmbH
Mauerkircherstr 4
8000 Munich 80
Phone: 89-984961
Telex: 524385
Fax: 89-983162
Astronic GmbH
Winzerstrasse 47D
8000 Munich 40
Phone: 304011
Telex: 5216187
Dr. Dohrenberg Vertriess GmbH
Bayreuther Strabe 3
1000 Berlin 30
Phone: 030-2138043-45
Telex: 0184860
Elcowa GmbH
Strabe Der Republik 17-19
Postfach 129409
6200 Wiesbaden
Phone: 06121-65005
Telex: 04186202
Electronic 2000 Vertriebs GmbH
Neumarkter Strasse 75
8000 Munich 80
Phone: 89-434061
Telex: 522561
ITALY
Comprel S.R.L.
Viale Romagna 1
20092 Cinisello Balsamo/Milano
Phone: 2-6120841
Telex: 332484
JAPAN
Monolithic Memories Japan KK
4-5-15, Sendagaya
Shibuya-Ku
Tokyo 151
Phone: 3-4039061
Telex: 781-26364
NORWAY
Henaco AlS
P.O. Box 248
Okern Torgvei 1~
Oslo 5
Phone: 2-157550
Telex: 16716
SOUTH AFRICA
Radiokom Ltd.
P.O. Box 56310
Pinegowrie 2123
Phone: 789-1400
Telex: 424822
SOUTH AMERICA
Intectra
2349 Charleston Rd.
Mountain View, CA 94043
Phone: (415) 967-8818
Telex: 910-345545
SPAIN
Sagitron
C/Castello, 25, 2
Madrid 1
Phone: 88-011-27-402-6085
Telex: 43819
Nordelektronik GmbH KG
Harksheiderweg 238-240
2085 Quickborn
Phone: 04106-4031
Telex: 214299
SWEDEN
NAXAB
Box 4115
S 17104 Solna
Phone: 8-985140
Telex: 17912
Positron Bauelemente
Vertriebs GmbH
Benzstrasse 1
Postfach 1140
7016 Gerlingen-Stuttgart
Phone: 07 156-23051
Telex: 7245266
SWITZERLAND
Industrade AG
Gemsenstrasse 2
CH 8021 Zurich
Phone: 01-3632230
Telex: 56788
INDIA
Components & Systems Ltd.
3481, Najaji Subhash Marg.
Daryaganj, New Delhi-110002
Phone: 011-27388
ISRAEL
TELSYS Ltd.
12 Kehilat Venetsia St.
Tel Aviv
Phone: 972482126
Telex: 032392
TAIWAN
Multitech International Corp.
2nd Floor
977 Min Shene East Road
Taipei, Taiwan R.O.C.
Phone: 8-011-86
Telex: 23756 or 19162
24-Pin PAL Logic Symbols
PAL14L8
PAL12L10
I
PAL20L2
PAL20L10
PAL20~O
PAL16L6
PAL18L4
PAL20C1
PAL20X8
PAL20X4
ItIIonollthlc
W MemorIes
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Create Date : 2017:08:07 12:30:18-08:00 Modify Date : 2017:08:07 14:37:28-07:00 Metadata Date : 2017:08:07 14:37:28-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:92f04c3b-248a-f647-b513-66102e75f2dd Instance ID : uuid:645c4e12-c502-7440-8945-951dc9cc40ac Page Layout : SinglePage Page Mode : UseNone Page Count : 680EXIF Metadata provided by EXIF.tools