1988_Intel_Microcomputer_Programmable_Logic_Handbook 1988 Intel Microcomputer Programmable Logic Handbook

User Manual: 1988_Intel_Microcomputer_Programmable_Logic_Handbook

Open the PDF directly: View PDF PDF.
Page Count: 451

Download1988_Intel_Microcomputer_Programmable_Logic_Handbook 1988 Intel Microcomputer Programmable Logic Handbook
Open PDF In BrowserView PDF
LITERATURE
To order Intel literature write or call:
Intel Literature Sales
P.O. Box 58130
Santa Clara, CA 95052-8130

Toll Free Number:
(800) 548-4725*

Use the order blank on the facing page or call our Toll Free Number listed above to order literature.
Remember to add your local sales tax and a 10% postage charge for U.S. and Canada customers, 20% for
customers outside the u.s. Prices are subject to change.

1988 HANDBOOKS
Product line handbooks contain data sheets, application notes, article reprints and other design information.

ORDER NUMBER

**PRICE IN
U.S. DOLLARS

COMPLETE SET OF 8 HANDBOOKS
Save $50.00 off the retail price of $175.00

231003

$125.00

AUTOMOTIVE HANDBOOK
(Not included in handbook Set)

231792

$20.00

COMPONENTS QUALITY/RELIABILITY HANDBOOK
(Available in July)

210997

$20.00

EMBEDDED CONTROLLER HANDBOOK
(2 Volume Set)

210918

$23.00

MEMORY COMPONENTS HANDBOOK

210830

$18.00

MICROCOMMUNICATIONS HANDBOOK

231658

$22.00

MICROPROCESSOR AND PERIPHERAL HANDBOOK
(2 Volume Set)

230843

$25.00

MILITARY HANDBOOK
(Not included in handbook Set)

210461

$18.00

OEM BOARDS AND SYSTEMS HANDBOOK

280407

$18.00

PROGRAMMABLE LOGIC HANDBOOK

296083

$18.00

SYSTEMS QUALITY/RELIABILITY HANDBOOK

231762

$20.00

PRODUCT GUIDE
Overview ofIntel's complete product lines

210846

N/C

DEVELOPMENT TOOLS CATALOG

280199

N/C

INTEL PACKAGING OUTLINES AND DIMENSIONS
Packaging types, number of leads, etc.

231369

N/C

LITERATURE PRICE LIST
List of Intel Literature

210620

N/C

NAME

"Good in the U.S. and Canada
"·These prices are for the U.S. and Canada only. In Europe and other international locations, please contact
your local Intel Sales Office or Distributor for literature prices.

About Our Cover:
Programmable logic devices are a seeming contradiction: standard devices that offer custom solutions.
Individual implementations are almost infinite in their variability, like the apparently simple game of chess.

LITERATURE SALES ORDER FORM
NAME: ________________________________________________________
COMPANY: _____________________________________________________
ADDRESS: ____________________________________________________
CITY: _______________________________ STATE: _ _ _ _ ZIP: _________
COUNTRY: ____________________________________________________
PHONE NO.: (l........__-..!.._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
ORDER NO.

TITLE

OTY.

PRICE

TOTAL

___ X _ _ _ =
___ X _ _ _ =
___ X _ _ _ =
__ X
___ X
____ X
__ X_=
___ X
_'_ _ X _ _ _ =
_ _ X ____ =

Subtotal
Must Add Your
Local Sales Tax
'Must add appropriate postage to subtotal
(10% U.S. and Canada, 20% all other)

» Postage
Total

Pay by Visa, MasterCard, American Express, Check, Money Order, or company purchase order payable'
to Intell..iterature Sales. Allow 2-4 weeks for delivery.
Visa 0 MasterCard 0 American Express Expiration Date _ _ _ __
ACcount No. ____________________________________

o

Signature: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Mall To:

Intel Literature Sales
P.O. Box 58130
Santa Clara, CA
95052-8130

IntElrnatlonal Customers outside ,the U.S. and Canada
should contact their locaj Intel Sales Office or Distributor
listed in the back of most Intel literature.
European Literature Order Form in back of book.

Call Toll Free: (800) 548-4725 for phone orders
, Prices good unIfl12/31188.
Source HB

Intel Literatu!.:.l

~

~·:.I~gate'====~~
I$;rvice

'"

Get Intel's Latest Technical
Literature, Automatically!
Exclusive, Intel Literature Update Service
Take advantage of Intel's year-long, low cost Literature Update Service and you will receive
your first package of information followed by automatic quarterly updates on all the latest
product and service news from Intel.

Choose one or all five product categories update
Each product category update listed below covers in depth, all the latest Handbooks,
Data Sheets, Application Notes, Reliability Reports, Errata Reports, Article Reprints,
Promotional Offers, Brochures, Benchmark Reports, Technical Papers and much more ...

,... 1. Microprocessors
Product line handbooks on Microprocessors, Embedded Controllers and Component
Quality/Reliability, Plus, the Product Guide, Literature Guide, Packaging Information
and 3 quarterly updates.
$70.00 Order Number: 555110

,.. 2. Peripherals - - - - - - - - - - - - - - - - - - - - . . . ,
Product line handbooks on Peripherals, Microcommunications, Embedded Controllers,
and Component Quality/Reliability, Plus, the Product Guide, Literature Guide,
Packaging Information and 3 quarterly updates.
$50.00
Order Number: 555111

,.. 3. Memories - - - - - - - - - - - - - - - - - - - - - - - . . ,
Product line handbooks on Memory Components, Programmable Logic and
Components Quality/Reliability, Plus, the Product Guide, Literature Guide, Packaging
Information and 3 quarterly updates.
$50.00 Order Number: 555112

,.. 4. OEM Boards and S y s t e m s - - - - - - - - - - - - - - - - " ' "
Product line handbooks on OEM Boards & Systems, Systems Quality/Reliability, Plus,
the Product Guide, Literature Guide, Packaging Information and 3 quarterly updates.
$50.00
Order Number: 555113
~5.Software-------------~----------..,

Product line handbooks on Systems Quality/Reliability, Development Tools Catalog,

Plus, the Product Guide, Literature Guide, Packaging Information and 3 quarterly
$35.00

updates.

.

Order Number: 555114

To subscribe, rush the Literature Order Form in this handbook,
or call today, toll free (800) 548-4725. *
. Subscribe by March 31, 1988 and receive a valuable free gift.
The charge lor this service cove;s our printing, postage and handling cost only.
Please note: Product 'manuals are not included in this offer.
Customers outside the U.S. and Canada should order directly Irom the U.S.•

1m _r

• Offer expires 12131188.'

'Good In the

U.S. and Csnada.

.

11'8'

CUSTOMER SUPPORT
CUSTOMER SUPPORT
Customer Support is Intel's complete support service that provides Intel customers with hardware support, software
support, customer training, and consulting services. For more information contact your local sales offices.
After a customer purchases any system hardware or software product, service and support become major factors in
determining whether that product will continue to meet a customer's expectations. Such support requires an interna-

tional support organization and a breadth of programs to meet a variety of customer needs. AJi you might expect,
Intel's customer support is quite extensive. It includes factory repair services and worldwide field service offices
providing hardware repair services, software support services, customer training classes, and consulting services.

HARDWARE SUPPORT SERVICES
Intel is committed to providing an international service support package through a wide variety of service offerings
available from Intel Hardware Support.

SOFfWARE SUPPORT SERVICES
Intel's software support consists of two levels of contracts. Standard support includes TIPS (Technical Information
Phone Service), updates and subscription service (product-specific troubleshooting guides and COMMENTS Magazine). Basic support includes updates and the SUbscription service. Contracts are sold in environments which represent product groupings (i.e., iRMX environment).

CONSULTING SERVICES
Intel provides field systems engineering services for any phase of your development or support effort. You can use
our systems engineers in a variety of ways ranging from assistance in using a new product, developing an application,
personalizing training, and customizing or tailoring an Intel product to providing technical and management consulting. Systems Engineers are well versed in technical areas such as microcommunications, real-time applications,
embedded microcontrollers, and network services. You know your application needs; we know our products. Working together we can help you get a successful product to market in the least possible time.

CUSTOMER TRAINING
Intel offers a wide range of instructional programs covering various aspects of system design and implementation. In
just three to ten days a limited number of individuals learn more in a single workshop than in weeks of self-study.
For optimum convenience, workshops are scheduled regularly at Training Centers worldwide or we can take our
workshops to you for on-site instruction. Covering a wide variety of topics, Intel's major course categories include:
architecture and assembly language, programming and operating systems, bitbus and LAN applications.

intJ
Int91 th9 Microcomput9r Company:
Wh9n Int91 inv9nttJd th9 micropf0C9ssor in 1971, it cr9attJd the 9ra of
microcomput9rs. Wh9th9f ustJd as microcontrol/9fS in automobil9S or microwav9
oV9ns, or as P9fSOnal COmput9fS or sUP9rcomput9rs, Int91's microcomput9fS
hav9 always oft9r9d ladlng-9dg9 t9Chnology. In th9 second half of th9 1980s, Int91
archit9Ctuf9S hav9 h91d at last a 75% mark9t ShSf9 of microproc9ssors at 16 bits and aboV9.
Int91 continu9s to Striv9 for th9 high9st standards in m9mory, microcomput9r compon9nts,
modul9S, and syst9ms to giv9 its custOfTl9fS th9 b9st possibl9 cOmP9titiv9 advantag9s.

PROGRA,MMABLE LOGIC
HANDBOOK

1988

itS

· Intel Corporation makes no warranty tor the use of
products and assumes no responsibility for any errors
which may appear in this document nor does it make a commitment to update the information contained
herein.
Intel retains the right to make changes to these specifications at any time, without notice.
Contact your local sales office to obtain the latest specifications before placing your order.
The following are trademarks of Intel Corporation and may only be used to identify Intel Products:
Above, BITBUS, COMMputer, CREDIT, Data Pipeline, FASTPATH,
GENIUS, i, ICE, iCEL, iCS, iDBP, iDIS, 12 1CE, iLBX, im, iMDDX, iMMX,
Inboard, Insite, Intel, intel, inte'BOS, Intel Certified,. Intelevision,
inteligent Identifier, inteligent Programming, Intellec, Intellink, iOSP,
iPDS, iPSC, iRMK, iRMX, iSBC; iSBX, iSDM, iSXM, KEPROM, Library
Manager, MAP-NET, MCS, Megachassis, MICROMAINFRAME,
MULTIBUS, MULTICHANNEL, MULTIMODULE, MultiSERVER; ONCE,
OpenNET, OTP, PC-BUBBLE, Plug-A-Bubble, PROMPT, Promware,
QUEST, QueX, Quick-Pulse Programming, Ripplemode, RMX/SO, RUPI,
Seamless, SLD, SugarCube, SupportNET, UPI, and VLSiCEL, and the
combination of ICE, iCS, iRMX, iSBC, iSBX, iSXM, MCS, or UPI and a
numerical suffix, 4-SITE.

t.

MDS is an ordering code only and is not used as a product name or trademark. MDSIIl> is a registered
trademark of Mohawk Data Sciences Corporation.
·MULTIBUS is a patented Intel bus.
Additional copies of this manual or other Intel literature may be obtained from:
Intel Corporation
Literature Distribution
Mail Stop SC6-59
3065 Bowers Avenue
Santa Clara, CA 95051
@INTELCORPORATION 1987

Table of Contents
Alphanumeric Index . .' ................ ; ...•.......•.....•.•...•..•....' .... .

vii

C,HAPTER 1

Overview
Overview ...................................•.....•..........•......•.....

1-1

CHAPTER 2

EPLDs-Erasable Programmable Logic Devices
DATA SHEETS
Data Sheet Specifications ...............................•........•....•..•.
5C031 , 300·Gate CHMOS H·Series Erasable Programmable Logic Device
(H·EPLD) ...........•..............••..•..•............................
5C032, 300·Gate CHMOS H·Series Erasable Programmable Logic Device
(H·EPLD) .........•.•...........•..••....•.....•..•....•....••...•.....
5C060/5C090, 600·/900·Gate CHMOS H·Series Erasable Programmable Logic
Device (H·EPLD) .....•...........•..•.........•....•..•.................
5C121, 1200·Gate CHMOS H·Series Erasable Programmable Logic Device ..... .
5C180, 1800·Gate CHMOS Erasable Programmable Logic Device •..•..•...••..
5AC312, Erasable Programmable Logic Device ..•.......•...••..•.......•..•.
APPLICATION BRIEFS
AB·8 Implementing Cascaded Logic in the 5C121 .........•....•..•...•...•...
AB·9 5C121 As a Three and One·Half Digit Display Driver ; ..•.............•....
AB·10 Square Pegs in Round Holes-A Fitting Tutorial for the 5C121 .•...... ,....
AB·11 16·Bit Binary Counter Implementation Using the 5C060 EPLD ...•..•......
AB·12 Designing a Mailbox Memory for Two,5C031s ...................•...•..•
AB·16 Atypical Latch/Register Construction in EPLDs .....•....•..•...•.•.•...
AB·18 TTL Macro Library Listing for EPLD Designs .......•....................
APPLICATION NOTES
•
AP·271 Applying the 5C121 Architecture ......••.•....•..•....•...•..•...•...
Ap·272 The 5C060 Unification of a CHMOS System ...•.......................
AP·276 Implementing a CMOS Bus Arbiter/Controller in the 5C060 EPLD .••...•.
Ap·304 Simulation of EPLD Timing ................•..•.......•..............
AP·307 EPLDs, PLAs, and TTL-Comparing the "Hidden Costs" in Production ....
TECHNICAL PAPERS
Techniques for Modular EPLD Designs .......•........•....................•.
ARTICLE REPRINTS
AR·450 Crosspoint Switch: A PLD Approach •.....•.•..•.......•.......•......
AR·451 A Programmable Logic Mailbox for 80C31 Microcontrollers ...•...••..•..
AR·454 Regain Lost I/O Ports with Erasable PLDs ........................... .

2-1
2·2
2-14
2·27
2-45
2·61
2·91
2·108
2-113
2·118
2-130
2·140
2·154
2-161
2·165
2-177
2·188
2·198
2·212
2-234
2·244
2·248
2·251

CHAPTER 3

Advanced Architecture EPLDs
DATA SHEETS
5CBIC, Programmable BUS Interface Controller .•....•..•..•...........•...•..
APPLICATION NOTES
Ap·305 Dual·Port Memory Control USing the 5CBIC .•.•....................•..
AP·308 The Multiplexed BUS Interface with the 5CBIC .......•...•......••...•.
AP·309 DRAM Address Interface with the 5CBIC ..........•.................• ;
ARTICLE REPRINTS
AR-453 Programmable Logic Shrink Bus Interface Designs ....•..•...........•.
CHAPTER 4

3·1
3·19
3·26
3·34.
3·39

Development Support Tools
DATA SHEETS
iPLDS II, The Intel Programmable Logic Development System Version II ......... .

v

4-1

Table of. COl'ltentS(Continued)
iUP·PC, Intel Universal Programmer for the Personal Computer ..............••. 4·12
PRODUCT BRIEFS
SCHEMA II·PLD ................................•..............•.......... 4·18
Macro Librarian ........... '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4·19
UTILITIES
Functional Simulator Utility . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . • . . • . • . 4·20
PAL2ADF Utility ...................•....•.... ~ •. ~ .................. ~'" .•. ... . 4·21
JED2HEX Conversion Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . • . . . . . . . . 4·24
APPLICATION NOTES
,
AP·279 Implementing an EPLD Design Using Intel's Programmable Logic
Development System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . 4·25
Ap·311 Using Macros in, EPLD Designs ....•.....•......•..................•. 4·79
Ap·312 Creating Macros for EPLD Designs.. . . .. . .. . . . .. • . . . •. .. . . .•. ..•. .. . . 4·91
TECHNICAL PAPERS
Tools for Optimizing PLD Designs. .. . .. . . . .. . . . . . . .. ... . .• . .. .• . . ••. .. . . .. .. 4·101
CHAPTER 5

Appendix
.

Second Source Cross Reference. .. . . . . . . .. . . .. . .. . . . .. . . . . .. . . . . .. . .. .. . . . .
PLA to EPLD Replacement. . . . . . . . . . . . . . . • . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . .
Ordering Information ......................................•......•........
Device Feature Comparison . . .. . .. . . .. .. .. . .. . . . . . . .. . . .. . . .. . .. . . . . . . .. . . .
EPLD Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . • . . . . . . . . .
Compatible Computers for iPLDS II • . . • . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . .

vi

5·1
5·2
5·3
5·4
5·5
5·6

Alphanumeric Index
5AC312, Erasable Programmable Logic Device......................................
SCBIC, Programmable BUS Interface Controller.....................................
5C031 , 300-Gate CHMOS H-Series Erasable Programmable Logic Device (H-EPLD) .....
5C032, 300-Gate CHMOS H-Series Erasable Programmable Logic Device (H-EPLD) .....
5COSO/5C090, SOO-/900-Gate CHMOS H-Series Erasable Programmable Logic Device
(H-EPLD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5C121, 1200-Gate CHMOS H-Series Erasable Programmable Logic Device .............
5C180, 1800-Gate CHMOS Erasable Programmable Logic Device .....................
iPLDS II, The Intel Programmable Logic Development System Version II ................
iUP-PC, Intel Universal Programmer for the Personal Computer . . . . . . . . . . . . . . . . . . . . . . . .

vii

2-91
3-1
2-2
2-14
2-27
2-45
2-S1
4-1
4-12

'.,'

"'.

Overview

1

"',
~',

".

"

. ;.'

'"

"

"

inter

OVERVIEW

8. SMALLER SYSTEM SIZES: Customized compo-

INTRODUCTION

nents allow for reducing chip count and saving board
space, resulting in smaller system physical dimensions.

In today's increasingly competitive marketplace, system designers need to squeeze out every little edge they
can get from their designs. This has led to a trend
towards better performance, smaller system sizes, lower
power requirements and greater system reliability with
a strong emphasis on preventing easy duplication of the
system design. This trend provided the impetus to the
system designers to move away from standard SSI and
MSI logic components'(54174 & 4000 series Bipolar
and CMOS families) towards a growing class of IC devices variously called 'ASIC' (application specific IC),
'USIC' (user specific IC) or, as referred to in this document, user defined logic.

b. LOWER SYSTEM COSTS: When custom LSI or
VLSI components are used instead of standard SSI and
MSI logic elements, there is a considerable saving in
component cost per system, assembly and manufacturing cost, printed circuit board area and board costs and
inventory costs.
c. WGHER PERFORMANCE: RedUced number of
ICs contributes to faster system speeds as well as lower
power consumption.

d. WGHER RELIABILITY: Since prObability of failure is directly related to the number of ICs in the system, a system composed of customized LSI & VLSI
chips is statistically much more reliable than the identical system made up of SSI/MSI devices.

User defined logic circuits allow system designers, for
the first time, to tailor the actual silicon building blocks
used in their systems to their individual system needs
and requirements. Such customization provides the
needed performance, reliability and compactness as·
well as design security. Cost per gate of logic implemented is also greatly reduced when user defined logic
solutions are chosen over standard components.

e. DESIGN SECURITY: Systems designed with standard components can be replicated relatively easily
whereas systems that contain user customized ICs cannot be copied because "reverse engineering" of the customized components is .extremely difficult. Thus, use of
customized ICs allows for the protection of proprietary
designs.

User defined logic has therefore emerged as the fastest
growing segment of the semiconductor induStry and
has presented its users, the system designers,' with a
wide range of implementation alternatives namely, programmable logic, gate arrays, standard cell and full
custom design. The tradeoffs between these alternatives
involves time:to-market, one-time engineering charges"
expected unit volume, ease of use of design tools and
familiarity with the design me):hodology.

f. INCREASED FLEXIBILITY: Customized components allow for the tailoring of systems to the end user's
specific needs relatively easily. This also allows for upgradability and obsol~ce protection.

USER DEFINED IeIMPLEMENTATION ALTERNATIVES

This document discusses the reasons for the trend to
user defined logic devices. briefly describes some of the
user defined logic implementation alternatives and covers details on programmable logic devices, the only alternative that is completely user implementable. Tools
used to design with programmable logic 'are also discussed here.

Currently, the choices available t~ the system designer
for customization of ICs (see Figure 1) are as follows:
(1)

User programmable ICs--programmable logic devices

(2) mask programmable ICs--gate arrays

Details on Intel's programmable logic product line. including device terminology and nomenclature, architectural features and development tool features are also
descnbed in this document.

(3) standard cell based ICs
(4) full custom ICs
Alternatives (1) & (2) are usually. called 'Semicustom'
because in these methods only a few (less than three) of
the mask layers involved in the manufacture of the IC,
are customized to the users' specifications. The later
two alternatives (3) & (4), involve customization of all
mask layers required to manufacture the ICs to the users' specifications and are therefore called 'Custom'.

WHY USER DEFINED LOGIC?
System designers prefer user customized ICs for the
following reasons:

1-1

OVERVIEW
his logic requirements, determin~ which ,of these connections he would like to remain open arid which he
would like to close, through the programming of the
PLD. Programmability of these, connections is achieved
using various memory technologies such as fuses,
EPROM cells, EEPROM cells or Static RAM cells (see
Figure 3).

USER DEFINED LOGIC

I

I

I

SEIolICUSTOIol

I

I

CUSTOIol

I

PROGRAIolIolABLE
LOGIC

GATE
ARRAYS

I

I

STANDARD
, CELL

I

FULL
,CUSTOIol
298032-1

User programmability allows for instant customization,
very similar to user programmable memories such as
PROMs or EPROMs. The user can purchase a PLD
off-the-shelf, use a development system running on a
personal computer and, in a matter of a few hours, have
customized silicon in his hands. Figure 4 compares
user-defmed logic alternatives.

Figure 1. User Defined Logic
Implementation Choices

PROGRAMMABLE LOGIC
Most user Programmable Logic Devices (PLD) are internally structured as variations of the PLA (programmable logic array) architecture, that is composed of an
array of 'AND' gates connected to an array of 'OR'
gates (see Figure 2). Programmable logic devices make
use of the fact that any logic equation can be converted
to an equivalent 'Sum-of-Products' form and can thus
be implemented in the 'AND' and 'OR' architecture.
This basic ~LA structure has been augmented in most
PLDs with input and output blocks containing registers, latches and feedback options, that let the user implement sequential logic functions in addition to combinationa1logic.

l'\'Iemory cell
u.ed aa logic

The number and locations Of the programmable con~
nections between the 'AND' and 'OR' matrices as well
as the input and output blocks are predetermined by
the architecture of the PLD. The user, depending on

c~ntrol

element
296032-3

Figure 3. Programmable Connections

FEEDBACK (programmabl.)

~~
INPUT [
PIN

I

../I..

../I..

¥

-v

PROGRAIolIolABLE
'AND' &: 'OR'ARRAY

-'"

---v

==1

INPUT BLOCK

OUTPUT BLOCK

(contains latche. and ather
programmable Input optlona)

(containing output
control., reglsterl, etc.)

OUTPUT
PIN

298032-2

Figure 2. General Architecture of a PLD

1-2

inter

OVERVIEW
tional testing elements incorporated in the chips, which
can be blown to examine electrical characteristics.
However, such testing methods never allow for 100%
testability of all parts shipped. Thus, most users of bipolar programmable logic devices resort to extensive
post-programming testing, specific to their applications.

USER DEFINED LOGIC

I

I

I

SEMICUSTOM

I

I

PROGRAMMABLE
LOGIC

CUSTOM

I

GATE
ARRAYS

I

I

I

STANDARD
CELL

FULL
CUSTOM

ERASABLE PROGRAMMABLE LOGIC
DEVICES

DESIGN COMPLEXITY
DESIGN TIME ac COST
LOWEST SYSTEM COST

4

Erasable programmable logic devices (EPLD) result
from the matching of CHMOS EPROM technology
with the architectures of programmable logic devices.
EPLDs use EPROM cells as logic control elements and
therefore, when housed in windowed ceramic packages,
can be erased with UV light and reprogrammed. Figure
5 shows the architecture of Intel EPLDs.

FASTEST TIME TO MARKET
EASIEST DESIGN CHANGE IMPLEMENTATION
296032-5

Figure 4. User Defined Logic
Alternatives Compared

Other than the obvious benefit of reprogrammability,
EPLDs offer several very significant benefits over bipolar PLDs. These are:

LIMITATIONS OF BIPOLAR FUSE
TECHNOLOGY FOR PROGRAMMABLE
LOGIC DEVICES

1. LOW POWER CONSUMPTION: Due to the
CMOS technology, these products consume an order of
magnitude less power than the equivalent bipolar devices. This allows for the design of complete CMOS systems, that can operate at lower voltages (less than 5V).
Also, this makes for cooler systems that do not require
cooling systems like fans.

Until 1985, all PLDs were built using Bipolar fuse technology. The bipolar fuse based devices, although offering the users the benefits of quick time to market and
low development costs, had several inherent limitations.

2. GREATER LOGIC DENSITY: EPROM cells are
an order of magnitude smaller than the smallest fuses.
This means that the same function can be accommodated in significantly smaller die area, or that greater
amounts of logic can now be incorporated on a single
chip. Thus higher integration programmable logic devices result with the use of EPROM elements.

a. HIGH POWER CONSUMPTION: Bipolar processes by nature are power hungry and as a consequence also make for very hot systems, often requiring
cooling aids such as heat sinks and fans. They also cannot operate at lower voltages (2-3V) and have a lower
level of noise immunity than MOS devices.
b. LOWER INTEGRATION: A fuse takes up a large
amount of silicon area; this fact in conjunction with the
large power requirements makes for smaller levels of
integration.

3. TESTABILITY: Since the EPROM cells are erasable, the entire EPROM array of the EPLD can be
100% factory tested. Thus, before the part is shipped to
the customers, it can be completely tested by the programming and erasure of all the EPROM logic control
bits. This testing is therefore independent of any application, in contrast to the bipolar PLDs that need application specific testing.

c. ONE-TIME PROGRAMMABILITY: Bipolar fuses
can only be blown once and cannot be reprogrammed.
This does not allow for easy prototyping and could result insignificant losses when preprogrammed parts are
inventoried and design changes occur.

4. ARCHITECfURAL ENHANCEMENTS: The inherent testability of the EPROM elements allows for

d. TESTABILITY: Since fuses can only be blown once,
bipolar PLDs can only be destructively tested. Thus,
testing is usually done by sampling or through addi-

1-3

inter

OVERVIEW

significant architectural improvements over, bipolar
PLDs. New features, such as buried registers, programmable registers, programmable clock control, etc., can
now be incorporated because of this testability. These
new features allow, for greatly increased utilization, 'of
the EPLDs and use of these devices in newer applications.

5. DESIGN SECURITY: EPLDs are provided with a
'security bit,' which when programmed does not allow
anyone to read the programmed pattern. The logic programmed in an EPLD cannot be seen even if the die is
examined (unlike bipolar PLDs-a blown fuse is clearly
visible) as the stored charges are captured on a buried
layer of polysilicon.

fEEDBACK (programmable)

fiXED _ _
'OR'
ARRAY

INPUT
PIN--~"

PROGRAMMABLE
'AND' ARRAY

INPUT BLOCK
(contains lotche. and other
programmable Input options)

~'"

OUTPUT
PIN

OUTPUT BLOCK
(containing output
controls, registers, etc.)
296032-4

Figure 5. Architecture of Intel EPLDs
USER

DEVELOPMENT
SOFlWARE

PROGRAMMING
HARDWARE

~
Data
Entry

~

CONVERSION TO
BOOLEAN
EQUATIONS

~

LOGIC
MINIMIZATION TO
SUM-OF-PRODUCTS
FORMAT

[IJ
User
Specific
Resource or
Device Request

00
Device
Utilization
Report

rn

lID
RESOURCE
MATCHING OPTIMAL
RESOURCE
ALLOCATION

rn
PROGRAMMING
PATTERN
GENERATION

JEDEC
Data
File
296032-6

Figure 6. The PLD Design Proceas

1-4

OVERVIEW
The steps in a generalized design process of programmable logic is shown in Figure 6 and described in the
following paragraphs.

"JEDEC" format interface and allows the output of the
design software to be compatible with any piece of
PROM programming hardware.

STEP 1: The user decides on the logic he wants implemented in the PLD and enters the design into the PC or
workstation. This Desip EDtry may be done by the
following methods: (i)SCHEMATiC CAPTURE-A ,
'Mouse' or some other graphics input device is used to
input schematics of the logic, (ii)NET LIST ENTRYIf the user has a hand drawn schematic he can enter the
design into the computer by describing the symbols and
interconnections in words using a standardized format
called a net list (without using a graphics input device),
(iii)STATE EQUATION/DIAGRAM ENTRY-Entry of a sequential design involving states and transitions between states. In the state diagram method circles represent states and the arrows interconnecting
them represent the transitions. Equations or a state table can also be used to define a state machine, and
(iv)BOOLEAN EQUATIONS-this is the most common design entry method. The logic is described in
boolean algebraic equations.

STEP 8: PROM programmer is used to program the
pattern stored in the JEDEC file onto the PLD. Also,
at this stage fuse programmed PLDs (bipolar) are functionally tested using test vectors included in the JE.
DEC file information.

STEP 2: The software converts all design entry data
into boolean equations.

CHMOS TECHNOLOGY IN EPLD8
EPLDs are manufactured with Intel's proprietary
CHMOS (Complementary High Performance MOS)
technology. The backbone of the process is the integration of both a P and an N channel MOS transistor on
the same substrate. In addition, EPLD's programmable
architecture makes use of Intel's proven EPROM cell
for programmable array interconnections as well as
macrocell configuration bits. These cells are programmed electrically and erased with ultraviolet light.
For details on Intel's CHMOS technology and
EPROM cells technology, refer to the Components
Quality/Reliability Handbook, Order Number 210997.

CHMOS DESIGN GUIDELINES

STEP 3: The boolean equations entered are converted
to the sum of products format after logic reduction
(minimization of the logic through heuristic alga-

Designing with Intel EPLDs is relatively straightforward if the following guidelines are observed:
• Minimize the occurrence of ESD (electro-static discharge) when storing or handling EPLDs.

n'thms).
STEP 4: The user has the ability to choose the PLD he
would like the design implemented on. He can enter
device choice and/or he can also enter in specific
choices on the device as regards pinout he would like

• Observe good design rules in printed circuit board
layout.
• Provide adequate decoupling capacitance at both
the device and the board level.

etc ...

STEP 5: The software optimizes the logic equations to
fit into the device using the minimum amount of resources (resources are input pins, output pins, registers
and product terms and macrocells). This step is where
the user requirements as regards required pins are taken into account. The user requests are viewed as constraints during the optimization'process.

• Connect all unused inputs to Vcc or GND
(CHMOS inputs should not be left floating).

Electro8tatlc Discharge
The, two most common sources of electrostatic discharge are the hUman body and a charged environment.

STEP 6: The software. at the end of the resource optimization/allocation, produces a report detailing the resources used up in fitting the design on the PLD. This
report allows the user to incrementally stuff in logic by
going back to Step 1 from this stage. Also, if the design
overflowed the PLD, i.e., did not fit in the user chosen
device, the software lists out the resources needed to
complete the fit. The requirements such as four more
inputs, one register more and one more output (are
needed to complete the design) gives the user data in
choosing a bigger PLD or in partitioning the intial design to fit in~ two devices.

A charged human body that touches a device lead
discharges electriclty into the device. Electrostatic discharge from people handling devices has long been recognized by manufacturers and users of all MOS products. Human body static electricity ,can be controlled by
using ground straps and anti-static spray on carpeted
floors. CHMOS devices should also be stored and carried in conductive tubes or anti-static foam to minimize
exposure to ESD from people.
Discharge also occurs when an integrated circuit. is
charged to o~ potential and then contacts a conductor
at another potential. This type of ESD can be reduced

STEP 7: The next step is to generate the appropriate
programming pattern for the PLD. This is a standard

1-5

OVERVIEW'

by grounding all work surfaces. grounding all handling
equipment. removing' static generators' such .as paper
from the work area. and erasing EPLDs in metal tubes,
metal trays, or conducth:e foam.

Tabular methods like Kamaugh maps .are efficient up
to a certain point. Past that point, however, computerassisted minimization plays a crucial part in efficient
design. Even at the computer-assisted stage, the choice
of minimizer software has an itnp;u:t on time and the
confidence level of the reduced equation (i.e., is it in the
smalleSt possible form).

PCB Layout,
The best PCB performance is obtained .when close attention is payed to Vee, GND, and signal traces. Vee
and GND should be gridded to minimize inductive
reactance' and t.o approximate a tr~e' layer. Clocks
should be layed out to minimize crosstalk. Ensure adequate power supply and ground pins on the board connector.

iPLS II software includes a minimizer that uses the
ESPRESSO algorithms .. ESPRESSO was. developed by
U.C. Berkeley during the summers of 1981 and, 1982 in
an effort to study the various strategies used by the
MINI logic minimizer developed by IBM, [HON 74]
and PRESTO developed by D. Brown ,[BRO 81].
ESPRESSO uses many of the core principles in MINI
and PRESTO while improving on the speed and efficiency of their algorithms.

Decoupllng
The primary advantage of the ESPRESSO minimizer
becomes apparent when designing large finite state machines or complex, product-term intensive logic designs. In these cases,' ESPRESSO arrives at the minimize solution sooner, and frequently reduces .the logic
to a smaller number of product terms. In certain cases
where other CAD packages such as ABELTM (pRES,
TO) or CUPLTM minimize equations to greater than 8
product terms, iPLS II further reduces these equations
to allow the design to fit into devices supporting up to 8
product terms.

Decouple each EPLD with a ceramic capacitor in the
range of 0.01 to 0.2 p.F, depending on board frequency
and current consumption. For most applications, a
0.1 p.F capacitor will suffice. The following equation
produces the, exact value:
AICC

C = AVIAT

where

C = capacitor value
Alcc = IlllWmum switched curr~~t

i\ V

= switching level

For more information on ESPRESSO, refer to Logic
Minimization Algorithms for VLSI Synthesis, Brayton,
Hachtel, McMullen, and Sangiovanni-Vincentelli, lGuwer Academic Publishers.

AT '" switching time

For boards that contain mixed logic (EPLDs and
TTL), observe both EPLD and TTL decoupling practices.

References
[BRO 81]

D.W. Brown, "A State-Machine Synthesiz, er--SMS", Proc. 18th Design Automation
'Conference, pp. 301-304. Nashville, June
1981.
[HON 74]' S. J. Hong, R. G. Cain and D. L. Ostapko,
"MINI: A heuristic approach to logic minimization." IBM'Journal of Research and
Development, Vol. 18, pp. 443-458, September 1974.

Unused Inputs
, To minimize noise receptivity and power consumption,
all unused inputs to EPLDs should be connected to
Vee or GND. By default, iPLS II software assigns un~
used inputs to GND. These pins, shown on the pinout
representation of the iPLS II report file, should be connected to ground on the PCB. Pins listed as RESERVED on the report file must be left floating. Pins
markedN.C.have no internal device connections and
can also be left floating.

ABELTM is a trademark of Data 1/0 Corporation
CUPLTM is a trademark of Personal CAD Systems, Inc.

BOOLEAN MINIMIZATION
TECHNIQUES FOR PLA

LOGIC REFRESHER' COURSE

ARC~ITECTURES

Minimization of EPLD logic equations is normally performed by sophisticated algorithms that eliminate the
heed for tedious manual reductions. The sections provided here contain logic reference tables for cases where
manual reduction techniques may be desirable.

Minimization plays an important role in logic design.
Methods for minimization can be grouped into two
classes. Class 1 iricludesmanual methods for minimization, such as Boolean reduction or Karnaugh mapping.
Class 2 is computer-assisted minimization.
1-6

inter

OVERVIEW

Boolean Algebra

Karnaugh Maps

The Sum-of-PIoduct architecture used in EPLDs
makes Boolean algebra ideal for design analysis. The
following tables summarize standard Boolean functions.

Graphical representation of data is usually easier to analyze than strings of ones and zeros. The Karnaugh
Map techniques take advantage of this capability and
provide an important tool to the logic designer.

Properties

I

A·B
A+B

= B• A
=B+A

Commutative Property

Two Variables

Associative Property

= (A • B) • C
A + (B + C) = (A + B) + C
A • (B • C)

A • (B + C) = A • B + A • C
Distributive Property
A+B·C =(A+B)·(A+C)

296032-7

Postulates

0·1 = 0

0+0=0
0+1=0

1* 1 = 1

1

O· 0 = 0

+1=

Three Variables

0=1

1=0

1

Theorems

A·O = 0
A·1 = A
A·A = A
A·A = 0

A+O=A
A

+1=

296032-6

A=A

1

A+A=A
A+A=1

Four Variables
AB
CD

DeMorgan's Theorems

(A + B + C +
(A·B·C'O)

0)

A·S·C·O
A+S+C+O

Logic Functions

A·A
A+A
A

AANDA
AORA
A NOT

e

AS+ AB

A

B = A EXCLUSIVE OR B

0001 11 10
4 12 8

00

0

01

1 5 13 9

11

3

7 15 11

10 2

6 14 10

296032-9

1-7

OVERVIEW

Five Variables
BC
DE
00
01
11
10

A=O
0001 11
0 4 12
1 5 13
3 7 15
2 6 14

A=1
0001 11,10
16 20 28 24
17 21 29 25
19 23 31 27
18 22 30 26

10
8
9
11
10

BC
DE
00
01
11
10
296032-10

Six Variables
CD
EF"

A=O

00
01
11
10

A= 1

00
01
11
10
EF'

B=O
0001 11
0 4 12
1 5 13
3 7 15
2 6 14
32 36
33 37
35 39
34 38
0001

10
8
9
11
10

44 40
4S 41
47 43
46 42
11 10

B=1
0001 11 10
16 20 28 24
17 2129 25
19 23 3127
18 22 30 26
48 52
49 53
51 55
50 54
0001

60 56
6157
63 59
62 58
1110

CD
EF'

00
01
11
10
00
01
11
10
EF'

CD

CD

296032-11

T Truth Table

Flip-Flop Tables
This subsection includes truth tables and excitation tables for the flip-flops supported by EPLDs.

T

QN

QN+1

0

0
1
0
1

0
1
1
0

0

D Truth Table

D

QN

QN+1

0
0
1
1

0
1
0
1

0
0
1
1

1
"1

T Excitation Table

D Excitation Table

QN

QN+1

D

0
0
1
1

0
1
0
1

0
1
0
1

1-8

QN

QN+1

T

0
0
1
1

0
1
0
1

0
1
1
0

OVERVIEW

when input transitions are not detected over a short
period of time. The following paragraphs describe how
the Tur~ Bit affects power and speed in EPLDs.

JK Truth Table

J

K

QN

QN+1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
0
1
1
1
0

Turbo Oft (Low Power)
Intel EPLDs contain circuitry that monitors all inputs
for transitions. When a transition is detected while the
device is in standby mode, the circuit generates an active pulse. The leading edge of this pulse wakes the
device up and the device responds according to its programming, changing outputs as necessary. ,If no new
transitions occur during the active pulse, the device enters standby mode again. Outputs are always held valid
in standby mode. Input transitions thAt occur during
the active mode interval retrigger the active pulse. The
active pulse is different depending on the device
(SC060, SAC312, etc), but is typically 2-4 times the
propagation delay for a particular device.

JK Excitation Table
QN

QN+1

J

K

0
0
1
1

0
1
0
1

0
1
X
X

X
X
1
0

In applications with infrequent input transitions, standby mode can result in significant power savings (see the
appropriate data sheet for standby power vs. active
power). The slight speed loss associated with waking up
a device is in the range of 0-10 ns, which is small
enough to allow standby mode to be used with most
applications (see the appropriate data sheet for effect of
Turbo Bit on performance).

SR Truth Table

S

R

QN

QN+1

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

0
1
0
0
1
1

1

1

Turbo On (Faster Speed)

Illegal

In cases where the slight speed loss associated with
waking a device from standby mode cannot be traded
otT to save power, the Turbo bit can be enabled for
maximum speed operation. With the Turbo Bit enabled, the device is always in active mode, thus avoiding the wakeup delay. Note that data sheet performance is specified with the Turbo Bit enabled.

JK Excitation Table
QN

QN+1

S

R

0
0
1
1

0
1
0
1

0
1
0

X

X

0
1
0

The Turbo Bit is enabled/disabled via a TURBO =
ON or TURBO = OFF statement in an iPLS II ADF
OPTIONS: statement. It can also be enabled/disabled
by editing the JEDEC file, using device pro~ble
software. With TURBO = ON the device will be' pro.grammed for high speed; with TURBO := OFF the
device will be programmed for automatic standby
(power savings). The default state is OFF.

NOTES:

ON = Present State
ON + 1 = Next State
X = Don't Care

AUTOMATIC STANDBY MODE
(TURBO BIT)

PACKAGING

INTEL EPLDs contain a programmable bit, the Turbo
Bit, that optimizes devices for speed or power savings.
When TURBO = ON, EPLDs are optimized for
speed. When TURBO = OFF, they are optimized for
power savings by automatically entering standby mode

Intel EPLDs are available in severs1 packages to meet
the wide requirements of customer applications. Current information on available packages is available from
your local Intel field sales engineer. Detailed information on package dimensions, etc. for a particular package is provided in Packaging Outlines and Dimensions,
Order Number 321369, which covers all Intel packages.
1-9

inter

OV~RVIEW

ORDERING' INFORMATION
Intel EPLDs are identified as follows:

'M

D

5

L.,,-I' '-.,:-I

C

,"--..,.-J

I

,-X

X

X
--j

¥

Device

s
,--

s

+

~

Speed

TeclmolollY
C -CHMOS
AC- Advanced CHMOS

Package Type
A - Hermetic, Pin Grid Array
D ..:.. Hermetic, Type D (Cerdip) Dip
,N - Plastic, Leaded Chip Carrier
CJ - Ceramic, J Leaded Chip Carrier
P - Plastic Dip and Plastic Flatpack
R - Hei1netic, Leadless (::liip Carrier
X - Unpackaged Device
A - Indicates automotive operating temperature range (-4O"C to + 12S·C)
J -Indicates a JAN qualifiecidevice,but is for internal identification purposes only. All JAN devices must be
ordered by M38S10 part number. (Example: M38S10/42001 BQB), and will be marked in accordance,
with MIL-M-38S10 specifications.
L - Indicates extended' operating temperature range ( - 4O"C to + 8S·C) ~~press product with
160 + 8 hrs. dynamic burn-in.
'OM _ Indicates military operating temperature range (- SS·C to + 12S·C)

Q - Indicates ,commercialiemperature range (CfC to 7CfC) express product with 160 + 8hrs. dynamic burnT -

in.
Indicates extended temperature range ( - 4O"C to + 8S·C) express product without burn-in.
No letter indicates commercial temperature r~nge (CfC to 70"C) without burn-in.

Examples:
.QDSC060-4SCommercial with burn-in, ceramic Dip, 060 (600 gate) device, 4S nanosecond.
°On military temperatur~devices, B suffix indicates MIL-STD-883C level B processing.

1-10

'EPLDs Erasable Programmable
Logic Devices

2

DATA SHEET SPECIFICATIONS
The specifications in these data sheets reflect some changes in comparison to earlier
data sheets. These changes were made to provide more accurate and usable information
concerning Intel EPlDs. A summary of the changes follows.
D.C. Characteristics
ISB
Standby Current (formerly called ICC1).
ICC
Operating Current (formerly called ICC2). Test conditions have been specified
in greater detail.
.
A.C. Characteristics. (Synchronous)
fMAX Maximum Frequency (new. spec.). Maximum frequency operation with no
signals fed back to other macrocells.
fCNT Maximum Counting Frequency (formerly called f1). Maximum frequency
operation with some signals fed back to other macrocells.
teo
Output Register Valid from ClK (formerly called te01).
teNT Register Output Feedback to Register Input - Internal Path (formerly called
tP1)·
A.C. Characteristics (Asynchronous) .
fAMAX Maximum Frequency (new spec.). Maximum frequency operation with no
signals fed back to other macrocells.
fACNT Maximum Counting Frequency (formerly called fA1). Maximum frequency
operation with some signals fed back to other macrocells.
tACO Output Register Valid from ClK (formerly called tAC01).
tACNT Register Output Feedback to Register Input - Internal Path (formerly called
tAP1)·
Non-Turbo Mode
The Non-Turbo Mode column in several of the data sheets shows the additional time
required to power-up the device from standby mode. The column applies only when the
device is operated in non-turbo mode (Turbo Bit Off) in an application where the device
enters standby mode. See "Automatic Standby-Mode" in the Overview for additional
information.
000274-1

2·1

intJ

.
.
5C031...
300 GATE CHMOS H-SERIESERASABLE
P~OGRAMMABLE LO~IC DEVICE (H-EPLD)
.~ CHMOS·EPROM Technology Based UV

• High Performance, Low Power.
Replacement for SSI & MSI Devices
and Bipolar PLDs.

Erasable.
• Up to 18 Inputs (10 Dedicated & 8 I/O)
and 8 Outputs.
.

• Eight Macrocells with Programmable
I/O Architecture.

• Programmable "Security Bit" Allows
Total Protection of Proprietary Designs

• 100% Generically Testable EPROM
Logic Control Array.

• Icc (standby) 35 rnA (max)
Icc (10 MHz) 40 rnA (max)

• High Performance Upgrade for All
Commonly Used 20-pin PLDs.

• tpD = 40 ns (max)
• 20-pln 0.3" Windowed CERDIP Package
. (See Packaging Spec., Order # 231369)

2-2

November 1987
Order Number: 290154-001

SC031

The Intel 5C031 H-EPLD (H-series Erasable Programmable Logic Device) is capable of implementing over 300 equivalent gates of user-customized
logic functions through programming. This device
can be used to replace bipolar 'programmable logiC ,
arrays and LS TTL and 74HC, (CMOS) SSI and MSI
logic devices. The 5C031 can also be used as a
direct, low-power replacement for, almost all common 2Q-pin fuse-based programmable logic devices.
With 'its flexible' programmable I/O architecture, this
device has advanced functional capabilities beyond
that of typical programmable logic.

ARCHITECTURE DESCRIPTION
The architecture of the 5C031 is based on the "Sum
of Products" PLA (Programmable Logic Array) structure with a programmable AND array feeding into a
fixed OR array. This device can accommodate both
combinational and sequential logiC functions. A proprietary programmable I/O architecture provides individual selection of either combinational or registered output and feedback signals, all with selectable polarity.
The 5C031 contains 10 dedicated inputs as well as 8
input/output pins. These I/O pins can be individually
configured to be inputs, outputs or bi-directional I/O
pins. Each of these I/O pins is connected to a macrocell. The 5C031 contains 8 identical macrocells organized as shown in Figure 1.

The 5C031 H-EPLD uses CHMOS EPROM (floating
gate) cells as logic control elements instead of fuses. The CHMOS EPROM technology reduces power
consumption of H-EPLDs to less than 20% of a
comparable bipolar device without sacrificing speed
performance. In addition, the use of Intel's advanced
CHMOS II-E EPROM process technology enables
greater logic densities to be achieved with superior
speed and low-power performance over other comparable devices. EPROM technology allows these
devices to be 100% factory tested by programming
and erasing all the EPROM logic control elements.

Each macrocen (see Figure 2) consists of a PLA
(programmable logic array) block and an I/O architecture block, which contains a "0" type register.
The PLA block consists of eight 36-input AND gates
(TRUE & COMPLEMENT of 10 dedicated Inputs
plus the 8 feedback inputs from the eight macrocells), feeding into an OR gate. The output of this
PLA'block is fed into the I/O architecture block. The
different I/O and feedback options that are achievable from the 5C031 I/O block are shown in Figure
3.

The 5C031 is housed in a windowed 0.3" 20-pln DIP
and has the benefits of being an ideal prototyping
tool with its highly flexible I/O architecture.
.

2-3

5C031

CLOCK

.Q. 1 3 5 7 9 11 131517.1921232527293133,35
. 1. 4 6 8 10 12 14 16 18. 20 22 24 26 28 3 32 34

290154-2

Figure 1. 5C031 Architecture

2-4

l
CLOCK

.3
0

2

51"
4

7
6

1~

9
81"

1~

,13
15
1~
19
21
23
25
27
29
31
33
35
12
14
1~
18
~~
22
24
26
28
30
~~
34

OE

8o

o

""

ci
c
iiJ

2

O.~

l)

ta

o
o

tj'

~ .......~
~

II
n

6

n

7

CD

=

)

0)·

.~

...
0

1

I.

~ .'" .'"
l

4

4

11
NOTE 0

= I/O

2

l

I.

'" .'" '" .'" .'"
4

19

4

3

l

18

I.

4

4

i7

J.

~ .'" .'" ~ .'" .'" ~ .~ .'"
l

5

I.

4

'i6

l

6

I.

l

15

I.

7

... 1.

.. I.

4

14

8

4

13

'" 0

T
PRESET CLOCK

ARCHITECTURE
CONTROL

~

W Va

""'"

....

Co)

RESET

J..
1

.. ~

-

9

PIN IN WHICH LOGIC ARRAY INPUT IS FROt.! FEEDBACK PATH

------------------------------------------------------JIL\______________

L-____________________________________________________

PLA BLOCK

I/o

U'I

g

------------~

ARCHITECTURE
BLOCK
290154-3

SC031

,

.

'

.

-------------~-----------OUTPUT
SELECT
PRESET

l--<.....-+-I D

Q~--~--""~~

CK
PRODUCT
TERMS

..........".

QI--~-

'----"'"

RESET
'I

I
I
I
I
I
I
I,
I

rEEDBACK
SELECT

r2

._-----------------------_ ..

rEEDBACK

,

I,

290154-4

Figure 3. SC031 1/0 'Architecture Conttol

20 PIN CMOS COMPATIBILITY
The 5C031 is architected to be a logical su~rset of most 20 pin bipolar programmable array logic (PAL")
devices. The 1/0 and logic sections of the5C031 ~evice can be configured to' emulate any of the devices'
listed below. Designers can make use of this feature by reducing the power'()f PAL bUed systems (EPLDs are
much lower power), replacing multiple PAL inventory items with a single EPLD. Designers can 'also create new
20 pin PLD confi~urations by utilizing the indiVidual logic and o\Jtput controls of eaoh maorocell.
List of PAL devices logically compatible with the 5C031. ,

10H8
,

12H~

14H4
16H2
1,6H8
. 16C1
10LB
12L6
14L4

16L2
16L6 ,
16R8
1,6R6
16R4
16P8A
16RP8A
. 16RP6A
16RP4A

·PAL is a registered trademark of Monolithic Memories, Inc.

2-6

intJ

5C031

Prior to programming or after erasing, the 1/0 structure is configured for combinatorial active low output
with input (pin) feedback.

ment. This method greatly decreases the overall
programming time while programming reliability is
ensured as the incremental program margin of each
bit is continually monitored to determine when the bit
has been successfully programmed.

ERASURE CHARACTERISTICS

FUNCTIONAL TESTING

Erasure characteristics of the 5C031 are such that
erasure begins to occur upon exposure to light with
wavelengths shorter than approximately 4000A. It
should be noted that sunlight and certain types of
flourescent lamps have wavelengths in the 30004000A. Data shows that constant exposure to room
level flourescent lighting could erase the typical
SC031 in approximately three years, while it would
take approximately one week to cause erasure when
exposed to direct sunlight. If the SC031 is to be exposed to these types of lighting conditions for extended periods of time, conductive opaque labels
should be placed over the device window to prevent
unintentional erasure.

Since the logical. operation of the SC031 is controlled by EPROM elements, the device is completely testable. Each programmable EPROM bit controlling the internal logic is tested using application-independent test program patterns. After testing, the
devices are erased before shipment to customers.
No post-programming tests of the EPROM array are
required.

Erased-State Configuration

The testability and reliability of EPROM-based programmable logic devices is an important feature
over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
user to perform post-programming tests to insure
proper programming. These tests must be done at
the device level because of the cummulative error
effect. For example, a board containing ten devices
each possessing a 2% device fallout tram~lates into
an 18% fallout at the board level (it should be noted
that programming fallout of fuse-based programmable logic devices is typically 2% or higher).

The recommended erasure procedure for the SC031
is exposure to shortwave' ultraviolet light with a
wavelength of 2S37 A. The integrated dose (Le., UV
intensity X exposure time) for erasure should be a
minimum of fifteen (1S) Wsec/cm'2. The erasure
time with this dosage is approximately 1S to 20 minutes using an ultraviolet lamp with a 12,000 jJ-W/cm 2
power rating. The SC031 should be placed ,within
one inch of the lamp tubes during erasure. The maximum integrated dose the SC031 can be exposed to
without damage is 7258 Wsec/cm2 (1 week at
12,000 jJ-W/cm 2). Exposure to high intensity UVlight
for longer periods may cause permanent damage to
the device.

DESIGN RECOMMENDATIONS

inteligent Programming™ Algorithm

To take rnaximum advantage of EPLD technology, it
is recommended that the designer use the Modular
EPLDLogic Design (MELD) method. The MELD philosophy is derived from the modular programming
method used in software development. In a modular
software development environment, the engineer
designs a modular program (typically on a development system), stores it in memory (EPRO~), and
tests the module for functionality. A hardware deSigner using EPLDs can use this, same approach
when designing logic. The designer develops a modular logic design on the Intel Programmable Logic
Development System II (iPLDS II), stores it in "memory"(the EPROM control elements, of the EPLD),
and again tests the module for functionality. If the
design is in error, the logic designer reprograms the
EPLD with his new design as easily as a software
designer can download a new program into memory.

The SC031 supports the inteligent Programming Algorithm which rapidly programs Intel H-ELPDs (and
EPROMs) using an efficient and reliable method.
The inteligent Programming Algorithm is particularly
suited to the production programming environ-

The MELD philosophy is new to programmable logic
because EPROM-based PLDs are new. A modular
logic development process using fused-based PI:.Ds
would be wasteful since a fused-based device cannot be erased an re-used.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of the SC031 are connected (in the "1" state).
Each of the connected control bits are selectively
disconnected by programming the EPROM cells into
their "0" state. Programming voltage and waveform
specifications are available by request from Intel to
support programming of the SC031.

2-7

inter

SC031

For proper operation,it is recommended tha:t all input and output pins be constrained to the voltage
range GND < (VIN or Vour) < Vee. Unused inpu:ts
should be tied to an appropriate logic level (e.g. either Vee or GND) to minimize device pQwer consumption. Reserved pins (as indicated in the iPLDS
REPORT file) should be left floating (no connect) so
that the pin can attain the appropriate logic level. A
power supply decoupling capaCitor of at least 0.2 p.F
must be connected directly between Vee and GND
pins of the device.

logic, does automatic pin assignments and produces
the best design fit for the selected EPLD. It is user
friendly with guided menus, on-line Help messages
.
and soft key inputs. '.
In addition, the iPLDS II contains programmer hard·
ware in the form of an iUP-PC Universal Programmer-Personal CQmputer to enable the user to program EPLDs, read and verify programmed devices
and also to graphically edit programming tiles. The
software generates industry standard JEDEC object
code output files which can.be downloaded to other
programmers as well.

DESIGN SECURITY
The iPLDS II has interfaces to popular schematic
capture packages (including Dash series. from FutureNet* and PC CAPS from PCAD)" to enable designs to be entered using schematics. A more integrated schematic entry method is, provided by
SCHEMA II-PLD, a low-cost schematic capture
package that supports EPLD primitives and user-defined macro symbols. SCHEMA II-PLD contains the
EPLD Design Manager, which provides a single user
interface to both SCHEMA II-PLD and iPLS II software.· The other design formats supported are Boolean equation entry and State Machine design entry.

A single EPROM bit provides a programmable design security feature that controls the access to the
data programmed into the device. If this bit is set, a
proprietary design within the device cannot be copied. This EPROM security bit enables a higher degree of design security than fused-based devices
since programmed data within EPROM cells is invisible even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, will be reset by erasing the device.
.

LATCH-UP IMMUNITY

The iPLDS operates on the IBMt PC/XT, PC/AT, or
other compatible machine with the ,following configuration:

All of the input, I/O, and clock pins of the 5C031
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 5C031 is designed with Intel's proprietary CHMOS II-E EPROM
process. Thus, each of the 5C031 pins will not experience latch-up with currents up -to 100 mA and voltages ranging from -W to Vee + W; Furthermore,
the programming pin is designed to resist latch-up to
the 13.5V maximum device limit.

1. At least one floppy disk drive and hard disk drive.
2. MS-DOStt Operating System Version 3.0 or
greater.
3. 640K Memory.
4. Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS).
5. A color monitor is suggested.
Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)
,OFutureNet is a registered trademark of FutureNet
Corporation. DASH is a trademark of, FutureNet·
Corporation.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (IPLDS II)
The iPLDS II graphically shown in Figure 5 provides
all the tools needed to design with Intel H-Series
EPLDs or compatible devices. In addition to providing development assistance, iPLDS II insulates the
user from having to know all the intricate detailS of
EPLD architecture (the machine will optimize a design to benefit from architectual features). It contains
comprehensive third generation software that supports four different design entry methods, minimizes

"PC-CAPS is a trademark of P-CAD Corporation.
tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

2-8

5C031

II)

~--------------------------, ~

i

Figure 5.IPLDS II Intel Programmable logic Development System

2·9

inter

5C031

• Notice: Stresses above those listed under '~bso­
lute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operational sections of this specification is not implied Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
Symbol

Min

Max

Units

Vee

Supply Voltage(1)

Parameter

-2.0

7.0

V

Vpp

Programming
Supply Voltage(1)

-2.0

13.5

V

VI

DC Input Voltage(1)(2)

-0.5 Vee + 0.5

V

t919

Storage Temperature .

-65

+150

·C

tamb

Ambient Temperature(3) -10

+85

·C

NOTES:
1. Voltages with respect to ground.
2. Minimum DC input is -0.5V. During transitions, the inputs may undershoot to - 2.0V for periods less than 20 ns
under no load conditions.
3. Under bias. Extended temperature versions are also
available.

D.C. CHARACTERISTICS TA
Symbol

=

O· to +70·C, Vee = 5V ±5%

Parameter/Test Conditions

Min

Typ

Max

Unit

VIH(4)

High Level Input Voltage

2.0

Vee + 0.3

V

Vll(4)

Low Level Input Voltage

-0.3

0.8

V

VOH(5)

High Level Output Voltage
10 = -4.0 rnA D.C., Vce =; min.

VOL

Low Level Output Voltage
10 = 4.0 rnA D.C., Vee = min.

0.45

V

II

Input Leakage Current
Vee = max., GND < VOUT < Vee

±10

p..A

loz

Output Leakage Current
Vee = max., GND < VOUT < Vee

±10

p..A

Isel6)

Output Short Circuit Current
Vee = max., VOUT = 0.5V

10'

rnA

lee

Power Supply Current
Vee = max., VIN = Vee or GND
No Load, Input Freq. = 1 MHz
Active mode (Turbo = Off)
Device prog. as 8-bit Ctr.

40

rnA

V

2.4

15

NOTES:
4. Absolute values with respect to device GND; all over and undershoots due to system or tester noise are included.
5.10 at eMOS levels (3.84V) = -2 mA.
6. Not more than 1 output should be fested at a time. Duration of that test must not exceed 1 second.

2-10

5C031

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

~=X: >TEST POINTS<

5V
INPUT
8554

DEVICE_
OUTPUT-

TO TEST

SYSTEW

1~-TEST POINTS-~

OUTPUT

=~CL (INCLUDES
JIG
CAPACITANCE)

3414

DEVICE INPUT
RISE AND FALL

nWES<8ns

Ct..

_

-

x:

290154-7

A.c. resting: 1npu1s are Driven at 3.0V for a logic "I" and OV for
a logic "0". Timing Meaauremen1S are made at 2.OV for a logic
"I" and O.BV for a logic "0" on Inputs. Outputs are measured at

~

-

a 1.5V point.
290154-8

= 50pF

A.C. CHARACTERISTICS TA = O·Cto +70"C, Vee = 5V ±5%, Turbo Bit Programmed(7)
Symbol

From

SC031·40

To
Min

tpD

Typ

SC031·50
Max

Comb. Output

1/0

Min

Typ

Unit
Max

40

50

ns

tpzx(S)

I or 1/0

Output Enable

40

50

ns

tpxz(S)

I or 1/0

Output Disable

40

50

ns

teLR

Asynch Reset

QReset

40

50

ns

NOTES:
7. Typical Values are at TA = 2S'C, Vee = SV, Active Mode
S. tpzx and tpxz are measured'at ±O.SV from steady state voltage as driven by spec. output load. tpxz is measured with
CL - 5 pF.

CAPACITANCE
Symbol

Typ

Max

Unit

20

pF

20

pF

Clock Pin Capacitance

= OV, f = 1.0 MHz
VOUT = OV, f = 1.0 MHz
VOUT = OV, f = 1.0 MHz

20

pF

VppPin

Pin 11

50

pF

Parameter

CIN

Input Capacitance

CaUT

Output Capacitance

CCLK

CvPP

Conditions
VIN

2·11

Min

5C031

SYNCHRONOUS CLOCK MODEA.C. CHARACTERISTICS
TA

=

c·c to +70·C, vcc = 5.0V ±5%, Turbo Bit On(7)

symbol.1

5C031·40

Par$meter
Min

fMAX

Max. Frequency
1/(tCl + teH)- No Feedback

fCNT

Max. Count Frequency
1/tCNT - With Feedback

22

tsu

110 Setup Time t9 ClK
I or 110 Hold after ClK High

30

tH
teo

Typ

5C031·50
Max

29.5

,

Min

Typ

Unit
Max

2~.5

MHz

18

MHz

32

ns

0

0

' ClK High to Output Valid

tCNT

Register Outpot Feedback to
Register Input - Internal
Path

tCH

elK High Time

17

tel

ClKlowTime

17

tSET

Synch. Set to Q Set

28

ns

45

55

ns

ns

22

ns

22
40

2-12

ns

24

50

ns

intJ

5C031

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR

I/o

COMBINATORIA~

INPUT

OUTPUT

f~j
I----

COMBINATORIAL OR
REGISTERED OUTPUT

t pxz -

I

r

HIGH IMPEDANCE
3-STATE

,
I

tpzx

-

~~

....

HIGH IMPEDANCE
3-STATE

VALID OUTPUT

tCLR

\

\.

ASYNCHRONOUSLY
CLEAR OUTPUT
290154-8

SYNCHRONOUS CLOCK MODE

ClK1

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT}

VALID OUTPUT
290154-9

2-13

5C032
300 GATE CHMOS H-SERIES ERASABLE
PROGRAMMABLE LOGIC DEVICE (H-EPLD)
• High Performance, Low Power
Replacement for 881 • MSI Devices '
and Bipolar PLDa
• Eight' MacrOcella with Programmable
1/0 Architecture

• 100% Generically Teatable EPROM
logic Con,trol Array
• High Performance Upgrade for All
Commonly Uaed 2O-pln PLDa

• CHMOS EPROM Technology Based UV
Erasable
• ,Up to 18 Inputs (10 Dedicated. 8 1/0)
and 8 Outputs
• , Programmable "Security 81t" Allowa
Total Protection ,of Proprietary Designs
• Icc (standby) 100 I'A (max)
Icc (10 MHz) 25 mA (max)
• tpD = 25ns (max)
• 2o-pln 0.3" PlastiC DIP Package
(See Packaging Spec•• Order # 281369)

,

Vee

INPUT/CLK
INPUT

I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O

INPUT
INPUT
INPUT
INPUT
INPUT
GND

11

flVpp
290155-1

Pin Configuration

2·14

November 1887

Order Number: 290155-001

5C032

The Intel 5C032 H-EPLO (H-series Erasable Programmable Logic Device) is capable of implementing over 300 equivalent gates of user-customized
logic functions through programming. This device
can be used to replace bipolar programmable logic
arrays and LS TTL and 74HC (CMOS) SSI and MSI
logic devices. The 5C032 can also be used as a
direct, low-power replacement for almost all common 20-pin fuse-based programmable logiC devices.
With its flexible programmable 1/0 architecture, this
device has advanced functional capabilities beyond
that of typical programmable logic.

ARCHITECTURE DESCRIPTION
The architecture of the 5C032 is based on the "Sum
of Products" PLA (Programmable Logic Array) structure with a programmable AND array feeding into a
fixed OR array. This device can accommodate both
combinational and sequential logic functions. A proprietary programmable 1/0 architecture provides individual selection of either combinational or registered output and feedback signals, all with selectable polarity.
The 5C032 contains 10 dedicated inputs as well as 8
input/output pins. These 1/0 pins can be individually
configured to be inputs, outputs or bi-directionall/O
pins. Each of these 1/0 pins is connected to a macrocell. The 5C032 contains 8 identical macrocells organized as shown in Figure 1.

The 5C032 H-EPLO uses CHMOS EPROM (floating
gate) cells as logic control elements instead of fuses. The CHMOS EPROM technology reduces power
consumption of H-EPLOs to less than 20% of a
comparable bipolar device without sacrificing speed
performance. In addition, the use of Intel's advanced
CHMOS H-E EPROM process technology enables
greater logic densities to be achieved with superior
speed and low-power performance over other comparable devices. Intel's 5C032 has the benefit of
"zero" stand-by power not available on other programmable logic devices. EPROM technology allows these devices to be 100% factory tested by
programming and erasing all the EPROM logic control elements.

Each macrocell (see Figure 2) consists of a PLA
(programmable logic array) block and an 1/0 architecture block, which contains a "0" type register.
The PLA block consists of eight 36-input AND gates
(TRUE & COMPLEMENT of 10 dedicated inputs
plus the 8 feedback inputs from the eight macrocells), feeding into an OR gate. The output of this
PLA block is fed into the 1/0 architecture block. The
different 1/0 and feedback options that are available
in the 5C032 1/0 block are shown in Figure 3.

The 5C032 with its superior speed and power performance and its plastic package is an ideal production vehicle for high-volume manufacturing. Most
commonly used 20-pin bipolar PLOs can be easily
replaced with this device allowing for tremendous
power consumption savings without saCrificing
speed of operation.

2-15

5C032

CLOCK

0

3 5 7 9 11 13 15 17 1921 2325272931 3335

:1 It tIt Il IIf IIf 11 Ir !r11 !i II 11

r

.....
:- ;;;-:

PLA BLOCK

~I

2

I' I

I

I

I

I

I

I

FEEDBACK

PLA-BLOCK

3

I

I

I

I

PLA BLOCK

4

-

I

'I

I

I

I

-

'I

I

I

I

rI

I

I

-

'I

I

I

I

I

I

I

I
-

I

'l

r1

I

I

I
-

--1

I

I

I

I

I

I

I

I

f

I/O
ARCHITECTURE
CONTROL CK
I

J

I

PLA BLOCK
9

I/O
ARCHITECTURE
CONTROL CK

I

PLA BLOCK

8

I/O
ARCHITECTURE
CONTROL CK

~

-

~

16

15

I

PLA BLOCK

7

IJ.

ARCHlft~RE ~.
CONTROL CIC

I

~ 18

I

"-

I,

L

I

I/O
ARCHITECTURE
CONTROL CK

I

PLA BLOCK

6

19

I/O
ARCHITECTUR£ ~ 17
CONTROL CK .

r-

PLA BLOCK

5

I

I/O'
1--1 ARCHITECTURE .
CONTROL ere

'/

I

~

I/O
ARCHITECTURE
CONTROL CK

7

.

•

~.

14

~.

13

~.

12

1
_1

280165-2

FIgure 1. 6C032 Archltec:!ture

2·16

l
CLOCK
3
0

2...

5
4

7
6

9
8

11
10

13
12

17

15
14

16

21

19
18

20

23
22

25
24

27
26

31

29
28

30

33
32

35
34

OE

8J
D

o

~iil I
C

2

::IE
(I)

1X3

DD
"""""'"" fP
D
W Va-

!I' I!!

I\)

i

.
0

I-

g4

CONTROL

Cl

.

o
.!.. :. IX

.....

iII:
Ie

CLOCK

1l..5

6

8:

I ~ ~~ ~ ~ ~~ ~ ~ ~~ ~~ ~ ~ ~~ ~ ~ ~~ ~ l.j ~ "rl
~~ D
7

.j

l

4

l.

l,j

l

4

l.

l,j

l,j

l.

l,j

,j

l

4

l.j

l.j

,j

-

l.j

-- - _..
NOTE D

11
2
19
3
18
4
17
5
i6 6
=I/O PIN IN WHICH LOGIC ARRAY INPUT IS FROM FEEDBACK PATH

1~

7

14

8

13

9

L-____________________________________________________- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --JI\L-____________

~-----------J

PLA BLOCK

I/O ARCHITECTURE
BLOCK
290155-3

i

5C032

DE

r-------------------PRODUCT
TERMS

I/O

FEEDBACK

L__________________ _
290155-10

Figure 3. 5C032 1/0 Architecture Control

20 PIN CMOS COMPATIBILITY
The 5C032 is architected to be a logical superset of most 20 pin bipolar programmable array logic (PAL·)
devices. The 1/0 and logic sections of the 5C032 device can be configured to emulate any of the devices
listed below. Designers can make use of this feature by reducing the power of PAL based systems (EPLDs are
much lower power), replacing multiple PAL inventory items with a single EPLD. Designers can also create new
20 pin PLD configurations by utilizing the individual logic and. output controls of eacn macrocell.
List of PAL devices logically compatible with the 5C032.
10H8
16L2
12H6
16L8
14H4
16R8
16H2
16R6
16H8
16R4
16C1
16P8A
10LB
16RP8A
12L6
16RP6A
14L4
16RP4A
·PAL is a registered trademark of Monolithic Memories, Inc.

2·18

inter

5C032

Prior to programming or after erasing, the 1/0 structure is configured for combinatorial active low output
with input (pin) feedback.

ment. This method greatly decreases the overall
programming time· while programming reliability is
ensured as the incremental program margin of each
bit is continually monitored to determine when the bit
has been successfully programmed.

ERASURE CHARACTERISTICS

FUNCTIONAL TESTING

Erasure characteristics of the 5C032 are such that
erasure begins to occur upon exposure to light with
wavelengths shorter than approximately 4000A. It
should be noted that sunlight and certain types of
flourescent lamps have wavelengths in the 30004000A. Data shows that constant exposure to room
level flourescent lighting could erase the typical
5C032 in approximately three years, while it would
take approximately one week to cause erasure when
exposed to direct sunlight. If the 5C032 is to be exposed to these types of lighting conditions for extended periods of time, conductive opaque labels
should be placed over the, device window to prevent
unintentional erasure.

Since the logical operation of the 5C032 is controlled by EPROM elements, the device is completely testable. Each programmable EPROM bit controlling the internal logic is tested using application-independent test program patterns. After testing, the
devices are erased before shipment to customers.
No post-programming tests of the EPROM array are
required.

Erased-State Configuration

The testability and reliability of EPROM-based programmable logic devices is an important feature
over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
user to perform post-programming tests to insure
proper programming. These tests must be done at
the device level because of the cummulative error
effect. For example, a board containing ten devices
each possessing a 2% device fallout translates into
an 18% fallout at the board level (it should be noted
that programming fallout of fuse-based programmable logic devices is typically 2% or higher).

The recommended erasure procedure for the 5C032
is exposure to shortwave ultraviolet light with a
wavelength of 2537A. The integrated dose (Le., UV
intensity x exposure time) for erasure should be a
minimum of fifteen (15) Wsec/cm 2. The erasure
time with this dosage is approximately 15 to 20 minutes using an ultraviolet lamp with a 12,000 /JoW/cm 2
power rating. The 5C032 should be placed within
one inch of the lamp tubes during erasure. The maximum integrated dose the 5C032 can be exposed to
without damage is 7258 Wsec/cm 2 (1 week at
12,000 /JoW/cm 2). Exposure to high intensity UV light
for longer periods may cause permanent damage to
the device.

DESIGN RECOMMENDATIONS

Inteligent Programmlng™ Algorithm

To take maximum advantage of EPLD technology, it
is recommended that the designer use the Modular
EPLDLogic Design (MELD) method. The MELD philosophy is derived from the modular programming
method used in software development. In a modular
software development environment, the engineer
designs a modular program (typically on a development system), stores it in memory (EPROM), and
tests the module for functionality. A hardware deSigner using EPLDs can use this same approach
when designing logic. The deSigner develops a modular logic design on the Intel Programmable Logic
Development System II (iPLDS II), stores it in "memory" (the EPROM control elements of the EPLD),
and again tests the module for functionality. If the
design is in error, the logic designer reprograms the
EPLD with his new design as easily as a software
designer can download a new program into memory.

The 5C032 supports the inteligent Programming Algorithm which rapidly programs Intel H-ELPDs (and
EPROMs) using an efficient and reliable method.
The inteligent Programming Algorithm is particularly
suited to the production programming environ-

The MELD philosophy is new to programmable logic
because EPROM-based PLDs are new. A modular
logic development process using fused-based PLDs
would be wasteful since a fused-based device cannot be erased an re-used.

PROGRAMMING CHARACTERISTICS
Initially, .and after erasure, all the EPROM control
bits of the 5C032 are connected (in the "1" state).
Each of the connected control bits are selectively
disconnected by programming the EPROM cells into
their "0" state. Programming voltage and waveform
specifications are available by request from Intel to
support programming of the device.

2-19

5C032

For proper operation,it is recommended that all input and output pins be constrained to the voltage
range GND. < (V,N or VOUT) < Vee. Unused inputs
should be tied to an appropriate logic level (e.g. ei-.
ther Vee or GND) to minimize device power con·
sumption. Reserved pins (as indicated in the iPLDS
REPORT file) should be left floating (no connect) so
that the pin can attain the appropriate logic level. A
power supply decoupling capacitor of at least 0.2 p,F
must be connected directly between Vee and GND
pins of the device.
.

logiC, does automatic pin asSignments and produces
the best design fit for the selected EPLD. It is Liser
friendly with guided menus, on-line Help messages
and.softkey inputs.
In addition, the iPLDS II contains programmer hardware in the form of an iUP-PC Universal Programmer-Personal Computer to enable the user to program EPLDs, read and verify programmed devices
and· also to graphically edit programming files. The
software generates· industry standard JEDEC object
code output files which can be downloaded to other
programmers as well.

DESIGN SECURITY
The iPLDS II has interfaces to popular schematic
capture packages (including Dash series from
FutureNet* and PC CAPS from PCAD) * • to enable
designs to be entered using schematics. A more integrated schematic entry method is provided by
SCHEMA II-PLD, a tow-cost schematic capture
package that supports EPLD primitives and user-defined macro symbols. SCHEMA II-PLD contains the
EPLD Design Manager, which provides a single user
interface to both SCHEMA II-PLD and iPLS II software. The other design formats supported are
Boolean equation entry and State Machine design
entry.

A single EPROM· bit provides a programmable design security feature that controls the access to the
data programmed into the device. If this bit is set, a
proprietary design within the device cannot be copied .. This EPROM security bit enables a higher degree of design security than fused-based devices
since programmed data within EPROM cells is invisible even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, wi~1 be reset by erasing the device;

LATCH-UP IMMUNITY
TheiPLDS operates on the IBMt PC/XT, PCI AT, or
other compatible machine with the following configu"
ration:

All of the input, 1/0, and clock pins of the SC032
have been designed to resist latch-up which is inherent in inferior CMOS structures. The SC032 is designed with Intel's proprietary·CHMOS II-E EPROM
process. Thus, each of the SC032 pins will not experience latch-up with· currents up to 100 mA and volt·
ages ranging from -W to Vee + 1V. Furthermore,
the programming pin is designed to resist latch-up to
the 13.SV maximum device limit.

1. At least one floppy disk drive and hard disk drive.
2. MS-DOStt Operating System Version 3.0 or
greater.
3. 640K Memory.
4. Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS II).
S. A color monitor is suggested.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (IPLDS II)

Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)

The iPLDS II graphically shown in Figure S provides
all the tools needed to design with Intel H-Series
EPLDs or compatible devices. In addition to providing development assistance, iPLDS II insulates the
user from having to know all the intricate details of
EPLD architecture (the machine will optimize a design to benefit from architectual features). It contains
comprehensive third generation software that sup·
ports four different design entry methods, minimizes

*FutureNet is a registered trademark of FutureNet
Corporation. DASH is a trademark of FutureNet
Corporation.
"PC-CAPS is a trademark of P-CAD Corporation.
tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

2-20

5C032

Figure 5. IPLDS II Intel Programmable Logic Development System

2-21

5C032

• Notice: Stresses above those listed under ':4bsolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS'"
Parameter

Symbol

Min

Max

Unit

Vee

Supply Voltage(l)

-2.0

7.0

V

Vpp

Programming
Supply Voltage(l)

-2.0

13.5

V

VI

DC Input Voltage(1)(2)

-0.5 Vee + 0.5

V

tsta

Storage Temperature

-65

+150

·C

tamb

Ambient Temperature(4)

-10

+85

·C

NOTES:
1. Voltages with respect to ground.
2. Minimum DC input is -0.5V. During transitions, the inputs may undershoot to -2.0V for periods less than 20 ns
under no load conditions.
3. Under bias, Extended temperature versions are also
available.
4. Extended temperature versions also available.

D.C. CHARACTERISTICS
Symbol

TA = O·C to 70"C, Vee

ParameterlTest Conditions

= 5V

± 5%

Min

VIH(5)

High Level Input Voltage

2.0

VIL(5)

Low Level Input Voltage

-0.3

VOH(6)

High Level Output Voltage
10 = -4.0 mA D.C., Vee. = min.

VOL

Low Level Output Voltage
10 = 4.0 mA D.C., Vee = min.

Typ

Max
Vec

+ 0.3

0.8

2.4

Unit
V
V
V

0.45

-V

II

_Input Leakage Current
Vee = max., GND < VOUT- < Vee

±10

p.A

loz

Output Leakage Current
Vee = max., GND < VOUT < Vcc

±10

p.A

Ise(7)

Output Short Circuit Current
Vee = max., VOUT = 0.5V

10

mA

ISB(8)

Standby Current
Vce = max., VIN = Vee or GND,
Standby Mode

10

100

p.A

lee(9)

Power Supply Current
Vee = max., VIN = Vcc or GND,
No Load, Input Freq. = 10 MHz
Active Mode (Turbo =. Off),
Device Prog. as 8-bit Ctr.

15

25

mA

NOTES:
5. Absolute values with respect to device GNO; all over- and' undershoots due to system or tester noise are included.
6.10 at CMOS levels (3.84V) = -2 mAo
7. Not more than 1 output should be tested ata time. Duration of that test must not exceed 1 second,
8. With Turbo Bit = Off, device automatically enters lItandby mode approximately 100 ns after last input transition.
9. Maximum Active Current at operational frequency is less than 40 mAo

2-22

inter

5C032

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

.----5V

3JJ-yUJ
o..AO.8 >TEST POINTS<

INPUT

ViE

~

855.0.

r:::--+-4--C> SYSTE~
TO TEST

DEVICE
OUTPUTL

1~-TEST POINTS-~

OUTPUT

290155-7

341.0.

A.C. Testing: Inputs are Driven at 3.0V for a logic "1" and OV for
a logic "0". Timing Measurements are made at 2.0V for a logic
"1" and O.BV for a logic "0" on Inputs. Outputs are measured at
a 1.5V point.

DEVICE INPUT
RISE AND fAll
TI~ES < 6 ns

290155-6

A.C. CHARACTERISTICS
Symbol

From

TA

=

O·C to

+ 70·C, VCC =

5V ± 5%, Turbo Bit On(10)

5C032-25

To

5C032-30

5C032-35
Unit

Min

Typ

Max

Min

Typ

Max

tpD

lorl/O

Comb. Output

25

30

tpZX(ll)

lorl/O

Output Enable

25

tpXZ(ll)

lorl/O

Output Disable

25

Min

Typ

Max
35

ns

30

35

ns

30

35

ns

NOTES:
10. Typ. values are at TA = 25°C, Vee = 5V, Active Mode.
11. tpzx and tpxz are measured at ±0.5V from steady state voltage as driven by spec. output load. tpxz is measured with
Cl = 5 pF.

CAPACITANCE
Symbol

Parameter

Conditions

CIN

Input Capacitance

VIN =' OV, f

COUT

Output Capacitance

VOUT

CCLK

Clock Pin Capacitance

CVpp(12)

Vpp Pin

VOUT

=
=

=

OV, f
OV, f

NOTE:
12. Vpp is on Pin 11.

2-23

Min

Typ

Max

Unit

1.0 MHz

20

pF

=
=

1.0 MHz

20

pF

1.0 MHz

20

pF

50

pF

5C032

A.C.. CHARACTERISTICS ,rA =. O·C to70·C, Vcc =

5V

± 5%, Turbo Bit On (10)

SYNCHRONOUS CLOCK MODE
Symbol

5C032·30

5C032·25

Parameter
Min

Typ

Max

Min

Typ

SC032·35

Max

Min

Typ

Unit

Max

tMAX

Max. Frequency
1/tsu - No Feedback

47.6

43.5

40

MHz

tCNT

Max. Count Frequency
1 /teNT - with Feedback

33.3

28.5

25

MHz

tsu

Input Setup Time to CLK

21

23

25

ns

tH

I or 1/0 Hold after CLK High

tco

CLK High to Output Valid

16

17

20

ns

tCNT

Register Output Feedback
to Register Input - Internal
Path

30

35

40

ns

tCH

CLK High Time

10

11

12

ns

tCL

CLKLowTime

10

11

12

ns

0

2-24

ns

0

0

5C032

SWITCHING WAVEFORMS
COMeINATOIIlIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

COMBINATORIAL OR

~~]..------!---tpxz I

'/~

____________________________
J
REGISTERED OUTPUT

HIGH IMPEDANCE
3-STATE

______~H~IG~H~IM~P~E~DA~N~C~E_________
3- STATE

~~,,~------~

VALID OUTPUT
290155-8

" SYNCHRONOUS CLOCK MODE

CLK!

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT
290155-9

2·25

inter

5C032

Current in Relation to Frequency

Current In Relatl on to Temperature

50

50

40

40

~

30

]

20

E

lURB~V

V

./

V

""

~

E

]

>;",

10

r--

30
20
10

~NON-TURBO

0

0
0

5

20

0

10 15 20 25 30 35 40

=

O'C, Vee

=

,

40

60

80 85

TEMP(C)

fCNr ;;:
:::> '"
":
~~ ....
c..> ~ ~ ~~

1=

ClKl

Vee

INPUT1

1/0.15

INPUT4

1/0.1

1/0.14

1/0.16
1/0.15

1/0.13

1/0.3

1/0.14

1/0.12

1/0.4

1/0.13

1/0.5

1/0.12

1/0.7

1/0.11

NC

21

1/0.2

1/0.6
1/0.7
1/0.8
INPUT2
GND

9

1/0.11
1/0.10

Ne

1/0.10
1/0.9

cq

~

-

~

~:::>

INPUT3
CLK2

c c
~ ~

f::!

~ Si:::>~"!

290104-28

290104-1

5C060 Pin Configurations

2-27

November 1987
Order Number: 290104-005

5C060/5C090
.,

vCc '

elKl
INPUT1

IN~UH2'

INPUT2

INPUTll
INPUT10

INPUT3
1/0.1
1/0.2,

1/0.2
1/0.3 '
1/0.4
1/0.5
1/0.6
1/0.7
1/0.8
1/0.9
1/0.10
1/0.11

1/0.24
6

1/0.23
, 1/0.22
1/0.21
I/Q.20

1/0.6

1/0.19

1/0.7

1/0.18

,1/0.8

1/0.17

1/0.9

1/0.16'

1/0.10

1/0.15

1/0.11

1/0.14

1/0.12

1/0.13

INPUT4

INPUTe

INPUTS

INPUT8

INPUT6

INPUT7

Ne

NC
1/0.23
1/0.22
1/0;21
I/o.~o

'1/0.19 '
1/0.18,
1/0.17
1/0.16
1/0.15
1/0.14

GND

,290104-2

SC090 Pin Configurations
The Intel 5C060 and 5C090 H-EPLDs (H-series Progr'ammabllll Logic Devices) are capable of implementing over 600 and 900 respectively of equivalent
gates of user-customized logic, functions through
programming. Both devices can be used, to replace
low-end gate arrays, multiple programmable logic arrays and LS TIL and 74HC (CMOS), SSI and MSI
logic devices. The 5C060 can also be used as a
direct, low-power replacement for most, common
24-pin fuse-based programmable logic devices. With
their revolutionary programmable 110 architecture,
both devices have advanced functional capabilities
beyond that of typical programmable logic.

The erasability of EPLDs introduces the designer to'
a new concept in hardware design 'called Modular
EPLD Logic Design (MELD). Just as modular software design speeds development time and reduces
errors by isolating the~ to. a specific module, ~he,
MELD philosophy aids in hardware deSign. Adesigner can develop his modular design on the Intel Programmable Logic Dljlvelopment System II (iPLDS II)
and test individual modules for functionality. If one of
the modules has a design flaw, the designer' merely
erases the part and starts anew (since the 5C060
and 5C090 are EPROM-based, there is no waste
associated with modular design as there would be in
fuse-based PLDs).

The 5C060 and 5C090 H-EPLDs use CHMOS
EPROM (floating gate) cells as logic control elements instead of fuses. The CHMOS,EPROM technology reduces power consumption of H-EPLDs to
less than 20% of a comparable bipolar device without sacrificing speed performance. In addition, Intel's advanced CHMOS II-E EPROM ,process technology enables greater logic densities to be
achieved with' superior speed and low-power performance over other comparable devices. Intel's
H-ELPDs add the benefits of "zero" stand-by power
not available on other pr~ra~mable logic devices.
EPROM technology allows these devices to be
100% factory tested. by programming and erasing all
the EPROM logic control elements.

The architecture of the 5C060 and 5C090 is based
on the "Sum of Products" PLA (Programmable Logic Array) structure with a programmable AND array
feeding into a fixed OR array. Both devices accomodate combinational and sequential logic functions. A
proprietary programmable 110' architecture provides
individual selection of either combinatorial or registered output and feedback signals all with selectable
polarity.
A feature unique to the 5C060 ana SC090 is the ability to individually program the output registers as a
D-, T-, SR-, or JK~type Flip-Flop without sacrificing
the utilization 'of programmable AND logic. Additionally, each output register can be individually clocked
from any of the input or feedback paths available

2-28

intJ

5C060/5C090

within the AND array. With these features, a wide
variety of logic functions can be simultaneously implemented-ali on the same device.

ARCHITECTURE DESCRIPTION
Externally, the 5C060 has 4 dedicated data input
pins, 16 I/O pins which may be configured for input,
output, or bidirectional operations. and 2 synchronous clock inputs. The 5C060 is contained in a
24-pin windowed package (0.3 inch wide), and contains 16 programmable registers.
The 5C090 represents a superset of the 5C060 in
capability. The 5C090 has 12 dedicated inputs, 24
1/0 pins which may be configured for input, output,
or bidirectional operations, and 2 synchronous clock
inputs. The 5C090 is packaged in a 40-lead windowed ceramic DIP and contains 24 programmable
registers.
AND ARRAY /

The basic Macrocell architecture for both the 5C060
and 5C090 is shown in Figure 1. The 5C060 has 16
of these Macrocells while the 5C090 has 24 (one for
each 1/0 pin). The Macrocell is organized in the familiar sum-of-products structure with a programmable AND array attached to a fixed OR term. The inputs to the programmable AND array originate from
the true and complement signals from each of the
dedicated input pins and each of the 1/0 control
blocks. The 40-input AND array of the 5C060 feeds
160 AND gates (product terms) which are distributed
among the 16 available Macrocells within that device.
The AND array for the 5C090 has 72 inputs derived
from the true and complement signals at the input
and 1/0 pins. The AND array in the 5C090 encompasses 240 product terms which are distributed
among the 24 Macrocells. The global device architectures are shown in Figure 2.

SYNCHRONOUS
ClOCK

vee

OE/ClK

l-'-:ELECT
OE

-

OE/ClK

D- Ii '--

•
8=

EPROM
CONTROL
BIT

II

\

8=
8=
8=

ClK

OUTPUT
REGISTER

~
OUTPUT
BUFFER

~
~

~

~
j

~

~
j

INPUTS AND I/O

~

~

~

~REGISTER
FEEDBACK

I
290104-3

Figure 1. Basic Macrocell Architecture of the 5C060 and 5C090

2-29

SC060/SC090

DEDICATED

DEDICATED

INPUTS

INPUTS
50090 • 24 Macrocells
• 12 Dedicated Inputs

5C06O • 16 Macrocells

• 4 DedIcated Inputs

MACROCELLS

MACROCELLS

I/O

••
•

AND RRAY

I/o

•
•
•
I/O

290104-4

Figure 2. SC060 and Se090 Global Architecture

2-30

inter

5C060/5C090

none to all). Both of the dedicated clock inputs latch
the data into a given register when triggered on a
positive edge.

The Macrocells on both devices contain ten product
terms total. Eight of the ten product terms (AND
gates) are dedicated for logic implementation. One
product term on each Macrocell is used for RESET
control to the output register associated with the
Macrocell. The final product term is used for OUTPUT ENABLE/Asynchronous Clock implementation.

MACROCELL ARCHITECTURE
SELECTION

Within the AND array, there is an EPROM connection at every intersection of an input signal (true and
complement) and a product term to a given Macrocell. Before programming an erased device, every
EPROM connection is made at every intersection.
But during the programming process, these connections are opened so that only the desired connections remain.' Therefore, the true or complement of
any input signal can be connected to any product
term. If both the true and complement connections
of any signal are left intact, a logical false results on
the output of the AND gate. However, if both the true
and complement connections are open, then a logic
"don't care" results on the AND gate. Lastly, if all
the inputs of a product term are programmed open,
then a logical true results on the output of the AND
gate.

The 5C060 and 5C090 architecture provides each
Macrocell with over 50 different possible I/O register
configurations. Each I/O pin can be configured for
combinatorial or registered output (true or complement) with feedback. In addition, four different types
of output registers can be implemented into every
I/O pin without any additional logic requirements.
The feedback mechanism for each register back into
the AND array can be programmed to provide for
either registered feedback from the Macrocell or input feedback (treating the pin as an input). Another
advantage of the advanced I/O capability of the
5C060 and the 5C090 is the ability to individually
clock each internal register from asynchronous
clock signals.

Output Enable (OE)/Clock Selection
Both the 5C060 and 5C090 have two dedicated
clock inputs to provide synchronous clock signals to
the internal registers. Each of the clock signals controls half the total registers within the given device.
For example, CLK1 provides synchronous clocking
to the registers in Macrocells in the left half of the
array while CLK2 controls the registers associated
with Macrocells in the right half of the array. The
advanced I/O architecture allows for any number of
the registers to be synchronously clocked (from

Two modes of operation are provided by the
OE/CLK Select Multiplexer as a part of each Macro~
cell. One mode provides for three-state buffering of
outputs while in the other mode, the outputs are always enabled. The operation of the OE/CLK Select
Multiplexer sets the mode within a given Macrocell.
Therefore, the output mode can be selected individually on every output. Figure 3 illustrates the two
modes of OE/CLK operation.

2-31

inter

5C060/5C090

SYNCHRONOUS
CLOCK
VCC

OE/CLK
SELECT

OE

CLK - SYNCHRONOUS
CLK

OE-P-TERW CONTROLLED

OUTPUT
REGISTER
OUTPUT
BUFFER

290104-5

. MODE 0
SYNCHRONOUS
CLOCK,
VCC

OE/CLK
SELECT

OE

CLK - ASYNCHRONOUS
CLK

OE-ENABLED

OUTPUT
REGISTER
OUTPUT
BUFFER

290104-6

MODE 1
Figure 3. Output Enable/Clock Configuration

2·32

inter

5C060/5C090

dently configured. In addition, all registers have an
individual asynchronous RESET control from a dedicated product term derived in the AND array. When
this dedicated product term is a logical one, the
Macrocell register is immediately cleared to a logical
zero independent of the register clock. The RESET
function occurs automatically on power-up.

MODE 0: THREE-STATE BUFFERING
In Mode 0, the three-state output buffer is controlled
by a single product term originating from the AND
array. The output is enabled when the product term
is a logical true. Conversely, the output appears as
high impedance when the product term is a logical
false as shown in Table 1. In Mode 0, the Macrocell
Flip-Flop is connected to its associated synchronous
clock (either ClK1 or ClK2 depending upon the
MacroceU's location within the device). Thus, the
Macrocell Flip-Flop may be clocked by its respective
synchronous clock but its output will not become
valid until the output is enabled.

Output Register Configuration
The four different register types shown in Figure 4
are described below.
D- or T-type Flip-Flops

Table 1. Mode 0 Output Selection
Product Term

Output Buffer

FALSE

Three-State

TRUE

Enabled

When either a D- or T-type Flip-Flop is configured
as part of the I/O structure, all eight of the product
terms into the Macrocell are ORed together and
fed into the register input.
JK or SR Registers

MODE 1: OUTPUT BUFFER ENABLED

When either a JK or SR register is configured, the
eight product terms are shared among two OR
gates (one for the J or S input and the other for
the K or R input). The allocation for these product
terms for each of the register inputs is optimized
by the iPlDS II development software.

In Mode 1, the Output Buffer is always enabled. In
addition, the Macrocell Flip-Flop is connected to the
AND array. The Macrocell Flip-Flop may now be triggered from an asynchronous clock signal generated
by the AND array logiC to the OE/ClK multiplexable
term. Mode 1 allows the Macrocell Flip-Flops to be
individually clocked from any of the available signals
in the AND array. Since both true and complement
values appear in the AND array, the Flip-Flop may
be configured to trigger on positive or negative clock
edges. Gated clock structures can be created since
the Flip-Flop clock is created by a product term.

OUTPUTIFEEDBACK
The Output Select Multiplexer allows for either registered, combinatorial or no output.
The Feedback Select Multiplexer E~ROM bit enables registered, I/O (using the pin for bidirectional
input or just input), or no feedback to the AND array.

Invert Select EPROM Bit

The Feedback Select is also important for building
product terms with more than 8 products. The aproduct product term of a Macrocell can be fed back
into the AND array and combined with still more signals to create a much larger product term (of more
than a-inputs). In addition, if the feedback product
term is not to be output, then the iPlDS " will reserve the associated Macrocell pin and indicate it in
the REPORT file. A reserved pin should be left floating (no connect) when assembled onto a circuit
board.

The Invert Select EPROM bit is used to invert the
product term input into the register. This applies to
all inputs including double inputs on the JK and SR
registers.

REGISTER SELECTION
The advanced I/O architecture of the SCOSO and the
SC090 allows four different register types along with
combinatorial output as illustrated in Figure 4. The
register tYpes include a T, D, JK, or SR Flip-Flop and
each Macrocell I/O structure may be indepen-

Any 1/0 pin may be configured as a dedicated input
by selecting no output and pin feedback through the
appropriate multiplexers.

2-33

inter

5C060/5C090

1/0 SELECTION
OUTPUTIPOLARITY FEEDBACK
Combinatorial/High
Combinatorial/Low
None

Pin, None
Pin, None
Pin

290104-7

Figure 4a_ Combinatorial 1/0 Configuration
1/0 SEI,.ECTION
OUTPUTI
FEEDBACK
POLARITY

SYNCHRONOUS

CLOCK

vee

D-Register /High
D-Register/Low
None
None

D-Register, Pin, None
D-Register, Pin, None
D-Registered
,
Pin

FUNCTION TABLE
D

On

On+ 1

0
0
1
1

0
1
0
1

0
0
1
1

290104-8

Figure 4b. D-Type Flip-Flop Register Configuration
2-34

intJ

5C060/5C090

SYNCHRONOUS

I/O SELECTION

a.0C1<

va:

OUTPUTIPOLARITY

FEEDBACK

T-Reglster/High
T-Register/Low
None
None

T-Reglster, Pin, None
T-Reglster, Pin, None
T-Register
Pin

FUNCTION TABLE
Qn
T
Qn + 1
0
0
1
1

0
1
0
1

0
1
1
0

290104-9

Figure 4c_ Toggle Flip-Flop Register Configuration
I/O SELECTION

SYNCHRONOUS

MCK

vee

~~~~

0'

eLK

OUTPUT/POLARITY

FEEDBACK

JK Register/High
JK Register/Low
None

JK Register, None
JK Register, None
JK Register

FUNCTION TABLE
K Qn Qn + 1

J
0
0
0
0
1
1
1
1

Figure 4d. JK Flip-Flop Register Configuration
2-35

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
0
1
1
1
0

5C060/5C090

SYNCHRONOUS'

I/O SELECTION

CLOCK
VCC

OE

OUTPUT/POLARITY

FEEDBACK

SR Register/High
SR RegisteriLow
None

SR Register, None
SR Register, None
SR Register

FUNCTION TABLE

ClK

S

R

On

On + 1

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

0
1
0
0
1
1

1

1

Illegal

-I--I

Q ..........

8-N

INVERT
SELECT

290104-11

Figure 4e. SR Flip-Flop Register Configuration

4oooA. It should be noted that sunlight and certain

Erased-State Configuration

types of flourescent lamps have wavelengths in the
3000-400oA. Data shows that constant exposure to
room level flourescent lighting could erase the typical device in approximately three years, while it
would take approximately one week to cause erasure when exposed to direct sunlight. If the 5C060
or the 5C090 is to be exposed to these types of
lighting conditions for extended periods of time, conductive opaque labels should be placed over the device window to prevent unintentional erasure.

Prior to programming'or after erasing, the I/O structure is configured for combinatorial active low output
with input (pin) feedback.

ERASURE CHARACTERISTICS
Erasure characteristics of the 5C060 and 5C090 are
such that erasure begins to occur upon exposure to
light with wavelengths shorter than approximately

2-36

inter

5C060/5C090

The recommended erasure procedure for the 5C060
and 5C090 is exposure to shortwave ultraviolet light
with a wavelength of 2537A. The integrated dose
(Le., UV intensity x exposure time) for erasure
should be a minimum of fifteen (15) Wsec/cm 2. The
erasure time with this dosage is approximately 15 to
20 minutes using an ultraviolet lamp with a 12,000
p.W/cm 2 power rating. The 5C060 or 5C090 should
be placed within one inch of the lamp tubes during
erasure. The maximum integrated dose the 5C060
or 5C090 can be exposed to without damage is 7258
Wsec/cm2 (1 week at 12,000 p.W/cm2). Exposure
to high intensity UV light for longer periods may
cause permanent damage to the device.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of the 5C060 and 5C090 are connected (in the
"1" state). Each of the connected control bits are
selectively disconnected by programming· the
EPROM cells into their "0" state. Programming voltage and waveform specifications are available by request from Intel to support programming of the
5C060 and 5C090.

The testability and reliability of EPROM-based pro"
grammable logiC devices is an important feature
over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
user to perform post-programming tests to insure
proper programming. These tests must be done at
the device level because of the cummulative error
effect. For example, a board containing ten devices
each possessing a 2% device fallout translates into
an 18% fallout at the board level (it should be noted
that programming fallout of fuse-based programmable logiC devices is typically 2% or higher).
To enable functional evaluation of counter and
state-machine applications, the 5C060 and 5C090
contain register pre-load circuitry. This can be activated by interrupting the normal clocked sequence
and applying Vpp on pin 11 for the 5C060 or pin 17
for the 5C090 to engage the pre-load state. Under
these conditions, the Flip-Flops in the 5C060 and
5C090 can be set to any logical condition and then
return to normal operation. This process simplifies
the input sequences necessary to evaluate the
. counter and state machine operations.

DESIGN RECOMMENDATIONS
inteligent Programming™ Algorithm

To take maximum advantage of EPLD technology, it
is recommended that the deSigner use the Modular
EPLD Logic Design (MELD) method. The MELD philosophy is derived from the modular programming
method used in software development. In a modular
software development environment, the engineer
designs a modular program (typically on a development system), stores it in memory (EPROM), and
tests the module for functionality. A hardware designer using EPLDs can use this same approach
when designing logic. The designer develops a modular logic design on the Intel Programmable Logic
Development System II (iPLDS II), stores it in "memory" (the EPROM control elements of the EPLD),
and again tests the module for functionality. If the
design is in error, the logic deSigner reprograms the
EPLD with his new design as easily asa software
designer can download a new program into memory.

Both the 5C060 .and 5C090 support the inteligent
Programming Algorithm which rapidly programs Intel
H-ELPDs (and EPROMs) using an efficient and reliable method. The inteligent Programming Algorithm
is particularly suited to the production programming
environment. This method greatly decreases the
overall programming time while programming reliability is ensured as the incremental program margin
of each bit is continually monitored to determine
when the bit has been successfully programmed.

FUNCTIONAL TESTING
Since the logical operation of the 5C060 and 5C090
are controlled. by EPROM elements, the device is
complete!y testable. Each programmable EPROM
bit controlling the internal logic is tested using application-independent test program patterns. After
testing, the devices are erased before shipment to
customers. No post-programming tests of the
EPROM array are required.

The MELD philosophy is new to programmable logic
because EPROM-based PLDs are new. A modular
logic development process using fused-based PLDs
would be wasteful since a fused-based device cannot be erased an re-used.

2-37

5C060/5C090

For proper operation, it is recommended that all input and output pins be constrained to the voltage
range GND < (YIN or Vour) < Vee. Unused inputs
should be tied to an appropriate logic level (e.g. either Vee or GND) to minimize device power consumption. Reserved pins (as indicated in the iPLDS
II REPORT file) should be left floating (no connect)
so that the pin can attain the appropriate logic level.
A power supply decoupling capacitor of at least 0.2
,...F must be connected directly between Vcc and
GND pins of the 5C060 and the 5C090.

DESIGN SECURITY
A single EPROM bit provides a programmable design security feature that controls the access' to the
data programmed into the device. If this bit is set, a
proprietary design within the device cannot be copied. This EPROM security bit enables a higher degree of design security than fused-based devices
since programmed data within EPROM cells is invisible even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, will be reset by erasing the device.

the best design fit for the selected EPLD. It is user
friendly with guided menus, on-line Help messages
and soft key inputs.
In addition, the IPLDS II contains programmer hardware in the form of an iUP-PC Universal Programmer
Personal Computer to enable the user to program
EPLDs, read and verify programmed devices and
also to graphically edit programming files. The software generates industry standard JEDEC object
code output files which can be downloaded to other
programmers as well.
The iPLDS II has interfaces to popular schematic
capture packages (including Dash series from
FutureNetO and PC CAPS from PCAD)·· to enable
designs to be entered using schematics. A more integrated schematic entry method is provided by
SCHEMA II-PLD, a low-cost schematic capture
package that supports EPLD primitives and user-de·fined macro symbols. SCHEMA II-PLD contains the
EPLD Design Manager, which provides a single user
interface to both SCHEMA II-PLD and iPLS II software.The other design formats supported are Boolean equation entry and State Machine design entry.
The iPLDS II operates on the IBMt PC/XT, PC/AT,
or other compatible machine with the following configuration:
1. At least one floppy disk drive and hard disk drive.
2. ,MS-DOStt Operating System Version ~.O or
,greater.
,
3. 640K Memory.
4. Intel iUP-PC Universal Programmer Personal
Computer and GUPI Adaptor (supplied with iPLDS
II).
5. A color monitor is suggested.

LATCH-UP IMMUNITY
All of the input, 110, and clock pins of the 5C060 and
5C090 have been designed to resist latch-up which
is inherent in inferior CMOS structures. The 5C060
and 5C090 are designed with Intel's proprietary
CHMOS II-E EPROM process. Thus, each of the
5C060 and 5C090 pins will not experience latch-up
with currents up to 100 mA and voltages ranging
from -W to Vee + W. Furthermore, the programming pin is designed to resist latch-up to the 13.5V
maximum device limit.

Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (IPLDS II)

°FutureNet is a registered trademark of FutureNet
Corporation. DASH is a trademark of FutureNet
Corporation.

The iPLDS II graphically shown in Figure 5 provides
all the tools needed to design with Intel H-Series
EPLDs or compatible devices. In addition to providing development assistance, iPLDS II insulates the
user from having to know all the intricate details ,of
EPLD architecture (the machine will optimize a design to benefit from architectual features). It contains
comprehensive third generation software that supports four different design entry methods, minimizes
logic, does automatic pin assignments and produces

• ° PC-CAPS is a trademark of P-CAD Corporation.
'tIBM Personal Computer is a registered trademark of International Business Machines Corporation,
ttMS-DOS is a registered trademark of Microsoft
Corporation.

2-38

l
"1'1

i6
c

i

PI

Intel Programmable Logic
Development System II

5'

it
~
ID
;

:I
:I

.,.

II

ii'

1)
~'9.

Co)
CI)

.......

_

ELl'O

~

n

~

I.....

i

C

CD

<

f
"a

:I
CD

:lI
....

en

1:I
=

-==
'V
rc
en

-290104-12

5C060/5C090

ABSOLUTE MAXIMUM RATINGS·
Symbol

Parameter

Min

Max

Units

Vee

Supply Voltage(1)

-2.0

7.0

V

Vpp

Programming
Supply Voltage(1)

-2.0

13.5

V

VI

DC Input Voltage(1 )(2)

-0.5 Vee + 0.5

V

t 8 1g

Storage Temperature

-65

+150

·c

tamb

Ambient Temperature(S) -10

+85

·C

"Notice: Stresses above those listed under ':4bsolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operstional sections of this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

NOTES:
1. Voltages with respect to ground.
2. Minimum DC input is -0.5V. During transitions, the Inputs may undershoot to - 2.0V for periods less than 20 ns
under no load conditions.
3. Under bias. Extended temperature versions are also
available.

D.C. CHARACTERISTICS TA = O·C to 70·C, Vee = 5.0V ± 5%
Symbol

Parameter

VIH(4)

HIGH Level Input Voltage

VIL(4)

LOW Level Input Voltage

VOH(5) HIGH Level Output Voltage

Min Typ

Conditions

2.0

=

-4.0 rnA DC, Vee = Min.

+ O.S

0.8

2.4

VOL

LOW Level Output Voltage

II

Input Leakage Current

loz
IsC<6)

Output Leakage Current

= 4.0 mA DC, Vee = Min.
= Max., GND < VOUT < Vee
Vee = Max., GND < VOUT < Vce

Output Short Circuit Current

Vee

Ise(7) Standby Current
5C060 (Standby)

Vee

-0.3
10

Max

V
V
V

10

Vec

= Max., VOUT = 0.5V
Vee = Max.,

Unit

0.45

V

±10.0

p,A

±10.0

jLA
rnA

50

100

p,A

10

15

rnA

50

100

p,A

15

25

rnA

VIN = Vee or GND

Power Supply Current
Icc
5C060 (Active) (Turbo Bit Off)
Device Prog. as 16-Bit Ctr.

No Load,
Vce = Max.,
VIN = Vce or GND Input Freq.

Ise(7) Standby Current
5C090 (Standby)

Vce = Max.,
VIN = Vec or GND

Power Supply Current
No Load,
Vee = Max.,
Icc
5C090 (Active) (Turbo Bit Off)
VIN = Vec or GND Input Freq.
Device Prog. as Two 12-Bit Ctrs.

= 1 MHz

= 1 MHz

NOTES:
4. Absolu1e values with raspect to device GND; all over and undershoots due to system or tester nOise are inCluded.
5.10 at CMOS levels (3.84V) = -2 mA.
6. Not more than 1 output should be tested at a time. Duration of that test must not exceed 1 second.
7. With Turbo Bit Off, device automatically enters standby mode approximately 100 ns after last inpu1 transition.

2-40

5C060/5C090

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

5V
3.0](20

INPUT
DEVICE
OUTPUT

o

C-+-.....-C> TO
TEST
SYSTEM
341.1l

•

~~

>

O·

~

l~-TEST P O I N T S - E

OUTPUT

290104-14

DEVICE INPUT
RISE AND FALL
TIMES < 6nS

A.C. Testing: Inputs are Driven at 3.0V for a Logic "1" and OV for
a Logic "0". Timing Measurements are made at 2.0V for a Logic
"1" and O.BV for a Logic "0" on inputs. Outputs are measured at
a 1.5V point.

290104-13

A.C. CHARACTERISTICS

TA = O·C to 70·C, Vcc = 5V ± 5%, Turbo Bit On(8)
Device

Symbol From

-< .~20

TEST POINTS

To

SCOSo-4S

SCOSO-SS

SC090-S0

SC09O-S0

Min Typ Max Min Typ Max Min Typ Max Min Typ Max

Non-(10)
Turbo Unit
Mode

tpD1

Input

Comb. Output

43

53

46

55

+25

ns

tpD2

I/O

Comb. Output

45

55

50

60

+25

ns

tpZX(9)

I or I/O Output Enable

45

55

50

60

+25

ns

tpxz(9)

I or I/O Output Disable

45

55

50

60

+25

ns

telR

Asynch. Q Reset
Reset

45

55

50

60

+25

ns

NOTES:
8. Typical Values are at TA = 2SoC, Vee = SV, Active Mode.
9. tpzx and tpxz are measured at ± O.SV from steady state voltage as driven by spec. output load. tpxz is measured with

CL = S pF.
10. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

CAPACITANCE
Symbol

Parameter

Conditions

Max

Unit

20

pF

=
=

1.0 MHz

20

pF

1.0 MHz

20

pF

Pin 13 on 5C060

~50

pF

Pin 21 on 5C090

80

pF

Input Capacitance

VIN

COUT

Output Capacitance

VOUT

CClK

Clock Pin Capacitance

VOUT

CvPp

VppPin

OV, f

=
=

=

OV, f
OV, f

2-41

Min

Typ

1.0 MHz

=

CIN

inter

5C060/5C090

SYNCHRONOUS CLOCK MODE A.C. CHARACTERISTIC
TA

=

O·C to 70·C, Vcc

=

5.0V ± 5%, Turbo Bit On(8)
Device

Symbol

5C06~45

Parameter

5C060-55

Min Typ Max Min Typ Max

NonTurbo
Mode

Device

Non-(10)

5C090-60

5C090-50

Min Typ Max Min Typ Max

Turbo
Mode

Unit

fMAX

Max. Frequency
(1/tsu-No Feedback)

26.0

23.0

(11)

26.0

21.5

(11)

MHz

fCNT

Max. Count Frequency
(1/tCNr-With
Feedback)

22.0

18.0

(11)

20

16.5

(11)

MHz

tSUl

Input Setup Time to ClK

36

41

+25

36

43

+25

ns

tSU2

1/0 Setup Time to ClK

38

43

+25

38

46

+25

ns

tH

I or II 0 Hold after
ClKHigh

0

0

0

0

ns

teo

ClK High to Output Valid

22

25

tCNT

Register Output
Feedback to Register
Input-Internal Path

45

55

tcH

ClK High Time

17.5

21.5

17.5

23

ns

teL

ClKlowTime

17.5

21.5

17.5

23

ns

+25

23

25

50

60

ns
+25

ns

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA = O·C to 70·C, VCC = 5.0V ±5%, Turbo Bit On(8)
Device
Symbol

Parameter

5C06~45

5C060-55

Min Typ Max Min Typ Max

NonTurbo
Mode

Device
SC090-50

Non-(10)

SC090-60

Min Typ Max Min Typ Max

Turbo
. Mode

Unit

22.0

18.0

(11)

20

16.5

(11)

MHz

Input Setup Time to
Asynch. Clock

10

10

+25

10

10

+25

ns

tASU2

110 Setup Time to
Asynch. Clock

12

12

+25

10

10

+25

ns

tAH

Input or 110 Hold After
Asynch. Clock

15

15

15

15

tACO

Asynch. ClK to"Output Valid

52

62

tACNT

Register Output Feedback
to Register Input-Internal
Path

45

55

tACH

Asynch. ClK High Time

17.5

21.5

20

25

ns

tACL

Asynch. ClK low Time

17.5

21.5

20

25

ns

fACNT

Max. Count Frequency
(1/tACNr-With Feedback)

tASUl

NOTES:
11. Recalculate frequency according to equation at left of table.

2-42

+25

ns

60

70

50

60

ns
+25

ns

inter

5C060/5C090

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR

I/o

f~j(

INPUT

COMBINATORIAL OUTPUT

!---tpxz (FROM REGISTER
TO OUTPUT)

I

r

HIGH IMPEDANCE
3-STATE

,

HIGH IMPEDANCE
3-STATE

/
tpzx -

VALID OUTPUT

"-

~.~

ASYNCHRONOUSLY
CLEAR OUTPUT
290104-16

SYNCHRONOUS CLOCK MODE

CLK1,CLK2

J

ir=tCH:::j

'1\1...___[
-.tSU+tH
i'/VALIDI
'\ INPUT

'\{
Ji\'-______
IN_PU_T_M_A_Y_CH_A_N_GE_ __

___
IN_PU_T_M_AY_CH_A_NG_E_ _

~tco(FROM REGISTER

,

I

I\

TO OUTPUT)

-----------------------'

2-43

VALID OUTPUT

~-----------------290104-17

intJ

5C060/5C090

SWITCHING WAVEFORMS (Continued)
ASYNCHRONOUS CLOCK MODE

ASyN.----''
CLOCK
INPUT _ _ _ _

J

OTHER
INPUT

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT

290104-18

5C060

5C060

Current In Relation to Frequency

Current in Relation to Temperature

!

J!

120
110
100
90
80
70
60
50
40
30
20
10

120
110
100
90
80
70

/

V
/'

~1r

~

-1'1

o
o

$

I

j

Non-Turbo

I I
I
I

5

10

15

20

25

r-

60

50
40
30
20
10

o
o

30 35

r-

leNT = 25M Hz

-

I
I

I-- leNT- IO Hz

I ir-

-

leNT = 1MHz, Turbo

I I I

leNT = 1MHz, Non-Turbo

..,..

I

I I I
20

40

I I
60

8085

TEMP (e)

leNT (MHz)

290104-27

290104-25

Conditions:/TA = O'C, Vee = 5.25V

Conditions: Vee

= 5.25V, TTL inpu,ts

5C0601090
Output Drive Current In Relation to Voltage
100

1
1:

~
~

(J

"!J

50

20
10

I

-

.......

~

10L

f
0

5

2

2

10HI'\.

1
0

3

4

5

Vo Output Voltage (V)

290104-26
Conditions: TA = 25'C

2-44

intJ

5C121
1200 GATE CHMOS
H-SERIES ERASABLE PROGRAMMABLE LOGIC DEVICE
• Advanced Architecture Features
Including Programmable Output
Polarity (Active High/Low), Register
By-Pass and Reset Controls
• Programmable Clock System for Input
Latches and Output Registers

• High Performance LSI Semi-Custom
Logic Replacement for Gate Arrays and
Conventional Fixed Logic
• EPROM Technology Based. UV
Erasable
• Programmable Macrocell and I/O
Architecture; up to 36 Inputs or 24
Outputs, 28 Macrocells Including 4
Burled Registers

• Product-Term Sharing and Local Bus
Architecture for Optimized Array
Performance
• Compatible with LS TTL and 74HC
CMOS Logic
• Register Pre-Load and Erasable Array
for 100% Generic Testability

• All Inputs are Latchable with a
Programmable Latch Feature
• High Speed tpD (Max) 50 ns Operating
Frequency (Max) 20 MHz
• Low Power; 15 mW Typical Standby
Dissipation
• Typical Usable Gate Count of 1200
2-lnput NAND Gates

• Programmable "Security Bit" allows
total protection of proprietary designs
• Available In a 4D-Lead Window Cerdlp
Package (SeePackagingSpec,Orde,#231369)

The Intel 5C121 H-EPLD (H-series Erasable Programmable Logic Device) is an LSI logic circuit that is user
customizable through programming. This device can be used to replace gate arrays, multiple programmable
logic arrays and LS TTL and 74HC CMOS 551 and MSI logic devices. The logic capacity of the 5C121 is
typically equal to 1200 two-input NAND gates.
The 5C121 H-EPLD uses CHMOS· EPROM (floating gate) cells as logic control elements instead of fuses.
Use of Intel's advanced CHMOS II-E EPROM process technology enables greater logic densities to be
achieved with superior speed and power performance. The EPROM technology also enables these devices to
be 100% factory tested by the programming and the erasure of all the EPROM logic control elements in the
device.
The architecture of the 5C121 is based on the 'Sum of Products' PLA (Programmable Logic Array) structure
with a programmable AND array feeding into a fixed OR array. Flexibility in accommodating logical functions
~ithout the overhead of unnecessary product terms or speed penalties of programmable OR structures is
achieved through the provision of a range of OR gate widths as well as through product term sharing. The use
of a segmented PLA structure with local and global connectivity allows for further improvements in performance. The 5C121 also contains innovative architectural features that provide extensive Input/Output flexibility.
'CHMOS is a patented process of Intel Corporation.

RECOMMENDED OPERATING CONDITIONS
Symbol
VCC
VI
Vo
TA
tR

IF

Min Max Units
Parameter
Supply Voltage
4.75 5.25
V
INPUT Voltage
0 Vee
V
OUTPUT Voltage
0 Vee
V
·C
Operating Temperature 0
70
INPUT rise Time
500 ns
INPUT fall Time
500
ns

Pin Configuration
CLIO

'"

112
1/01

'/0,
'/0,
'/0,
'to.
'/0,
,to,

7

8

'lOt

va.

1&

290098-1

ILLUSTRATIONS COURTESY OF ALTERA CORPORATION.

2-45

November 1887
Order Number: 290088-004

5C121

ARCHITECTURE DESCRIPTION

MACROCELL 1/0 ARCHITECTURE

The 5C121 H-EPLD has 12 dedicated inputs as well
as 24 Input/Output pins. All Inputs to the 'circult
(both dedicated and I/O inputs) may be latched using transparent 7475 type latches. In addition to
these 36 input latches, 28 D type registers are also
provided.

The Input/Output architecture of the 5C121 macrocell (see Figure 1) can be programmed using both
static and dynamic controls. The static controls remain fixed after the device Is programmed whereas
the dynamic controls may change state as a result
of the signals applied to the device.

The internal architecture of the 5C121 H-EPLD is
based on 28 macrocells. Each macrocell (see Figur~
1) contains a PLA structure (programmab!e ~ND array product terms connected to an OR gate) and an
I/O architecture control block (with a D Flij):Flop)
that can be programmed to create many different
output logic structures. This powerful I/O architecture can be configured to support both active-high,
active-low, 3-state, open drain and bi-directionai
data ports all on a 4-bit wide basis. They can also
act as inputs on a nibble wide basis With optionai
input latching.

The static controls set the inversion logic 0), register
by-pass (ii) and input feedback multiplexers Oil). In
the latter two cases these controls operate on four
macrocells
a bank.

Macrocells in each half of the circuit are grouped
together for I/O architecture programming. Each
bank of four macrocells can be further programmed
on an individual macrocell basis to generate active
high or active low outputs of the logic function from
the PLA.
The primary logic array of the 5C121 .is segmented
into two symmetrical halves that communicate via
global bus signals. The main array contains some
15104 programmable elements representing 236
product terms (AND gates) each containing 64 input
signals.
The macrocells share Ii common programmable
clock system (described in a later section) that controls clocking of all registers and input latches. The
device contains 8 modes of clock operation that allow logic transition to take place on either rising or
falUng edges of the clock Signals.

as

The buried-state registers have simpler controls that
determine if the feedback is to be registered or combinational.
The inversion cohtrol logiC, marked (i) in Figure 1, is
achieved by programming the EPROM control bit
connected to the same XOR gate as the output from
the PLA structure. Programming or erasure of this
EPROM element toggles the OR gate output of the
PLA betWeen active-high and active-low. The inversion control operates on an individual macrocell basis.
The register by-pass control, marked (ii) in Figure 1
ailows the PLA output to either flow through the D
Flip-Flop as a registered output or by-pass the FlipFlop and be a combinational output.
The dynamic controls consist of a programmable input latch-enable as well as reset and output enable
product terms. The latch-enable function is common
throughout the 5C121 and once chosen, will latch all
the inputs. This function is programmed by the clock
control block but may also be driven by input signals
applied to pin 1 (see clock modes-Table 1).
The reset and output-enable controls' are logically
controlled by single product terms (the logic AND of
programmed variables in the array). These terms
have control over banks of four macrocells.

The device also contains four macrocells whose outputs are not tied to any I/O pin but feed back into
the array to create buried state-functions. The feedback path may be either the registered or combinational result of the PLA output. The use of the buried
state macrocells provides maximum equivalent logic
density without demanding higher pin-count packages that consume valuable b~d space.

The olltput-enable control may be used to generate
architecture types that include bi-directional, 3-state,
open drain. or input only structures.

2-46

intJ

5C121

I/o

PLA BLOCK

ARCHITECTURE BLOCK

EPROM
CONTROL
BIT
290098-2

Figure 1. 5C121 Macrocelil/O Architecture
The global busses (Input bus & Global feedback
from A-3 & B-3 macrocells & buried registers) are
made up of 48 conductors that span the entire chip.
These 48 conductors carry the TRUE and COMPLEMENT of the twelve primary inputs (pins 2 through 7
and 33 through 38). signals from 4 Buried Registers
as well as the global outputs of 8 macrocells in
groups A-3 and B-3.
'

INTERNAL BUS STRUCTURE
The two identical halves of the 5C121 communicate
via a series of busses. The local bus structure used
for communication within each half of the chip contains 16 conductors that carry the TRUE and COMPLEMENT of 8 local macrocells. In the block diagram (Figure 2) of the 5C121 the local macrocells
are B-1 and B-2 on one half and A-1 and A-2 on the
other half.

2-47

inter

5C121

A-I t.1ACROCELLS

-..&--

290098-3

Figure 2. 5C121 Block Diagram
2-48

inter

5C121

290098-4

Figure 2. 5C121 Block Diagram (Continued)
2-49

5C121

LOCAL
BUS

GLOBAL
BUS

INPUT
BUS

In this illustration a small group of 4 product-terms is
shared by groups col'!taining 8 product-terms each.
This feature is most useful in· counter applications
where common terms exist in the functions.

DETAILED CIRCUIT
REPRESENTATION

-0-

= 64 INPUT AND GATE
(ONE PRODUCT TERM)
290098-5

Figure 3. Shared Product-Term Circuits

2-50

5C121

is adjacent to their macrocell (see Figure 4) so that
they may produce a logical AND of any of the variables (or their complements) that are present on the
busses.

SHARED PRODUCT TERMS
Macrocells 9 & 10, 11 & 12, 17 & 18 and 19 & 20 (in
groups A-3 and 8-3-the macrocells with global
feedback) have the facility to share a total of 16 additional product terms. This sharing takes place between pairs of adjacent macrocells. This capability
enables, for example, macrocells 9 and 10 to expand to 16 and 8 effective product terms respectively, and for macrocells 11 and 12 both to expand to
12 effective product terms. Figure 3 shows this sharing technique in detail. This facility is primarily of use
in state machine and counter applications where
common product terms are frequently required
among output functions.

All macrocells have the ability to return data to the
local or the global bus. Feedback data may originate
from the output of the macrocell or from the 1/0 pin.
Feedback to the global bus communicates throughout the part. Macrocells that feedback to the local
bus communicate only to their half of the 5C121.
Connections to and from the signal busses are
made with EPROM switches that provide the reprogrammable logiC capability of the circuit.
Macrocells in groups A-3 and 8-3 and the buried
registers all have global bus connections while macrocells in groups A-1, A-2 and B-1, 8-2 have only
local bus connections (see Block Diagram, Figure 2).
Advanced features of the Intel Programmable Logic
Development System II will, if desired, automatically
select an appropriate macrQceli to meet both the
logic requirements and the connection to an appropriate signal bus to achieve the interconnection to
other macrocells.

MACROCELL-BUS INTERFACE
As discussed earlier, the macrocells within the
5C121 are interconnected to other macrocells and
inputs to the device via three internal data busses.
The product terms span the entire bus structure (local feedback, global feedback and input buses) that

At each intersecting point in the logic array ther6 exists an
EPROM-type programmable connection. Initially, all connections
are complete. This means that both the true and complement of all
inputs are connected to each product-term. Connections are
opened during the programming process. Therefore any product
term can be connected to the true or complement of any input.
When both the true and complement connections of any input are
left intact, a logical false results on the output of the AND gate. If
both the true and complemant connections of any input are programmed open. then a logical "don't care" resuhs for that input. If
all inputs for a product term are programmed open, then a logical
true results on the output of the AND gate.

EPROM@
CELL
CONNECTION
II
64 INPUT AND GATE

"'-...

EPROM CELL
ARCHITECTURE
SWITCH

/

FEEDBACK
SIGNALS

LOCAL
BUS

GLOBAL
BUS

INPUT
BUS

290098-6

Figure 4. Macrocell·Bus Interface
2-51

inter

5C121

power rating. The 5C121 should be placed within
one inch of the lamp tubes during erasure~ The maximum integrated dose the 5C121 can be exposed to
without damage is 7258 Wsec/cm2 (1 week @
12,000 jJ-W/cm 2). Exposure to high intensity UV light
for longer periods may cause permanent damage.

CLOCK MODE CONTROL
The 5C121 contains two internal clock data paths
that drive the input latches (transparent 7475 type)
and the output registers. These clocks may be programmed into one of 8 operating modes (see clock
mode Table 1). Figure 1 shows a typical macrocell
which is driven by the master clock signal CLK and
the input latch-enable signal ILE.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of. the 5C12t are connected (in the "1" state).
Each of the connected control bits are selectively
disconnected by programming the EPROM cell into
their "O"state. Programming voltage and waveform
specifications are available by request from Intel to
support programming of the 5C121.

The master clock signal is input via pin 1. If programmed modes 4, 5, 6 & 7 are chosen, a second
clock signal is required which is input via pin 38 (see
Figure 5). Table 1 shows the operation of each clock
programming mode.
If modes 0, 1, 4, 5, 6 or 7 are chosen (i.e. latching of
the inputs is required), all inputs, both dedicated and
110, are latched with the same ILE signal. Data applied to the inputs when CLK1 is low (high) is latched
when CLK1 goes high (low) and will stay latched as
long as CLK1 stays high (low). Levels shown in parenthesis are for modes 1,5 & 7 and levels shown
outside parenthesis are for modes 0, 4 & 6.

inteligent Programming™ Algorithm
The 5C121 supports the inteligent Programming Algorithm which rapidly programs Intel H-ELPDs (and
EPROMs) using an efficient and reliable method.
The inteligent Programming Algorithm is particularly
suited to the production programming environment.
This method greatly decreases the overall programming time while programming reliability is ensured.as
the incremental program margin of each bit is continually monitored to determine when the bit has
been successfully programmed.

, Care is required when using any of the clock modes
4, 5, 6 or 7, that require two input clock Signals to
ensure that timing hazards are not created.

ERASURE CHARACTERISTICS
Erasure characteristics of the 5C121 are such that
erasure begins to occur upon exposure to light with
wavelengths shorter than approximately 4000A. It
should be noted that sunlight and certain types of
fluorescent lamps have wavelengths in the 30004000A. Data shows that constant exposure to room
level fluorescent lighting could erase the typical
5C121 in approximately three years, while it would
take approximately one week to cause erasure when
exposed to direct sunlight. If the 5C121 is to be exposed to these types of lighting conditions for extended periods of time, conductive opaque labels
should be placed over the window to prevent unintentional erasure.

FUNCTIONAL TESTING
Since the logical operation of the 5C121 is. controlled by EPROM elements, the device is completely factory tested. Each programmable EPROM bit
controlling the internal logic including the buried'
state registers are tested using application-independent test program patterns. After testing, the devices are erased before shipment to customers. No
post-programming tests of the EPROM array are
necessary.
To enable functional evaluation of counter and
state-machine applications, the 5C121 contains registerpre-Ioad circuitry. This can be activated by interrupting the normal clocked sequence and applying Vpp on pin 2 to engage the pre-load state. Under
these conditions the Flip Flops in the 5C121 can be
set to any logical condition and then return to normal
operation. This process' simplifies the input sequences necessary to evaluate the counter and
state machine operations.

The recommended erasure procedure for the 5C121
is exposure to shortwave ultraviolet light which has
the wavelength of 2537A. The integrated dose (Le.,
UV intensity x exposure time) for erasure should be
a minimum of fifteen (15) Wsec/cm2 • The erasure
time with this dosage is approximately 15 to 20 minutes using an ultraviolet lamp with a 12,000 jJ-W/cm2

2-52

inter

5C121

Table 1. Clock Programming (Key: L = Latched; T = Transparent)
Programmed
Mode

Input Signals
Are Latched When:

Output Registers
Change State When:

0

CLK1
(Pin 1)

~

L
T

CLK1
(Pin 1)

1

CLK1
(Pin 1)

\f

T
L

CLK1
(Pin 1)

2

Inputs Not Latched

CLK1
(Pin 1)

3

Inputs Not Latched

CLK1
(Pin 1)

4

CLK1
(Pin 1)

5

CLK1
(Pin 1)

6

CLK1
(Pin 1)

7

CLK1
(Pin 1)

~

\f
~

\f

L
T

CLK2
(Pin 38)

T
L

CLK2
(Pin 38)

L
T

CLK2
(Pin 38)

T
L

CLK2
(Pin 38)

'-

...r

'-

...r

''-

...r
...r

Clock
Configuration
1 Clock
1 Clock
1 Clock
1 Clock
2 Clocks
2 Clock
2 Clocks
2 Clocks

DESIGN RECOMMENDATIONS

DESIGN SECURITY

For proper operation it is recommended that input
and output pins be constrained to the range GND <
(VIN or VOUT) < Vee. Unused inputs should be tied
to an appropriate logic level (e.g. either Vee or GND)
to minimize device power consumption.

A single EPROM bit provides a programmable design secruity feature that controls the access to the
data programmed into the device. If this bit is set, a
proprietary design within the device cannot be copied. This EPROM security bit enables a higher degree of design security than fused-ba,sed devices
since programmed data within EPROM cells is invisible even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, will be reset by erasing the device.

When utilizing a macrocell with an 1/0 pin connection as a buried macrocell (Le. just using the macrocell for feedback purposes to other macrocells), its
1/0 pin is a 'reserved pin'. (The Intel Programmable
Logic Development System II will label the pin 'RESERVED' in the utilization report that it generates.)
Such an 1/0 pin will actually be an output pin and
should not be grounded. It should be left unconnected such that it can go high or low depending on the
state of the macrocell's output.

LATCH-UP IMMUNITY
All of the input, 1/0, and clock pins of the 5C121
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 5C121 is designed with Intel's proprietary CHMOS II-E EPROM
process. Thus, each of the 5C121 pins will not experience latch-up with currents up to 100 mA and voltages ranging from -1V to Vee + 1V. Furthermore,
the programming pin is designed to resist latch-up to
the 13.5V maximum device limit.

In normal operation VeelVpp (pin 40) should be
connected directly to Vee (pin 39).

2-53

inter

5C121

CLOCK SIGNALS TO
'A' HALF OF CIRCUIT

CLK=.REGISTER CLOCK
IlE=INPUT LATCH ENABLE

IlE
ClK ....- - - - - . . ,

Cll<
IlE
"CLOCK CONTROL
lOGIC"

ClK
(PIN 1)

13

14
15
OPTIONAL SECOND /
CLOCK INPUT

r;;

ClK2
";IN 38)

290098-7

Figure 5. Programmable Clock Control System

2-54

intJ

5C121

• Notice: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
Min

Max

Unit

Vee

Symbol

Supply Voltage(l)

Parameter

-2.0

7.0

V

Vpp

Programming
Supply Voltage(l)

-2.0

13.5

V

VI

DC Input Voltage(1)(2)

-0.5 Vee+ 0.5

Icc

DC Vee Current(4)

T8 tg

Storage Temperature

-65

V

100

mA

+150

·C

Ambient Temperature(3) -10
·C
+85
Tamb
NOTES:
1. Voltages with respect to ground.
2. Minimum DC input is -0.5V. During transitions, the inputs may undershoot to - 2.0V for periods less than 20 ns
under no load conditions.
3. Under bias.
4. With outputs tristated.

D.C. CHARACTERISTICS T A = a· to 70·C, Vcc = 5 OV +
- 5%
Symbol

Max

Unit

VIH

HIGH level
Input Voltage

2.0

Vee + 0.3

V

VIL

lOW level
Input Voltage

-0.3

0.8

V

VOH

HIGH level
Output Voltage

10

=

VOL

lOW level
Output Voltage

10

= 4.0mADC

II

Input leakage Current

VI = Vee or GND

loz

3-State Output
Off-State Current

Vo

ISB

Vee Supply Current (Standby)
(Note 6)

VI

Icc

Parameter

Vee Supply Current (Active)

Conditions

Min

-4.0 mA DC

2.4

No load
= 10MHz

f

V
0.45

V

±10.0

jJoA

±10.0

jJoA

CMOS Inputs

3

rnA

TTL Inputs

30

= VeeorGND

= VeeorGND
10 = 0

Typ

CMOS Inputs

50

TTL Inputs

100

rnA

Output Short Circuit Current
(NoteS)
130
rnA
los
NOTES:
5. Output shorted for no more than 1 sec. and no more than one output shorted at a time. los is sampled but not 100%
tested.
6. Chip automatically goes into standby mode if logic transitions do not occur. (Approximately 100 ns after last transition.)

A.C. TESTING INPUT, OUTPUT WAVEFORM

A.C. TESTING LOAD CIRCUIT
5V

3'°-V20
INPUT

855.0.

341.0.

OUTPUT
DEVICE INPUT
RISE AND FALL
TIMES < 6nS

o--,\O~ >TEST POINTS<

V20

Ali.

l~-TEST P O I N T S - E
290098-9

A.e. Testing: Inputs are Driven at 3.0V for a Logic "1" and OV for
a Logic "0". Timing Measurements are made at 2.0V for a Logic
"I" and 0.8V for a Logic "0" on inputs. Outputs are measured at
a 1.5V pOint.

290098-8

2-55

inter

5C121

A.C. CHARACTERISTICSTA = O·to 70·C, Vee = 5.0V ±5%
Symbol

Device

Parameter

Conditions

5C121·50

5C121·65

5C121·90

Min

Min

Min

Max

Max

Unit

Mali

tpo

Non-Registered Input or I/O
Input to Non-Registered Output

tpzx(7)

Non-Registered Input or I/O
Input to Output Enable

tpXZ(7)

Non-Registered Input or 1/0
Input to Output Disable

tsu

Non-Registered Input or 1/0
Input to Output Register Setup

37

47

62

ns

tH

Non-Registered Input or 1/0
Input to Output Register Hold

0

0

0

ns

20

25

30

ns

20

25

30

CL

= 30pF

50

65

90

ns

50

65

90

ns

50

65

90

ns

tCH

Clock High Time

tCl

Clock Low Time

teo

Clock to Output Delay

28

33

38

ns

tCNT

Minimum Clock Period (Register Output Feedback to Register Input-Internal Path)

50

55

75

ns

fCNT

Maximum Frequency (1 lteNT)

20.0

18.0

13.0

fMAX

Maximum Frequency (1 Itsu)

25.0

20

16.0

tRST

Asynchronous Reset Time

tlLS

Set Up Time for Latching Inputs

tlLH

Hold Time for Latching Inputs

15

te1C2

Minimum Clock 1 to Clock 2 Delay

40

tlLOFS

Input Latch to D-FF Setup Time

40

tOFILS

D-FF to Input Latch Setup Time

25

tp3

Minimum Period for a
2-Clock System (TC1 C2

f3

CL

= 30pF

50

65

0

ModeO,l

ns

MHz
MHz
90

0

ns

0

ns

20

25

ns

50

65

ns

50

65

ns

30

35

65

ns
100

85

ns

+ tC01)

Maximum Frequency (1 ItP3)

15.0

10.0

12.0

MHz

NOTE:
7. tpzx and tpxz are measured at ±0.5V from steady state voltage as driven by spec. output load. tpxz is measured with
CL = 5 pF.

SWITCHING WAVEFORMS
INPUT OR

I/o INPUT

COMBINATIONAL OUTPUT

INPUT MAY CHANGE

}I{

COMBINATIONAL
OR REGtSTERED OUTPUT

HIGH IMPEDANCE
3-STATE

HIGH IMPEDANCE
3-STATE

VALID OUTPUT

290098-11

290098-10

NOTE:
Above waveforms shown for clock modes 2,or 3 (tsu & tH are as in modes 2 & 3; no ILE Signal is used).

2-56

5C121

CLOCK MODES
SWITCHING WAVEFORMS
1-CLOCK SYSTEM: MOOES 0 AND 1

-'LDrsClKl (PIN 1) ~
ILS

INPUTS OR
I/O INPUTS

torlLS

!--I

:~LH-

-X

-+

REGISTERED
OUTPUT

teo.!':
X

tpo

)(

COMBINATIONAL
I.
tpxz
COMBINATIONAL
OR REGISTERED _ _ _ _ _ _ _ _ _ _
OUTPUT

~

I---tpZX

~

•

290098-12

INVERT ClKl FOR MODE 0

1-CLOCK SYSTEM: MODES 2 AND 3

I/o INPUTS _ _ _ __
INPUTS OR
COMBINATIONAL
OUTPUT

~
tpD

t
f 1:

------+t-PX-z.J~

COMBINATIONAL - - - - - - - - OR REGISTERED
OUTPUT-------.J
INVERT elKl FOR MODE 2

2-57

t PZX

290098-13

inter

5C121

CLOCK MODES
SWITCHING WAVEFORMS (Continued)

-tclC2CLK2 (PIN 38)

tcoREGISTERED
. OUTPUT

f

f-- tpD.::::i
COMBINATIONAL
OUTPUT

X
I---tpxz

COMBINATIONAL
OR REGISTERED

-tpzx

~

OUTPUT------------------~

290098-14

INVERT CLKl FOR MODES 5 & 7
INVERT COO FOR MODES 4 & 5

100

!
C

20

a

10

~

"S

- --

50

I
IOL

~
0

5

~

2

'" ",
10H

\

1
0

2
Vo

Output

3

4'

5

Voltage (V}

290098-20

Output Drive Current In Relation to Voltage

2-58

intJ

SC121

SCHEMA II-PLD contains the EPLD Design Manager, which provides a single user interface to both
SCHEMA II-PLD and iPLS II software. The other design entry formats supported are Boolean equation
entry and State Machine design entry.

Intel Programmable Logic
Development System II (iPLDS II)
The iPLDS II provides all the tools needed to design
with Intel H-Series EPLDs or compatible devices
(see Figure 6). It contains comprehensive third generation software that supports four different design
entry methods, minimizes logic, does automatic pin
assignments and produces the best design fit for the
selected EPLD. It is user friendly with guided menus,
on-line Help messages and soft key inputs.

The iPLDS II runs on the IBMt PC, PC/XT or PC/AT
and other compatible machines with the following
configuration:
(1) At least one floppy disk drive and hard disk drive

(2) MS-DOStt Operating System Version 2.0 or later release

In addition, the iPLDS II contains programmer hardware in the form of an expansion card for the PC
with programming software to enable the user to
program EPLDs, read and verify programmed devices and also to graphically edit programming files.
The software generates industry standard JEDEC
object code output files which can be downloaded to
other programmers as well.

(3) 640K Memory
(4) Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS II).

Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet (Order Number: 280168).

The iPLDS II has interfaces to popular schematic
capture packages (Dash series from Futurenet· and
PC CAPS·· from PCAD) to enable designs to be
entered using schematics. A more integrated schematic entry method is provided by SCHEMA II-PLD,
a low-cost schematic capture package that supports
EPLD primitives and user-defined macro symbols.

*FutureNet is a registered trademark of FutureNet Corporation. DASH is a trademark of FutureNet Corporation.
"PC-CAPS is a trademark of P-CAD Corporation.
tlBM Personal Computer is a registered trademark of International Business Machine Corporation. .
ttMS-OOS is a registered trademark of Microsoft Corporation.

2-59

.. -

!I
.....
It:
-.
1=
'lin
E"

E 1&
l! E
00

Figure 6. Intel Programmable Logic Development System II

2-60

5C180
1800-GATE CHMOS
ERASABLE PROGRAMMABLE LOGIC DEVICE
Performance LSI Semlcustom
Feedback Signals Allowing 110
• High
• Dual
Pins to Be Used for Buried Logic and
Logic Replacement for TTL and 74HC
SSI and MSI Logic
Dedicated Input
Programmable Clock System with Four
CHMOSEPROM Technology-Based UV
• Erasable
• Synchronous Clocks as well as
Asynchronous Clocking Option on All
48 Macrocells with Programmable 110
• Architecture;
Registers
up to 64 Inputs (16
Programmable Registers. Can Be
Dedicated, 48 110) or 48 Outputs
•
Configured
as 0, T, SR or JK Types
High Speed tpD (max) 75 ns Operating
with Individual Reset Controls
• Frequency
(Max) 12 MHz
Register Pre-Load and Erasable Array
Low Power; 100 p.W Typical Standby
• for
• Dissipation
100% Generic Testability
J-Lead Chip Carrier and Pin Grid
Programmable "Security Bit" Allows
• 68-Pln
• Total
Array Packages
Protection of Proprietary Designs
(See packaging spec., Order #23f369)

The Intel 5C180 EPLD (Erasable Programmable Logic Device) is a CHMOS LSI Logic Device capable of
integrating 1800 to over 2000 equivalent gates of SSI/MSI logic. This user customizable Logic Device is
available in a 68-pin J-Leaded chip carrier or Pin Grid Array package and has the benefits of low power and
increased flexibility.
The 5C180 EPLD uses CHMOS EPROM (floating gate) cells as logic control elements instead of fuses. Use of
Intel's advanced CHMOS II-E EPROM process technology enables greater logic densities to be achieved with
superior speed and power performance. The EPROM technology also enables these devices to be 100%
factory tested by the programming and the erasure of all the EPROM logic control elements in the device.
The architecture of the 5C180 is based on the "Sum of Products" PLA (Programmable Logic Array) structure
with a programmable AND array feeding into a fixed OR array. The 48 macrocells of the 5C180 can be
partitioned into 4'identical quandrants each containing 12 macrocells. This device makes use of a,segmented
PLA structure with local and global bus structures to provide for increased performance and greater- device
utilization. The 5C180 has unique architectural features that allow programming of all 48 registers to D, T, SR
or JK configurations without sacrificing product terms. These registers can be either clocked asynchronously
or in banks with four synchronous clocks. In addition, the 16 global macrocells have two independent feedback paths to the array that allow for buried logic implementation together with use of the 110 pin for input
functions.

1

2

:5

,

S

,

7

8

9 10 11

~i~8~~~

oo;s;s>;;~oo

:::,.:::,.

:::,.:::,.

~ iii ~

Figure 1. Pin Configuration

~~

290111-35

Figure 2. PGA Pin Configuration

2-61

November 1987
-Order Number: 290111-004

5C180

opened during the programming process. Therefore
any product term can be connected to the true or
complement of any input. When both the, true and
complement connectio,ns of 'any input are left intact,
a logical false results on the output of the AND gate.
If both the true and complement connections of any
input are programmed open, then a logical "don't
care" results for that input. If all inputs for a product
term are programmed open, then a logical true results on the output of the AND gate.

ARCHITECTURE DESCRIPTION
Externally, the 5C180 provides 12 dedicated data inputs, 4 synchronous clock inputs, and 48 I/O pins
which may be individually programmed for input, output, or bi-dlrectional operation.
The Block Diagram is shown in Figure 2. The internal
architecture is organized in familiar sum-of-products
(AND-OR) structure. The 5C180 houses a total of
480 product terms distributed among 48 Macrocells.
The basic Macrocell structure is shown in Figure 3.
Input and feedback signals are selectively connected to product terms via EPROM cells. The output of
the AND array feeds a fixed OR gate to produce
sum-of-products logic. The final output may be combinatorial or registered, programmed active high or
low. Combinatorial, registered, or pin feedback is
also user-defined.

BUS STRUCTURE
Input and feedback signals are connected to each
5C180 Macrocell via a Local and Global Bus. Figure
4 shows the Macrocell-Bus interface for Quadrant' D.
The Global Bus contains 64 input signals while the
Local Bus has 24.
Within the 5C180 Macrocell, the product-terms
share the entire bus structure. Therefore, a logical
AND of any of the variables (or their complements)
that is present on the buses may be produced by
each product term.

The 5C180 is portioned into 4 identical quadrants.
Each quadrant contains 12 Macrocells. Input Signals
to the Macrocells come from the 5C180 Local and
Global bus structures. These two buses comprise an
88-input AND-array for each quadrant. The output of
each Macrocell feeds an I/O Architecture Control
Block which contains output and feedback selection.

All quadrants share the same Global Bus. Inputs to
the bus come from the true and complement signals
of the 12 dedicated data inputs, 4 clock inputs, and
the 16 Global Macrocell pin feedback signals.

Four dedicated clock inputs provide synchronous
clock signals to the 5C180 internal registers. There
is one synchronous clock per quadrant. Therefore
each clock signal controls a bank of 12 registers.
CLK1 may be connected to registers in Macrocells
1-12, CLK2 with Macrocells 13-24, CLK3 with Macrocells 25-36, and CLK4 with Macrocells 37-48.
With synchronous clocks, the flip-flops are positive
edge triggered. Both true and complement signals
for each dedicated clock input may also be used
within the AND array. All 48 internal registers may be
individually programmed for synchronous or asynchronous clocking. Asynchronous clocking is possible via a Macrocell product term. Clock inputs not
used for synchronous clock signals may be used as
global bus inputs.

Each quadrant has its own Local Bus. Inputs to this
bus come from the 12 quadrant Macropells. For the
eight Local Macrocells, the signals can be either
from the Macrocell 'internal logic or from the pin. For
the four Global Macrocells, the signals come from
the Macrocell internal logic only. '
Table 1 summarizes the Macrocell interconnect.
Table 1. Macrocellinterconnect

Pin

Macro- Feedback
Feedback
Structure Interconnect
cell "
Quad 2-9
1-8
Local
Quad A
A
10-13 9-12
Local
Quad A
Global
All

"

Invert Select EPROM Bit

Quad 23-26
B
27-34

The Invert Select EPROM bit is used to invert the
product term input Into the register. This applies to
all inputs including double inputs on JK and SR registers. The invert option allows the highest possible
logic u~ilization by use of de Morgan logic inversion.
At each intersecting point in the logic array there
exists an EPROM-type programmable connection.
Initially, all connections are complete. This means
that both the true and complement of all inputs are
connected to each product-term. Connections are

2-62

13-16

Local
Global
Local

QuadB
All
QuadB

Quad 36-43 25-32
C
44-47 33-36

Local
Local
Global

QuadC
QuadC
All

Quad 57-60 37-40
D
61-68 41-48

Local
Global
Local

QuadD
All
QuadD

17-24

intJ

5C180

QUADRANT D

QUADRANT A

QUADRANT C

QUADRANT B

GLOBAL MACROCELLS
LOCAL MACROCELLS
Figure 2. 5C180 Block Diagram

2-63

290111-2

5C180

AND_r

SYNCHRONOUS
CLOCK

YCC~
OE

cue
EPROM
CElL
CONHECIIOH

PRODUc:r

TERM

~

I/o

INPUTS AND I/O

290111-3

Figure 3. Balle Macrocell Architecture of the 5C180

2·64

5C180

GLOBAL BUS
(64 INPUT)

LOCAL BUS
(24 INPUT)

QUADRANT D
MACROCELL 48

MACROCELL 47

MACROCELL 46

MACROCELL 45

MACROCELL 44

MACROCELL 43

MACROCELL 42

MACROCELL 41

MACROCELL 40

MACROCELL 39

MACROCELL 38

MACROCELL 37

GLOBAL BUS TO
OTHER QUADRANTS
290111-4

Figure 4. Quadrant "D" Bus Interface

2·65

5C180

routed to the quadrant local bus. Therefore, the Local Macrocell feedback communicates only to Macrocells within the same quadrant. There are a total of
32 Local Macrocells within the 5C180, with eight per
quadrant.

5C180 MACROCELLS
Within each 5C180 quadrant there are two different
types of. Macrocells; Local Macrocells, Figure 5, and
Global Macrocells, Figure 6. Both types share an 88.
input AND array and contain a total of ten product
terms. Eight product terms are dedicated for logic
implementation. One product term is reserved for
Asynchronous Clear to the Marcocell register. The
remaining product term is used for Output Enable/
Asynchronous Clock implementation. Each 5C180
product term represents an 88·input AND gate. The
I/O Architecture Control Block provides each Mac·
rocell with both combinatorial and registered I/O
configurations.

Global .Macrocells contain two independent feedback paths to the AND array. Combinatorial or registered feedback is supplied to the local bus and pin
feedback is supplied to the global bus. The "dual
feedback" capability allows the Macrocell to be
used for internal logic functions as well as a dedicated input pin. To obtain this configuration, the output
buffer must be disabled. If the Global Macrocell I/O
pin is not being used as a dedicated input, the Macrocell logic may be fed back along the global bus
allowing routing to any of the 5C180's 48 Macrocells. There are 16 Global Macrocells contained in
the 5C180, four per quadrant.

Local Macrocells provide one feedback path into the
AND array. Combinatorial, registered or pin feed·
back may be selected from the Feedback Select
Multiplexer. The selected feedback signal is then

QUADRANT
SYNCHRONOUS
CLOCK
-GLOBAL BUS-LOCAL BUS_
OE
OE/ CLOCK t-fT--f1F-~:""----f=F----1FF---I=f:....J--I

L!:::~:-t-..,
.CLK

I/O
ARCHITECTURE
CONTROL

6~~4+~~----~--~--4+--~
7~~4+~~----~--~--4+--~
RESET~+--r~-H~--++--H~~~-~
FEEDBACK
SELECT
LOCAL BUS

GLOBAL
DEDICATED
INPUTS
(16 INPUTS)

QUADRANT
QUADRANT
A,B,C,D
LOCAL
GLOBAL
FEEDBACK
FEEDBACK
(12 MACROCELLS)
( 1 6 MACROCELLS)

290111-5

Figure 5. Local Macrocell Logic Array

2-66

5C180

QUADRANT
SYNCHRONOUS

CLOCK
4-----GLOBALBus~LOCALBUS-.

CLOCK
SELECT

OE
SELECT
OE

OE/CLOCKI-fF--FF~IT---ofF-ofF--fl~-I

O~r-+t-i+--~H-~~--H---LJ

1~r-+t-i+---~H-~~--H-~

~ 2~r-~~H---~-~--H~-f

e 3HH~r-H----H--H-~r-~
~ 4~~~-+~---+~-H~-H~-f
2
S~r-~~H---~-~--H~-f
II..

I/o

ARCHITECTURE
CONTROL

6~r-+t-i+---~H-~~~H---1
7~r-~~H---~-~--H--f

RESET'tr-1titt--1t-1t-11--t.>--1L___--1
LOCAL BUS
GLOBAL BUS
~

GLOBAL
DEDICATED
INPUTS
INPUTS)

(16

'~

_ _ _ _ _ _- J

(16

QUADRANT
A,B,C,D
GLOBAL
FEEDBACK
MACROCELLS)

(12

QUAORANT
LOCAL
FEEDBACK
MACROCELLS)

290111-6
Figure 8. Global Macrocell logic Array
product term derived in the AND array. When this
dedicated product term is a logical one, the Macrocell register is immediately cleared to a logical zero
independent of the register clock. The RESET function occurs automatically on power-up.

MACROCELL LOGIC
CONFIGURATIONS
Combinatorial Selection

The four different register types shown in Figures
7b-7e are described below:

In the Combinatorial configuration, eight product
terms are ORed together to generate the output signal. The Invert Select EPROM bit controls output
polarity and the Output Enable buffer is product-term
controlled. The Feedback Select allows the user to
choose combinatorial, 1/0 (pin) or no feedback to
the respective local and global buses.

D- or T-type Flip-Flops
When either a D- or T-type Flip-Flop is configured
as part of the 1/0 structure, all eight of the product terms into the Macrocell are ORed together
and fed into the register input.

REGISTER SELECTION

JK or SR Registers

The advanced 110 architecture of the 5C180 allows
four different register types along with combinatorial
output as illustrated in Figures 7a-7e. The register
types include a T, D, JK, or SR Flip-Flop and each
Macrocelil/O structure may be independently configured. In addition, all registers have an individual
asynchronous RESET control from a dedicated

When either a JK or SR register is configured,
the eight product terms are shared among two
OR gates (one for the J or S input and the other
for the K or R input). The, allocation for these
product terms for each of the register inputs is
optimized by the iPLDS II development software.

2-67

intJ

5C180

Burled Logic Selection
For Global Macrocells, if no output is selected, the
logic may be "buried" and the 1/0 pin can be used
as an additional dedicated input. The use of "dual
feedback" is accomplished by tri-stating the Output
Enable Buffer. Thus, up to 16 additional dedicated
inputs may be added without sacrificing the Macrocell internal logic.
In the erased state, the 1/0 architecture is configured for combinatorial active low output with I/O
(pin) feedback.

Q

RESET

RESET
290111-9

Figure 7c. Toggle Flip-Flop Register
_ C.onflguratlon

D-

ClK

290111'-7

Figure 7a. Combinatorial 110 Configuration

INVERT
SELECT

290111-10

Figure 7d. JK Flip-Flop Register Configuration

Q

RESET

RESET
290111-8

Figure 7b. 0-Type Flip-Flop Register
Configuration
2-68

inter

5C180

The operation of each multiplexer is controlled by
EPROM bits and may be individually configured for
each 5C180 Macrocell.

ClK
N

In Mode 0, the three-state output buffer is controlled
by a single product term. If the output of the AND
gate is a logical true then the output buffer is enabled. If a logical false resides on the output of the
AND gate then the output buffer is seen as high impedance. In this mode the Macrocell flip-flop may be
clocked by its quadrant synchronous clock input. In
the erased state, the 5C180 is configured as Mode

8-N

o.

In Mode 1, the Output Buffer is always enabled. The
Macrocell flip-flop now may be triggered from an
asynchronous clock signal generated by the Macrocell product term. This mode allows individual clocking of flip-flops from any available signal in the quadrant AND array. Because both true and complement
signals reside in the AND array, the flip-flops may be
configured for positive or negative edge triggered
operation. With the clOCk now controlled by a product term, gate clock structures are also possible.

INVERT
SELECT

290111-11

Figure 7e. SR Flip-Flop Register Configuration

MACROCELL OE/CLK SELECT

In Modes 2 and 3, the Output Buffer is alwa~ disabled. The Macrocell flip-flop may still be triggered
from clock signals generated from the Macrocell
product term or asynchronous clocks. This mode is
only possible for Global Macrocells.

Each 5C180 register may be clocked synchronously
or asynchronously. Figure 8a and 8b shows the
modes of operation provided by the OE/CLK Select
Multiplexers for both Local and Global Macrocells.

2-69

5C180

SYNCHRONOUS
CLOCK

vee
OE
OE/CLK

elK - SYNCHRONOUS
CLK
OE - P-TERII CONTROLLED

IIACROCELL
REGISTER

OUTPUT
BUFrER

290111-12
The register Is clocked by the quadrant synchronous clock signal which is common to 11 other MacroceIls. The output Is enabled by the
logic from the product term.
SYNCHRONOUS
CLOCK

vee
OE
OE/CLK

CLK - ASYNCHRONOUS
CLK
OE-ENABLED

IIACROCELL
REGISTER
OUTPUT
BUFFER

290111-13
The output is permanentiy enabled and the register is clocked via the product term. This allows for gated clocks that may be generated
from elsewhere in the 5C180.
.

Figure 8a. Local Macrocell OE/CLK Selection

2·70

inter

5C180

SYNCHRONOUS
CLOCK

OE
OE/ClK

ClK - SYNCHRONOUS
ClK

OE - DISABLED

MACROCEll
REGISTER

290111-14
The output is permanently disabled and the register clocked by the quadrant synchronous clock signal. The pin can be used as an input
while the register or combinational output can be fed back.

SYNCHRONOUS
CLOCK

OE
OE/ClK

ClK - ASYNCHRONOUS
ClK

OE - DISABLED

MACROCEll
R'EGISTER

290111-15
The output is permanently disabled and the register is clocked via the product term. This allows gated clocks that may be generated
elsewhere in the 5C180. The pin can be used as in input while the register or combinational output can be fed back.

Figure ab. Global Macrocell Additional OE/CLK Selection

2-71

5C180

MACROCELL LOGIC
CONFIGURATIONS

+

Figures 9 and 10 show the 5C180 basic I/O configurations for both the Local and Global Macrocells.
Along with combinatorial, four register types are
available. Each Macroceil may be independently
programmed.

1/0

The 5C180 Input/Output Architecture provides each
Macrocell with over 50 possible I/O configurations.

OE

FEEDBACK
SELECT
290111-16

COMBINATORIAL

I/O Selection

Output/Polarity

Feedback

Bus

Combinatorial/High
Combinatorial/Low
None
None

Comb, Pin, None
Comb, Pin, None
Comb
Pin

Local
Local
Local
Local

Figure 9. !.ocal MacrocelillO Configurations

2-72

5C180

SYNCHRONOUS
CLOCK
OE/ClOCK
SELECT
V
CC

OE

ClK

0
UI

UI

III
..J

III
..J

:::>

Q

:::>

«
III

«

u

0

C

9

..J

C>

290111-17

0-TYPE FLIP-FLOP
I/O Selection
Output/Polarity
D-RegistertHigh
D-RegistertLow
None
None

Feedback
D-Register, Pin, None
D-Register, Pin, None
D-Register
Pin

Bus
Local
Local
Local
Local

Function Table

D
0
0
1
1

Qn

Qn +1

0
1
0
1

0
0
1
1
Figure 9. Local Macrocelil/O Configurations (Continued)

2-73

Set8D

SYNCHRONOUS
CLOCK
' OE/ClOCK
Vee SELECT
OE

Cll(

VI

VI

::;)

::;)

III

III

....

~.

C

9

290111-18

TOGGLE FLIP-FLOP
I/O Selection
Output/Polarity
Feedback'
T-Register/High T-Register, Pin, None
T-Register/Low . T-Register, Pin, None
None
T-Register
None
Pin

Bus
Local
Local
Local
Local

Function Table

T

On

0
0
1
1

0
1
0
1

On+1
0
1
1
0
Figure 9. Local Macrocellll0 Configurations (Continued)

inter

5C180

SYNCHRONOUS
CLOCK
OE/ClOCK
Vee SELECT
OE

ClK

III
:::I

III
:::I

III

III

....

....

'"

~

III

~

9
INVERT
SELECT

290111-19

JK FLIP-FLOP

I/O Selection

Output/Polarity

Feedback

Bus

JK Register/High
JK Register/Low
None

JK Register, None
JK Register, None
JK Register

Local
Local
Local

Function Table
J

0
0
0
0
1
1
1
1

K
0
0

Qn

Qn +1

0

0

1

1

1
1

0

0
0

0
0

0

1
1

0

1
1
1

1

0

1
1

Figure 9. Local Macrocelii/O Configurations (Continued)

2-75

5C180

SYNCHRONOUS
CLOCK

OE/ClOCK
SELECT
OE

ClK
N

8-N

C

INVERT
SELECT

290111-20

SR FLIP-FLOP
110 Selection
Output/Polarity
SR Register/High
SR Register/Low
None

Feedback
SR Register, None
SR Register, None
SR Register

Bus
Local
Local
Local

Function Table

S

R

Qn

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

Qn

+

1

0
1
0
0
1
1
.Figure 9. Local MacrocelillO Configurations (Continued)

2-76

inter

5C180

VI

ill
...J

~

9

290111-21

COMBINATORIAL
I/O Selection
Output/Polarity

Feedback

Combinatorial/High Comb, Pin, None
Combinatorial/Low Comb, Pin, None
None
Comb
None
Pin
Comb/Pin
None

Bus
Local, Global
Local, Global
Local, Global
Global
Local/Global

Figure 10. Global Macrocelii/O Configurations

2-77

inter

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT

290111-22

D-TYPE FLIP-FLOP
I/O Selection
Output/Polarity

Feedback

Bu.

D.RegisterIHigh
D-Register/Low
None
None
None,

D-Register, Pin, None
D-Register, Pin, None
D-Register
Pin
D-Register/Pin

Local, Global
Local, Global
Local, Global
Global
Local/Global

Function Table

D
0
0
1
1

Qn
0
1
0
1

Qn +1
0
0
1
1
Figure 10. Global Macrocelii/O Configurations (Continued)

2-78

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT

290111-23

TOGGLE FLIP-FLOP
I/O Selection
Output/Polarity

Feedback

Bus

T-Register/High
T-Register/Low
None
None
None

T-Register, Pin, None
T-Register, Pin, None
T-Register
Pin
T-Register/Pin

Local, Global
Local, Global
Local, Global
Global
Local/Global

Function Table

T
0
0
1
1

Qn

Qn +1

0
1
0
1

0
1
1
0
Figure 10. Global Macrocelii/O Configurations (Continued)

2-79

5C180

CLOCK

OE

SELECT

SELECT

N

III
;:)

III

III

III

;:)

....

....
<1
9

~
0

5

C

INVERT
SELECT

290111-24

JK FLIP·FLOP
I/O Selection.
OutpuVPolarlty
Feedback
Bus
JK Register/High JK Register, None Local, Global
JK Register/Low JK Register, None Local, Global
Local
JK Register
None
None
JK Register/Pin Local/Global
Function Table

J
0
0
0
0
1
1
1
1

K
0
0
1
1
0
0
1
1

Qn

Qn+1

0
1
0
1
0

0
1
0
0
1

1

0

1
1

1

0
Figure 10. Global Macrocelii/O Configurations (Continued)

2-80

inter

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT

N

8-N

INVERT
SELECT

290111-25

SR FLlP·FLOP
I/O Selection
Output/Polarity

Feedback

Bus

SR Register/High SR Register, None Local, Global
SR Register/Low SR Register, None Local, Global
None
SR Register
Local
None
SR Register/Pin Local/Global
Function Table

S

R

On

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

On+1
0
1
0
0
1
1
Figure 10. Global Macrocelii/O Configurations (Continued)

2-81

inter

5C180

the incremental program margin of each bit is continually monitored to determine when the bit has
been successfully programmed.'

Erased-State Configuration
Prior to programming or after erasing, the I/O structure is configured for combinatorial active low output
'
with input (pin) feedback.

FUNCTIONAL TESTING'
Since the logical operation of the 5C180 is controlled by EPROM elements, the device is completely testable. Each programmable EPROM bit controlling the internal logiC is' tested using application-independent test program patterns. After testing, the
devices are erased before shipment to customers.
No post-programming tests of the EPROM array are
'
required.

ERASURE CHARACTERISTICS
Erasure characteristics of the 5C180 are such that
erasure begins to occur upon exposure to light with
wavelengths shorter than approximately 4000A. It
should be noted that sunlight and certain types of
fluorescent lamps have wavelengths in the 300QA4000A range. Data shows that constant exposure to
room level fluorescent lighting could erase the typical 5C180 in approximately three years, while it
would take approximately one week to cause erasure when exposed to direct sunlight. If the 5C180 is
to be exposed to these types of lighting conditions
for extended periods of time; conductive opaque labels should be placed over the device window to
prevent unintentional erasure.
The recommended erasure procedure for the 5C180
is exposure to shortwave ultraviolet light with a
wavelength of 2537A. The integrated dose (Le., UV
intensity x exposure time) for erasure should be a
minimum of fifteen (15) Wsec/cm2 • The erasure
time with this dosage is approximately 15 to 20 minutes using an ultraviolet lamp with a 12,000 p.W/cm2
power rating. The 5C180 should be placed within
one inch of the lamp tubes during erasure. The maximum integrated dose the 5C180 can be exposed to
without damage is 7258 Wsec/cm2 (1 week at
12,000 p.W/cm2). Exposure to high intensity UV light
for longer periods may cause permanent'damage to
the device.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of the 5C180 are connected. Each of the connected control bits are selectively disconnected by
programming the EPROM cells into their "on" state.
Programming voltage and waveform speCifications
are available by request from Intel to support programming of the 5C180.

The testability and reliability of EPROM-based programmable logic devices is an important feature
over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
use to perform post-programming tests to insure
proper programming. These tests must be done at
the device level because of the cummulative error
effect. For example, a board containing ten devices,
each possessing a 2% device fallout translates into
an 18% fallout at the board level (it should be noted
that programming fallout of fuse-based programmable logic devices is typically 2% or higher).

DESIGN RECOMMENDATIONS
To take maximum advantage of EPLD technology, it
is recommended that the designer use the Modular
EPLD LogiC Design (MELD) method. The MELD philosophy is derived, from the modular programming
method used in software development. In a modular
software development environment, the engineer
, designs a modular pr9gram (typically on a development system), stores it in memory (EPROM), and
tests the module for functionality. A hardware designer using EPLDs can use tl'1is same approach
when designing logic. The designer develops a modular logiC design on the Intel Programmable Logie
Development System (iPLDS), stores it in ~'memory" '
(the EPROM control elements of the EPLD), and
again tests the module for functionality. If the design
is in error, the logic designer reprograms the EP'LD
with his new design as easily as a software designer
can download a new program into memory.
The MELD philosophy is new to programmable logic
because EPROM-tiased PLDs are new. A modular
logic development process,using fused-based PLDs
would be wasteful since a fuse-based device cannot
be erased and re-used.

inteligent Programming™Algorithm
The 5C180 supports the inteligent Programming Algorithm which rapidly programs Intel H-ELPDs (and
EPROMs) using an efficient and reliable method.
The inteligent Programming Algorithm is particularly
suited to the production programming environment.
This method greatly decreases the overall programming time while programming reliability is ensured as
2-82

inter

5C180

For proper operation, it is recommended that all input and output pins be constrained to the voltage
range GND < (YIN or VOUT) < Vee. Unused inputs
should be tied to an appropriate logic level (e.g., either Vee or GND) to minimize device power consumption. Reserved pins (as indicated in the iPLS II
REPORT file) should be left floating (no connect) so
that the pin can attain the appropriate logic level. A
power supply decoupling capacitor of at least 0.2 ,..,f
must be connected directly between Vee and GND.

mizes logic, does automatic pin assignments and
produces the best design fit for the selected EPLD.
It is user friendly with guided menus, on-line Help
messages and soft key inputs.
In addition, the iPLDS II contains programmer hardware in the form of an iUP-PC Universal Programmer-Personal Computer to enable the user to program EPLDs, read and verify programmed devices
and also to graphically edit programming files. The
software generates industry standard JEDEC object
code output files which can be downloaded to other
programmers as well.

DESIGN SECURITY
A single EPROM bit provides a programmable design security feature that controls the access to the
data programmed into the device. If this bit is set, a
proprietary design within the device cannot be copied. This EPROM security bit enables a higher degree of design security than fused-based devices
since programmed data within EPROM cells is invisible even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, will be reset by erasing the device.

iPLDS II has interfaces to popular schematic capture
packages (including Dash series from Future-NET"
and PC-CAPS·· from P-CAD) to enable designs to
be entered using schematics. A more integrated
schematic entry method is provided by SCHEMA 11PLD, a low-cost schematic capture package that
supports EPLD primitives and user-defined macro
symbols. SCHEMA II-PLD contains the EPLD Design
Manager, which provides a Single user interface to
both SCHEMA II-PLD and iPLS II software. The other design formats supported are Boolean equation
entry and State Machine design entry.

LATCH-UP IMMUNITY
The iPLDS II operates on the IBMt PC/XT, PC/AT,
or other compatible machine with the following configuration:
1. At least one floppy disk drive and hard disk drive.

All of the input, 1/0, and clock pins of the 5C180
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 5C180 is designed with Intel's proprietary CHMOS II-E EPROM
process. Thus, each of the SC180 pins will not experience latch-up with currents up to 100 mA and voltages ranging fronm -1V to Vee + 1V. Furthermore,
the programming pin is designed to resist latch-up to
the 13.SV maximum device limit.

2. MS-DOS:j: Operating System Version 3.0 or greater.
3. 640K Memory.
4. Intel iUP-PC Universal Programmer-Personal
Computer (supplied with iPLDS II).

5. GUPI LOGIC Adaptor

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II.(IPLDS II)

6. A color monitor is suggested.
Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)

The iPLDS II graphically shown in Figure 11 provides
all the tools needed to design with Intel H-Series
EPLDs or compatible devices. In addition to providing development assistance, iPLDS II insulates the
user from having to know all the intricate details of
EPLD architecture (the machine will optimize a design to benefit from architectural features). It contains comprehensive third generation software that
supports four different design entry methods, mini-

•
••
t
:j:

2-83

FutureNET is a registered trademark of FutureNET Corporation. DASH is a trademark of FutureNET Corporation.
PC-CAPS is a trademark of P-CAD Corporation.
IBM Personal Computer is a registered trademark of International Business Machines Corporation.
MS-DOS is a registered trademark of Microsoft Corporation.

l
J!
c

co

a;

Intel Programma.le Logic
Development System II

....
....
=ii

r-

~

=
S'
it

c8"

ill
3
a, 3

CIt

...o

I\)

~

:!

III
D'

CD

in
o
!0'
"3

CD

3-

i

"@)

3
290111-26

aID
IiiiiI

IF
c::::::I

~

c::::::I

~

~

~

inter

5C180

·Notice: Stresses above those listed under ':4bsolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
Symbol

Parameter

Min

Max

Unlta

-2.0

7.0

V

-2.0

13.5

V

Vee

Supply Voltage(1)

Vpp

Programming
Supply Voltage(1)

VI

DC Input Voltage(1)(2)

-0.5 Vee+ 0•5

V

tstg

Storage Temperature

-65

+150

DC

tamb

Ambient Temperature(3)

-10

+85

DC

NOTICE: Specifications contained within the
fol/owing tables are subject to change.

NOTES:
1. Voltages with respect to ground.
2. Minimum DC input is -0.5V. During transitions, the inputs may undershoot to - 2.0V for periods less than 20 ns under no
load conditions.
3. Under bias. Extended temperature versions are also available.

D.C. CHARACTERISTICS
Symbol
VIH(4)
VIL(4)
VOH(5)

TA

= O· to +70"C, Vee = 5V

Parameter/Test Conditions
High Level Input Voltage

±5%

Min
2.0
-0.3

Low Level Input Voltage
, High Level Output Voltage
10 = -4.0 mA D.C., Vee = min.

Typ

Max

Unit

Vee + 0.3
0.8

V
V

2.4

V

VOL

Low Level Output Voltage
10 = 4.0 mA D.C., Vcc = min.

0.45

V

II

Input Leakage Current
Vcc = max., GND < VOUT < Vcc
Output Leakage Current
Vee = max., GND < VOUT < Vee
Output Short Circuit Current
Vee = max., VOUT ,= 0.5V

±10

p.A

±10

p.A

loz
IsC<6)

mA

IS8(7)

Standby Current
Vcc = max., VIN = Vcc or GND,
Standby mode

20

150

p.A

lee

Power Supply Current
Vcc = max., VIN = VeeorGND,
No load, Input Freq. = 1 MHz
Active'mode (Turbo = Off),
Device prog. as 4 12-bit Ctr.

30

45

rnA

NOTES:
4.
5.
6.
7.

Absolute values with respect to device GND; all over and undershoots due to system or tester noise are included.
10 at CMOS levels (3.84 V) = - 2 mA
Not more than 1 output should be tested at a time. Duration of that test must not exceed 1 second.
With Turbo Bit Off, device automatically enters standby mode apprOximately 100 ns after last input transition.

2-85

inter

5C180

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM.

5V

INPUT

855.n

3.0](20
•

o

.0.8

>

-< .

X;20
8

TEST POINTS

.

0.

DEVICE D-+--+-C> TO TEST
OUTPUT
SYSTEM

341.n

OUTPUT

290111-27

DEVICE INPUT
RISE AND FALL
TIMES < 6 nS

A.C. Testing: Inputs are Driven at 3.0V for a Logic "1" and OV for
a LogiC "0". Timing Measurements are made at 2.0V for a LogiC
"1" and 0.8V for a Logic "0" on inputs. Outputs are measured at
a 1.5V point.

290111-28
CL

=

50pF

A.C. CHARACTERISTICS
Symbol

1~-TEST POINTS-~

From

TA = O·C to + 70·C, Vcc = 5V ± 5%, Turbo Bit On(8)
5C180-75

To
Min

Typ

5C180-90

Max

Min

Typ

Max

Non(10) Turbo
Adjust

Unit

ns

Input

Comb. Output

70

85

+30

tpD2

Local I/O .

Comb. Output

75

90

+30

ns

tpDG

Global I/O

Comb. Output

70

85

+30

ns

tpZX(9)

lor I/O

Output Enable

75

90

+30

ns

tpXZ(9)

lor I/O

Output Disable

75

90

+30

ns

tClR

Asynch. Reset

QReset

75

90

+30

ns

tpD1

NOTES:

8. Typ. Values are at TA = 25°C, VCC = 5V, Active Mode.
9. tpzx and tpxz are measured at ±0.5V from steady state voltage as driven by spec. output load. tpxz is measured with
CL = 5 pF.
.
10. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

CAPACITANCE
Symbol

Parameter

CIN

Input Capacitance

COUT

Output Capacitance

CClK

Clock Pin Capacitance

CvPP

Vpp Pin Capacitance

Conditions

= OV, f = 1.0 MHz
VOUT = OV, f = 1.0 MHz
VOUT'" OV, f = 1.0 MHz
Pin 19, VOUT = OV, f = 1.0 MHz
VIN

2·86

Min

Typ

Max

Unit

15

pF

15

pF

25

pF

160

pF

5C180

SYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA

= O·C to

Symbol

+70·C,

vee = 5V

±5%, Turbo Bit On(11)

5C180-75

Parameter

Min

5C180-90

Typ Max

Min

Typ Max

Non(12) Turbo
Adjust

Unit

fMAX

Max Frequency
1/tsu-No Feedback

19.6

16.1

MHz

fCNT

Max. Count Frequency
1/tCNT-With Feedback

15.1

12.2

MHz

tSU1

Input Setup Time to Clk

51

62

+30

ns

tSU2

Local I/O Setup Time to Clk

56

67

+30

ns

tSUG

Global I/O Setup Time to Clk

51

62

+30

ns

tH

I or I/O Hold after Clk High

0

0

teo

Clk High to Output Valid

30

35

teNT

Register Output Feedback
to Register InputInternal Path

66

82

tCH

Clk High Time

25

30

ns

tCL

ClkLowTime

25

30

ns

ns
ns
+30

ns

NOTES:
11. Typ. Values are at TA = 25°C, Vee = 5V, Active Mode.
.
12. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA = O·C to +70·C, VCC = 5V ±5%, Turbo Bit On(13)
Symbol

Parameter

5C180-75

5C180-90

Min Typ Max Min Typ Max

Non(14) Turbo
Adjust

Unit

fAMAX

Max: Frequency
1/tAsu-No FeedbaCk

66.7

40.0

MHz

fACNT

Max. Frequency
1/tACNT-With Feedback

15.1

12.2

MHz

tASU1

Input Setup Time to Asynch. Clock

17

23

+30

ns

tASU2

I/O Setup Time to Asynch. Clock

22

28

+30

ns

tAH

Input or I/O Hold to Asynch. Clock

30

30

tACO

Asynch. Clk to Output Valid

75

90

tACNT

Register Output Feedback
to Register InputInternal Path

66

82

tACH

Asynch. Clk High Time

25

30

ns

tACL

Asynch. Clk Low Time

25

30

ns

ns
ns
+30

NOTES:
13. Typ. Values are at TA = 25·C, Vee = 5V, Active Mode.
14. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

2-87

ns

5C180

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

-

f'''j
I--- tpxz --,--I
/

"

COMBINATORIAL OR
REGISTERED OUTPUT

.
HIGH IMPEDANCE
3-STATE

HIGH IMPEDANCE
3-STATE

r--tPzx~

tCLR~

,

~

"'"

VALID OUTPUT

ASYNCHRONOUSLY
CLEAR OUTPUT
290111-29

2-88

intJ

5C180

SWITCHING WAVEFORMS (Continued)
SYNCHRONOUS CLOCK MODE

CLK1,CLK2,
CLK3,CLK4

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT

290111-30

ASYNCHRONOUS CLOCK MODE

ASYN. - - - -....
CLOCK
INPUT _ _ _ _",

OTHER
INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

~~ t_Aro_~--

________________________ ___
(FROM REGISTER
TO OUTPUT)

,

, _______________

I

I \.

----------------------------'"

2-89

VALID OUTPUT

~-----------290111-31

inter

5C180

~

,§.

J:l

240
220
200
180
160
140
120
100
80
60

/'
./
./
A

, 10°

~~~/

" II
I

40
20

17

Non-Turbo

I

I

o
o

5

20

10
feNT (t.tHz)

TA

=

O'C, Vee

=

290111-32

5.25V

Current in Relation to Frequency

--H-J. J -

240
220
f eNT =20t.tHz
-~
200
I
180
feNT= 10t.tHz
160 I-- I I
140
120
100 I-- - f eNT =lt.tHz,Turbo "f I I I
80
60
I I I
40
_
feNT
=
1 t.tHz,Non-Turbo
20 I--

-

~

,§.

u-

J;,.

I I

T
I I I
I I I

T I I I I I

o
o

20

40

60

8085

TEt.tP (e)
Vee

=

290111-33

5.25V

Current in Relation to Temperature
100

1...

50

c

20

0

10

~::J

I

-

IOL

'5
.9::J

5

g

2

'" r'\
IOH

0

1
0

.......

2

3

4

'"\
5

Vo output Voltage (V)

290111-34

Output Drive Current in Relation to Voltage
2-90

5AC312
ERASABLE PROGRAMMABLE
LOGIC DEVICE
• High Performance LSI Semi-Custom
Logic Alternative for Low-End Gate
Arrays, TTL, and 74HC- or 74HCT SSI
and MSI Logic

• CHMOS III-E EPROM Technology
based; UV-Erasable
• Low Power; 150 p,A Standby Current
• Programmable Security Bit Allows
100% Protection of Proprietary Designs

• High Speed tpd (max) 25 ns, 40 MHz
Operating Performance
• Erasable Array for 100% Generic
Testability

5AC312 KEY FEATURES
•

12 Macrocells with Programmable 1/0
Architecture; Up To 22 Inputs (10
Dedicated, 121/0) or 12 Outputs

• Dual Feedback on All Macrocells for
Buried Register Implementation and
Input Usage

•

8 Programmable Inputs; Each Can Be
Programmed Individually to Implement
Latch, Register or Flow-Through
Structure; Synchronous or
Asynchronous Operation

• 2 Product Terms on All Macrocell
Control Signals
• Programmable Power Option for
"Stand-By" Operation
• Available in 24-Pin 0.3" DIP and 28-Pln
PLCC Packages

• Software-Supported Product Term
Allocation between Adjacent
Macrocells

CLK/INP1

1/0.11
LINP1

GND

1

(See Packaging Spec .• Order Number #231369)

Vee
1/0.12
1/0.9
1/0.10
1/0.7
1/0.8
1/0.6
1/0.5

LlNP4

LlNP6

1/0.10
1/0.7
1/0.8
1/0.6
1/0.5

1/0.4
1/0.3
1/0.2

LlNP7

1/0.4

LlNP2
LlNP3

LlNP5

N.C.

N.C.

ILE/ICLK/INP2
290156-1

290156-2

Figure 1. Pin Configurations

2-91

November 1987
Order Number: 290156-001

intJ

5AC312

a highly flexible macrocell and 1/0 structure. In addition, the 5AC312 has been designed to effectively
implement both combinational-register and registercombinational-register forms of logic to easily accommodate state machine designs.

INTRODUCTION
The Intel 5AC312 CHMOS EPlD (Erasable Programmable logic Device) represents an innovative
approach to overcoming the primary limitations of
standard PlDs. Due to a proprietary 110 architecture
and rnacrocell structure, the 5AC312 is capable of
implementing high performance logic functions more
effectively than previously possible. It can be used
as an alternative to low-end gate arrays, multiple
programmable logic devices or lS-, HC- or HCT SSI
and MSI logic devices.

Figure 2 shows a global view of the 5AC312 architecture. The 5AC312 contains a total of 12 1/0 macrocells, 8 user-programmable input structures, and 2
inputs that can be programmed to serve as either
combinatorial inputs or clock inputs for the input and
output register functions. Each macrocell is further
sub-divided into 16 Product Terms with 8 Produot
Terms dedicated to the control signals OE, PRESET, ASYNCH. ClK and CLEAR, and 8 Product
Terms available for the general data array.

. The 5AC312 uses advanced CHMOS EPROM cells
as logic control elements instead of poly-silicon fuses. This technology allows the 5AC312 to operate at
levels necessary in high performance systems while
significantly reducing the power consumption of this
device. Its programmable stand-by function reduces
power consumption to almost "zero" in applications
where speed is traded for power consumption.

The basic macrocell architecture of the 5AC312,
shown in Figure 3, includes a user-programmable
AND array and a user-configurable OR array. The
inputs to the, programmable AND array originate
from the true and complement signals from the programmable input structure, the dedicated inputs, and
the 24 feedback paths from the 12 1/0 macrocells.

ARCHITECTURE DESCRIPTION
The architecture of the 5AC312 is based,on the familiar "Sum-Of-Products" programmable AND, fixed
OR structure, though the 5AC312 macrocell contains a number of significant functional enhancements. This device can implement both combinational and sequential logic functions through

Programmable Input Structure
Figure 4 shows a block diagram of the 5AC312 input
architecture. This device contains 8 user-program-

2-92

inter

5AC312

LOGIC ARRAY

CLK/INPI

RING 1
.------

1/0.1

r------

1/0.2

I
I
I
I
I
I

I
I
I
I
IL______

LlNPl

I
I
I

1/0.3

-,
I
I

r------

LlNP2

1/0.4

I
I
I
I
I ______
L

LlNP3

I
I
I
I
I
I

LlNP4

LlNP5

.. _-----

1/0.6

.------

1/0.7

r------

1/0.8

I
I
I
I
I
I

LlNP6

1/0.5

I
I
I
IL ______
I

LINP7

I
I
I

1/0.9

-,
I
I

r------

LlNP8

1/0.10

I
I
I
I
L
I ______

ILE/ICLK/INP2

I
I
I
I
I
I

.. _----RING 2

1/0.11

1/0.12

290156-3

Figure 2. 5AC312 Architecture

2-93

l
TO NEXT
MACROCELL

LOGIC ARRAY

tT

FROM NEXT
MACROCELL
OUTPUT

~
PRESET

"II

c·

...

C
CD

(0)

~t

0

......,

1/

JI

II II

I

LOWER HALF

~'I

OUTPUT
MUX

(0)

V

til

I\)

....cO

III
1/1

n-

1:::::::'0:::::::::1

MACROCELL
REGISTER

5:

CI1
):.

0

....

Co)

I\)

III

...n0
n

~

-en

...

c

n

C

i;

II II II II ~

'-V

TO PREVIOUS '"
MACROCELL

~

ASYNCH. CLK (CLKB)

19l

~
~

CLEAR

©

IiiiiI

1. FROM
PREviOUS
t.fACROCELL

<=

~

'iii!

290156-4

@

:w
~

~

e::J

c:::t

@

~

inter

5AC312

INP
PIN

D_---...... IN

OUT~------......

LOGIC
ARRAY

P-TERM

ILE/ICLK
PIN

C~-----------------.....I
290156-5

NOTE:

Flow-through input selected by connecting II.E P-Term to Vcc.

Figure 4. 5AC312 Input Structure
mabie input structures that can be individually configured to work in one of five modes:
-

ILE/ICLK signal for the input structure. Because the
clock signal for each input structure can be individually selected, a mix between synchronously and
asynchronously clocked input structures is also possible.

Input register .(D-register), synchronous operation
Input register (D-register), asynchronous operation
Input latch (D-Iatch), synchronous operation
Input latch (D-Iatch), asynchronous operation
Flow-through input

Table 1 shows the input latch/register function table
with respe~t to the synchronous ILE/ICLK input.
Table 1. 5AC312 Input Latch/Register Functions

The configuration is accomplished through the programming of EPROM architecture control bits by
iPLS II V1.5 under user-control. If synchronous operation is chosen, pin 13 of the device becomes an
ILE/ICLK (Input Latch Enable) input global to all input latch/register structures. For asynchronous operation, pin 13 can be used as a normal input (flowthrough input) to the device while a separate Product Term in the control array is used to derive an

H

2-95

Input Type

ILE/ICLK

D

Q

Latch
Latch
Latch'
D-FF
D-FF
Flow-Through
Flow-Through

H
H

H

H

L

L

X

L
an

H

H

t
t

X
X

L

L

H

H

L

L

= HIGH Level L = LOW Level X = Don't Care

5AC312

mented with p-terms from tneir respective previous/
next macrocells in Ring 1.

Macrocell Array
Each of 12 macrocells in the SAC312 contains 8
Product Terms to support logic functions. These 8
Product Terms are subdivided into 2 groups each
containing 4 Product Terms. This grouping of Product Terms supports the proprietary Product Term allocation scheme.

f\pplYing this scheme to the SAC312 it becomes
clear that any macrocell inside the device can support logic functions requiring between 0 and 16
Product Terms. Product Terms allocated away from
a macrocell do not affect that macrocell's output
structure. If all Product Terms are allocated "away"
from a macrocell, the input to that macrocell's I/O
control block is tied to GND. This polarity can be
changed by programming the invert select EPROM
bit. The I/O register as well as all secondary controls
to this I/O control block are still available and can be
used if needed.

In addition to these 8 Product Terms,each macrocell features 2 Product Terms for each of the four
control signals. Control signals in the' SAC312 are:
Output Enable (OE), asynchronous I/O register preset (PRESET), asynchronous clock for I/O registers
(ASYNCH. CLK), and asynchronous I/O register reset (CLEAR).

The 12 macrocells available in the SAC312 are
grouped into two "rings" with 6 macrocells per ring.
Product Terms can be allocated in a "shift register"
mode inside a ring; allocation of Product Terms between the rings is not supported.'The two rings are
shown in Figure 2 and listed in Table 2.

Product Term Allocation
Product Term allocation is defined as taking logic
resources (p-terms) away from macrocells where
they are not used to support demand for more than
8 ,Product Terms in other areas of the chip. In the
SAC312, this allocation can occur in increments Of 4
p-terms between adjacent macrocells.

The Product, Term allocation· scheme described
above is automatically supported by iPLDS II V1.S
and is transparent to the user. Users can still use
explicit pin assignments, but should assign pins in a
way that does not conflict with p-term allocation.

Example:
The logic function in macrocell' 4 requires 16
p-terms. In this case, the iPLS II software allocates 4
p-terms fro", the previous macrocell in Ring 1 (macrocell 3) and 4 p-terms from the next macrocell in
Ring' 2 (macrocell S) to accumulate a tOtal of 16
p-terms (8 + 4 + 4). This implementation leaves
macrocells 3 and S with a remainder of 4 p-terms
each. These remaining p-terms in macrocells 3 and
S can also be allocated away to or can be supple-'

2-96

Table 2. Product Term Allocation Rings
Ring 1

Ring!
PrevioUs Current Next ' Previous
Macro- Macro- Macro- Macro- Macro- Macrocell
cell
cell
cell
cell
cell
1
2
6
7
12
8
'3
2·
7
1
8
9
3
4
2
9
10
8
4
3
10
.11
9
5
5
4
11
12
10
8
8
1
5
12
7
11

Current

Next

~

5AC312

LOGIC ARRAY
LOWER HALF

P-TERWS 1-4

,l

IIIACROCELL

P-TERIIIS ALLOCATED TO
1lACR0CELL 14
(NEXT MACROCELL IN RING)

UPPER HALF

P-TERIIIS 5-8

-B
UPP£R HALF
P-TERMS 5-8

P-TERMS ALLOCATED TO
IlACROCELL ,4
(PREVIOUS IlACROCELL IN RING)

290156-6

FIgure 5. Product Term AllocatIon (8 + 4 + 4)

2·97

, .
inter
,

o

:,

t,

,

5AC312

Invert Select EPROM Bit

Stand-by 'Function

The invert select EPROM bit is used to invert the
result of a logic combination achieved in a macrcicel/. '
prior to its input into the I/O control block of this
particular macrocell. By employing this invert bit,
certain equations can experience a reduction in
Product Terms through the use of De Morgan's inversion. This feature is also supported by iPlDS II
,V1.5, though it can be disabled by the user.

By programming a certain bit location in the 5AC312,
a trade off between speed and power consumption
can be selected for this .device. If this bit location,
referred to as the "Turbo Bit", is left unprogrammed
and no transition oCcurs at, the device inputs for a
period of approximately 100 ns, the device will power-down the internal array while leaving the outputs
driving at their previous levels. Once an input transition occurs, the 5AC312 will power-I,lp the array
and react to the change in input conditions. The array power-up Sequence requires an average of 10 ns
,additional propagation delay for this function. Power
supply current during power-down is typically no
more than 150 p.A.

Macrocell I/O Control Block
Each macrocell in the 5AC312 has the ability to implement D, T, SR, and JK registered outputs as well
as combinatorial outputs. The asynchronous set and
reset inputs to each macrocell register allows implementation of true SR Flip-Flops. Registered outputs
may be clocked from the synchronous ClKIINP1
pin or asynchronously clocked by the 2 Product
Terms available for ASYNCH. elK. The 5AC312
also features separate input and feedback paths
(dual feedback) on all macrocell I/O control blocks.
This enables the designer to utilize input pins when
the associated macrocells have been ass,gned a no
output with buried feedback attribute. Multiplexed
I/O is accomplished by controlling the output buffer
associated with.each macrocell using the 2 Product
Terms set aside for implementing an OE function.

If this bit location is programmed, the power-down
circuitry is disabled and the device will not power
down even if there are "no activity" periods longer
than 100 ns. This avoids the additional 10 ns delay
in applications where performance is more important
than power savings.

inte"gent Programmlng™ Algorithm
The 5AC312 supports the inteligent Programming algorithm which rapidly programs Intel H-EPlDs,
EPROMs ,and Microcontrollers while maintaining a
high degree of reliability. It is particularly suited for
production programming erwironments. This method
greatly .decreases the overall programming time
while programming reliability is ensured as the incremental program margin of each bit has been verified
in the programming process .. (Programming information for the 5AC312 'is avaUable from Intel by re".
quest.)

Powe ....On Characteristics
The I/O registers of the 5AC312 will experience a
reset to their inactive state upon Vee power-up. Using the PRESET function available to each macrocell, any particular register preset can be achieved
after power-up. 5AC312 inputs and outputs begin responding approximately 20 p.s after Vee powElr-up
or after a power-Ioss/power-up sequence.

2-98

5AC312

and also to graphically edit programming files. The
software generates industry standard JEDEC object
code output files which can be downloaded to other
programmers as well.

FUNCTIONAL TESTING
Since the logical operation of the 5AC312 is controlled by EPROM elements, the device is completely testable during the manufacturing process. Each
programmable EPROM bit controlling the internal
logiC is tested using application-independent test
patterns. EPROM cells in the 5AC312 are 100%
tested for programming and erase. After testing, the
devices are erased before shipments to the customers. No post-programming tests of the EPROM array
are required.
The testability and reliability of EPROM-based programmable logic devices is an important feature
over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
user to perform post-programming tests to insure
device functionality. During the manufacturing pro- '
cess, tests on these parts can only be performed in
very restricted manners in order to avoid a pre-programming of the array.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (IPLDS II)

The iPLDS II has interfaces to popular schematic
capture packages (including Dash series from FutureNet' and PC-CAPS" from PCAD) to enable designs to be entered using schematics. A more integrated schematic entry method is provided by
SCHEMA II-PLD, a low-cost schematic capture
package that supports EPLD primitives and user-defined macro symbols. SCHEMA II-PLD contains the
EPLD Design Manager, which provides a single user
interface to both SCHEMA II-PLD and iPLS II software. The other deSign formats supported are Boolean equation entry and State Machine design entry.
The iPLDS operates on the IBMt PC/XT, PC/AT, or
other compatible machine with the following configuration:
1. At least one floppy disk drive and hard disk drive.
2. MS-DOStt Operating System Version 3.0 or
greater.
3. 640K Memory.
4. Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS II)
5. A color monitor is suggested.

Release 1.5 of iPLDS II graphically shown in Figure
6 provides all the tools needed to design with the
5AC312 EPLD. In addition to providing development
assistance, iPLDS II insulates the user from having
to know all the intricate details of EPLD architecture
(the machine will optimize a deSign to benefit from
architectural features). It contains comprehensive
third generation software that supports four different
design entry methods, minimizes logiC, does automatic pin assignments and produces the best design
fit for the selected EPLD. It is user friendly with guided menus, on-line Help messages and soft key inputs.

Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)
• FutureNet is a registered trademark of FutureNet Corporation. DASH is a trademark of FutureNet Corporation.
•• PC-CAPS is a trademark of P-CAD Corporation.
t

In addition, the iPLDS II contains programmer hardware in the form of an iUP-PC Universal Programmer-Personal Computer to enable the user to program EPLDs, read and verify programmed devices

IBM Personal Computer is a registered trademark of International Business Machines Corporation.

tt MS-DOS is a registered trademark of Microsoft
Corporation.

2-99

5AC312

Figure 6. IPLDS II Intel Programmable !.,ogle Development System
2-100

inter

5AC312

• Notice: Stresses above those listed under "Absolute MBXimum Ratings" may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any
other conditions above those indicated in the operational sections of this specification is not implied. Exposure to absolute mBXimum rating conditions for
extended periods may affect device reliability.

ABSOLUTE MAXIMUM RATINGS·
Supply Voltage (Vce> (1) ••....•••• -2.0Vto +7.0V
Programming Supply
Voltage (Vpp) (1) ..••.•..•.••• -2.0V to + 13.SV
D.C. Input Voltage (VI)(l, 2) •.. -O.SV to Vee + O.5V
Storage Temperature (Tstg) .•... -65"C to + 150"C
Ambient Temperature (Tamb) (3) .. -1 O"C to + 8S"C

NOTICE' Specifications contained within the
fol/owing tables are subject to change.
NOTES:

1. Voltages with respect to GND.
2. Minimum D.C. input is -0.5V. During transitions, the inputs may undershoot to -2.0V for periods of less than 20 ns under
no load conditions.
'
3. Under bias. Extended temperature range versions are available.

D.C. CHARACTERISTICS TA = O"Cto +70"C, Vee = 5.0V ±5%
Symbol
VIH(4)
VIL(4)
VOH(5)

Parameter
High Level Input Voltage
Low Level Input Voltage
High Level Output Voltage

VOL

Low Level Output Voltage

0.45

V

II

Input Leakage Current

±10

!LA

loz

Output Leakage Current

±10

!LA

Isc!6)

Output Short Circuit Current

-90

rnA

ISB(7)

Standby Current

150

/J-A

lee

Power Supply Current

50

rnA

Min
2.0
-0.3
2.4

Typ

-30

Max
Vee + 0.3
0.8

Unit
V
V
V

Test Conditions

10 = - 4.0 mA D.C.,
Vee = min.
10 = 4.0 mA D.C.,
Vee = min.
Vee = max.,
GND < VOUT < VCC
Vee = max.,
GND < VOUT < Vee
Vee = max.,
VOUT = 0.5V
Vee = max.,
VIN = Vee or GND,
Standby Mode
Vee = max.,
VIN = Vee or GND,
No Load, Input Freq. = 1 MHz
Active Mode (Turbo = Off),
Device Prog. as 12-Bit Ctr.

NOTES:

4. Absolute values with respect to device GND; allover and undershoots due to system or tester noise are included.
5.10 at CMOS levels (3.84V) = -2 rnA.
6. Not more than 1 output should be tested at a time. Duration of that test must not exceed 1 second.
7. With Turbo Bit Off, device automatically enters standby mode approximately 100 ns after last input transition.

CAPACITANCE
Symbol
CIN
COUT
CCLK
Cvpp

Parameter
Input Capacitance
Output Capacitance
Clock Pin Capacitance
VppPin

Min

Typ

,

2-101

Max
20
20
20
50

Unit
pF
pF
pF
pF

Conditions
VIN = OV, f = 1.0 MHz
VOUT = OV, f = 1.0 MHz
VOUT = OV, f = 1.0 MHz
Pin 1

5AC312

A.C. TESTING INPUT, OUTPUT WAVEFORM

A.C. TESTING LOAD CIRCUIT
...---5V

INPUT

3·°-Vz.O

o..AO.8

855A

J-

DEVICE_[>--I--4~[>_ TO TEST

OUTPUT-

3.UI.

l=C
L

SYSTEM

OUTPUT

(INCLUDES JIG
CAPACITANCE)

>

TEST POINTS

VU

<~

1~~TEST P~INTS-~

290156-8
A.C. Testing: Inputs are driven at 3.0V for a logic "I" and OV fer
a logic "0". Timing Maasurements are made at 2.0V for a logic
"I" and O.8V fer a logic ''0'' on Inputs. Outputs are maaourad
at a 1.5V point.

DEVICE INPUT
RISE AND r ALL
nMES<6nl

290156-7
,cL = 50 pF

A.C. CHARACTERISTICS
Symbol

From

TA = O'C to + 70'C, Vee = 5.0V ± 5%, Turbo Bit "On"(8)
5AC312·25

To

Min
tpDl
tpD2
tpZX(9)
tpXZ(9)
tClA
tSET

Input
1/0
I or 1/0
.1 or 1/0
Asynch. Reset
Asynch. Set

Comb. Output
Comb~ Output
Output Enable
Output Disable
QReset
QSet

Typ
20
20
20
20
20
20

Max
25
25
25
25
25
25

5AC312-35
Min

Typ
30
30
30
30
30
30

Max
35
35
~5

35
35
35

Non·(10)
Turbo
Mode

Unit

+10
+10
+10
+10
+10
+10

n8
n8
ns
ns
n8
n8

NOTES:
8. Typical values are at TA = 25°C, Vce = 5V, Active Mode.
9. tpzx and tpxz are measured at ±0.5V from steady·state voltage as driven by spec. output load. tpxz is measured with
CL=5pF.
. 10. If device is operated with Turbo Bjt Off (Non-Turbo Mode), increase time by amount shown.

SYNCHRONOUS CLOCK MODE (MACROCELLS) A.C. CHARACTERISTICS
TA = O'C to +70'C, Vee = 5.0V ±5%, Turbo Bit On(8)
Symbol
fMAX
feNT
tslJ1
tsU2
tH
teo
tCNT
tCH
tel

5AC312·25

Parameter

Min
50

Max. Frequency
1/tsu-No Feedback
Max. Count Frequency
33
1/tem-with Feedback
Input Setup Time to ClK
20
1/0 Setup Time to ClK
20
I or 1/0 Hold after ClK High
. 0
ClK High to Output Valid
Register Output Feedback
to Register Input-Internal Path
ClK High Time
10
10
ClKlowTime

Typ

5AC312·35

Non.(10)
Turbo
Mode

Unit

Typ

66

Min
40

50

N/A

MHz

40

25

28.5

N/A

MHz

15
15

25
25
0

20
20

+10
+10

ns
ns
ns

10
25

Max

15
30

2-102

-

10
35
12.5
12.5

Max

15
40

+10
+10

ns
ns

+10
+10

ns
ns

inter

5AC312

SYNCHRONOUS CLOCK MODE (INPUT STRUCTURE)A.C. CHARACTERISTICS
= O·C to + 70·C, Vcc = 5.0V ± 5%, Turbo Bit On(8)

TA

Symbol

Parameter

5AC312-25

5AC312·35
Min

Typ

28.5

33

Min

Typ

fMAXI

Max. Frequency

40

50

tSUIR

Input Register Setup Time
before IlE/IClK J.,

5

tpLI(11 )

Minimum Input Clock Period

tCOI

IClK

tHI

I Hold after IClKlilE

J., to Comb. Output
J.,

Max

Max

Non-(10)
Turbo
Mode

Unit

N/A

MHz
ns

5
20

25

25

30

5

30

35

+10

35

40

+10

ns
ns
ns

5

tEal

IlE t to Comb. Output

+10

ns

tcHI

IlEIIClK High Time

10

12.5

+10

ns

tCLI

IlEIIClK low Time

10

12.5

+10

ns

Non-(10)
Turbo
Mode

Unit

N/A

MHz

NOTE:
11. tpLi

30

35

35

40

= Input signal through registers/latch to macrocell register input.

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA = O·C to +70·C, VCC = 5.0V ±5%, Turbo Bit On(8)
Symbol

5AC312-25

Parameter

Typ

Min

5AC312-35

Max

Min

Typ

Max

INPUT STRUCTURE
fAMAXI

Max. Frequency Input Register
1/ (tACLI + tACHI)

20

16.6

tASUI

Input Register/latch Setup
Time to Asynch. Clock

0

0

tAHI

Input Register/latch Hold
after Asynch. Clock

23

16

30

ns
25

+10

ns
~

tACOI

Asynch. IClK to Output Valid

40

48

50

60

+10

ns

tAEOI

Asynch. IlE t to Comb. Output

45

53

55

65

+10

ns

tACH I

Asynch. IClK High Time

25

30

+10

ns

tACLI

Asynch. IClK low Time

25

30

+10

ns

20

16.6

N/A

MHz

18.2

14.3

N/A

MHz

7

10

+10

ns

MACROCELLS
fAMAX

Max. Frequency
l/(tACL + tACH)-No Feedback

fACNT

Max. Frequency
l/tACN-r-with Feedback

fASU1

Input Setup Time to
Asynch. Clock

2-103

5AC312

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS (Continued)
TA = O·C to +70·C, Vcc = 5.0V ±5% , Turbo Bit On(8)

Symbol

5AC312·35

5AC312·25

Parameter
Min

Typ

Max

Min

Typ

Max

Non·(10)
Turbo
Mode

Unit

+10

ns

+10

ns

MACROCELLS (Continued)
tASU2

I/O Setup Time to
Asynch. Clock

7

tAH

Input or I/O Hold after
Asynch. Clock

23

tACO

Asynch. ClK to Output Valid

tACNT

Register Output Feedback
. to Register InputInternal Path

10
18

30

25

30

35

45

50

+10

ns

50

55

65

70

+10

ns

tACH

Asynch. ClK High Time

25

30

+10

ns

tACL

Asynch. ClK low Time

25

30

+10

ns

Non·(10)
Turbo
Mode

Unit

INPUT·CLOCK·TO·MACROCELL·CLOCK A.C. CHARACTERISTICS
TA = O·C to +70·C, Vcc = 5.0V ±5%, Turbo Bit On(8)

Symbol

Min
tC1C2

5AC312·35

5AC312·25

Parameter

Typ

Max

Min

Typ

Max

Synchronous IlEIIClK
Synchronous Macrocell ClK

25

35

+10

ns

Synchronous IlEIIClK
Asynchronous Macrocell ClK

5

10

+10

ns

Asynchronous IlEIIClK
Synchronous Macrocell ClK

48

65

+10

ns.

Asynchronous IlEIIClK
Asynchronous Macrocell ClK

20

50

. +10

2·104

ns

inter

5AC312

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/o

\V
II\.
I---tpD

\1
I\.

COMBINATORIAL OUTPUT

tpxz
HIGH IMPEDANCE

COMBINATORIAL OR
REGISTERED OUTPUT

3-STATE

I----tpzx
HIGH IMPEDANCE

VALID OUTPUT

3-STArr
-tACLR_

t ASET------

VALID OUTPUT

\1
I\,

ASYNCHRONOUSLY
SET OR RESET OUTPUT

290156-9

SYNCHRONOUS CLOCK MODE (MACROCELLS)

elK

(fROM REGISTER
TO OUTPUT)

VALID OUTPUT

290156-10

2-105

5AC312

SWITCHING WAVEFORMS (Continued)
SYNCHRONOUS CLOCK MODE (INPUT STRUCTURE) .
_

/

ILE.ICLK

~ICLI

ICHI_

\.

\

J

\.
lSUIR

INPUT MAY CHANGE

\V
J\

\

-

____

J

r

t HI - .

VALID
INPUT

,/
J\

INPUT MAY CHANGE

_ _ tCOI~

INPUT MAY
CHANGE

DATA VALID
BEFORE 1~1
(SEE NOTE
lEOI

INPUT LATCH/REGISTER TO
COMBINATORIAL OUTPUT

INPUT MAY CHANGE

.
,/
)\.

VALID OUTPUT

NOTE: WHEN ILE GOES HIGH BErORE DATA IS VALID. USE lPD
INSTEAD OF lEOI.

290156-11

ASYNCHRONOUS CLOCK MODE (INPUT STRUCTURE)

ASYNCH.
ILE/CLK
INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

INPUT MAY
CHANGE

INPUT MAY CHANGE

INPUT LATCH/REGISTER TO
COMBINATIONAL OUTPUT

VALID OUTPUT

NOTE: WHEN ILE GOES HIGH BErORE DATA IS VALID. USE lPD
INSTEAD OF lAEOI.

2-106

290156-13

5AC312

SWITCHING WAVEFORMS (Continued)
ASYNCHRONOUS CLOCK MODE (MACROCELLS)

ASYNCH.
CLOCK
INPUT

FLOW
THROUGH
INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

FLOW THROUGH INPUT
TO REGISTERED OUTPUT

VALID OUTPUT
290156-12

INPUT CLOCK-TOoMACROCELL CLOCK TIMING

ILE,ICLK

CLK
290156-18

Output Drive Current In Relation to Voltage

r

1
a

50

20

I

10

-

......

........

5
2
1

o

Conditions: TA =

+ 25'C

2

3

..

5

Vo Output Voltage (V)

290156-16

2·107

APPLICATION
BRIEF

May 1986

Implementing Cascaded
Logic in the 5C121

J. R. DONNELL
APPLICATIONS ENGINEER
PROGRAMMABLE LOGIC,

Order Number: 292003·001
2·108

inter

AN

PROBLEM
Designs that utilize numerous levels of cascaded logic
often result in excessive product terms when expressed
in the sum-of-products form. Although this poSes no
problem when designing with discrete logic, EPLDs are
generally optimized for the sum-of-product form. This
stems from the architecture of the basic Macrocell.
Macrocells typically consist of a programmable AND
array feeding a fixed width OR gate. In the 5C121, OR
gate widths range from four to sixteen inputs. For
many applications, sixteen available product terms are
sufficient. However, one example where product terms
become an issue is cascaded exclusive-OR circuits.
Here the number of product terms increase as 2"n
where n equals the number of exclusive-OR gates. If
the number of product terms exceeds sixteen, the equation will not fit directly in the 5C121.

SOLUTION
There is a simple solution to reduce the product term
requirements when using cascading XOR (or other)
logic. Figure 1 shows a circuit cascading five exclusive
ORs. As designed, this circuit expands to 32 product
terms when expressed in the minimized sum-of-products form. (This is assuming that signals A thru F are

single product terms themselves.) Figure 2 shows the
minimized logic equation file produced by Intel's Logic
Optimizing Compiler (iLOC).
An easy solution to fitting this logic into the 5C121 is
to cascade three exclusive ORs together and then send
the result through a No Output Combinational Feedback primitive (NOCF). This signal can now be cascaded through two more XOR's to get the five ,total. This
circuit is shown in Figure 3. Figure 4 shows the logic
equation file for this implementation. Note the reduction in product terms from Figure 2. If the buried registers are available, Intel's iPLDs software will automatically assign the combinational feedback to a buried register thereby saving a pin. This technique can be used
for any circuit that generates excessive product terms.

The only penalty in this method is the added delay
needed for the feedback path. The worst case lpd (input
to output delay) for the circuit in Figure 3 would be
twice the specified Tpd in the 5C121-XX data sheet.
Basically the signal must go through the device twice.
For the 5CI21-90 the Tpd would be 180 ns worst case
as implemented in Figure 3.
Figure 5 shows the report file generated by the compiler. In this case the NOCF path was automatically assigned to the buried registers.

:::JD-::lD-::l~D-:=J~.-----~
L../
E--J

I

lOUT

I

I

._----_ ..

r

292003-1

FIgure 1. Cascaded Excluslve-ORs

E

I-------~
D-:=J~
r
.------_.
I

lOUT

I

I

Figure 3. cascaded Excluslve-ORs using Combinational Feedback

2-109

292003-2

5C12l
cascading exclusive or's
LB Version 3.0. Baseline l7x, 9/26/85

5C12l
CASCADING 5XORS WUH COMBINUIONAL .FEEDBACK

PARX:

LB Version 3.0. Baseline l7x. 9/26/85

5C12l

PARX:

INPUXS:
ApI Bp, CPt Dp. Ep. Fp

5C12l
INPUXS : '
Ap. Bp. CPt Dp. Ep. Fp

OUXPUXS:

o

OUXPUXS:

NUWORK:
A
B
C
D
E
F
0
EQUA:rIONS:
NO

o

INP(Ap)
INP('Bp)
INP(Cp)
INP(Dp)
INP(Ep)
INP(Fp)
CONF (NO. Vee)

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

NEXWORK:
A
B
C
D
E
F

F • E' • D' • C' • A' • B'
F' • E • D' " C' " A' " B'
F' " E' " D " C' " A' " .I!'
F' " E' • D' • C • A' • B'
F' " E' •, D' • C' " A' • B
F' • E' • D' • C' • A • B'
F " E • D • C' " A' • B'
F • E • D' • C • A' • B'
F • E • D' • C' • A' • B
F • E " D' " C' • A • B'
F " E' • D • C • A' • B'
F • E' • D • C' • A' • B
F • E' • D • C' " A • B'
F • E' • D' • C • A' • B
F • E' • D' • C • ,A • B'
F • E' • D' • C' • A • B
F' • E • D • C • A' • 'B'
F' • E • D • C' • A' " B
F' " E • D • C' • A • B'
F' • E • D' • C • A' " B
F' " E • D' " C • A,,· B'
F' * E • D' • C' • A • B
F' • E' • D • C • A', " B
F' " E' • D " C • A • B'
F'· E' • D • C' • A * B
F' * E' " D' * C • A • B
F • E " D, • C • A' ,. B
F • E • D • C • A " B'
F • E • D " C' " A • B
F • E • D' " C • A " B
F " E' "D"C"A"B,
F' " E • D * C " A • Bj

INP(Ap)
INP(Bp)
INP(Cp)
INP(Dp)
INP(Ep)
INP(Fp)
o CONF (NO, Vee)
N2 == NOCF (N3)

EQUA:rIONS:
N3

D· C' • A' • B'

+ D' " C • A' " B'
+ D' • ,C' • A' " B'
+ D' • C' " A • B'
+ D • C • A' " B
+ D " C " A " B'
+ D,· C' • A " B
+ D' • C • A • B j
NO
F· N2' • E'
+ F' " N2' " E
+ F' • N2 • E'
+F·N2"Ej

, Figure 4. Minimized Logic Equations for Figure 3

Figure 2. Minimized Logic Equations for Figure f

2.110

AN

Logic- optimizing Compiler Utilization Report
.. >t-**>t- Design implemented sueeessflJll y
JRD

INTEL
Uetober 8, 1985
1

t.G121
CASCADING 5XURS WITH COMBINATIONAL FEEDBACK
LB Version 3.0, Baseline 17x, 9/26/85
5C121
GNO
GND
GND
GND
GND
GND
GNt)
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND

-I 1
-I 2
-I 3
-/ 4
-I :;
-I 6
-I "I
-I 8
-I
-110
-111
-112
-113
-114
-11t.
-116

'"

401391381371361351341331321311301291-

28127126/25/-

-11"1

24'·H

-/18
-119
-120

23:-

22121/-

Vee
Vee
Ap
Bp
Cp
Dp
Ep
Fp
0
RESERVED
RESERVED
RESERVE:[)
GND
GND
GND
GND
GND
GNO
GND
GND

**INPUTS**
Namt"

Pin

Re!';ourct"

fop

33

INP

1

Ep

34

INP

1

Dp

35

INP

13

Up

.$0

INP

1.$

Bp

3"1

INP

13

38

INP

13

Name

Pin

Resource

0

3~

CONF

Ap

MC";ll

#

PTerms

MCeHs

Feeds:
OE

Clear

Feerls:
OE

Clear

Clock

... >t-UU1PUTS>I">I"
MCeH

#

PTerms

MCells

4/ 4
292003-3

2-111

':r'

AB·8

**aURIED REGJSTERS**
Name

Pin

Resource

HCell #

Pfe,-ms

NOCF

13

8/ 8

Resource

HOell

,PHwms

Feeds:
HCeils

OE

Clear

**UNUSED RESOURCES**
Name

Pin
1

2
3
4
5
6
7
8

12

28
27
26
25
24

13

:?s

14
15
16
17
18
19
21
22

22
21
20
19
18
17
12

,23

10

.,.
10
11

24
25
26
27
28
29
3U
31

NA
NA
NA

11

9
8

7
6
5
4
3

2
14
15
16

4
10
8
6
f.

8

10
4

12
4
8
til
8
8
4

1:;>
4
10
t3

6
b

8

10
t3
8

8

**PART UTILIZATION**
18%
7%
5%

Pins
HacroCell s
Pterms
292003-4

Figure 5. The Utilization Report

2-112

intJ

AB~9

APPLICATION
BRIEF

May 1986

5C121 As A Three
And One Half Digit
Display Driver

THOM BOWNS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292006"()01
2·113

.~B·9

INTRODUCTION
Described is a method of constructing a multi-digit,
seven segment decoder driver with .latching capability
in a single EPLD. The design is a simple, easily understood method of using the 5el21 as a seven-segment
display driver.
This design has many advantages: (I) the ability to update a single digit without disturbing the others, (2)
Outputs are latched and retain their data without update from the controlling device(s), (3) Input interfacing is simple and straightforward, using four data inputs, two digit select lines, and a data strobe line.
The display driver interface is therefore not limited to
microprocessor applications only (although it can be
used with them). Possible applications include a Multimeter display, a clock or timer display, or a simple
controller system display.

PROBLEM
The display driver needs to latch the incoming data at
the correct time, route it to the correct digit, and then .
decode the four bit data into seven-segment output format.

SOLUTION IN EPLD
A simple solution to the display driver imagine4 above
.
can be realized in the 5el21 EPLD.
The 5el21 EPLD is organized in groups of Macrocells.
Each Macrocell contains a number of multiple input
AND gates which are feeding an OR gate. The OR gate
feeds a selectable registered output. This output may
also be routed back into the array for feedback purposes.
Figure I shows a basic block diagram of the three and
one half digit display driver. The data is input to a
distribution block, which sends the data to one of four
seven-segment decoders depending upon the digit selected by the Digit Select inputs. The outputs are updated by strobing the WR input. The data input is in a
HEX fonnat and may be in the range of 0 to F HEX (0
to 15 Decimal). Digit select is placed upon the two
select lines in a binary fonnat; 0, I, 2, 3. When data is
present on the input lines and a digit is selected, the
strobe line may be pulsed high and that output digit is
then updated to the numeral suggested by the input
data.

Figure 2 illustrates the Boolean equivalents of the design in Figure 1. In the NETWORK section of Figure
2, the inputs and outputs of the design are described.
For.instance, the NETWORK equation
SSA1, SA1F = RORF (ISA1, WRN, GND, GND, VCC)

represents that the output pin for segment "A" of the
1st Seven Segment display (SSAI) results from a Registered Output Registered Feedback (RORF) structure in
the EPLD. The feedback signal (SAIF) is the same as
the signal output (SSAI). The RORF's D input is driven by the signal ISAI, the clock input is driven by
WRN, and reset, preset and output enable signals are
tied to their default voltage levels (either GND or

veC).

The EQUATION section of Figure 2 shows how the
data distribution and decoding logic works. Equations
starting with A-G are generic seven segment display
equations. Segment decoding results from the combination of the true or false of the four data inputs (e.g., DO
or !DO).
Equations such as
SE1= (E' WE1)

+

(SE1F • !WE1)

show how the data is distributed. Segment E of display
. I (SEI) is valiq (ON) if the "E" decode exists and display 1 is chosert by the address inputs (WEI = !AO •
!AI). It is also valid if it was previously turned on
(SElF) AND s~ven segmj:nt display I is not selected
(!WEI).
These equations may be entered using LB in the fonn
of a Netlist, or may be entered directly into the ADF by.
means of a text editor. The ADF is then compiled and
programmed into a 5el21 using iPLS.

SUMMARY
This method of using the 5el21 as a three and one half
digit display driver is advantageous in respect to its
simple interface, and its ability to hold all other digits
stable while one is being updated. Displays with more
than three and one half digits may be produced in the
5el21 by using the input latches as data storage and by
multiplexing the outputs in a scanning fashion.

2-114

intJ

AB-9

WRo--------------------------------,
DECODE

_ .....;;LA
...TCHES

DOo----t

D10----t
D20----t

DATA
DISTRIBUTION

030---1

AO o----t
A10---I

SELECTION
292006-1

Figure 1. Block Diagram

2-115

inter
Thorn Bowns
Intel
Dc tober- 2':;',
U4

AB-9

198t.

1

5C121
3.5 digit output dr-iverLB Yer-sion 3~O, Baseline 17x, 9/26/85
PART: 5C121
INPUTS: AOp,Alp,00p,01p,0:?p,03P,WRp
OUTPUTS: SSA1,SSB1,SSC1,SSD1,SSE1,SSF1,SSG1,SSA2,
SSB2, SSC2, SSD:?, SSE2, SSF2, SSG2, SSA:':;, SSB:'>, SSC~;, SSD3, $SE3, SSF:':I, SSGl~;, SSA4
NETWORK:
SSAl., SAIF .. RORF (rSA1, WRN, GND, GND, Yec)
SSBI,SBIF." RORF (rSB1,WRN,GND,GND,YCC)
SSCl,SClF :;: RORF (ISCl,WRN,GND,GND,VCC)
BSDl,SD1F ~ RORF (rSOl,WRN,GNO,GNO,YCC)
SSEl,SElF : : RORF (SEl,WRN,GND,GND,VCC)
SSFl,SFlF :;: RORF (SFl,WRN,GND,GND,VCC)
SSGl,SGlF :;: RORF (SGl,WRN~GND,GND,VCC)
SSA:? , SA2F .. RORF (SA:?, WRN', GNO, GNO, Yee)
SSB2,SB2F :;: R()RF' .(SB2,WRN,GND,GND,VGC)

SSC2,SC2F - RORF (Se2,WRN,GNO,GNO,yeC)
SSD2,S02F - RORF (SD2,WRN,GNO,GNO,YCC)
SSE2,SE2F = RORF (SE2,WRN,GNO,GND,YGC)
SSF2,SF2F = RORF (SF2,WRN,GNO,GNO,YGC)
SSG2,SG2F = RORF (SG2,WRN,GND,GNO,YCC)
SSA3,SA3F = RORF (SA3,WRN,GNO,GlND,YCe)
SSB3,SB3F .- RORF (SB3,WRN,GNO,GNO,YCC)
SSC3, SC::'~F .. RORF (SC:~, WRN, GNO, GND , Yee)
SSD3,S03F- RORF (S03,WRN,GND,GNO,YCC)
SSE3,BE3F - RORF (SE3,WRN,GNO,GND,YCC)
SSF3, SF3F .. RORF (SF3, WRN, GNO, GND, Yce)
SSG3,SG3F = RDRF (SG3,WRN,GND,GND,YCC)
SSA4,SA4F :;: RORF (SA4,WRN,GND,GND,VCC)
rSAl - NOCF (SAl)
ISBI :: NOCF (SB 1)
rSCl = NOCF (SCI)
1501 = NOCF (501)
WRN = NOT (WR)
WR •• INP (WRp)
DO - INP (DOp)
01 ... INP (DIp)
02 = INP (D2p)
03 .. INP (O::'~p)
AD _. INP (ADp)
Al -_. INP (Alp)
[(:;!UA TI ONS :
A .. !03*!D2:+-!01*00 + !D3*D2*!fl1*!flO + D:I*!02*01*OD + 03*02-+:!D1*00;
A -_. ! D3:+:02* ! 01*00 + D:?*D I:+: ! DO + 03*0:2*! 01:+- ! DO + 0:':,*01 *00;
C :: !03*!02*01*!OO + D3>1:02*!Ol*!OO + E>3*D2*01;
D .- !D3*!D2*!D1*DO + !D3*02*101*!00 + 02*01*00 + 03*!02*D1*!DO;
E - ! 03* ! 02*00 t ! D3*D2* ! 01 ... ! D3*0:~:+:D 1*00 + 03*! D2* ! III *DO;
F = !03*!02*!D1*00 + !DJ*!02*Dl + !03*02*01*00 + D3*02*!01*00;
G -- ! D3:+:! 02*! 01 of ! n::l*D2*01 *00 + 03:+:02*! 01:+-! DO;
292006-2

Figure 2. ADF Listing
2-116

inter

AB-9

Sfl

= (E

SFl

* WE!)
+ (SElF
(F * WEll
+ (SFlF
(G * WEll
+ (SGIF
(A * WE2)
+ (SA2F
(B * WE2)
+ (SB2F
(C * WE2)
+ (SC2F
(0 * WE2)
+ (S02F

SGl

=

SA2

=

SB2

=

SC2

=

S02

=

SE2

= (E *

SF2
SG2
SA3

* IWEl);
* lWEI);
* IWEl);
* IWE2);
* !WE2);
* IWE2);
* IW(2);

WE2)

+ (SE2F * IWE2):
(F * WE2)
+ (SF2F * IWE2);
= (G * WE2)
+ (SG2F * IWE2);
(A * WE3)
+ (SA3F * IWE3);
= (B * WE3)
+ (SB3F * IWE3);
= (C * WE3)
+ (SC3F * I W(3) ;
= (0 WE.:¢)
+ (S03F * IWE3);
= (E * WE3 )
+ (SE3F * IWE3);
(F * WE3)
+ (SF3F * IWE3);
(G * WE3)
+ (SG3F * IWE3);
:; (A * WEll
+ (SAlF * lWEI);
= (B * WEI)
+ (SBlF * IWEl);
= (C * WEI)
+ (SClF * IWEl);
= (0 -+< WE!)
+ (SOIF * lWEI);
= «103*102*IOl*IOO) * WE4) + (SA4F * IWE4);
= lAO * !Al;
AO * !Al;
= !AO * Al:
= AO * Al;

=

SB3
SC3
S03
SE3
SF3
SG3
SAl
SBI
SCl
SOl
SA4
WEl
WE2
WE3
WE4
ENO$

*

=

292006-3

Figure 2. ADF listing (Continued)

2-117

inter

APPLICATION
BRIEF

AB-10

June 1986

Square Pegs in Round Holes-A
Fitting Tutorial for the 5C121

J. R. DONNELL
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292014-001
2-118

inter

AB-10

INTRODUCTION
This application brief explores the various techniques
for getting the most out of Intel's line of Erasable Programmable Logic Devices (EPLDs). In many cases,
techniques discussed here will not be needed due to the
intelligent fitting algorithms built into Intel's Programmable Logic Software (iPLS). As a matter of fact, most
designs can be implemented in EPLDs without any
knowledge of the device architectures. For complex designs, the designer will still need an in-depth understanding of the target EPLD in order to maximize the
EPLD's utility.
'
This application brief explores fitting techniques for the
SC121, a 1200 gate equivalent CHMOS EPLD. The
techniques described here will also apply to any EPLD
that supports a similar architecture.

FITTING
When fitting logic designs into the SC121 there are two
typical scenarios: 1) The SC121 design has been completed without pin assignments and the compiler warns
the user that fitting may be time consuming, and 2) pin
assignments have been made and the .. • .. ERR-FIT
. . . " message comes up.

Once the basic SC121 architecture is understood, intelligent pin assignments can be made. After assigning the
pins recompile the design using iPLS.
Compiling the design with pin assignments is a new ball
game. This time it is fit or not fit. If the design does not
fit, an error like: .. ···ERR-FIT-It is not possible to
fit the specific pin requests you made" will occur. In
most cases, the compiler will also ask if it can remove
pin assignments and try its oWn. If the design has already been attempted without pin assignments, or if
specific pin assignments are needed, answer no and isolate the problem.

ISOLATE THE PROBLEM
The first step towards isolating the problem is to print
out a copy of the utilization report ( < Filename> .RPT), logic equation file « Filename> .LEF),
and the Advanced Design File «Filename> .ADF).
Next, fill out the SCl21 architecture worksheet included in this application brief. Include the signal name for
each pin, the type of output, and the number of product
terms needed for each output. All this information is
available in the tiles that were printed earlier. The next
step is to identify the conflict.

Let's look at the first situation.

CONFLICTS

In general, if the designer does not care what signals get
assigned to what pins, the choice can be left to the
compiler and the compiler will make pin assignments.
For simple designs pin assignments are very easy. However, designs that include a variety of different register
types, feedback paths, and product term widths may
take a long time for the compiler to fit. When the designer is faced with the message, "Fitting may be time
consuming", the compilation should be aborted, and
intelligent pin assignments made. NOTE: Control C
(AC) may be used to abort a design. The software will
not stop immediately because the software does not poll
the keyboard until it updates the display. Rebooting the
system will also work.

There are three potential conflicts with pin assignments
in the SC121; incompatible output structures, excessive
product terms, and local/global feedback conflicts. Incompatible output structures and excessive product
term errors are the easiest to spot.

To make intelligent pin assignments, the designer needs
a basic understanding of the architecture of the part.
For the SCl21 this understanding should include the
number of product terms supported in each Macrocell,
what Macrocells support local feedback, and what
Macrocells support global feedback. This information is
easily found in the data sheet. One other point, the
Macrocells in the SC121 are. grouped into groups of
four. All Macrocells in a group must have the same
output type. Therefore, if one output is registered, the
other three must also be registered. This means that a
combinatorial output could not be put into the same
group as a registered output. Output enablt; (OE) terms
are also based on Macrocell grouping. All four Macrocells are driven from the same OE term.

INCOMPATIBLE OUTPUT
STRUCTURES
As shown in the SCl21 Design Worksheet, the SC121
is divided into six Macroce11 groupings. The data sheet
refers to these as the A-I, B-1, A-2, B-2, A-3, and B-3
Macroce1ls. One requirement of the SCl21 architecture
is that Macrocells within the same grouping have the
same output structure. This was discussed earlier, but it
is worth revisiting. The file titled example I in the appendix shows an ADF for a design that contains such
an I/O conflict. Following the ADF is a completed
SCl21 architecture worksheet with a number of problems. ~ncentrating on the incompatible output problem on the SCl21 worksheet, notice that pins 31 and 32
belong to the same Macrocell group, and that they are
assigned conflicting I/O structures.
The solution to an incompatible output structure conflict may be as simple as reassigning pins. Another option may be to use a different output type for that sig- '

2-119

AB-10

nal. This is very dependent on the design. Another option is possible when a Macroce1l grouping has been
assigned combinatorial output structure, and a registered output needs to be assigned to that same group. A
possible solution is to use one of the buried registers
configured as a NORF (No Output Registered Feedback) cell to hold the signal, and then send the signal
out through a CONF (Combinatorial Output No Feedback) primitive. This output primitive is compatible
with the other output primitives in that grouping, and
the register output requirement has also been satisfied.
The penalty is loss of speed due to the additional feedback path.

EXCESSIVE PRODUCT TERMS
Excessive product term conflicts are also easy to spot.
(A product term consists of a set of signals ANDed
together which are separated from other ANDed
groups by an OR gate.) Written next to the I/O slot on
the SC12l architecture worksheet is the number of
product terms that each Macrocell supports. Match
that number with the number of product terms for each
output indicated in the logic equation me (LEF). If
more product terms are required of a output than are
provided, there is a product term conflict. The utilization report also shows the number of product terms
used for each signal.
The solution, again, may be as simple as reassigning
pins since the SC12l supports varying product term
widths. In fact, the SC12l supports up to 16 product
terms on pins 16 and 24. Note that four of those product terms are shared with the adjacent Macroce1l. Sharing means that those signals are common. It is not
product term allocation. If the number of product
terms exceeds the capability of the device, the design
may still fit by splitting up long equations and inserting
NOCF (No Output Combinatorial Feedback) primitives. Again the price for using this solution is reduced
speed. This technique is covered more thoroughly in
AB-8 titled: Implementing Cascaded Logic in' the
SCl21.

LOCAL/GLOBAL FEEDBACK
It is possible to encounter one other type of fitting conflict in the SC12l. This Occurs when a feedback signal
from the A-I or A-2 Macrocells feeds the B-1 or B-2
Macrocells. The issue is that these Macrocells feed busses that are local to one half of the chip. Therefore, the
signal is not physically available to the other side of the
device.
The best way to understand the local and global bussing in the SC121 is to divide the chip in ha1f1engthwise.
One side contains the A Macrocells, and the other side

contains the B Macrocells. The two sides, 8l'e mirror
images. Speaking generically now, the -I and -2 Macrocells feed only local busses; local to their respective side
of the ,device. The -3 Macrocells and the buried, registers feed global busses which route siinaIs to both sides
of the device. Therefore a feedback signal coming from
the A-lor A-2 group can only feed the A Macrocells,
however, a feedback signal from the,A-3 group could
feed the B-1, B-2, B-3, or the B buried Macrocells. This
local/global bussing applies to both feedback and input
signals on the I/O pins. All of the dedicated inputs f~
the global bus.
Example 1 also shows a simple two bit counter with
seven segment driver outputs. The worksheet shows
that the counter registers were assigned to pins 27 and
28, while the seven segment outputs were assigne4 to
pins 8 thru 14. The seven segmellt outputs decode the
feedback signals from the counter registers to generate
the appropriate digit output, and therefore must have
access to those signals. This presents a local/global
feedback conflict.' If the designer is locked into those
specific pin assignments a design workaround is needed.
One solution might be to take the outputs of the counter and externally tie them to dedicated input, pins
thereby making those signals global. This would work
but that solution ends up wasting input pins. A better
solution would be to internally route the counter feedback signals through one of the buried registers configured as a NOCF primitive. After passing through the
buried register the signals become global. Both the incompatible output solution and this solution are shown
in the worksheet, ADF, and utilization report shown as
'example 2. If we did not need the counter signals externally, it would of been wise to simply use the buried
registers to perform the counting function.
One final comment regarding the utilization report.
The utilization report shown in example 1 indicates
that signa1s CLK and CNT feed Macrocell 1001 and
1002. These are fictitious Macrocell numbers that the
software assigns to requests that cannot be met. In example 1, three requests were unfuImled: REGOUT,
LEDI and LEDO. REGOUT was unfulfilled because of
incompatible output structures. LEDO and LED 1 were
unfulfilled because their feedbadt signals needed to
drive the seven segment display outputs. This was impossible because the LED outputs were assigned to a
local bus on the opposite side of the device.
The mes shown in example 2 fix the LED fitting problems by sending the feedback signals through the buried
registers, thereby making them global. In the case of
REGOUT, the buried register primitive NORF (No
Optput Registered Feedback) is used, allowing the output primitive to be combinatorial.

2-120

inter

AB·10

EXAMPLE 1
ADF
.
JR Donnell
Iatel
April 3, 1986

o

5C12l
rit tin, exa_ple
LB Veraion 3.0, Baae1iae 17x, 9/26/85
PART: 5C12l
INPUTS: CNT82,CLI81
OUTPUTS: LBD0828,LBDI.27,RBGOUT.32,CONrOUT83l,SBGA88,
SBGI89,SBGC8l0,SBGD8ll,SBGB8l2,SBGr8l3,SBGG814
NBTWORI:
LBDO,A = RORr (NLBDOD,CLI,GND,GND,YCC)
LBDl,B = RORr (NLIDID,CLI,GND,GND,YCC)
RBGOUT = RONr (NRIGOUTD,CLI,GND,GND,YCC)
CONrOUT = CONr (NCONrOUTIN,YCC)
SBGA
CONr (NSIGAIN,YCC)
SBGI
CONr (NSBGIIN,YCC)
SIGC
CONr (NSBGCIN,VCC)
SBGD
CONr (NSBGDIN,YCC)
SIGB
CONr (NSBGIIN,YCC)
SBGr
CONr (NSBGrIN,YCC)
SBaG
CONr (NSBGGIN,YCC)
CLI = INP (CLI)
CNT = INP (CNT)
BQUATIONS:
NSBGGIN = 2
+ 3;

2 = U/A;
3 = A'I;
NLBDID = IA'/I'CNT

+ IA*U/CNT
+ A*/I'CNT

+ A*U/CNT;

NLBDOD

= IA'I'CNT

+ A*/U/CNT
+ "/UCNT
+ AU'ICNT;
NSBGrIN = 0;

o = IB'/A;
NSBGBIN

0

+ 2;

NSBGDIN

0
+ 2
+ 3;

NSBGCIN

0
+ I
+ 3;

1 = II'A;
NSBGIIN
0

+ 1
+ 2
+ 3;

NSBGAIN

0
+ 2
+ 3;

NCONrOUTIN
A'I;
NRBGOUTD = IA*/I;
BNDt

292014-2

2-121

AB-10

SUMMARY
As programmable logic devices become more dense, signal routing and resource partitioning becomes necessary. In
general, these choices are made by the semiconductor manufacture to most efficiently utilize the available logic. In
some cases though, these choices make certain designs more difficult to implement in a given device. Intelligent
software, a basic knowledge of the device architecture, and a little experience in fitting techniques will always make'
the job easier.

EXAMPLE 1 (Continued)
5C121 Design Worksheet

~
~

~

~

~

..lli!L
~
~

..ill2-

~

..lli.L

292014-1

2-122

inter

AB·10

EXAMPLE 1 (Continued)
Lo.ie Opti.isin. Co.piler Utili •• tion Report
***** Un.ble to i.ple.ent de.i.n
JR Donnell
Intel
April 3, 1986

o

5C121
rHtin. ex . .ple
LI Ver.ion 3.0, I ••• line 17x, 9/26/85

I5Cl21
CLK
Cllf
GilD
GilD
GND
GilD
GilD
SlGA
SIGB
SIGC
SIGD
SIGI
SlGr
SlGG
RISIRYBD
GilD
GilD
GilD
GND
GilD

-:
-:
-:
-:
-:
-:
-:
-:
-:

1
2
3
4
5
6
7
8
9
-:10
-111

-: 12
-: 13
-:14
-: 15
-:16
-: 17
-: 18
-:19
-:20

40:39:38:37:36:315:34:-

33:-

32:31:30:29:28:27:26:215:24:23:22:21:-

Yee
Vee
GilD
GilD
GilD
GilD
GilD
GilD
RISBRYBD
COllrOUf
RISIRYID
RISIRYBD
GND
GilD
GilD
GilD
GilD
GilD
GND
GilD

**IIIPUts**
N•••

MCell

•

PiD

Be.ouree

CLE

1

IIiP

CIIT

2

IIiP

1I•• e

PiD

a•• oure.

MC.ll •

PT.r••

SIGA

II

cOllr

28

2/ 4

SIGB

9

con

27

2/10

SIGC

10

cOllr

26

2/ 8

SlGD

U

con

215

2/ 6

Pfer••

MCeU.

re.d.:
01

Cle.r

Clock
R••

1001
1002

**OUTPUTS**
MCeU.

r.ed.:
01

Cle.r

292014-3

2-123

inter

AB-10

EXAMPLE 1 (Continued)
SIOI

12

COIIF

24

SlOf

13

COIIF

23

1/ 8

SIOO

14

COIfr

22

1/10

COMfOUT

31

COIfr

2

1/10

R•• ourc.
ROHr

MCell •
1000

PT.r••
1

MC.U.

LIDI

RORr

1001

2

2
22
23
26
26
28
1000
1001
1002

LIDO

ROar

1002

3

2
23
24
26
36
27
28
1000
1002

R•• ource

MC.U

PT.r••

21
20
19
18
17

4
12
4
8
8
8
8
4

1/ 6

**UHfULfILLID RIQUISTS**
**OUTPUTU*
Ha ••
R800UT

Pin

f •• d.,:
01

Clear

**UHUSBD RISOURCRS**
Ha••

PiD
3
4
6
6
7
16
16
17

18
19
21
22
23
24
26
26
27
28
29
30
32
33
34
35
36
37
38
NA
HA
HA
HA

12
11

10
9
8
7
6
6
4
3
1

13

14
15
16

12

4
10
8
6
6
8
4

8
8
8
8

2·124

292014-4

292014-5

inter

AB-10

EXAMPLE 2

ADF
JR DODDell
IDtel
April 3, 1986

o

5C121
rittlD. ex •• ple
L8 Ver.ioD 3.0, B•• el1De 17x, 9/26/85
PART: 5C121
INPUTS: CNTe2,CLIel
OUTPUTS: LBDOe28,LBD1.27,RIGOUTe32,CONrOUTe31,SIGAe8,
SIG8e9,SIGCelO,SIGDell,SIGle12,SIGre13,SIGGe14
NITWORI:
LIDO,NATONOCr = RORr (NLIDOD,CLI,GND,GND,VCC)
LID1,NBTONOCr = RORr (NLIDID,CLI,GND,GND,VCC)
RIGOUT = CONr (NRIGOUTIN,VCC)
CON rOUT = CON' (NCONrOUTIN,VCC)
SIGA
CONr (NSIGAIN,VCC)
SIGB = CONr (NSIGBIN,VCC)
SIGC
CONr (NSIGCIN,VCC)
SIGD
CONr (NSIGDIN,VCC)
SIGI
CONr (NSIGIIN,VCC)
SBGr
CONr (NSIGrIN,VCC)
SIGG
CONr (NSIGGIN,VCC)
A = Nocr (NATONOCr)
CLI = INP (CLK)
B = Nocr (NBTONOCr)
NRIGOUTIN = NORr (NIIOOUTD,CLI,GND,GND)
CNT = INP (CNT)
IQUATIONS:
NLIDOD = IAtBtCNT
+ At/U/CNT
+ At/B*CNT
+ A$B*/CNT;
NLIDID = IAt/B*CNT
+ IAtB*/CNT
+ At/UCNT
+ An*/cNT;
NCONrOUTIN = AtB;
NSIOAlN ;= 0
+ 2
+ 3;
NSIOBIN
0
+ 1
+ 2
+ 3;
NSIOCIN
0
+ 1
+ 3;

HSIGDIN

0
+ 2
+ 3;
NSIOIIN
0
+ 2;
NSlorIN
0;

HSIOGIN

2
+ 3;
NRBGOUTD = IAt/B;
2 = B*/A;
3 = AtB;
o = IBt/A;
1 = IUA;
IND.

292014-7

2-125

AB-10

EXAMPLE 2 (Continued)
5C121 Design Worksheet

~
SEGB

~

~

~

~
~

~

~

~

....!!Q!....

292014-6

2-126

intJ

AB-10

EXAMPLE 2

(Continued)

Logic OptiaiaiDg Coapiler UtiliaatioD Report

*****

De.igD iapleaeDted succe.sfully

JR DODDel1
lDtel
April 3, 1986

o

5C121
FittiDg exaaple
LB YeraioD 3.0, BaseliDe 17x, 9/26/85
5C121
CLK
CNT
GND
GND
GIfD
OIfD
GIfD
SIGA
SIGB
SlGC
SIGD
SIOI
SBOr
SIGO
RBSIRYIID
GIfD
GIfD
GIfD
GIfD
GIfD

-: 1

-: 2

-:

3

- 4
-: 5
-: 6
-: 7
-: 8
-: 9
-:10
-: 11
-: 12
-: 13

-:14
-: 15
-:16
-: 17

-: 18
-: 19
-:20

40:39:38:37:36:35:34:33:32:31:30:29:28:27:26:25:24:23:22:21:-

Ycc
Ycc
GND
GND
GIfD
GIfD
GIfD
GIfD
RIGOUT
COIfFOUT
RBSIRYIID
RBSIRYIID
LIDO
LBD1
RBSlRYIID
RISIRYID
GND
GIfD
GND
OIfD

*'IIfPUTS*,
Feede:
PiD

Resource

CLK

1

IIfP

CIfT

2

UP

Ifaae

Ph

Resource

MCell It

PTeras

SlOA

8

COIfF

28

2/ 4

SIIGB

9

cOlfr

27

2/10

SIIGC

10

COIfF

26

2/ 8

SliGO

11

COIfF

25

2/ 6

He.e

MCell It

PTer.s

MCell.

011

Clear

Clock
Reg

5
6

*,OUTPUTS*,
MCella

Feed.:
O!

Clear

292014-8

2-127

intJ

AB-10 -

EXAMPLE 2 (Continued)
••a.

12

co.,

24

SlGr

13

co.r

23

1/ 8

8.aa

14

cOllr

22

1/10

1/ 6

L.D1

27

RO.r

8

2/ 8

13

L.DO

28

Ro.r

II

3/ 8

14

OOllrou'l

31

oOllr

2

1/10

••aou"

32

cOllr

1

1/ 4

••BU.I.D ••aI."•••••

••••

Pia

••• ouro •

110.11 •

P".r••

lIO.n.

.ocr

13

1/ 8

2

r ••d.:
o.

01.ar

II

8
15
22
23
25

28
28
lIocr

14

1/ 8

2
II
15

23
24
25
28
27

28

110.'

15

1/ 8

••• oure.

110 a 11

P'I.raa

17

21
20
18
18

12

21
22

17
12
11

1

"UIIU•• D •••OUIC••••

11_.

Pla
3
4
II

8

7
15

18

18
18

23
24
211
28
28

4
4

..8

8
8
4

10
8
8

12

7

10

4

4
8
292014-9

2·128

inter

AB-10

EXAMPLE 2 (Continued)
30

3

8

16

6

33
34

31i
36
37
38

NA

**PART UTILIZATION**
31ill:
1i0ll:
lOll:

Pl ••
MBcroCe11.
pter••

292014-10

2·129

inter

AB~11

APPLICATION
BRIEF

February 1987

16-Bit Binary Counter
Implementation
Using the 5C060 EPLD

KARL-HEINZ WEIGL
INTEL CORPORATION
MUNICH, GERMANY

Order Number: 292015-002
2-130

inter

AB-11

INTRODUCTION

TOGGLE FLIP-FLOPS

System designers often use programmable logic devices
to implement counters. Use of PLA devices lets the
user build customized counters to suit individual applications. In most cases such counters are not available,
'off-the-shelf SSI/MSI devices. In other applications,
the PLA implementation allows the designer to squeeze
the counter function along with other 'glue' tasks into a
single PLA, with the attendant higher integration benefits.

Counters can be most effectively implemented in PLA
architectures using toggle flip-flops. This is because
counters constructed with 'D' type flip-flops require an
additional product term for every successive significant
bit, whereas toggle flip-flop implementation requires
only one product term per significant bit. Thus, the
toggle flip-flop counter design is more miserly in product term consumption than the 'D' register design.
Since product term minimization is the key element to
maximizing PLA utilization, the T-FF counter design
is more efficient. The truth table for the toggle flip-flop
is shown in Fig; 2.

Use of traditional 20-pin and 24-pin PLAs, however,
does not allow for the construction of large counters
having greater than 10 significant bits. This is because
these traditional PLAs have register and product term
restrictions (even the larger bipolar PLAs have only 8
to 10 registers and less than 8 product terms per register). In contrast, the 5C060 24-pin erasable programmable logic device (EPLD) contains 16 registers that
are programmable as 'D', 'T', 'RS' or 'JK' types. These
16 programmable registers enable the construction of
Up/Down counters with up to 16 significant bits.

T

Q(N)

0
0
1
1

0
1
0
1

Q(N

+ 1)

0
1
1
0

Figure 2

This application brief details the implementation of a

l6-bit binary counter in the 5C060 EPLD. The design
also demonstrates efficient counter construction utilizing toggle flip-flops (T-FF) that allows for minimum
product term utilization.

DESIGN OBJECTIVE
The objective of the design is to implement a counter
with the following features: (i) l6-bit binary count, (ii)
toggle flip-flops, (iii) asynchronous clear, (iv) RUN/
'STOP function and (v) UP/DOWN function. The
function table is shown in Figure 1.
RESET UP/DOWN RUN/STOP

X
0
0
1

X
0
1
X

0
1
1
X

Function

SOLUTION
The l6-bit binary counter function was implemented in
the SC060 EPLD using the Intel Programmable Logic
Development System (iPLDS). The equations for the
l6-bit bin~nter with the RESET, UP/DOWN
and RUN/STOP functions are shown in the 'EQUATIONS' section of the LEF (Fig. 4). The pinout of the
SC060 with the implemented counter is shown in the
RPT file (Utilization Report) Fig. S. This RPT file also
shows, under the 'OUTPUTS' section, that in each
macrocell only one out of 8 product terms is used. In
contrast the same l6-bit counter designed using 'D'
type flip-flops would have required more than 16 product terms for the last significant bit.

Inhibit Counting
CountDown
Count Up
Reset All Outputs
to 'LOW'

Figure 1

2-131

AB-11

INTEL CORPORATION

JAN. 15, 1987
1
.
1.0
5C080

BIliARY 18-BIT UP/DOIIN COIJIITIR WITH RUNISTOP AND ASYlICH. usn USING T-J'J'
LB Version 4.01, Baseline 27.1 4/9/86

OPTIONS:TURBO=ON

PABT: 60080
INPUTS: RS, CLOClt,RESll:T.,UD
OUTPUTS: 'GIG, Ql,1I2,Q3;at,Q5,Q8,Q7 ,Q8, Q9,QA,IIB~QC,QD,QI,GII'
lIITIIOIUt :
GIG,QOJ' ~ TOn (QOT, CLK ,CLR,GIID, vec)
Ql,Q1J'
TOTJ' (Q1T ,CLK,etR,GIID, VCC)
Q2,Q2J' = TOn (Q2T,CLK,CLR,GND,VCC)
Q3,Q3J' = ~J' (Q3T,CLK,cLB,GIID,VCC)
at,atJ' = TOn (Q4T,CLK,CLR,GIID, VCC)
Q5 ,Q8J'
TOTJ' (Qn, CLK, CLB, GND, VCC)
Q8, QaJ'
TOn (Q6T, CLK, CLB, GIlD, VCC)
Q7 ,Q1J'
TOn (Q7T, CLK, CLR, GND, VCC)
Q8,Qat
TOTt (QaT,CLK,CLB,GIID,VCC)
Qe,Qer = TOn (QaT,CLK,CLR,GND, VCC)
QA,QAJ' = TOTJ' (QAT,CLK,CLB,OND,VCC)
lIB, QBJ' = TOTJ' (IIBT, CLK, CLB, GIlD, VCC)
QC, QCJ'
TOn (QCT, CLK, CLB, OND, VCC)
QD, QDJ' = TOn (QDT, CLK, CLB, GND, VCC)
QI, QIJ' = TOTJ' (QlT, CLK, CLB, GND, VCC)
GIl'
TOIQ' (QJ'T, CLK, CLB, GND, VCC )
QOT
OR (QOU,QOD)
CLK
IIIP (CLOCK)
CLR
IIIP (RESII:T)
Q1T
OR (Q1U,1I1D)
Q2T. = OR (Q2U,Q2D)
QaT
OR (Q3U,Q8D)
atT
OR (atU,atD)
QaT
OR (Q5U,Q5D)
QaT = OR (Q6U,QaD)
Q7T = OR (Q7U,Q7D)
QaT =OR (Q8U,QaD)
Q9T. OR (QeU,QeD)
QAT = OR (QAU,GIAD)
QBT
OR (GIllU, QBl»

=

=
=
=

=
=

=
=
=

=
=
=
=
=

=
=
QCT = OR
QDT = OR
Cll:T = OR
QJ'T = OR
as = IIIP
UD = IIIP

(QCU,QCD)

(QDU,QDD)

(CII:U, CII:D)

(QI'U, QJ'D)

(RS)
(UD)
IIUD = !lOT (UD)
'lOu = AND (UD,RS)

292015-1

Figure 3. Example .ADF

2-132

inter
Q1U
QIU
QlU
Q'U
Q&U
QeU
Q7U
QeU
Q8U

AB-11

= AIID

(UD,QOI',QOU)
(UD,Qll',Q1U)
(UD,Q2J',Q2U)
= AIID (UD,Q3I',Q3U)
= AIID (UD,QU ,Q4U)
= AIID (UD, Q5I' ,Q5U)
AIID (UD,QeI' ,QeU)
AIID (UD,Q7I',Q7U)
= AlII) (UD,Q81' ,Q8U)
QAll = AlII) (UD,Q81' ,QeU)
QJIU
AlII) (UD, QAI' ,QAU)
QCU = AlII) (UD, QIII' ,QJIU)
QI)IJ = AIID (UD, QCJ' ,QCU)
QIU = AIID (UD,QDI' ,QDU)
QfU = AIID (UD,GlD,QIU)
RQOr = MOT (QOI')
RQU
MOT (QU)
*1'
MOT (Q21')
MQ31'
MOT (Q31')
MQU = MOT (~I')
I1Q5I'
MOT (Q&I')
MQ81' = MOT (Qel')
MQ7r = MOT (Q71')
MQ81' = MOT (Q81')
IIQII' = MOT (Q8I')
lIQAI' = MOT (QAI')
ltQBI'
MOT (QIII')
IlQCI'
MOT (QCJ')
MQDI' = MOT (QDI')
JIQIJ' = MOT (QBI')
QOD = AIID (IIUD,JIS)
Q1D = AIID (NOD,RQOI',QOD)
QID
AIID (NOD,RQU,Q1D)
Q3D = AIID (NOD, MQ2J' ,Q2D)
~D
AIID (NOD,RQ31' ,QaD)
Q&D
AlII) (NOD,MQU,~D)
QeD = AlII) (NOD,RQ51' ,Q5D)
Q7D = AlII) (NOD, RQIII' ,QBD)
QeD = AlII) (NOD,MQ7r,Q7D)
QeD
AlII) (NOD, MQ81' ,QeD)
QAD
AlII) (NOD,RQ8I',QeD)
QBD
AlII) (NUD, NQAI' ,QAD)
QCD
AlII) (NOD, NQBI' ,QBD)
QDD = AlII) (NOD, NQCJ' ,QeD)
QED = AlII) (NOD, NQDI' ,QDD)
QrD
AlII) (NOD, JIQIJ' ,QED)

= AIID
= AIID

=
=

=

=
=
=
=

=

=

=
=
=
=
=
=
=
=

DDt

292015-2

Figure 3. Example .ADF (Continued)

2.133

inter

AI!I-11

IRTEL CORPORATIOR
JAN. 15, 1981
1
1.0
5C080
BINARY 18-BIT UP/DOWR COURTER WITH RUN/STOP AND ASYNCH. RESET USING T-Fr
LB V.ralon 4.01, Bea.lln. 21.1 4/9/88
LEF Veralon 4.01 B.... Un. 22.2 2/4/88
OPTIORS: TURBO.ON
PART:
5C060
INPUTS:
RS, CLOCK, RESET, UD
OUTPUTS:

NETWORK:

~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~

CLK • INP(CLOCK)
RS • INP(RS)
CLB • INP(RESET)
UD • INP(UD)
~, ~F • TOTF(~T,
Ql. Q1F • TOTF(Q1T.
Q2, Q2F • TOTF(Q2T,
Q3, Q3F • TOTF(Q3T,
Q4, ~F • TOTF(Q4T,
Q5, Q5F • TOTF(Q5T,
Q6, Q6F • TOTF(Q6T,
Q1, Q1F • TOTF(Q1T,
Q6, Q6F • TOTF(QaT,
~, Q9F • TOTF(Q8T,
~, ~ • TOTF(~T,
~, ~ • TOTF(~T,

CLK, CLB, GRD, VCC)
CLK, CLR, GRD, VCC)
CLK, CLB, GRn, VCC)
CLK, CLB, GRD, VCC)
CLK, CLB. GRD, VCC)
CLK, CLR, GRD, VCC)
CLK, CLB, GRn, VCC)
CLK, CLR, GRn, VCC)
CLK, CLB, GRn, VCC)
CLK, CLB, GRD, VCC)
CLK, CLB, GRD, VCC)
CLK, CLB, GRn, VCC)
~, QCF • TOTF(~T, CLK, CLB, GRD, VCC)
~, ~F • TOTF(QDT, CLK, CLB, GRD, VCC)
~, ~F • TOTF(~T, CLK, CLB, GRn, VCC)
QF • TONF(QFT, CLK, CLR, GRn, VCC)
EQUATIORS:
~T • UD' * ~r' * ~r' * QCF' * ~' * ~' * Q9F' * Q6r' * Q1r' * Q6r'
Qsr' * ~r' * Q3r' * Q2r' * Qlr' * QOr' * RS
+ UD * QEF * ~r * QCF * ~ * ~ * Q9r * Qar * Q1r * Q6r * Q5r ,*
Q4F
Q3r
Q2F
Q1F
QOr
RS;

*

*

*

*

*

QET • UD' * QDF' * ~r' * ~r' * ~' * Q9r'
Q4F'
Q3r'
Q2r'
Qlr'
QOr'
RS

*

*

*

*

*

*

* Q6r' * QU' * Q6r' * QU' *

+~*~*QCF*~*~*~*~*~*~*~*~*

Q3r

~T • UD'

* Q2F * Qlr * QOr * RS;
* QCF' * ~' * ~' * Q8r' * Q6r' * Q1F' * Q6F' * Q5r' * Q4r' *

*
*

*

*

*

Q3r'
Q2r'
QU'
QOr'
RS '
+~*QCF*~*~*m*~*_*~*~*~*~*
Q2r
Qlr
QOr
RS;

*

*

292015-3

Figure 4. Example .LEF

2-134

inter

AB-11

*

*

*

*

*

*

*

*

*

*

QCT

= UD'
QBF'
QAF'
Q9F'
QaF'
Q7F'
Q6F'
Q5F'
Q4F' * Q31"
Q2F' * Q1F' * QOF' * RS
+~*~*QAF*~*~*~*~*~*~*~*~*
Q1F
QOF
RS;

QBT

= UD' * QAF' *

Q9F'
QaF'
Q7F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F'
Q1F'
QOF'
RS
+~*QAF*~*~*~*~*~*~*~*~*~*
QOF
RS;

*

QAT

= ~' * Q9F' * QaF' * Q7F' * Q6F' * Q5F'
QOF'
RS
+ UD
Q9F
QaF
Q7F
Q6F
Q5F
Q4F
RS;

*

*

*

*

*
*

*

*

*

*

*

*

*

*

Q4F'

*

Q3F'

*

Q2F'

*

QU'

* Q3F * Q2F * Q1F * QOF *

QaF' * Q7F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F' * Q1F' * QOF'
* QaF * Q7F * Q6F * Q5F * QU * Q3F * Q2F * Q1F * QOF * RS;
Q8T = UD' * Q7F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F' * Q1F' * QOF' *' RS
+ UD * Q7F * Q6F * Q5F * Q4F * Q3F * Q2F * Q1F * QOF * RS;
Q7T = UD' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F' * Q1F' * QOF' * RS
+ UD * Q6F * Q5F * QU * Q3F * Q2F * Q1F * QOF * as;
Q6T = UD' * Q5F' * QU' * Q3F' * Q2F' * Q1F' * QOF' * RS
+ UD * Q5F * Q4F * Q3F * Q2F * Q1F * QOF * RS;
Q5T = UD' * Q4F' * Q3F' * Q2F' * Q1F' * QOF' * RS
+ UD * Q4F * Q3F * Q2F * Q1F * QOF * RS;
Q4T = ~' * Q3F' * Q2F' * Q1F' * QOF' * RS
+ UD * Q3F * Q2F * Q1F * QOF * RS;
Q3T = UD' * Q2F' * Q1F' * QOF' * RS
+ UD * Q2F * Q1F * QOF * RS;
Q2T = UD' * Q1F' * QOF' * RS
+ UD * Q1F * QOF * RS;
Q1T = UD' * QOF' * RS
+ UD * QOF * RS;
Q9T

*

= UD' *
RS

*

+ UD

QOT

= RS;

ENDS
292015-4

Figure 4. Example .LEF (Continued)

2-135

intJ

AB-11

Lo.10 Opt,111181n. Compiler Ut,il1zat,1on Report,
FIT Version 4.01 Base11ne 27.1 4/9/86

*****

De.ian 1lDpleJDen'ted

**** NOTE:

suoce~sf\llly

Connect, sipal CLOCK t.o

pin 1 AND pin 13.

INTIL CORPORATION
JAN. 15, 1987
1
1.0
5C080
BINARY 18-BIT UP/DOWN COUNTER WITH RUN/STOP AND ASYNCH. RESET USING T-FF'
LB Version 4.01, Baseline 27.1 4/9/86
OPTIONS: TURBO=ON

6C060
CLOCK -: 1
GND -: 2
Q7 -: 3
QS -1,4

Q6 -: 5
Q4 -: 8
Q3 -: 7

Q2 -: 8
Ql -: 9
QO -:10
UD -:11
GND -:12

24:- Vee

23:- RS
22:- QF
211- QI
201- Q1J
19:- QC

18:17:-

QB

QA

16:- Q9
15:- Q8

14:- RESET
13: - CLOCK

**INPUTS**
NUle

Pin

CLOCK

Resource

HCell II

PTems

HCells

Feeds:
OE ' Clear

IMP

UD

11

IMP

GND

12

GND

CLOCK

13

IMP

RESET

14

IMP

Clock
CLKl
CLK2

1
2
3
4
5
8
7
8
9
10
11
12
13
14
15

CLK1
CLK2
1
2
3
4
5
8
7

8
9
10
11
12
13
14
15
16

292015-5

Figure 5. Example .RPT File

2-136

AB-11

as

23

IRP

1
2
3
4
6
8
7
8
8
10
11
12
13

14

15
18

Vee

24

Vee

1
2
3
4
6
8
7
8
8
10
11
12

13
14

16
18

**OUTPUTS**

.....

Pin

a.sourc.

Keell •

PT.....

He.ll.

Q7

3

'1'OTI'

8

2/ 8

1
2
3
4
Ii
8
7
8

Q8

4

TO'lI'

10

2/ 8

1
2
3

r ••ds:

01

Clear

Clock

4
Ii

8
7
8
8
QIi

Ii

TO'lI'

11

2/ 8

1
2
3
4
Ii
8
7
8
8
10

Q4

8

'1'OTI'

12

2/ 8

1

2

3
4
Ii
8
7
8
8
10
11

292015-8

FIgure 5. Example .RPT File (Continued)

2·137

intJ
Q3

7

TOTF

13

2/ 8

1
2
3
4
5
6
7
8
9
10
11
12

Q2

8

TOTF

14

2/ 8

1
2
3
4
5
6
7
8
9
10
11
12
13

Q1

8

TOTF

15

2/ 8

1
2
3
4
5
6
7
8
9
10
11
12
13
14

QO

10

TOTF

18

1/ 8

1
2
3
4
5
6
7
8
8
10
11
12
13
14
15

Q8

15

TOTF

8

2/ 8

1
2
3
4
5
8
7

Q9

18

TOTF

7

2/ 8

1
2
3
4

5
8
QA

17

TOTF

6

2/ 8

1
2
3
4
5
292015-7

Figure 5. Example .RPT File (Continued)

2·138

AB-11

QB

18

"rOD

II

2/ 8

1
2
3
4

QC

18

TOU

4

2/ 8

1
2
3

QI)

20

TOTr

3

2/ 8

1
2

CD

21

"rOD

2

2/ 8

QI'

22

TOIIJ'

2/ 8

**lJII1ISBI) BISOUlICBS**
N_

PiD

Re.ource

Keell

PTerae

2

**PART OTILlZATION**
811"
100"
24"

PiD.
HacroCells
Pteru
292015-8

Figure 5. Example .RPT File (Continued)

2·139

APPLICATION
BRIEF

AB-12

October 1987

Designing a Mailbox Memory for
Two 80C31 Microcontrollers Using
EPLDs

K. WEIGL & J. STAHL
INTEL CORPORATION
MUNICH, GERMANY

Order Number: 292016-002
2-140

inter

AB-12

The SC060 allows for independent clocking of 8 macro-

INTRODUCTION

cells on each side of the chip, the two clock inputs are

Very often, complex systems involve two or more microcontrollers to fulfill the requirements dermed by a
given objective. Since the nature of microcontrollers
does not allow for easy dual-port memory design (no
"READY" input; no "HOLD/HLDA" interface; portoriented I/O etc.), design' engineers are faced with the
problem of interchanging information (data and status)
between those microcontrollers. This application brief
describes the design of a mailbox for exchanging information between two 8OC31s, using a SC060 H-EPLD
as a "back-to-back" register, and a SC031 H-EPLD as
an arbitration vehicle to control the· actions of the
CPUs.

used to clock data from the microcontroller bus into
the chip. To read the data written into the mailbox by
one of the controllers, the RDA- (controller A is reading) or RDB- (controller B is reading) line must be
pulled low by activating the read command (/RD). In
order to avoid spurious read-cycles, the /RD commands from both microcontrollers are logically
"ORed" together with an active bigh CS-signal (Chip
Select) inside the SC060. The CS-signal for both ports is
derived from address line A1S. Therefore, whenever
A1S becomes a logic "I" (true), the mailbox is activated and ready to take or submit data.

THE 5C060 MAILBOX

Address range for the mailbox: FOOO Hex to FFFF
Hex
(Upper 12 kbyte)

In this application, the 16 macrocells of the SC060 are
grouped into two sets of 8 so called "ROlF" (register
output with input feedback) primitives to implement
the two 8 bit bus interfaces needed. The grouping is
done according to the following picture.
5C080

2-141

AB-12

THE 5C031 "MAILBOX CONTROLLER"
To keep the two microcontrollers informed about the
status of their mailbox, the SC031 is programmed to
supply the following signals to both controllers:

/OBFA: "OUTPUT BUFFER FULL" FOR MC A
/OBFB: "OUTPUT BUFFER FULL" FOR MC B
/IBEA: "INPUT BUFFER EMPTY· FOR MC A
/IBEB: "INPUT BUFFER EMPTY· FOR MC'B
/INTA: INTERRUPT, TO MC A
/INTB: INTERRUPT TO MC B
The next section will discuss the meanings of these signals in more detail.
Output Buffer Full: This flag is set whenever the controller writes into its own output
buffer. The flag remains valid, until
the second controller has read the
data. The flag is automatically reset to its inactive state when this
read cycle is accomplished.

NOTE:
Both controllers can access (read or write) the mailbox simultaneously.
'
Input Buffer Empty: This flag indicates that there is no
message in the mailbox. The flag
will become inactive as soon as
one microcontroller places a message for the other one (or vice versa).

Example:
/IBEA
remains
"LOW" until microcontroller B
places, a message for controller A
into the mailbox for A. /IBEA
will go "HIGH" as soon as controller ,B has accomplished its
write cycle, and will not go
"LOW" again until microcontroller A has read the message.
Interrupt: The SC031 is programmed to supply interrupts to both microcontrollers involved, on
one of the following events.
1. The /OBF flag of the opposite microcontroller becomes active; e.g. if controller A is
placing a message for controller B, controller
B, receives an interrupt the same time as
/OBFA becomes valid or vice versa.
2. The /IBE flag of the opposite microcontroller goes active, indicating that this controller has received the message; e.g. if .controller B reads the message stored by controller A, its /IBEB flag goes active and controller receives an interrupt indicating that
the buffer is empty.
The signals described above are necessary to accomplish a secure handshake without overwriting messages
accidentally. In addition to that, the SC031 is issuing
the actual write commands for the two register sets inside the SC060. The /WRA and /WRB signals are results oflogical "AND" functions between the appropriate CS- and /wR signals from the microcontrollers.
Therefore, spurious write cycles are unlikely to happen.
NOTE:
This design cart also be efficiently implemented in a
single SCBIC EPLD.

2-142

inter

AB-12

A
AOO-A07
PO

8
II

""

ALE
A8-A15
P2
PSEN

-

r-

~

74HCT373

~~

~

-

00-07

00-07

AO-A7

AO-A7

f1---

---l'

ll.
I~

027C64

027C64

OE CE

~

A8-12

OECs

r---

J [l'

~I ~~ r-

L--

1 - -.....

WA

X>.---.-------~>_-~

RDB

OBF'A

iliiTA
RST
INTB
OBF'B

RDA

IBEA
CSB
WRB

WB

Of

292016-3

2-145

inter

AB-12

5C060 REGISTER ADF
JUIIRG
INTEL
March
80C31
1

STAHL
ZUERICH
27, 1985
MAILBOX MEMORY USING 5C060 / 5C031

*************'******
** ' BXAMPLII • Aor **
********************

5COSO
LB Veraion 3.0, Baae1ine 17x, 9/26/85
PART: 5COSO
INPUTS: WB81, CSA82, CSB814, nRDA811, nRDB823, WA813
OUTPUTS: IOB7815, IOA7810, IOBS81S, IOAS.9,
IOB5817, IOA588, IOB4818, IOA487,
IOB3.19, IOA386, IOB2820, IOA285,
IOB1.21, IOAl.4, IOB0822, IOA083
NIITWORK:
IOB7,DB7
ROlF (DA7,WAC,GND,GND,RDBC)
IOA7,DA7 'ROlF (DB7,WBC,GND,GND,RDAC)
IOBS,DBS
ROIr (DAS,WAC,GND,GND,RDBC)
IOAS,DAS
ROIr (DBS,WBC,GND,GND,RDAC)
IOB5,DB5
ROlF (DA5,WAC,GND,GND,RDBC)
IOA5,DA5
ROlF (DB5,WBC,GND,GND,RDAC)
IOB4,DB4
ROJr (DA4,WAC,GND,GND,RDBC)
IOA4,DA4
ROJF (DB4,WBC,GND,GND,RDAC)
JOB3,DB3
ROlr (DA3,WAC,GND,GND,RDBC)
IOA3,DA3
ROJF (DB3,WBC,GND,GND,RDAC)
IOB2,DB2
ROlF (DA2,WAC,GND,GND,RDBC)
IOA2,DA2
ROJF (DB2,WBC,GND,GND,RDAC)
JOB1,DB1
ROlf (DAl,WAC,G'ND,GND,RDBC)
JOA1,DA1
ROJF (DB1,WBC,GND,GND,RDAC)
IOBO,DBO
ROlF (DAO,WAC,GND,GND,RDBC)
JOAO,DAO
ROlF (DBO,WBC,GND,GND,RDAC)
WAC = INP (WA)
RDBC = AND(CSBJ,RDBJ)
WBC = INP (WB)
RDAC = AND(CSAI,RDAI)
csaI = INP (CSB)
nRDBI = INP(nRDB)
nRDAI = JNP(nRDA)
CSAr
INP(CSA)
RDAI
NOT(nRDAI)
RDBI = NOT(nRDBI)
IIND$

292016-4

2-146

AB-12

5C060 REGISTER LEF
.JUIRO
INTIL
March
80C31

STARL
ZUIRICR
Z7, 1986
MAILIOI MIMORY USINO 5C080 / 5C031

1

********************
** IXAMPLI .Llr **
********************

5C060
LI Ver.loa 3.0, 1 •• e11ae 17x, 9/Z8/85
Llr Ver.loa 1.0 la.e11aa 1.51 OZ rab 1987
PART:
5C080
INPUTS:
WI81 , CSA8Z, CSI814, aRDA811, aRDI823, WA813
OUTPUTS:
1017815, IOA7810, 1018816, IOA689, 1015817, 10A588, 1014818, 10A487,
1013819, 10A386, 10lZ8Z0, IOA285, 1011821, IOA184, 1010822, IOA083
NITWORl:
WIC = INP(WI)
WAC = INP(WA)
CUI = INP(CSA)
csal = INP(CSI)
aRDAI = INP(aRDA)
aRDII = INP(aRDI)
1017, DI7
ROIF(DA7, W>\C, OND, GND, RDIC)
IOA7, DA7
ROIF(DI7, WIC, OND, GND, RDAC)
1016, DI6
ROIF(DA6, WAC, OND, GND, RDIC)
IOA6, DA6
ROlr(DI6, WIC, OND, OND, RDAC)
1015, DI5
ROIF(DA5, WAC, GND, GND, RDIC)
IOA5, DA5
ROlr(DI5, WIC, OND, GND, RDAC)
1014, DI4
ROIF(DA4, WAC, GND, GND, RDIC)
IOA4, DA4
ROlr(DI4, WIC, GND, OND, RDAC)
1013, DI3
ROIF(DA3, WAC, GND, GND, RDIC)
IOA3, DA3
ROIF(DI3, WIC, GND, GND, RDAC)
10lZ, DIZ
ROIF(DAZ, WAC, OND, GND, RDIC)
10AZ, DA2
ROIF(DIZ, WIC, GND, GND, RDAC)
lOll, Dl1
ROIF(DAl, WAC, GND, GND, RDIC)
IOA1, DA1
ROIF(Dl1, WIC, GND, GND, RDAC)
1010, DIO
ROIF(DAO, WAC, GND, GND, RDIC)
10AO, DAO
ROlr(DIO, WIC, GND, GND, RDAC)
IQUUIONS:
RDAC = CSAI
nRDAI';
RDIC

CSII

*
* aRDII';

IND.
292016-5

2·147

AB·12

5C060 REGISTER UTILIZATION REPORT
Lo,ic Opti.izin, Co.piler Utilization Report
FIT Vera ion 1.0 Baseline 1.0i 2/6/87

*****
JUIRG
INTI!L
March
80C31

Desi,n i.ple.ented succes.fully
STARL
ZUIRICR
27, 1985
MAILBOX MIMORY USING 5COSO / 5C031

1

*************************
** EXAMPLB .RPT FILE **
*************************

5COSO
LB Version 3.0, Baaeline 17x, 9/2S/85
5COSO
WB
CSA
10AO
10Al
Ion
IOU
IOA4
IOA5
10AS
IOA7
nRDA
GND

-

1
- 2
- 3
- 4
-: 5
- S
-: 7
- 8
-: 9
-: 10
-: II
-: 12

24:23:22:21:20:19:18:17:IS:15:14:13:-

Vee
DRDB
lOBO
lOBI
IOB2
10B3
1084
IOB5
lOBS
IOB7
CSB
WA

nINPUTsn
Ha.e

Pin

WB
CSA

Resource

MCe11'

MCells

Feeds:
011

Clear

INP
2

Clock
CLKI

IHP

9

10
II

12
13
14
15
IS
nRDA

11

INP

9
10
11

12
13
14
15
IS
GND

12

1
2

GND

3

4
5
6
7
8
9
292016-6

2-148

intJ

AB·12

5C060 REGISTER UTILIZATION REPORT (Continued)
IU
11
12
13
14
15
16

WA

13

INP

CSB

14

INP

CLK2
1
2
3
4
5
6
7

8

nRDB

23

1
2
3
4

INP

5
6
7
8

Vee

24

Vee

Pin

Resource

nOUTPUTS n
Naae

lOAD

MCell

•

Feeds:

PTeras

ROlF

9

1/ B

10

1/ 8

MCella

10Al

4

ROlf

IOA2

5

ROlf

11

1/ 8

3

IOA3

6

ROlf

12

1/ 8

4

10A4

7

ROlf

13

1/ B

5

10AS

B

ROlf

14

1/ 8

6

IOA6

9

ROlf

15

1/ 8

7

10A7

10

ROlF

16

1/ 8

8

IOB7

15

ROlf

8

1/ 8

16

IOB6

16

ROlF

7

1/ 8

15

17

ROlf

6

1/ 8

14

IOB4

18

ROlF

5

1/ 8

13

10B3

19

ROlf

4

1/ 8

12

IOB2

20

ROlF

3

1/ B

11

10Bl

21

ROlF

1/ 8

10

ROlF

1/ 8

9

ZZ

Clear

Clock

2

IOB5

lOBO

OE

292016-7

All Resource. u.ed
UPART UTILIZATION . .

100_
100_

12_

Pins
MacroCelb
ptera.
292016-8

2-149

AB-12

5C031 ARBITER ADF
JUIRG
INTEL
March
80C31

STARL
ZUIRICH
28, 1986
MAILBOX MIMORY USING 5C060 / 5C031

********************
** IXAMPLI .ADF **
********************

2

5C031

LB Version 3.0,' Baaeline 17x, 9/26/85
PART: 5C031
INPUTS: RST,nWRA,nRDB,CSA,nRDA,nWRB,CSB,nOI
OUTPUTS: WA,nOBFA,nIBIB,nINTA,nINTB,nOBFB,nIBIA,WB
NBTWORl:
nWRA = INP(nWRA)
nRDB = INP(nRDB)
RST = INP(RST)
CSA = INP(CSA)
nRDA = INP(nRDA)
nWRB = INP(nWRB)
CSB
INP(CSB)
nOI
INP(nOI)
WRA
NOT(nWRA)
WRB
NOT(nWRB)
RDA
NOT(nRDA)
RDB
NOT(nRDB)
01 = NOT(nOI)
nRST = NOT(RST)
WA = CONF(WAd,VCC)
WAd = AND(CSA,WRA)
WB = CONF(WBd,VCC)
WBd = AND(CSB,WRB)
nRB = NAND(RDB,CSB)
nRA = NAND(RDA,CSA)
nWAd = NOT(WAd)
nWBd = NOT(WBd)
nOBFA,nOBFA
COCf(nOBfAd,OB)
nOBFB,nOBFB = COCF(nOBFBd,OI)
nIBIA,nIBIA = COCf(nIBIAd,OI)
nIBIB,nIBIB = COCF(nIBIBd,OI)
nINTA = CONF(nINTAd,OI)
nINTB = CONF(nINTBd,OI)
nINTAd = AND(nOBFA,nIBBA)
nINTBd
AND(nOBFB,nIBIB)
nOBFBd
NAND(nRA,nIBIA,nRST)
nOBFAd
NAND(nRB,nIBIB,nRST)
NAND(nWAd,nOBfA)
nIBIBd
nIBIAd
NAND(nWBd,nOBFB)
IND.

292016-9

2·150

inter

AB-12

5C031 ARBITER LEF
JUERG
HlTBL
March
80C31

STAHL
ZUERICH
28, 1986
MAILBOX MEMORY USING 5C060 / 5C031

********************
** EXAMPLB .LBF **
********************

2

5C031
LB Yersion 3.0, Baseline 17x, 9/26/86
LBF Yersioo 1.0 Ba.alioe 1.6i 02 Feb 1987
PART:
6C031
INPUTS:
RST, oWRA, nRDB, CSA, oRDA, oWRB, CSB, nOB
OUTPUTS:
WA, oOBFA, oIBBB, oiNTA, oiNTB, nOBFB, niBBA, WB
NBTWORK:
RST = INP(RST)
oWRA = INP(oWRA)
nRDB = INP(nRDB)
CSA = INP(CSA)
oRDA = INP(oRDA)
oWRB = HlP(oWRB)
CSB = INP(CSB)
oOB = INP(oOB)
WA = CONF(WAd, YCC)
oOBrA, nOBrA = COCF(oOBrAd, OB)
nIBBB, nIBBB = COCF(oIBBBd, OE)
nINTA = CONF(oINTAd, OB)
oINTB = CONF(nINTBd, OB)
oOBFB, nOBFB = eOCF(oOBFBd, OB)
oIBBA, oIBBA = eOCF(oIBBAd, OB)
WB = eONr(WBd, YeC)
BQUATIONS:
WBd = CSB
oWRB';

*

CSB

oIBBAd

* oWRB'

+ nOBFB';

nOBrBd

(niBBA
oIBBA

* RST' * CSA'

oINTBd

oOBrB

* RST' * nRDA)';
* oIBBB;

nINTAd

nOBrA

* oIBBA;

+

nIBBBd

CSA

* oWRA'

+ nOBrA';

OB = oOB';
nOB FAd

= (oIBBB * RST' * eSB'

+

WAd

= CSA

oIBBB

* RST' * oRDB)';

* oWRA';

BND$
292016-10

2-151

AB-12

5C031 ARBITER LEF (Continued)
Logic Optiaizing Coapile~ Utilization Report
FIT Version 1.0 Baseline 1.0i ,2/6/87

.* •• * Design
JUIRG
INTEL
March
80C3l

iapleaented successfully

STAHL
ZUERICH
28, 1986
MAILBOX MKMORY USING 5C060 / SC03l

***"*,, ••••• *** •• *., •• ,.

"

2

SC03l
LB Version 3.0, B.seline l7x, 9/26/85
5C03l
GND -: 1
GND -: 2
nOE - 3
CSB -: 4
nWRB - 5
nRDA -: 6
CSA -: 7
nRDB - 8
nWRA
9
GND -: 10

20:- Vee
19:- WB
18:- WA
17 :- nOBra
16:- nINTa
lS:- nINTA
14:- nIBIB
13:- nOBrA
12:- nlBlA
II :- RST

UINPUTS*,
N.ae

Pin

Resource

nOB

3

INP

CSB

4

INP

nWRB

S

INP

nRDA

6

INP

CSA

7

INP

nRDB

8

INP

aWRA

9

INP

GND

10

GND

RST

11

INP

Vee

20

Vee

MCell.

EXAMPLE .RPTFILE

"

,.,',.,"',.".,"',.**'*

PTeras

2-152

inter

AB-12

5C031 ARBITER UTILIZATION REPORT
**ounuTS**
Na.e

Pia

Re.ouree

DIBIA

12

cocr

DOlrA

13

cocr

MC.ll

•

PTer••

MCe11.

8

2/ 8

3
15

7

2/ 8

reed.:
01

Clear Pre •• t

15
6

DIBII

14

cocr

6

2/ 8

4
7

DINTA

15

CONr

5

1/ 8

DINTB

16

CONr

4

1/ 8

DOlFI

17

cocr

3

2/ 8

WA

11

CORr

2

1/ 8

WI

19

CONr

1

1/ 8

Re.ouree

MCell

PTer••

4
8

**UNUSBD RBSOURCBS**
N..e

PiD
1
2

**PART UTILIZATION**
8S.
100.
IS.

PiD.
MaeroCel18
Pter••
292016-12

2·153

inter

A,PPLICATION
BRIEF

OC,tobar 1987

Atypical Latch/Register
Construction in EPLDs

THOM BOWNS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292031-002
2-154 '

AB-16

in this Ap brief, the "!" operator is used to signify inversion). The schematic of the RS latch is shown in
Figure la.

ATYPICAL LATCH/REGISTER
CONSTRUCTION IN EPLDs
Though Intel's EPLDs include many of the typical
latch and register types, some logic designs require register of latch configurations not directly supported in
the current EPLDs. In many cases these register and
latch configurations can be generated using the logic
array and combinational feedback. A "latch" is defined
as a level-triggered, flow-through type such as the
74373, and a "register" is defined as an edge-triggered
flip-flop such as the 7474.

Since cross coupled logic is not supported in EPLDs,
we must convert the equation to a single term with
feedback.
00, OF = COCF (0, VCC)

0= S

+

IR' OF;

where QF is the feedback from Q output.
This circuit can be implemented in an EPLD macrocell. Where combinational feedback is not supported,
I/O feedback will suffice. The schematic of this implementation is shown in Figure lb.

This application brief will detail the construction of a
D-type latch, an RS latch and a D flip-flop using combinational logic and feedback. Also discussed is the
construction of an RS flip-flop, a JK flip-flop and a T
flip-flop using registered logic and feedback.

With the RS latch, the inputs are normally low. A logical one on S sets Q to 1, and a one on R resets Q to a O.
Logical ones on both inputs simultaneously cause the
output to remain at a high level since S takes precedence over R in this implementation.

The RS latch is the simplest latch configuration. The
equations for it are as follows: QB = !(Q + S), Q =
I(QB + R) where Q is the output of one NOR gate, and
QB is the output of the other (Note: as a convention

EJj
NOR2

R

0

OB
S

NOR2

292031-1

(a)

Vee
INP
s~~~-----------,

INP

R-C--f

-COCF~

~~~ ~~~'---OD

~""-.,

292031-2

(b)

Figure 1. RS Latch Implementation In a) Discrete Gates and b) EPLD Logic

2-155

intJ

AB-16

00, OF

Another latch is the 74373 type, or D latch. This latch
works by either enabling input data to appear at the
output, or by holding the output to the last input data
state. Its equation is this: QB == !(I(ID*E)*Q), Q ==
!(!(O·E)*QB). Again, Q is the output of one NAND
gate, and QB is the output of the other:' Figure 2a
shows this. version' of the design.

= COCF (O,VCC)

0= D' E

+ IE' OF;

QF is the feedback from theCOCF. In this circuit,
when E is high, data floW& through transparently.
When E is brought low, data is latched.. When using
input feedback, care must be taken when tri-statin~ the
output as data will no longer be latched. The EPLD
implementation is given in Figure 2b.

Again, we must convert to an EPLD-type equation and
schematic:

D-.-.....- i

o

E -....- - i
NAND2

292031-3

(a)

E:-O.._--....

___ e.

o

COCF'I

.~"'''''' .>-1:;>1'-00

292031-4

(b)
Figure 2. Implementation of a D Type Latch Using a) Discrete Gates and b) EPLD Logic

2-156

AB-16

This latch can be cascaded with, a second latch to produce an edge triggered, master/slave D flip-flop, using
combinational logic. The flip-flop is a solution to using
asynchronous clocking, preset and clear functions when
they aren't supported. Also, if an I/O conflict exists
within a macrocell group when using registered logic,
this design will fit since it uses combinational logic.
Figure 3 shows the schematic for this design.
This design does consume two macrocells, but in many
cases, that isn't a problem.

The boolean equation of the D flip-flop is this:
OO,OF = COCF (O,VCC)
YF = NOCF (V)
Y = D • ICLOCK

o=

YF • CLOCK

+ YF • CLOCK;
+ OF • ICLOCK;

Q is the flip-flop output and Y is the first latch output.
Data is latched in to the second latch on the low-going
edge of clock, and is clocked out to Q on the high-going
edge of clock.

INP

D-O---t.

INP

CLOCK

- D _..........

____ .
cocr-

~~~ ~~~--QD

292031-5

Figure 3. Combinational Logic Implementation of a D Flip-Flop

2-157

AB·16

Pr~et

and clear can be added into the equations as

well:
CO,QF = COCF (Q,VCC)
YF .. NOCF (Y)
Y = 0 • ICLOCK

+ YF • CLOCK;

Q .. YF • CLOCK· I (CLEAR TERM) +
(PRESET TERM) +
. QF • ICLOCK • I (CLEAR TERM);

When the PRESET TERM is logically true, Q is asynchronously set to 1.

When the CLEAR TERM is logically true, Q is asynchronously cleared toO..
The PRESET TERM takes .priority over the CLEAR
TERM.
This schematic is shown in Figure 4.
Due to the nature ofthe design, input delays plus array
delays plus feedback delays must be added and used to
determine a maximum operating frequency. In this example, tIN + tTAD + tCF + tAD = 113 ns for II
-65 5C121, leaving a maximum frequency of 8.8
MHz.

INP
D~C>------------~

....

INP
CLOCK -c:~----

-~.

___ e.
COCF'I

~~.... ~~~'--QD

----_ ..

INP
CLEAR TERI.! -C:~-I ~O""--+--IA
QF
INP
PRESET TERI.! -C:~------I ........:._ _ _ _ _--1

292031-6

Figure 4. D Flip-Flop with Added Preset and Clear Terms

intJ

AB-16

Other useful workarounds involve D registers and logic
in constructing RS, JK and T flip-flops, for use in
EPLDs not supporting these configurations. The RS
flip-flop is simply the RS latch discussed earlier coupled to registered feedback.

The JK flip-flop is another useful and easily implemented register:

OO,OF = RORF (O,CLOCK,GND,GND;VCC)

When J = K = 1, QO toggles to opposite state on next
clock trigger. When J = K = 0, QO remains the same.
When J does not equal K, QO will follow J on next
clock trigger. The schematic is shown in Figure 6.

0= 5

+

OF· !R;

Normally, Sand R will remain high. When S is brought
low, QO will become 1 on the next clock trigger edge.
When R is brought low, QO will become 0 on the next
clock trigger edge. The schematic is given in Figure 5.

OO,OF = RORF (O,CLOCK,GND,GND,VCC)

o=

J • !OF

INP

CLOCK--<:>----------------------,
INP

s--~~----------_,
INP

GNO

+

!K • OF

Vee

----.
RORFI
>-r::>rl--OO

292031-7

Figure 5. EPLD Implementation of an RS Flip-Flop

INP

CLOCK--<:>-----------------,
INP

----.
RORFI
>-r::>rl-OO
INP

K--IC>--1

~)-I-r

292031-8

Figure 6. EPLD Implementation of a JK Flip-Flop

2-159

AB-16

The T flip-flop is also easily constructed:

register clock), as long asthe minimized logic equations
resulting do not exceed the macrocells p-term count.

QO,OF = RORF (O,CLOCK,GND,GND,VCC)
O=ToIOF+ IToOF;

When T is high. QO will toggle to opposite state on next
trigger. When T is low, QO will remain the same. Pigure 7 shows the T flip-flop design schematic.
Each of these designs' uses a minimum number of pterms; adding p-terms is possible to the limit of the
macroceU being used. It is possible to substitute an entire logical expression for each input listed (except

CLOCK

INP

Por example, .consider using the J-K register. Setting
J=A"B"C+DandsettingK=E"'P"IG+
H + I then the minimized p-term count will expand
from two p-terms to five p-terms, which would still be
okay within a macrocell with more than five p-terms.
Using logic gates and combinational or registered feedback, one can easily implement many types of latches
and registers. Regardless of the EPLD type. there exists
the resources to implement any of the discussed circuitry.

GND

Vc

----.
RORr:

INP

T

QD

292031-9

Figure 7. Implementation of a T Flip-Flop

2-160

intJ

AB-18

APPLICATION
BRIEF

October 1987

TTL Macro Library Listing
for EPLD Designs

PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292037"()()2
2·161

AB-18

TTL Macros

MSI FUNCTIONS

The following is a partial list of TTL macros that are
available through the Intel EPLD customer hot line.

Decoders/Demultiplexers

These macros are used with the SCHEMA II-PLD
schematic capture package. They can also be used in
ADFs (Advanced Design Files) created using a text
editor.
THIS LIST REPRESENTS VERSION 3.4 OF THE
TTL MACRO LIBRARY. FUTURE VERSIONS
ARE SUBJECT TO CHANGE.

SSIGATES
7400
7402
7404
7408
7410
7411
7420
7421
7427
7430
7432
7486

2 Input
2· Input
I Input
2 Input
3 Input
3 Input
4 Input
4 Input
3 Input
8 Input
2 Input
2 Input

NAND
NOR
INVERTER
AND
NAND
AND
NAND
AND
NOR
NAND
OR
XOR

7442
7444

7447X
7449
74138
74139
74145
74154
74155
74156

(10) BCD to Decimal
(10) Excess-3-Gray to Decimal
(7) BCD to 7-Segment-Active Low Output
(7) BCD to 7-Segment-Active High
Output
(8) l-of-8 Decoder
(4) Single l-of-4 Decoder
(10) BCD to Decimal
(16) l-of-16 Decoder
(8) Dual l-of-4
(8) Dual l-of-4

Multiplexers
74151
74153
74157
74158
74253
74257X

(2)
(2)
(4)
(4)
(2)
(4)

74258X

(4)

74298XA

(4)

74298XB

(4)

74352

(2)

2-162

8-to-l
Dual 4-to-l-Active High Output
Quad 2-to-l-Active High Output
Quad 2-to-l-Active Low Output
Dual 4-to-l-Three-State Output
Quad 2-to-l""':Active High, ThreeState Output
Quad 2-to-l-Active Low, ThreeState Output
Quad 2-to-l-Active High with Storage
Quad 2-to-l-Active High with Storage
Dual4-to-l-Active Low Output

intJ

AB-18

Counters
7490XD
7490XQ
74160
74161
74162
74163
74168
74169
74176XD
74176XQ
74177X
74190XA
74190XB
74191XA
74290XD
74290XQ
74390X
74393XA
74393XB

(4)
(4)
(5)
(5)
(5)
(5)
(5)
(5)

(4)
(4)
(4)
(6)
(6)
(7)
(4)
(4)
(4)
(4)
(4)

Type
BCD Decade
Bi-Quinary
BCD Decade
4-Bit Binary
BCD Decade
4-Bit Binary
BCD Decade
4-Bit Binary
BCD Decade
Bi-Quinary
4-Bit Binary
BCD Decade
BCD Decade
4-Bit Binary
BCD Decade
Bi-Quinary
Bi-Quinary/BCD
4-Bit Binary
4-Bit Binary

S = Synchronous
A = Asynchronous
9 = Synchronous Set-to-9
U/O
RCO
MM

Clear
S
S
A
A
S
S

A
A
A

S
S

Load
9
9
S
S
S
S
S
S
S
S
S
S
S
S
9
9

A
A
A

Clk
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
F
F
F

Extras

RGO
RCO
RCO
RGO
U/D, RGO
U/D, RCO

U/D, RCO, MM
U/D,RCO,MM
U/D,RGO,MM

R = Rising-Edge Triggered
F = Falling-Edge Triggered

= Up/Down
= Ripple Carry Output
= Max/Min Output

Single Flip-Flops
7472XA
7472XB
7473X
7474X
74112XA
74112XB

(2)
(2)
(2)
(2)
(3)
(2)

AND-Gated JK Master/Slave
AND-Gated JK Master/Slave
JK with Clear
D with Preset and Clear
JK with Preset and Clear
JK with Clear

Latches
7475X
7477X
74259XA
74259XB
74373X

Multiple Flip-Flops (Registers)
74 I 74X
74175X
74273X
74377
74378

(6)
(8)
(8)
(8)
(6)

Hex D
Quad D with Q and /Q
Octal D
Octal D with Common Enable
Hex D

2-163

(8)
(4)
(8)
(8)
(8)

4-Bit Bistable
Quad D-Type
Octal Addressable D-Type
Octal Addressable D-Type
Octal D-Type

AB-18

Shift Registers
7491
749SXA
749SXB
749SXC

7496X
74164
7416SX

DE MORGAN EQUIVALENTS
(BUBBLE GATES)

(8) 8-Bit-Serial·In, Serial-Out
(4) 4-Bit-8erial·In/ParaIlel·In,
Parallel..()ut
(4) 4-Bit-SCrial-In/ParaIlel·In,
Parallel-Out
(4) 4-Bit-8erial-ln/Parallel-In,
Parallel-Out
(S) S-Bit-8erial-ln/Parallel-In,
Parallel-OUt ."

2 Input
3 Input
4 Input
6 Input
8 Input
121nput

(8) 8-Bit-8erial-In,
Parallel-Out
(9), 8·Bit-8erial-In/Parallel-In,

7439SXA
7439SXA

(4)
(8)
(7)
(4)
(17)

74180X
74180XA
74182
74183

(4)
(4)
(S)
(2)

74280X

(S)

Bubble

Bubble

NAND
(OR),

NOR
(AND)

OR
(NAND)

BAND2
BAND3
BAND4
BANDS
BANDS
BAND12

BNAND2
BNAND3
BNAND4
BNAND6
BNANDS
BNAND12

,BNOR 2
'BNOR 3
'BNOR 4
BNOR 6
BNOR 8
BNOR 12

BOR2
BOR3
BOfl4
BOR6 '
BORB
BOR12

INPUT

N/A Genera41S Input Pin and N.ode in
ADF
OUTPUT (1) Generates Enabled Output ButTer in
ADF
'

(4) 4-Bit Bi-DirectionaISerial-In/Parallel-In, Parallel-Out
(S) 4-Bit CascadableSerial-In/Parallel-In, Parallel-Out
(S) 4-Bit CascadableSerial-In/Parallel-In, Parallel-Out

OUTP
7412S

74126

Miscellaneous
7482X
7483X
748SX
7487
74143X

Bubble

AND
(NOR)

INPUT/OUTPUT MACROS

~-Out

74194

Bubble

2-Bit Adder
4-Bit Adder
4-Bit Magnitude Comparator
4-Bit True/Complement E1em~t
4-Bit Counter; 4-Bit Latch; 7 Segment
Decoder
8-Bit Parity Qenerator/Checker,
8-Bit Parity Generator/Checker
Look-Ah~ Carry Generator,
Single-Bit Full Adder
with Carry/Save
9-Bit Odd/Even Parity Generator/
Checker

(1) Output Pin (Used in SCHEMA, 11PLD)
,
(1) Single Three-State Output, Active
Low Enable
, (1) 'Single Three-State O~tput, Active
High Enable

NOTES:
1. All TTL macros duplicate TTL function only. They

DO NOT DUPLICATE performance characteristics
such as open-collector, totem-pole. or high-drive output.
2. Any TTL macros which deviate in some way from
standard TTL function are denoted with an appended
"X" (see device .:QOC file for details). Appended
"D"s and "Q"s indicate counters configured to'Decimal or bi-Quinary mode; appended "A"s and "B"s indicate a macro configured for a family of EPLD devices (e.g. SC060, SC090, SCI80).
3. The (#) indicates the maximum number of EPLD
macroce1ls consumed if all outputs are used. If an output is not used, the macro compression phase .of the
Macro Expander will rem.ove the signal unless it is
used as feedback inside the' macro definition.
4. /Cls sh.ould be avoided as pin outputs if possible.
The EPLD is structured such that the Q is readily
available as a pin .output and both the, Q and /Q are
readily available as feedbacks. Using /Q as a pin output, h.owever, requires an extra macroce1l and adds to
the propagation delay.

2-164

inter

AP-271

APPLICATION
NOTE

April 1986

Applying The 5C121 Architecture

JIM DONNELL
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292008·001
2·165

Ap·271

INTRODUCTION
Intel's 5C121 Erasable Programmable Logic Device
represents a new breed in the world of programmable
logic. With gate densities approaching those of gate arrays and a reconfigurable architecture, the logic designer is freed from choosing between scores of generic programmable logic to perhaps find an acceptable match
for his or her design needs. Adding to the list of benefits
is the fact that the 5C121 is erasable. Now sections of
the design can actually be programmed and tested in
the device - without sacrificing a part to the circular
me. In addition, there is no longer a need to generate
test vectors to qualify the programming of the parts.
EPLDs are erasable and therefore 100% testable at the
factory.

OBJECTIVE
The purpose of this application note is to demonstrate
the architectural options of the 5C121 by designing a
digital crosspoint switch. Conceptually, a digital crosspoint switch switches data from any input to any output. Figure 1 shows a block diagram of a bytewide
crosspoint switch.

include'reguitered or combinational output. In addition,
each output may be fed back into the array in both the
true and complement version. For a more complete description of the SC121 architecture the reader is referred to the 5C121 data sheet.

COMBINATIONAL FEEDBACK
Feedback in logic designs is used for a variety of reasons. Combinational feedback in the 5C121 is often
used to reduce the number of product terms feeding one
Macrocell. Though the SC121 has Macrocells that can
accept up to 16 product terms, all Macrocells are not
that wide.
Let's look at an example. Equation 1 represents one of
the eight Boolean expressions neCessary to implement a
digital crosspoint switch. Logically, this expression selects one of eight input signals (10-17), and routes that
signal to QO. Data bits 00,01, and 02 select one of the
eight input lines. In this case, data bits 103, 104, and
!DS select output QO. (The exclamation point is used to
indicate a logical complement of the signal.) Equations
for Q1 through Q7 are very similar and will be discussed later.
00 = ( 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17

00-07

X 102 X 101 X !OO

x. 102 X 101 X DO
X !02 X 01 X !OO

x 102 x 01 X DO
X
X
X
X

02
02
02
02

X
X
X
X

101
!01
01
01

X
X
X
X

!OO
DO
IDO
DO) X !05 X 104 X 103; (1)

SELECTEO = 10 X 102 X 101

+
+
+
+

030405
OUTPUT SELECT
292008-1

+

+
+

Figure 1. Functional Diagram of a Digital
Crosspoint Switch
This design will employ features such as: registered output with registered feedback, combinational feedback,
input latches, buried registers, and dual clock options.
The digital crosspoint switch in this design can route
data from one of eight inputs to one of eight outputs in
a single clock cycle. Options for holding the deselected
outputs at previous levels, latching inputs, and fitting
considerations are explored.

THE BASIC ARCHITECTURE
The 5C121 contains 28 Macrocells, 12 dedicated inputs, 24 programmable I/O lines, and two clocks input
pins. Inputs may be flow through, or latched on the
rising or falling. edge of either clock. Output options

11
12
13
14
15
16
17

X
X
X
X
X
X

102X.!I)1
102 X 01
102 X 01
02 X 101
02 X !01
02 x 01
x 02 X 01

.x

!OO
DO
100
DO
!OO
DO
x !DO
x DO;
X
X
X
X
X

(2)

Equation 2 contains the terms that will be common to
all eight output equations. Both equations in this case
contain eight product terms. By treating equation 2 as
one common signal and routing that signal through
combinational feedback, we can reduce the number of
product terms in equations QO thru Q7 to one p-term
each. The advantage is that the outputs can now be
placed in any of the 24 I/O Macrocells available in the
5CI21.,1naddition, the 5C121 contains four buried registers. (Buried registers have no output and are used
: solely for feedback.) If a buried register is available,
iPLDs (Intel's Programmable Logic Development System) will automatically assign the No Output - Combinational Feedback function to a buried register. This
increases the flexibility for pin assignments and makes

2-166

inter

AP-271

(Continued)

p-terms available in case a design change is needed.
Equations 3 thru 10 reflect this improvement.
00 = SELECTEO

x

105

x

104

x

!03;

(3)

01 = SELECTEQ

x

!05

x

104

x

03;

(4)

02 = SELECTEQ

x

105

x

04

x

!03; .

(5)

Q3 = SELECTEQ

x

!05

x

04

x

03;

(6)

Q4 = SELECTEQ

x

05

x

!04

x

103;

(7)

Q5 = SELECTEQ

x

05

x

!04

x

03;

(8)

06 = SELECTEQ

x

05

x

04 X !03;

(9)

Q7 = SELECTEQ

x

05

x

04

x

(10)

03;

REGISTERED FEEDBACK
Registered feedback is also employed in a variety of
applications such as counters and state machines. In
this particular example, the registered feedback signal
can be used to hold the deselected outputs of the switch
at their previous level until that output is selected
again. This is accomplished by simply "ANDing" the
feedback signal with the inversion of the output select
signal. The result is then "ORed" with the equation for
the given output. Holding the previous output might be
useful in control applications or when interfacing to
slow peripherals. Equations 11 thru 18 are the result.
00 = SELECTEO x !05 x !04
x 103) x QO-fdbk;

x

!03 + !(05

03

+

!(!05

Q2 = SELECTEQ x !05 x 04 x !03
x !03) x Q2-fdbk;

+

!(!05 X 04
(13)

Q3 = SELECTEQ x !05 x 04
x 03) x 03-fdbk;

x

03

+

!(l05

x

04
(14)

Q4 = SELECTEQ x 05 x !04
x !03) x Q4-fdbk;

x

03

+

1(05

x

!04
(15)

Q5 = SELECTEQ x 05 x !04
x 03) x 05-fdbk;

x

03

+

1(05

x

!04
(16)

Q6 = SELECTEQ x 05 x 04
x !03) x 06-fdbk;

x !03 + !(05 x 04

07 = SELECTEQ x 05 x DR
x DE) x Q7-fdbk;

x

Q1 = SELECTEQ x !05 x 104
x 03) x Q1-fdbk;

COMBINATIONAL FEEDBACK

x

!04
(11)

x

x

!04
(12)

(17)
03

+

!(05

x

04
(18)

Equations 11 thru 18 are all that are necessary to implement a digital crosspoint switch with the output
hold feature. Each equation contains only four product
terms when written in the expanded form and could
therefore fit into any Macrocell in the5Cl21. The appendix contains the report and ADF files generated by
the iPLDs software.

TIMING ANALYSIS
Figure 2 shows the internal delay paths associated with
this design in the 5Cl21. The frequency at which the
5Cl21 may be clocked can be determined by examining
the internal delay elements ofthe 5C121. These include
the input delay (Tin), two array delays (Tad), and the
combinational feedback delay (Tcl). Table 1 gives the
simulation data for each of these paths in a 5CI21-50.

__+--------Tad--------~--

ARRAY

Tad

Trd

ARRAY

REG OUTPUT

'I'

~--------------Trl--------------~,I
Figure 2. Crosspoint Delay Path

2-167

Tad-l

292008-2

Ap·271

bits could be switched per cycle. Figure 3 shows the
timing diagram for this configuration of the 5C121 digital crosspoint switch. Included in the appendix is the
Advanced Design File .(ADF), Logic Equation File
(LEF), and Utilization report generated by Intel's Programmable Logic Software (iPLS) for this design.

TIMING ANALYSIS (Continued)
Table 1. 5C121-50 Simulation Data
Model
Parameter

Delay (ns)

Tad

38

Trd

7

INPUT LATCHES

Tod

8

Tin

10

Tie

8

Trf

5

Tef

5

One point must be raised about Figure 3. Notice that
the time allowed for external data set-up is only 17 ns.
Therefore, 17 ns after the rising edge of the clock, data
must be, stable and remain stable at the input pins until
the next clock pulse. In most systems this would be a
very stringent requirement. Fortunately the 5C121 has
the ability to latch the data at the input pins with 7475
type transparent latches. Employing this feature eases
the data set-up requirement as shown in Figure 4.

The sum of the delays before the register input equal
the set-up time Tsu with reference to the internal clock.
By substracting the input clock delay Tic we shift the
reference to the external clock pin. The set-up time
with reference to external signals is shown in equation
19. Inverting this signal yields the maximum clock frequency, fmax. The maximum clock frequency is shown
in equation 20.
Tsu = Tin

+

2Tad

+ Tcf

- Tic;

(19)

fmax = 1 Tsu

(20)

Therefore, this configuration of the 5C121-50 could be
clocked at 10 MHz, allowing a data transfer rate of 10
Mbits/second. By paralleling six 5C121s together, eight

I"

SUMMARY
The flexible architecture of the 5C121 gives the designer a variety of options for input and output configurations. Inputs may be latched to ease system timing requirements. Outputs may be clocked for synchronous
systems or fed directly out as asynchronous signals.
Feedback c~ be used to reduce product term requirements, to save present state information for state machines and counters, or simply to hold deselected outputs as shown in this example. Imagine the possibilities.
J. R. Donnell
PLDO Applications

lOOns

,'I
\.

elK

Tsu (83NS)
17ns I
J -___....;.;.;.;..;;.;..;.;;.;;;;;;..
INPUTS/1'
X
rI\.,_ _ _ _ _ _ _ _ _J'\
INPUT STABLE ___-'lI'-......X
X

DATAOUT:::::::::::::::::::::::::::~::~:--:K:::~D~AT~A~O~U~TJV~A~ll~D:::::
I--Teol
=

(Teo 1 TIe + Tr,d + Tod)
292008-3

Figure 3. Crosspoint Timing Diagram'

2-168

AP-271

I'

"I

lOOns

CLK

J

LATCHED INPUTS

X.

Tlu(83NS)

17ns

~

LATCH ENABLE

DATA TO PINS

.I.
X.

INPUT STABLE

X

EXTERNAL DATA SET-UP

DATA STABLE

X

L~,:j
=

DATA OUT

(Teo1

DATA OUT VALID

Tie + Trd + Tod)
292008-4

Figure 4. Crosspoint Timing Diagram with Input Latches

2-169

inter

AP-271

APPENDIX
ADF File

o
5C121
Digital C~osspoint Switch
LB Version 3.0, Baseline 17x, 9/26/85
PART: 5C121
INPUTS: IOO@37,IOl@36,I02@35,I03@34,I04@8,I05@9,I06@10,I07@II,II0@33,II1@32
,112@31, 113@30, 114@29, 115@28, 116@27, 117@26,CLK@38,DO@2, DH!3, D2@4, D3@5
,D4@6,D5@7,ILE@1
OUTPUTS: 000@12,OOI@13,002@14,003@15,004@16,005@17,006@18,007@19,OI0@24,0l1@23
,OI2@2I,OI3@21
'
"
NETWORK:
OOO,QOOFBK
RORF (QOOD,CLK,GND,GND,YCC) ~ BIT 0 OUTPUTS ~
001,QOIFBK
RORF (OOID,CLK,GND,GND,YCC)
Q02,Q02FBK
RORF (002D,CLK,GND,GND,YCC)
Q03,Q03FBK
RORF (003D,CLK,GND,GND,YCC)
Q04,Q04FBK
RORF (004D,CLK,GND,GND,YCC)
Q05,Q05FBK
RORF (005D,CLK,GND,GND,YCC)
Q06,Q06FBK
RORF (006D,CLK,GND,GND,YCC)
Q07,Q07FBK
RORF (007D,CLK,GND,GND,YCC)
QI0,QI0FBK
RORF (010D,CLK,GND,GND,YCC) ~ 4 OF THE 8, BIT 0 OUTPUTS~
Ql1,QIIFBK
RORF (OIID,CLK,GND,GND,YCC)
012,Q12FBK
RORF (012D,CLK,GND,GND,YCC)
013,Q13FBK
RORF (013D,CLK,GND,GND,YCC)
CLK = INP (CLK)
D5 = LINP (D5,ILE) ~ OUTPUT SELECT CONTROL BITS ~
ILE = INP (ILE)
D4
LINP (D4,ILE)
D3
LINP (D3,ILE)
D2 = LINP (D2,ILE) ~ INPUT SELECT CONTROL BITS ~
Dl = LINP (Dl,ILE)
DO = LINP (DO,ILE)
100
LINP (IOO,ILE)
101
LINP (IOl,ILE)
102
LINP (I02,ILE)
103
LINP (I03,ILE)
104
LINP (I04,ILE)
105
LINP (I05,ILE)
106
LINP (I06,ILE)
107
LINP (I07,ILE)
110
LINP (II0,ILE) ~ INPUTS FOR BIT 1 SWITCH ~
III
LINP (Ill,ILK)
112
LINP (II2,ILE)
113
LINP (II3,ILE)
114
LINP (II4,ILE)
115
LINP (II5,ILE)
116
LINP (II6,ILE)
117
LINP (II7,ILE)
SELECTKQOF = NOCF (SELECTEQO)
SELECTEQIF = NOCF (SELECTEQl)
EOUATIONS:
QOOD
SELECTEQOF*!D5*!D4*!D3
+ !(!D5*!D4*!D3)*000FBK;
001D
SELECTEQOF*!D5*!D4* D3
+ !(!D5*!D4* D3)*00IFBK;
SELECTEQOF*!D5* D4*!D3
002D
+ !(!D5* D4*!D3)*Q02FBK;
003D
SELECTEQOF*!D5* D4* D3
+ !(!D5* D4* D3)*003FBK;
004D
SELECTEOOF* D5*!D4*!D3
+ !( D5*!D4*!D3)*004FBK;
005D
SELECTEOOF* D5*!D4* D3
292008-5

2-170

Ap·271

ADF File (Continued)
+ !( D6*!D4* D3)*006FBK;
SBLBCTBoor* D6* D4*!D3
+ !( D6* D4*!D3)*00SFBI;
007D
SBLBCTloor* D6* D4* D3
+ I( D6* D4* D3)*007FBK;
SILBCTlolr*!D6*!D4*ID3
010D
+ !(ID6*ID4*!D3)*010FBK;
011D
SILICTIQlr*!D6*ID4* D3
+ !(!D6*!D4* D3)*011FBK;
SILICTlolr*!D6* D4*!D3
012D
+ !(ID6* D4*ID3)*Q12rBI;
Q13D
SBLICTlolr*ID6* D4* D3
+ !(!D6* D4* D3)*013FBK;
SILICTIQO = IOO*!D2*!Dl*!DO
• COMMON 10UATION rOR BIT 0 •
+ I01*ID2*ID1*DO
+ I02*ID2*Dl*!DO
+ I03*!D2*DUDO
+ I04*D2*!Dl*!DO
+ I06*D2*IDUDO
+ I06*D2*DU! DO
+ I07*D2*DUDO;
SILBCTIQl = Il0*!D2*!ll*IDO
• COMMON 10UATION rOR BIT 1 •
+ Ill*ID2*ID1*DO
+ I12*!D2*Dl*IDO
+ 113*ID2*DUDO
+ I14*D2*!Dl*IDO
+ 116*D2* I DUDO
+ 116*D2*DU I DO
+ 117*D2*DUDO;
BND.

OOSD

2·171

292008-6

AP-271

LEF File
.1R Donnell
Intel
.1an~ary 24, 1986

o

5C121
Digital Crosspoint Switch
LB Yersion 3.0, Baseline 17x, 9/26/85
PART:
5C121
INPUTS:
100@37, 101@36, 102@35, 103@34, 104@8, I05@9, 106@10, 107@11, 110@33,
111@32, 112@31, 113@30, 114@29, 115@28, 116@27, 117@26, CLK@38, DO@2,
Dl@3, D2@4, D.3@5, D4@6, D5@7, ILI@l
OUTPUTS:
QOO@12, QOl@13, Q02@14, Q03@15, Q04@16, Q05@17, Q06@18, Q07@19, QIO@24,
Qll@23, Q12@22, Q13@21
NITWORK:
CLK
INP(CLK)
ILl
INP(ILI)
100
LINP(IOO, ILl)
101
LINP(IOl, ILl)
102
LINP(102, ILl)
103
LINP(103, ILl)
104
LINP(104, ILl)
105
LINP(I05, ILl)
106
LINP(106, ILl)
107
LINP(107, ILl)
110
LINP(II0, ILl)
III
LINP(lll, ILl)
112
LINP(112, ILK)
113
LINP(113, ILl)
114
LINP(114, ILl)
115
LINP(115, ILl)
116
LINP(116, ILK)
117
LINP(117, ILl).
DO
LINP(DO, ILl)
Dl
LINP(Dl, ILK)
D2
LINP(D2, ILK)
D3
LINP(D3, ILK)
D4
LINP(D4, ILl)
D5
LINP(D5, ILl)
QOO, QOOFBK
RORF(QOOD, CLK, GND, GND, YCC)
QOl, QOlFBK
RORF(QOID, CLK, GND, GND, YCC)
Q02, Q02FBK
RORF(Q02D, CLK, GND, GND, YCC)
Q03, Q03FBK
RORF(Q03D, CLK, GND, GND, YCC)
Q04, Q04FBK
RORF(Q04D, CLK, GND, GND, YCC)
Q05, Q05FBK
RORF(Q05D, CLK, GND, GND, YCC)
Q06, Q06FBK
RORF(Q06D, CLK, GND, GND, YCC)
Q07, Q07FBK
RORF(Q07D, CLK, GND, GND, YCC)
QI0, QI0FBK
RORF(QI0D, CLK, GND, GND, YCC)
Qll, QllFBK
RORF(QllD, CLK, GND, GND, YCC)
Q12, Q12FBK
RORF(Q120, CLK, GND, GND, YCC)
Q13, Q13FBK
RORF(Q13D, CLK, GND, GND, YCC)
SILICTIQOF = NOCF(SKLICTIQO)
SKLICTKQlF = NOCF(SKLICTIQl)
EQUATIONS:
SELICTIQl
110
D2'
Dl'
DO'
+ D2
Dl'
DO'
114
+ D2'
Dl
DO'
112
+ D2'
Dl'
DO
III
+ D2
01
DO'
116
+ D2
01'
DO
115
+ D2'
01
00
113
292008-12

*
*
*
*
* *
* *
*
*
* *
* * *
*
* *
* * *

2-172

Ap·271

LEF File (Continued)
+ 02 * 01 * 00 * 117;

SILICTIQO

Q130

100 * 02' * 01' * 00'
+ 02 * 01' * 00' * 104
+ 02' * 01 * 00' * 102
+ 02' * 01' * 00 * 101
+ 02 * 01 * 00' * 106
+ 02 * 01' * 00 * 105
+ 02' * 01 * 00 * 103
+ 02 * 01 * 00 * 107;

03' * Q13FBK
+ 04' * Q13F8K
+ 05 * Q13F8K
+ SILICTIQ1F * OS' * 04 * 03;

Q120

04' * Q12FBK
+ 03 * Q12FBK
+ 05 * Q12FBK
+ SILICTIQIF * OS' * 04 * 03';

QIIO

03' * QIIFBK
+ 04 * QIlFBK
+ 05 * QIlFBK
+ SILICTIQIF * OS' * 04' * 03;

QIOO

Q070

03 * Q10FBK
+ 04 * Q10FBK
+ 05 * Q10FBK
+ SBLICTIQlF * OS' * 04' * 03';
03' * Q07FBK
+ 04' * Q07FBK

+ OS' * Q07FBK
+ SILICTIQOF * 05 * 04 * 03;

Q060

04' * Q06FBK
+ OS' * Q06FBK
+ 03 * Q06FBK
+ SILICTIQOF * 05 *04*03';

Q050

03' * Q05FBK
+ OS' * Q05F8K
+ 04 * Q05FBK
+ SlLICTlQOF * 05 * 04' * 03;

Q040

05' * Q04FBK
+ 03 * Q04FBK
+ 04 * Q04FBK

+ SBLICTlQOF * 05 * 04' * 03';

Q030

03' * Q03FBK
+ 04' * Q03FBK
+ 05 * Q03FBK
+ SILICTIQOF * OS' * 04 * 03;

Q020

04' * Q02FBK
+ 03
Q02FBK
+ 05
Q02FBK
+ SILICTIQOF * OS' * 04

QOIO

03' * Q01FBK
+ 04
QOIFBK
+ 05 * Q01F8K
OS' * 04' * 03;
+ SILBCTIQOF

QOOO

03 * QOOFBK
+ 04
QOOFBK
+ 05
QOOFBK
+ SILBCTIQOF

*
*

* 03';

*

*

*
*

* OS'

292008-13

* 04' * 03';

INO$

292008-14

2·173

inter

AP-271

RPT File
Logic Optimizing Compiler Utilization Report
***** Design implemented succes.fully
.18 Donnell
Intel
January 24, 1986

o
5C12l
Digital Cros.point Switch
LB Version 3.0, Baseline l7x, 9/26/85
5C12l

ILl -: 1
DO
Dl
D2
D3
D4
D5
104
105
106
107
QOO
QOl
Q02
Q03
Q04
Q05
Q06
QO?
GND

-: 2
-: 3
-I

4
5
6
7
8
9
-:10

-:
-:
-:
-:
-:

-: 11

- :12
-: 13
-:14
-:15
-:16
-:17
-: 18
-:19
-:20

40:39:38:37:36:35:34:33132:31:30:29:28:27:26:25:24:23:22:21:-

Vcc
Vcc
CLK
100
101
102
103
110
III
112
113
114
115
116
117
GND
QlO
Qll
Q12
Q13

**INPUTU*
Name

Pin

ILl

Re.ource

Meell •

PTerm.

MCells

INP

Feeds:
01

Clear

Clock
Latch

DO

2

LINP

13
15

Dl

3

LINP

13

15
D2

4

LINP

13
15

D3

5

LINP

9
10
11

12
17
18
19
20
21
292008-9

2-174

intJ

Ap·271

RPT File (Continued)
22
23
24
D4

6

LINP

9
10
11
12
17
18
19
20
21
22
23
24

D5

7

LINP

9
10
11
12
17

18
19
20
21
22
23
24
104

8

LINP

28

01 4

15

105

9

LINP

27

0/10

15

106

10

LINP

26

01 8

15

107

11

LINP

'25

01 6

15

117

26

LINP

7

0/10

13

116

27

LINP

6

01 8

13

Il5

28

LINP

5

01 6

13

114

29

LIMP

4

01 6

13

113

30

LINP

3

01 8

13

112

31

LINP

2

0/10

13

III

1

01 4

13

32

LINP

110

33

LINP

13

103

34

LINP

15

102

35

LINP

15

101

36

LINP

15

100

37

LINP

15

eLK

38

INP

Reg
292008-10

2-175

inter

AP-271

RPT File (Continued)
**OUTPUTS**
Haae

PiD

Resource

MCell #

PTeras

MCells

QOO

12

RORF

24

4/ 6

24

Q01

13

RORF

23

4/ 8

23

Q02

14

RORF

22

4/10

22

Q03

15

RORF

21

4/ 4

21

Q04

16

RORF

20

4/12

20

Q05

17

RORF

19

4/ 4

19

Q06

18

RORF

18

4/ 8

18

4/ 8

17

Q07

19

RORF

17

Q13

21

RORF

12

4/ 8

12

Q12

22

RORF

11

4/ 8

11

Q11

23

RORF

10

4/ 4

10

QI0

24

RORF

9

4/12

9

Resource

MCell #

PTeras

MCe11s

HOCF

13

8/ 8

.9
10
11
12

HOCF

15

8/ 8

17
18
19
20
21
22
23
24

Resource

MCell

PTeras

8
14
16

4
8
8

Feeds:
OE

Clear

Feeds:
OE

Clear

**BURIED REGISTERS**
Naae

PiD

**UHUSED RESOURCES**
Naae

PiD
25
HA
HA

**PART UTILIZATION . .
97l1;
89l1;
30ll;

PiDS
MacroCe11s
Pteras
292008-11

2-176

inter

AP-272

APPLICATION
NOTE

June 1986

The 5C060
Unification of a CHMOS System

J. R. DONNELL
PROGRAMMABL.E LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292009-003
2-177

AP·272
".

INTRODUCTION

OBJECTIVE

From an outside glance, the world of computers and
microprocessors seems filled with dedicated ICs that
fulfill a variety of system needs. Upon closer inspection
we find that designers must still reach into their bag of
random logic to link together all of the parts of the
system. It seems a shame to stuff a board full of high
powered peripherals and still have portions of that
board wasted on decoders, latches, and other miscellaneous random l o g i c . '

This application note covers the design of three separate circuits for Intel's CHMOS Design Kit. The functions performed by the 5C060 are: Memory decoding,
wait state generation, and the power down circuitry for
the 8OC88 system clock.

True, programmable logic has been around a long time.
But that logic is somewhat rigid in form, one time programmable, and can also double as space heaters. These
devices are totally unacceptable for a CMOS system.
What is needed is a flexible PLA architecture, erasability for prototyping, and CMOS for low power. In addition, for this particular application the device must perform from static operation to 10 MHz.

MEMORY DECODING
The system in question supports one 32K bank of
EPROM memory, and four banks of 4K static RAM.
Figure 1 shows the memory map of this system. Address lines Al9, Al3, and Al2 will be used to decode
the address space. PWILDWN and SLMIO serve as
enables. In addition, to avoid data bus contention signals memory read (MRDC) and advanced memory
write (AMWC) are decoded along with the address
lines for RAM chip selects. This is necessary for devices without output enables (OE) on multiplexed address/data busses.
FFFFF

EPROM

8CIIIIIO

•
•
•

•

•
•
RAM1.

D1....

D10110

aaoao

292009-1

Figure 1. 8OC88 Memory Map

2-178

AP·272

Figure 2 shows a discrete implementation of the chip select decoding logic.

----4"

YO

"13 - - - o f 8

y:;

"12

"19

----4

MRDC

AMWC

C

Y2

Y3

RAM4KCS

Y4
Ys

PWRDWN

---<1I

G28

S2MIO

----4

G1

Vi

G2A

V7
74138

292009-2

Figure 2. Discrete Decoding Logic,Solutlon
Several options for entering this design are available
through Intel's Programmable Logic Development System (iPLDS). (For a more complete description of
iPLDS the reader is referred to the iPLDS data sheet.)
The design entry vehicle chosen for this application
note is the Logic Builder. (Logic Builder is an interactive nedist method of design entry especiaJIy suited to
Boolean equation entry and entry from existing schematics.) Several reasons are behind this' decision. First,
the Logic Builder software is included in iPLDS. In
addition, Logic Builder entry is very fast, the designer
may choose either netlist entry or Boolean equations,
and finaJly, the Logic Builder software makes additions
and corrections of design very easy.
Using Logic Builder, the first step for this design is to
determine the equations for the 3 to 8 decoder shown in
Figure 2. These equations are simply the decoding of
the address lines ANDed With the enable signal. Equations 0 thru 8 implement the decoding function of Figure 2.
/YO = /AI9*/A13*/A12*ENABLE;
(0)
/YI = /AI9*/A13*AI2"ENABLE;
(I)
/Y2 = /AI9"A13*/AI2*ENABLE;
(2)
/Y3 = /AI9*A13"AI2*ENABLE;
(3)
(4)
/Y4 = AI9*/A13"/AI2*ENABLE;
/Y5 = AI9*/A13"A12"ENABLE;
(5)
/Y6 = AI9*A13"/AI2"ENABLE;
(6)
/Y7 = A19* A13" A12*ENABLE;
(7)
(8)
ENABLE = /PWRDWN"S2MIO;

Armed With this knowledge it becomes trivial to enter
the circuit of Figure 2 into Logic Builder. Included in
the Appendix is the Advanced Design File (ADF) created by Logic Builder for this circuit (ADF-l). Typically the ADF would now be submitted to the Logic Optimizing Compiler (LOC) for Boolean minimization and
design fitting. In this case we have used only a small
portion if the logic available in the 5C060 so let us
continue with the wait state generator and power down
circuitry.

Power Down
Since this design is based on the 8OC88 we can actually
stop the system clock for extended periods of time and
power back up as if nothing had occurred. The circuit
to achieve this power down is shown in Figure 3.
As long as the PWRDWN signal is low the 82C84

clock output is OR'ed with a logical zero from the
PWRDWN flip-flop. As a result the 82C84 drives the
80C88 system clock. If PWRDWN goes HIGH, the
rising edge of the next 82C84 clock will set the output
of the PWRDWN flip-flop HIGH inhibiting the faJI of
the next clock cycle. The 80C88 system clock will remain HIGH until PWRDWN goes LOW and the
PWRDWN flip-flop is clocked from the 82C84 clock.
Using this configuration we avoid partial clock cycles
for the 8OC88 system clock.

2-179

AP-272

OND

..

'PIN
OUT
PWRDWN -~;.o..::..::..;....-------IMP

Vee

!-- Fl~ -- i -"oR,,:

L~~D~-:Q~~,..J

I
UC84CLK _P;..;IN;.;.c:>O.;;.UT;;';"'_"'T'"_ _ _..::IN~I"""I>0_UT;.:..._ _-+I...
IMP

:;.

, PIN
- II

II

STOPCLK

:

I

I

I

I

I

I
I

,_ - - - - - '!~ - - Vee

1--------I

A_

• I

,-OUT

OE

liN"

CONFI

_i

8OC88CLK

I ________
•
PIN:I
L

OM

292009-3

'Figure 3. 80C18 Power Down Circuit
Again, entering this circuit into Logic Builder is trivial.
In fact it can be added directly to the decoder circuit
shown above. The ADF file for this addition is shown
in the appendix under ADF-2.

(LEF), and the Utilization Report. These are also included in the appendix for each step in this design pro-

cess.

LOC FILES

Walt States
The majority of memory and peripheral devices which
fail to operate at the maximum CPU frequency typical-,
ly do not require more than one wait state. The circuit
shown in Figure 4 is an example of a simple wait state
generator. The circuit operation is as follows. Given
that a memory location requiring a wait state has been
selected, ALE in conjunction with /wAITCS will clear
the flip-flop-driving the 82C84RDY line high low.
The 82C84 samples the RDY line during T2 of the
8OC88 bus cycle, and in this case detects a wait state.
The rising'edge ofT2 then, clocks the 82C84RDY line
high thereby inserting only one wait state.
Once again, adding this circuit to the existing decoder
and power down design is simple. The final ADF file is
given in the appendix under ADF-3. Once the final
design has'been completed the ADF is submitted to the
Logic Optimizing Compiler. LOC compiles the design,
performs Boolean minimization, and fits th~ design into
the target EPLD. In addition, LOC produces two f.iles.
The mDEC programming file, the Logic Equati~ File

The JEDEC File
The mDEC file is lU).IIlogous to the Qbject code file that
is used to program EPROMs. This file is used by the
Logic Programming Software (LPS) to, program Intel's

EPLDs.

'

The LEF File
The LEF file is an optional file produced by the compiler. The,LEF file contains the minimized Boolean equations which resulted from the original ADJ!. Some interesting points can be raised concerning the LEF file.
Looking at LEF-3, first recall that the EPROM chip
select was a function of A19, Al3, A1+., and the enable
signals. It turns out that after minimization the
EPROM chip select depends oDJ.y on A19 and the enable signals (/PWRDWN arid S2MIO): This is shown
in the LEF file. One other ppint, ~e initial wait state
circuitry employed a JK flip-flop. The compiler automatically minimized this circuit into a D-type flip-flop
with feedback achieving the same functionality.
'

2-180

inter

AP-272

GND

Vee

Wii'i'CS .....;P:..:IN::..c:>=O:=UT~_...::.:~~.:=..;_...:::..r-~r:::.;..-I
INP
ALE .....;P:.,:I:,:NO..,;O::;UT:.:.._ _ _ _ _....J

L:::.DO=;::':"--1H "I--f)......C>ii----82C84RDY

INP

292009-4

Figure 4. Single Walt State Generator for the 80C88

The Utilization Report

SUMMARY

Finally, the Utilization Report contains the pin-out for
the design, information about the architectural layout
of the design, and a percent utilization for pins, macrocells, and product terms. Examining the utilization report for this design we find that two of the sixteen macrocells are still available. We could therefore add more
functionality in the same 24 pin package. Possible additions would be more memory decoding, invalid memory detection, additional wait state generators, etc. One
point should be raised: The circuitry designed in this
applications note is relatively simple compared to the
complex logic functions that could be implemented in
the SC060.

The designs shown in this applications note are typical
requirements of any microprocessor system. The SC060
provided a single chip solution to bind together the primary elements of that system. Few other types of programmable logic could implement the same logic in a
single package. None could do it in CMOS erasable
logic. The SC060 has room for more.

2-181

inter

AP-272·

APPENDIX
ADF·1
.fl D""n,,11
Tnt .. 1 .
.11l.uar,. !It. 111"11
~OOIiO

o

~OOIiO

.,..t ... -

D..., .. d .. r t .. r ROORI
\/11 lAM aad upper 5121 IPIOM
l.R V"ra1"n lI.D. IIn.nl1nn 17x. 9/211/R~
PART: 5C080
IIIPUTS: Al9.AllI.Al2.PWRDWII.1I2MIO ....MWC.MRDC
Ol"PIITS: IAMDCS ,RAM4110S. RAMRIIOS. IAMI IIIIOS. RPIOMCR
NITWORK:
RAMOCS • cOllr (R"MOeS.VOO)
RA·N4KOS • OON' (RAN4KCS. YCCI
IAM81CS = cOllr (R ..MBICS.VCel
IAN111KOS = CON' (RANIIIKeS.VOOl
RPROMeS = oOllr (BPROMCS.YeC)
AI9 • TNP (AHI)
A\3 = tllP (Al3)
A12 = TNP (A I 2 )
PWRDWN = tllP (PWRDWII)
S2NTO = TNP (S2NTOI .
NRDC = IIIP (MRDC)
ANWO = TNP (ANWe)
RQIIATtOIlIl:
RANRKeR = 1(IMROe*V2
.. IAMWCn2):
RAMIIIKCS = 1(IMROe*VlI
.. IAMWCn3):
RPRONCS. 1(IV7
.. IVB
.. IV~
+ IV4):
V7
I(A19*A)lI*AI2*RNARtRI:
VII
I(A19*A13*/A12*IIIABLBI:
V~
I(AIII*/AIlI*AI2*RNARtRI:
V4
I(A19*/A13*iA12*BIIABLBI:
RNART.~ = IPWIOWNtII2NTO:
V3 = 1(IA111 ... 13*A12*BIIABLBI:
V2 = 1(IAIII*AIlI*/AI2*RNARtRl:
RAM4KCS = 1(INIDe*Yl
+ IANwenll:
V1 = 1(IA19*/A13*A1Z*BIIABLB):
IANoes = I(INIOC*YO
+ IAMwcnOI;
YO • 1(IAIII*/AIlI*/AI2*RNARtR):
11110*

292009-5

2·182

inter

AP-272

ADF-2
.JR nnnnnl1
h.tel
.Jnnullrv 31.

IIIA6

IICOIIO

a

IIC060
Decoder for BOCBB .v_tn. - 161 RAM eDd upper 5121 BPROM
PlUM pnwnr dnwn r.irr.uit
tB Yer.io. 3.0, Be•• li.e 17x, 9/26/B5
PART: IICOIIO
TNPUTS: A19,A13,A12,PWRDWN,S2MIO,AMWC,MRDC,82CB4CLI
OIlTPIITS: RAMOCS, RAM4KCS, RAMAKCS, RAMISKCS, RPROMCS, STOPCI.II, AOCAACI.K
NRTWORK:
RAMOCS = CONr (RAMOCS,YCCI
RAM4RCS = CON' (RAM4KCS,YCCI
RAMBICS = CONr (RAMBICS,YCCI
RAMIIIKCS = CON' (RAMISKCS,YCCI
RPROMCS = CONr (BPROMCS,YCCI
STOPCI.K,STOPCU' = ROR' (PWRDWN,R2CA4CI.KA,GND,GND,VCC)
AOCRBCLI = CONr (BOCBBCLI,VCCI
PWRDWN = TNP (PWRDWNI
A2CA4CLIB = CLIB (B2CB4CLII
AOCARCT.K = OR (STOPCI.K', A2CR4CT.K1
R2CB4CLI = INP (R2CR4CLII
AlII = TNP (AIIII
AU = INP (Al31
AI2 = TNP (A121
S2MIO = INP (S2MIOI
MRDC = TNP (MRDCI
AMWC = INP (AMWCI
ROIIATTONS:
RAMOCS = I(/MRDC*YO
+ I AMWC*YO) :
RAM41CS
1(/MRDC*Yl
+ I AMWC*YI ) :
RAMBICS = 1(/MRDC*V2
+ I AMWC*Y21 :
RAM161CS = 1(/MRDC*V3
+ IAMWC*Y31:
RPROMCS
1(/Y7
+ IYIi

+ IY5
+ IY4):

YO
1(/A19*/A13*/A12*INABLII:
YI
1(/AI!l*/AI3*AI2*RNAAtR):
Y2
1(/A19*A13*/A12*BNABLBI:
Y3
1(IAIII*AI3*AI2*RNAAtH):
Y7
/(All1*A13*A12*BNABLBI:
Yli
I(AI!I*AI3*/AI2*RNAAtHI:
Y5
/(A19*/A13*A12*BNABLBI:
V4
IIAIII*/AIU/AI2*RNAAJ.RI:
KNABLB = IPWRDWN*S2MIO:
RND.

292009-6

2-183

inter

AP-272

.JR Donnell
Tlltel
.January 31, 1986
110080

ADF-3

o

150080
Dftr.oder for ROCRR av.tea - 161 IAN aDd upper 5121 IPION
Plu. pnwp.r dnwn nirnuit

Ptu. wait .tate ~ircuit
T.II Y"rainn 3.0. Rn."lin" 17 .. , 9/28/R5
PUT: 5C060
INPUTS: A19,AI3,A12,PWIDWN,S2NIO,AMWC,NIDC,82C84CLI,ALI,WAITCS
Oll'l'PII'I'II: RAMOOII,RAM4KOII,RAMRKOII,RAMI8KCII,RPROMCII,II'I'OPOT.II,ROORROT.II,R20R4RDV
NITWOII:
RANOCS = OONr (IANOCS,YOO)
RAM4R08 = OON' (RAM4KOII,YOO)
RAN81CS = CONr (IAM8ICS,YOC)
RAMI8K08 = OON' (RAMI8KOII,YOO)
KPRONCS = CONf (IPRONCS,YCC)
8 'I'OPOT.II, 81'OPOT.Kr = RORr (PWRDWN, R20R4CT:KR, OND, OND, YOO)
ROORROtl,BOOBBCLlr = COIf (80CBBCLI,YCC)
R20R4RDV = RON' IR20R4RD'ltD,ROORROT.IIR.R20R4RDVO,OND,YOOI
PWRDWN = INP (PWRDWN)
R20R40T.KR = Ol.KR (R20R40J.II)
ROORROLI = OR (STOPCLlr,B2CB4CLI)
R20R4CT.K = TNP (R20R40J.l()
Al9 = INP (Al9)
AI:! = TNP (AI:!)
Al2 = INP (Al21
82MTO = TNP (S2MTO)
MRDO = INP IMRDC)
AMWC = TNP (AMWO)
ROORRCLl8 = CLI8 (B008BOLIFI
WAT'I'OIl = TNP IWAT'I'OSI
ALI = INP (ALI)
ROIIA'I'TONII:
RANOOS = II/MIDC*YO
+ IAMWO*VO);
RAM410S
/(/MRDO*Yl
+ I AMWOnl ) ;
RAM81CS = 1(/MIDC*Y2
+ / AMWO*Y2) ;
RAM1SICS = /(/MRDC*Y3
+ IAMWOnS);
RPROMCS
If/V7
+ /VS
+ IV"
+ /T41;
VO
/(/A19*/A13'/A12.INA8LI);
VI = IIIAI9*1A13UIURNARJ.R);
V2 = /(/A19'AI3*/A12.INA8LI);
TS • 1(/AI9.AI3.AI2*KNARtRI;
V7
/(A19*AI3.AI2'INA8LI);
V8 = I( AI 9U 13'1A 12*KNARUl;
V5 = I(AI9*/AI3*AI2.INAILI';
V4 = I( AI 9*/A 1 U/A 12*KNARloK);
RNAILI = IPWIDWN.SZMIO;
R20R4RDVO
/R20R4RDVO;
R2C841DYC • IWAtTCS.ALI;
RNbS
292009-7

2-184

AP·272

JR Df'"""'"

tlltel
Jnnunry 31, 19R5
ftCORO

LEF-3

o

IICOSO
Decoder for 80C88 eyet •• - 18. lAM alld upper 512. IPIOM
Plu. pnwnr down r.lrr.ult
P1ue .ait .tate circuit
tR Vftrelon 3.0, R••• llnn 17x, 9/28/RII
PAIT,
IIC080
TNP""B:
A19, A13, A12, PNIDNI, B2MIO, AMWC, MIDC, B2CB4CL., ALB, WAITCS

o""p""s: RAMOCB,
NR"WORII,

R2CR4RDY

RAM4.CB, IAMBICS, IAM1S.CS, BPIOMCS, STOPCLI, BOCB8CL.,

Al9 = InlAlBl
AI:t = TNPIAI31
Al2 = UPIAl21
PWRDWN = TNPIPNRDNNI
s2MIO = IIP(S2MIOI
ANNC = TNPIAMNCI
MROC = tIP(MIDCl
R2CR4CU = TNPIR2CR4Cr.1I1
ALB = IIPIALSI
WATTCS = TNPIWAT"Csl
RAMOCS • COBrlRAMOCS, VCCI
RAM4RCS = CON,IRAM4KCS, VCCI
RAM81CS = COlrIIAMB.CS, VCCI
RAMI811CS = CON'/RAMI8KCS, VCCI
KPIOMCS • COlr(IPIOMCS, VCel
• . SOOOOD • CI.KR I R2cR4Cr.KR 1
STOPCLI, STOPCLIF = 10I'(PWIDWI, •• 80000D, aND, aND, VCCI
ROCRRCI.K, ROCRRcr.lIr = cprrIROCRROI.K. VCCI
•• R0001D = CLKS(BOCRBCLlll
R2CR4RDY = RON' I R2CR4RDYD , .• SOOOlD, R2CR4RDYC, OND, VCCI
IIQUATIONS:
82CB41DYO = NAITOS' • ALB,
• • SOOOI 0 • ROORRor.II',
RZCB41DYD

= IWAITOS'

• ALII',

BOCRRor.1I • /s"OPOT.llr' • R20R40U'l',
· .SOOOOO

B2CB4CLI,

RPROMOS • IA19 • PNRDNN', • s2MTOl' ,
RAM1S.CS = MIDC • AMWC
+ A19' • Al3 • AlZ

•
RAMncs • MRDC • ANNe
+
• AlS' •
RAMRKes • MRDC
+ A18'

*

AlA'

RAMOOII

• PNIDWN' • S2MIO,
• PWIDNI' • 82MIO;
Al2 • PWIDNII'
• 82MIO;

ANNO
AlS • AU'

MRDC • ANNe
+ A18' il AU' • Al2'

• PW.DO' • SlMIO;

lINDI

282009-8

2-185

AP-272

RPT-3

.JR Donnell

Tntel
JAnuary 31, 1986
/lC060

o
IIcoao

Dft~ndftr

for 80C88 .vete. - 16K RAM and upper 512K BPROM

PluA pnwftr dnwn r.;rr.u;t
PluA wRit state circuit
LR V~r8ion 3.0. Rn.~lin~

17~.

9/26/65

IIC060
GND
PWRDWN
GND
RND
WAlTCS
AU
62C84CLI
NRDC
ANWC
S2NTO
Al2
aND

-:
--

-:
-:
-:
-:
-:

1
2
3

4

5
6

7
6
9
10

-: 11

-: 12

24:23:22:21: 20:HI: 18:17:16:111:14:13:-

Vee

~

AI9
STOPCLI
62C64RDV
80C88CLK
RPRONCS
RAM16KCS
RAN6KCS
RAM4KCS
!lANOCS
Al3

GND

UTNPJJl'SU
N""f!

Pin

Rp.Rnurr.p.

PWRDWN

2

INP

NC"II

1/

PTf'lr1ll9

MCr II s

Ji'PP.tI .. :
OR

Clnnr

Clnr.k

1

4
II
6
7
R

WA ncs

TNP

II

01 R

2

-2

ALB

6

INP

12

01 8

2

2

R2C64CT.K

7

TNP

13

01 II

3

NRDC

8

INP

14

0/ 8

5
6
7
6

ANWC

9

TNP

III

01 R

II

6

7
6
112NTO

10

TNP

III

01 R

4
/I

292009-9

2-186

inter

AP-272

6
7

R
AI2

TNP

II

1\
6

7

R
AI~

14

TNP

1\
R

7

R
AlII

TNP

2~

4
1\
6

7

R

**OlJ,PlJ,.S**
N,..f'!

Pin

RC"lltourr.f!

RAMOCS

15

CONF

NCnl1

P'I'nr.s.

II

B

2/ B

21 R

RAM411CS

16

COirF

7

RiMBICS

17

CON'

6

21 8

RAMI611CS

IR

CON'

5

21 R

BPIOMCS

19

CONF

4

11 8

ROCRRCT.II

20

COlF

:I

II R

R2CB41DY

21

RONrA

2

1/ 8

S,.OPCT.1t

22

RORFA

II II

NCnlh

, ...,d.:
OR

Clnnr

CI"ck

2

:I

.:.

,*lJNlIRIIU nSOURCBS ..
N•••

PiD

a•• oure.

PTer ••

MC"l1

I
:I

4

A
10

R

R

13

. .PAR,. 11TH. T?AnON ..
Rtll
R711
All

PiD.
M.. "rnC.lt.
Pt.r••
292009-10

2-187

inter

,

APPLICATION
NOTE

,

AP-276'

June 1986

Implementing a CMOS Bus
Arbiterl Controller in the
5C060 EPLD

DANIEL E. SMITH
APPLICATIONS ENGINEERING
INTEL CORPORATION

Order Number: 292012-001
2-188

AP-276

INTRODUCTION

5C060 IMPLEMENTATION

This application note shows how to implement· a
CMOS Bus Arbiter/Controller in an Intel SC060
EPLD (Erasable Programmable Logic Device). The
note includes a brief overview of a similar circuit implemented with typical PLA devices, a more detailed discussion of the SC060 implementation, and a summary.

The equivalent functions for both the MULTmUS I
arbiter and controller fit inside a single SC060 EPLD
device. The SC060 device is available in a 24-pin O.3 w
DIP package. Figures 4 and S show logic diagrams for
the arbiter and controller functions. When 'compared
with the PLA implementation, some differences in the
design are immediately apparent. These differences result from the characteristics of the EPLD macrocell or
from corrections to the circuit used in Figures I and 2.

The bus priority resolution and arbitration scheme selected for the circuit is that used by the industry-standard MULTmUS I interface. Operation and timing for
the MULTmUS I interface is well understood by most
engineers and is described in readily available Intel
publications. Thus, a description of the MULTIBUS I
interface is not included here. The bus arbiter/controller functions shown here support both serial and parallel priority resolution between bus masters. Timing is
equiValent to MULTIBUS I specifications. Electrical
specifications for both the PLA and EPLD approaches
vary from MULTIBUS I standards. Neither of the two
circuits discussed here provide the full current sink capability for all MULTmus I signals. Because the
EPLD implementation is designed for CMOS systems,
however, this requirement is not relevant for the SC060
implementation.

PLA APPROACH
The functional equivalent of a MULTIBUS I arbiter/
controller can be implemented in two 2O-pin PLA-type
devices as shown in Figures I and 2. (Figure I shows
the logic for the arbiter device. Figure 2 shows the logic
for the controller and the connections to the arbiter.)
Figure 3 shows the arbiter list file as an example of
PLA-type files. Two different 2O-pin PLA devices are
required to implement the arbiter and controller functions, a 16R4-type device and a 16L8-type device.
Implementation of logic devices in PLA-type devices,
.such as those shown here, has proven to be quite beneficial. Development time and cost is much less than for
custom silicon device designs. The two PLA-type devices take up less board space than a discrete TTL implementation of the same functions. In addition, the two
raw devices can also be uSed for different functions in
other products, thereby reducing inventory costs. As a
result of these factors (and others), use of PtA-type
devices has grown substantially in recent years.
With the increased density and flexibility of EPLD devices over typical PLA-type devices, even greater space,
inventory, and cost savings can be obtained by using
EPLDs. The following section shows an implementation of the same arbiter/controller functions in a single
24-pin SC060 EPLD device.

The major change resulting from the EPLD macrocell
structure concerns the EPLD output butTers. Since output butTers from macroce1ls are non-inverting (PLAtype devices typically contain inverting butTers), signals
enter the butTers in the same logic orientation from
which they are to appear at the output. The logic for
the EPLD (shown in Figures 4 and S) incorporates this
change.
Some errors in the PLA-type implementation have also
been corrected in the EPLD design. These changes are
as follows:
• The M/IO input to the MRDC/ and MWTC/ gates
is inverted. MIlO distinguishes between memory
and I/O cycles. The PLA-type implementation does
not use this signal properly; the PLA-type controller
generates read or write commands to both memory
and I/O at the same time, which can result in contention between memory and I/O during bus transfers.
• BPRO/ is gated by BPRN/ in the EPLD design.
When using serial priority resolution, this allows the
highest priority arbiter to prevent all other masters
from controlling the bus. (In the PLA design,
BPRO/ is enabled/disabled only by a local request.
Higher priority arbiters cannot disable all other arbiters. This can result in contention between bus
masters. By gating BPRO/ with BPRN/ in the
EPLD design, this source of bus contention is prevented.)
Figure 6 shows the list file for the arbiter/controller
device. Figure 7 shows the report file produced by the
iPLDS software. This file contains a pinout diagram of
the final programmed device and provides a resource
usage map for the device.
Most of the input and output signals are self-explanatory to those familiar with Intel processors and the
MULTIBUS I interface. The XREQ input is the bus
transfer request signal from the address decode logic.
The BUSY/and CBRQ/ outputs are bi-directional,
simulated open-collector outputs. These outputs use the
iPLDS SC060 (Combinational-Output I/O-Feedback)
primitive in the list file. The BUSY/signal serves to
illustrate this use of EPLD outputs.

2-189

intJ

AP-276

A pull-up resistor is used externally (i.e., on the backplane) to hold BUSY/ high when no arbiter is in control of the bus: When the arbiter is granted control of
the bus, AEN is clocked high, which enables the output
of the BUSY/driver. Since the input to the' BUSY/
driver is low during normal operation (RESET! inverted), the enabled driver pulls BUSY/low to signal other'
. arbiters that the bus is in use. When the arbiter is finished using the ·bus, AEN goes low to disable the
BUSY/ driver (three-state output). The pull-up resistor
pulls BUSY/high to signal other arbiters that the bus
is free for use if needed.
Note that BUSY/is also routed into the bus- grant logic
as input BSI. BSI prevents the arbiter from taking control of the bus (and driving BUSY/low) when some
other arbiter already has control of the bus. Thus only
one arbiter may pull BUSY/low at anyone time.
The one difference between standard MULTIBUS I
logic levels and the EPLD implementation described
here relates to the BCLK/ signal. MULTIBUS I bus
arbitration uses the negative-going edge of BCLK/ to
synchronize events. All SC060 flip-flops, however,
clock on th.e positive-going edge of BCLK/. If all bus
masters in the system use the same arbiter implementation, this poses no problem. Otherwise, an external inverter is required for the BCLK/ input.

COMPARISON/SUMMARY
Both the PLA and ,EPLD implementations of the bus
arbiter/controller result in a lower device count than a
discrete logic circuit. Lower device count means less
p.c. board space, fewer assembly steps, and fewer device
interconnects. Both PLA. and EPLD implementations
are quicker and lesS expensive tp develop than a custom
gate array or dedicated silicon device.
In contrast to the PLA approach, however, 'the EPLD
implementation requires only a single device, while the
PLA approach requires two different devices. Thus the
EPLD approach results in twice the cost savings (inventory and assembly) and half the programming activity to produce the device. Fewer device interconnects
also means greater reliability. In addition,programmed
EPLD devices can be erased and reprogrammed for a
different application if needed, a feature not available
with PLAs.
Overall, the greater flexibility, and the incremental design, manufacturing, and cost advantages of EPLD devices make them ideal for many applications where
PLA devices would otherwise be used.

2-190

AP-276

RESET
SREO
RD

BPRO (REO)

WR
~LK---------------------~----------~

292012-1

A) Request Synchronizer

RESET

----_-f

+ ....~

AEN--....

RESET=P-EJSREO
D
0
DEN

BPRO ~-++-I...J

WR-I-+-+-I

AEN

BCLK
B::

RD-+-+-I--I
AEN (GRANT)

--------------..1
---;Do--.. ___
L-[:>o

BREO
AEN

BPRN ......-+-+-1..../

BUSY -+-+-1--1

CBREQ

-------f

~~----------------------~

292012-3
292012-2

B) Grantl Access Logic

C) Bus Transfer Control

Figure 1. PLA Approach to a Bus Arbiter

2-191

AP-276

.------------------.
PLA
16La

iNfA--------+----a ""---'--'
M/~-------------~--1_~

BUS CONTROL
LOGIC

------------_ ..

ii6
Wi
SiiEo

AEN
PLA
16R4

Biffii

BPRN

CBREQ

Rffii'

BUsY

BUS ARBITER

iiPRO
SCLK

292012-4

FIgure 2. Bus Controller wIth ArbIter Connected
PLA16R4
ARB001
MULTIBUS I ARBITIR
BOMI SYITIM OOMPANY
BOLl IWR
IRD
ISRIO IRISIT IBPRK
II
ICBRIO IBUSY IBYNC IBPRO lAIN
SYNC

:= IRISIT.SRIQ.WR
IRISn.SRIQUD

BPRO

: = IRISn.SYKO

AU

: = laiSIT. AIN.BPaO.WR

OIK

: = IRIsn*SRIQUn

NO

NO

KC

10lK IBRIO KO

OND
VOO

+

+
IRISIT. AIK.BPRo.aD
+
IRISIT.BPRO.8PRN*IBUSY +
IRISIT* AIK*BPRK.IOBRIQ

If(BPRO*/AIK) CBRIQ
Ir(AIN) BUSY
BRIQ

PLA DISIGK fILl
D. I. IKOR. 1/1/85

= BPRO

= BPRO*/AIN

= AIN
+

An

292012-5

Figure 3. LIst File for PLA ArbIter
2-192

intJ
RESO~~---4--~~

XREQ

~~-------L.-I

BCLK~~--------------~~------------~

BPRN~~--~~)---------------------------~

292012-6

A) Request

RESO---~__

+-,""'

SREQ - - - - -....
BPRN --t-f-II-IL-~
BSI

--+-1--1-1

AEN
AEN -

....+--1-1

CBI------1
BCLK----------~--------------~

292012-7

B) Grant

RESO

X:: __
BCLK

~
-I~

RE::

CMDEN

---~~>--B-S-'J-- - O
....

BUSY

292012-8

292012-9

D) Busy

C) Command Enable

SREQ

--1...........----_

AEN

~-""--_

292012-10

E)CBRQ
FIgure 4. LogIc DIagram of Bus ArbIter FunctIons

2·193

inter

AP-276

INTAIN

D------~....

JI---a INTA

M/iO D---~H__

>--+-<:1 iORC
>-+--<:::J lowe

RD C:*+-+---il--l

>-+--<:::J MRDC

D ....-II----I

>--+-<:::1 MRWC

WR

AEN

Figure 5. Logic Diagram of Bus Controller Functions

292012-11

AP-276

DUIIL I. 811ITB
INTIL OORPORATION
IIAROR 27, 1988
Vl88I08 1.1
Rn. A
110080
01108 IU8 ARIITIR/OONTROLLIR

PART:
INPUT8:
OUTPUT8:

50080
IOLK, XRIQ, RISIT, IP. . , 1110, RD,
.R,
IBTAIB
IP80, AIN, 181Q, CI8Q, IUSY, INTA, 118DO, nTC, I08C, IO.C

BI!WORK:
IOLK
INIAIN
• RIQ
RISI!
IPRB
1110
RD
WR
IPRO
AlN,AIB
BRIQ
OIRQ,OII
IUSY,III
INTA
IIRDO
IIW10
IORO
lOwe
8RIQ
SYNO
OIlDIB

IBP (ICLK)
.. INP (IBTUN)
.. IBP (IRIQ)
IBP (RI"T)
,. IBP (IP8B)
.. INP (1110)
.. IBP (80)
= IBP (W8)
a OOBr (IP80e,'CO)
• R08r (AIBd,IOLK,OBD,ORD,'OO)
.. OOBr (18IQe,90C)
.. COlr (018Qel,OI8Qe2)
OOIl (IUSTe, AlB)
OORr (IRTAIR,AIR)
.. OOBr (IIIDOe,AIB)
.. OORr (nTOe,AIR)
= OOBr (IOROe,AIB)
• COBr (lOROe,AIR)
B08r (SRIQd,IOLK,ORD,ORD)
.. R08r (SYROd,IOLK,OND,ORD)
.. BORr (OIlDIBd,IOLK,OBD,ORD)

.IUB CLOCK INPUT.
.INT. AOK. INPUT.
.SYSTIII RIQUI8T 18PUT•
.RISI! IBPUT.
.IUS PRIORITY IBPUT.
.1I1110RY/IO INPUT.
.RIAD INPUT.
••RITI INPun
.IUS PRIORITY OUTPUT.
.ADDRI88 INAILI (ORABT) •
..UB RIQUI8U
.OIRQI -- 8IIIULATID 0.0 ••
.IU8YI -- 8IIIULATID 0.0 ••
.INT. ACK. OUTPUT.
.1I1110RY RIAD OOIlllAND.
...IIIORY .RITI OOIlllAND.
.1/0 RIAD COIlMABD.
.1/0 WRITI OOIlllAND.
.'ALID IU8 RIQUIST.
.8YNCBRONIZID RIQUI8T.
.OOIlllABD IBAILI.
292012-12

IQUATIONS:
IPROe
AlBd
IUQe
IUITe
OIRQel
OIRQeI
IIRDCe
nICe
IOROe
IOWOe
SHQd
ITBCd
ClIDlBd

*
**
*
*
*

IIP8B);
(881Q
.. RI81T
881Q
IIP8R
lSI +
8181T
8RIQ
AIN +
8181T
IIP8R
AIR
Oil;
.. 1(881Q + AIN);
181S1!;
.. 1(881Q
lAIN);
.. 881Q
lAIR;
.. 11110 + RD + OIlDIB;
.. 11110 + .8 + OIlDIR;
.. 1110 + 8D + OIiDIB;
.. 1110 + .R + OIiDIN;
.. RI81T
8YBO;
.. 8181!
181Q;
.. I(U8IT
181Q
AlB);

**
*

**
*

*
*

*

INDt

292012-13

Figure 6.IPLDS Network Ust File

inter

AP-276

Logic Optiaizin, Coapiler Utilization Report

*****

De.i,n iapl.aented .ucce•• fully

DANIIL I. SMITH
INTIL CORPORATION
MARCH 27. 1986
YlRSION 1.1
'RIY. A
5C060
CMOS BUS ARBITIR/CONTROLLIR

5C060
BCLI
MIO
RISBRYID
RISIRYID
RISIRYID
AIN
BPRO
INTAIN
!fR
RD
BPRN
GND

-I 1
-I 2
-I 3
-I 4
-I 5
-I 6
-I 7
-I B
-I 9
-110
-Ill
-112

241231221211201191181-

17116115114:-

131-

Vcc
XRIQ
INTA
IOWC
IORC
MWTC
MRDC
BUSY
CBRQ
BRIQ
RUIT
GND

*,INPUTS*,
Naae

Pin

BCLI
MIO

I •• olaree

MCell

,

r •• d.:
PTera.

MCell.

INP

01

Clear

Clock
CLK!

2

INP

INTAIN

B

INP

14

0/ 8

WR

9

INP

15

0/ 8

2
4

RD

10

INP

16

0/ 8

3
5

BPRN

11

INP

12
13

RlSI!

14

INP

6
9

2
3
4
5

10
11
12

XRIQ

23

INP

9

10
292012-14

Figure 7. iPLDS Report File

2-196

intJ

AP·276

..OUIPUIS ..

....

Pill

a ••ourc.

Ne.ll •

PI.r••

IIC.U.

r ••d.:
01

8

aoar

12

3/ 8

'I

-'I

8
9
12

1
2
3

AI.

Cl •• r

Clock

Cl.er

Clock

4

1'1
8
IPRO

co.r

'I

13

1/ 8

lalQ

11'1

co.r

8

1/ 8

ClaQ

18

con

'I

1/ 8

12

IUSY

1'1

con

8

1/ 8

12

DBC

18

CORr

1'1

1/ 8

IIWIC

19

CONr

4

1/ 8

10IC

20

CORr

3

1/ 8

10WC

Zl

CORr

2

1/ 8

INn

22

co.r

1

1/ 8

•

PI.ra.

9

1/ 8

•• luaIID RIGI8Tla8 ••

....

PiD

a •• ourc.

3

.oar

IIC.ll

IIC.U.

r ••d.:
01

2
3
4

1'1
4

.oar

10

1/ 8

1'1

.oar

11

1/ 8

U
'I

'I

8
12
13

....

.aUIVSID alSOUICISaa
PiD

a••oarc.

IIC.ll

PI.ra.

13

"PAal UTILIZAtIO...
91'1.
100.
11.

PiD.
lIecroC.l1.
Pt.r••
292012-15

figure 7. IPLOS Report File (Continued)

2-197

inter

APPLICATION
NOTE

AP-304

. March 1987

Simulation of EPLD Timing

PEDRO VARGAS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292027·001
2·198

AP-304

cepts, engineers will be able to simulate their designs
and have a better understanding of EPLD timing.

INTRODUCTION
Though there are many important activities that are
considered in a design, timing analysis usually heads
the list when it comes to evaluating functionality and
performance. Timing issues are prevalent during design, and at reviews when worst case analysis is performed. By being familiar with timing specifics of
EPLD architecture, the designer can assess timing issues throughout the design phase.

EPLD STRUCTURE
Intel EPLDs consist of a programmable logic array and
a conflgUrable I/O block as shown in Figure 1. The
array is composed of two-level logic, incorporating a
programmable AND array and a fixed OR array. The
AND matrix is a crosshatch of the true and complements of all the pin inputs and the AND array inputs.
At each intersection there exists an EPROM cell that
determines if that input feeds the AND gate. By selectively programming these EPROM cells, complex logic
functions are implemented in the familiar sum of products form. The output of the OR gate feeds an I/O
architecture block that has a variety of programmable
options. Combined, the logic array and I/O block is
called a macrocell. Each macrocell output exits via an
I/O pin.

OBJECTIVE
This application note details the internal timing of Intel
EPLDs. It breaks down the internal architecture into

functional timing elements to extract timing data, and
then presents a method of timing simulation. The relationship of these elements to data sheet parameters is
also shown by several examples. By applying these con-

0
OE

2

••

5

7

6

8

•

I.

11

10

12

,.

'15

17

16

18

,.

ClOCK
21
20

23

22

25
2.

27
2.

31

29
28

30

33
32

35
3.

11"'\

P

B
gp

B

~

~

~

~

¢ ~l,.

3

~

~¢

~

~

~¢'

18
17
16
11
NOTE 0 =1/0 PIN IN WHICH LOGIC ARRAY INPUT IS FROM FEEDBACK PATH

~

15 '

~

tl,.

~

~

CLOCK

ARCHITECTURE

CONTROL

~

~o
1

FEEDBACK

13

PLA BLOCK

I/O ARCHITECTURE
BLOCK

292027-1

Figure 1. EPLD Macrocell

2-199

AP-304

EPLDs have two specifications that influence delays
within· the component, maximum propagation delay
(tPD), and minimum clock period (tPl). Propagation
delay is the time that it takes a signal to appear at the
output relative to the input. tPD is defined for conibinatorial outputs. Minimum clock period is the smallest
allowable clock cycle that determines maximum. operating frequency. Maximum operating frequency (tMAX)
'. is defined for registered functions.

The top figure shows that SIGNAL A has two cumula~
tive speed paths in the gate array circuit. In the EPLD
inplementation, each product tenp has the same !lelay
and there is only one array delay. Intel EPLI>s have
inputs that range from 18 (sam).to 64 (SC180). Because the parts are ~~terized !it worst case, the array delay is the same regardless of inputs used. In the
case of product terms, the EPLD family supports from
74 to 480. Here again, the number' of product terms
does not affect the array delay.

Unlike gate arrays that deal with individual gate delaYS,
EPLDs have internal delays that are grouped differently. With a gate array, a.logic function may have different speed paths for each product term, depending on
the !;lumber of two input NAND gates in each path. In
an EPLD, each product term is the equivalent of a multi-input AND gate. Figure 2 shows a comparison of
gate delays and array delays.

The VO block varies in complexity within the EPLD
family, but a typical arrangement is shown in Figure 3.
VO programmability is accomplished by configuring
for register types and choosing one of several outputs or
feedback paths. Timing paths and delays depend on the
way the output and feedback muxes are configured.

Gate Arrey Delays

SIGNAL

f~ ~'I~-(~~~~"
I.: 2 GATE DELAYS j

tpd

=(GATE DELAy) x 2

292027-2

EPLD Array Delays

'SIGNAL ABC D E F
292027-3

Figure 2. Logic Delays

'2-200

AP-304

MORE ON ARRAY DELAYS

The number of inputs and product terms used in an EPLD array doesn't change the array delay because the
EPROM cells are always connected, whether they are programmed or not. As a result, when a device is tested
the array delay is at worst case load already. When the same design is implemented in a different EPLD, the
array delay will be different, due to the different IC geometries. For example, a simple three to eight decoder
implemented in a 5C032 will have an array delay of 17 ns. The same decoder when implemented in a 5C060 will
have an array delay of 30 ns.

D

292027-4

292027-5

tAD = 30 ns

Designing an EPLD circuit involves working with the
Intel iPLS[3] (Intel Programmable Logic Software) logic primitives. Logic primitives are functional building
blocks that the EPLD software requires to implement a
circuit. The primitives consist of input, logic, and output functions such as INP, AND, OR, CONF, RORF
etc. Because of the modular nature of the design primitives, the resulting logic implementation is very modularized and lends itself well to an analysis of timing
paths. The following sections detail the delays involved
with each primitive.

TIMING ELEMENTS
Each EPLD macrocell can be functionally modeled
with the seven blocks shown in Figure 4.
The macrocell timing model consists of input buffer
delay for the inputs and the clock, array delay, register
delay and output delay. The model shows the feed forward path as well as the combinatorial and registered
feedback paths. The feedback paths may apply depending on the application, and whether the design is combinatorial or registered. The model also applies
to devices that have global and local buses.
Combinatorial designs with no feedback contain three
functional blocks for input, array, and output delays.
Four blocks are required for a design with feedback.
Register designs may be more complex but contain at
least five blocks. These are: input, array, output, register, and clock delays. The delay for each block is defined as:
1. Input Buffer Delay (tIN)-The delay associated with
the input pin and buffers. One delay value applies to
both true and complementary buffers that drive the
AND array.

3. Output Buffer Delay (too)-The delay associated
with the output pin and buffer of each macrocell.
Combinatorial outputs have a delay measured from
the output of the OR gate to the pin. Registered outputs have the delay measured from the register output to the pin. The delay value is the same for either
output configuration.
4. Combinatorial Feedback Delay (tCF)-The delay
from the output of the OR gate to the input of the
AND array. The delay is measured when both the
true and complement of the signal appear at the input of the array.
5. Register Delay (tRo)-The delay through any flipflop. The delay is measured from the triggering clock
edge to the time when data is valid at the output of
the register.
6. Register Feedback Delay (tRF)-The delay from the
data valid at the flip-flop output to the time it appears in true and complement form at the array input.
7. Input Clock Delay (tIC)-The time that the clock is
delayed in reaching the input of the internal register.
Use of these delay paths depends on the EPLD output
configuration. Figure 5 introduces the concept of timing elements that is used throughout this application
note. Use of these elements depends on the application.
If a design is combinatorial, then the only paths to consider are the input buffer, the array, the output buffer,
and the combinatorial feedback path. Conversely, if a
design is registered, the paths to consider are all of the
previously listed delays, with the addition of the register delay, the clock delay, and the registered feedback
path.

2. Array Delay (tAO)-The time that it takes a signal
to propagate through the AND array and appear at
the output of the OR gate. This delay is characterized at worst case and is independent of number of
inputs or product terms.
2-201

The,manner in which the delay values are used is called
simulation. Simulating a EPLD circuit means calculating the output timing of a device from internal timing
with the aid of timing data and simulation model (like
Figure 5). Before we get into simulation let's examine
how these internal timing elements relate to the data
sheet specifications of each device.

inter

AP-304

OE

.--------------------------.

~~lm :
r-------1~--+t,.-4-,....~-....., :
I

......-++-1

>-....Cl/O

FEEDBACK

292027-6

NOTE:
Controls shaded in gray are available on the 5C031 only.

Figure 3. I/O Architecture Control

I>

INTERNAL CLOCK

CLOCK
DELAY
(tiC)

INPUT
DELAY
(tiN)

REGISTER
DELAY
(tRD)

OUTPUT
DELAY

(too)

COMBINATORIAL
FEEDBACK
DELAY (tCF)

REGISTERED
FEEDBACK
DELAY (tRF)
292027-7

Figure 4. EPLD Delay Blocks

2·202

AP-304

t-----~P':....-----I·I

292027-8
Combinatorial

292027-9
Registered

Figure 5. EPLD Delay Paths

DATA SHEET SPECIFICATIONS

which provide the designer with the worst case data
that they may need for their application.

Timing specifications for EPLDs are found in the data
sheets under "A.C. Characteristics". Data sheet values
are derived by testing a device under worst case conditions. Test conditions are both static and dynamic
based on several variables like input levels, output loading, frequency, and temperature. Characterizing a device involves detailed testing of specific device functions
and correlating test data to performance analysis done
during design. The results are placed in the data sheets,

The timing data found in EPLD data sheets is derived
from the timing elements previously described. Since an
EPLD design can be broken down into either a combinatorial or registered macroce1l, the data sheets contain
specific information for each mode. Figures 6 through
10 correlate the timing elements to data sheet values.
Each fJ.gUre shows the delay path as it applies to the
Intel design primitives and the simulation model.

1. Propagation Delay (tpo)
Defined as the time required for an external input to travel through any combinatorial logic and appear at the
external EPLD pin. This specification applies to combinatorial logic with non-registered output. Figure 6 shows
that this specification is the sum of tIN, tAD, and toO.
,
DATA SHEET = _ _
M..;;.;OD;;.;;E""L_
!po

[; I COMB~~~~R~L
I
I
Frt>1 .
+.
r'1N

••

I

•

~I
I ----II
~

DESIGN PRIMITIVES
tA.O
••
ARRAY

tiN

toD

SIMULATION MODEL

tpD

•

+ tAO + too

INPUT::::::X

OUTPm

I

292027-10

Figure 6. Propagation Delay (tpo)

2-203

INPUT OR I/O DATA VALID

j:: tpD =I

){'-ro--W-BI~--ro-R-~-L-O-UTP-U-T-V-A-LlD-292027-11

intJ

AP·304

2. Setup Time (tsu)
The set-up time is the time required for the input to settle at the input of a register before the triggering clock edge.
Set-up time is the sum of tIN. tAD. minus the internal clock delay. This relation is shown in Figure 7.
DATA SHEET
tsu

MODEL

+ tAO -, tiC

tiN

cliN>p____tl_c~

r

~--'-~r----:~~.....,~-..,

tlN

I

CLOCK

INPUT

INP

t
t: Isu----J
I

::::x

INPUT OR I/O DATA VALID

-I tiC

IN~~~ ---.J

I
I-- ~N +tAD

r-

Ii---......_ ......r

:::I

INTE~~~~ _ _ _ _ _ _ _..JX~--D-ELA-YE-D-DA-TA--

292027-13
Setup Til)19 (tsu)

292027-12

Figure 7. Setup Time (tsu)
3. Clock to Output Delay (tc()!)
Defined as the time required for a signal to pass through a register and appear at the EPLD external pin relative to
the external triggering edge of the clock. This ,delay is the sum of tIC. tRD. and toD as shown in Figure 8.
DATA SHEET
tOOl

MODEL
tiC

+ tAO + too

r

·--------tC01-;:::;;::;=:;:=~
INP

CLOCK

INPUT'

I

-I

DESIGN PRIt.lITIVES

DELAYED

CLOCK

t-------t'c

tIC

r,i---."

----l

OUTPUT

SIt.lULATION t.lODEL

...._ _...

I-- tRO+too j

INPUT

I
I

r

Xr---D"'ELA--YE--D-D-AT-A--292027-15

-..J
292027-14

Figure 8. Clock to Output Delay (teod

2-204

intJ

AP-304

4. Minimum Internal Clock Period (tp\)
Defined as the maximum frequency at which an EPLD can operate when register inputs are dependent on internal
logic only, and not affected by external inputs. Another way to think ofthis time is, as the fastest rate that a signal
can be routed from register to register through the array via an internal feedback path. This minimum period is
the sum of tRD, tRF, and tAD as shown in Figure 9.
DATA SHEET

MODEL

tpl

1+1·---tPI----I'1
ClOCK
I
(INTERNAL) - - '

";1- - -

1.._ _ _

:::x:I

DATA SETUP AND VALID REG I INPUT

•

X\.____

I-Itw:j
X~------R-ro-'-O-UT-P-UT------->e:

---I=It!F:j
_____________-JX~D-M-A-M--AR-RA-Y-IN-P-UT---

=e[;:~

I=tAD:j
____________________.JXr-RE~G-2-IN-PU~T-

~~t_.r_~
______~J
SIMULATION MODEL

292027-17
292027 -16

Figure 9. Minimum Internal Clock Period (tp1)
5. Registered Feedback to Combinatorial Output (tcov
This is the time required for an input to propagate through a register, feedback to combinatorial logic and appear
at the external pin, relative to the external clock. This time is the sum of tIC, tRD, tRP, tAD, and too as shown in
Figure 10.
DATA SHEET
!c02

MODEL
tiC

+

'RO

+

tRF

+

tAD

+ too

CLOCK~~

:::x:I

DATA SETUP AND VALID REG 1 INPUT

tAD

I- tiC + tRD + tRF + + IoD:j
___________________JX~D~AT~A-O~U~T~V~A~LlO~

~I'----tlc----+I

292027-19

SIMULATION MODEL

292027-18

Figure 10. Registered Feedback to Combinatorial Output (tC02)

2-205

AP·304

When simulating EPLD designs with data from the
simulation tables, it is possible that there, may be a
~mall discrepancy between ,simulation and data sheet
v/llues. Because our simulations deal with ideal waveforms, rise and fall times are not taken into consideration. Also, characterization and fmal test of these devices by QA is usually guardbanded[2] by several nanoseconds. The combination of these two items might result in a simulated parameter that is slightly off from
the data sheet. For this reason, the simulated results
should be considered "typical worst case" and not "absolute".

SIMULATION CONCEPTS AND
EXAMPLES
Simulation of EPLD logic designs provides a quick way
to evaluate a particular path within the device. While
this might not seem important when the flexibility and
the speed of EPLD development is considered, it is advantageous for making design judgements that best utilize device resources. Simulation also proves useful
when working with a design that consists of several
EPLDs, or other types of logic. In a case like this, it
may be desirable to simulate a complex path that propagates through several devices. To simulate a design the
engineer needs to either implement it with the iPLS
design primitives or understand how the circuit will be

i70

implemented by the software. This provides the modularized layout that is needed to choose a model.
The decoder circuit shown in Figure II serves as a
goo!! starting point for simulation. Decoding two control lines (1/0*, WR *) and four addresses, the circuit
might be used to select a peripheral controller residing
in that memory area (FOOOH) with output IWRI. It's
also common to use intermediate decodes in other parts
of the system for other functions, IWR2 accomplishes
this. The gate drawing of Figure II shows us that the
design is combinatorial and can be modeled with the
elements introduced in Figure 5. The design, converted
to iPLS primitives is shown in Figure 12. The implementation consists of six input primitives (INP), three
logic primitives (NOR2, AND4, AND2), and two output primitives (CONF). In this case, tpD is simulated
for a 5C031-50 by plugging in the numbers for the
model which requires tIN, tAD, and tOD. The result of
51 ns is very close to the data sheet value of 50.

A15 D--I
A14 D - - t
A13 D_-t
A12 D_-I

.....----IWR2

WR->JL_'

A15--..._
A14

._----_.
___ e.

I

I

CONF:
>-C:>i--IWRl

,..--_ _ _ _ _ _ _-,292027-21

IWRl

tpo = tiN + tAD + too
Simulated for a 5C031·50:
tpo = 10 + 31 + 10
tpo = 51 ns

A13

A12---'-292027-20
IWRl = i70 ' WR 'A15'A14'A13'A12
IWR2 = i70 ' WR

Figure 12. iPLS Implementation
of Decode Circuit

Figure 11. Decode Circuit

2-206

Ap·304

The second example is the wait state circuit shown in
Figure 13. The circuit shows one way that a synchronous wait state can be generated in an EPLD. This
circuit would be used with a microprocessor that samples a WAIT signal on the falling edge of the Tl clock.
If WAIT is valid, the micro inserts an extra cycle into
the memory operation. After the wait state, the cycle
ends normally. The circuit is first converted to the Intel
design primitives for -further observation. The iPLS design is shown in Figure 14. One difference from the
previous circuit is the addition of a register primitive, in
this case a NORF (No Output Registered Feedback).
In this application the critical path tea2 is evaluated to
insure that the wait signal is sampled at the appropriate
time. The modularized layout of the primitives shows
that this circuit can be simulated with the registered

model of Figure 5. The result is simulated for a
5C032-35 by adding tIC, tRO, tRF, tAD, and too·
Our last example is the asynchronous R-S latch shown

in Figure 15. Applications that use EPLDs without
conflgUrable output registers may use this circuit as a
work around solution. The output primitive of Figure
16 is a COCF (Combinatorial Output Combinatorial
Feedback) being driven by two NOR2 gates. Because
combinatorial feedback to the same macrocell is being
used, care must be taken that the input pulses are long
enough to avoid output glitches. In this example, the
input pulses should be longer than tAD + tcF for proper latching. For this example, tpo is the critical parameter. Simulation results in tpo equal the sum of tIN,
tAD, and too.
llmlng Signals
ClK

Walt Slata Generator
IiIEIiIR

~~~~:~--..c_~

IIEII'RD

ij

292027-22
WAfT

.-J

·s
292027-23

Figure 13. Walt State Circuit

~~--------~--------~

~tlN----+l·I~·--tAD--~-

~K~~--------+------,

IIEII ~-----Ir'"

l--4~-"""-I

RD~~--------~--I

,,
,,
,,

•

r----------------------------~
t
- - - - - - - - tRF - - - - - - - - '

1+------tAO

>-C>4~wArr

,
._-----_.
----.+I.-IoD--I
,

!co2 = tiC + lRo + tRF + tAD
Simulated for a 5C032·35:
!co2 = 5 + 7 + 3 + 17 + 8
!co2 = 40 ns

+ too

Figure 14. iPLS Implementation of Walt Circuit

2-207

292027-24

AP-304

r-tIN ....
·'..
· - - tAD

:~Q

R

s

Q

o

o

Latch
I

o
1
1

292027-25

1

liNP
R 0-----\

---1---

o
••

o
1

"Indeterminate State

292027-26
tpo

Figure 15. R-S Flip-Flop

= tiN +

tAD

+ too

Figure 16. IPLS Implementation of R-8 Flip-Flop

SIMULATION CHARTS
The charts of Figures 17 through 22 make up the simulation database for EPLDs. Each chart contains the
combinatorial and registered models as well as the delay values for each timing element. Feedback paths are
shown open because their use depends on the specific
application. To simulate a EPLD design the following
steps are required:

1. Convert the design to iPLS primitives.
2. Pick the appropriate model from the device simulation chart.
3. Connect any necessary feedback paths.
4. Calculate the.simuiated timing with the element values.
Regletered
tiC

Combinatorial

"

292027-27
tRF
tiN
292027-28

Element
tiN
tAD
tRO
too
tiC
tcF
tRF

Delay (ns)

10
31
8
10
8
4
4

Formulas:
tpo

= tiN + tAD + too

tsu

= tiN + tAD

- tiC

tc01

= tiC + tRO + too

tco2

= tiC + tRO + tRF
+

tp1

tAD

+ too

= lAD + tRF + tAD

Figure 17. 5C031 Timing Elements

2-208

AC
Parameter
tpo
tsu
tC01
tC02
tp1

Model
(ns)

Sheet
(ns)

51
33
26
61
43

50
30
28
65
42

Typical Model Delaya for 5C031·50

inter

AP-304

Registered
Combinatorial

1 - - - - - - tIC - - - -..
',

---""'>i--tA0-f ~toDI
292027-29

292027-30

Element
tiN
tAD
tRD

too
tiC
tcF
tRF

Delay (ns)

8
17
7
8
5
3
3

Formulae·
tpD = tiN

+

tAD

+

AC
Parameter

too

tpD
tsu
tc01
tC02
tp1

+ tRD + tRF
+ tAD + too

tco2 = tiC

Model
(ns)

Sheet
(ns)

33
20
20
40
27

35
25
20
42
30

TYPical Model Delays for 5C032-35

Figure 18. 5C032 Timing Elements
Registered

Combinatorial

292027-31

1-------- tiN - - - - - -..
292027-32

Element

Delay (ns)

10

Formulas:
tpD = tiN

+

tAD

+

too

- 30
7

10
8
5
5

tco2 = tiC

+

+ tRD + tRF
tAD + too

Figure 19. 5C060 Timing Elements

2-209

AC
Parameter
tpD
tsu
tC01
tc02
tp1

Model
(ns)

Sheet
(ns)

50
32
25
62
42

55
35
25
60
55

Typical Model Delays for 5COSO-55

AP-304

Registered
Combinatorial

Element

Delay (ns)

10
37
7
10

Formulas:
tpD = tiN

+

tAD

tsu = tiN

+

tAD - tiC

+

tRD

tCOt = tiC

7

5
5

tc02 = tiC

+

+

+

too

too

+ tRD + tRF
tAD + too

AC
Parameter

Model
(ns)

Sheet
(ns)

tpD

57

tsu

40

50
45
20
55
50

tCOI
tC02
tpl

24
61 ,

49

Typical Model Delays for 5C090·45

Figure 20. SC090 Timing Elements
Registered
Combinatorial

292027-36

Element
tiN
tAD
tRD
too
tiC
tCF
tRF

De/ay(ns)
12
44
7
12
16
5
5

Formulas:
tiN

+

tAD

tsu = tiN

+

tAD - tiC

+

tRD

tpD

=

tCOt = tiC
tc02 = tiC

+

+

+

too

too

+ tRD + tRF
tAD + too

Figure 21. SC121 Timing Elements
2-210

AC
Parameter

Model
(ns)

Sheet
(ns)

tpD

68

65

tsu

40

47

tCOI
tC02
tpl

35

80

33
75
55

56

Typical Model Delays for 5Ct2t-65

intJ

AP-304

Registered

Combinatorial

292027-37

1 - - - - - - tIO - - - - - - - 1
292027-38

Element
tiN
tlO
tAD

too
tiC
tiCS
tcF
tRF

tsu
tH

Delay (n.)

12
20
44
19
30
3
5
10
14
13

Fonnulas:

AC

tpo

=

tiN

+

tAD

tsu

=

tiN

+

tAD - tiCS

tool

=

tiCS

+

tH

+

too

tco2

=

tiCS

+

tH

+

tAD

tpl

=

tH

tRF

+

tAD

+

+

Parameter

too

tpo

tsu
+ too

teal
tea2
tpl

Model
(n.)

Sheet
(n.)

75
53
35
79
67

75
56
30
82
65

TypIcal Model Delays for 5C180·75

Figure 22. 5C180 Timing Elements

SUMMARY

REFERENCES

Timing simulation provides a way to verify a delay path
without resorting to external measurements or breadboarding a design. Simulation of EPLDs can be done
by implementing the design with the iPLS design primitives, modeling the device, and using the simulation
charts. By applying these concepts, the engineer can
simulate EPLD designs incorporated in one or more
EPLDs.

1. Intel User Defmed Logic Handbook. EPLD Volume.
2. Intel Components Quality/ReHabiHty Handbook.
3. Intel Programmable Logic Software User Guide.

2·211

inter

APPLICATION
NOTE

January 1987

EPLDs, PLAs and TTL
Comparing the "Hidden Costs"
in Production

PEDRO VARGAS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292030-001
2-212

AP·307

INTRODUCTION

• Prototype costs -

fIrSt implementation of the product idea

When comparing logic alternatives, too often the outcome is dominated by the piece price of the components. A side by side comparison based on component
costs only, may give the appearance that EPLDs are
cost prohibitive. However, when the overall cost of
manufacturing a system is considered, the higher integration of EPLDs proves to be a cost-effective solution.

• Production costs -

volume manufacturing of the
product

Usually, the brunt of the cost for the first two categories is dismissed as NRE (non recurring expense). The
effect of these costs on the overall project is examined
later, let's look at the third category. Production costs,
can be further broken down into;
• Component costs- the cost of the parts per board
• Inspection costs - labor costs for receiving the

OBJECTIVE
This application note examines the total costs associated with designing, prototyping, and manufacturing a
system. Once these costs have been examined, a comparison is made between EPLDs and other logic alternatives. By being aware of these additional costs, the
engineer can make a more accurate cost comparison as
a design is begun.

COSTS DEFINED
Costs can be difficult to pinpoint, let alone measure.
However, with a bit of examination, we can break down
costs into the following categories;
• Design costs
- the cost of conceiving a product

parts

• Inventory costs - the cost for storing, handling
and dispensing the parts
• PCB fabrication - the cost for labor and equipment
used in building a board
• Integration costs - the cost of harnesses, enclosures,
nuts and bolts etc.
It's important to understand how the cost of a product
is affected not only by the cost of the ICs used, but also
by the other costs listed above. Figure 1 is a graph
which shows this relationship.

TOTAL
SYSTEM COST
COST or
CIRCUITS

M S I - - - - - - - - - - - - - · VLSI
CIRCUIT COMPLEXITY

Figure 1. Optimizing Circuit Complexity

2-213

292030-1

AP·307

ffiIT~

RESET---~H

XREQ ~ Q

SREQ ---t-It-IrU::
3'"
BPRN - -...Ht-IL,.;.;;~

AEN

BCLK

iiSi--i-HH

LS74

292030-4

">--_-OiiUsY

AEN

AEN

,CMDEN

LSl0

-_+---1H

AEN

LS74

----4H ~)-I---

AEN

292030-5

Ciii

-----t

U3
LS21

">_-0 CiiiiQ

i&R------~--------~

292030-2
SREQ

....L....ur--,

AEN

~--,'--,

LS08

Ciii
292030-6

~L>---+--r~
XREQ L > - - - - I . . : . /

}---<::JBPRO

BC~L>--------~~-----~
~L>---;~~~---------------~

292030-3

Arbiter
INTAIN

0------------1 >.U;::1-:::0:-:---+~--++-......

>-+--

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                     : 2016:08:09 18:07:41-08:00
Modify Date                     : 2016:08:09 18:48:31-07:00
Metadata Date                   : 2016:08:09 18:48:31-07:00
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:35da21f2-fbce-8042-a9a5-1b0da0494454
Instance ID                     : uuid:fe7deb4e-3cd2-5741-9fa0-4e959f166fb2
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 451
EXIF Metadata provided by EXIF.tools

Navigation menu