1989_Intel_Microcomputer_Programmable_Logic_Handbook 1989 Intel Microcomputer Programmable Logic Handbook

User Manual: 1989_Intel_Microcomputer_Programmable_Logic_Handbook

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

Download1989_Intel_Microcomputer_Programmable_Logic_Handbook 1989 Intel Microcomputer Programmable Logic Handbook
Open PDF In BrowserView PDF
LITERATURE
To order Intel Literature or obtain literature pricing information In the U.S. and Canada call or write Intel
Literature Sales. In Europe and other international locations, please contact your local sales office or
distributor.
INTEL LITERATURE SALES
P.O. BOX 58130
SANTA CLARA, CA 95052-8130

In the U.S. and Canada

call toll free

(800) 548-4725

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

LITERATURE
ORDER NUMBER

COMPLETE SET OF HANDBOOKS

231003

(Available In U.S. and Canada only)

AUTOMOTIVE PRODUCTS HANDBOOK
(Not included

In

231792

handbook set)

COMPONENTS QUALITY IRE LIABILITY HANDBOOK
EMBEDDED CONTROL APPLICATIONS HANDBOOK
8-BIT EMBEDDED CONTROLLER HANDBOOK
16·BIT EMBEDDED CONTROLLER HANDBOOK
32-BIT EMBEDDED CONTROLLER HANDBOOK
MEMORY COMPONENTS HANDBOOK
MICROCOMMUNICATIONS HANDBOOK
MICROCOMPUTER PROGRAMMABLE LOGIC HANDBOOK
MICROPROCESSOR AND PERIPHERAL HANDBOOK

210997
270648
270645
270646
270647
210830
231658
296083
230843

(2 volume set)

MILITARY PRODUCTS HANDBOOK
(2 volume set. Not Included

In

210461

handbook set)

OEM BOARDS AND SYSTEMS HANDBOOK
PRODUCT GUIDE

280407
210846

(Overview of Intel's complete product lines)

SYSTEMS QUALITY IRELIABILITY HANDBOOK
INTEL PACKAGING OUTLINES AND DIMENSIONS

231762
231369

(Packaging types, number of leads, etc.)

LITERATURE PRICE LIST (U.S. and Canada)

210620

(Comprehensive list of current Intel Literature)

INTERNATIONAL LITERATURE GUIDE

E00029

CG/LlT/100168

About Our Cover:
From robotics to lap-top computers, Intel's Erasable Programmable Logic Devices (EPLDs) are the most
advanced in the microcomputer industry. How you personally choose to implement their power is only limited
by your imagination.

u.s. and CANADA LITERATURE ORDER FORM
NAME: __________________________________________________________
COMPANY: _____________________________________________________
ADDRESS: _______________________________________________________
CITY: _________________________________ STATE: _____ ZIP: _____
COUNTRY: _____________________________________________________
PHONENO.:~

__

~~

____________________________________________

ORDER NO

TITLE

I

QTY.

PRICE

TOTAL

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

____ X _____ =

______

___ X ____ =

______

___ X ____ =

______

Subtotal ________
Must Add Your
Local Sales Tax ________
Postage: add 10% of subtotal

----------........

Postage ________

Total _______
Pay by check, money order, or include company purchase order with this form ($100 minimumj.we also
accept VISA, MasterCard or American Express. Make payment to Intel Literature Sales. Allow 2-4 weeks
for delivery.
o VISA 0 MasterCard 0 American Express Expiration Date _______________
Account No. _________________________________________________________
Signature __________________________________________

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

International Customers outside the U.S. and Canada
should use the International order form or contact their local
Sales Office or Distributor.

For phone orders in the U.S. and Canada
Call Toll Free: (800) 548-4725
Pnces good until 12/31/89.
Source HB

CG/LSOF/100188

INTERNATIONAL LITERATURE ORDER FORM
NAME: ____________________________________________________________
COMPANY: ____________________________________________________
ADDRESS: _____________________________________________________
, CITY: ____________________________ STATE: _____ ZIP: _____
COUNTRY: __~------------------------------------------------PHONENO.:~(____~______________________________._____________
ORDER NO.

TITLE

QTY.

PRICE

TOTAL

____ X _ _ =
____ X _ _ =
____ X _ _ =
____ X
____ X _ _ =
____ X _ _ =
____ X
____ X _ _ =
____ X _ _ =
__ X __=
Subtotal
Must Add Your
Local Sales Tax
Total

PAYMENT
Cheques should be made payable to your local Intel Sales Office (see inside back cover.)
Other forms of payment may be available in your couritry. Please contact the Literature Coordinator at your
local Intel Sales Office for details.
The completed form should be marked to the attention of the LITERATURE COORDINATOR and returned
to your local Intel Sales Office.

CG(LSOF1100188

inter
Intel the Microcomputer Company:
When Intel invented the microprocessor in 1971, it created the era of
microcomputers. Whether used as microcontrol/ers in automobiles or microwave
ovens, or as personal computers or supercomputers, Intel's microcomputers
have always offered leading-edge technology. In the second half of the 1980s, Intel
architectures have held at least a 75% market share of microprocessors at 16 bits and above.
Intel continues to strive for the highest standards in memory, microcomputer components,
modules, and systems to give its customers the best possible competitive advantages.

PROGRAMMABLE LOGIC
HANDBOOK

1989

Intel Corporation makes no, warranty for the use of its 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, ETOX,
FASTPATH, Genius, i,
ICE, iCEL, iCS, iDBP, iDIS, 12 1CE, iLBX,
im, iMDDX, iMMX, Inboard, Insite, Intel, intel, Intel376, Intel386, Inte1486,
inteiBOS, Intel Certified, Intelevision, inteligent Identifier, inteligent
Programming, Intellec, Intellink, iOSP, iPDS, iPSC, iRMK, iRMX, iSBC,
iSBX, iSDM, iSXM, KEPROM, Library Manager, MAPNET, MCS,
Megachassis, MICROMAINFRAME, MULTIBUS, MULTICHANNEL,
MULTIMODULE, ONCE, OpenNET, OTP, PC BUBBLE, Plug-A-Bubble,
PROMPT, Promware, QUEST, QueX, Quick-Erase, Quick-Pulse
Programming, Ripplemode, RMX/80, RUPI, Seamless, SLD, SugarCube,
UPI, and VLSiCEL, and the combination of ICE, iCS, iRMX, iSBC, iSBX,
iSXM, MCS, or UPI and a numerical suffix, 4-SITE, 376, 386, 486.

t.

MDS is an ordering code only and is not used as a product name or trademark. MDS@ 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 Sales
P.O. Box 58130
Santa Clara, CA 95052-8130

@INTEL CORPORATION 1988

CUSTOMER SUPPORT
EPLD HOTLINE
The Intel EPLD Technical Hotline is manned by applications personnel from 8:00 a.m. to 5:00 p.m. (PST) every
business day. The number (U.S. and Canada) is 1-800-323-EPLD (1-800-323-3753).

DDS
Intel has a Bulletin Board System for registered iPLS II customers to electronically transfer information. A registered user with a modem can log onto the system. The current number is (916) 985-2308. If your communication
software supports file transfers, you can receive utilities, software updates, and the latest information on EPLDs
via the Bulletin Board.

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 international support organization and a breadth of programs to meet a variety of customer nee,ds. As 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 (Le., 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.

CG/CUST/062188

Table of Contents
Alphanumeric Index .... ,. . . . . . . . . . • . • . • . . . • . . . . . • . . . . . • . . . . . . . . . . . . . . . . . • . •

ix

CHAPTER 1
Overview
Overview. . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . • . . . . • . .

1-1

CHAPTER 2
,
EPLDs-Erasable Programmable Logic Devices
DATA SHEETS
SC031 , 300-Gate CHMOS H-Series Erasable Programmable Logic Device
(H-EPLD) ...........................•...................•..............
SC032, 300-Gate CHMOS H-Series Erasable Programmable Logic Device
(H-EPLD) ....'..........................................................
SC060, 600-Gate CHMOS H-Series Erasable Programmable Logic Device
(H-EPLD) ..............................................................
SC090, 900-Gate CHMOS H-Series Erasable Programmable Logic Device
(H-EPLD) ...................•.•.........•................•.•...........
SC121, 1200-Gate CHMOS H-Series Erasable Programmable Logic Device ......
SC180, 1800-Gate CHMOS Erasable Programmable Logic Device. • . . . . . . • . . . . . .
APPLICATION BRIEFS
AB-8 Implementing Cascaded Logic in the SC121 ...........•.....•...........
AB-9 SC121 As Ii Three and One-Half Digit Display Driver .....•................
AB-l0 Square Pegs in Round Holes-A Fitting Tutorial for the SC121 ............
AB-ll 16-Bit Binary Counter Implementation Using the SC060 EPLD . . • . . . . . . . . ..
AB-12 Designing a Mailbox Memory for Two SC031 s . . . . . . . . . . . . . . . . . . . . . . . . . ..
AB-16 Atypical Latch/Register Construction in EPLDs .....................•...
AB-22 SC032-2S vs. 16V8-2S: A Device Comparison. . . . . . . . . . . . . . . • . . . . . . . . . ..
APPLICATION NOTES
AP-271 Applying the SC121 Architecture. . .. .. .. . .. . .. . . . . ... . .. .•. ... . .. .. ..
AP-272 The SC060 Unification of a CHMOS System ............•..............
AP-276 Implementing a CMOS Bus Arbiter/Controller in the SC060 EPLD •.......
AP-307 EPLDs, PLAs, and TTL-Comparing the "Hidden Costs" in Production....
AP-321 Fitting the SC180 . • . • . . . . . • . . . . . . . • . . . . . . . . . . . . . . . • . . • • . • . . . . . • . . . ..
ENGINEERING REPORTS
ER-22 SC180 vs. EP1800: A Comparison of Device Specifications. . . . . . . . . . . . . ..
TECHNICAL PAPERS
Techniques for Modular EPLD Designs ..........' .........•............. '. . . . ..
ARTICLE REPRINTS
AR-4S0 Crosspoint Switch: A PLD Approach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
AR-4S1 A Programmable Logic Mailbox for 80C31 Microcontrollers . . . . • . . . . . . . ..
AR-454 Regain Lost I/O Ports with Erasable PLDs .....•......•...............

2-1
2-13
2-26
2-42
2-S9
2-74
2-106
2-111
2-116
2-128
2-138
2-1S2
2-1S9
2-16S
2-177
2-188
2-198
2-220
2-233
2-241
2-2S1
2-2SS
2-2S8

CHAPTER 3
Advanced Architecture EPLDs
DATA SHEETS
SAC312, l-Micron CHMOS Erasable Programmable Logic Device...............
SAC324,l-Micron CHMOS EPLD ...•...••..........•...•.........•.........
8SCS08, Fast l-Micron CHMOS EPLD .... . . . • . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . .
SCBIC, Programmable BUS Interface Controller. . . . • . . . . . . . . . . . . . . . . . . . . . • . . . •
APPLICATION NOTES
AP-317 Implementing a PS/2 POS Using the SAC312 EPLD ...•..........•.....
AP-319 Designing with the SAC312/SAC324 EPLDs ............•..............
TECHNICAL PAPERS
Programmable and/ Allocatable Based EPLD Addresses the Needs of Complex
Combinational and Sequential Designs. . . . • . . . . • . . • . . . . . . • . . . . . . . . . . . . . . . . .
Advanced Architecture PLDs Solve Common State Machine Problems. . . . . • . . . . .
vii

3-1
3-19
3-38
3-4S
3-62
3-74
3-83
3-91

Table of Contents (Continued)
CHAPTER 4

Development Support Tools
DATA SHEETS
iPLDS II, The Intel Programmable Logic Development System Version II . . . . . . . . . .
iUP-PC, Intel Universal Programmer for the Personal Computer .................
iUP-200AliUP-201 A Universal PROM Programmers . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRODUCT BRIEFS
SCHEMA II-PLD ................................................. .'........
iPLSIl Macro Librarian .....................................................
PLDUTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UTILITIES
PAL2ADF Utility...........................................................
JED2HEX Conversion Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPLICATION BRIEFS
AB-18 TTL Macro Library Listing for EPLD Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . .
AB-21 EPLD Custom Macro Library Listing for EPLD Designs . . . . . . . . . . . . . . . . . . .
APPLICATION NOTES
AP-311 Using Macros in EPLD Designs ........................... . . . . . . . . . . .
AP-312 Creating Macros for EPLD Designs...................................
TECHNICAL PAPERS
Tools for Optimizing PLD Designs '" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-1
4-11
4-18
4-25
4-26
4-27
4-29
4-32
4-33
4-37
4-41
4-52
4-62

CHAPTER 5

Appendix
EPLD Third Party Programming Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLA to EPLD Replacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ordering Information ......................................................
Device Feature Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPLD Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compatible Computers for iPLDS II .•. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

viii

5-1
5-2
5-3
5-4
5-5
5-6

Alphanumeric Index'
SAC312, l-Micron CHMOS Erasable Programmable Logic Device......................
3-1
SAC324, l-Micron CHMOS EPLD ................ ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
SC031 , 3bO-Gate CHMOS H-Series Erasable Programmable Logic Device (i-t-EPLD) ..... " 2-1
SC032, 300-Gate CHMOS H-Series Erasable Programmab,e Logic Device (H-EPLD) ..... 2-13
SC060, 600-Gate CHMOS H-Series Erasable Programmable Logic Device (H-EPLD) ..... 2-26
~C090, 900-GateCHMOS H-Series Erasable Programmable Logic Device (H 7EPLD) ... :.
2-42
SC121, 1200-Gate CHMOS H-Series Erasable Programmable Logic Device ..... :....... 2-S9
SC180, 1800-Gate CHMOS Erasable Programmable Logic Device..................... 2-74
SCBIC, Programmable BUS Interface Controller .........•......•..................... 3-4S
8SCS08, Fast l-Micron CHMOS EPLD ............ " ...•...........•....... ~ . . . . . . . . . 3-38
iPLDS II, The Intel Programmable Logic Development System Version II ......... :......
4-1
iUP-200AliUP-201A Universal PROM Programmers.................................. 4-18
iUP-PC, Intel Universal Programmer for the Personal Computer . . . . . . . . • . . . . . . . . . . . . . . . 4-11

'ix

Any of the following products may appear in this publication. If so, it must be noted that
such products have counterparts manufactured by Intel Puerto Rico, Inc., Intel Puerto
Rico II, Inc., and/or Intel Singapore, Ltd. The product codes/part numbers of these
counterpart products are listed below next to the corresponding Intel Corporation product
codes/part numbers.
Intel Corporation
Product Code./
Part Numbers

376SKIT
903
904
913
914
923
924
952
953
954
ADAICE
B386MI
B386M2
B386M4
B386M8
C044KIT
C252KIT
C28
C32
C452KIT
D86ASM
D86C86
D8~EDI

DCM911 I
DOSNET
FI
GUPILOGICIID
H4
1044
1252KIT
I452KIT
I86ASM
ICE386
111010
111086
111086
111111 1II186
1II186
1II198
111212
111286
1II286
111515
I1I520
1II520
1II531
1II532
1II533
1II621
111707
1II707
111815
INA96 I
IPAT86
KAS
KC
KH
KMI

Intel Puerto Rico, Ioc.
Intel Puerto Rico II, Inc.
Product Codes/
Part Numbers
p376SKIT
p903
p904
p913
p914
p923
p924
p952
p953
p954
pADAICE
pB386MI
pB386M2
pB386M4
pB386M8
pC044KIT
pC252KIT
pC28
pC32
pC452KIT
pD86ASM
pD86C86
pD86EDI
pDCM911I
pDOSNET
pFI
pGUPILOGICIID
pH4
plO44
pI252KIT
pI452KIT
pI86ASM
pICE386
plllOIO
plll086
TIII086
pIlI111
pIlI 186
TIII186
plll198
plII212
plII286
TIII286
plll515
TIII520
plII520
plII53 I
plII532
plII533
plII621
plll707
TIII707
pIII815
pINA961
pIPAT86
pKAS
pKC
pKH
pKMI

Intel Siogapore, Ltd.
Product Code./
Part Number.

Intel Corporation
Product Code./
Part Numbers

KM2
KM4
KM8
KNLAN
KT60
KWI40
KW40
KW80
MI
M2
M4
M8
MDS610
MDX3015
MDX3015
MDX3016
MDX3016
MDX457
MDX457
MDX458
MDX458
MSA96
NLAN
PCLINK
PCX344A
R286ASM
R286EDI
R286PLM
R286SSC
R86FOR
RCB44 10
RCX920
RMX286
RMXNET
S301
S386
SBCOIO
SBCOl2
SBC020
SBC028
SBC040
SBC056
SBCI08
SBCI16
SBCI8603
SBCI86410
SBC18651
SBCI86530
SBC18678
SBCI8848
SBCI8856
SBC208
SBC214
SBC215
SBC220
SBC221
SBC28610
SBC28612
SBC28614

Intel Puerto Rico, Inc.
Intel Puerto R,co II, Inc.
Product Code./
Part Numbers

Intel Singapore, Ltd.
Product Codes /
Part Number.

pKM2
pKM4
pKM8
pKNLAN
pKT60
pKWI40
pKW40
pKW80
pMI
pM2
pM4
pM8
pMDS610
pMDX3015
pMDX3015
pMDX3016
pMDX3016
pMDX457
pMDX457
pMDX458
pMDX458
pMSA96
pNLAN
sPCLINK
pPCX344A
pR286ASM
pR286EDI
pR286PLM
pR286SSC
pR86FOR
sRCB4410
pRCX920
pRMX286
pRMXNET
pS301
pS386
pSBCOIO
pSBCOI2
pSBC020
pSBC028
pSBC040
pSBC056
pSBClO8
pSBCI16
pSBCI8603
pSBC186410
pSBC18651
pSBC186530
pSBCI8678
pSBC18848
pSBCI8856
pSBC208
pSBC214
pSBC215
pSBC220
pSBC221
pSBC28610
pSBC28612
pSBC28614

sSBCOl2

sSBC18603
sSBCI8651

sSBCI8848
sSBCI8856
sSBC208
sSBC220
sSBC28610

Intel Corporation
Product Codes/
Part Numbers

SBC28616
SBC300
SBC301
SBC302
SBC3P4
SBC307
SBC314
SBC322
SBC324
SBC337
SBC341
SBC386
SBC386116
SBC386120
SBC38621
SBC38622
SBC38624
SBC38628
SBC38631
SBC38632
SBC38634
SBC38638
SBC428
SBC464
SBC517
SBC519
SBC534
SBC548
SBC550
SBC550
SBC550
SBC552
SBC556
SBC569
SBC589
SBC604
SBC608
SBC614
SBC618
SBC655
SBC66 II
SBC8010
SBC80204
SBC8024
SBC8030
SBC8605
SBC8612
SBC8614
SBC8630
SBC8635
SBC86C38
SBC8825
SBC8840
SBC8845
SBC905
SBCLNKOO1.

Int~ Puerto Rico, Inc.
Intel Puerto Rico II, Inc.
Product Codes/

Part Numbers

pSBC28616
pSBC300
pSBC301
pSBC302
pSBC304
pSBC307
pSBC314
pSBC322
pSBC324
pSBC337
pSBC341
pSBC386
pSBC386116
pSBC386120
pSBC38621
pSBC38622
pSBC38624
pSBC38628
pSBC38631
pSBC38632
pSBC38634
pSBC38638
pSBC428
pSBC464
pSBC517
pSBC519
pSBC534
pSBC548
TSBC550
pSBC550
pSBC550
pSBC552
pSBC556
pSBC569
pSBC589
pSBC604
pSBC608
pSBC614
pSBC618
pSBC655
pSBC6611
pSBC8010
pSBC80204
pSBC8024
pSBC8030
pSBC8605
pSBC8612
pSBC8614
pSBC8630
pSBC8635
pSBC8825
pSBC8840
pSBC8845
pSBC905
pSBCLNKOOI

Intel Singapore, Ltd.
Product Codes/
Part Numbers

sSBC386

sSBC428
sSBC519
sSBC534

sSBC556

sSBC8024
sSBC8605
sSBC8630
sSBC8635
sSBC86C38
sSBC8825
sSBC8845

Intel Corporation
Product Codes/
Part Nulnbers

SBCMEM310
SBCMEM312
SBCMEM320
SBCMEM340
SBE96
SBX217
SBX218
SBX270
SBX311
SBX328
SBX331
SBX344
SBX350
SBX351
SBX354
SBX488
SBX586
SCHEMAIIPLD
SCOM
SDK51
SDK85
SDK86
SXM217
SXM28612
SXM386
SXM544
SXM552
SXM951
SXM955
SYP120
SYP301
SYP302
SYP31090
SYP311
SYP3847
SYR286
SYR86
SYS120
SYS310
SYS311
T60
TA096
TA252
TA452
W140
W280
W40
W80
XNX286DOC
XNX286DOCB
XNXIBASE
XNXIDB
XNXIDESK
XNXIPLAN
XNXIWORD

Intel Puerto Rico, Inc.
Intel Puerto Rico II, Inc.
Product Codes/
Part Numbers

Intel Singapore, Ltd.
Product Codes/
Part' Numbers

pSBCMEM310
pSBCMEM312
pSBCMEM320
pSBCMEM340
pSBE96
pSBX217
pSBX218
pSBX270
pSBX311
pSBX328
pSBX331
pSBX344
pSBX350
pSBX351
pSBX354
pSBX488
sSBX586
pSCHEMAIIPLD
pSCOM
pSDK51
pSDK85
pSDK86
pSXM217
pSXM28612
pSXM386
pSXM544
pSXM552
pSXM951
pSXM955
pSYP120
pSYP301
pSYP302
pSYP31090
pSYP311
pSYP3847
pSYR286
pSYR86
pSYS120
pSYS310
pSYS311
pT60
pTA096
pTA252
pTA452
pW140
pW280
pW40
pW80
pXNX286DOC
pXNX286DOCB
pXNXIBASE
pXNXIDB
pXNXIDESK
pXNXIPLAN
pXNXIWORD

CG/PCPN/1024BB

Overview

1

•

I

I

OVERVIEW

a. 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 (54/74 & 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. HIGHER PERFORMANCE: Reduced number of
ICs contributes to faster system speeds as well as lower
power consumption.
d. HIGHER 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 methodology.

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 obsolescence protection.

USER DEFINED ICIMPLEMENTATION 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 to 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
(3) standard cell based ICs
(4) full custom I Cs

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

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, determines which of th~e connections he would like to remain open and which he
would like to close, through the programming of the
PW. Programmability of these connections is achieved
using various memory technologies such as fuses,
EPROM cclls, EEPROM cells or Static RAM cells (see
Figure 3).

USER DEF"INED LOGIC

1

I

,I

.. SE..ICUSTO..

I

I

PROGRA....ABLE
LOGIC

CUSTO..

I

GATE
ARRAYS

I

STANDARD
CELL

I

F"ULL
CUSTO..
296032-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 PLA 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 combinational logic.

memory cell
used a. logic control element

The number and locations of the programmable connections 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

296032-3

Figure 3. Programmable Connections

F"EEDBACK (pl'Qllrammable)

~~
INPUT
PIN [

I

.J\.

.J\.

-v

-v

.J\.

PROGRA....ABLE
'AND' Be 'OR' ARRAY

INPUT BLOCK
(contain. latche. and other
programmable Input options)

-v

F=;.

OUTPUT
PIN

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

Figure 2. General Architecture of a PLD

1-2

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

1

PROGRAMMABLE
LOGIC

CUSTOM

I

GATE
ARRAYS

I

I

I

STANDARD
CELL

FULL
CUSTOM

ERASABLE PROGRAMMABLE LOGIC
DEVICES

DESIGN COMPLEXITY
DESIGN TIME &: 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.

I

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. WWER 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 in significant losses when preprogrammed parts are
inventoried and design changes occur.

4. ARCHITECTURAL 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

OVERVIEW

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 PtDs-a blown fuse is clearly
visible) as the stored charges are captured on a buried
layer of polysilicon.

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.
.'

FEEDBACK (programmable)

~~
INPUT
PIN

~

I
.1..

.J\.
-y"

-V

PROGRAMMABLE
'AND' ARRAY

FIXED
'OR'
ARRAY

.J\.

---,I

~

OUTPUT
PIN

OUTPUT BLOCK
(containing output
controls, registers. etc.)

INPUT BLOCK
(contains latches and other
programmable Input options)

296032-4

Figure 5. Architecture of Intei EPLDs
'DEVELOPMENT
SOFTWARE

USER

Data
Entry

User
Specific
Resource or

Device Request

Device
Utilization
Report

...
...

,
.,
,

~

CONVERSION TO
BOOLEAN
EQUATIONS

~

LOGIC
MINIMIZATION TO
SUM-Or-PRODUCTS
FORMAT

RESOURCE
MATCHING OPTIMAL
RESOURCE
ALLOCATION

PROGRAMMING
PATTERN
GENERATION

PROGRAMMING
HARDWARE

[l]

[II

,

lID

[Z)
JEDEC
Data
Flle

to..
r

296032-6

Figure 6. The PLD Design Process

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 Design Entry 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 JEDEC file information.

CHMOS TECHNOLOGY IN EPLDs
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.

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

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 algorithms).

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.
• Observe good design rules in printed circuit board
layout.
• Provide adequate decoupling capacitance at both
the device and the board level.

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
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 Vee or GND
(CHMOS inputs should not be left floating).

Electrostatic 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 I 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 into two devices.

A charged human body that touches a device lead
discharges electricity 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 one 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

intJ

OVERVI~W

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 conductive foam.

Tabular methods like Karnaugh 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 impact 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 to approximate a trace 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 , [HaN 74]
and PRESTO developed by D. Brown [BRa 8il.
ESPRESSO uses many of the core principles in MINI
and PRESTO while improving on the speed and efficiency of their algorithms.

Oecoupling

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 (PRESTO) 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 /kF, depending on board frequency
and current consumption. For most applications, a
0.1 /kF capacitor will suffice. The following equation
produces the exact value:
C=

alee

aV/ar
where

C

=

capacitor value

alee = maximum switched current

av

=

switching level

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

aT = switching time

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

References
[BRa 81]

D.W. Brown, "A State-Machine Synthesizer-SMS", Proc. 18th Design Automation
Conference, pp. 301-304. Nashville, June
1981.
[HaN 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 unused 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
marked N.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
ARCHITECTURES'

LOGIC REFRESHER COURSE
Minimization of EPLD logic equations is normally performed by sophisticated algorithms that eliminate the
need 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 includes manual methods for minimization, such as Boolean reduction or Karnaugh mapping.
Class 2 is computer-assisted minimization.
1-6

intJ

OVERVIEW

Boolean Algebra

Karnaugh Maps

The Sum-of-Product 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
S* A
=S+A

A'S
A+S
A • (S

Commutative Property

=

* C)

= (A

* S) • C

Two Variables

Associative Property

A+(S+C)=(A+8)+C
A • (8 + C) = A * S + A * C
Distributive Property
A + 8 * C = (A + 8) * (A + C)

296032-7

Postulates
0*0 = 0
0"1 = 0
1•1 = 1

0+0=0
0+1 = 0
1+ 1= 1

Three Variables
0=1

1=0

Theorems
A"O =
A'1 =
A"A =
A'A =

0
A
A
0

A+O=A
A+1=1
A+A=A
A+A=1

296032-8

A=A

Four Variables
AS

DeMorgan's Theorems
(A + S + C + D)
(A' S' C· D)

CD

A*S'C'O
A+S+C+O

Logic Functions

A
A

e

S

=

A EXCLUSIVE OR B

0

4 12 8

01

1

5 13 9

11

3

7 15 11

10 2

6 14 10

296032-9

AANDA
AORA
A NOT

A'A
A+A

0001 11 10
00

AS+AB

1-7

intJ

OVERVIEW

Five Variables
BC
DE

BC
A=1
DE
00 01 11 10
16 20 28 24 00
17 21 29 25 01
19 23 31 27 11
1822 30 26 10

A=O
0001 11 10
00 0 4 12 8
01 1 5 13 9
11 3 7 15 11
10 2 6 14 10

296032-10

Six Variables
CD
EF"
00
01
11
10

A=O

00
01
11
10

A= 1

EF"

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

10
8
9
11
10

CD
B=1
EF
0001 11 10
16 20 28 24 00
17 21 29 25 01
19 23 3127 11
18 22 30 26 10

32 36 44 40
33 37 45 41
35 39 47 43

48 52 60 56 00
49 53 61 57 01
51 55 63 59 11

34 38 46 42
0001 11 10

50 54 62 58 10
0001 11 10

EF
CD

i

CD

296032-11

T Truth Table

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

o Truth Table
0

QN

0
0
1
1

0
1
0
1

QN+1
0

0
0
1
1

QN+1
0
1
0
1

QN

0
0
1
1

0
1
0
1

QN+1
0
1
1
0

T Excitation Table

0
1
1

o Excitation Table
QN

T

0
0
1
0
1

1-8

QN

QN+1

T

0
0
1
1

0
1
0
1

0
1
1
0

inter

OVERVIEW

when input transitions are not detected over a short
period of time. The following paragraphs describe how
the Turbo 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 Off (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
(5C060, 5AC312, 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
0
1

0
1
X
X

X
X
1
0

0
1
1

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 o-to 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
off 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 programmable
software. With TURBO = ON the device will be programmed 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 several packages to meet
the wide requirements of customer applications. Current information on available packages is available from
your local Intel field sales engineer. Detailed informatiqn 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

OVERVIEW

ORDERING INFORMATION
Intel EPLDs are identified as follows:

o
'-vJ

5

c

x

'X

I

Device

s

X

'-vJ \.~------~------------/

S
/

\.

Speed

Technology
C -CHMOS
AC- Advanced CHMOS
Package Type
A - Hermetic, Pin Grid Array

AJ -

L *M Q T -

D - Hermetic, Type D (Cerdip) Dip
N - Plastic, Leaded Chip Carrier
CJ - Ceramic, J Leaded Chip Carrier
P - Plastic Dip and Plastic Flatpack
R - Hermetic, Leadless Chip Carrier
X - Unpackaged Device
Indicates automotive operating temperature range (-40°C to + 12S°C)
Indicates a JAN qualified device, but is for internal identification purposes only. All JAN devices must be
ordered by M38SlO part number. (Example: M38S10/42001 BQB), and will be marked in accordance
with MIL-M-38SlO specifications.
Indicates extended operating temperature range ( - 4O"C to + 8S°C) express product with
160 + 8 hrs. dynamic burn-in.
Indicates military operating temperature range (- SsoC to + 125°C)
Indicates commercial temperature range (O°C to 70°C) express product with 160 + 8 hrs. dynamic burnin.
Indicates extended temperature range (-40~C to + 8S°C) express product without burn-in.
No letter indicateS commercial temperature range (OOC to 700C) without burn-in.

Examples:
QDSC060-45 Commercial with burn-in, ceramic Dip, 060 (600 gate) device, 45 nanosecond.
'On military temperature devices, B suffix indicates MIL-STD-883C level B processing.

1-10

EPLDs Erasable Programmable
Logic Devices

2

5C031 ,
,
300 GATE CHMOS H-SERIES ERASABLE
PROGRAMMABLE LOGIC DEVICE (H-EPLD)
•

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

• Up to 18 Inputs (10 Dedicated & 8 1/0)
and 8 Outputs.
• Eight Macrocells with Programmable
1/0 Architecture.
•

•

CHMOS EPROM Technology Based UV
Erasable.

•

Programmable "Security Bit" Allows
Total Protection of Proprietary Designs

•

Icc (standby) 35 mA (max)
Icc (10 MHz) 40 mA (max)

• tpD = 40 ns (max)
• 20-pin 0.3" Windowed CERDIP Package

100% Generically Testable EPROM
Logic Control Array.

(See Packaging Spec., Order # 231369)

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

•

100% Compatible with EP310'

Vee
I/o
I/o
I/O
I/O
I/O
I/O
I/O
I/o
I/Vpp

INPUT/eLK
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT

8

INPUT
GND

290154-1

Pin Configuration

2-1

October 1988
Order Number: 290154-002

inter

5C031

The Intel 5C031 H-EPLD (H-series Erasable Programmable Logic Device) is capable of irnplemElnting over 300 equivalent gates of user~customi,zed
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 20-pin fus.e-based programmable logic devices.
With its flexible programmable 1/0 architecture, this
device has advanced functional capabilities beyond
that of typical programmable logic.

ARCHITECTURE DESCRI.PTION
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 acco·mmodate both
combiAational 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 5C031 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-directional 1/0
pins. Each of these 1/0 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-EPLOs 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 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 I/O architecture block. The
different 1/0 and feedback options that are achievable from the 5C031 1/0 block are shown in
Figure 3.

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

2-2

5C031

CLOCK

.Q.

3

5
4

7
6

9 11 13 15 17 19 21 23 25 27 29 31 33 35
8 10 12 14 16 18 20 22 24 26 28 30 32 34

290154-2

Figure 1. SC031 Architecture

2·3

l
CLOCK

3

o

~~I

2

T

7

5
4

6

9

s

11
10

13
12

14

12

17
16

21
23
25
27
29
31
33
35
19
1sT 20- 22T 24T 26T 2sT 30- 32T 34--

TI TI TI TITI TITI TI TI TI TI TI TI TI TI TI Til

o~~~~~~-+~-+~-+~-+~-+-+-+-+-;-+-;-+-;-+~~~~~~--r;--r;~r;H

~

~I

PRESET CLOCK

c

Vl

:::;:

Cil

eJ3
l-

~

ARCHITECTURE ~
CONTROL
~

f) ti
'9.
::>4
n Cl

~ .,»

~

~
Q

~

0
Q::
Cl..5

...

Co)

ifl
n
.,

0

n

l!:

7

FEEDBACK

11
NOTE 0

= I/O

2

19

3

18

4

17

5

16

PIN IN WHICH LOGIC ARRAY INPUT IS FROM FEEDBACK PATH

6

15

7

14

8

13

9

-----------J

__- - - - - - - - - - - - - - - - - - - - - - - - - -________________________~I\~ ______________

PLA BLOCK

1/0 ARCHITECTURE
BLOCK
290154-3

inter

5C031

OE

PRODUCT
TERMS

--------------------------.
OUTPUT
SELECT

RESET

FEEDBACK
SELECT
FEEDBACK

-------------------------290154-4

Figure 3. 5C031 1/0 Architecture Control

20 PIN CMOS COMPATIBILITY
The 5C031 is architected to be a logical superset of most 20 pin bipolar programmable array logic (PAL *)
devices. The I/O and logic sections of the 5C031 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 each macrocell.
List of PAL devices logically compatible with the 5C031.
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-5

5C031

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.

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

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 30004oooA. Data shows that constant exposure to room
level flourescent lighting could erase the typical
5C031 in approximately three years, while it would
take approximately one week to cause erasure when
exposed to direct sunlight. If the 5C031 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 5C031 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.
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 5C031
is exposure to shortwave ultraviolet light with a
wavelength of 2537A. The integrated dose (i.e., 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/cm2
power rating. The 5C031 should be placed within
one inch of the lamp tubes during erasure. The maximum integrated dose the 5C031 can be exposed to
without damage is 7258 Wsec/cm 2 (1 week at
12,000 p.W/cm2). Exposure to high intensity UV light
for longer periods may cause permanent damage to
the device.

DESIGN RECOMMENDATIONS
For proper operation, it is recommended that all input and output pins be constrained to the voltage
range GND < (VIN pr 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 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.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of the 5C031 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 5C031.

As with all CMOS devices, ESD handling procedures
should be used with the 5C031 to prevent damage
to the device during programming, assembly, and
test.

inteligent Programming™ Algorithm
The 5C031 supports the inteligent Programming Algorithm which rapidly programs Intel H-ELPDs (and
EPROMs) using an efficient and reliable method.

2-6

inter

5C031

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.

The iPLDS II has interfaces to popular schematic
capture packages to enable designs to be entered
using schematics. An 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.

LATCH-UP IMMUNITY

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. 512K Memory (640K recommended).
4. Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS).
5. A color monitor is suggested.

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 -1V to Vee + 1V. Furthermore,
the programming pin is designed to resist latch-up to
the 13.5V maximum device limit.

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)
tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
i"tMS-DOS is a registered trademark of Microsoft
Corporation.

iPLDS II 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 the best design fit for the
selected EPLD. It is user friendly with guided menus,
on-line Help messages and soft key inputs.

ADF PRIMITIVES SUPPORTED
The following ADF primitives are supported by this
device:
RONF
INP
CONF
ROCF
COCF
RORF
ROlF
CORF
NORF
COIF
NOCF

In addition, the iPLDS II contai[ls 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

ORDERING INFORMATION
tpD
(ns)

(ns)

fMAX
(MHz)

Order
Code

Package

Operating
Range

40

24

29.5

D5C031-40

CERDIP

Commercial

D5C031-50

CERDIP

Commercial

50

teo

28

22.5

2-7

5C031

• 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 t,7ese 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

Units

Vee

Supply Voltage(1)

-2.0

7.0

V

Vpp

Programming
Supply Voltage(1)

-2.0

13.5

V

V,

De Input Voltage(1)(2)

-0.5 Vee+ 0.5

V

t8t9

Storage Temperature

-65

+150

'e

tamb

Ambient Temperature(3)

-10

+85

'e

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

RECOMMENDED OPERATING CONDITIONS
Symbol

Parameter

Min

Max

Unit

Vee

Supply Voltage

4.75

5.25

-V

V,N

Input Voltage

0

Vee

V

\

Vo

Output Voltage

0

Vee

V

TA

Operating Temperature

0

+70

°C

tR

Input Rise Time

500

ns

tF

Input Fall Time

500

ns

D.C. CHARACTERISTICS
Symbol

TA = 0° to + 70°C, Vee = 5V ± 5%

Parameter/Test Conditions

Min

Typ

Max

Unit

V'H(4)

High Level Input Voltage

2.0

Vee + 0.3

V

V'L~4)

Low Level Input Voltage

-0.3

0.8

V

VOH(5)

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.

0.45

V

I,

Input Leakage Current
Vee = max., GND < V,N

±10

IJ-A

2.4

< Vee

2-8

V

intJ

5C031

D.C. CHARACTERISTICS
Symbol

TA = o·to +70·C, vcc = 5V ±5% (Continued)

Parameter/Test Conditions
Output Leakage Current
Vee = max., GND < VOUT

loz

Min

Typ

Max

Unit

±10

,...A

10

mA

40

mA

< Vcc

Isc!6)

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

Icc

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.

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 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.

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

.-----5V
INPUT

DEVICE [ > - t -.....-i:> TO TEST
OUTPUT
SYSTE~

OUTPUT

3.0](2.0

0 0 . 8 >TEST POINTS<

V2E
~

1~-TEST POINTS-~
290154-7

341.0.

A.C. Tesung: Inputs are Dnven a13.0V for a logic "'I" and OV tor
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 times < 6 ns.

290154-6
CL=50pF

CAPACITANCE
Symbol

Parameter

Conditions

=

Min

Typ

Max

Unit

OV, f = 1.0 MHz

20

pF

=

20

pF

20

pF

50

pF

CIN

Input Capacitance

VIN

COUT

Output Capacitance

VOUT = OV, f

CCLK

Clock Pin Capacitance

VIN = OV, f

CvPp

VppPin

Pin 11

=

2-9

1.0 MHz

1.0 MHz

5C031

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

From

5C031-40
EP310-3

To
Min

Typ

6C031-50
EP310
Min

Max

Typ

Unit
Max

tpD

1/0

Comb. Output

40

50

ns

tpzx(S)

lor 110

Output Enable

40

50

ns,

tpxz(S)

10ril0

Output Disable

40

50

ns

telR

Asynch Reset

QReset

40

50

ns

NOTES:

7. Typical Values are at TA = 25·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 = S pF.

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

5C031-50
EP310

5C031-40
EP310-3

- Parameter
Min

Typ

Max

Min

Typ

Unit
Max

tMAX

Max. Frequency (Pipelined)
1I (tel + teH)- No Feedback

29.4

22.7

MHz

tCNT

Max. Count Frequency
1ItCNT - With Feedback

22.2

18.1

MHz

tsu

1/0 Setup Time to CLK

32

30

0

ns

tH

I or 1/0 Hold after CLK High

teo

CLK High to Output Valid

tCNT

Register Output Feedback to
Register Input - Internal
Path

45

55

ns

teH

CLK High Time

17

22

ns

tCl

CLKLowTime

17

22

tSET

ns

0
28

24

40

Synch. Set to Q Set

2-10

ns

ns
50

ns

5C031

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

f~=l
! - - - tpxz -

COMBINATORIAL OR
REGISTERED OUTPUT

I

r

HIGH IMPEDANCE

tpzx

\,

HIGH IMPEDANCE

/

3- STATE

~

3- STATE

VALID OUTPUT

tCLR

\

i\

ASYNCHRONOUSLY
CLEAR OUTPUT
290154-8

SYNCHRONOUS CLOCK MODE

CLK1

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT
290154-9

2-11

5C031

5C031 Current In Relation to Frequency
100
90

~

~
,~

80
70
60
50
40
l,.....oo" I-"'"
30
20
10

o
o

5

---- - -

10

15

20

25

30 35

fo (MHz)
290154-10

Conditions: TA .. O"C, Vcr; = 5.25V

2-12

inter

5C032
300 GATE CHMOS H-SERIES ERASABLE
PROGRAMMABLE LOGIC DEVICE (H-EPLD)

Performance, Low Power
• High
Replacement for SSI & MSI Devices

•
•
•
•
•
•

and Bipolar PLDs
Up to 18 Inputs (10 Dedicated & 8
• and
8 Outputs

•
•
•

1/0)

Eight Macrocells with Programmable
1/0 Architecture
100% Generically Testable EPROM
Logic Control Array
High Performance Upgrade for All
Commonly Used 20-pin PLDs

CHMOS EPROM Technology Based UV
Erasable
Programmable "Security Bit" Allows
Total Protection of Proprietary Designs
Icc (standby) 100 /LA (max)
Icc (10 MHz) 25 rnA (max)
tpD

=

25 ns (max)

20-pin 0.3" Ceramic and Plastic DIP
Package
(See Packaging Spec., Order #231369)

100% Compatible with EP320

Vee
I/o
I/o
I/o
I/O
I/o
I/o
I/o
I/O
I/Vpp

INPUT/elK
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
GND

290155-1

Pin Configuration

2-13

October 1988
Order Number: 290155-003

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 I/O architecture, this
device has advanced functional capabilities beyond
that of typical programmable logic.

ARCHITECTURE DESCRIPTION
The architecture oOhe 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 liD 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. Th~se I/Opins can be individually
configured to be inputs, outputs or bi-directional liD
pins. Each of these liD 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 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 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 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 liD architecture block. The
different liD and feedback options that are available
in the 5C032 liD 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-14

intJ

5C032

CLOCK

a

~
;E

3

5

7

9 11 1 3 1 5 17 1 9 21 23 25 27 29 31 33 35

.1 It it tIf If

rIfif rIf rII IIf r
II

PLA BLOCK

I/O

I-- ARCHITECTURE

I

2

IIII

rI r I I I I I I I I I I f I I I I

I I I I I I I I I I I IFEEDBACK

PLA BLOCK

3

-

19

CONTROL CK

7

IIIIIIII

r-

r Ir I I I I I I I I I I I I I I I

I/O
ARCHITECTURE
CONTROL CK

j....J

I II I I I I

H

PLA BLOCK

I
I

I/O
ARCHITECTURE
CONTROL CK

t--I

-

I II I I I I I I I I I I I I I

6

r-

~

I/O
ARCHITECTURE
CONTROL CK

15

I

I
PLA BLOCK
I""-

I I I I I I II II LUll U Ul

16

'I

I II I LUll tlH1Ll U

PLA BLOCK

7 r>

17

I

I
PLA BLOCK

5

18

~

ARCHITECTURE
I/O
CONTROL CK

4 D-I'

~

1-1

I

PLA BLOCK

r-

8

'10
ARCHITECTURE
CONTROL CK

}!ba

I

I/o
ARCHITECTURE
CONTROL CK

I

J

PLA BLOCK

I/O
I-- ARCHITECTURE
CONTROL CK

~

9 C>

14

~

13

~

12

1
1
290155-2

Figure 1. 5C032 Architecture

2-15

(
CLOCK

3
.0

2

5

r

4

7
.6'

9
81'"

r

11
10

1~

13

1~

15

r

17

16 ~

1~

19

21
20

23
22

2~

25

27
26 :

2~

29

31
30

33
32

35
34

OE

8J

o

'TI

is
c:

;

~.

2

::::e

eJ3

lI-

"" g4
b

ca
I\)

.!..
0)

n

o

j

(L5

~

CONTROL

oQ:

i:

CLOCK

Db- .., """'""' ..:J
D

til

-j) -va

~

6

Co)

N

I ." " ~ ." ." .~ ." ~ ." ~ ~ ." ~ ~ ." ~ .~ ."I'.oJ
7

~

J..

~

l

~

J.

l

~ ~

i.

J.

l

~

J., J. ~ ~

:I.

,i.

J.

~ ~

,J. ,~

~

-11
~

2

19

3

18

4

17

5

16

6

15

7

14

8

13

.

9

NOTED = I/O PIN IN WHICH LOGIC ARRAY INPUT 15 FROM FEEDBACK PATH
___________________________________________________________________________________________________________

J\~ _ _ _ _ _ _ _ _ _ _ _ _~ _ _ _ _ _ _ _ _ _ _~

PLA BLOCK

~
C)

I/o

ARCHITECTURE
BLOCK
290155-3

intJ

5C032

OE

r-------------------PROOUCT

I/o

TER~S

FEEDBACK

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 I/O 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 each macrocell.
List of PAL devices logically compatible with the 5C032.
16V8
. 16L2
10H8
16L8
12H6
16R8
14H4
16R6
16H2
16R4
16H8
16P8A
16C1
16RP8A
10LB
16RP6A
12L6
16RP4A
14L4
'PAL is a registered trademark of Monolithic Memories, Inc.

2-17

inter

5C032

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

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

ERASURE CHARACTERISTICS

FUNCTIONAL TESTING

Erased-State Configuration

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 the5C032 is con. trolled 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 tile 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
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-base~ 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 (i.e., 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 IJ-W/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 IJ-W/cm 2 ). Exposure to high intensity UV light
for longer periods may cause permanent damage to
the device.

DESIGN RECOMMENDATIONS
For proper operation, it is recommended that all input and output pins be constrained to the voltage
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. 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 IJ-F
must be connected directly between Vee and GND
pins of the device.

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.

As with all CMOS devices, ESD handling procedures
should be used with the 5C032 to prevent damage
to the device during programming, assembly, and
test.

inteligent Programming™ Algorithm
DESIGN SECURITY

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 environment.

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 invisi2-18

5C032

process. Thus, each of the 5C032 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.

ble even to microscopic evaluation. The EPROM security bit, along with all the other EPROM control
bits, will be reset by erasing the device.

AUTOMATIC STAND-BY MODE
The 5C032 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power
savings. When the Turbo Bit is programmed
(TURBO = ON), the device is optimized for maximum speed. When the Turbo bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during periods of
inactivity.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (iPLDS II)
iPLDS II 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 the best design fit for the
selected EPLD. It is user friendly with guided menus,
on-line Help messages and soft key inputs.

Figure 4 shows the device entering standby mode
approximately 100 ns after the last input transition.
When the next input transition is detected, the device returns to active mode. Wakeup time adds an
additional 15 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than
one input and the last of the inputs changes after the
device has returned to active mode.

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.

After erasure, the Turbo Bit is unprogrammed (OFF):
automatic standby mode is enabled. When the Turbo Bit is programmed (ON), the device never enters
standby mode.

LATCH-UP IMMUNITY

The iPLDS II has interfaces to popular schematic
capture packages to enable designs to be entered
using schematics. An integrated schematic entry
method is provided by SCHEMAII-PLD.a low-

All of the input, 1/0, and clock pins of the 5C032
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 5C032 is designed with Intel's proprietary CHMOS II-E EPROM

FIRST
INPUT

---

t

....--~------;lr"""

LAST
INPUT

OUTPUT

CURRENT
OmA

VALID OUTPUT

VALID OUTPUT

ACTIVE MODE

ACTIVE MODE

Icc

Icc

----------------------~~======~--------------290155-14
Figure 4. 5C032 Standby and Active Mode Transitions
2-19

inter

5C032

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.

ADF PRIMITIVES SUPPORTED
The following ADF primitives are supported by this
device:
RONF
RORF
NORF

INP
CONF
COIF

The iPLDS operates onthe IBMt PC/XT, PCI AT, or
other compatible machine with the following configuration:
1. At least one floppy disk drive and hard disk drive.

ORDERING INFORMATION
tpD teo fMAX
(ns) (ns) (MHz)

2. MS-DOStt Operating System Version 3.0 or
greater.
3. 512K Memory (640K recommended).
4. Intel iUP-PC Universal Programmer-Personal
Computer and GUPI Adaptor (supplied with
iPLDS II).

25

15

50

30

17

43.5

20

40

Order
Code

Package

D5C032-25 CERDIP

Operating
Range
Commercial

P5C032-25 PDIP
D5C032-30 CERDIP

Commercial

P5C032-30 POIP

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

D5C032-35 CERDIP
P5C032-35 PDIP

tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

2-20

Commercial

inter

5C032

• 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*
Symbol

Min

Max

Unit

Vee

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

V

tSlg

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 or overshoot to 7.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.

RECOMMENDED OPERATING CONDITIONS
Symbol

Parameter

Min

Max

Unit

4.75

5.25

V
V

Vcc

Supply Voltage

VIN

Input Voltage

0

Vcc

Vo

Output Voltage

0

VCC

V

TA

Operating Temperature

0

+70

'C

tR

Input Rise Time

500

ns

tF

Input Fall Time

500

ns

D.C. CHARACTERISTICS
Symbol

T A = O'C to 70'C, Vcc = 5V ± 5%

Max

Unit

High Level Input Voltage

2.0

VCC + 0.3

V

VIL(5)

Low Level Input Voltage

-0.3

O.B

VOH(6)

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

VOL

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

0.45

V

II

Input Leakage Current
Vee = max., GND < VIN

±10

p,A

±10

p,A

VIH(5)

loz

Parameter/Test Conditions

Min

Typ

V
V

2.4

< Vec

Output Leakage Current
Vee = max., GND < VOUT

< Vee

2-21

50032

D.C. CHARACTERISTICS
,Symbol

TA = O°C to 70°C, Vee = 5V ± 5% (Continued)

'ParametertTest .Conditions

Ise(7)

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

ISB(S)

Standby Current
Vee = max., VIN
Standby Mode

=

Min

Max'

Unit

10

mA

10

100

p,A

15

25

mA

Vee or GND,

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

led9 )

Typ

NOTES:
5. Absolute values with respect to device GND; all over· and undershoots due to system or tester noise are included.
6.10 at eMOS levels (3.S4V) = -2 mA.
7. Not more than 1 output should be tested at a time. Duration of that test must not exceed 1 second.
S. With Turbo Bit = Off, device automatically enters standby mode approximately 100 ns after last input transition.
9. Maximum Active eurrent at operational frequency is less than 40 mAo

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

.-----sv

3'°--Y20
INPUT

o-Ao~

>TEST POINTS

< vr.o
~

8SSA
DEVICE
OUTPUT C

TO TEST

....- t -...-I:::> SYSTEM

OUTPUT

l~-TEST P01NTS-~
290155-7

341A

A.C. Testing: Inputs are Driven at 3.0V for a Logic "I" 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 times < 6 ns.

290155-6

CAPACITANCE
Symbol

Parameter

Conditions

Min

Typ

Max

Unit

CIN

Input Capacitance

VIN = OV, f = 1.0 MHz

10

pF

COUT

Output Capacitance

VOUT = OV, f = 1.0 MHz

10

pF

CeLK

Clock Pin Capacitance

VIN

10

pF

Gvpp

Vpp Pin

Pin 11

20

pF

=

OV, f

=

2-22

1.0 MHz

intJ

5C032

A.C. CHARACTERISTICS
Symbol

From

=

TA

To

O·C to + 70·C, Vcc

=

5C032-25

5C032-30

Min

Typ

Max

Min

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

Typ

5C032-35

Max

Min

Typ

Max

Non-(8)
Turbo
Mode

Unit

tpD

lor 1/0

Comb. Output

25

30

35

+15

ns

tpZX(11)

lor 1/0

Output Enable

25

30

35

+15

ns

tpXZ(11)

lor 1/0

Output Disable

25

30

35

+15

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.

A.C. CHARACTERISTICS

T A = O·C to 70·C, VCC = 5V

± 5%, Turbo Bit On (10)

SYNCHRONOUS CLOCK MODE
Symbol

5C032-30
EP320-1

5C032-25

Parameter

5C032-35
EP320-2

Min Typ Max Min Typ Max Min Typ Max

Non-(8)
Turbo Unit
Mode

fMAX

Max. Frequency (Pipelined)
1Itsu - No Feedback

50

43.5

40

MHz

fCNT

Max. Count Frequency
1ItCNT - with Feedback

33.3

28.5

25

MHz

tsu

Input Setup Time to ClK

20

tH

lor liD Hold after ClK High

0

tco

ClK High to Output Valid

tCNT

Register Output Feedback
to Register Input - Internal
Path

30

35

40

tCH

ClK High Time

10

11

12

ns

tCl

ClKlowTime

10

11

12

ns

23

25

0
15

2-23

+15

0
17

ns
ns
ns '

20
+ 15

ns

5C032

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

~~,~
!--tpxz - -

COMBINATORIAL OR
REGISTERED OUTPUT

,

I

HIGH IMPEDANCE
3- STATE

I

!--tpzx ./';1'

HIGH IMPEDANCE
3-STATE

VALID OUTPUT

I'-..
290155-8

SYNCHRONOUS CLOCK MODE

ClK!

INPUT MAY CHANGE

INPUT MAY CHANGE

(fROM REGISTER
TO OUTPUT)

VALID OUTPUT
290155-9

2-24

5C032

Current in Relation to Frequency

Current in Relation to Temperature

50

50r---~--~r---'---~,

40

.."

30
20
10

~

40r----+----+----+----~

"..,.

(TURB
VV V

~

,....

~NON-TURBO

o
o

5

20

10 15 20 25 30 35 40

=

o°C, Vee

=

60

80 85
290155-12

290155-11
Condl1tons: TA

40

TEMP(C)

fCNiMHz)
Condilions: Vee

5.25V

=

5.25V

Output Drive Current in Relation to Voltage
100
50
40
30

-

/

20

IIOL

........ IOH

........

10

~

5
4
3
2

1

o

2

3

4

5

Vo Output Voltage (V)
290155-13
Conditions. T A

=

+ 25°C, Vee

=

5V

2-25

intJ

5C060
600-GATE CHMOS
H-SERIES ERASABLE PROGRAMMABLE
LOGIC DEVICE (H-EPLD)

Performance LSI Semi-Custom
• High
Logic Alternative to Low-End Gate
Arrays, TTL, and 74HC SSI and MSI
Logic

•
Programmable Clock System with Two
• Synchronous
Clocks as Well as

CHMOS EPROM Technology Based. UV
Erasable

Asynchronous Clocking Option on all
Registers

16 Macrocells with Programmable I/O
• Architecture;
up to 20 Inputs (4
Dedicated, 16 I/O) or 16 Outputs
High Speed tpo (max) 45 ns, 16.67 MHz
• Performance
Low Power; 50 J.lA Typical Standby
• Current
Erasable Array for 100% Generic
• Testability
Footprint 24-Pin 0.3" DIP and 28
• Small
Pin J-Leaded Chip Carrier Package

Output Registers. Can
• Programmable
be Configured as 0, T, SR, or JK Types
Security Bit Allows Total
• Programmable
• 100% Compatible with EP600
Protection of Proprietary Designs
(See Packaging Spec. Order #231369)

CLK1

Vee

INPun

INPUT4

1/0.1

1/0.16

1/0.2

1/0.15

1/0.3

1/0.14

1/0.4

1/0.13

1/0.5

1/0.12

1/0.6

1/0.11

1/0.7

1/0.10

1/0.8

1/0.9

INPUT2

GND

1/0.15
1/0.14
1/0.13
1/0.12
1/0.11
1/0.7

1/0.10

NC

NC

INPUT3
CLK2

'"

0

(!>

(!)

Z

290194-1

Z

N

'"
d

290194-2

Figure 1. 5C060 Pin Configurations

2-26

November 1988
Order Number: 290194-001

intJ

5C060

The Intel 5C060 H-EPLD (H-series Programmable
Logic Device) is capable of implementing over 600
equivalent gates of user-customized logic functions
through programming. The device can be used to
replace low-end gate arrays, multiple programmable
logic arrays and LS TTL 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
its revolutionary programmable 1/0 architecture, the
device has advanced functional capabilities beyond
that of typical programmable logic.
The 5C060 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, Intel's advanced CHMOS
II-E EPROM process technology enables greater

AND ARRAY

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 programmable logic devices. EPROM technology allows these
devices to be 100% factory tested by programming
and erasing all the EPROM logic control elements.
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 them to a specific module, the
MELD philosophy aids in hardware design. A designer can develop his modular design on the Intel Programmable Logic Development 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 is

SYNCHRONOUS

CLOCK
OE/ClK

vcc

l~ElECT
OE

{3- -{
-

I-I--

r-

EPROM
CONTROL
BIT

II

@

8=
8=

\

ClK

OUTPUT

8=

REGISTER

H?-6
OUTPUT

8=

BUFFER

~
~

~

~

~

~

c~

INPUTS AND I/O

~

~

~

A

~REGISTER

I

FEEDBACK

290194-3

Figure 2. Basic Macrocell Architecture of the 5e060
.
2-27

intJ

5C060

EPROM-based, there is no waste associated with
modular design as there would be in fuse-based
PLDs).

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) or 28-lead
J-Ieaded chip carrier package, and contains 16 programmable registers.

The architecture of the 5C060 is based on the "Sum
of Products" PLA (Programmable logic Array) structure with a programmable AND array feeding into a
fixed OR array. The device accommodates combinational and sequential logic functions. A proprietary
programmable I/O architecture provides individual
selection of either combinatorial or registered output
and feedback signals all with selectable polarity.

The basic Macrocell architecture for the 5C060 is
-shown in Figure 2. The 5C060 has' 16 of these Macrocells (one for each I/O 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 I/O
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 global device architecture is shown
in Figure 3.
-

A feature unique to the 5C060 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 within the AND array. With these features, a wide variety of logic functions can be simultaneously implemented-all on the
same device.

DEDICATED
INPUTS

DEDICATED
INPUTS

IAACROCELLS

IAACROCELLS

I/O

I/O

8 IAACROCELLS •

• 8 IAACROCELLS

••

•
•

AND RRAY

I/O ....... "'---'

GND

VCC

290194-4

Figure 3. 5C060 Global Architecture

2-28

inter

5C060

The Macrocells 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 ENABlEI
Asynchronous Clock implementation.

Output Enable (OE)/Clock Selection
Two modes of operation are provided by the
OE/ClK Select Multiplexer as a part of each Macrocell. 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 4 illustrates the two
modes of OE/ClK operation.

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.

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
Macrocell'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.

The 5C060 has 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 1/0 architecture allows for any number of the registers to be
synchronously clocked (from none to all). Both of
the dedicated clock inputs latch the data into a given
register when triggered on a positive edge.

Table 1. Mode 0 Output Selection
Product Term

Output Buffer

FALSE

Three-State

TRUE

Enabled

MODE 1: OUTPUT BUFFER ENABLED

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.

MACROCELL ARCHITECTURE
SELECTION
The 5C060 architecture provides each Macrocell
with over 50 different possible 1/0 register configurations. Each 1/0 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 1/0 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 1/0 capability of the 5C060
is the ability to individually clock each internal register from asynchronous clock signals.

Invert Select EPROM Bit
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.

2-29

seaGO
MODE 0
SYNCHRONOUS
CLOCK
VCC

OE/ClK
SELECT

OE
OE/ClK

ClK - SYNCHRONOUS
ClK

OE - P-TERM CONTROllED

OUTPUT
REGISTER
OUTPUT
BUFFER

290194-5

MODE 1
SYNCHRONOUS
CLOCK
VCC

OE/ClK
SELECT

OE

ClK - ASYNCHRONOUS
ClK

OE- ENABLED

OUTPUT
REGISTER
OUTPUT
BUFFER

290194-6

Figure 4. Output Enable/Clock Configuration

2-30

intJ

5C060

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.

REGISTER SELECTION
The advanced I/O architecture of the 5C060 allows
four different register types along with combinatorial
output as illustrated in Figure 5a. The register types
include a T, D, JK, or SR Flip-Flop and each Macrocell I/O structure may be independently 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 terf!! 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.

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

Output Register Configuration

The Feedback Select is also important for building
product terms with more than 8 products. The 8product 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 8-inputs). In addition, if the feedback product
term is not to be output, then the iPLDS II 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 four different register types shown in Figure 5b5e are described below.
D- or T-type Flip-Flops
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

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

I/O SELECTION

OUTPUTIPOLARITY

FEEDBACK

Combinatorial/High
Combinatorial/Low
None

Pin, None
Pin, None
Pin

290194-7

Figure,5a. Combinatorial I/O Configuration
2-31

intJ

5C060

SYNCHRONOUS

CLOCK

I/O SELECTION

vee

0'

OUTPUTI
POLARITY

FEEDBACK

D-RegisterIHigh
D-Register/Low
None
None

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

FUNCTION TABLE
D

On

0
0

0

1
1

0

On+ 1
0
0
1

1

1

1

290194-8

Figure 5b. D-Type Flip-Flop Register Configuration
SYNCHRONOUS
CLOCK

vee

I/O SELECTION

~~~~~

0'

OUTPUTIPOLARITY

FEEDBACK

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

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

FUNCTION TABLE
T

On

On + 1

0
0

0

0

1

1
1

0

1
1

1

0

290194-9

Figure 5c. Toggle Flip-Flop Register Configuration
2-32

inter

5C060

SYNCHRONOUS

CLOCK

vee

1/0 SELECTION

DE/elK
SELECT

OE

OUTPUT IPOLARITY

FEEDBACK

JK Register/High
JK Register/Low
None

JK Register, None
JK Register, None
JK Register

FUNCTION TABLE

eLK

J

K

On

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

On + 1
0
1
0
0
1
1
1
0

Figure 5d. JK Flip-Flop Register Configuration
SYNCHRONOUS
CLOCK

vee

1/0 SELECTION

OE/elK
SELECT

OE

OUTPUTIPOLARITY

FEEDBACK

SR Register/High
SR Register/Low
None

SR Register, None
SR Register, None
SR Register

FUNCTION TABLE
CLK

S

R

0
0
0
0
1
1

0
0
1
1
0
0

1

1

290194-11

Figure 5e. SR Flip-Flop Register Configuration
2-33

On
0
1
0
1
0
1

On+ 1
0
1
0
0
1
1
Illegal

intJ
Erased-State

5C060

ming time while programming reliability is ensured as
the incremental program margin of each bit is continually monitored tQ determine when the bit has
been successfully programmed.

Co~figuration

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

FUNCTIONAL TESTING
ERASURE CHARACTERISTICS

Since the logical operation of the 5C060 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 of the device 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 3000A4000A. 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 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 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 tne 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 5C060
is exposure to sho.rtwave 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 should be placed within
one inch of the lamp tubes during erasure. The maximum integrated dose the ·5C060 can be exposed to
without damage is 7258 Wsec/cm 2 (1 week at
12,000 p.W/cm 2). Exposure to high intensity UV light
for longer periods may cause permanent damage to
the device.

DESIGN RECOMMENDATIONS
For proper operation, it is recommended that all input and output pins be constrained to the voltage
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. Reserved pins (as indicated in the logic
compiler 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.

PROGRAMMING CHARACTERISTICS
Initially, and after erasure, all the EPROM control
bits of the 5C060 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.

As with all CMOS devices, ESD handling procedures
should be used with the 5C060 to prevent damage
to the device during programming, assembly, and
test.

inteligent Programming™ Algorithm

DESIGN SECURITY

The 5C060 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 program-

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

2-34

inter

5C060

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
All of the input, 1/0, and clock pins of the 5C060
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 5C060 is designed with Intel's proprietary CHMOS II-E EPROM
process. Thus, each of the 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.

AUTOMATIC STAND-BY MODE
The 5C060 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power
savings. When the Turbo Bit is programmed
(TURBO = ON), the device is optimized for maximum speed. When the Turbo Bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during periods of
inactivity.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (iPLDS II)
iPLDS II 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 the best design fit for the
selected EPLD. It is user friendly with guided menus,
on-line Help messages and soft key inputs.

Figure 6 shows the device entering standby mode
approximately 100 ns after the last input transition.
When the next input transition is detected, the device returns to active mode. Wakeup time adds an
additional 25 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than
one input and the last of the inputs changes after the
device has returned to active mode.
After erasure, the Turbo Bit is unprogrammed (OFF);
automatic standby mode is enabled. When the Turbo Bit is programmed (ON), the device never enters
standby mode.

FIRST
INPUT

t

""---------\
,-------------------------------\

LAST
INPUT

VALID OUTPUT

OUTPUT

CURRENT

VALID OUTPUT

ACTIVE MODE

ACTIVE MODE

Icc

Icc

OmA
290194-12

Figure S. 5COSO Standby and Active Mode Transitions

2-35

5e060

In addition, the iPLDS II contains programmer hardware in the form of an iUP-PC Universal Programmer
Pers~lnal 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.

Detailed information on the Intel Programmable Logic Development System II is contained in a separate
Intel data sheet. (Order Number: 280168)
tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

The iPLDS II has interfaces to popular schematic
capture packages to enable designs to be entered
using schematics. An 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.

ADF PRIMITIVES SUPPORTED
The following ADF primitives are supported by this
'
device:
JOJF
JONF
SONF
SOSF
TOIF
TONF
TOTF
CLKB

INP
CONF
COIF
RONF
RORF
ROlF
NORF
NOJF
NOSF
NOTF

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 3.0 or
greater.
3. 512K Memory (640K recommended).

ORDERING INFORMATION
tpD teo fMAX
(ns) (ns) (MHz)

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

45

22

26

5. A color monitor is suggested.

Order
Code

Package

D5C060-45 CERDIP

Operating
Range

Commercial

P5C060-45 PDIP
N5C060-45 PLCC
55

25

23

D5C060-55 CERDIP
P5C060-55 PDIP
N5C090-55 PLCC

2-36

Commercial

intJ

5C060

• 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*
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

tSlg

Storage Temperature

-65

+150

tamb

Ambient Temperature(3)

-10

+S5

'c
'c

Symbol

Min

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

RECOMMENDED OPERATING CONDITIONS
Symbol

Parameter

Min

Max

Unit

Vee

Supply Voltage

4.75

5.25

V

VIN

Input Voltage

0

Vee

V

Vo

Output Voltage

0

Vec

V

TA

Operating Temperature

0

+70

'C

tR(4)

Input Rise Time

500

ns

tF(4)

Input Fall Time

500

ns

NOTE:
4. tR, tF for elK is 250 ns max.

D.C. CHARACTERISTICS
Symbol

T A = O°C to 70°C, Vee = 5.0V ± 5%

Parameter

Conditions

Min Typ

Max

Unit
V

VIH(5)

HIGH Level Input Voltage

2.0

Vee + 0.3

Vll(5)

LOW Level Input Voltage

-0.3

0.8

VOH(6)

2.4
= -4.0 mA DC, Vee = Min.
LOW Level Output Voltage 10 = 4.0 mA DC, Vee = Min.
Input Leakage Current
Vee = Max., GND < VIN < Vee
Output Leakage Current
Vee = Max., GND < VOUT < Vee
Output Short Circuit Current Vee = Max., VOUT = 0.5V
Standby Current
Vee = Max.,
(Standby)
VIN = Vee or GND
Power Supply Current
No Load,
Vee = Max.,
(Active) (Turbo Bit Off)
VIN = Vee or GND Input Freq. = 1 MHz

VOL
II
loz
Ise(7)
ISB(S)
5COSO
lec
5COSO

HIGH Level Output Voltage 10

0.45

V

±10.0

/LA

±10.0

/LA

20

30

mA

50

100

/LA

10

15

mA

Device Prog. as 1S-Bit Ctr.
NOTES:
5. Absolute values with respect to device GND; all over and undershoots due to system or tester nOIse are Included.
6.10 at CMOS levels (3.S4V) = -2 mA.
7. Not more than 1 output should be tested at a time. Duration of that test must not exceed 1 second.
S. With Turbo Bit Off, device automatically enters standby mode approximately 100 ns after last input transition.

2-37

V
V

inter

5C060

A.C. TESTING INPUT, OUTPUT WAVEFORM

A.C. TESTING LOAD CIRCUIT

INPUT
DEVICE
OUTPUT

3.0](20 >

D-+-....-C> TO
TEST
SYSTEM
341.(1

OUTPUT

°

.

TEST POINTS

_0.8

< )(;0.
.

0.8

l~-TEST POINTS---~

290194-14
A.C. Testing: Inputs are Driven at 3.0V for a LogiC "I" 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 times < 6 ns.

290194-13

CAPACITANCE
Parameter

Symbol

Conditions

CIN

VIN

COUT

Output Capacitance

VOUT

CCLK

Clock Pin Capacitance

VIN

Cvpp

Vpp Pin

CLK2 on 5C060

A.C. CHARACTERISTICS

Min

Typ

= OV, f = 1.0 MHz

Input Capacitance

=

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

Max

Unit

20

pF

20

pF

20

pF

50

pF

TA = O°C to 70°C, VCC = 5V ± 5%, Turbo Bit On(9)

Device
Symbol

From

5C060-45
EP600-3

To
Min

Typ

5C060-55
EP600
Max

Min

Typ

Non-{ll)
Turbo
Mode

Unit

Max

tpDl

Input

Comb. Output

43

53

+25

ns

tpD2

1/0

Comb. Output

45

55

+25

ns

tpzx(10)

lor 1/0

Output Enable

45

55

+25

ns

tpXZ(10)

lor 1/0

Output Disable

45

55

+25

ns

tClR

Asynch. Reset

Q Reset

45

55

+25

ns

NOTES:
9. Typical Values are at TA = 25'C, Vcc = 5V, Active Mode.
10. 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.
11. If device is operated with Turbo Bit Off (Non-Turbo Mode). increase time by amount shown.

2-38

intJ

5e060

SYNCHRONOUS CLOCK MODE A.C. CHARACTERISTIC
TA = O·C to 70·C, Vcc = 5.0V

± 5%,

Turbo Bit On(9)

Device
Symbol

Parameter
Min

Typ

Non·(ll)
Turbo
Mode

5C060-55
EP600

5C060·45
EP600·3
Max

Min

Typ

Unit

Max

fMAX

Max. Frequency (Pipelined)
(1 Itsu-No Feedback)

26.3

23.3

MHz

fCNT

Max. Count Frequency
(1 ItCNT-With Feedback)

22.2

18.2

MHz

tSUl

Input Setup Time to ClK

36

41

+25

ns

tSU2

1/0 Setup Time to ClK

38

43

+25

ns

tH

lor 1/0 Hold after ClK High

0

0

tco

ClK High to Output Valid

tCNT

Register Output Feedback
to Register Input-Internal
Path

teH
tel

ns
25

22

ns
+25

ns

45

55

ClK High Time

17.5

21.5

ns

ClK low Time

17.5

21.5

ns

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
T A = O·C to 70·C, Vcc

=

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

Device
Symbol

5C060·45
EP600·3

Parameter
Min

Typ

Non·(ll)
Turbo
Mode

5C060·55
EP600
Max

Min

Typ

Max
18.2

22.2

Unit

MHz

fACNT

Max. Count Frequency
(1 ItACNr-With Feedback)

tASUl

Input Setup Time to
Asynch. Clock

10

10

+25

ns

tASU2

1/0 Setup Time to
Asynch. Clock

12

12

+25

ns

tAH

Input or 1/0 Hold After
Asynch. Clock

15

15

tACO

Asynch. ClK to Output Valid

tACNT

Register Output Feedback
to Register Input-Internal
Path

tACH
tACl

ns
+25

ns

45

55

58

+25

ns

Asynch. ClK High Time

17.5

21.5

+25

ns

Asynch. ClK low Time

17.5

21.5

+25

ns

50

2-39

inter

5C060

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

~'''j
!---tpxz -

(FROM REGISTER
TO OUTPUT)

"-

I

r

HIGH IMPEDANCE
3- STATE

HIGH IMPEDANCE
3-STATE

I
tpzx -

~.~

~V'

VALID OUTPUT

1'0..

ASYNCHRONOUSLY
CLEAR OUTPUT
290194-15

SYNCHRONOUS CLOCK MODE

CLK1,CLK2

J

ir=tCH:=j

1\. . . __. . . .

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT
290194-16

2-40

inter

5C060

SWITCHING WAVEFORMS (Continued)
ASYNCHRONOUS CLOCK MODE

ASYN. - - - - ' \ ,
CLOCK
INPUT _ _ _oJ

OTHER
INPUT

(FROIoi REGISTER
TO OUTPUT)

VALID OUTPUT

290194-17

5C060
Current In Relation to Frequency
120

<5
oJ?
"

110
100
90
80
70
60
50

5C060
Current In Relation to Temperature

/
/
/'
./

r;,,

TO TEST

°

TEST POINTS

~~

<: ~20.

.

O~

0-+-....-1:> SYSTEM

CL (INCLUDES JIG
CAPACITANCE)

......,

341.n

'--

OUTPUT

1""i!J.,.-

TEST POINTS

-~

290195-14
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 L09ic
"1" and O.BV for a LogiC "0" on Inputs. Outputs are measured at
a 1 .5V point. Device Input rise and fall times < 6 ns.

290195-13
CL = 50pF

CAPACITANCE
Symbol

Parameter

Conditions

Min

COUT

Output Capacitance

CCLK

Clock Pin Capacitance

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

CvPp

Vpp Pin

CLK2 on 5C090

CIN

Input Capacitance

A.C. CHARACTERISTICS

Typ

VIN

TA = O·C to 70·C, Vcc = 5V

Max

Unit

20

pF

20

pF

20

pF

80

pF

± 5%, Turbo Bit On(9)
Device

Symbol

From

5C090-50
EP900-2

To
Min

Typ

5C090-60
EP900
Max

Min

Typ

Non-(ll)
Turbo
Mode

Unit

Max

tpDt

Input

Comb. Output

45

55

+25

ns

tpD2

1/0

Comb. Output

50

60

+25

ns

tpzx(10)

lor I/O

Output Enable

50

60

+25

ns

tpXZ(10)

lorllO

Output Disable

50

60

+25

ns

tCLR

Asynch. Reset

Q Reset

50

60

+25

ns

NOTES:
9. Typical Values are at TA = 2SoC, VCC = SV, Active Mode.
10. 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.
11. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

2-54

inter

seogo

SYNCHRONOUS CLOCK MODE A.C. CHARACTERISTIC
= O°C to 70°C, VCC = 5.0V ± 5%, Turbo Bit On(9)

TA

Device
Symbol

Se090·S0
EP900·2

Parameter
Min

Typ

Non·(11)
Turbo
Mode

Se090·60
EP900
Max

Min

Typ

Unit

Max

fMAX

Max. Frequency (Pipelined)
(1 Itsu-No Feedback)

fCNT

Max. Count Frequency
(1 ItcNr-With Feedback)

tSU1

Input Setup Time to ClK

36

43

+25

ns

tSU2

1/0 Setup Time to elK

38

46

+25

ns

tH

lor 1/0 Hold after ClK High

0

0

tco

ClK High to Output Valid

tCNT

Register Output Feedback
to Register Input-Internal
Path

tcH
tCl

26.3

21.7

MHz

20

16.7

MHz

ns

23

ns

25

50

60

+25

ns

ClK High Time

17.5

23

ns

ClKlowTime

17.5

23

ns

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

Se090·S0
EP900·2

Parameter,
Min

Typ

Non·(11)
Turbo
Mode

Se09O-60
EP900
Max

Min

Typ

Unit

Max

fACNT

Max. Count Frequency
(1 ItACNT-With Feedback)

tASU1

Input Setup Time to
Asynch. Clock

10

10

+25

ns

tASU2

1/0 Setup Time to
Asynch. Clock

13

15

+25

ns

tAH

Input or 1/0 Hold After
Asynch. Clock

15

15

tACO

Asynch. ClK to Output Valid

tACNT

Register Output Feedback to
Register Input-Internal Path

tACH
tACl

,

20

16.7

48

MHz

ns
59

+25

ns

50

60

+25

ns

Asynch. ClK High Time

17.5

23

+25

ns

Asynch. ClK low Time

17.5

23

+25

ns

2·55

intJ

5eOgO

SWITCHING WAVEFORMS
COMBINATORIAL MODE

~~O~

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

,

\ . - - tpxz - (FROM REGISTER
TO OUTPUT)

I

r

HIGH IMPEDANCE
3 - STATE

I
tpzx

HIGH IMPEDANCE
3- STATE

VALID OUTPUT

'w~

ASYNCHRONOUSLY
CLEAR OUTPUT
290195-15

SYNCHRONOUS CLOCK MODE

.
CLK1,CLK2

Ir=tCH~

--.A'

. . .___

~

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT
290195-16

2-56

seogo
SWITCHING WAVEFORMS (Continued)
ASYNCHRONOUS CLOCK MODE

1___,~4___. f'~ 1. . .__

~Wf~ ___~f'~
OTHER
INPUT

------------~
INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT

290195-17

SC090

SC090

Current in Relation to Frequency

Output Drive Current in Relation to Voltage
100

200

v

180
160
140

<~
u

.2

/'

120

V

"/

60

20
10

:;
:;

5

IOL

:::9

o

5

10

15

20

25

30

35

\
2

3

4

290195-19
Conditions: TA

290t95-18
~

IOH " \

Vo Output Voltage (v)

fo (MHz)
Conditions. T A

.....

1

o

o

- '"

--

I

20

I

0

I

40

c

u

Q.

/7

80

50

~

./

100

::;-

.5

O'C, Vee

~

5.25V

2-57

~

25'C

5C121
1200 GATE CHMOS
H-SERIES ERASABLE PROGRAMMABLE LOGIC DEVICE
•

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
Buried Registers

•

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

•

Product-Term Sharing and Local Bus
Architecture for Optimized Array
Performance

•

All Inputs are Latchable with a
Programmable Latch Feature

•

Compatible with LS TTL and 74HC
CMOS Logic

•

High Speed tpD (Max) 50 ns Operating
Frequency (Max) 20 MHz

•

Register Pre-Load and Erasable Array
for 100% Generic Testability

•

Low Power; 15 mW Typical Standby
Dissipation

•

Programmable "Security Bit" allows
total protection of proprietary designs

•

Typical Usable Gate Count of 1200
2-lnput NAND Gates

•

Available in a 40-Lead Window Cerdip
Package (See Packaging Spec, Order #231369)

•

Fully Compatible with EP1210

The Intel 5C121 H-EP~D (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 SSI and MSI logic devices. The logic capacity of the 5C121 is
typically equal to 1200 two-input NAND gates.
Pin Configuration
elKl

Vee/Vpp
Vee

17
18

Is/ClK2

19

15

110

14

111

13

112

12

1/°1

11

1/°2

1/°24

1/°3

1/°23

1/°4

1/°22

1/°5

1/°21

1/°6

1/°20

1/°7

1/°19

1/°8

1/°18

1/°9

1/°17

1/°10

1/°16

1/°11

1/°15

1/°12

1/°14

Vss

1/°13
290098-1

ILLUSTRATIONS COURTESY OF ALTERA CORPORATION.
2-59

October 1988
Order Number: 290098-005

infef

5C121

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 tlie erasure of all the EPROM logic
control elements in the device.

product terms (AND gates) each containing 64 input
signals.
The, macrocells share a 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
falling edges of the clock signals.

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 without 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.

ARCHITECTURE DESCRIPTION
The 5C121 H-EPLD has 12 dedicated inputs as well
as 24 Input/Output pins. All inputs to the circuit
(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 device also contains four macrocells whose outputs are not tied to any 110 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 board space.

MACROCELL I/O ARCHITECTURE
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 static controls set the inversion logic (i), register
by-pass (ii) and input feedback multiplexers (iii). In
the latter two cases these controls operate on four
macrocells as a bank.

The internal architecture of the 5C121 H-EPLD is
based on 28 macrocells. Each macrocell (see Figure
1) contains a PLA structure (programmable AND array product terms connected to an OR gate) and an
I/O architecture control block (with a D Flip-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-directional
data ports all on a 4-bit wide basis. They can also
act as inputs on a nibble wide basis with optional
input latching.

The buried-state registers have simpler controls that
determine if the feedback is to be registered or combinational.
The inversion control 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.

Macrocells in each half of the circuit are grouped
together for 1/0 architecture programming. Each
bank of four macrocelis 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 register by-pass control, marked (ii) in Figure 1
allows 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 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

*CHMOS is a patented process of Intel Corporation.

2-60

inter

5C121

PLA BLOCK

I/O ARCHITECTURE BLOCK

EPROIA
CONTROL
BIT
290098-2

Figure 1. 5C121 Macrocelil/O Architecture

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.

for communication within each half of the chip con·
tains 16 conductors that carry the TRUE and COM·
PLEMENT of 8 local macrocells. In the block dia·
gram (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.

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

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 COMPLE·
MENT 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

2·61

intJ

50121

A-I MACROCELLS

20

v..

,

o---

290098-3

Figure 2. 5C121 Block Diagram

2-62

5C121

B-2 MACROCELLS

B-3 MACROCELLS
290098-4

Figure 2. 5C121 Block Diagram (Continued)

2·63

5C121

LOCAL
BUS

GLOBAL
BUS

INPUT
BUS

In this illustration a small group of 4 product·terms is
shared by groups containing 8 product·terms each.
This feature is most useful in counier 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-64

inter

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 B-3-the macrocelis 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, macrocelis 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 B-3 and the buried
registers ali have global bus connections while macrocells in groups A-1, A-2 and B-1, B-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 macroceli 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 intersectmg 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
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 mtact, a logical false results on the output of the AND gate. If
both the true and complement connections of any input ate 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.

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-65

inter

5C121

CLOCK MODE CONTROL

PROGRAMMING CHARACTERISTICS

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.

Initially, and after erasure, all the EPROM control
bits of the 5C121 are connected (in the "1" state).
Each of the connected control bits are selectively
disconnected by programming the EPROM cell into
their "0" 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.

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.

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.

FUNCTIONAL TESTING

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.

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.

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.

DESIGN RECOMMENDATIONS
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.
When utilizing a macrocell with an 1/0 pin connectiqn as a buried macrocell (i.e. just using the macrocell for feedback purposes to other macrocells), its
110 pin is a 'reserved pin'. (The Intel Programmable
logic Development System" will label the pin 'RESERVED' in the utilization report that it generates.)
Such an 110 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 macroc.el/'s output.

The recommended erasure procedure for the 5C121
is exposure to shortwave ultraviolet light which has
the wavelength of 2537 A. The integrated dose (I.e.,
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 min"
utes using an ultraviolet lamp with a 12,000 JLW/cm 2
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/cm 2 (1 week @
12,000 JLW/cm 2 ). Exposure to high intensity UV light
for longer periods may cause permanent damage.

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

2-66

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)

~

T
L

CLK1
(Pin 1)

2

Inputs Not Latched

CLK1
(Pin 1)

3

Inputs Not Latched

CLK1
(Pin 1)

4

CLK1
(Pin 1)

~

L
T

CLK2
(Pin 38)

5

CLK1
(Pin 1)

~

T
L

CLK2
(Pin 38)

6

CLK1
(Pin 1)

~

L
T

CLK2
(Pin 38)

7

CLK1
(Pin 1)

~

T
L

CLK2
(Pin 38)

~

.f
~

.f
~
~

.f
.f

Clock
Configuration

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

Figure 6 shows the device entering standby mode
approximately 100 ns after the last input transition.
When the next input transition is detected, the device returns to active mode. Wakeup time adds an
additional 10 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than
one input and the last of the inputs changes after the
device has returned to active mode.

As with all CMOS devices, ESO handling procedures
should be used with the 5C121 to prevent damage
to the device during programming, assembly, and
test.

DESIGN SECURITY
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 cop·
ied. 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.

After erasure, the Turbo Bit is unprogrammed (OFF);
automatic standby mode is enabled. When the Turbo Bit is programmed (ON), the device never enters
standby mode.

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.

AUTOMATIC STAND-BY MODE
The 5C121 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power
savings. When the Turbo Bit is programmed (TURBO = ON), the device is optimized for maximum
speed. When the Turbo Bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during periods of
inactivity.

2-67

5C121

CLOCK SIGNALS TO
'A' HALF OF CIRCUIT

=
=

ClK REGISTER CLOCK
IlE INPUT lATCH ENABLE

IlE
ClK

t-------.

ClK
IlE
"CLOCK CONTROL
lOGIC"

ClK
(PIN 1)

13

14
15
OPTIONAL SECOND /
CLOCK INPUT

r;;
'(~IN

ClK2
38)

290098-7

Figure 5. Programmable Clock Control System

FIRST
INPUT

lAST
INPUT

)j(

'.1 '-----------\
r---------~

OUTPUT

CURRENT

VALID OUTPUT

VALID OUTPUT

ACTIVE MODE

ACTIVE MODE

Icc

Icc

OmA
290098-21

Figure 6. 5C121 Standby Mode and Active Mode Transitions

2-68

inter

5C121

(3) 512K Memory (640K recommended)

Intel Programmable Logic
Development System II (iPLDS II)

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

iPLDS II provides all the tools needed to design with
Intel H-Series EPLDs or compatible devices. 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).
·IIBM Personal Computer is a registered trademark of International Business Machine Corporation
HMS-DOS is a registered trademark of Microsoft Corporation.

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.

ADF PRIMITIVES SUPPORTED
The following ADF primitives are supported by this
device:
INP
LlNP
CONF
CORF
COIF
COLF

The iPLDS II has interfaces to popular schematic
capture packages to enable designs to be entered
using schematics. An 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 entry formats supported are Boolean equation
entry and State Machine design entry.

RONF
RORF
ROlF
ROLF
NOCF
NORF

ORDERING INFORMATION
tpD teo fMAX
(ns) (ns) (MHz)

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

2-69

Order
Code

Package

Operating
Range

55

32

25

D5C121-55 CERDIP

Commercial

65

33

20

D5C121-65 CERDIP

Commercial

90

38

16

D5C121-90 CERDIP

Commercial

5C121

*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

Min

Max

Unit

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

lec

DC Vee Current(4)

Tstg

Storage Temperature

Tamb

Ambient Temperature(3)

V

100

mA

-65

+150

·C

-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 or overshoot to 7.0V for
periods less than 20 ns under no load conditions.
3. Under bias.
I
4. With outputs tristated.

RECOMMENDED OPERATING
CONDITIONS
Symbol

Parameter

Min

Max

Units

4.75

5.25

V

Input Voltage

0

Vee

V

Va

Output Voltage

0

Vee

V

0

70

·C

Vee

Supply Voltage

VI

TA

Operating Temperature

tR

Input Rise Time

500

ns

tF

Input Fall Time

500

ns

D.C. CHARACTERISTICS TA =
Symbol
VIH

0° to 70°C, VCC

=

5.0V

HIGH Level Input Voltage

VIL

LOW Level Input Voltage

VOH

HIGH Level
Output Voltage

10 = -4.0 mA DC

VOL

LOW Level
Output Voltage

10 = 4.0 mA DC

II

Input Leakage Current

VI = Vee or GND

loz

3-State Output
Off-State Current

Vo

lOS

Output Short Circuit Current

ISB

Vee Supply Current (Standby)
(Note 6)

VI

Vee Supply Current (Active)

No Load
f=10MHz

lec

± 5%

Conditions

Parameter

=

Vec or GND

Vec or GND
10 = 0

Unit

2.0

Vce+ 0.3

V

-0.3

0.8

V

Typ

2.4

V
0.45

V

±10.0

,..,A

±10.0

,..,A

130

mA

CMOS Inputs

3

mA

TTL Inputs

30

CMOS Inputs

50

TTL Inputs

100

(Note 5)

=

Max

Min

mA

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.)
2-70

intJ

5C121

A.C. TESTING INPUT, OUTPUT WAVEFORM

A.C. TESTING LOAD CIRCUIT

3'°-V20

o--A=o~

INPUT

290098-9
A.C. Testing. Inputs are Driven at 3.OV for a Logic "I" 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 I.SV pOint. Device Input rise and fall times < 6 ns

290098-8

A.C. CHARACTERISTICS TA = O· to 70·C, VCC =
Parameter

vro
~

1~--TESTPOINTS-~

OUTPUT

Symbol

>TEST POINTS<

5.0V

Device
Conditions

± 5%
SC121-SS
EP1210-1

SC121-6S
EP1210-2

Min

Min

Max

Max

SC121-90
EP1210
Min

Unit

Max

55

65

90

ns

50

65

90

ns

50

65

90

ns

tpD

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

tpzx(7)

Non-Registered Input or 1/0
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

40

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

tCH

Clock High Time

teL

Clock Low Time

teo

Clock to Output Delay

teNT

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

CL = 30pF

CL = 30pF

33

32
50

55

ns
38

75

ns
ns

tCNT

Maximum Frequency (1/teNT)

20.0

18.0

13.0

MHz

fMAX

Maximum Frequency (1/tsu)-Pipehned

25.0

21.2

16.1

MHz

tRST

Asynchronous Reset Time

50

65

90

ns

tlLS

Set Up Time for Latching Inputs

tlLH
tC1C2
tlLDFS

Input Latch to D-FF Setup Time

40

50

65

ns

tDFILS

D-FF to Input Latch Setup Time

25

30

35

ns

tp3

Minimum Penod for a
2-Clock System (TCl C2

72

83

103

ns

f3

0

0

Hold Time for Latching Inputs

15

20

25

ns

Minimum qlock 1 to Clock 2 Delay

40

50

65

ns

Mode 0, 1

0

ns

+ teo 1)
13.8

Maximum Frequency (1/tp3)

12.0

9.7

MHz

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

2-71

inter

5C121

SWITCHING WAVEFORMS
INPUT OR

I/o

INPUT

X

COMBINATIONAL OUTPUT

INPUT MAY CHANGE

-tpxz~

HIGH IMPEDANCE
3-STATE

COMBINATIONAL
OR REGISTERED OUTPUT

-lpzx-J
HIGH IMPEDANCE
3-STATE

ASYNCHRONOUSLY
RESET OUTPUT

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).

CLOCK MODES
SWITCHING WAVEFORMS
1·CLOCK SYSTEM: MODES 0 AND 1

ClKl (PIN 1)
t'LS
INPUTS OR
r'l--"""'\. , - - - I/O INPUTS _fl"+_..J11'-_ _ _f-..J ,-+-_ _" ,,_ _ __

-,I •.-+---..Ir---.-+-""

--.-+--------,,1.,-+------.-+________.11''"+_ _ _ _ _ __

REGISTERED
OUTPUT _ _

COMBINATIONAL _ _

_+---------"1""-+-------

--....!::'':::==:..:~

COMBINATIONAL
OR REGISTERED _ _ _ _ _ _ _ _ _ _ _.Jr-------~
OUTPUT

290098-12

INVERT eLKl FOR MODE 0

1·CLOCK SYSTEM: MODES 2 AND 3

ClKl (PIN!) \

r tcLl~
v--\I..._____

_I:-tsu
---->K t~f. .-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
teo,/:
REG~J~~5~ -------....;.;.,x
. .-_-_-_-_-_-_-_-_-_-_-_:I~ty~u~

t
~_+-t:-:D~~f '".1:
~

I/O INPUTS _ _ _ _ _--'
INPUTS OR

COM8IN~~~~~~

______

.....

COMBINATIONAL - - - - - - -......
OR REGISTERED
OUTPUT

INVERT eLKl FOR MODE 2

2·72

290098-13

5C121

CLOCK MODES
SWITCHING WAVEFORMS (Continued)
2-CLOCK SYSTEMS: MODES 4 THROUGH 7
ClKl PIN 1 CONTROLS THE INPUT LATCH CLOCK
ClK2 PIN 38 CONTROLS THE D-FF CLOCK.

I+--tC1C2 --+
ClK2 (PIN 38)
tco --.
REGISTERED
OUTPUT
t PD

COMBINATIONAL
OUTPUT

f

..=:1.
X
~tpzx

~

-tpxz
COMBINATIONAL
OR REGISTERED
OUTPUT - - - - - - - - ....

290098-14

INVERT ClKl FOR MODES 5 & 7
INVERT CLK2 FOR MODES 4 & 5

100

200
180
160

./

140

<-

5

u
..9

/"

~

-a
c

/

120

t

/

100
./;
~/

80
60

"
.eo"
~

I

40

I

20

o

o

10

15

20

25

30

f

10

IIOl

-- -

r-.....

5

IOH

~

2

o

35

O'C, Vee

~

2

3

4

5

Vo Output Voltage (V)

290098-20

290098-22
~

20

1
5

fo (MHz)

Conditions: T A

50

-5.

5.25V

5C121 Current in Relation to Frequency

Output Drive Current in Relation to Voltage

2-73

5C180
1800-GATE CHMOS
ERASABLE PROGRAMMABLE LOGIC DEVICE

•

High Performance LSI Semicustom
Logic.Replacement for TTL and 74HC
SSI and MSI Logic

EPROM Technology-Based UV
• CHMOS
Erasable
48 Macrocells with Programmable I/O
• Architecture;
up to 64 Inputs (16
Dedicated, 48 I/O) or 48 Outputs

•

•
•

High Speed tpD (max) 70 ns, Operating
Frequency (max) 20.8 MHz (Pipelined),
16.1 MHz (w/Feedback)
Low Power; 100 p,W Typical Standby
Dissipation
Programmable "Security Bit" Allows
Total Protection of Proprietary Designs

•

Dual Feedback Signals Allowing I/O
Pins to Be Used for Buried Logic and
Dedicated Input

•

Programmable Clock System with Four
Synchronous Clocks as well as
Asynchronous Clocking Option on All
Registers

•

Programmable Registers. Can Be
Configured as D, T, SR or JK Types
with Individual, Reset Controls

•
•
•

Register Pre-Load and Erasable Array
for 100% Generic Testability
100% Compatible with EP1800
68-Pin J-Lead Chip Carrier and Pin Grid
Array Packages
(See packaging spec., Order # 231369)

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.

000000000
00000000000
J 00
00
H 00
00
G 00
SC1BO
00
F 00
(BOTTOM VIEW)
00
E 00
00
0 00
00
C 00
00
B 00000000000
000000000
L

I/O
I/O I/O
I/O I/O
I/O I/O
I/O I/O
I/O GNO
I/O I/O
INPUT

I/O I/O

INPUT

I/O I/O
I/o I/O

K

1

2

o

3

000 0 0 0 0 0 a 0 0 0 0 000
~~~~~~~~~~~~~~~~~

5

0

7

8

I/O I/O
I/O I/o
GND I/O
I/O I/O
I/O I/O
I/O I/O
I/O I/o

9 10 11

~ ~

>

~ ~ a

o

~

I-

I-

I-

z

z

z

z

0

~~

~ ~

290111-1

6

I/O I/O

~~~~~~~

~~

8

4

I/O I/O

~ ~ ~

-~~-

Figure 1. Pin Configuration

dd

290111-35

Figure 2. PGA Pin Configuration

2-74

November 1988
Order Number: 290111-005

inter

5C180

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.

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 I/O pin for input functions.

Invert Select EPROM Bit
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 utilization 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
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 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-directional operation.
The Block Diagram is shown in Figure 2 with pin
numbers for the JLCC package. Figure 3 shows the
device block diagram with pin numbers for the PGA
package. 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 4. 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
5 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 partitioned 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

Each quadrant has its own Local Bus. Inputs to this
bus come from the 12 quadrant Macrocells. 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.

2-75

5C180

QUADRANT A

QUADRANT D

QUADRANT B

QUADRANT C
GENERAL MACFlOCELLS
GLOBAL MACROCELLS
ENHANCED MACROCELLS

Figure 2. 5C180 Block Diagram-JLCC Package

2-76

290111-2

intJ

5C180

QUADRANT D

QUADRANT C

QUADRANT B

290111-36

GENERAL MACROCELLS
GLOBAL MACROCELLS
ENHANCED MACROCELLS
~--------------------------~~------

Figure 3. 5C180 Block Diagram-PGA Package

2-77

inter

5C180

Table 1 summarizes the Macrocell interconnect.

Table 1. Macrocell Interconnect
Pin
#
2-9

Quad
A

10~13

Quad 23-26
8

Macro- Feedback Feedback
Structure Interconnect
1-8
Local
Quad A
9-12
Quad A
Local

··~ell#

13-16

27-34 17-24

Global

All

Local .
Global
Local '

Quad 8
All
Quad 8

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

Local
Local
, Global

QuadC
QuadC
All

Quad 57-60 37-40
0

Local
Global
Local

Quad 0
All
Quad 0

61-68 41-48

AND ARRAY

SYNCHRONOUS

CLOCK

vcc

OE/ClK

l~ElECT

OE
OE/ClK

0

f--

K

t--

ClK

' - - f--

EPROM
CEU

PRODUCT
TERW

coNNECTION

II

j

D-

®

&lib

\

s:~~

~

lOGIC

INVERT

=

{YrF1D,=~
~,
~~
~

I/O

SELECTION

RESET

~

~

~

~

~

,~

~

~

L.z1.

FEEDBACK SIGNALS

INPUTS AND I/o

290111-3

Figure 4. Basic Macrocell Architecture of the 5C180

2-78

intJ

5C180

GLOBAL BUS
(64 INPUT)

LOCAL BUS
(24 INPUT)

QUADRANT D

MACROCELL 48

MACROCELL 47

MACROCELL 46

MACROCELL 45

MACROCELL 44

MACROCELL 43

MACRO CELL 42

MACROCELL 41

MACROCELL 40

MACROCELL 39

MACROCELL 38

MACROCELL 37

GLOBAL BUS TO
OTHER QUADRANTS
290111-4

Figure 5. Quadrant "0" Bus Interface

2·79

5C180

rocells within the same quadrant. There are a total of
32, Local Macro~!ls within the 5C180, with eight pe~
quadrant.

5C180 MACROCELLS
Within each 5C180 quadrant there are two different
types of Macrocells; Local Macrocells, Figure 6, and·
Global Macrocells, Figure 7. Both types share an 88input 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 Macrocell register. The
remaining product term is used for Output Enable!
Asynchronous Clock implementation. Each 5C180
product term represents an 88-input AND gate. The
110 Architecture Control Block provides each Macrocell with both combinatorial and registered 110
configurations.

Local macrocells are divided into two groups: General Macrocells and Enchanced Macrocells. The Enhanced Macrocells are architecturally identical to
the General Macrocells but operate at higher
speeds. These speed differences are reflected in
the specification tables.
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
feedl?ack" 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 110
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 feedback may be selected from the Feedback Select
Multiplexer. The selected feedback signal is then
routed to the quadrant local bus. Therefore, the Local Macrocell feedback communicates only to Mac-

QUADRANT
SYNCHRONOUS
CLOCK
-GLOBAL BUS--LOCAL BUSOE

OE/CLOCK~F--R=--FF----R=---R=--.....j.:F-1-I

L!::~ij--,
CLK

~ 2~+-~-~--~-~~-++-~

IIIu

3~r-H-~----+r~~~+-~~~

5

4~+-~-~--~-~-~+-~

~ 5~+-~-~--~-~-~~~

I/O
ARCHITECTURE
CONTROL

6~~~~+---~~~~~~
7~+-~-~--~-~~~~~

FEEDBACK
SELECT
LOCAL BUS

~ ~'--------

GLOBAL
DEDICATED
INPUTS
(16 INPUTS)

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

290111-5

Figure 6. Local Macrocell Logic Array

2-80

inter

5C180

QUADRANT
SYNCHRONOUS
CLOCK
--GLOBAL BUS----LOCAL BUS ___

CLOCK
SELECT

OE
SELECT
OE

OE/ CLOCKI-+r-.....,F--FF;.....-~FF---FF--FF-I-I

'"~

21-+t--H~~--~H--~--H~-i

'"~

31-+t--H~~---iH--~--H~-i

~ 41-+t--H~~---iH--~--H~-i
~ 51-+t--H~~---iH--~--H~-i

I/O
ARCHITECTURE
CONTROL

61-+~-H~4+---iH--~-~~-i
71-+t--H~~---iH--~--H~-i

RESET H+--+I--H--~H--++--+I--I

LOCAL BUS
GLOBAL BUS
~

GLOBAL
DEDICATED
INPUTS
(16 INPUTS)

~------~

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

290111-6
Figure 7. 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
8b-8e 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 1/0 architecture of the 5C180 allows
four different register types along with combinatorial
output as illustrated in Figures 8a-8e. The register
types include a T, D, JK, or SR Flip-Flop and each
Macrocell 1/0 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-81

inter

5C180

Buried Logic Selection
For Global Macrocells, if no output is selected, the
logic may be "buried" and the 110 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 1/0
(pin) feedback.

Q

RESET

RESET
290111-9

Figure 8e. Toggle Flip-Flop Register
Configuration

D-

ClK
N

290111-7
Q

Figure 8a. Combinatorial 1/0 Configuration
8-N
K RESET

INVERT
SELECT

290111-10

Figure 8d. JK Flip-Flop Register Configuration

Q

RESET

RESET
290111-8

Figure 8b. 0-Type Flip-Flop Register
Configuration

2-82

intJ

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

S

Q

8-N
R RESET

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 8e. SR Flip-Flop Register Configuration

MACROCELL OE/CLK SELECT

In Modes 2 and 3, the Output Buffer is always 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 9a and 9b shows the
modes of operation provided by the OE/ClK Select
Multiplexers for both local and Global Macrocells.

2-83

intJ

5C180

SYNCHRONOUS
CLOCK
VCC

OE
OE/CLK

CLK - SYNCHRONOUS
CLK

OE - P-TERM CONTROLLED

MACROCELL
REGISTER
OUTPUT
BUffER

290111-12
The register IS clocked by the quadrant synchronous clock Signal which IS common to 11 other Macrocells The output IS enabled by the
logiC from the product term.
.
,

SYNCHRONOUS
CLOCK
VCC

OE
OE/CLK

CLK - ASYNCHRONOUS
CLK

OE- ENABLED

IotACROCELL
REGISTER
OUTPUT
BUFFER

•

290111-13

The output IS permanently 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 9a. Local Macrocell OE/CLK Selection

2-84

intJ

5C180

SYNCHRONOUS
CLOCK

OE
OE/ClK

ClK - SYNCHRONOUS
ClK

OE- DISABLED

NACROCEll
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

NACROCEll
REGISTER

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 5e180. The pin can be used as In Input while the register or combinational oulput can be fed back.

Figure 9b. Global Macrocell Additional OE/CLK Selection

2-85

inter

5C180

MACROCELL LOGIC
CONFIGURATIONS

+

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

1/0

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

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 10_ Local Macrocelii/O Configurations

2-86

intJ

5C180

SYNCHRONOUS
CLOCK

OE/CLOCK
SELECT
OE

CLK

0

0
(f)

(f)

:::>
m

:::>
m

~

~

«
m

(.)

~

0

«

0

C

~

(!)

290111-17

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

Feedback

Bus

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

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

Local
Local
Local
Local

Function Table

0
0
0
1
1

Qn

Qn +1

0
1
0
1

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

2-87

inter

5C180

SYNCHRONOUS
CLOCK

OE/CLOCK
SELECT
OE

Q

'"::>

'"::>

ID

ID

..J

«
ID

..J

..J

..J

~

0

C

0

C)

FEEDBACK
SELECT
290111-18

TOGGLE FLIP-FLOP
I/O Selection
Output/Polarity
T-Register/High
T-Register/Low
None
None

Feedback
T-Register, Pin, None
T-Register, Pin, None
T -Register ;
Pin

Bus
Local
Local
Local
Local

Function Table

T
0
0
1
1

Qn

Qn +1

0

0

1

0

1
1

1

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

2-88

5C180

SYNCHRONOUS
CLOCK

OE/CLOCK
SELECT
OE

CLK
N

VI

Vl

m

m

...I

...I

=>

=>

~
o

8-N
K

j
o
...I

...I

"

C

INVERT
SELECT

FEEDBACK
SELECT
290111-19

JK FLIP-FLOP
110 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

K

Qn

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

Qn +1
0
1
0
0
1
1
1
0
Figure 10. Local Macrocelil/O Configurations (Continued)

2-89

inter

5C180

SYNCHRONOUS
CLOCK

OE/ClOCK
SELECT
OE

ClK

en

en

::>

::>

CD
...J

CD
...J

«

C

~

CD

0

0

...J

...J

co

INVERT
SELECT

290111-20

SR FLIP-FLOP
I/O Selection
Output/Polarity

Feedback

Bus

SR Register/High
SR Register/Low
None

SR Register, None
SR Register, None
SR Register

Local
Local
Local

Function Table

S
0
0
0
0
1
1

R
0
0
1
1
0
0

Qn

Qn + 1

0
1
0
1
0
1

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

2-90

inter

5C180

OE

Vl

::>
m
--'
..:
m

o

--'



m

--'
..:
u

9

290111-21

COMBINATORIAL
I/O Selection
Output/Polarity

Feedback

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

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

Figure 11. Global Macrocelil/O Configurations

2-91

infef

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT
OE

VI

VI

III

III

::>

::>

--'

--'

;:;\
o...J

tl

o

--'

<.!)

290111-22

D-TYPE FLIP-FLOP
1/0 Selection

Output/Polarity

Feedback

Bus

D-Register/High
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

0
0
0
1
1

Qn
0
1
0
1

Qn +1
0
0
1
1

Figure 11. Global Macrocelil/O Configurations (Continued)

2-92

intJ

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT
OE

V>

::>

V>

CD

::>

-'

~
o

-'

-'

"

-'

CD

~
o

290111-23

TOGGLE FLIP-FLOP
I/O Selection
Output/Polarity

Feedback

Bus

T-Register/High
T -Register flow
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
0
1
0
1

Qn+1

0
1
1
0
Figure 11. Global MacrocelillO Configurations (Continued)

2-93

infef

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT

N

Vl

Vl

:;)

m

:;)

...J

...J

m

~

8-N

13o

o

...J

...J

'"

INVERT
SELECT

290111-24

JK FLIP-FLOP
I/O Selection
Feedback
Output/Polarity
Bus
JK Register/High JK Register, None Local, Global
JK Register/Low JK Register, None Local, Global
JK Register
None
Local
None
JK Register/Pin Local/Global
Function Table
J

K

On

0

0
0
1
1
0
0
1
1

0
1
0
1
0

0
0
0
1
1
1
1

1

0
1

On+1
0
1
0
0
1
1
1
0
Figure 11. Global MacrocelillO Configurations (Continued)

2-94

inter

5C180

SYNCHRONOUS
CLOCK

CLOCK
SELECT

OE
SELECT

N

III

III

::>
m

::>
m
-'

~

o

g

C>

-'

-'

8-N

INVERT
SELECT

290111-25

SR FLlp·FLOP
I/O Selection
Feedback

Output/Polarity

Bus

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

S
0
0
0
0
1
1

R
0
0

Qn

Qn +1

0

0

1

1

1
1

0

0
0

0
0

0

1
1

1
1
Figure 11. Global Macrocelii/O Configurations (Continued)

2-95

5C180

wavelengths shorter than approximately 4000A. It
should be noted that sunlight and, certain types of
fluorescent lamps have wavelengths in the 3000A4000A range. Data shows that constant exposure to
room level fluorescent lighting could erase the typical SC180 in approximately three years, while it
would take approximately one week to cause erasure when exposed to direct sunlight. If the SC180 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.

AUTOMATIC STAND-BY MODE
The SC180 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power
savings. When the Turbo Bit is programmed
(TURBO = ON), the device is optimized for maximum speed. When the Turbo Bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during periods of
inactivity.
Figure 12 shows the device entering standby mode
approximately 100 ns after the last input transition.
When the next input transition is detected, the device returns to active mode. Wakeup time adds an
additional 30 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than


3'°-V- 20

INPUT

°

DEVICE C:_+-1H::> TO TEST
OUTPUT
SYSTEM
341.ll

OUTPUT

·
TEST POINTS

-< vr:o
Ai!

~~.-------------

l~-TEST F:OINTS-~
290111-27

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. DevIce rise and fall times <6 ns.

290111-28

2-100

5C180

CAPACITANCE
Symbol

Parameter

Min

CIN

Input Capacitance

Typ

Max

Unit

Conditions

15

pF

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

COUT

Output Capacitance

15

pF

CClK

Clock Pin Capacitance

25

pF

Cvpp

Vpp Pin Capacitance

160

pF

A.C. CHARACTERISTICS
Symbol

From

TA

VIN

= O'Cto +70'C, Vcc = 5V ±5%, Turbo BitOn(S)

To

5C180-70
EPi800-2

5Ci80-90
EPi800

5C180-75

Non-Turbo
Mode(11)

Unit

85

+30

ns

Min Typ Max Min Typ Max Min Typ Max
tpD1

Input(12)

Comb. Output

tpD2

1/0(12)

Comb. Output

70

75

90

+30

ns

tPD2e

1/0(13)

Comb. Output

65

70

85

+30

ns

tpZX(10) lor I/O

Output Enable

70

75

90

+30

ns

tpXZ(10) lor I/O

Output Disable

70

75

90

+30

ns

70

75

90

+30

ns

telR

65

Asynch. Reset Q Reset

70

NOTES:
S. Typ. Values are at T A = 2S'C, Vee = SV, Active Mode.
10. 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.
.
11. If device is operated with Turbo Bit Off (Non-Turbo Mode), Increase time by amount shown.

SYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
= O'C to + 70'C, VCC = 5V ± 5%, Turbo Bit On(S)

TA

Symbol

5Ci80-70
EPi800-2

Symbol

5Ci80-90
EPi800

5Ci80-75

Non-Turbo
Mode(11) Unit

Min Typ Max Min Typ Max Min Typ Max
fMAX

Max Frequency
1/(teH + tcu-No Feedback

20.8

19.6

16.1

MHz

fCNT

Max. Count Frequency
1/tCNT-With Feedback

16.1

15.1

12.2

MHz

tSU1

Input Setup Time to Clk(12)

48

51

62

+30

ns

tSU2

I/O Setup Time to Clk(12)

53

56

67

+30

ns

tSU2e

I/O Setup Time to Clk(13)

48

51

62

+30

ns

tH

I or I/O Hold after Clk High

0

teo

Clk High to Output Valid

tCNT

Register Output Feedback
to Register InputInternal Path

62

66

82

tCH

Clk High Time

24

25

30

ns

tel

ClkLowTime

24

25

30

ns

0
29

2-101

0
30

ns
35

ns
+30

ns

5C180

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA =

ooe to +70oe, vcc

Symbol

=

5V ±5%, Turbo Bit On(9)
5C180·70
EP1800-2

Parameter

5C180·75

5C180·90
EP1800

Non·Turbo
Mode(11)

Unit

Min Typ Max Min Typ Max Min Typ Max

fAMAX

Max. Frequency
1I (tACH + tAcd-No Feedback

20.8

20

16.6

MHz

fACNT

Max. Frequency
1ItACNT-With Feedback

16.1

15.1

12.2

MHz

tASU1

Input Setup Time to Asynch. Clock(12)

17

19

23

+30

ns

tASU2

I/O Setup Time to Asynch. Clock(12)

22

25

28

+30

ns

tAH

Input or 1/0 Hold to Asynch. Clock

30

tACO

Asynch. Clk to Output Valid

tACNT

Register Output Feedback
to Register InputInternal Path

62

66

82

tAGH

Asynch. Clk High Time

24

25

30

ns

tACL

Asynch. Clk Low Time

24

25

30

ns

30
70

30
75

ns

90

ns

+30

ns

NOTES:
12. For General and Global Macrocells.
13. For Enhanced Macrocells.

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR I/O INPUT

COMBINATORIAL OUTPUT

~.,,~
I--- tpxz - -

COMBINATORIAL OR
REGISTERED OUTPUT

HIGH IMPEDANCE
3-STATE

,

I

r

I
tpzx

.

-

HIGH IMPEDANCE
3- STATE

/';'"

VALID OUTPUT

~.~

..... i'o...

ASYNCHRONOUSLY
CLEAR OUTPUT
290111-29

2-102

inter

5C180

SWITCHING WAVEFORMS (Continued)
SYNCHRONOUS CLOCK MODE

CLK1.CLK2.
CLK3.CLK4

INPUT MAY CHANGE

INPUT MAY CHANGE

1-

teo

(fROM REGISTER
TO OUTPUT)

VALID OUTPUT

290111-30

ASYNCHRONOUS CLOCK MODE

ASYN. - - - - " " \
CLOCK
INPUT

-----'

OTHER
INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

1(fROM REGISTER
TO OUTPUT)

VALID OUTPUT

290111-31

2-103

inter

5C180

240

./

220

./

200

./

180

A~

160
'00/

140

<-

!

u
..Y

-·. .'~yz
120

7

V V Non-Turbo

100

J

80

I
I

60
40

II

20

o

o

TA

=

O°C, Vee

=

5

10

20

teNT (MHz)

5.25V

290111-32

Current in Relation to Frequency

240

r- -t-J..l

220

feNT= 20MHz

200
180
140

'U

~

-

f- r-- feNT= 10MHz

160

!

r- -l-

I I

I

120

r--

100 80

'j

I I

I

J

I

feNT =1 MHz,Turbo I" 1 1 1

I I I

60

I I I
-c- leNT = 1MHz,Non-Turbo

40
20

r

o

o

20

I I I I I
40

60

8085

TEMP (e)

290111-33

Vee = 5.25V

Current in Relation to Temperature

100

-:;(

50

.5.
1:.,

20

I

l;

:>
0

10

10L

:>

Q.

"5

-

'"1'\
IOH

5

0

:J?

.......

j

2

1

o

2

3

4

5

Vo Output Voltage (V)
290111-34

Output Drive Current in Relation to Voltage

2-104

intJ

5C180

5C180 INTERNAL TIMING
The following internal timing model and specifications are provided to aid in determining the different
timing parameters for all permutations of timing paths through the device. The mnemonics in the table
represent internal parameters only and should not be confused with external timing parameters shown
in previous tables, even though some mnemonics are the same.

-

---

SYSTEM CLOCK DELAY tiCS

INPUT
DELAY

~

CLOCK DELAY tIC(a)

~

REGISTER
tsu
tH

tiN

~

LOGIC ARRAY DELAY
t LAO(.)

OUTPUT
DELAY
teo
txz
tzx

----.

f--a

T

--

I/o

FEEDBACK
DELAY
tro

INPUT
DELAY
t lO

~
290111-38

Symbol

Parameter

tiN

Input Pad and Buffer Delay

tlO

1/0 Input'pad and Buffer Delay

tLADe
tLAD

5C180-70
5C180-90
5C180-75
EP1800-2
EP1800

Non-Turbo
Mode(11)

Min Max Min Max Min Max

Min

10
5

Enhanced Logic Array Delay
. Logic Array Delay

Unit

Max

11

14

0

ns

5

5

0

ns

35

37

43

30

ns

40

42

48

30

ns

tOD

Output Buffer and Pad Delay

15

17

23

0

ns

tzx

Output Buffer Enable

15

17

23

0

ns

txz

Output Buffer Disable

15

17

23

0

ns

tsu

Register Setup Time

12

13

18

0

ns

tHS

Register Hold Time (System Clock)

0

0

0

0

ns

tH

Register Hold Time

30

30

30

0

ns

tlCa

Enhanced Clock Delay

35

37

43

30

ns

tiC

Clock Delay

40

42

48

30

ns

tiCS

System Clock Delay

4

4

4

0

ns

tFD

Feedback Delay

10

11

16

-30

ns

telRe

Enhanced Register Clear Time

35

37

43

30

ns

telR

Register Clear Time

40

42

48

30

ns

2-105

inter

APPLICATION
BRIEF

AB-8

May 1986

Implementing Cascaded
Logic in the 5C121

J. R. DONNELL
APPLICATIONS ENGINEER
PROGRAMMABLE LOGIC'

Order Number: 292003-001
2-106

intJ

AB-8

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 5C 121.

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 1pd (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 5C121-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.

:=lD-:=l~~
~I-----~
L-./ E-.J~
L-./

r--J

I

lOUT

I

I

._----_ ..

292003-1

Figure 1. Cascaded Excluslve..QRs

E

.-------~
D-;=)~
I
lOUT

.. _---_ ..

r

I

I

Figure 3. Cascaded Exclusive-ORs using Combinational Feedback

2-107

292003-2

AB-8

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

5C12l
CASCADING 5XORS WITH COMBINATIONAL
FEEDBACK

PART:

LB Version 3.0, Baseline l7x, 9/26/85
5C12l
PART:

INPUTS:
Ap, Bp, Cp, Dp, Ep, Fp

5C12l
INPUTS:
Ap, Bp, Cp, Dp, Ep, Fp

OUTPUTS:

o

OUTPUTS:

o

NETWORK:
A
B
C
D
E
F
0
EQUATIONS:
NO

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

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

NETWORK:
A
B
C
D
E
F

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 • B
F • E • D" • C • A • B
F • E' • D • C • A • B
F' • E • D • C • A • B;

Figure 2. Minimized Logic Equations for Figure 1

2-108

o

N2
EQUATIONS:
N3

=

INP(Ap)
INP(Bp)
INP(Cp)
INP(Dp)
INP(Ep)
INP(Fp)
CONF (NO, Vee)
NOCF (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;
NO
F • N2' • E'
+ F' • N2' • E
+ F' • N2 • E'
+ F • N2 * E;

+
+
+
+
+
+
+

·

Figure 4. Minimized Logic Equations for Figure 3

inter

AB-8

I.. oqi (' IJpt imiz.i ng CompilE'r' Uti li7dti on Report
.*:+.~

.... Design implemen ted SUCCE'ssfu 1 J y

JRD

INTEL
october 8,

198t>

1

t>C121
CASCADING 5XoRS WITH COMB] NAT J UNAL H::I:.DBACK
LB Version 3.0, Baseline 1/x, 9/20/85
t>C121

GN))
GND
GND
GND
biN))
GND
GNU
GND
GND
GND
GND
GNfJ
GNU
GND
GNU
GNfJ
GND
GND
GND
GND

-I 1
-I ~
-I 3
-I 4
-I t>
.- f 6
_M: 7

-I 8

-- :

9

-: .10

-Ill
--112
-113

-- I 14
-- 11 t>
-: If:,
-Ill'

-118
-: 19

-120

401- Vce
Vcc
Ap
371 Bp
.. 161- Cp
.351· Dp
.341- E'p
::>.3: -- Fp
3'.,1: '::;8: -

.:,2:- 0
RE:-SI:.RVFD
.501- RFSERVED
RESERVI-Il
2'''''
- GND
21=-::
~~l: -- GND
~:-!bl - GNU
2.5: ._- GND
24: - (iND
231·- GNn
22:- GND
211- GND
31:-

.:+.INPU1S:+.:+.
f-epds:

Namp

Pin

fh?SClUt"C €I

f-p

~~s

INP

Ep

34

fNP

Dp

3!'i

INP

13

Up

.Sf;.

INP

l.S

Bp

:37

INP

I::;

Ap

.18

INP

13

Name

Pin

Resource

n

:;~')

CONI'

MCpl1 II

PTetms

MCells

01:.

CI ,~ar

Clock

4',rllllT PIITS~''''
MCel! II

PTpt-m __
4/

Fper.ls:
MCells

1)1:

Cleat

t~

292003-3

2-109

inter

AB·8

H·BlIRIEll REG!::; r~.H~H-+F~eds:

Name

Pin

Resourc~

MCell II

F'I

NOr:~

Namf>

Pirl

Rt?sout'"cp

MCells

!.IE

Cl .. ",y

FJ

MCE'l]

P1E'FmS

28
'?7

10

1

2
4
!j

b

7

8

'.lD
II
12
lJ
14
15

Ib
17

4

,?"

1::

<'5

h

~)4

h

:.) ~.;
2~'

21

20

,~

IU
4
12
4

1'~

Iq
lFl
1/

21

1-2

8

22
23
24

II
10

8
4
1;.-

18

~~5

2b
27
2>.1

29

"8

"H
4

/

lU

h

H

::;
4

6
b

.3U
31

-,

I;

2

10

NA
NA
NA

14
15
1"

8

~l

I-J

**PART lJTILIZA1ION-+--+18%

Pins

7%

MacroC~I]s

5%

Pt.e,-ms
292003-4

Figure 5. The Utilization Report

2-110

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-001
2-111

AB-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 5Cl21 as a seven-segment
display driver.
This design has many advantages: (1) 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 imagined above
can be realized in the 5C121 EPLD ..
,The 5C121 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 1 shows a basic block diagqun 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 format 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 format; 0, 1, 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 (SSAl) results from a Registered Output Registered Feedback (RORF) structure in
the EPLD. The feedback signal (SAIF) is the same as
the signal output (SSAl). The RORF's D input is driven by the signal ISAl, the clock input is driven by
WRN, and reset, preset and output enable signals are
tied to their default voltage levels (either GND or
VCC).
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
1 (SEl) is valid (ON) if~e "E" decode exists and display 1 is chosen by the address inputs (WEI = !AO •
!Al). It is also valid if it was previously turned on
(SElF) AND seven segment display 1 is not selected
(!WEt).
These equations may be entered using LB in the form
of It Netlist, or may be entered directly into the ADF by
means of a text editor. The ADF is then compiled and
programmed into a 5C121 using iPLS.

SUMMARY
This method of using the 5C121 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
5C121 by using the input latches as data storage and by
multiplexing the outputs in a scanning fashion.

AB·9

WRO~--------------------------------,

~

DECODE
4

LATCHES

7

000----1
010----1

020----1

DATA
DISTRIBUTION

030----1

AOo---~

Al 0----1

SELECTION
292006-1

Figure 1. Block Diagram

2·113

AB-9

Thorn Bowns
Intel
Oc tobt? r- 29, 1 9:3"~.
1.14
1
5C121

3.5 digit output dr-iverLB Yer-sion 3.0, Baseline 17x, 9/26/85
PART: SC1~H
INPUTS: AOp,Alp,DOp,Dlp,D2p,D3P,WRp
OUTPUTS: SSAl,SSBl,SSCl,SSDl,SSEl,SSFl,SSGl,SSA?,

SSB 2 'I SSC~~ , SSD2 'I SSE2 , SSF2 ., SSG~2 'I SSA'::; , !:'iSB:.5 , sse::') , SSD~) , SSE::~ , SSF ;:,; ., SSG::') ., SSA4

NETWORK:
SSA1,SAIF
SSB1,SBIF
SSCl,SClF
SSD1,SDIF
SSE1,SEIF
SSFl,SFIF
SSGl,SGl F
SSA:'- , SA~~F

RORF
. . RORF
= RORF
- RORF
- RORF
- RORF
"" RORF.,'
, " HORF

SSB~!,SB2F = RORF

(ISA1,WRN,GND,GNO,YCC)
(ISBl,WRN,GND,GND,YCC)
(ISCl,WRN.,GND,GND,VCC)
(ISDl,WRN,GND,GND,VCC)
(SE1,WRN,GND,GND,vec)
(SFl,WRN,GND,GND,YCC)
(SGl, WRN, GND, GND, VCC)
(SA2, WRN, GND, GND, vee)
(SB2,WRN,G'ND,(3ND,VCC)

SSC:'- , SC2F "" RORF (SC2, WRN , GND, GND , Yee:)
SSD~~., SD2F = RORF (SD~~., WRN., GND., GND., vcr:)
SSE2, SE2F "" RORF (SE2, WRN , GND , GND, YCI:)
SSF2,SF2F

=

RORF (S~2,WRN,GND.,l:.iND,VCC)

SSG2 ., SE,2F :: RORF

(SG~., WRN., GND ., GND., vee)

SSA3,SA3F = RORF (SA3,WRN,GND,GND,VCC)
SSB~:),SB3F

.. RORF
SSC3,SCJF - RORF
SSD3 , SD3F . RO RF
SSE3,SE3F ~ RORF
SSF3,SF3F " RORF

(SB3,WRN,GND,GND,YCC)
(SC3,WRN,GNO,GND,VCC)
(SD::; , WRN , CiNO , GND , YCr:)
(SE3,WRN,GND,GND,YCC)
(SF3,WRN,GND,GND,Yec)

SSG3,SG3F :: RORF (SG3,WRN,GND,GND,VCC)

SSA4, SA4F "" RORF (SA4, WRN ,GND, GND , Yec)
ISAI - NOCF (SAl)
ISBI " NOCF (SI:31.)
ISCI :: NoeF (5el.)
ISD! - NOCF (BDl)
WRN ::: NOT (WR)
WR "" INP (WRp)
DO "" INp ([lOp)
D1 "" INP (DIp)
D2 ;; INP (D2p)

D3 .. INP (D:")p)
AO :: INP (AOp)
Al ::: rNP (Alp)
EGlUA T! ONS :
A _ !D3*!D2*!Dl*OO + !DJ*D~*!01*!DO + 0~*!D21~1*DO + D3*D2*!Dl*DO;
Ii ." ! D3*D::~*! Dl*DO + 1l~*Dl *! DO + D3*D2*! D11'! DO + D::'~":Dl'+:DO;
e ::: !D3*!02*Dl*!DO + OJ*D2*!01*!DO + D31'D2*Dl;
D - !D3*!D2.+:!Dl*OO + !D3*D2*!D1*!DO + D2*DltDO + D3*!D2*Dl*!DO;
E:
! 031' ! 02:tDO f ! 1l~.;*D~~*! D'j .... 1D3*D:?*Dl *Dll ... D:5,1! D2*! Lll>l:1l0;
F - !D31'!D2*!Dl'+:DO + !03*!D2*Dl + !D3*D2*01'ml + 03*D2*!Dl*DO;
G _. ! D31'! O:?*! Dl -+ ! D...I*1)2*0.1 *00 .... D3*D~?*! D.l1 !DO;
292006-2

Figure 2. ADF Listing

2·114

inter

AB-9

-+: WEI)
(SI-:1F >I- ! WFI ) ;
SFI :: (F .+. WE!)
of (SnF ... !WEI);
SGI :: (G ... WEl)
+ (SGIF .... !WEl);
SA2 -- (A :+: WE::~)
+ (SA2F .01. ! WE~~) ;
SB2 :: (B :+: WE2)
+ (SB:~F :+ !WE?) ;
SC2 -- (C :+: WI'_2)
+ (SC2F :+: ! W~:2) ;
SD2 -- (D >I- WE2)
+ (SD2F i: !W(2) ;
(E :+: W1:"2)
SE2
+ (SE2F- .+: !WE:?) ;
(F :+. WE2)
SF2
+ (SF2F :+ !WE2) ;
WE2)
(G
SG2
t (SG2F -+: !WE2) ;
SA3 :: (A :+ WFJ)
+ (SMF + ! WE~;) ;
SB3 :: (B -+: WE3)
+ (SB3F i. !WE5) ;
(C :+: WE':;)
SC3
f (SC3~- :+: ! W~::;) ;
(II -+: WE3)
SD3
+ (SD~'lF :+: !WF3);
SE3 :: (E :+' WE:3 )
+ (SE3F .., ! WE~;) ;
(F >I- WE3)
SF::';
+ (SF3F :+: !WE:n;
SG3 -- (G + WE~')
+ (SG3F .+. !WE5) ;
SAl :: (A -+: WEI)
of (SA1F- :+: !WE!) ;
(B >I- WEI)
SBl
!WEl);
+ (SBIF
(C .., WEI)
SCI
+ ( SClF- -+: ! WE 1);
(D .+: WE!)
SIll
of ( SDlF: >I- ! WEI);
«!Il3-+:!Il2:+:!Dl:+:!DO) :+. WE4) + (SMF :+: !WE4) ;
SM
!AO >I- !AI;
WE'!
AD t: !AI;
WE2
!AO :+ AI;
Wl.3
WE4
AO t: Al;
SF.!

(I"

-I

.

..

E::ND$

292006-3

Figure 2. ADF Listing (Continued)

2-115

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-116

inter

AB-10

Once the basic 5C121 architecture is understood, intelligent pin assignments can be made. After assigning the
pins recompile the design using iPLS.

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
5C121, 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 5C121 there are two
typical scenarios: 1) The 5C121 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.

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 5C121 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 files 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
(hC) 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 5C121; 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 5C121 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 5CI21 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 enable (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 5C121 Design Worksheet, the 5C121
is divided into six Macrocell groupings. The data sheet
refers to these as the A-I, B-1, A-2, B-2, A-3, and B-3
Macrocells. One requirement of the 5C121 architecture
is that Macrpcells within the same grouping have the
same output structure. This was discussed earlier, but it
is worth revisiting. The file titled example 1 in the appendix shows an ADF for a design that contains such
an 1/0 conflict. Following the ADF is a completed
5C121 architecture worksheet with a number of problems. Concentrating on the incompatible output problem on the 5C121 worksheet, notice that pins 31 and 32
belong to the same Macrocell group, and that they are
assigned conflicting 1/0 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-117

intJ

AB-10

nal. This is very dependent on the design. Another option is possible when a Macrocell 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 5CI21 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 file (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 5CI21 supports varying product term
widths. In fact, the 5Cl21 supports up to 16 product
terms on pins 16 and 24. Note that four of those product terms are shared with the adjacent Macrocell. 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
5Cl21.

LOCAL/GLOBAL FEEDBACK
It is possible to encounter one other type of fitting conflict in the 5C121. This occurs when a feedback signal
from the A-lor 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 5C121 is to divide the chip in half1engthwise.
One side contains the A Macrocells, and the other side

contains the B Macrocells. The two sides are 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 signals 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 feed
the global bus.
Example I 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 assigned to
pins 8 thru 14. The seven segment 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 &imply use the buried
registers to perform the counting fun,ction.
One final comment regarding the utilization report.
The utilization report shown in example 1 indicates
that signals 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 I, three requests were unfulfilled: REGOUT,
LED I and LEDO. REGOUT was unfulfilled because of
incompatible output structures. LEDO and LED I were
unfulfilled because their feedback 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 files 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
Output Registered Feedback) is used, allowing the output primitive to be combinatorial.

2-118

AB-10

EXAMPLE 1

ADF
JR Donnell
Intel
April 3, 1986

o
5C121
Fitting exe.ple
LB Version 3.0, Baseline 17x, 9/26/85
PART: 5C121
INPUTS: CNT82,CLK81
OUTPUTS: LED0828,LED1827,REGOUT832,CONFOUT831,SEGA88,
SEGB89,SEGC810,SEGD81l,SEGE8l2,SBGF8l3,SBGG8l4
NETWORK:
LEDO,A = RORF (NLSDOD,CLK,GND,GND,YCC)
LSDl,B
RORF (NLSDlD,CLK,GND,GND,YCC)
RSGOUT
RONF (NRSGOUTD,CLK,GND,GND,YCC)
CONFOUT
CONF (NCONFOUTIN,YCC)
SSGA
CONF (NSSGAIN,YCC)
SSGB
CONF (NSSGBIN,YCC)
SSGC
CONF (NSSGCIN,YCC)
SSGD
CONF (NSSGDIN,YCC)
CONF (NSSGSIN,YCC)
SSGS
SHGF
CONF (NSHGrIN,YCC)
SHGG
CONF (NSHGGIN,YeC)
CLK = INP (CLK)
CNT
INP (CNT)
EQUATIONS:
NSHGGIN = 2
+ 3;
2
B*/A;
3
A*B:
NLHDlD
IA*/B*CNT
+ IUU/CNT
+ A*/B*CNT
+ A*B*/CNT:
NLHDOD = IA*B*CNT
+ A*/B*/CNT
+ A*/B*CNT
+ AU*/CNT:
NSHGrIN = 0:
o = IB*/A:
NSIIGHIN
0
+ 2;
NSHGDIN
0
+ 2
+ 3;
NSEGCIN
0
+ 1
+ 3;
1 = IUA:
NS8GBIN
0
+ 1
+ 2

=
=
=

=

=
=

=

+ 3;

0
+ 2
+ 3;
NCONrOUTIN
A*B:
NREGOUTD = IA*/B:
BNDS
NSBGAIN

292014-2

2-119

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

-.£!L..
PIN-NAME

~
~

~

~

~

~
~
~

~

~

....ill!....

292014-1

2-j20

intJ

AB-10

EXAMPLE 1 (Continued)
Logic Optimizing Compiler Utilization Report

*****

Unable to implement design

JR Donnell
Intel
April 3, 1986

o
5C121
Fitting exa.ple
LB Version 3.0, Baseline 17x, 9/26/85
5C121
CLK
CNT
GND
GND
GND
GND
GND
SEGA
511GB
SEGC
SEGD
SEGII
SEGF
SBGG
RESERVED
GND
GND
GND
GND
GND

-

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 :-

Vee
Vee
GND
GND
GND
GND
GND
GND
RBSERVED
CONFOUT
RIISERVED
RESERVIID
GND
GND
GND
GND
GND
GND
GND
GND

**INPUTSU

Na.e

Pin

CLK
CNT

Resource

MCell #

PTerm.

MCell.

Feeds:
011

Clear

Clock
Reg

INP
2

INP

Naae

Pin

Resource

MCell /I

PTer ••

SIIGA

8

CONF

28

2/ 4

Sl!GB

9

CONF

27

2/10

Sl!GC

10

CONF

26

2/ 8

Sl!GD

11

CONF

25

2/ 6

1001
1002

UOUTPUTS . .
MCell.

Feed.:
OE

Clear

292014-3

2-121

intJ

AB-10

EXAMPLE 1 (Continued)
SHGB

12

CONF

24

SIIGF

13

CONF

23

1/ 8

SIIGG

14

CONF

22

1/10

CONFOUT

31

CONF

2

1/10

RONF

NCell ,
1000

PTerm.
1

NCells

LIDI

RORF

1001

2

2
22
23
25
26
28
1000
1001
1002

LIDO

RORF

1002

3

2
23
24
25
26
27
28
1000
1002

Resource

NCell

PTerms

21
20
19
18
17
12
11
10
9
8
7
6
5
4
3
1

4
12
4
8
8
8
8
4
12
4
10
8
6
6
8
4

13
14
15
16

8
8
8
8

1/ 6

**UNFULFILLBD RBQUBSTS**
**OUTPUTS*,
Name
RBGOUT

Pin

Resource

Feeds:
011

'Clear

**UNUSBD RBSOURCBS**
Nalle

Pin
3
4
5
6
7
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
32
33
34
35
36
37
38
NA
NA
NA
NA

2-122

292014-4

292014-5

inter

AB-10

EXAMPLE 2

ADF
JR Donnell
Intel
April 3, 1986

o
5C121
Fi tt ing exa.ple
LB Version 3.0, Baseline 17x, 9/Z6/85
PART: 5C1Z1
INPUTS: CNT8Z,CLK81
OUTPUTS: LBD08Z8,LBD1827,RBGOUT83Z,CONFOUT831,SEGA88,
SEGB89,SBGC810,SBGD811,SBGB812,SEGF813,SBGG814
NBTWORK:
LBDO,NATONOCF = RORF (NLBDOD,CLK,GND,GND,VCC)
LBD1,NBTONOCF = RORF (NLBD1D,CLK,GND,GND,VCC)
RBGOUT = CONF (NRBGOUTIN,VCC)
CONFOUT = CONF (NCONFOUTIN,VCC)
SBGA
CONF (NSBGAIN,VCC)
SBGB
CONF (NSBGBIN,VCC)
SBGC
CONF (NSBGCIN,YCC)
SBGD
CONF (NSBGDIN,VCC)
SBGB
CONF (NSBGBIN,VCC)
SBGF
CONF (NSBGFIN,VCC)
SBGG
CONF (NSBGGIN,VCC)
NOCF (NATONOCF)
A
eLK = INP (CLK)
B
NOCF (NBTONOCF)
NRBGOUTIN
NORF (NRBGOUTD,CLK,GND,GND)
CNT
INP (CNT)
BQUATIONS:
NLBDOD = /A*B*CNT
+ A*/B*/CNT
+ A*/B*CNT
+ A*B*/CNT;
NLBD1D
/A*/B*CNT
+ /A*B*/CNT
+ A*/B*CNT
+ A*B*/CNT;
NCONFOUTIN = A*B;
NSBGAIN
0
+ 2
+ 3j
NSBGBIN
0
+ 1
+ Z
+ 3;
NSBGCIN
0
+ 1
+ 3;
NSBGDIN
0
+ 2
+ 3;
NSBGBIN
0
+ 2;
NSI!GFIN
0;
NSI!GGIN
Z
+ 3;
NRI!GOUTD
/A*/B;
2
B*/A;
3 = A*B;
o = IB"'/A;
1 = /B*A;
BND$

=
=

=

=

=

=

2-123

292014-7

inter

AB-10

EXAMPLE 2

(Continued)
5C121 Design Worksheet

~
~

~

SEGC

~

~
SEGE

~

.JlQ2...

SEGG

LED1

292014-6

2-124

intJ

AB-10

EXAMPLE 2

(Continued)

Logic Optiaizing Coapilar Utilization Report
***** De.ign iaple.ented succe.sfully
JR Donnell
Intel
April 3, 1986

o

5C121
Fitting exaaple
LB Version 3.0, Baseline 17x, 9/26/85
5C121
CLK
CNT
OND
OND
OND
OND
OND
SIIOA
SlOB
SHOC
SlOD
SIIOI
SlOI'
SlOO
RISIIRVIID
OND
OND
OND
OND
OND

-: 1

-:
-

2
3
4
-: 5
-: 6
-: 7
-: 8
-: 9
-:10
-: II

-:12
-il3
-: 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:-

Vcc
Vee
OND
OND
OND
OND
OND
OND
RHOOUT
CONFOUT
RIISIIRnD
RIISIIRVHD
LIDO
LlDl
RIISIIRVIID
RIISIIRVIID
OND
OND
OND
OND

.. INPUTS**
Na••

Pin

Resource

CLK

1

INP

CNT

2

INP

Pin

Resource

MCell #

PTera.

MCell #

PTera.

MCells

Feed.!
OB

Clear

Clock
Reg

5
6

..OUTPUTS**
Naa.

SIIOA

8

CONI'

28

2/ 4

SlOB

9

CONI'

27

2/10

SHOC

10

CONI'

26

2/ 8

SHOD

II

CONI'

25

2/ 6

MCells

Feeds!
OB

Clear

292014-8

2-125

inter

AB-10

EXAMPLE 2 (Continued)
SBGB

12

CONI'

24

SIlGF

13

CONI'

23

1/ 8

SIlGG

14

CONI'

22

1/10

1/ 6

LBD1

27

RORF

6

2/ 8

13

LBDO

28

RORF

5

3/ 6

14

CONFOUT

31

CONI'

2

RIlGOUT

32

CONI'

1/10
1/ 4

**BURIED REGISTERS**
Naae

Pin

Resource

MCell ,

PTer.s

MCella

NOCF

13

1/ 8

2
5
6
15
22
23
25
26
28

NOCF

14

1/ 8

2
5
15
23
24
25
26
27
28

NORI'

15

1/ 8

Resource

MCell

PTera.

21
20
19
18
17
12

4
12
4
8
8
8
8
4
12
4
10
6

Feeds:
OB

Clear

**UNUSED RESOURCES**
Nalle

Pin
3
4
5
6
7
15
16
17
18
19
21
22
23
24
25
26
29

11

10
9
8
7
4

292014-9

2-126

inter

AB-10

EXAMPLE 2 (Continued)
30
33
34
35
36
37
38
NA

3

8

16

8

**PART UTILIZATION**
35~

Pins

50~

MacroCella
pter.s

10~

292014-10

2-127

AB-11

APPLICATION
BRIEF

February 1987

16-Bit Binary Counter
Implementation
Using the SC060 EPLD

KARL-HEINZ WEIGL
INTEL CORPORATION
MUNICH, GERMANY

Order Number: 292015-002
2-128

intJ

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.
This application brief details the implementation of a
16-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) 16-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

X

0

1
X

1

0

0
1
1
X

Function

T

Q(N)

0
0
1
1

0
1
0
1

Q (N

+ 1)

0
1
1
0

Figure 2

SOLUTION
The 16-bit binary counter function was implemented in
the 5C060 EPLD using the Intel Programmable Logic
Development System (iPLDS). The equations for the
16-bit binary counter with the RESET, UP/DOWN
and RUN/STOP functions are shown in the 'EQUATIONS' section of the LEF (Fig. 4). The pinout of the
5C060 with the implemented counter is shown in the
RPT file (Utilization Report) Fig. 5. 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 16-bit counter designed using 'D'
type flip-flops would have required more than 16 product terms for the last significant bit.

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

Figure 1

2-129

AB-11

INTEL CORPORATION
JAN. 15. 1987

1
1.0
5C060
BINARY 16-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
PART: 5C060
INPUTS: RS.CLOCK.RESET.OO
OOTPUTS: '10. '11-.'12.'13.'14.'15.'16.'17 .Q8.Q9.QA.QB.QC.QD.QE.QF

NETWORK:

QO.QOF = TOTF (QOT.CLK.CLR.GND.VCC)
TOTF (Q1T.CLK.CLR.GND. VCC)
'11.'111'
'12.'12' = TOT' (Q2T.CLK.CLR.GND.VCC)
'13,'13' = TOT' (Q3T ,CLK,CLR,GND, VCC)
'14','14' = TOn (Q4T,CLK,CLR,GND,VCC)
'15,'16' = TOTF (Q6T,CLK,CLR,GND,VCC)
'16,'18' = Ton (Q6T,CLK.CLR,GND,VCC)
'17,'17' = Ton (Q7T,CLK,CLR,GND, VCC)
'18.'18'
TOTF (Q8T,CLK,CLR,GND,VCC)
'19,'19' = Ton (Q9T,CLK,CLR,GND,VCC)
QA,QAJ' = TOTF (QAT, CLK,CLR,GND, VCC)
QB,QBF = TOTF (QBT,CLK,CLR,GND,VCC)
TOTF (QeT,CLK,CLR,GND.VCC)
Qe,QCF
TOT' (QDT,CLK,CLR,GND,VCC)
QD,QD'
QE,QEF = TOTF (QET,CLK,CLR,GND,VCC)
QF
TONF (QFT,CLK,CLR,GND,VCC)
QOT
OR (QOO,QOD)
CLK = INP (CLOCK)
CLR
INP (RESET)
Q1T = OR (Q1U,QID)
Q2TOR (Q2U,Q2D)
Q3T = OR (Q3U,Q3D)
Q4T
OR (Q4U,Q4D)
Q6T = OR (Q5U,Q6D)
Q6T
OR (Q6U,Q6D)
Q7T = OR (Q7U,Q7D)
'leT = OR (QeO,QeD)
'leT = OR (QeU,QeD)
QAT = OR (QAU,QAD)
QBT = OR (QBU,QBD)
QeT = OR (QeO,QeD)
QDT = OR (QDO,QDD)
QET
OR (QEO, QED)
QFT = OR (QFU.QFD)
RS = INP (RS)
DO
INP (UD)
MUD
HOT (00)
QOU
AND (OD,RS)

=

=

=
=

=
=

=

=
=
=

=

=
=
=

292015-1

Figure 3. Example .ADF

2-130

AB-11

QIO
QlO
QSO
Q40
1160
QeD
QTO
QeD

= AIID

(OD,IIOI',IIOO)
(OD,Qll',Q10)
(OD,Q21',Q20)
= AIID (OD,Q3I',Q3U)
= AIID (OD,Q4I' ,Q40)
= AIID (OD,Q5I',Q50)
AIID (OD,IIBI',Q80)
= AIID (OD,QTI',Q70)
Q8U = AIID (OD,IIBI' ,Q8U)
CIAO = AIID (OD,Q8I',Q80)
QBU = AIID (OD, QAI' ,ClAU)
QCU = AIID (OD, QIII' ,QBU)
lIDO = AIID (OD, QCJ' ,QeU)
QKU = AIID (OD, QDI' ,lIDO)
QI'D = AIID (OD, QII' ,QED)
HQOI' = \lOT (1101')
RQlr
\lOT (QlI')
_ I ' = \lOT (Q2I')
MQSI' = \lOT (Q31')
MQ41' = \lOT (1141')
MQIiI' = \lOT (1161')
IIQ8I' = NOT (1161')
MQTI' = \lOT (QTI')
RQlr = \lOT (Q8r)
MQ8r = \lOT (Q8r)
IIQAJ' = \lOT (QAI')
lIQBI' = \lOT (QIII')
IIQCr = \lOT (QCJ')
RQDI' = \lOT (QDI')
IIQIr = \lOT (QII')
IIOD = AIID (IIDD, RS)
QID = AIID (IIDD, HQOr ,IIOD)
Q2D = AIID (IIDD,MQlI',Q1D)
QaD = AIID (HOD, MQ2r, Q2D)
Q4D = AIID (HOD, RQ3r ,Q3D)
QIiD = AIID (1IDD,MQ4r,Q4D)
QeD = AIID (HUD, RQ5r, Q5D)
QTD
AIID (IIDD,RQar,Q6D)
Q8D = AIID (IIDD,MQTr,Q1D)
Q8D = AIID (IIDD, MQer, Q8D)
ClAD = AIID (IIDD, RQer , QBD)
QBD = AIID (HUD, HQAI', ClAD)
QCD = AIID (HOD, HQIII' , QBD)
QDD = AIID (IIDD ,IIQCI' ,QeD)
lID = AIID (HOD, HQDI'. QDD)
QI'D = AIID (IIDD ,11QBr ,QED)

= AIID
= AIID
=

=

=

IHDI

292015-2

Figure 3. Example .ADF (Continued)

2-131

infef

AB-11

INTEL CORPORATION
JAN. 15, 1987
1

1.0
5C060
BINARY 16-BIT UP/DOWN COUNTER WITH RUN/STOP AND ASYNCH. RESET USING T-FF
LB Version 4.01, Baseline 27.1 4/9/86
LEF Version 4.01 Baseline 22.2 2/4/86
OPTIONS: TURBO=ON
PART:
5COSO
RS, CLOCK, RESET, UD
OUTPUTS:
NETWORK:

oo,m,~,~,~,~,~,~,~,~,~,~,OC,~,~,~

CLK = INP(CLOCK)
RS = INP(RS)
CLR = INP(RESET)
UD = INP(UD)
QO, QOF = TOTF(QOT,
Q1, Q1F = TOTF(Q1T,
Q2, Q2F = TOTF(Q2T,
Q3, Q3F = TOTF(Q3T,
Q4, Q4F = TOTF(Q4T,
Q5, Q5F = TOTF(Q5T,
Q6, Q6F = TOTF(Q6T,
Q7, Q7F = TOTF(Q7T,
Q8, Q8F
TOTF(Q8T,
Q9, Q9F
TOTF(Q9T,

CLK, CLR, GND, VCC)
CLK, CLR, GND, Vce)
CLK, CLR, GND, VCC)
CLK, CLR, GND, Vce)
CLK, CLR, GND, VCC)
CLK, CLR, GND, Vee)
CLK, CLR, GND, VCC)
CLK, CLR, GND, VCC)
CLK, CLR, GND, VCC)
CLK, eLR, GND, VCC)
~,QAF
TOTF(~T, CLK, CLR, GND, VCC)
~,QBF
TOTF(~T, CLK, CLR, GND, vee)
QC, QCF
TOTF(QCT, CLK, CLR, GND, VCC)
QD, QDF
TOTF(QDT, CLK, CLR, GND, Vce)
~, ~F = TOTF(~T, CLK, CLR, GND, VCC)
QF = TONF(QFT, CLK, CLR, GND, vec)
EQUATIONS:
~T = DD' * ~F' * ~F' * OCF' * ~F' * QAF' * Q9F' * Q8F' * Q7F'
Q6F'
Q5F' * Q4F' * Q3F' * Q2F' * Q1F' * QOF' * RS
+~*~*~*~*~*QAF*~*~*~*~*~*
Q4F
Q3F
Q2F
Q1F
QOF
RS;

*

*

QET = UD' * QDF'
Q4F'
Q3F'

*

*

* QCF' *

*

*

* Q5F'

*

*

QBF' * QAF' * Q9F'
Q1F'
QOF'
RS

*
* Q2F' *
*
* Q2F * Q1F * QOF * RS;

*

* Q8F' * Q7F' * Q6F'

+~*~*~*~*QAF*~*~*~*~*~*~*

Q3F

QDT = UD' * QCF' * ~F' *
Q3F'
Q2F'
Q1F'

*

*

QAF' * Q9F' * Q8F' * Q7F' * Q6F' * Q5F' * QU'

* QOF' * RS

*

+~*~*~.*QAF*~*~*~*~*~*~*~*

Q2F

*

Q1F

* QOF * RS;

292015-3

Figure 4. Example .LEF

2-132

AB-11

QCT

* QBF' * QAF' * Q9F' * Q8F' * Q1F' * Q6F' * Q5F' * Q4F' * Q3F' *
* Q1F' * QOF' * as
QBF * QAF * Q9F * Q8F • Q1F * Q6F * Q5F * Q4F * Q3F * Q2F *
Q1F * QOF * as;
= UO' * QAF' * Q9F' * Q8F' * Q1F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F' *
Q1F' • QOF' * RS
+~*QAF*~*~*~*~*~*~*~*~*~*
QOF * RS;
UO' * Q9F' * QBF' * Q1F' • Q6F' * QSF' * Q4F' * Q3F' * Q2F' * Q1F' *
QOF' * RS
+ UO * Q9F * Q8F * Q1F * Q6F * Q5F * Q4F * Q3F * Q2F * Q1F * QOF *
RS;
=

UO'
Q2F'

+ UO *
QBT

QAT

Q9T

Q8T
Q1T
Q6T
Q5T
Q4T
Q3T

= UO' * QBF' • Q1F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F' * Q1F' * QOF' *
RS
+ UO * QBF * Q1F * Q6F * Q5F *' Q4F * Q3F * Q2F * Q1F * QOF * RS;
=

* Q1F' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F'

UO'

+ UO * Q7F * Q6F * Q5F * Q4F * Q3F * Q2F
= UO' * Q6F' * Q5F' * Q4F' * Q3F' * Q2F'
+ UD * Q6F * Q5F * Q4F * Q3F * Q2F * Q1F
= UO' * Q5F' * Q4F' * Q3F' * Q2F' * Q1F'
+ UO * Q5F * Q4F * Q3F * Q2F * Q1F * QOF
= UO' * Q4F' * Q3F' * Q2F' * Q1F' * QOF'
+ UO * Q4F * Q3F * Q2F * Q1F * QOF * as;
= UO' * Q3F' * Q2F' * Q1F' * QOF' * RS
+ UO * Q3F * Q2F * Q1F • QOF * RS;
= UO' * Q2F' * Q1F' * QOF' * RS

• Q1F'

* QOF' * RS

* Q1F * QOF * as;
* Q1F' * QOF' * RS
* QOF * RS;

* QOF' * RS

* RS;
* RS

* Q2F * Q1F * QOF * as;
* Q1F' * QOF' * RS
* Q1F * QOF • as;
= UO' * QOF' * RS
+ UO

Q2T
Q1T

=

UO'
+ UO

+ UO
QOT

*

QOF

* as;

= RS;

ENOS

292015-4

Figure 4. Example .LEF (Continued)

2-133

AB-11

Logic Optimizing Compller,Utllization Report
FIT Version 4.01 Baseline 27.1 4/9/86

*****

Design implemented successfully

**** NOTE:

Connect signal CLOCK to

pin 1 AND pin 13.

INTEL CORPORATION
JAN. 15. 1987
1
1.0

5C060
BINARY 16-BIT UP/DOWN COUNTER WITH RUN/STOP AND ASYNCH. RESET USING T-FF
LB Version 4.01. Baseline 27. '1 4/9/86
OPTIONS: TURBQ=ON
5C060
CLOCK -: 1
GND ... : 2
Q7 - : 3
Q6 -: 4
Q5 -: 5
Q4 -: 6
Q3 : 7
Q2 -: 8
Ql -: 9
QO -1l0

-

un -: 11

GND -:12

24123: 22: 21: 20119118: 17116:-

Vec
RS
QF

QE
QD

QC
QB

QA

Q9

151- Q8

14: - RESET
131- CLOCK

**INPUTS**
Name

Pin

CLOCK
UD

Resource

MCell #

PTerms

MCells

Feeds:
OE

Clear

INP
11

Clock
CLKI
CLK2

INP

1
2
3
4
5
6

7
8
9
10
11
12
13
14
15
GND

12

GND

CLOCK

13

INP

RESET

14

INP

CLKI
CLK2
1
2

3
4
5
6

7
8
9
10
11
12
13
14
15
16

292015-5

Figure 5. Example .RPT File

2-134

AB-11

RS

23

1
2
3
4
5
6

INP

7

8
9
10
11
12
13
14
15
16

Vee

24

Vee

Pin

Resource

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

**OUTPUTS**
Name

Q7

TOTF

HCell

•
9

PTerms

HCells

2/ 8

1
2
3
4
5
6

Feeds:
OE

Clear

Clock

7

8
Q6

4

TOTF

10

2/ 8

1
2
3
4
5
6
7

8
9
Q5

TOTF

11

2/ 8

1
2
3
4
5
6
7

8
9
10
Q4

6

TOTF

12

2/ 8

1

2
3
4
5
6
7

8
9
10
11

292015-6

Figure 5. Example .RPT File (Continued)

2-135

intJ

AB·11

Q3

7

TOrr

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

9

TOTF

15

2/8

QO

10

TOTF

16

1/ 8

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

3
4
5
6
7
8
9
10
11
12
13
14
15
Q8

15

TOTr

8

2/ 8

1
2
3
4
5
8
7

Q9

16

TOTr

7

2/ 8

1
2
3
4
5
8

QA

17

TOTF

8

2/ 8

1
2
3
4
5
292015-7

Figure 5. Examl?le .RPT File (Continued)

2-136

intJ

AB·11

QB

18

TOTF

2/ 8

1

2
3
4
QC

19

TOTF

QD

20

TOTF

QE

21

TOTF

QF

22

TONF

4

2/ 8

1
2
3

2/ 8
2

2/8
2/8

**UNUSED RESOURCES**
Name

Pin

Resource

HCell

PTerms

**PART UTILIZATION**
95%
100%
24%

Pins
HacroCells
Pterms

292015-8

Figure 5. Example .RPT File (Continued)

2-137

inter

APPLICATION
BRIEF

AB-12

October 1988

Designing a Mailbox Memory for
Two 80C31 Microcontrollers Using
EPLDs

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

Order Number: 292016-003
2-138

inter

AB-12

INTRODUCTION
Very often, complex systems involve two or more microcontrollers to fulfill the requirements defined 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 80C31s, using a SC060 H-EPLD
as a "back-to-back" register, and a SC03l H-EPLD as
an arbitration vehicle to control the actions of the
CPUs.

THE SC060 MAILBOX

The SC060 allows for independent clocking of 8 macrocells on each side of the chip, the two clock inputs are
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 (lRD). In
order to avoid spurious read-cycles, the /RD commands from both microcontrollers are logically
"ORed" together with an active high 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.
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.
5C060
WRB

VCC

CSA

RDB

I/OAO

GROUP A
(MICROCONTROLLER A)

I/OBO

1/0AI

I/OBI

I/OA2

I/OB2

I/OA3

I/OB3

1/0A4

I/OB4

I/OA5

I/OB5

I/OA6

I/OB6

GROUP B
(MICROCONTROLLER B)

I/OB7

I/OA7
RDA

CSB

GND

WRA
292016-15

2-139

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 Me A
/OBFB: ·OUTPUT BUFFER FULL" FOR Me B
/IBEA: "INPUT BUFFER EMPTY" FOR Me A
/IBEB: ·,INPUT BUFFER EMPTY· FOR Me B
/INTA: INTERRUPT TO Me A
/INTB: INTERRUPT TO Me 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
buffeL 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:
IIBEA
remains
"LOW" until microcontroller B
places a message for controller A
into the mailbox for A. IIBEA
will go "HIGH" as soon as controller B has accomplished its
write cycle, and will not go
"LOW" again until microcontrol~
ler 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
IOBFA becomes valid or vice versa.
2. The IIBE 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 IIBEB 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 IWRB 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 can also be efficiently implemented in a
single SCBIC EPLD.

2-140

intJ

AB-12

A
AOO-A07
PO

B
Ii!

]I

Ii!

~ ~ 74HCT373 ---..J

~-~~ l r.~

00-07

00-07

AD-A7

AO-A7

f1--

CE OE

ALE
A8-A15
P2

I-

PSEN

I---

027C64

027C64

A

A8-12

OEES

ES OE "

*L--

00-07

00-07

AO-A7

AD-A7

RAM

RAM

~

A15

~

A8-12

- ----'*
~

P80C31BH

]I

74HCT373:J

I -"'~

rv

AOO-A07
PO

OE CE

~

-

I---

I-

-

~

ALE
A8-A15
P2

PSEN

P80C31BH

A

A8-12

RD

WR

A8-12

ES

ES

WR

RD

I Il

RDP3.7
WRP3.6 -

"

A15

II-

RDP3.7
WRP3.6

5C060

~
~

I--

lOA
0-7

lOB A
0-7

ROA
CSA
WA

ROB
CSB
WB

"

-

I-

5C031
WA
' - - WRA
"""--- ROA

RST

--

P3.4
P3.5
P3.2INTO
RESET

r

CSA
OBFA
IBEA
INTA
RST

WB
WRB
ROB
CSB
OBFB
IBEB
INTB

OE

Block Diagram

2-141

f-

I--P3.4
P3.5
INTO P3.2

l

RESET

292016-1

AB-12

5C060 "BACK TO BACK REGISTER"
WB

10AO

lOA 1

I

A

1:....

1

.A

~I"'"

r- ~L

~

.......
-r-

1:....

.....
r- ~

L

-~

_....

_i-

IOA2

1

.A

L

-r-

L

.... -

_i-

IOA3

I

A

L....

-

L .-.... -

_I-

IOA4

IOA5

1

.A

1:....

1 ...

-r-

...

L

L

1""'-

... -

-r-

I""'~

I ...
1:....

-

--

~l -

I

.A

r--I"'"

L

..

lOBI·

...

IOB2

...

IOEl3

...

IOB4

~

~

~

~.

-

~

IOB5

...

IOB6

...

IOB7

....1

--

_I-

IOA7

lOBO

...1

L -- ...

_I-

IOA6

..

L

1""'''''-

J
I-i--

1....-1-

WA

RDA
CSA

~

:<{)-

2-142

RDB
CSB
292016-2

inter

AB-12

5C031 "MAIL BOX CONTROLLER"

WRA
CSA

---oQ"-'"~-~~--------------------c>--- WA
X).----.------~~--IBEB

ROB

OBFA
INTA

RST
INTB
OBFB

ROA

IBEA
CSB
WRB

WB

DE
292016-3

2-143

AB-12

5C060 REGISTER ADF
JURRG
INTEL
March
80C31

STAHL
ZUERICH
27, 1986
MAILBOX MRMORY USING 5C060 / 5C031

1

********************
** RXAMPLI! .ADF **
********************

5C060
LB Version 3.0, Baseline 17x, 9/26/85
PART: 5C060
INPUTS: WB81, CSA82, CSB814, nRDA811, nRDB823, WA813
OUTPUTS: 1087815, IOA7810, IOB6816, IOA689,
rOB5817, IOA588, r084818, rOA487,
rOB3819, IOA386, IOB2820, rOA285,
IOB1821, IOA184, 10B0822, IOA083
NETWORK:
rOB7,DB7
ROlF (DA7,WAC,GND,GND,RDBC)
IOA7,DA7
ROlF (DB7,WBC,GND,GND,RDAC)
ROlF (DA6,WAC,GND,GND,RDBC)
rOB6,DB6
IOA6,DA6
ROlF (DB6,WBC,GND,GND,RDAC)
IOB5,DB5
ROlF (DA5,WAC,GND,GND,RDBC)
rOA5,DA5
ROlF (DB5,WBC,GND,GND,RDAC)
ROlF (DA4,WAC,GND,GND,RDBC)
rOB4,DB4
rOA4,DA4
ROlF (DB4,WBC,GND,GND,RDAC)
rOB3,DB3
ROlF (DA3,WAC,GND,GND,RDBC)
IOA3,DA3
ROrF (DB3,WBC,GND,GND,RDAC)
IOB2,DB2
ROlF (DA2,WAC,GND,GND,RDBC)
IOA2,DA2
ROlF (DB2,WBC,GND,GND,RDAC)
10Bl,DBI
ROrF (DAl,WAC,GND,GND,RDBC)
IOAl,DA1
ROlF (DBl,WBC,GND,GND,RDAC)
10BO,DBO
ROlF (DAO,WAC,GND,GND,RDBC)
rOAO,DAO
ROlF (DBO,WBC,GND,GND,RDAC)
WAC = INP (WA)
RDBC
AND(CSBI,RDBI)
WBC
INP (WB)
RDAC
AND(CSAI,RDAI)
CBBI = INP (CSB)
nRDBI = INP(nRDB)
nRDAI
INP(nRDA)
CSAI
INP(CSA)
RDAI
NOT(nRDAI)
RDBI
NOT(nRDBI)

=
=
=

=

=

RND$

292016-4

2-144

intJ

AB-12

5C060 REGISTER LEF
JUIRG
INTBL
March
80031

STAHL
ZUIRIOH
27, 1986
MAILBOX MIMORY USING 50060 / 50031

1

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

50060
LB Vereion 3.0, Baeeline 17x, 9/26/86
LIF Vera ion 1.0 Baeeline 1.5i 02 Feb '1987
PART:
5C060
INPUTS:
WBel, CSA.2, CSB.14, nRDAell, nRDB.23, WA.13
OUTPUTS:
IOB7e15, IOA7el0, IOB6.16, IOA6e9, IOB5e17, IOA5e8, IOB4.18, IOA4e7,
IOB3119, IOA3e6, IOB2e20, IOA2.5, IOBl.21, IOAl.4, IOBO.22, IOAO.3
NITWORK:
WBC = INP(WB)
WAC = INP(WA)
CUI = INP(CSA)
CSBI = INP(CSB)
nRDAI = INP(nRDA)
nRDBI = INP(nRDB)
ROlr(DA7, WAC, GND, GND, RDBC)
IOB7, DB7
IOA7, DA7
ROlr(DB7, WBC, GND, GND, RDAC)
IOB6, DB6
ROlr(DA6, WAC, GND, GND, RDBC)
IOA6, DA6
ROlr(DB6, WBC, GND, GND, RDAC)
IOB6, DB6
ROlr(DA6, WAC, GND, GND, RDBC)
IOA6, DA6
ROlr(DB6, WBC, GND, GND, RDAC)
IOB4, DB4
ROlr(DA4, WAC, GND, GND, RDBC)
IOA4, DA4
ROIF(DB4, WBC, GND, GND, RDAC)
IOB3, DB3
ROlr(DA3, WAC, GND, GND, RDBC)
IOA3, DA3
ROlr(DB3, WBC, GND, GND, RDAC)
IOB2, DB2
ROlr(DA2, WAC, GND, GND, RDBC)
IOA2, DA2
ROlr(DB2, WBC, GND, GND, RDAC)
lOBI, OBI
ROlr(DAl, WAC, GND, GND, RDBC)
10Al, DAI
ROlr(DBl, WBC, GND, GND, RDAC)
lOBO, DBO
ROlr(DAO, WAC, GND, GND, RDBC)
10AO, DAO
ROIF(DBO, WBC, GND, GND, RDAC)
IQUATIONS:
RDAC
CSAI
nRDAI';

*

RDBC

CSBI

* nRDBI';

IND$
292016-5

2-145

AB-12

5C060 REGISTER UTILIZATION REPORT
Lo,ie Opti.izin, Co.piler UtIlization Report
FIT Version 1.0 Baseline 1.0i 2/6/87
••••• De.i,n i.ple.ented Bueee •• fully
JUBRG
INTIL
March
80C31

STARL
ZUBRICH
27, 1986
MAILBOX MBMORY USING 5C060 / 5C031

••••••••••• *•• *•• *•• *****
*. IXAMPLB .RPT FILB **
**.** •• *****.**********.*

1

5C060
LB Version 3.0, BaBeline 17x, 9/26/85
5C060
WB
CSA
10AO
10Al
10A2
10A3
10A4
IOA5
IOA6
lOA?
nRDA
GND

-

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

-:12

24:- Vee
23:- nRDB
22:- lOBO
21:- lOBI
20:- IOB2
19:- 10B3
18:- IOB4
17 :- IOB5
16:- IOB6
15:- IOB7
14:- CSB
13:- WA

ttINPUTS ..
Na.e

Pin

WB
CSA

Reaouree

MCell ,

PTer.s

MCells

Feeda:
01

Clear

INP
2

Clock
CLKI

INP

9
10
II

12
13

14
15
16
nRDA

II

9
10

INP

II

12
13
14
15
16
GND

12

GND

1
2
3
4

5
6

7
8
9

292016-6

2-146

inter

AB-12

5eoso REGISTER UTILIZATION REPORT (Continued)
10
II

12
13
14
15
16

WA

13

INP

CSB

14

INP

CLK2
I
2
3
4
5
6
7
8

nRDB

23

INP

I
2
3
4
5
6
7
8

24

Vee

Pin

Resource

Vee

**OUTPUTSU
Name

10AO

ROlF

10Al

4

IOA2
IOA3

6

IOU

MCell

•
9

Feeds:

PTerms

MCells

ROlf

10

1/ 8

ROlF

II

1/ B

ROlF

12

1/ B

4

ROlF

13

1/ 8

5
6

IOA5

8

ROlf

14

1/ 8

9

ROlF

15

1/ 8

7

IOA7

10

ROlF

16

1/ B

8

IOB7

15

ROlF

8

1/ 8

16

IOB6

16

ROlF

7

1/ 8

15

IOB5

17

ROlF

6

1/ 8

14

IOB4

18

ROlF

5

1/ 8

13

IOB3

19

ROlF

4

1/ 8

12

IOB2

20

ROlF

1/ 8

II

lOBI

21

ROlf

1/ 8

10

1/ B

9

22

ROIr

Clear

Clock

2

IOA6

lOBO

08

1/ 8

292016-7

All Resources used

UPART UTILIZATIONU
100""
100""
12,,"

Pins
MacroCella
Pter ••

292016-8

2-147

inter

AB-12

5C031 ARBITER ADF
JUI!RG
INTEL
March
BOC31

STAHL
ZUBRICH
28, 1986
MAILBOX MBMORY USING 5C060 / 5C031

********************
** BXAMPLE .ADF **
********************

2
5C031

LB Version 3.0, Baseline 17x, 9/26/B5
PART: 5C031
INPUTS: RST,nWRA,nRDB,CSA,nRDA,nWRB,CSB,nOB
OUTPUTS: WA,nOBFA,nIBEB,nINTA,nINTB,nOBFB,nIBEA,WB
NETWORK:
nWRA = INP(nWRA}
nRDB = INP(nRDB}
RST = INP(RST}
CSA = INP(CSA}
nRDA = INP(nRDA}
nWRB = INP(nWRB}
CSB
INP(CSB}
nOE
INP(nOE}
WRA
NOT(nWRA}
WRB
NOT(nWRB}
RDA
NOT(nRDA}
RDB
NOT(nRDB}
OE = NOT(nOB}
nRST = NOT(RST}
WA = CONF(WAd,YCC}
WAd = AND(CSA,WRA}
WB = CONF(WBd,YCC}
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,OB}
nIBBA,nIBIlA = COCF(nIBBAd,OB}
nIBEB,nIBBB = COCF(nIBBBd,OB}
nINTA = CONF(nINTAd,OE}
nINTB = CONF(nINTBd,OE}
nINTAd
AND(nOBFA,nIBBA}
nINTBd
AND(nOBFB,nIBBB}
nOBFBd
NAND(nRA,nIBBA,nRST}
nOB FAd
NAND(nRB,nIBEB,nRST}
nIBBBd
NAND(nWAd,nOBFA}
nIBBAd
NAND(nWBd,nOBFB}
BND$

292016-9

2-148

inter

AB-12

5C031 ARBITER LEF
JUERG
INTEL
March
80C3l

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

********************
** EXAMPLE .LEF **
********************

2

5C03l
LB Version 3.0, Baseline l7x, 9/26/85
LEF Version 1.0 Baseline 1.5i 02 Feb 1987
PART:
5C03l
INPUTS:
RST, nWRA, nRDB, CSA, nRDA, nWRB, CSB, nOE
OUTPUTS:
WA, nOBFA, nIBEB, nINTA, nINTB, nOBFB, nIBEA, WB
NI!TWORK:
RST = INP(RST)
nWRA = INP(nWRA)
nRDB = INP(nRDB)
CSA = INP(CSA)
nRDA = INP(nRDA)
nWRB = INP(nWRB)
CSB = INP(CSB)
nOE = INP(nOE)
WA = CONF(WAd, VCC)
nOBFA, nOBFA = COCF(nOBFAd, OE)
nIBEB, nIBEB = COCF(nIBEBd, OE)
nINTA = CONF(nINTAd, OE)
nINTB = CONF(nINTBd, OE)
nOBFB, nOBFB = COCF(nOBFBd, OE)
nIBEA, nIBEA = COCF(nIBEAd, OE)
WB = CONF(WBd, VCC)
EQUATIONS:
WBd = eSB
nWRB';

*

nIBI!Ad

eSB

*

nWRB'

+ nOBFB';

nOBFBd
+

* eSA'
* RST'
* RST' * nRDA) , ;

(nIBEA
nIBEA

nINTBd

nOBFB

* nIBEB;

nINTAd

nOBFA

* nIBEA;

nIBEBd

eSA

* nWRA'

+ nOBFA';

OE

= nOB'

nOB FAd
WAd

j

(nIBEB
+ nIBEB
eSA

*

RST'

* eSB'

* RST' * nRDB)' ;

* nWRA';

END$
292016-10

2-149

5C031 ARBITER LEF (Continued)
LogIc Optiaizlng Coapiler UtilIzation Report

FIT VerSl0n 1.0 Baseiine 1.01 2/6/87

*****
.JUIRG
INTJ!L
March
80C31

Design iaple.ented successfully
STAHL
ZUBRICH
28, 1986
MAILBOX MBMORY USING 5C060 / 5C031

*************************
** EXAMPLB .RPT FILl! **
*************************

2

5C031
LB Version 3.0, Baseline 17x, 9/26/85
5C031

-

GND
I
GND - 2
nOI! - 3
CSB - 4
nWRB
5
nRDA
6
7
CSA
nRDB - 8
DWRA - 9
GND -: 10

-

20:- Vee
19:- NB
18:- NA
17: - nOBFB
16:- nINTB
15:- nINU
14:- nIBBS
13:- nOBFA
12:- nIBEA
11: - RST

,*INPUTS,*
Feeds:
Naae

Pin

Resource

nOB

3

INP

MCe11

II

PTer ••

MCells

01

Clear Preset

3
4
5
6
7
8

CSB

4

INP

1
7
8

nWRB

5

INP

I

8
niDA

6

INP

3

CSA

7

INP

2
3
6

DRDB

8

INP

7

nWRA

9

INP

2
6

GND

10

GND

RST

11

INP

Vee

20

Vee

3
7
I

2
292016-11

2-150

AB-12

5C031 ARBITER UTILIZATION REPORT
UOUTPUTS**
Na.e

Pin

Resource

nIBEA

12

COCF

MCell

,

PTera.

a

2/ a

MCell.

Feed.:
01

Clear Preset

3

5

nOB FA

cocr

13

7

2/ a

5
6

nIBBB

cocr

14

6

2/ a

nINTA

15

CONI'

5

1/ a

nINTB

16

CONI'

4

1/ a

nOBFB

17

cocr

3

2/ a

WA

la

CONI'

2

WB

19

CONI'

4
7

4

a

1/ a
1/ a

**UNUSBD RESOURCES**
Na.e

Pin

Resource

MCell

PTer ••

1
2
UPART UTILIZATION**
aa_
100_
la_

Pin.

MacroCell.
pter••
292016-12

2-151

intJ

AB-16

APPLICATION
BRIEF

October 1988

Atypical Latch/Register
Construction in EPLDs

THOM BOWNS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292031-003
2-152

intJ

AB-16

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

ATYPICAL LATCH/REGISTER
CONSTRUCTION IN EPLDs
Though Intel's EPLDs include many of the typical
latch and register types, some logic designs require register or 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.
aD, OF = COCF (a, VCC)

0= S + !R * OF;

where QF is the feedback from Q output.
This circuit can be implemented in an EPLD I)lacrocelL 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 I, 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 =
!(QB + R) where Q is the output of one NOR gate, and
QB is the output of the other (Note: as a convention

~
NOR2

R

0

OS
S

NOR2

292031-1

(a)

INP

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

-COCF~

>-£:>;..1- 00

292031-2

(b)

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

2-153

inter

AB-16

QD, QF = COCF (Q,VCC)

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 = !(!(!D*E)*Q), Q =
!(!(D*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.

Q

= D ' E + !E ' QF;

QF is the feedback from the COCF. In this circuit,
when E is high, data flows through transparently.
When E is brought low, data is latched. When using
input feedback, care must be taken when tri-stating 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:

O_I-of--I

Q

E-'-'--I
NAN02

292031-3

(a)

O'-O---i,

----.

E-'L.._-

COCFI
I

~-C>r--Qo

292031-4

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

2-154

intJ

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:
= COCF (Q,VCC)
= NOCF (Y)

QD,QF
YF

Y = D
Q

* !CLOCK +

YF

* CLOCK;

= YF * CLOCK + QF • !CLOCK;

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

0--0---1

INP

CLOCK

-.c>-....~
YF

----.
COCF'

~~~ ~~~'--QO

292031-5

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

2-155

AB~16

Preset and clear can be added into the equations as
well:
QD,QF = COCF (Q,VCC)
YF = NOCF (Y)
Y = D • !CLOCK

+

, When the CLEAR TERM is logically true, Q is asynchronously cleared to O.
The PRESET TERM, takes priority over the CLEAR
TERM.
This schematic is shown in Figure 4.

YF • CLOCK;

Q = YF • CLOCK * ! (CLEAR TERM) +
(PRESET TERM) +
QF • !CLOCK • ! (CLEAR TERM);

When the PRESET TERM is logically true, Q is asynchronously set to 1.

Due to the nature of the design, input delays plus array
delays plus feedback delays must be added and used to
determine a maximum operating frequency. In this example, tIN + tAD + tCF + tAD = 113 ns for a
-65 5C121, leaving a maximum frequency of 8.8
MHz.

INP

D--~~------------~.

.

INP
CLOCK--~>---------~~--~.

YF'

____ .
COCF'.

r-'-~ ~-f[~'--OD
INP
CLEAR TERM -C>--I ~~""---II--IA
INP
PRESET TERM --~>-----------'

----_ ..

OF'

Figure 4. D Flip-Flop with Added Preset and Clear Terms

2-156

292031-6

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:
.

QD,QF = RORF (Q,CLOCK,GND,GND,VCC)

When J = K = I, QD toggles to opposite state on next
clock trigger. When J = K = 0, QD remains the same.
When J does not equal K, QD will follow J on next
clock trigger. The schematic is shown in Figure 6.

Q = 5

+ QF'

!R;

Normally, Sand R will remain low. When S is brought
high, QD will become I on the next clock trigger edge.
When R is brought high, QD will become 0 on the next
clock trigger edge. The schematic is given in Figure 5.

QD,QF = RORF (Q,CLOCK,GND,GND,VCC)
Q = J • !QF

INP
eLoeK-C~-----------,

INP

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

R---ID-t '>()--I.

GND

+

!K • QF

Vee

____ .
RORF',
>--G>I--OD
292031-7

Figure 5. EPLD Implementation of an RS Flip-Flop

INP

CLOCK--<:>----------------------,
INP

___ e.

J-~~-------I.

RORF'
>-t:>r'-OD
INP

K---ID-t XH..-r
292031-8

Figure 6. EPLD Implementation of a JK Flip-Flop

2-157

intJ

AEJ.16

The T flip-flop is also easily constructed:

register clock), as lbng as the minimized logic equations
resulting do not exceed the macrocells p-term count.

OD,OF = RORF (O,CLOCK,GND,GND,VCC)
T • I OF + IT· OF;

o=

When T is high, QD will toggle to opposite state on
next trigger. When T is low, ,QD will remain the same.
Figure 7 shows the T flip-flop design schematic.
Each of these designs uses a minimum number of pterms; adding p-tenns is possible to the limit of the
macrocell being used. It is possible to substitute an entire logical expression for each input listed (except

For example, consider using the J-K register. Setting
J=A*B"C+DandsettingK=E"IF*IO+
H + I then the minimized p-tenn count will expand
from two p-terms to five p-terms, which would still be
okay within a macrocell with more than five p-tenns.
Using logic ga1;es 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

INP

CLOCK:-OC>----.....,
INP
T'-D-~

___ e.
RORn

~-r'":h'-QD

292031-9

Figure 7. Implementation of a T Flip-Flop

2-158

inter

AB-22

APPLICATION
BRIEF

October 1988

5C032-25 vs. 16V8-25:
A Device Comparison

DANIEL E. SMITH
LILIYAS KOUMIS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292051-001
2-159

AB-22

INTRODUCTION

ARCHITECTURE

This application brief compares the Intel 5C032-25
EPLD with the Lattice 16V8-25 GAL', showing how
the 5C032 is superior to the 16V8 for low-power CMOS
PLD applications. The compatibility between the two
devices is high enough that the 5C032-25 can be
dropped directly into the 16V8-25 socket for the majority of applications. Areas where the 5C032 is not compatible are also noted. Information in the brief is based
on the Intel 5C032 Data Sheet (order number: 290155002 or later) and the Lattice 16V8 Data Sheet (undat, ed).

Architecturally, the 5C032 is a superset of the 16V8.
Any architectural configuration supported by the 16V8
can be implemented in the 5C032. There are a number
of configurations, however, supported by the 5C032
that cannot be implemented in the 16V8 architecture.
As shown in Figure 1, both the 5C032 and 16V8 are 20pin devices with 8 I/O macrocells. The two devices are
pin compatible. All inputs and VOs are on the same
pins. Macrocells in the devices support registered and
combinatorial modes. (Refer to the discussions on "Inputs" and "Macrocells" later in this brief.)

The comparison is divided into the following areas:
• Technology
• Architecture
• Specifications
• Deveiopment Support

TECHNOLOGY
The 5C032 is produced on Intel's CHMOS EPROM
process and is, therefore, UV erasable. The 16V8 is produCed on a CMOS EEPROM process and is electrically
erasable. Because neither device will typically be erased
and reprogrammed in-circuit, this difference is negligible. The fuse patterns for the two devices are different.
Therefore, the JEDEC files are not compatible.

The major architectural difference between the 16V8
and the 5C032 lies in flexibility. During programming,
the 16V8 uses 10 bits to internally configure all 8 macroce11s. 1 bit (SYN) is a global "register/combinatorial"
mode bit. A second bit (AO) is also a global bit that
controls an OE mux. These two bits provide global selection of modes but limit the independent control of
macrocells. Each macrocell has an individual configuration bit (ACn) to give macrocells some independent
control. In contrast, the 5C032 provides 2 bits per macroce11 to independently configure each macrocell (16
bits total). This gives the 5C032 greater flexibility than
the 16V8. Another difference concerns the state of macrocell registers on power-up. 5C032 registers are low on
power-up, while the 16V8 registers are high. This difference may be important in some applications.

5,C032

16V8

INPUT/ClK

VCC

10/CK

INPUT

I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/o

11

INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
GND

12

F6

13

F5

14

F4

15

F3

16

F2

17

Fl

18

FO

GND

I/VPP

VCC
F7

292051-1

I/OE
292051-2

Figure 1. 5C032 and 16V8 Pinouts

"GAL is a r!39istered trademark of Lattice Semiconductor Corporation.

2-160

inter

AB-22

Inputs

1/0 Configurations

The 5C032 has 9 dedicated inputs and one CLK/INP
pin. The 16V8 has 8 dedicated inputs, one global CLK/
INP pin, and one global OE/INP pin. The CLK inputs
are both on pin 1. The global OE on the 16V8 (pin 11)
corresponds to an input on the 5C032. This pin can be
used on the 5C032 as a global OE. On the 5C032, however, any input can function as the global OE. The
16V8 does not provide this flexibility.

Table I shows the configurations supported for both
devices. Note that most 16V8 macrocell configurations
have some restriction on use.

On both devices, the CLK pin can function as an input
to the logic array when implementing combinatorial
logic only (no registers). Pin II (OE/INP on the 16V8)
can also be used as a dedicated input in combinatorial
mode. Pin lion the 5C032 can be used as an input in
both registered and combinatorial mode.

Macrocells
Each 16V8 macrocell is fed by 8 p-terms. One of the
eight p-terms can be used to control the OE signal for
combinatorial macrocells. When this is done, only 7 pterms remain as inputs to the macrocell. Depending on
the configuration, the OE can also be tied to VCC or
GND, or can be globally driven by pin II.
5C032 macrocells are fed by 8 p-terms. A ninth p-term
is provided for independent OE control. Thus the
5C032 macrocell can implement equations with more
p-terms than the 16V8. All options are available independently for all macrocells, which makes the device
more flexible than the 16V8.
The 16V8 is placed in registered or combinatorial mode
by a global architecture bit. Registered mode means pin
I is global CLOCK and pin II is global OE. Registered
macrocells cannot use product terms to independently
enable outPllts; only the global OE can be used. Macrocells can be configured as combinatorial outputs when
the device is in registered mode, but only 7 p-terms are
available as macrocell inputs. Buried registers can be
emulated on a global basis by disabling the global OE
and using the feedbacks only, but buried registers cannot be mixed with output registers in the same design.
In the 5C032, registers are selected on a macrocell-bymacrocell basis. Any supported configuration can be
implemented on any other macrocell. Independent OE
p-terms are available with registers (see Figure 2). A
global OE can be implemented by programming all OE
p-terms the same. Buried registers can also be selected
on a macrocell basis. These differences make the 5C032
much more flexible than the 16V8.

2-161

Table 1. 5C032/16V8 Configurations
5C032

16V8 (Comb.)

16V8 (Reg.)

Input

Input

Input

Input on unused
Macrocell

Input on unused
Macrocell

Input on unused
Macrocell

Comb. Out
(no feedback)

Comb. Out
(no feedbackOE = VCC)

Comb. Out
(no feedback7 p-terms)

Comb. Out
(input feedback)

Comb. Out
Comb. Out
(input feedback- (input feedback7 p-terms)
7 p-terms)

Register (with
feedback-p-term
controlled OE)

nla

Register (with
feedback-global
OEonly)

Register (no
feedback-p-term
controlled OE)

nla

Register (no
feedback-global
OEonly)

Buried Register
nla
(any register)
p-terms = Product terms
nla = not available

Buried Register
(global only)

Table 2 summarizes the architecture comparison:
Table 2. 5C032/16V8 Architecture Comparison
Device Feature

of Pins

5C032

16V8

20

20

9

8/9

Total Inputs

16

16

Macrocells

8

8

Synch. Clocks

1

Logic P-terms/Macrocell

8

8/7(1)

1

0/1(2)

#

Dedicated Inputs

OE P-Terms/Macrocell

1

GlobalOE

1 (3)

1

Device Erase

UV

Electrical

Register Output State
low
high
On Power-Up
1. When using a p-term to drive the OE signal for a macrocell, the 16V8 can only use 7 p-terms as macrocell inputs.
2. 16V8 registers must use the global OE signal. Macrocells programmed for combinatorial mode can use a pterm. In contrast, the 5C032 provides a p-term for all macrocells in all configurations.
3. Global OE is implemented on 5C032 by driving all OE pterms by pin 11.

AB-22

SC032 Registered Macrocell
GLOBAL

ClK
REGISTERED
OUTPUT

IN

FBK

292051-3

16V8 Registered Macrocell
(Device in Registered Mode)
GLOBAL

GLOBAL

ClK

OE
REGISTERED
OUTPUT

IN

D

Q

FBK

292051-4

Figure 2. SC032 and 16V8 Registers

SPECIFICATIONS
The following tables describe differences between the
SC032 and the half-power 16V8 in three different tables: (I) Absolute Maximum Ratings, (2) D.C. Characteristics, and (3) A.C. Characteristics.

standby power than the half-power 16V8. For low power applications where the output drive current requirements are 4mA or less, the Intel SC032 is an ideal replacement for the l6V8. The l6V8, with outputs capable of sinking up to 16mA, is better suited to applications that require higher current sink.

D.C. Characteristic Differences

A.C. Characteristics Differences

The Intel SC032-2S meets or exceeds all but two 16V8
D.C. specifications (short circuit current and lod. Due
to the advanced CMOS technology, the Intel SC032
consumes one-third the power of the half-power l6V8.
It also consumes almost three orders of magnitude less

The Intel SC032-2S meets all but one 16V8 A.C. specification (Output EnablelDisable). Thus. the Intel
SC032 is an ideal replacement for the 16V8 in most
applications.

2-162

inter

AB-22

Absolute Maximum Rating Differences
5C032-25

Parameter

16V8·25

Units

Symbol

Min

Max

Symbol

Min

Max

Supply Voltage

Vee

-2.0

7.0

Vcc

-0.5

7.0

V

Storage Temp.

T stg

-65

+150

Tstg

-65

+125

C

Ambient Temp.

Tamb

-10

+85

TA

0

+75

C

D.C. Characteristics(1)
5C032-25

Parameter
Symbol

Min

16V8·25
Max

Symbol

Min

Units
Max

Supply Current

Icc

30

Icc

90

rnA

Short Circuit Current

Isc

-10

los

-130

rnA

Standby Current

ISB

0.1

ISB

70

rnA

Output Low Voltage

VOL

0.45
IOL=4

VOL

0.5
IOL =16

V
rnA

Output High Voltage

VOH

2.4
IOH=-4

VOH

2.4
10H= -3.2

V
rnA

Input High Voltage
V
2.0
2.0
V,H
Vcc+ 0.3
V,H
Vcc+ 1
..
1. All D.C. Characteristics are compared to the Half-Power GAL 16V8. A Comparison to the Full-Power GAL 16V8 would
show that power consumption is twice that of the Half-Power GAL 16V8.

2-163

AB-22

A.C. Characteristics
16V8-25

5C032-25

Parameter
Symbol

Min

Max

Symbol

Min

. Units
Max

Input to Active Out

tpo

25

tOVOV1

25

ns

P-term Enable to Out Enable \

tpzx

25

tOVOV2

25

ns

P-term Disable to Out Disable

tpxz

25

tOVOZ2

25

ns

OE-pin Enable to Out Enable

tpzx

25

tGHOZ2

20

ns

OE-pin Disable to Out Disable

tpxz

25

tGHOV

20

ns

Clock High to Output Valid

tco

15

tCHOV

15

ns

Input Setup Time

tsu

20

tovCH

20

ns

Input Hold Time

tH

0

tCHDX

0

ns

Clock Low

tCl

10

tCHCl

15

ns

Clock High

tCH

10

tClCH

15

ns

tCNT

30

(1 )

Register Output Fdbk
to Register Input (Internal)

ns

Max Count Frequency
33.3
33.3
MHz
(2)
fCNT
..
1. lattice does not specify this parameter. Intel specifies this parameter strictly for calculation of fCNT. fCNT IS the count
frequency associated with designs that use feedback signals, e.g., counters.
2. lattice does not specify an equivalent. However, this value can be determined using either "register output feedback to
register input" delay, or the "clock period", whichever is the larger. Since "register output feedback to register input" delay
is unknown, the indicated frequency value assumes the clock period (tCHCl + tClCH = 30 ns) is the larger of the two
parameters.

DEVELOPMENT SUPPORT

SUMMARY

Both the 5C032 and the 16V8 are supported by ABEL
and can be programmed on the Data I/O LOGICPAK
and UNISITE programmers. The 5C032 is also supported by iPLDS II (Intel Programmable Logic Development System) using the PCCP PC-based programmer and by iPLS II (Intel Programmable Logic Software) using either the PC-based programmer or the
iUP-200A/20IA Programmer. The 16V8 is also supported on the Data I/O Model 60 programmer.

The 5C032-25 provides a low-power upgrade to the
16V8-25 for most applications. If your application requires higher density devices, or fast programmable devices for specific applications, contact your local Intel
sales office.

2-164

inter

APPLICATION
NOTE

AP-271

April 1986

Applying The 5C121 Architecture

JIM DONNELL
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292008-001
2-165

AP-271

INTRODUCTION
Intel's 5Cl21 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 5CI21' is erasable. Now sections of
the design can actually be programmed and tested in
the device - without sacrificing a part to the circular
file. 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 registered 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 5Cl21 architecture the reader is referred to the 5Cl21 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 5Cl21 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 DO, Dl, and D2 select one of the
eight input lines. In this case, data bits !D3, !D4, and
!D5 select output QO. (The exclamation point is used to
indicate a logical complement of the signal.) Equations
for Q 1 through Q7 are very similar and will be discussed later.

ao =
10-17

QO-Q7
DIGITAL
CROSSPOINT
SWITCH

( 10
11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17

+

x

x
X

x
x
x
x

x

!02
102
ID2
102
D2
02
02
02

X !01
101
X D1
x 01
x !01
x !01
x 01
x D1

x

x

x
x
x
x
x
x

x

SELECTEa =10 x !D2 x
+ 11 x !02 x
+ 12 x 102 x
+ 13 x !02 x
+ 14 x 02 x
+ 15 x D2 x
+ 16 x D2 x
+ 17 x D2 x

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
cousiderations 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

!OO
DO
!DO
DO
!DO
DO
100
DO)

x

105

!D1 x !DO
!D1 x DO
01 x !OO
D1 x DO
101 x !OO
!D1 x DO
D1 x !DO
D1 x DO;

x

!04

x

!03; (1)

(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
5Cl21. In additi,on, the 5Cl21 contains four buried registers. (Buried registers have no output and are used
solely for feedback.) If a 1;uried 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

COMBINATIONAL FEEDBACK
(Continued)

p-terms available in case a design change is needed.
Equations 3 thru 10 reflect this improvement.
00 = SELECTEO

x

!D5

x

!D4

x

!D3;

(3)

01 = SELECTEO

x

!D5

x

!D4

x

D3;

(4)

02 = SELECTEO X !D5

x

D4

x

!D3;

(5)

03 = SELECTEO

x

!D5

x

D4

x

D3;

(6)

04 = SELECTEO

x

D5

x

!D4

x

!D3;

(7)

05 = SELECTEO

x

D5

x

!D4

x

D3;

(8)

06 = SELECTEO

x

D5

x

D4

x

!D3;

(9)

07 = SELECTEO

x

D5

x

D4

x

D3;

(10)

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 II thru 18 are the result.
00

=

SELECTEO x !D5 x !D4
x !D3) x OO-fdbk;

x

!D3

+

!(D5

x

!D4
(11)

01 = SELECTEO x !D5 x !D4
x D3) x 01-fdbk;

x

D3

+

!(!D5

x

!D4
(12)

02 = SELECTEO x !D5 x D4
x !D3) x 02-fdbk;

x

!D3

+

!(!D5

x

D4
(13)

03

=

SELECTEO x !D5 x D4
x D3) x 03-fdbk;

x

D3

+

!(!D5

x

D4
(14)

04

=

SELECTEO x D5 x !D4
x !D3) x 04-fdbk;

x

D3

+

!(D5

x

!D4
(15)

05

=

SELECTEO x D5 x !D4
x D3) x 05-fdbk;

x

D3

+

!(D5

x

!D4
(16)

06

=

SELECTEO x D5 x D4
x !D3) x 06--fdbk;

x

!D3

+

!(D5

x

D4
(17)

07

=

SELECTEO x D5 x DR
x DE) x 07-fdbk;

x

D3

+

!(D5

x

D4
(18)

Equations II 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 the 5C121. 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 5CI21. The frequency at which the
5C121 may be clocked can be determined by examining
the internal delay elements of the 5C121. These include
the input delay (Tin), two array delays (Tad), and the
combinational feedback delay (Tct). Table 1 gives the
simulation data for each of these paths in a 5CI21-50.

--o+-----Tad----~I

ARRAY

-Tad

Trd-i--Tod--I

ARRAY

REG OUTPUT

~--------Trl

Figure 2. Crosspoint Delay Path

2-167

.1

292008-2

inter

AP-271

TIMING ANALYSIS

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 (AD F),. Logic Equation File
(LEF), and Utilization report generated by Intel's Programmable Logic Software (iPLS) for this design.

(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 5C 121 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 can 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

'I

lOOn.

elK
INPUTS~''-

T.u (83NS)
__________________________
INPUT STABLE

17n.

J

'I'"-X
__-J·''-____________________--'

-

DATAOUT:::::::::::::::::::::::::::::::~~~:-~K::::JD~A~T!A~O~U~T~V~A~l~ID~::::
-Tcol
(Tcol = Tic + Trd + Tod)
292008-3

Figure 3. Crosspoint Timing Diagram

2-168

inter

AP-271

I'
\.

ClK

.I

lATCHED INPUTS

x:

X

.1
X

Tou (83NS)

17no

INPUT STABLE

r---\

lATCH ENABLE

DATA TO PINS

'I

lOOns

EXTERNAL DATA SET-UP

DATA STABLE

X

l",,:j

DATA OUT

X,

DATA OUT VALID

(Teol = Tie + Trd + Tod)
292008-4

Figure 4. Crosspoint Timing Diagram with Input Latches

2-169

inter

AP-271

APPENDIX
ADF File
o
5C121
Oigital C~osspoint Switch
LB Ye~sion 3.0, Baseline 17x, 9/26/85
PART: 5C121
INPUTS: 100@37,IOl@36,102@35,103@34,104@8,105@9,106@10,107@11,IIO@33,ll1@32
,112@31,113@30,114@29,115@28,116@27,117@26,CLK@38,OO@2,Ol@3,02@4,03@5
,D4@6,05@7,ILE@1
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
NETWORK:
QOO,QOOFBK
RORF (QOOO,CLK,GNO,GND,YCC) % BIT 0 OUTPUTS %
QOl,QOlFBK
RORF (QOIO,CLK,GNO,GNO,YCC)
Q02,Q02FBK
RORF (Q020,CLK,GNO,GND,YCC)
Q03,Q03FBK
RORF (Q030,CLK,GNO,GNO,YCC)
Q04,Q04FBK
RORF (Q040,CLK,GNO,GNO,YCC)
Q05,Q05FBK
RORF (Q050,CLK,GNO,GND,YCC)
Q06,Q06FBK
RORF (Q060,CLK,GND,GND,YCC)
Q07,Q07FBK
RORF (Q070,CLK,GNO,GND,YCC)
QI0,QI0FBK
RORF (QIOD,CLK,GND,GND,YCC) % 4 OF THE 8, BIT 0 OUTPUTS%
Qll,QllFBK
RORF (QIID,CLK,GND,GND,YCC)
Q12,Q12FBK
RORF (Q12D,CLK,GND,GNO,YCC)
Q13,Q13FBK
RORF (Q130,CLK,GND,GND,YCC)
CLK = INP (CLK)
05 = LINP (05,ILE) % OUTPUT SELECT CONTROL BITS %
ILE = INP (ILE)
D4
LINP (04,ILE)
03
LINP (03,ILE)
D2
LINP (02,ILE) % INPUT SELECT CONTROL BITS %
01
LINP (Ol,ILE)
DO
LINP (OO,ILE)
100
LINP (IOO,ILE)
101
LINP (IOl,ILE)
102
LINP (102,ILE)
103
LINP (103,ILE)
104
LINP (104,ILE)
105
LINP (105,ILE)
106
LINP (106,ILE)
107
LINP (107,ILE)
110
LINP (II0,ILE) % INPUTS FOR BIT 1 SWITCH %
III
LINP (ll1,ILE)
112
LINP (112,ILE)
113
LINP (113,ILE)
114
LINP (114,ILE)
115
LINP (115,ILE)
116
LINP (116,ILE)
117
LINP (117,ILE)
SELECTEQOF = NOCF (SELECTEQO)
SELECTEQIF = NOCF (SELECTEQl)
EQUATIONS:
QOOO
SELECTEQOF*!05*!04*!03
+ !(!05*!04*!03)*QOOFBK;
QOID
SELECTEQOF*!05*!04* 03
+ !(!05*!04* 03)*QOIFBK;
Q02D
SELECTEQOF*!05* D4*!03
+ !(!05* 04*!03)*Q02FBK;
Q03D
SELECTEQOF*!05* 04* 03
+ !(!05* 04* 03)*Q03FBK;
Q040
SELECTEQOF* 05*!04*!03
+ !( 05*!04*!03)*Q04FBK;
Q050
SELECTEQOF* 05*!04* 03
292008-5

2-170

inter

AP-271

ADF File (Continued)
+ !( D5*!D4* D3)*005FBK;
SBLBCTBOOF* D5* D4*!D3
+ !( D5* D4*!D3)*006FBK;
007D
SBLBCTBOOF* D5* D4* D3
+ !( D5* D4* D3)*007FBK;
010D
SBLBCTB01F*!D5*!D4*!D3
+ !(!D5*!D4*!D3)*010FBK;
011D
SBLBCTB01F*!D5*!D4* D3
+ !(!D5*!D4* D3)*011FBK;
012D
SBLBCTB01F*!D5* D4*!D3
+ !(!D5* D4*!D3)*012FBK;
013D
SBLBCTB01F*!D5* D4* D3
+ !(!D5* D4* D3)*013FBK;
SBLBCTBOO = 100*!D2*!Dl*!DO
~ COMMON BOUATION FOR BIT 0
+ 101*!D2*!Dl*DO
+ 102*!D2*Dl*!DO
+ 103*! D2*D1*DO
+ 104*D2*!D1*!DO
+ 105*D2*!D1*DO
+ 106*D2*D1*! DO
+ 107*D2*D1*DO;
SBLBCTBOI = 110*!D2*!D1*!DO
~ COMMON BOUATION FOR BIT 1
+ Ill*!D2*!Dl*DO
+ 112*!D2*D1*!DO
+ 113*! D2*D1*DO
+ 114*D2*!Dl*!DO
+ 115*D2*! D1*DO
+ 116*D2*D1*!DO
+ 117*02*D1*DO;
BND$

006D

2-171

~

~

292008-6

AP-271

LEF File
JR Donnell
Intel
January 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, 105@9, 106@10, 107@l1, 110@33,
111@32, 112@31, 113@30, 114@29, 115@28, 116@27, 117@26, CLK@38, DO@2,
Dl@3, D2@4, D3@5, D4@6, D5@7, ILE@l
OUTPUTS:
QOO@12, QOl@13, Q02@14, Q03@15, Q04@16, Q05@17, Q06@18, Q07@19, QI0@24,
Qll@23, Q12@22, Q13@21
NETWORK:
CLK
INP(CLK)
ILE
INP ( ILE)
100
LINP(IOO, ILE)
101
LINP(IOl, ILE)
102
LINP(102, ILE)
103
LINP(I03, ILE)
104
LINP(104, ILE)
105
LIN'P(105, ILE)
106
LINP(106, ILE)
107
LINP(I07, ILE)
110
LINP(110, ILE)
III
LINP(ll1, ILE)
112
LINP(Il2, ILE)
113
LINp(113, ILE)
114
LINP(114, ILE)
115
LINP(I15, ILE)
116
LINP(116, ILE)
117
LINP(117, ILE)
DO
LINP(DO, ILE)
Dl
LINP(Dl, ILE)
D2
LINP(D2, ILE)
D3
LINP(D3, ILE)
D4
LINP(D4, ILE)
D5
LINP(D5, ILE)
QOO, QOOFBK
RORF(QOOD, CLK, GND, GND, YCC)
QOl, QOIFBK
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, 007FBK
RORF(007D, CLK, GND, GND, YCC)
QI0, QI0FBK
RORF(QI0D, CLK, GND, GND, YCC)
011, 011FBK
RORF(QI1D, CLK, GND, GND, YCC)
Q12, 012FBK
RORF(Q12D, CLK, GND, GND, YCC)
Q13, Q13FBK
RORF(Q13D, CLK, GND, GND, YCC)
SELECTEOOF = NOCF(SELECTEQO)
SELECTEOIF = NOCF(SELECTEQl)
EQUATIONS:
SELECTEQI
110
D2'
Dl'
DO'
+ D2 * Dl' * DO' * 114
+ D2' * Dl * DO' * 112
+ D2' * Dl' * DO * III
+ D2 * Dl * DO' * 116
+ D2 * Dl' * DO * 115
+ D2' * Dl * DO * 113
292008-12

*

*

*

2-172

intJ

AP-271

LEF File (Continued)

*

+ 02 * 01 * DO

SELECTEQO
+
+
+
+
+
+

Q120

*

*

+

Q130

117;

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'
Q13FBK
+ 05 * Q13FBK
+ SELECTEQIF * 05'

*

04'

*

*

04

*

*

04

* 03';

03;

Q12FBK

+ 03 * Q12FBK

+ 05 * Q12FBK
+ SELECTEQIF * 05'

QII0

QI00

03' * QIIFBK
+ 04 * QllFBK
+ 05 * QllFBK
+ SELECTEQIF * 05' * 04' * 03;
03 * QI0FBK

+ 04 * QI0FBK
+ 05 * QI0FBK
+ SELECTEQIF * 05'

Q070

*

* 04'

03'

j

03' * Q07FBK

*

+ 04'
Q07FBK
+ 05' * Q07FBK
+ SELECTEQOF * 05 * 04 * 03;

Q060

04' * Q06FBK
+ 05' * Q06FBK
+ 03 * Q06FBK
+ SELECTEQOF * 05 * 04

Q05D

03'

* Q05FBK

03'

*

D3';

* Q03FBK

+ 04' * Q03FBK
+ 05 * Q03FBK
+ SELECTEQOF * 05'

Q020

* 03;

05' * Q04FBK
+ 03 * Q04FBK
+ 04 * Q04FBK
+ SELECTEQOF * 05 * 04'

Q030

D3';

*

+ 05'
Q05FBK
+ 04 * Q05FBK
+ SELECTEQOF * 05 * 04'

Q040

*

*04*03;

04' * Q02FBK
+ 03 * Q02FBK

+ 05 * Q02FBK
+ SELECTEQOF * 05'

QOI0

QOOO

* 04 * 03';

03' * QOIFBK
+ 04 * QOlFBK
+ 05 * QOIFBK
+ SELECTEQOF * 05'

*

04' * 03;

03 * QOOFBK
+ D4 * QOOFBK
+ 05 * QOOFBK
+ SELECTEQOF

*

04' * 03';

*

05'

END$

292008-13

292008-14

2-173

AP-271

RPT File
Logic Optimizing Compiler Utilization Report

*****

Design implemented successfully

JR Donnell
Intel
January 24, 1986

o
5C121
Digital Crosspoint Switch
LB Version 3.0, Baseline 17x, 9/26/85
5C121
ILl!
DO
Dl
D2
D3
D4
D5
104
105
lOS
107
QOO
QOl
Q02
Q03
Q04
Q05
Q06
Q07
GND

-

1
2
3
-: 4
-: 5
-: 6
-: 7
-: 8
-: 9
-: 10
-: 11
- :12
-: 13
-: 14
-:15
-: 16
-:17
-:18
-:19
-:20

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

Vcc
Vcc
CLK
100
101
102
103
110
III
112
Il3
114
115
116
117
GND
QI0
Qll
Q12
Q13

**INPUTS**
Name

Pin

ILl!

Resource

MCell

,

PTerms

MCells

INP

Feeds:
Ol!

Clear

Clock
Latch

DO

2

LINP

13
15

Dl

3

LINP

13
15

D2

4

LINf

13
15

D3

5

LINf

9
10
11
12
17
18
19
20
21
292008-9

2-174

inter

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

0/ 4

15

105

9

LINP

27

0/10

15

106

10

LINP

26

0/ 8

15

107

11

LINP

25

0/ 6

15

117

26

LINP

7

0/10

13

116

27

LINP

6

0/ 8

13

115

28

LINP

5

0/ 6

13

114

29

LINP

4

0/ 6

13

113

30

LINP

3

0/ 8

13

112

31

LINP

2

0/10

13

III

32

LINP

1

0/ 4

13

IlO

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**
Name

Pin

Resource

MCell ,

PTerms

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

Q07

19

RORF

17

4/ 8

17

Q13

21

RORF

12

4/ 8

12

Q12

22

RORF

11

4/ 8

11

Qll

23

RORF

10

4/ 4

10

QI0

24

RORF

9

4/12

9

Resource

MCell ,

PTerms

MCells

NOCF

13

8/ 8

9
10
11
12

NOCF

15

8/ 8

17
18
19
20
21
22
23
24

Resource

MCell

PTerms

8
14
16

4
8
8

Feeds:
OR

Clear

Feeds:
OE

Clear

**BURIED REGISTERS**
Name

Pin

**UNUSED RESOURCES**
Name

Pin
25
NA
NA

**PART UTILIZATION**
97~
89~

30~

Pins
MacroCells
Pterlls
292008-11

2-176

inter

APPLICATION
NOTE

AP-272

June 1986

The SC060
Unification of a CHMOS System

J. R. DONNELL
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292009-003
2-177

inter
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 logic.

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 A19, A13, and A12 will be used to decode
the address space. PWR_DWN and S2_MIO 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

aoaoo

•

•
•
•

•

•
03FFF
AAM18K

03000

02000

O1FFF

01000

..-.---------1 ,-....

00000

292009-1

Figure 1. aocaa Memory Map

2-178

intJ

AP·272

Figure 2 shows a discrete implementation of the chip select decoding logic.

MRDC-r---+-+-L~
WR

--1-++-1

=P---tJD

Q

OEN

AEN

BCLK -------------~
BPRO
AEN
RO

--1-++-1
AEN (GRANT)

BPRN

4-t+-i-.J

BUSY

--1-++-1

AEN
BPRO

G:

BREO

AEN

~_o

AEN~

Lo-t>o--

CBREQ - - - - - I

BUSY

292012-3

BCLK ---------------------......
292012-2

B) Grant! Access Logic

C) Bus Transfer Control

Figure 1. PLA Approach to a Bus Arbiter

2-191

AP-276

.-----------------,

PlA
l6l8

IN~-----------------r------~

M/IO----------------+---~«

BUS CONTROL
LOGIC

OEN

Rii
WR

-------------AEN

PLA
l6R4

SREQ

BREQ

BPRN

CBREQ

RESET

BUSY

BUS ARBITER

BPRO
BCLK

292012-4

Figure 2. Bus Controller with Arbiter Connected

PLA16R4
ARBOOI
MULTIBUS I ARBITBR
SOMB SYSTBM COMPANY
BCLK IWR
IRD
ISREQ IRBSET IBPRN
IE
ICBREQ IBUSY ISYNC IBPRO IAEN
SYNC

: = /RESET*SREQ*WR
IRESET*SREQ*RD

BPRO

:

ABN

: = IRBSBT* ABN*BPRO*WR
+
IRBSBT* AEN*BPRO*RD
+
IRESBT*BPRO*BPRN*/BUSY +
IRBSBT* AEN*BPRN*ICBRBQ

OEN

:=

::;::

PLA DBSIGN FILB
D. B. BNOR. 1/1/85
NC
NC
NC
IOEN IBREQ NC

OND
VCC

+

IRESBUSYNC

IRBSBT*SRBQ~BN

IF(BPRO*/ABN) CBRBQ

= BPRO*/ABN

IF(AB,N) BUSY = UN
BRBQ

BPRO +
ABN

292012-5

Figure 3. List File for PLA Arbiter

2-192

AP-276

RESET~~----~-i

XREO

D-----L....-I
) - - - - C ] BPRO

BeLK~~----------------~~--------------~

BPRN~_-~ ~o-----------------------------~
292012-6

A) Request

RESET --------.....-1
SREO ------.....+-1""""""'\
BPRN - - -......++-I._~
eSI

---+++-1

AEN
AEN -

eBI

+--+--1

....

---------1

eeLK----------------------------~

292012-7

B) Grant

RESET

X:~:
BCLK

~

---t:=W

eMDEN

RE:~: ------~~>--B-S-I-J-- -a
....

BUSY

292012-8

292012-9

D) Busy

C) Command Enable

SREO
AEN

~--..-_

292012-10

E)CBRQ
Figure 4. Logic Diagram of Bus Arbiter Functions
2-193

intJ

Ap·276

INTAIN

C > - - - - - - - - - I ;>---<:::J INTA

MIlO 0 - - - - 1 H

>--1-.......0

IORC

>-+--<:::1 IOWC

o..-r.....t--iH

>-t-.......OMRDC

WRO~-t---t

>-t-.......OMRWC

RD

CMDEN

AEN

Figure 5. Logic Diagram of Bus Controller Functions

2-194

292012-11

inter

AP-276

DANIEL B. SMITH
INTEL CORPORATION
MARCH 27, 1986
VBRSION 1.1
RBV. A
5C060
CMOS BUS ARBITBR/CONTROLLBR

PART:
INPUTS:
OUTPUTS:

5C060
BCLK, XRBQ, RBSRT, BPRN, MIO, RD,
WR,
INTAIN
BPRO, ARN, BRBQ, CBRQ, BUSY, INTA, MRDC, MWTC, 10RC, 10WC

NBTWORK:
BCLK
INTUN
XRRQ
RESET
BPRN
MIO
RD
WR
BPRO
AlN,AlN
BRBQ
CBRQ,CBI
BUSY,BSI
INTA
MRDC
MWTC
10RC
10WC
SRRQ
SYNC
CMDRN

INP (BCLK)
INP (INTAIN)
INP (XREQ)
INP (RESIIT)
INP (BPRN)
INP (MIO)
INP (RD)
INP (WR)
CONr (BPROe,VCC)
RORr (AENd,BCLK,GND,GND,VCC)
CORr (BRBQe,VCC)
cOlr (CBRQel,CBRQe2)
COIF (BUSYe, AlN)
CORr (INTAIR,ABN)
CONr (MRDCe,AlN)
con (MWTCe,AlR)
CONr (IORCe,ARN)
con (IOWCe,AEN)
RORr (SREQd,BCLK,GRD,GND)
NORr (SYRCd,BCLK,GRD,GRD)
NORr (CMDERd,BCLK,GND,GND)

.BUS CLOCK INPUT.
.INT. ACK. INPUT.
.SYSTEM RRQUBST INPUT.
.RBSET INPUT.
.BUS PRIORITY INPUT.
.MEMORY/IO INPUT.
.READ INPUT.
.WRITR INPUn
.BUS PRIORITY OUTPUT.
.ADDRESS BNABLB (GRANT).
.BUS RBQUBST.
.CBRQI -- SIMULATBD O.C .•
.BUSYI -- SIMULATBD O.C .•
.INT. ACK. OUTPUT.
.MEMORY RBAD COMMAND.
.MBMORY WRITB COMMAND.
.1/0 READ COMMAND.
.1/0 WRITB COMMAND.
.VALID BUS RBqUBST.
.SYNCHRONIZBD REQUEST.
.COMMAND ENABLE.
292012-12

BQUATIONS:
BPROe
ABNd
BRBQe
BUSYe
CBRQel
CBRQeZ
MRDCe
MWTCe
10RCe
10WCe
SREQd
SYNCd
CMDBNd

*
*

(SREQ
IBPRN);
RBSBT
SREQ
IBPRN
BSI +
RESET
SREQ
AEN +
RESRT
IBPRN
ABR
CBI;
I(SREQ + ARN);
IRESIIT;
I(SREQ
lAIN);
SREQ
IABIi;
IMIO + RD + CMDEN;
IMIO + WR + CMDBN;
MIO + RD + CMDEN;
MIO + WR + CMDBN;
RESBT
SYNC;
RRSBT
XREQ;
I(RESET
XRRQ
ABN);

*

*

*

*

*

*

*
*

*

*
*

*

*

END$

292012-13

Figure 6. iPLDS Network List File

2-195

inter

AP-276

Logic Optimizing Compiler Utilization Report

*****

Design i.ple.ented successfullY

DANIEL E. SMITR
INTEL CORPORATION
MARCH 27, 1985
VERSION 1.1
REV. A
5e060
CMOS BUS ARBITER/CONTROLLER

5COSO
BCLI
MIO
RESERVBD
RBSERVED
RESERVED
ARN
BPRO
INTAIN
WR
liD
BPRN
GND

-:
-

1
2
3

4

-: 5

-: S

-

7

-: 8

9
-:10
-: 11
-: 12

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

Vec
XREQ
INTA
IOWC
10RC
MWTC
MRDC
BUSY
CBRQ
BREQ
RBSBT
GND

nINPUTS**
Na.e

Pin

BCLI
MIO

Resource

MCe11 It

PTer ••

MCells

INP
2

Feeds:
OE

Clear

Clock
CLKI

INP

2
3
4
5

INTAIN

8

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

RBSBT

14

INP

S
9
10
11
12

XRBQ

23

INP

9
10
292012-14

Figure 7. iPLDS Report File

2-196

infef

AP-276

nOUTPUTS**
Na.e

Pin

Resource

MCell It

PTer ••

MCell.

Feeda:
OB

ABN

6

RORF

12

3/ 8

7
8
9
12

-7
1
2
3

Clear

Clock

Clear

Clock

4

6
6

BPRO

7

CONF

13

1/ 8

BRBO

15

CONF

8

1/ 8

CBRQ

16

COIF

7

1/ 8

12

BUSY

17

COIF

6

1/ 8

12

MRDC

18

CONF

6

1/ 8

MWTC

19

CONF

4

1/ 8

IORC

20

CONF

3

1/ 8

IOWC

21

CONF

2

1/ 8

UTA

22

CONF

1/ 8

**BURIED REGISTBRS**
Haae

Pin

Resource

MCell It

PTer ••

MCells

3

NORF

9

1/ 8

2
3

Feed. :
OE

4
5
4

NORF

10

1/ 8

11

6

NORF

11

1/ 8

7
8
12
13

Resource

MCell

PTera.

7

**UNUSED RESOURCBS**
Haae

Pin
13

nPART UTILIZATION**
96_
100_
11_

PiDe
MacroCells
Pter ••
292012-15

Figure 7. iPLDS Report File (Continued)

2-197

intJ

APPLICATION
NOTE

AP-307

January 1987

EPLDs, PLAs and TTL
Comparing the "Hidden Costs"
in Production

PEDRO VARGAS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292030-001
2-198

inter

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

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

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
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 OF
CIRCUITS

...
Iii
o
u

SYSTEM
HARDWARE
COSTS

OPTIMUM
COMPLEXITY

M S I - - - . . , . - - - - - - - - - - - - - - , VLSI
CIRCUIT COMPLEXITY

Figure 1. Optimizing Circuit Complexity

2-199

292030-1

AP-307

RESET~

RESET

XREQ ~ Q

SREQ
U3

AEN

BPRN

BCLK

BSi

CMDEN

LS10
LS74

292030-4
Ull

1/4Ul0

~S126

.= ~~"""

AEN
AEN

AEN

LS74

AEN

BSi
292030-5
U3

Cai

LS21

BCLK

292030-2
SREQ

->........r-.......

AEN .....- 1 - . . /
LSOB
BREQ

REsET
XREQ

BPRO

BCLK
BPRN

INTAIN

O>---------i

M/iO D----1>-i_

RD

0>+....1-+-1

WRD.....-t---i

Figure 2. MULTIBUS Arbiter/Controller-TTL Implementation

2-200

CBI

292030-6

AP-307

The graph shows that as the density of the components
used in a system progresses from SSI to VLSI, the cost
for these devices increases. This isn't surprising, denser
chips cost more to make. At the same time, by using
denser devices, system hardware cost decreases. This is
shown by the center line, which encompasses all the
costs listed above. The bathtub curve above these shows
the effect that denser ICs has on a system. That is, by
using higher integration ICs, more functions are removed from the board. This in tum reduces the cost of
the system in labor and parts costs.
A cost-effective product is one that uses the most efficient logic for the application. It's important to note
that use of the least expensive component may not
translate into system cost savings.
PAL' is a registered trademark of Monolithic Memories Inc.

INTA

---------+----01

ARBITER CIRCUIT
Let's explore costs in more detail with an example. The
example used here is the circuit of Figure 2, a
MULTIBUS® I arbiter/controller. The circuit is used
by bus masters arbitrating for control of the bus. Our
implementation comparison contrasts TTL, PAL', and
EPLD solutions.

Implementation Requirements
The TTL implementation is typical of many board level
designs in the sense that it relies on inexpensive
LSTTL. Figure 2 shows that the implementation is
composed of standard logic gates and D-latches. The
component list in Table I shows the circuit breakdown
in more detail. [20]

>-IH

M/IO-----------~--~~

BUS CONTROL
LOGIC

RD-II-I~-I

I--....--+CMDEN

wR-II-4.....-I

-------1
BPRN -------1
RESET -------1
SREQ

1------..... AEN
PLA
16R4

I-----BREQ

1 - - - - - CBREQ

BUS ARBITER

1-----BUSy

[~::::::~=======BPRO
BCLK
292030-8

Figure 3. MULTIBUS Arbiter/Controller-PAL Implementation

2-201

AP-307

- The total chip count
- The total number Of IC pins
- The traces required to connect logic gates together
• Area (inches-square)- The.sum of the area of all ICs

Table 1. Arbiter/Controller TTL Component List
IC

Type

DIP

U1
U2
U3
U4
U5
U6
U7
US
U9
Uta
U11

LS08
LS74
LS21
LS10
LS11
LS02
LS27
LS27
LS366
LS126
LS04

14 PIN
14PIN
14 PIN
14 PIN
14 PIN
14 PIN
14 PIN
14 PIN
16 PIN
14 PIN
14 PIN

• ICCount
• Pin Count
• Interconnections

ICC (mA) Area (in2) Cost $
8.8
8
4.4
3.3
6.6
5.4
6.S
6.8
21
22
6.6

0.21
0.21
0.21
0.21
0.21
0.21
0.21
0.21
0.24
0.21
0.21

0.18
0.24
0.22
0.16
0.22
0.17
0.23
0.23
0.39
0.39
0.16

• Icc (rnA)
• Pwr(mW)

Production Costs

The PAL version of the circuit is shown in Figure 3.
Two PALs are used due to the requirement of registered outputs on several of the signals. [20]
The complete circuit can also be designed in one 5C060
EPLD (Figure 4).1 18] Looking at the three figures
quickly points out the amount of circuit board space
required by each version. The three implementations
are compared side by side in Table 2.

SC060
BCLK
MIO
RESERVED
RESERVED
RESERVED
AEN
BPRO
INTAIN
WR
RD
BPRN
GND

2
3
4
5
6

24
23
22

7
8
9

10
11
12

15
14
13

Vee
XREQ
INTA
IOWC
IORC
MWTC
MRDC
BUSY
CBRQ
BREQ
RESET
GND

- The current consumed while
active
- Total power consumption at
5VDC.

Earlier, we noted that production costs consist of many
variables. Usually, these variables are lumped together
under the term "hidden cost". Although hidden costs
are kept in mind by engineers, lack of tangible figures
usually precludes their use in detailed cost breakdowns,
For this reason, several manufacturers and consulting
firms have come up with typical costs per IC and per
pin.
For example, SOURCE III (San Jose, CA) reports in
one of their studies that the manufacturing cost of a
system translates to about 0.35 cents per IC pin. ICE
Corporation (Scottsdale, AZ) and EDN magazine concur that the inserted cost of an IC is about $2 dollars.
DATAQUEST also published a cost of about $2 to $4
per IC. While the data seems to be consistent, most
engineers want to see for themselves how figures like
. these might be arrived at. The next sections provide
insight into this process.
COMPONENTS

The cost of the component is the easiest value to obtain.
A quick call to a distributer or (at worst) a scan
through the back of BYTE magazine (for TTL) gives us
this cost. Table 3 shows the breakdown of component
costs for each version of our MULTIBUS I circuit.
Table 3. Average Component Costs
Package

292030-9

DIP14
DIP16
DIP20
DIP24

Figure 4. MULTIBUS Arbiter/Controller-EPLD
Implementation
Table 2. Implementation Results
for Arbiter/Controller
Item

TTL

PLA

EPLD

IC Count
Pin Count
Interconn
Area
ICC (rnA)
Pwr (rnW)

11
156
36
2.34
100
500

2
40
7
0.6
240
1,200

1
24
0
0.36
15
75

TTL
$0.25
$0.35
$0.55

PLA

EPLD

$1.50
$2.90

$6.00

The price of TTL has changed very little for the last
few years[24] while EPLDs are dropping in price tremendously. PALs have also leveled off in pricing.
Why? Figure 5 shows the life cycle curve of IC products used by the semicc;mductor industry. From the
curve we see that TTL is in the stable range and prices
are not likely to drop much more. PALs are also maturing and approaching a stable pricing range. EPLDs
however, are in a growth area and historically this is
2-202

Ap·307

-20%

INTRODUCTION
EPLD

GROWTH

MATURITY

SATURATION

PAL
LSTTL

STTL

1987 {

DECLINE (OBSOLETE)

TTL

EPLD
PAL
LSTTL

1988{

STTL TTL

EPLD

1989{

I

PAL
LSTTL

ISTTL TTL

292030-10

Figure 5. Typical Price Changes Through Semiconductor Product Life Cycle

where the heaviest pricing pressure is. This means that
while EPLDs might be expensive (per part) right now,
it's not out of the question to expect a 30% per year
price reduction as the process is honed and perfected.
In other words, it's also important to consider the price
of a component at the projected production date, not
just at design time.
Life cycle position is also important in understanding
the gate cost that is associated with programmable logic
devices like PALs and EPLDs. This relationship is
shown in Figure 6. The curves translate our observation
that newer devices have steeper price cuts during their
introduction phase. The PAL curve shows that the cost
per gate is leveling off due to the maturity of the device.
In contrast, the EPLD is in the growth region, and
based on the traditional price reductions, shows a cost
per gate that intersects and bypasses the PAL curve.

INCOMING INSPECTION

For most companies, incoming inspection is more than
taking the parts and putting them on the shelf. Most
have visual checking as well as some form of IC testing.
The variables here are, what amount of human intervention is needed, are automatic handlers needed, are
"go/no go" tests or "binning" done automatically? The
typical scenario means that components are graded and
tested individually, and then placed into one of several
bins or kitted. Because the operators handle a large va·
riety of pinned devices (resistors, capacitors, ICs), the
cost can be distributed on a per pin basis. Many compa·
nies use a penny per pin for this cost.(16)

2·203

Inspection cost

=

$0.01 per pin

AP-307

$ COST/GATE
0.03

PALs

_____ EPLDs

0.0025

04 '85

04' 86

04 '87

04' 88

04' 89

04 '90

292030-11

Figure 6. Projected Cost Per Gate
INVENTORY

While most engineers agree that reducing parts count
on their board makes the cost of inventory less, they
usually attribute this to the reduction in component
costs alone. In reality, the overhead of carrying inventory is made up of the following factors; [21]

Maintenance refers to the cost of handling, counting,
marking, and auditing each IC. Each production manager has their own way of keeping tabs on this. One
way is to charge on a per part basis. A review from
several production oriented journals cites $0.3 cents as
the typical handling charge for 16 pin devices.l 23 ]
Maintenance = $0.03 per 16 pin part.

• Cost of the component
• Cost of storage
• Maintenance costs
• Data processing

Processing[21] usually entails a parts log that tracks
each part by manufacturer, cost, second source etc.
Also, monthly shortage reports are quite common as
are quarterly orders and audits. Limiting this cost to
paper only, at one sheet of paper per week, per year, at
a cost of a penny per part type;

• Usage
• Taxes insurance and interest
• Turnover rate

Processing = $0.52 per part type per year

The American Production and Inventory Control Society (APICS) reports that since 1973 the median cost of
carrying inventory has been about 25% of total production costs. They also note that the largest contributing
factors are the cost of materials handling storage, and
data processing. For simplicity, let's limit our inventory
cost to these items.
Inventory cost = storage

+

maintenance

+

PCB FABRICATION

The cost of manufacturing (cutting, etching, drilling) a
circuit board seems to vary around two pricing methods. Some fab houses charge on a square inch basis.
Others base their price on a gut feeling based on previous jobs. The square inch method is the most common.

processing

Depending on the locale of a company, the cost of storage can vary greatly. However, this cost is charged on a
square foot per year basis. Lets assume a conservative
figure of $20 dollars and distribute this amoung the ICs
in our example circuit.
storage = [TotallC area (sq. ft.) x $20]/IC count

Items of interest in evaluating PCB costs are, number
of ICs, number of traces and vias, and in general, the
complexity of the. board. Traces that are smaller than
10 mils require extra care in etching. Depending on
complexity, and additional charge might be added to
the area cost. This charge covers material loss in case of
low etch yields. Yield is directly dependent on the number of ICs on a board. In other words, more ICs mean
more holes, tighter traces, and a greater chance of losing some boards in their processing. The average going

2-204

intJ

AP-307

rate is $0.20 cents per inch for double-sided boards.
The price increases by about 40% for every two layers.
This extra charge, however is too subjective to consider
in our comparison.
PCB Fab = [$0.20 x total IC area (sq. inch)]/IC count

Traces

There is a real cost involved with traces, which doesn't
surface until later in the production cycle or on a later
board revision. A technical paper presented at the 1984
international Test Conference[l] estimates that the cost
of a trace on a board is ten to thirty times that of one
made in silicon. The cost of traces is taken up by:
• Increased drilling (more traces = more vias =
more holes)
• Lower PCB yield (smaller mill lines drop the board
yield)
• Increased risk oftrace to trace shorts (lower reliability)
• More expensive artwork mods (it costs more to
move traces around on a board)
• More expensive PCB mods (cost of cuts, jumpers,
and rework)
In our circuit example, an extra trace is that which is
unnecessary in contrasting implementations. For example, referring to Figure 2, of all the traces required to
connect/RESET in the TTL implementation, only one
will be required for the EPLD and PAL circuit (the
input); the others won't be needed.

ASSEMBLY

The cost of assembling a board is largely dependent on
labor charges and capital. Assembly consists of lead
forming, component insertion, and soldering. The labor
charge is hourly and varies between domestic and offshore assembly houses. While machines can certainly
do lead cutting, crimping, and insertion, human intervention is still an expensive presence. Assembly costs
can be charged on a per board or per chip basis. The
latter is more appropriate for our comparison. The average charge (domestically) is about $0.10 per Ie.
Assembly = $0.10 per 16 pin part

One important result of using high integration parts
like EPLDs is that the assembly procedures (manual or
automatic) go smoother. This is due to fewer parts being handled, and less overheating of the equipment.
Overall, the industry reports less insertion faults (parts
stuffed wrong) as denser ICs are used and as insertion
equipment matures with them.
TEST

Test strategies can vary, but the typical test flow for a
board[3] is shown in Figure 7. The process is basically
taking a board through increasing complexity levels of
testing. For example, ATE might be a bed of nails fixture that catches 60 percent of the faults. Test bed is
usually a backplane with all boards known good except
for the one under test. System test is the final integration of all the boards that were tested individually.

For our comparison, let's take the median value of
twenty as our multiplying factor. Since a silicon trace
costs an order of magnitude less than an EPLD gate
($0.01), the resulting cost of a PCB trace is;
($0.01/10) x 20 = $0.02 cents per trace

Trace cost = [total trace count x $0.02]/IC count

292030-12

Figure 7. Typical Test Flow

2-205

AP-307

TO NEXT LEVEL
OF TEST OR
SHIPPING

BOARDS IN--r--l~

292030-13

Figure 8. Typical Test and Repair Loop
Errors can occur at any step of the test flow; each time
this happens, a test loop is initiated. This loop is depicted in Figure 8. The cost for testing a device depends on
the cost of the equipment, depreciation, the labor rate,
and other factors that are company dependent. There
are several ways to reduce test costs, but the best way is
to reduce the probability of errors occuring. There is no
question that as the number of ICs increases, so does
the probability of error.
With all things considered, the industry reports a nominal test cost of about $0.15 per IC,[27](28]
Test cost

=

insert, resolder, and clean a component pin[91, one can
see that more ICs on a board directly affect cost. Repair
times also increase dramatically on multi-layer boards
that might have been doubled sided if denser logic was
used.
For our comparison, let's assume that our test equipment is 95% efficient in finding solder faults on the
first pass (no loop). This leaves 5% of the faults that go
undetected and eventually must be found and repaired.
The estimated cost per pin based on a $6.00 hourly
wage and the two minute repair time is approximately
$0.02 cents.

$0.15 per 16 pin 10
Rework = [$0.02 X total pin countl/lC count

REWORK

It is important to note that the probability of errors is

The cost of rework is best understood by considering
the cause of errors in more detail. Errors are typically
caused by poor board quality, inadequate solder process, tolerance of insertion, and of course, bad chips.
Table 4 shows the average board fault spectrum. The
figures are a conclusion reached by EVALUATION
ENGINEERING magazine[101 as to what the industry
is currently seeing. The table shows that the majority of
board errors is due to solder shorts. These errors are
the result of traces or IC holes being too close, which is
what happens on densely populated boards.

Table 4. Average Board Fault Spectrum
Tolerance
Shorts
Insertion
Bad Parts

20%
40%
30%
10%

based on a Poisson distribution[81 that increases exponentially with the number of pins and components.
This distribution is used in wave solder processing to
correct for solder errors. Mathematically this is expressed as:
p = e-nP(np)X
X!

where; P
n
p
x

= The probability that a defect will occur

= The number of components
= The fraction defective
= The actual number of defects

This means that the TTL and PAL version of the arbiter have a higher probability of error than the EPLD
version. However, to make our comparison easier, let's
simplify this to more of a linear relation. For each implementation, the rework cost per IC is calculated by;

Of all the material costs associated with rework, the
main cost is the time spent on a repair. Considering
that it takes approximately two minutes to desolder,

Rework cost = [(total pin count) x (5%) x ($0.02 cents)]IIC count

2-206

intJ

Ap·307

PRETEST

AFTER
PRETEST
OPERATION

292030-14

Figure 9. Example of a Production Line
QUALITY CONTROL

POWER SUPPLV

In most production operations, boards go through several steps of quality inspection. The bare board might
be inspected after preliminary tests and after system
tests. Although 100% inspection should theoretically
eliminate all errors, in real life this rarely happens. The
main reason for this is the complexity of the production
and rework loops as shown in Figure 9.

Price for 5V, single output, switching power supplies as
advertised by several vendors is $1.00 per watt. The
calculation for determining power supply costs in our
comparison is:

Quality control's purpose is to remove defective products and either junk them or rework them, neither of
which is cost effective. The best approach is to design
the quality in, not fix it in. One way to design in quality
is by reducing the possibility of errors and increasing
the reliability of a product. This is one of the primary
advantages of dense logic (like EPLDs and PALs) over
TTL.

Additional Costs

A survey conducted by CIRCUITS MANUFACTURING magazinel 8] yielded the cost of $10 to $50 dollars
to inspect, find, and repair a defect on a board. They
summarized that the actual cost of inspection is about
$0.004 for each hole on a board. With this in mind, let
us assume a 100% inspection of our arbiter circuit for
each implementation. This means that each pin (and
every trace via) will have to be looked at. The calculation for this is;

ac cost

Power cost = [(5VDC x Icc (rnA)) x $1.00 per walt]/IC count

In addition to the more obvious costs, there are several
other items that contribute to the "hidden cost" of a
system.
PROGRAMMING LOSS

Because PALs are a one time programmable type of
device, full testing can't be done on them without destroying the user's fuses. For this reason PALs have a
published programming loss of 2%[20]. The cost for
this is:

= (total pin count x $0.004)/IC count

2-207

Programming loss = (PAL IC count
per IC

x

0.02)

x

PAL cost

inter

Ap·307

EPLDs, because they are based on EPROM cells, can
be programmed for different patterns, fully tested before customer delivery, and then erased. The result is ~
near 100% percent programming yield(22).
'
PROGRAMMING FEE

Programming fee is the cost of programming a device.
While many companies have in-house programmers, it
is quite common for programming to be done by the
distributor. In some cases, and at low volumes, the programming may be done free of c4arge. However, at
larger volumes a 'programming charge is not uncommon. The charge varies with volume, programmer
availability and in general, your state of affairs with the
distributor. The cost for programming EPLDs and
PALs is the same IJer device and averages about $0.25
cents.
Programming fee

=

Let us assume that the production manager reduces
safety stock py a moderate amount, let's say 3%. In a
case like this, usually, the larger more expensive parts
are curtailed first. Since EPLDs provide good coverage
for work in progress and ,because they are more expensive by eomparison, we can reduce the total safety stock
to 2% and not compromise our safety margin. Because
TTL is inexpensive.it tends to suffer more of the "gunshot" approach in testing(7). This means that the useage rate is greater because production technicians tend
to replace TTL parts with more liberty. For this reason
let's leave the TTL ,safety stock as it stands. PALs
could be reduced, but faced with the fact that the programming yield is 2% and that internal modifications
can't be made, the production manager might decide
not to change the safety stock for PALs. These results
are shown in Table 5.
Table 5. Safety Stock

$0.25 cents

Unexpected
Events

SAFETY STOCK

Although this particular item was not mentioned in the
inventory section, it plays a very important role in the
production world. Safety stock(21) is extra ICs ordered
to cover for unexpected events. Unexpected here might
be a large unforeseen customer order or simply a bad
batch of pails.
While industry seems to strive for the' optimum JIT
Gust in time) production(14)[J6), which stresses mini-'
mal inventory until needed, it's not unusual for production managers to carry a five to ten percent inventory
buffer depending on the cost of the part. In most cases,
the larger expensive parts like microprocessors, peripheral controllers, and other LSI devices are safety
stocked in smaller quantities.
Let's assume that the safety stock is to be a maximum
of 10%. Five percent might be used to cover for the
unexpected occurrences, and five for WIP (work in process) modifications. Since all parts have the same probability of unexpected events we can assign that percentage equally. Justifying the second 5% depends on the
IC technology itself. For instance, WIP modifications
usually require cuts and jumpers on TTL, therefore it's
unnecessary to order'the additional 5%. In process
modifications to an EPLD are done simply by reprogramming it, here again there is no need for the additional 5%. PALs however cannot be cut andjumpered
(internally) nor can they be reprogrammed. Also/there
is the possbility that "on the shelf' PALs will be programmed in advance, therefore a WIP mod that impacts their function means that those parts must be
obsoleted Gunked). In this case, an additional 5% is
justifiable.

WIP
MODS

Total

TTL

PAL

EPLD

5%

5%

2%

0

5%

0

5%

10%

2%

The safety stock calculation for each implementation is:
Safety stock ~ (% of stock x IC type x IC type cost)/IC count

DE-COUPLING CAPACITORS

While adding caps solves many problems due to system
noise, it also increases the cost of PCB layout, PCB fab,
and adds an additional burden on,all of our other costs:
For a TTL system,a good de-coupling rule of thumb is
to use one 0.01 /-I-f per each synchronous driven gate
and at least 0.1 /-I-f per 20 gates regardless of synchronicity. Engineers recognize the need for decoupling and
usually take it a step further by using one capacitor per
IC. Most boards reflect this practice, which, in itself is
very good. However, the addition of all these caps is
definitely measurable, in both component and systems
cost.
The ;iverage cost of a ceramic capacitor in moderate
quantities is about half ,a cent. For our comparison we,
will follow the accepted practice and de~couple each
TTL, PAL, and EPLD' device. Our capacitor cost is
then:

2-208

De-coupling cost = $0.005 x Ie count

inter

AP-307

---;-"ESCAPE"

$50

~~~U~~~L~E~E~~?RNE~STICS

:
• DIAGNOSTICS TIME
(SECONDS TO MINUTES)

:

• UNSTRUCTURED DIAGNOSTICS • SAME AS SYSTEM TEST
• HIGH SKILL REQUIRED
+
• DIAGNOSTICS TIME
• TRAVEL OVERHEAD
(MINUTES TO HOURS)
• "LOST" CUSTOMER GOODWILL

292030-15

Figure 10. Escape Costs

Other Costs To Consider

ENCLOSURE

Eventually, some place toward the end of a production
line, a board becomes part of a system. At this point it
is housed in an enclosure and all the necessary cabling
is done. Even here, however, the impact of using a particular IC technology can still be felt.

Certain applications require reduced packaging or enclosure size. In industrial control for example, each line
might require a complete system to monitor it's operation. In a case like this, a large bulky box full of boards
might not be appropriate. A good example of the benefits that high integration logic provide enclosures, is the
third market versions of the popular PC. Many of these
companies have fully compatible versions that fit on a
single board. EPLDs and PALs are capable of providing a cost savings in this respect. However, while PALs
approach the density requirements, their large power
needs render them counterproductive to the low power
specs of small systems. TTL is just not as effective as
either PALs or EPLDs.

DEFECT ESCAPES

One very significant item that the test community acknowledges is the cost of "escap~s"[41. "Escape" is defined as a fault that goes through the early stages of
board test undetected. Figure 10 shows the escape relationship. An industry rule of thumb states that the cost
to detect a fault increases by an order of magnitude at
each stage. This means that if it costs $5 to find a fault
at the board test level, that same fault might cost $50 at
the system level and $500 at the field level. An important relationship to remember, is that the number of
faults per board increases logarithmically, as the number of components on the board increases[61. The cost
of an "escape" is difficult to quantify, but generally, a
board with a higher component count has a greater
costf2)[8].
CABLES/WIRING HARNESS

For our comparison let us assume the cost of enclosure
per chip is $0.75. The calculation is:
Enclosure cost

=

$0.75 x IC count

Table 6 shows the cable and enclosure costs for the
MULTIBUS I circuit. Although the results are based
on assumed values, we can see that a larger IC count
influences the burdened cost of the system. Our final
comparison will not use these figures, but they should
be considered.

When the number of components or the power requirements of a system are reduced, a reduction in cables
and wiring is usually expected. The cost savings here is
either in the elimination of cables (because more functions are condensed into an IC) or the reduction of
cable gauge or length (because less power is required, in
the case of EPLDs). Also, fewer cables means fewer
cable ties, connector pins, and mounting hardware.
While this is a subjective figure, lets assume that the
distributed cost of system cables is $0.25 per IC.
Cable cost

=

$0.25 x IC count

2-209

Table 6. Other Production Costs for
Multibus I Circuit
TTL

Wiring/harness
Enclosure

$2.750
$8.250

PLA

$0.500
$1.500 '

EPLD

$0.250
$0.750

inter

AP-307

were done on a Lotus 1-2-3 worksheet that the individual engineer can modify with their specific values. The
worksheet is available, and can be downloaded from the
Intel EPLD bulletin board. Table 8 shows our calculation results for tpree years of production.

Arbiter Circuit Conclusion
A compilation of the cost variables for our comparison
is shown in Table 7a and 7b. Because the cost may
differ for each company, the comparison calculations
Inventory: .

Costs
Incoming insp. ($/pin)
Storage ($/sq.ft./yr)
Maintenance ($/part)
Processing ($/part type/yr)
Safety stock (%)

Manufacturing:

$0.010
$20.000
$0.030
$0.520
2%
Costs

PCB fab. ($/sq.in.)
Assembly ($/part)
Test ($/part)
Rework ($/pin)
QC ($/pin)
Power ($/watt)
Interconn
Program ($/part)
Caps. (each)

$0.200
$0.100
$0:150
$0.020
$0.004
$1.000
$0.020
$0.250
$0.005
(a)

Integrated Circuits
Component Count:
Package
DIP14
DIP16
DIP20
DIP24

TTL

PLA

10
1
0

EPlD

2

ICs

Types

TTL
PLA
EPLD

10
2
1

1

Circuit Requirements:

ICC (max)

TTL circuit (total rnA).
PLA circuit (total rnA).
EPLD circuit (total rnA).

100
240
15

Interconnects
36
7
0

(b)
Tables 7a and b. Multibus Arbiter/ControllerCost Variables

2-210

AP·307

Table 8. MULTIBUS I Arbiter/Controller Production Costs

AVERAGE COMPONENT COST
Year 1
Package

DIP14
DIP16
DIP20
DIP24

TTL

$0.25
$0.35
$0.55

PLA

Year 3

Year 2
EPLD

TTL

$0.20
$0.30
$0.38

$2.00

PLA

EPLD

$1.70

$6.00

TTL

PLA

$0.19
$0.27
$0.35

$1.56

EPLD

$2.90

$4.20

PRODUCTION COSTS

Year 2

Year 1
Item
(costs per part)

TTL

PLA

EPLD

TTL

PLA

Year 3
EPLD

TTL

PLA

EPLD

Components

$0.259

$2.000 $6.000

$0.209

$1.700 $4.200

$0.197

$1.560 $2.900

Incoming Insp.

$0.142

$0.200 $0.240

$0.142

$0.200 $0.240

$0.142

$0.200 $0.240

Inventory
Maintenance
Storage
Processing

$0.027
$0.030
$0.473

$0.038 $0.045
$0.042 $0.050
$0.520 $0.520

$0.027
$0.030
$0.473

$0.038 $0.045
$0.042 $0.050
$0.520 $0.520

$0.027 $0.038 $0.045
$0.030 $0.042 $0.050
$0.473 $0.520 $0.520

$0.043
$0.065
$0.089
$0.150
$0.014
$0.057

$0.060
$0.070
$0.125
$0.150
$0.020
$0.080

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

$0.043
$0.065
$0.089
$0.150
$0.014
$0.057

$0.060
$0.070
$0.125
$0.150
$0.020
$0.080

$0.043
$0.065
$0.089
$0.150
$0.014
$0.057

Power Supply

$0.045

$0.600 $0.075

$0.045

$0.600 $0.075

$0.045 $0.600 $0.075

Total Cost/Part

$1.393

$3.904 $7.422

$1.343

$3.604 $5.622

$1.331

Total Cost/System

$15.321 $7.808 $7.422 $14.771

Additional Costs/System
Programming loss
Safety stock
Programming fee
De-coupling caps

$0.000
$0.143
$0.000
$0.055

True mfg. cost/system

$15.518 $8.798 $7.797 $14.941

Printed Circuit Board
Fabrication
Trace costs
Assembly
Board test
Rework
QC

$0.080
$0.400
$0.500
$0.010

$0.000
$0.120
$0.250
$0.005

$0.000
$0.115
$0.000
$0.055

2-211

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

$0.060
$0.070
$0.125
$0.150
$0.020
$0.080

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

$3.464 $4.322

$7.208 $5.622 $14.641 $6.928 $4.322

$0.068
$0.340
$0.500
$0.010

$0.000
$0.084
$0.250
$0.005

$0.000
$0.109
$0.000
$0.055

$0.062
$0.312
$0.500
$0.010

$0.000
$0.058
$0.250
$0.005

$8.126 $5.961 $14.804 $7.813 $4.635

intJ

AP-307

The comparison in component costs shows that the
EPLD costs more than either a TTL or PAL IC. As '
costs are added, the figures for TTL and PALs begin to ,
approach the cost of an EPLD. These are shown on the '
line labeled "Total cost/part".
The "Total cost/system" line shows the actual cost
when all the ICs are considered. For the first year, the
TTL version is the more expensive implementation, and
the EPLD numbers look very favorable.
The "True mfg. cost/system" line results after additional costs are figured in. Here we see that the ,first
year, the EPLD version already provides a $1 savings
'over the PAL version, and that the cost of the TTL
implementation is very high: Also, the inserted cost per
IC at this point is, $l.lS for TTL, $2.40 for PAL and
$1.80 for the EPLD. This is in line with the inserted
costs that we mentioned earlier.
The production costs for two additional, years shows
that the decreasing price of EPLDs (based on the curve
of Figure 5) will continue to prl)vide costs savings as
production ramps up in quantities.
, In terms of functional benefits, the EPLD implementation is the most beneficial because;
• The chip count has gone down, one EPLD has replaced II TTL ICs in one implementation, and 2
PALS in the other, reducing the cost and time of:
-board layout
-board fab
-assembly
-rework
• The reliability of the board has increased. Fewer
components translates into less probability of error.
• Modifications are easier to make. Instead of cuts
and jumpers (for TTL), or throwing away a PAL, a
change is re-programmed.
• The need for de-coupling caps is reduced. All those
individual ICs are eliminated and in some cases the
distributed capacitance of the board may be enough
de-coupling.
• Power supply requirements are small. The active
current requirements are much smaller with
EPLDs. This in turn reduces the need for large power supplies and fans.
• Cable requirements and enclosure benefits have been
improved. Since EPLDs provide better integration
over TTL and PALs, the size of the system will be
smaller. This translates into fewer boards and cables.
'
• Inventory is reduced. One EPLD replaces many
TTL devices. Also, "on the shelf' programmed
,EPLDs can be reused in a pinch, PALs can't.
Less expense and probability of "escapes". The time
and cost of finding and fixing escape problems is re-

duced to one reprogrammable IC. In the field,' this
translates into,less "down time" for the customer and a
higher level of customer "goodwill" for the OEM.
Allows capability for customized hardware. Specific
customer requirements'can be implemented. Also, DIP
switches and configuration jumpers' may not be necessary in many cases, since configurations can be programmed into the EPLD.

Development Costs
As mentioned earlier, the costs of development are usually dismissed as NRE. One reason for this is the difficulty in pegging down these costs. However, while
money might be expendable at this stage, time is usually critical. Time saved at the front end can make a
difference in beitrlng the competition to market. The
following topics are presented for consideration. No
costs are assigned to them.
RESEARCH

The amount of time spent researching components,
component sources, and technical data can be very
large. Designs done with a large IC count require more
research and analysis time. Higher integration devices
require learning curv:e time, but, in the long run this
tends to reduce research time, especially in future designs.
PROTOTYPING

For most companies, prototypes are three to five level
wire wrap boards built by inhouse technicians or outside contractors. During prototype fab, a certain
amount of work has to be done to each IC. Part of this
work is, adding bypass caps, labeling chips, and lead
forming. In smaller companies, the board might be
hand wrapped. Larger companies might use an automatic wrapper. Once the board is wrapped, a continuity
check is done on each wire net to insure connections
and minimize shorts.
The tum around time for a protoboard is one to two
weeks and can be shoitened by payiRg a premium price.
An alternate way of shortening this time is to simplify
the board by using denser ICs.
DEBUGGING

Fixing bugs on a protoboard involves unwrapping and
wrapping connections, as well as replacing ICs. Making
mods on a TTL board is very time consuming and error
prone due to the large numbers of wires. Making mods
with PALs is expensive since the part usually has to be
junked. EPLDs in contrast, are re-programmable and
lend themselves to all the revisions that are common in
the early design stages.

2-212

inter

AP-307

5V
ClR

aD

l

Oc
U3
lS162
DB
ClK

OA

Cll

cIa
C9
C8

D
C

U6
lS42

B

A

5V
ClR

aD

l

Oc
U2
lS162
DB

vco

ClK
P

5V

T

°A

C7
C6

D
C

U5
lS42

8

C4

A

a
ClR

aD

l

Oc
Ul
lS162
OB
ClK
P

Wz

Q

T

°A

C3
C2
Cl

co

D
C

U4
lS42

lS32

8

A

5V
292030-16

TIME -DIVISION
MULTIPLEXED
SIGNAL

-'L

SYNC PULSE

n

n
U

U9-PR

u

U9-ClR
W1

U9-PR
U9-ClR
Wz

lJ
IJ

u

Jl __________________
~

lJ

~nl-

292030-17

Figure 11. Time Window Generator, TTL Circuit
2-213

intJ

AP-307

WINDOW CIRCUIT

PCB LAYOUT

Artwork quotes are based on several factors. These are,
board size, number of 16-pin chip equivalents, pad
count, and the chip to board packing ratio. The chip
equivalents are calculated by taking the total lead count
(ICs and discretes) and dividing by 16. Pad count is the
number of holes in the board. The packing ratio determines how much room an IC has around it. This is
critical because space is needed to place sockets, vias,
and trace bends. Currently, most service bureaus consider 0.75 square inches per IC to be the minimum
packing density. This figure applies to DIPs only, other
packages like SMT (Surface Mount Technology) will
improve on this. However, for standard DIPs anything
less than this might push the board into a multi-layer.

Background Information
In applications that involve time-division mUltiplexing,
it is useful to have a circuit that windows a specific area
ofthe bit stream [271. The circuit of Figure 11 is a TTL
implementation of such a circuit. The idea is to count
time slots from a known reference and at a certain decode, set and clear a latch. The output of the latch is
the time window, which might be used for further gating in other parts of the circuit. The TTL parts list is
detailed in Table 9.
The PAL alternative of Figure 12 is comprised of two
16L8s and one 16R4. While the component count has
been reduced from nine to three, there are still fourteen
extra interconnections.

During schematic evaluation, the bureau doesn't usually charge for traces directly. Because they can't foresee
the exact count, and they don't have time to count
them on the sheets, they make a judgment based on
previous jobs. If the board appears to be tight, their
autorouter (CAD based) won't be as efficient, and more
hand layout will have to be done. However, as more
CAD based service bureaus integrate schematic capture
front ends, the cost of traces and vias will be more
visible.

One 5C06O is needed to integrate the complete circuit.
Fourteen out of the sixteen EPLD macrocells are used,
and exernal traces are only the three I/O pins as shown
in Figure 13.

Because the evaluation is SUbjective, the final cost varies, and is a combination of charges. However, because
pad count can be determined easily, the overall price is
usually gauged against a pad price.

The production variables for the window circuit are
shown in Table lOa and lOb, and the production costs
in Table 11. The comparison shows three years of system costs for each implementation.

Production Costs

2-214

inter

AP-307

Table 9. TTL Component List for Window Generator
IC

Type

DIP

Icc(mA)

Area(ln 2)

$

U1
U2
U3
U4
U5
U6
U7
U8
U9

LS162
LS162
LS162
LS42
LS42
LS42
LS32
LS32
LS112

16
16
16
16
16
14
14
14
14

32
32
32
13
13
13
9.8
9.8
6

.24
.24
.24
.24
.24
.24
.21
.21
.21

.49
.49
.49
.39
.39
.39
.18
.18
.29

,

-

_vco

-

0

U2 0
l6R8 0
0
0
0

r- ,

---

-

Cll
Cl0
C9
C8
C7

RCO

oj

,
Ul
l6R8

0
0
0
0
0
0
0

C6
C5
C4
C3
C2
Cl

..... ,

,
,
,
,

,

, rU3
l6R4

,
,

co

,' r-,
,~

Wl
W2

0
0

--

;::=:::,

Figure 12. Time Window Generator, PAL Circuit

VCO

,

ClKl

Vee

I/o
W1

W2
GND

ClK2
292030-19

Figure 13. Time Window Generator, EPLD Circuit

2-215

292030-18

inter

AP-307

Inventory:

Costs
Incoming insp. ($/pin)
Storage ($/sq.ft./yr)
Maintenance ($/part)
Processing ($/part type/yr)
Safety stock (%)

Manufacturing:

$0.010
$20.000,
$0.030
$0.520
2%

Costs
PCB fab. ($/sq.in.)_
Assembly ($/part)
Test ($/part)
Rework ($/pin)
QC ($/pin)
Power ($/watt)
Interconn
Program ($/part)
Caps. (each)

$0.200
$0.100
$0.150
$0.020
$0.004
$1.000
$0.020
$0.250
$0.005

(a)

Integrated Circuits
Component Count:
Package
DIP14
DIP16
DIP20
DIP24

TTL

PLA

EPLD

3
6
3

ICs

Types

TTL
PLA
EPLD

4
2
1

1

Circuit Requirements:

Icc (max)

TTL circuit (total rnA).
PLA circuit (total rnA).
EPLD circuit (total rnA).

Interconnects

160
360
15
(b)

Tables 10a and b. Window Circuit Cost Variables

2-216

52
14
0

inter

AP-307

Table 11. Window Circuit Production Costs
AVERAGE COMPONENT COST

Package

DIP14
DIP16
DIP20
DIP24

TTL

PLA

Year 3

Year 2

Year 1
EPLD

$0.22
$0.44

TTL

PLA

EPLD

$0.19
$0.37
$2.00

TTL

PLA

$0.17
$0.26
$1.70

.

$1.56
$4.20

$6.00

EPLD

$2.90

PRODUCTION COSTS

Components

Year 3

Year 2

Year 1
Item
(costs per part)

EPLD

. TTL

PLA

EPLD

TTL

PLA

EPLD

TTL

PLA

$0.367

$2.000

$6.000

$0.310

$1.700

$4.200

$0.230

$1.560

$2.900

$0.153

$0.200

$0.240

Incoming Insp.

$0.153

$0.200

$0.240

$0.153

$0.200

$0.240

Inventory
Maintenance
Storage
Processing

$0.029
$0.032
$0.231

$0.038
$0.042
$0.347

$0.045
$0.050
$0.520

$0.029
$0.032
$0.231

$0.038
$0.042
$0.347

$0.045
$0.050
$0.520

$0.029
$0.032
$0.231

$0.038
$0.042
$0.347

$0.045
$0.050
$0.520

Printed Circuit Board
Fabrication
Trace costs
Assembly
Board test
Rework
QC

$0.046
$0.116
$0.096
$0.150
$0.015
$0.061

$0.060
$0.093
$0.125
$0.150
$0.020
$0.080

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

$0.046
$0.116
$0.096
$0.150
$0.015
$0.061

$0.060
$0.093
$0.125
$0.150
$0.020
$0.080

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

$0.046
$0.116
$0.096
$0.150
$0.015
$0.061

$0.060
$0.093
$0.125
$0.150
$0.020
$0.080

$0.072
$0.000
$0.150
$0.150
$0.024
$0.096

Power Supply

$0.089

$0.600

$0.075

$0.089

$0.600

$0.075

$0.089

$0.600

$0.075

Total Cost/Part

$1.385

$3.754

$7.422

$1.328

$3.454

$5.622

$1.248

$3.314

$4.322

$9.943

$4.322

$0.094
$0.468
$0.750
$0.015

$0.000
$0.058
$0.250
$0.005

Total Cost/System

$12.463 $11.263 $7.422 $11.953 $10.363 $5.622 $11.233

Additional Costs/System
Programming loss
Safety stock
Programming fee
De-coupling caps

$0.000
$0.165
$0.000
$0.045

True mfg. cost/system

$12.673 $12.748 $7.797 $12.137 $11.740 $5.961 $11.381 $11.269 $4.635

$0.120
$0.600
$0.750
$0.015

$0.000
$0.120
$0.250
$0.005

$0.000
$0.140
$0.000
$0.045

2-217

$0.102
$0.510
$0.750
$0.015

$0.000
$0.084
$0.250
$0.005

$0.000
$0.104
$0.000
$0.045

intJ

AP-307

The production costs again show that the system cost
for the first year is better with EPLDs. The two consecutive years show that the declining ptice of EPLDs
make them an excellent candidate for systems that will
ramp up production at that time.

Window Circuit Conclusion
The TTL version of the circuit was implemented with
MSI counters and decoders. As a result, the PAL implementation was bound by the number of count bits
and had to be programmed into two PALs. In circuits
like this, it is useful to rewire the decode for different
counts depending on the application. The PAL implementation allows this by incorporating the decode arid
output latches into one IC.
The EPLD implementation tackles the MSI integration
quite easily and also provides the capability to reprogram the decoder. Since the counter and output latches
consist of fourteen registered outputs, the sixteen macrocells of the 5C060 easily accommodate the needed
functions.

SUMMARY
We have examined the hidden costs of production and
how they differ for several logic alternatives. By examining these costs, we have shown that while an EPLD is
presently a more expensive part; it's level of integration
reduces system costs and improves reliability. The following items should be conSidered when evaluating logic alternatives:
• system cost is determined by more than component
cost
• system cost and reliability is influenced by the type
and amount of components used
• semiconductors have a life cycle that determines
their present price at design, and at production time
In summary, when all system costs. are considered,
EPLDs can provide cost savings to the design and production of most board designs.

REFERENCES
1. The Future Is Now: Extending CAE into test of custom VLSI.
Robert S. Broughton, Tektronix.
Michael G. Brashier, Tektronix.
IEEE International' Test Conference Proceedings,
1984

2. Reducing The Cost of Quality Through Test Data
Managment.
Paul N. Manikas, GenRad Inc.
Stephen G. Eichenlaub, Harvard University.
IEEE International Test Conference Proceedings,
1983 .
3. A Quantitative Analysis Of The Trade-offs Between
Higher Capital Investment and Higher Yield In PCB
Testing.
Mark A. Myers, Teradyne Inc.
IEEE International Test Conference Proceedings,
1984
4. An Analysis Of The Cost And Quality Impact Of
LSI/VLSI TechnOlogy On PCB Test Strategies.
Mark A. Myers, Teradyne Inc.
.
IEEE International Test Conference Proceedings,
1983
5. IC Quality Control By The User.
Roger Dunn, Xerox Corp.
IEEE International Test Conference Proceedings,
1983
6. An Analysis Of The Economics of Self Test.
P. Varma, University of Manchester.
A. P. Ambler, University of Manchester.
K. Baker, GEC Research Labs.
IEEE International Test Conference Proceedings,
1984
7. In Circuit Testability Factors: Shoot With A Rifle.
Douglas W. Raymond, Zehntel Production Services.
IEEE International Test Conference Proceedings,
1984
8. Seven Steps To Zero Defects.
D. W. Rudd,AT&T Technologies.
Circuits Manufacturing, June 1986
9. Rework Forum
Donald Ford, Senior Editor.
Circuits Manufacturing, September 1986
10. Manufacturing Defect Analyzers: Annual Roundup.
Evaluation Engineering magazine, August 1986
11. Assembly: Automation Makes It Better.
Roland W. Roy and Gordon Weeks, Andover Controls.
Circuits Manufacturing, February 1986
12. Shrinking Lines Squeeze Processes.
Jerry Murray, West Coast Editor.
Circuits Manufacturing, September 1986
13. Ribbon Cable for Reliable Interconnections.
Bennett W. Brachman, Xport Trading Inc.
Electronic Packaging and Production magazine,
July 1986

2-218

inter

AP-307

14. TQC and JIT: Partners In Production.
Rick Walleigh, Hewlett Packard.
Circuits Manufacturing, February 1986
15. Automated Handling/Sorting: Multisite Development Moves to Back Burner.
Evaluation Engineering magazine, May 1986
16. Software Charts The Course of Component Testing.
Ronald Pound, Editor.
Electronic Packaging and Production magazine,
June 1986
17. Complexity, PLDs Drive The Market.
Evaluation Engineering magazine, July 1986
18. Intel User Defined Logic Handbook.
Intel Corp. 1986
19. VLSI Semicustom Design Guide.
CMP Publications, Summer 1986
20. AMD Programmable Array Logic Handbook.
Advanced Micro Devices, 1984

21. Handbook Of Industrial Engineering.
Gavriel Salvendy, Editor, Purdue University
John Wiley & Sons Publications
22. Components QualityIReliability Handbook.
Intel Corporation.
23. The Cost Edge.
DM DATA Corp.
Scottsdale, AZ
24. Semiconductor Purchasing Strategies Integrated
Circuits Engineering Corp.
Scottsdale, AZ
25. Status 1986 Integrated Circuits Engineering Corp.
Scottsdale, AZ
26. EDN Semicustom Design Series
EDN Magazine, 1985
27. EDN Design Ideas
EDN Magazine, 1985

2-219

inter

APPLICATION
, NOTE

AP~321

November 1988

Fitting the 5C180

TODD KOELLING
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292053-001
2-220

inter

AP-321

INTRODUCTION
In many ways, fitting the SC180 is like climbing a
mountain. Just when what appears to be the summit is
reached, another summit is revealed behind it. This
may occur several times before the actual summit is
surmounted.
Likewise, fitting a SC180 may have several false summits. Just when one has conquered what appears to be
the "problem", another problem often appears behind
it. This may occur several times before the design fitting is complete.
This application note addresses the problems that can
be encountered when trying to fit a SC180 and offers
suggestions on how to get past them. The key to the
climb is examining what resources are still available
after the software' complains that a particular resource
is not available.

QUAD A REGISTERS

SUMMIT NUMBER ONE: PIN
ESTIMATE
Before keying in the design, it is best to estimate the
I/O pin requirements. This is done by counting the total number of inputs to the device and outputs from the
device.
PROBLEM: Not enough Input Pins
HELP: Run all synchronous clocks through Clock
Buffers (CLKBs). Shared clocks may use the same
CLKB output which may result in reduction from 4
CLK input pins to 1 CLK input pin (see Figures la &
',PLS II ver. 1.1 or later is ESSENTIAL for 5C180 designs as the fitting
algorithm was significantly Improved with thiS release.
'IPLS II ver. 1.5 or later is HIGHLY RECOMMENDED as the error
messages and Utlllzalion Report Files were significantly enhanced
with thiS release.

QUAD D REGISTERS
00

OA
RON,

RON,

CLK1PIN
INP
CLK,1
CLK4PIN
INP
CLK4

CLK3PIN
INP
CLK3
CLK2PIN
INP
CLK2
OC
RON,

QUAD B REGISTERS

QUAD C REGISTERS
292053-1

Figure 1a. Summit One-Input Clocks Before

2-221

inter

AP-321

QUAD X REGISTERS

QUAD X REGISTERS

ClK4PIN
INP

ClKS

0

ClK4

ClK3PIN
INP
ClK3

ClKS

0

QC
RONF

QUAD X REGISTERS

QUAD X REGISTERS
292053-2

Case:

ClK 1 = ClK4 frequency
ClK2 = ClK3 frequency

Figure 1b. Summit Two-Input Clocks After
Ib). This also frees the registers that the clock feeds
from the synchronous clock pin quadrant, increasing
the chance of fitting later on. THIS PRACTICE IS
RECOMMENDED FOR ALL DESIGNS.
PENALTY: Input setup time is shortened. (See Synchronous vs. Asynchronous A.C. Characteristics in
Data Sheet).
If clock buffering cannot solve the problem, the design
must be repartitioned to reduce the number of input
pins. Repartitioning is explained in the next section.

SUMMIT NUMBER TWO: MACROCELL
ESTIMATE
If the I/O pin requirements can be met, the next step is
to consider the macrocell requirements. The total macroce11 count can be estimated by counting the number
of outputs plus the number of internal registers.
PROBLEM: Not enough macrocells
REPARTITIONING: Unless the fundamentals of the
design can be changed, this error means that the design

2-222

inter

AP-321

must be repartitioned. This is done by removing part of
the circuitry and placing it in a second device such as a
5C060 or 5C090. The 5C06O and 5C090 are recommended since their architectures (and therefore their
ADFs) are nearly identical to those of the 5C180 (the
NOCF and COCF primitives are the only exceptions).

FIX: In order to tell the LOC software that the clock
for a flip-flop will be driven by an equation or gate
logic, a Clock Buffer (CLKB) must be placed between
the equation or logic and the register clock input for
each register that is asynchronously clocked.

Portions of the 5Cl80 ADF can b~ easily transferred
into one of the smaller devices or the smaller device
ADFs can be transferred back to the 5C180 if sufficient
room is freed up later on. IT IS RECOMMENDED
THAT FOUR OR FIVE UNUSED MACROCELLS
BE LEFT IN THE 5C180 FOR USE BY LATER
STAGES.

SUMMIT NUMBER FIVE:
ASYNCHRONOUS CLOCKS AND
OUTPUT ENABLES

SUMMIT NUMBER THREE:
SUCCESSFUL TRANSLATION
With the design entered, the next summit is successful
translation.
ERROR: '''ERR-MAC-No macrofunction for: ...
EXPLANATION: The Macro Expander Module cannot find a macro for a network element.
FIX: Make sure correct search path is available for
macro libraries. Check for typo or syntax error. Ifusing
schematic capture, make certain that only valid EPLD
library symbols were entered.
ERROR: Any"·**ERROR-XLT-... "
EXPLANATION: The Translator found a problem
with the way the design was entered. These errors are
basically syntax errors which violate ADF format. It
may be a simple typo, missing parenthesis or missing
semicolon. Remember that the iPLS II LOC does differentiate between upper and lower case letters. If using
schematic capture, make sure that all device inputs and
outputs have pin symbols and that all the pins and
wires are properJ,y labeled.
FIX: Refer to your iPLS II manual or call the EPLD
Hotline, 1-800-323-EPLD, for help on the tough ones.

ERROR: "'ERROR-XLT-OE with asynchronous
clock not allowed
EXPLANATION: Asynchronous clock and output
enable can't be used at the same time in the same macrocel!. The 5Cl80 basic macrocell architecture, Figure
2, sho\Vs why. A single p-term is shared between the
asynchronous clock and the output enable. This means
that both switches in the diagram can be up or both
switches can be down. By trying to use a p-term output
enable with an asynchronous clock, the top switch
would have to be down while the bottom switch is up.
This cannot be done as then the register would be
clocked and enabled with the same signal.
WORKAROUND: To get around this problem, one of
the signals must be routed through another macrocell
(see Figures 3a-b). The clock could be generated in another macrocell, sent out to a pin, then sent back in on
the synchronous clock pin. Alternately, in a first macrocell the register is placed as an asynchronously
clocked NORF. In a second macrocell, the register
feedback is sent out to a pin using a CONF enabled by
the desired enable signal.
PENALTIES: Routing the clock through a separate
macrocell and back in offers slightly better performance-since the synchronous clock to ouput time is
faster than a second macrocell delay, but this implementation uses a lot of resources-three pins and two
macrocells. The second method, routing the feedback
from the register back and controlling the ·output enable in a second macrocell is more straightforward and
uses less resources.

SUMMIT NUMBER FOUR: REGISTER

CLOCK INPUTS

SUMMIT NUMBER SIX: GREATER
THAN ONE PRODUCT-TERM
REGISTER CONTROLS

ERROR: "'ERROR-XLT-Clock input must be driven by INP or CLKB

ERRORS: "'INFO-FlT- Eqn.
PTerm(s), on OE signal OE3

EXPLANATION: The clock for a flip-flop must be
driven synchronously by a direct quadrant clock pin
input (INP) or asynchronously through a Clock Buffer
(CLKB). This problem occurs when an equation or
gate logic is connected directly to the register clock
input.

"'INFO-FITCLEAR input (CLRl)

Illegal

too

big,

inversion

4/-1
of

EXPLANATION: As shown in the basic 5C180 macrocell architecture, Figure 2, only one product term
(multiple input AND gate) is available for the register

2-223

inter

,AP·321

clock, clear, and output enable. This means that any
control resource containing an OR gate following Boolean minimization will not fit. Likewise, any Control
resource requiring an invert will not fit either. To find
the offending signal, LOOK AT THE EQUATIONS
SECTION OF THE LOGIC EQU;).TION FILE
(.LEF).

elr Fitting Trick
PROBLEM: Register clear input breaks 1 p-term resource limit
TRICK: If register has D input of either
GND, substitute SR Flip-Flop.

WORKAROUND: Once the offending signal has been
'located, it must be routed through another macrocell
using an NOCF primitive (see Figure 4a-b).1fthe control signal is a clock, then a clock buffer (CLKB) must
also be added.

or

EXPLANATION: D-type EPLD register has only 1
AND gate feeding CLR; SR Flip-Flop utilizes logic ar, ray for CLR input allowing a max of 8 AND gates
(p-terms) for the CLR resource.
PENALTIES: SR Flip-Flop is synchronously clocked.
D register has asynchronous clear.
'

PENALTY: Unless a trick explained below can be
used, this routing results in the use of an additional
macrocell and a doubling of the signal propagation delay.
AND ARRAY

vce

SYNCHRONOUS
CLOCK

vee

OE/ClK

l~ElECT

OE

D- -{

t-t--

ClK

' - - t--'
EPROM
CEll
ONNECTION

II

, PRODUCT

@

TEr

~ s-w~
~D=J
~1~£,c
D-

\

J

lOGIC

r-;=

D-r-'\

~

~

~

~

~

'~

~

~

T1 1 T 1

I/O

SELECTION

FEEDBACK
SELECTION

RESET

L...J

~

FEEDBACK SIGNALS

INPUts AND I/O

292053-3

Figure 2. Basic Macrocell Architecture of the 5C180

2-224

Ap·321

OE--------------------------------------~

FFI
RONF

Dl--------------------------------~
AND2

ClKB

a

EN----:,.i
ClK ____--=2'L_~

292053-4

Figure 3a. Summit Five-Asynchronous Clock and OE Before

OE----------------------------,
FFI
NORF

Dl-----------------------------~
AND2

ClKB

F

2

a

EN----.....:~

ClK ___.....:2'·L

CONF
292053-5
(Recommended Method)

Figure 3b. Summit Five-Asynchronous Clock and OE After

1 AND3

4

2
3

7474X
Q

3

5

Q 6

C
Cl

AND3

TOO MANY P - TERMS
FOR CLEAR RESOURCE

292053-6

Figure 4a. Summit Six-Too Many p.Terms on Control· Clear

2-225

inter

AP-321

1

2
3
0

4

1

2
3
1 S

Q

5
NOSF

2
3 R
AND3

C

2

4

F

3

292053-7

Figure 4b. Summit Six-SR Flip-Flop Equivalent Implementation

OE Fitting Trick
PROBLEM: Output enable on an equation or combinational equation exceeds 1 p-term resource limit.
TRICK: If a low output rather than a tri-state output
can be tolerated, the signal can be gated rather than tristated.
EXPLANATION: Run the OE and the equation
through an AND gate before going to a pin. The output
of the pin will only follow the equation when the enable
is active, otherwise it will be zero.
PENALTY: Forced low rather than tri-state output.

SUMMIT NUMBER SEVEN: NOT
ENOUGH P-TERMS FOR AN
EQUATION
ERROR: ***INFO-FIT- Too many PTerms to fit in
any MCell: 10/8 for EQN.
EXPLANATION: Since the 5C180 has a maximum of
eight product terms per macrocell, there's a chance that
this number may be exceeded by the requirements of an
equation.' If so, the equation is cited by the LOC and
can be examined by looking at the EQUATIONS section of the .LEF.

WORKAROUND: The workaround for this situation
may already be in place! If any portion of the logic (or
equation) is routed into an NOCF or CONF elsewhere
in the design, that feedback can be taken and, routed
into the equation (see Figure 5a-b). This means a single
feedback node-rather than several nodes will now feed
the equation and thereby reduce the p-term count. (If
the feedback is to be taken from a CONF primitive, the
CONF must be changed to a COCF or COIF to make
the feedback available.)
If part of the logic or equation is not routed into a
NOCFor CONF elsewhere in the design, then part of
the equation must be routed through a NOCF, COCF,
or COIF primitive. A NOCF is recommended as it does
not use a pin if placed in a global macrocell. If several
equations are in vio,lation of the eight p-term maximum, try to choose a group of logic that is common to
all of the equations. In this manner, the p-term count
for several equations can be brought down with the use
of single extra macrocell, rather than the use of a macrocell for each equation.
PENALTY: Any time a portion of an output signal
must be routed through another macro~ell a speed penalty is incurred (roughly one propagation delay). If an
already existing macrocell can be found, then there is
no architectural penalty. If a new one must be created,
then another macrocell is added to the total macrocell
count.

2-226

intJ

AP-321

-------~
-------~:.:.:
_ _ _ _ _ _ _ _3'fi
_ _ _ _ _ _-.::4.,.,
~--.......:..t
_ _ _ _ _ _ _.;:.51
PTERt.A1------..:6i/.1

PTERt.A6
PTERt.AS
PTERt.A4
PTERt.A3
PTERt.A2

PTERt.A9 - - - - - - - e ; ' "
PTERt.A8 ------~4.,.,
PTERt.A7 - - - - - - . . . . ; ; : ; . . - -

'>--"'C> EONA

6 P-TERMS

CONf

r----.:.t >--c> EONB

9 P - TERMS

CONf
292053-6

Figure Sa. Summit Seven-Too Many P-Term Equation Before

1

PTERt.A6 -------~
2
PTERt.A5 -------~:.:.:
3
PTERt.A4 ------~4..
~-PTERt.A3 - - - - - - - . : : . , .5 ,
PTERt.A2
6
PTERt.A1-------~

....~ >--c> EONA

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

6 P - TERMS

COCf

f

fBK

1

2
PITRt.A9-------e'"
3
PTERt.A8 ------~.,.,
4
PTERt.A7 -------~-

~---~

>--c> EONB

4 P-TERMS

CONf
292053-9

Figure 5b. Summit Seven-Too Many P-Term Equation After

SUMMIT EIGHT: MACROCELL
RESOURCES EXCEEDED

THE FINAL ASCENT: NOT ENOUGH
GLOBAL FEEDBACK!

ERROR: "'INFO-FIT- Design requires too many
macrocells

Congratulations! If you have made it this far, you have
demonstrated courage, intelligence and tenacity beyond
that of the average climber. You will soon be rewarded,
but first there is one more obstacle to be overcome.
Welcome to the North Face of local/global feedback!

EXPLANATION: If this error didn't occur at the beginning, there's a good chance summits five, six or seven will push the rnacrocell count over the limit. (Remember that the macrocell count includes not only the
outputs, but also the buried resources such as NOCFs,
NORFs and NOTFs). To find out exactly how many
macrocells the design requires, LOOK AT THE NETWORK: SECTION OF THE LOGIC EQUATION
FILE (.LEF). The inputs list in the LEF wi11list both
the outputs and all the buried resources required by the
design. If the count exceeds 48, then too many macrocells are required.
FIX: Repartition. The same applies if the number of
input pins is exceeded.

A Word About Local/Global Feedback
First of all, why does local/global feedback exist? The
answer can be found in the graph shown in Figure 6.
The propagation delay versus array size is shown for
the 5C060/090/180 family. As the number of inputs
into the array increases, the propagation delay increases ...exponentially. If all the inputs and feedback were
made global, the 5Cl80 would have 136 inputs feeding
each array (remember that both true and complement
polarities must be fed into the array of a PLD architec-

2-227

AP~321

ture). This would have put the 5Cl80 Tpd in the 250 300 ns range! By making eight macrocells local for four
quadrants, the number of array inputs was dropped to
88 and the Tpd subsequently decreased to 75 ns.
The tradeoff to the local/global routing scheme is more
difficult design routing. With the help of the iPLS II
and a couple of tricks, however, most designs can still
be fit.

"il:
-=."

60
50
40

where GLOBAL means that the signal feeds all macrocells and LOCAL means that the signal only feeds the
macrocells in its quadrant.

Clock Input Pins '
The clock input pins feed the global bus like the regular
inputs, except the synchronous register input connection is dedicated to a particular quadrant. Thus, each
clock input can be used as a logic input in all quadrants
or a clock input in its own quadrant. To be used as a
register clock input in a quadrant outside its own, however, it must be tapped from the global bus via an asynchronous clock buffer (CLKB).

Total
90
Propagation 80
Delay
70
~

4. Local macrocell pin/feedback paths are LOCAL.

I-------~

Global Macrocell Feedback

~ 30
20
10

OL-__~T_+_+_+_+-+-+-~~I

o

10 20 30 40 50 60 70 80 90

# OF

ARRAY INPUTS
Q920S3-10

Array Size
Device

5e060
5e090
5elBO

Array
Inputs

40
72
88

TpD

The feedback path is local for GLOBAL macrocells
while the I/O input is global for all GLOBAL macrocells. Thus, changing the feedback of a register or combinational equation from a standard feedback to I/O
pin feedback path will change the routing from local to
global. The iPLS II LOC automatically recognizes and
performs this through a process called "promoting".
With the promotion process, global routing can be obtained on signals that would otherwise remain local.
"'INFO-FIT- Promoted "TEQNf" from NOCF to
COIF

45 ns
50ns
75 ns

Array size increases Capacitance
Capacitance Increases Propagation Delays

Burying a Register in a Global Cell

Figure 6. Propagation Delay vs. Array Size for
the S'C060/090/180 Family

Because the global macrocells have separate register
and I/O pin feedback paths; it is possible to "bury" a
register or equation by disabling the output buffer and
still use the pin as an input. The iPLS II LOC automatically assigns an input to the pin of a buried register
macrocell if it is necessary and possible. Such assignments are documented in the Utilization Report File
(.RPT). If manual assignment is desired, it may be performed by placing the input pin assignment in the ADF
INPUTS: list and assigning the buried register feedback
to the same pin in the OUTPUTS: list (Figure 8). Registers or equations can only be buried on global macrocells, since local macrocells only have one feedback
path that is used for either the register or the pin feed.
back.

A Few Notes
The globaillocal macrocell assignments are shown in
Figure 7. Please note that:
1. Dedicated input pins are GLOBAL.
2. Global macrocell I/O pin are GLOBAL.
3. Global macrocell internal feedback paths are LOCAL.

2-228

intJ

AP-321

QUADRANT A

QUADRANT D

,',~:i!'

,:'~-

,.:'~t-'~

~,,~if

I/O

~,~,,\

I/O

~.

I/O

~3: "
,,:"~r
IIACRQeW. S

c

<>

i

i

!,

~
0

"''''CROC£U. Ii

I

IIIlcaoa:LL 7

i
~,

IjACROCD.LI

MACROCDl Ii

i...
...~,

~10

68

I/O

«

I/O

IU

IIACROCILL l'

I

IIACRQeW. 17

'I

I

I

'"i

iI

~

I/O
I/o

~

t.lACROCD.L 29

I/O
I/O
I/O

QUADRANT B
292053-11

~"

_

-'

GENERAL MACROCELLS
GLOBAL MACROCELLS
ENHANCED MACROCELLS

Figure 7. 5C180 Block Diagram

2-229

AP-321

r - - - NOTF
INP
INP010D_--

QI-

1 T

2

c
3

F

FBK010
292053-12

Buried Register Pin' Assignment in ADF

Intel
PLDO Apps
July 27, 1988
5C180 Buried Reg Pin Assignments
PART: 5C180
INPUTS: A@15, B@lO, CLK@17
OUTPUTS: FBK@lO

% Assign input B to pin 10 %
% Assign buried reg feedback FBK %
% to pin 10 (GLOBAL macrocell 9) %

NETWORK:
A = INP(A)
B = INP(B)
CLK
INP(CLK)

% Inputs %

=
FBK =NORF(IN,CLK,GND,GND)

% Buried Register %

EQUATIONS:
IN

=A * B * FBK;

% Register Input Equation %

END$
Figure 8. Assigning Buried Reg in Schematic

Two Global Fitting Tricks
If the LOC is unable to fit the design, there are a couple
of manual tricks that may help:
PROBLEM: NOT ENOUGH GLOBAL FEEDBACK

PENALTIES: There may be a slight timing discrepency between the two macrocells for combinational logic,
but any discrepency will be small « 2 ns).
PROBLEM: NOT ENOUGH GLOBAL FEEDBACK
RESOURCES AVAILABLE: EXTRA INPUT PINS

RESOURCES
CELLS

AVAILABLE: EXTRA

MACROTRICK: Send out the signal that needs to be global and
externally connect it to one of the input pins.

TRICK: Duplicate the macrocelliogic that needs to be
global in two (or more) regions with appropriate re-'
naming (see Figure 9).

EXPLANATION: Inputs feed the global bus, making
the signal available in all quadrants.

EXPLANATION: This makes the signal available in
two regions via two local macrocells rather than one
which can't be global.

PENALTIES: An output buffer plus input buffer minus feedback delay is added (approximately 25 ns). An
external connection must be made on the board.

2-230

infef

AP-321

NOTE:
For the previous tricks, look at the Utilization Report
(.RPT) file. The "Interconnect Cross Reference" is
particularly useful for examining the routing requirements of the design.
If the previous tricks cannot be done (see Figure II)
and scrutinization of the Interconnect Cross Reference
reveals no other way to achieve the desired routing,
repartitioning is necessary. That is, place a chunk of
interconnected logic into a 5C060 or 5C090 and go
back to the start.

CONCLUSION
Fitting the 5CI80 is a process with many stages. One
difficulty may hide the next and fixing one problem will
sometimes uncover another. Equipped with the iPLS II
LOC and a few tricks, however, fitting can be accomplished.

A1
AND2

2
4

o

7474X

PR

2 0

0

5

QUAD B
2

3

Q

C

6

CL

01

QUAD B
OR

'--________-:;11
___________________________________
29

0
1
~
2

CON,
292053-13

AND2

4

0

7474X

PR

2 0

0

5

QUAD C
2

3

Q 6

C

CL

02

QUAD C
OR2

2

o
CONF
292053-14

Figure 9. Not Enough Global Feedback Extra Macrocells-Fit

2-231

inter

AP-321

2
4

0

2 D

QUAD 8

7474X

PR

0

5

OOUT

QUAD B

1
2

3

Q

C

CONF

6

CL

QUAD B

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

CONF
EXTERNALLY CONNECT
Ip----------------------------------------------------- -----------------~

:
I

:_·OIN

QUAD C

J
D>-O------..:..t>-e>

INP

D _ _G_L_O_B_A_L_______-;,-~

OR2

1

2

CONF

292053-15

Figure 10. Not Enough Global Feedback Extra Inputs-Fit

1
2
4
0

7474X

PR

2 D

0

5

0

QUAD B
2

3

Q

C

6

CL

QUAD.B
OR

____________________

t-________~1~ ~
0
1
2

~r-------~2

CONF

CAN'T REACH

QUAD C
OR2

2

o
CONF

Figure 11. Not Enough Global Feedback-N.o Fit
2-232

292053-16

inter

ER-22

ENGINEERING
REPORT

September 1988

5C180 vs. EP1800:
A Comparison of
Device Specifications

,

LILIYAS KOUMIS
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 294006-001
2-233

ER·22

INTRODUCTION
This engineering report compares the Intel 5C180

EPLD with the Altera EPI800 EPLD showing how the
specifications for the two devices relate to one another.
Because Intel and Altera use a different methodology
for specifying parameters for this device, the most signifiCant hurdle to overcome when performing a comparison is to correlate the different specs. That correlation is performed here in table format.

In summary, the Intel parts meet or exceed the specifzcations for the equivalent Altera parts. The equivalent InteVAltera devices are shown below. All numbers are
based on the most current data sheet specs. (Intel
5C180 Data Sheet, order number 290111-005. Altera
1988 Data Book.)
Intel
5C180-70
5C180-75
5C180-90

Altera
EP1800-2
EP1800-3
EP1800

The tables that follow compare each spec. listed in the
Intel 5C180 data sheet for each of the three versions of
the device. A description of the parameter is listed, followed by the Intel mnemonic and the Intel spec. The

equivalent Altera value is then listed. The formula used
to determine the Altera value is provided on a second
line to aid in correlating Altera's internal timing numbers to Intel's external numbers. Intel specifies device
parameters (i.e., input pin to output pin).' while Altera
specifies internal timing paths (i.e., input pad delay,
logic array delay, etc.). Intel's specifications reflect
numbers that can be measured, rather than internal
numbers that must be estimated from external measurements. Altera's internal timing specifications appear at
the top of each page.
Note that a new spec. has been added to many of the
parameters. This new spec. is "enhanced output". Enhanced outputs are macrocells 1 through 4,21 through
24, 25 through 28, and 45 through 48. Enhanced macrocells are 5 ns faster than the standard macrocells.
Intel guarantees the specifications of the 5C 180 devices
listed in the 5C180 Data Sheet. Our Manufacturing
group conducts extensive testing of the devices with
appropriate guardbands to guarantee all published values under worst case conditions. This testing ensures
proper operation across widely divergent applications.
Also, every Intel product must pass an extensive qualification program before it is released to the marketplace. Strict quality controls and monitors are applied
during the qualification and manufacturing processes.

2-234

inter

ER-22

Inte15C180-70 vs. Altera EP1800-2
COMBINATORIAL MODE (5C180-70 VS. EP1800-2)
ALTERA

INTEL
Parameter

Symbol

Min

Max

Symbol

Min

Max

Units

tlO
tiN
tLAO
tLAOe
too
tzx
txz
tiC
tlCe

5
10
40
35
15
15
15
40
35

ns
ns
ns
ns
ns
ns
ns
ns
ns

65

tp01

65

ns

tPD1e

60

tP01e

60

ns

I/O pin to comb. output
(tiO + tiN + tLAO + taD)

tpD2

70

tp02

70

ns

I/O pin to enhanced comb. output
(tiO + tiN + tLAOe + too)

tPD2e

65

tP02e

65

ns

INPUT to output enable
(tiN + tlAO + tzx)

tPZX1

65

(2)

65

ns

INPUT pin to enhanced output enable
(tiN + tLAOe + tzx)

tPZX1e

60

(2)

60

ns

I/O to output enable
(tiO + tiN + tLAO + tzx)

tPZX2

70

(2)

70

ns

I/O pin to enhanced output enable
(tiO + tiN + tLADe + tzx)

tPZX2e

65

(2)

65

ns

INPUT to output disable
(tiN + tlAD + txz)

tPXZ1

65

(2)

65

ns

INPUT pin to enhanced output disable
(tiN + tLADe + txz)

tPXZ1e

60

(2)

60

ns

tPXZ2

70

(2)

70

ns

I/O pin to enhanced output disable
(tiO + tiN + tlADe + txz)

tPXZ2e

65

(2)

65

ns

Asynchronous Clear
(tiO + tiN + tiC + too)

tClR

70

(2)

70

ns

I/O pin pad & buffer delay
INPUT pin pad & buffer delay
Logic array delay
Enhanced logic array delay
Output buffer and pad delay
Output buffer enable
Output buffer disable
Clock Delay (Asynch.)
Enhanced Clock Delay (Asynch.)

(1 )
(1 )
(1 )
(1)
(1)
(1 )
(1 )
(1 )
(1)

INPUT pin to comb. output
(TIN + tlAO + too)

tpD1

INPUT pin to enhanced comb. output
(tiN + tLADe + too)

110 to output disable
(tiO

+ tiN + tLAO + txz)

NOTES:

1. Intel does not spec internal timings of the device.
2. Altera does not spec. in 1988 handbook, these are calculated values based on formula given.

2-235

ER-22

SYNCHRONOUS MODE (5C180-70 VS. EP1800-2)
ALTERA

INTEL
Parameter

Symbol

Min

Max

Symbol

Min

tsu
tlO
tiN
too
tlAO
tlAOe
tiCS
tFO

12

Max

Units

Internal register setup time

(1 )

1/0 pin pad & buffer delay
INPUT pin pad & buffer delay
OUTPUT buffer and pad delay
Logic array delay
Enhanced logic array delay
System clock delay
Feedback delay

(1 )
(1 )
(1 )
(1 )
(1 )
(1 )
(1 )

ns

Max. Frequency (no fdbk)
(1 I [INPUT pin setup to CLKx))

fMAX

20.8

Max. Count Frequency (with fdbk)
(1/tCNT)

fCNT

16.1

INPUT pin setup to CLKx(3)
(tiN +tLAO + tsu - tiN - tiCS)

tSU1

48

(2)

48

ns

tSU2

53

(2)

53

ns

tSU1e

43

(2)

43

ns

tSU2e

48

(2)

48

ns

5
10
15
40
35
4
10

ns
ns
ns
ns
ns
ns

fMAX

20.8

MHz

fCNT

16.1

MHz

n~

1/0 pin setup to CLKx(3)
(tiO

+ tiN + tLAO + tsu

- tiN - tiCS)

INPUT pin setup to CLKx(4)
(tiN + tLAOe + tsu - tiN - tiCS)

1/0 pin setup to CLKx(4)
tlO

+ tiN + tLAOe + tsu

- tiN - tiCS)

Clock High to Output Valid
(tiN + tiCS + too)

28

tco

(2)

29

ns

Register output feedback to
register input-internal path
(tFO + tLAO + tsu)

teNT

62

tCNT

62

ns

Clock High Time

tCH

24

tCH

24

ns

Clock Low Time

tCl

24

tCl

24

ns

NOTES:
1. Intel does not spec internal timings on the device.
2. Altera does not spec. in 1988 handbook, these are calculated values based on formula given.
3. For global and standard macrocells.
4. For enhanced macrocells.

2-236

inter

ER-22

Intel 5C180-75 vs. Altera EP1800-3
COMBINATORIAL MODE (5C180-75 VS. EP1800-3)
INTEL
Parameter

Symbol

Min

ALTERA
Max

1/0 pin pad & buffer delay

(1)

INPUT pin pad & buffer delay
Logic array delay
Enhanced logic array delay
Output buffer and pad delay
Output buffer enable
Output buffer disable
Clock Delay (Asynch.)
Enhanced Clock Delay (Asynch.)

(1)
(1 )
(1 )

(1)

INPUT pin to comb. output
(tiN + tlAD + tOD)

tpD1

70

tPD1e

Symbol

Min

Max

5
12

Units

39

ns
ns
ns
ns
ns
ns
ns
ns
ns

tpD1

75

ns

65

tPD1e

70

ns

tpD2

75

tpD2

80

ns

tPD2e

70

tPD2e

75

ns

INPUT to output enable
(tiN + tLAD + tzx)

tPZX1

70

(2)

75

ns

INPUT pin to enhanced output enable
(tiN + tLADe + tzx)

tPZX1e

65

(2)

70

ns

tpZX2

75

(2)

80

ns

I/O pin to enhanced output enable
(tiO + tiN + tlADe + tzx)

tPZX2e

70

(2)

75

ns

INPUT to output disable
(tiN + tLAD + txz)

tpXZ1

70

(2)

75

ns

INPUT pin to enhanced output disable
(tiN + tLADe + txz)

tPXZ1e

65

(2)

70

ns

tPXZ2

75

(2)

80

ns

tPXZ2e

70

(2)

75

ns

tClR

75

(2)

80

ns

tlO
tiN
tlAD
tLADe
tOD
tzx
txz
tiC
tlCe

(1)
(1 )

(1 )
(1)

44

39
19
19
19
44

INPUT pin to enhanced comb. output
(tiN

+ tLADe + toD)

1/0 pin to comb. output
(tiO

+ tiN + tLAD + tOD)

1/0 pin to enhanced comb. output
(tiO

+ tiN + tlADe + tOD)

1/0 to output enable
(tiO

+ tiN + tLAD + tzx)

1/0 to output disable
(tiO

+ tiN + tLAD + txz)

1/0 pin to enhanced output disable
(tiO

+ tiN + tlADe + txz)

Asynchronous Clear
(tiO + tiN + tiC + tOD)
NOTES:

1. Intel does not spec internal timings of the device.
2. Altera does not spec. in 1988 handbook, these are calculated values based on formula given.

2-237

inter

ER-22

SYNCHRONOUS MODE (5C180-75 VS. EP1800-3)
INTEL
Parameter
Internal register setup time

Symbol

Min

ALTERA
Max

Symbol

Min

tsu
tlO
tiN
too
tLAD
tLADe
tiCS
tFO

14

Max

Units

OUTPUT buffer and pad delay
Logic array delay
Enhanced logic array delay
System clock delay
Feedback delay

(1 )
(1 )
(1 )
(1)
(1)
(1 )
(1)
(1 )

Max. Frequency (no fdbk)
(1/[1NPUT pin setup to CLKx))

fMAX

19.6

fMAX

18.5

MHz

Max. Count Frequency (with fdbk)
(1/tCNT)

fCNT

15.1

fCNT

13.8

MHz

INPUT pin setup to CLKx(3)
(tiN + tLAD + tsu - tiN - tiCS)

tSU1

51

(2)

54

ns

1/0 pin setup to CLKx(3)
(tiO + tiN + tLAD + tsu - tiN - tiCS)

tSU2

56

(2)

59

ns

INPUT pin setup to CLKx(4)
(tiN + tLADe + tsu - tiN - tiCS)

tSU1e

46

(2)

49

ns

1/0 pin setup to CLKx(4)
(tiO + tiN + tLADe + tsu - tiN - tiCS)

tSU2e

51

(2)

54

ns

ClOCK High to Output Valid
(tiN + tiCS + too)

tco

110 pin pad & buffer delay
INPUT pin pad & buffer delay

Register output feedback to
register input-internal path
(tFO + tLAD + tsu)

tCNT

Clock High Time
Clock Low Time

30

(2)

66

tCNT

tcH

25

tCL

25

ns
ns
ns
ns
ns
ns
ns
ns

35

ns

72

ns

tCH

27

ns

tCL

27

ns

NOTES:
1. Intel does not spec internal timings on the device.
2. Altera does not spec. in 1988 handbook, these are calculated values based on formula given.
3. For global and standard macrocells.
4. For enhanced macrocells.

2-238

5
12
19
44
39
4
14

ER-22

Inte1SC180-90 VS. Altera EP1800
COMBINATORIAL MODE (5C180·90 VS. EP1800)
INTEL
Parameter

liD pin pad & buffer delay
INPUT pin pad & buffer delay
Logic array delay
Enhanced logic array delay
Output buffer and pad delay
Output buffer enable
Output buffer disable
Clock Delay (Asynch.)
Enhanced Clock Delay (Asynch.)

Symbol

Min

ALTERA
Max

(1 )
(1 )
(1 )
(1 )
(1)

(1 )
(1 )
(1 )
(1 )

Symbol

Min

Max

Units

tlO
tiN
tLAO
tLAOe
too
tzx
txz
tiC
tlCe

5
14
48
43
23
23
23
48
43

ns
ns
ns
ns
ns
ns
ns
ns
ns

INPUT pin to comb. output
(tiN + tlAO + too)

tp01

85

tp01

85

ns

INPUT pin to enhanced comb. output
(tiN + tLAOe + too)

tP01e

80

tP01e

80

ns

tp02

90

tp02

90

ns

tP02e

85

tP02e

85

ns

INPUT to output enable
(tiN + tlAO + tzx)

tPZX1

85

(2)

85

ns

INPUT pin to enhanced output enable
(tiN + tLAOe + tzx)

tPZX1e

80

(2)

80

ns

tpZX2

90

(2)

90

ns

tPZX2e

85

(2)

85

ns

tPXZ1

85

(2)

85

ns

tPXZ1e

80

(2)

80

ns

tpXZ2

90

(2)

90

ns

tPXZ2e

85

(2)

85

ns

tClR

90

(2)

90

ns

liD pin to comb. output
(tiO

+ tiN + tlAO + too)

liD pin to enhanced comb. output
(tiO

+ tiN + tlAOe + too)

liD to output enable
(tiO

+ tiN + tLAO + tzx)

110 pin to enhanced output enable
(tiO

+ tiN + tLAOe + tzx)

INPUT to output disable
(tiN + tLAO + txz)
INPUT pin to enhanced output disable
(tiN

+ tlAOe + txz)

liD to output disable
(tiO

+ tiN + tlAO + txz)

liD pin to enhanced output disable
(tiO

+ tiN + tLAOe + txz)

Asynchronous Clear
(tiO + tiN + tiC + too)
NOTES:

1. Intel does not spec internal timings of the device.
2. Altera does not spec. in 1988 handboqk, these are calculated values based on formula given.

2-239

intJ

ER-22

SYNCHRONOUS MODE (5C180-90 VS. EP1800)
INTEL
Parameter

Symbol

Min

ALTERA
Max

Internal register setup tim'e
I/O pin pad & buffer delay
INPUT pin pad & buffer delay
OUTPUT buffer and pad delay
Logic array delay
Enhanced logic array delay
System clock delay
Feedback delay

(1 )
(1 )
(1 )
(1 )
(1 )
(1 )
(1 )
(1 )

Max. Frequency (no fdbk)
(1/ [INPUT pin setup to CLKxj)

fMAX

16.1

Max. Count Frequency (with fdbk)
(1/tCNT)

fCNT

12.2

Symbol

Min

tsu
tlO
tiN
toD
tLAD
tLADe
tiCS
tFD

18

Max

Units

5
14
23
48
43
4
16

ns
ns
ns
ns
ns
ns
ns
ns

fMAX

16.1

MHz

fCNT

12.2

MHz

INPUT pin setup to CLKx(3)

+ tlAD + tsu

tSU1

62

(2)

62

ns

I/O pin setup to CLKx(3)
(tiO + tiN + tlAD + tsu - tiN - tiCS)

tSU2

67

(2)

67

ns

INPUT pin setup to CLKx(4)
(tiN + tlADe + tsu - tiN - tiCS)

tSU1e

57

(2)

57

ns

I/O pin setup to CLKx(4)
(tiO + tiN + tlADe + tsu - tiN - tiCS)

tSU2e

62

(2)

62

ns

Clock High to Output Valid
(tiN + tiCS + tOD)

tco

(tiN

- tiN - tiCS)

35

(2)

41

ns

Register output feedback to
register input-internal path
(tFD + tlAD + tsu)

tCNT

82

tCNT

82

ns

Clock High Time

tcH

30

tCH

30

ns

Clock Low Time

tCl

30

tCl

30

ns

NOTES:
1. Intel does not spec internal timings on the device.
2. Altera does not spec. in 1988 handbook, these are calculated values based on formula given.
3. For global and standard macrocells.
4. For enhanced macrocells.

, 2-240

Techniques for Modular EPLD Logic Design

Lawrence Pal ley
PLDO Product Marketing Manager
Intel Corporation
151 Blue Ravine Road
Folsom, CA 95630
iNTRODUCTION
Advances in both programmable logic
devices and the tools used to configure them
now enable new design techniques for custom
logic applications. New high capacity flexible
architectured EPLDs (erasable and electrically
programmable logic devices) allow for complete
single chip integration of one or more logic
configurations. Additionally. development
tools make use of these capabIlitIes by
providing alternatives for design Input, high
speed logic compilation and minimization,
heuristic logic fitting into EPLD devices, and
superior reporting documentation. Designers
can take advantage of these advances with a new
Modular EPLD logic design (MELD)technique, to
accelerate their product development.
ADVANCES IN EPLDs
Traditional PLDs relied on Boolean
equation entry and compilation methods for
combinatorial function implementation. The
primary applications were as SSI/MSI replacements for implementing decode "glue" in
microprocessor based systems. PLDs came in
oipolar versions with total logic content under
400 gates of equivalent logic. Tools to
develop the programmable logic implementation
of a function didn't require a high degree of
sophistication - the devices for which they
were optimizing designs had relatively little
logic and little logic flexibility.
Newer EPLDs incorporate several features
which broaden their application base. Besides
their low power CMOS technology, they incorporate individually configurable register and
I/O logic for each macrocell. Devices such as
the 5C060 incorporate 16 macrocells with
registers programmable into D, or JK configurations. Each register is also
programmably configured to be clo~ked by
synchronous or asynchronous clocks.
Additionally, outputs and feedback paths for
each pin can be combinatorial or registered.
The combination of this level of flexibility
and gate counts of some devices exceeding 1200,
EPLDs have moved programmable logic well past
simple combinatorial functions.

logic optimization for maximum device utilization, and improved reporting documentation.
Intel's programmable logic development system
provides these improvements. Input methods
include the choice of (and combination of)
schematic, netlist, state machine, or Boolean
entry. Besides Boolean equation minimlzation,the optimizer program optimally matches
I/O and register resources required by the
design with what's available in EPLD devices.
it then reports on how the logic entry was
reduced, which resources were re- quired, and
how the design was placed in a given device.
Resources still available in the devices or not
able to fit in to the device are also
documented.

Making use of both the advances in EPLD
devices and.their development tools, engineers
can now desIgn hardware (logic) in much the
same way as software is developed. This new
design technique called MELD (Modular EPLD
Logic Design) is shown in Figure 1. Design
Entry, in any of the typical engineering
formats, is entered on a development station
(in this case a personal computer). Using EPLD
development system software, the design is then
compiled for EPLD implementation. Object code
or (in the case of an EPLD) a JEDEC l's and O's
file are the result. The unique capability of
EPLDs is to test a part of a partitioned design
in silicon, erase the EPLD, test the next
design, and finally to merge the designs
together. Th i s powerful 1ogi c des i gn methodolog~ allows for the partitioning of a complex
logIc function into smaller sub-functions that
can be ~ndividually designed and debugged using
the desIgn tools and the erasability feature of
EPLDs. After the individual modules are proved
to be functional as desired, they can be combined on the same EPLD, allowing for higher
integration and its attendant benefits.

To make optimum use of the new EPLD device
technology, design tools needed to improve to
allow more freedom of design input, better
2-241

26/1

EPLD
DESIGN

(}
OTH ER
DESIGN
SECTIONS

OTHER
DESIGN
SECTIONS

rm:"01';~rrr17V--,ir1

ESIGN
REPORT
ITH
DEVICE
UTILIZATION

DESIGN
REPORT
WITH
ERRORS

V>

W

o

w

'"

Figure.1.

NOTE:

EPLD design process compared with software
des i gn process

The MELD technique would involve this design process
shown above to be lmplemented for different sub-modules
and combining of the sub-functions into the completed
high-integration EPLD design.

A MELD Example:
The two design files, BCD-Counter and
SEGEQS, are now compiled together in the LOC
(Logic Optimizing Compiler) of the Intel
Programmable Logic Development System (Figure
6) to yield the combined file; BCD-Counter, of
Figure 7.

This Modular EPLD logic design (MELD)
methodology is now illustrated with an example.
The example shown here is a design which
lmplements a BCD-counter which is encoded into
a seven-segment display.
Figure 2 shows the design of a BCD:counter
designed using state machine entry. ThlS
design was compiled (Figure 3) and individually
tested in-circuit.

When implemented in the 5C121 EPLD, the
utilization report of Figure 8 results. It
shows a pinout designated by the compiler. the
routing of inputs, the source of outputs,
unused device resources, and some figure of
merit about how the design used 5C121
resources. This data can be used to test the
device to as feedback for new design inputs.
An example of such an input would be to assign
signals to 5C121 pins so that PCB layout is
simple.

Figure 4 shows a design for implementing
the seven-segment display shown in Figure 5.
It uses ,Boolean design methods, although not
yet optimized. This design has been tested out
in several previous designs. An additional
section called "LINK EQUATIONS" is now used to
connect the BCD-counter with the seven-segment
display.
26/1

2-242

FIGURE'2

LSP
INTEL
February 7, 1986
0
0
5C121
BCD COUNTER
LB Version 3.0, Baseline 17><, 9/26/85
PART: 5C121
INPUTS: CLK,ENABLE,RESET
OUTPUTS: BCDO,BCDl,BCD2,BCD3
MACHINE: BCD_COUNTER
CLOCK: CLK
STATES: [BCD3 BCD2 BCDI BCDO]
SO
[
0
0
SI
[
0
0
S2
[
0
0
S3
[
0
0
S4
[
0
1
S5
[
0
I
S6
[
0
I
S7
[
0
1
[
S8
1
0
[
I
S9
0

0
0
I

0
1
0

I
0
0

0
I

I

I

0

I
0

0

0

1

1

%TRANS ITIONS%
SO:
IF RESET THEN SO
IF ENABLE THEN Sl
S I:
IF RESET THEN SO
IF ENABLE THEN S2

S2:
IF RESET THEN SO

IF ENABLE THEN S3
S3:
IF RESET THEN SO
IF ENABLE THEN S4
S4:
IF RESET THEN SO
IF ENABLE THEN S5

S5:
IF RESET THEN SO

IF ENABLE THEN S6
S6:
IF RESET THEN SO
IF ENABLE THEN S7
S7 :
IF RESET THEN SO
IF ENABLE THEN S8
S8 :
IF RESET THEN SO
IF ENABLE THEN S9
S9:
IF RESET THEN SO
IF ENABLE THEN SO
END$

2-243

26/1

FIGUKE "3

LSP
INTEL
February 7, 1986

o
o

5C12l
BCD COUNTER
LB Version 3.0, Baseline 17x, 9/26/85SMV Version 1.0 Baseline 1.3 85/12/13 00:12:5
PART: 5C12l
INPUTS:
CLK, ENABLE, RESET
OUTPUTS:
BCDO, BCD1, BCD2, BCD3
NETWORK:
CLK = INP(CLK)
ENABLE = INP(ENABLE)
RESET = INP(RESET)
%

I/O's for State Machine "BCD - COUNTER"

%

BCD3,
BCD2,
BCDl,
BCDO,

BCD3
BCD2
BCDl
BCDO

RORF(BCD3.d,
RORF(BCD2.d,
RORF(BCDl. d,
RORF(BCDO.d,

CLK,
CLK,
CLK,
CLK,

GND,
GND,
GND,
GND,

GND,
GND,
GND,
GND,

VCC)
VCC)
VCC)
VCC)

EQUATIONS:
%

Boolean Equations for State Machine "BCD_COUNTER"
%
%

Current State Equations for "BCD_COUNTER"
%

SO
Sl
S2
S3
S4
S5
S6
S7
S8
S9

BCD3'*BCD2'*BCD1'*BCDO';
BCD3'*BCD2'*BCDl'*BCDO;
BCD3'*BCD2'*BCD1*BCDO';
BCD3'*BCD2'*BCD1*BCDO;
BCD3'*BCD2*BCDl'*BCDO';
BCD3'*BCD2*BCD1'*BCDO;
BCD3'*BCD2*BCD1*BCDO';
BCD3'*BCD2*BCDl*BCDO;
BCD3*BCD2'*BCDl'*BCDO';
BCD3*BCD2'*BCD1'*BCDO;

%

SV Defining Equations for State Machine "BCD_COUNTER"
%

BCD3.d

S8.n
+ S9.n;

BCD2.d

S4.n
+ S5.n

+ S6.n

+ S7.n;
S2.n
+ S3.n
+ S6.n
+ S7.n;
BCDO.d
Sl.n
+ S3.n
+ S5.n
+ S7.n
+ S9.n;

BCDl. d

%

26/1

2-244

FIGURE 3 (CONTINUED)
Next state Equations for State Machine "BCD_COUNTER"
%

Sl.n

S1
+ SO

S2.n

S2
+ S1

S3.n

S3
+ S2

S4.n

S4
+ S3

S5.n

S5
+ S4

S6.n

S6
+ S5

S7.n
S8.n

S7
+ S6

S8

+ S7

S9.n

S9
+ S8

(ENABLE)'
* (RESET); ,
* ENABLE
* (ENABLE)*, (RESET)'
* (RESET)'
* ENABLE (RESET)'
* (ENABLE)* , (RESET); ,
*
** ENABLE (RESET)'
;
* (RESET)'
(ENABLE)'
* ENABLE (RESET)';
*
* (ENABLE)*, (RESET) ,
* ENABLE (RESET)';
*
* (ENABLE)*, (RESET)'
* ENABLE (RESET)';
*
* (ENABLE)*, (RESET)'
*
(RESET)'
;
** ENABLE
(ENABLE)*,
* ENABLE (RESET)';
* (RESET)'
* (ENABLE)*, (RESET) ,
* ENABLE (RESET)'
*
;
*
*

END$

2-245

26/1

FIGURE 4

LSP
INTEL
February 7, 1986

o
o

5C121
SEYEN SEGMENT DECODERS FOR BCD COUNTER
LB Version 3.0, Baseline 17K, 9/26/85
PART: 5C121
INPUTS:
OUTPUTS: SEGA,SEGB,SEGC,SEGD,SEGE,SEGF,SEGG
NETWORK:
SEGA
CONF (SEGA,YCC)
SEGB
CONF (SEGB,YCC)
SEGC
CONF (SEGC,YCC)
SEGD
CONF (SEGD,YCC)
SEGE
CONF (SEGE,YCC)
SEGF
CONF (SEGF,YCC)
SEGG
CONF (SEGG,YCC)
EQUATIONS:
SEGA
0 + 2 + 3 + 5 + 7 + 8 + 9:
SEGB

o

+ 1 + 2 + 3 + 4 + 6 + 7 + 8 + 9:

SEGC

o

+ 1 + 3 + 4 + 5 + 6 + 7 + 8 + 9:

SEGD
SEGE
SEGF
SEGG

0
0
0
2

+
+
+
+

2
2
4
3

+
+
+
+

3
6
5
4

+
+
+
+

5 + 6 + 8;
8:
6 + 8 + 9',
5 + 6 + 8 + 9:

o

/D3*/D2*/Dl*/DO:
1
/D3*/D2*/Dl*DO:
2
/D3*/D2* Dl*/DO:
3
/D3*/D2* Dl*DO:
4
/D3* D2*/Dl*/DO;
5
/D3* D2*/Dl*DOj
6
/D3* D2* Dl*/DO;
7
/D3* D2* Dl*DO;
8
D3~/D2*/Dl*/DO;
9
D3*/D2*/Dl*DOj
%LINK EQUATIONS %
DO
Dl
D2
D3

BCDO:
BCD1:
BCD2:
BCD3:

END$

FIGURE 6
Intel Programmable Logic Software
LOC Menu
Fl Help
F2 iPLS Menu
F3 Input Format
F4 File Name
F5 Minimization
F6 Inversion Control
F7 LEF Analysis
26/1

ADF
A:BCD A:SEGEQS
Yes
No
Yes

2-246

FIGURE 7

LSP
INTEL
February 7, 1986

o
o

5C121
BCD COUNTER
LB Version 3.0, Baseline 17x, 9/26/85SMV Version 1.0 Baseline 1.3 85/12/13 OD:12:5
PART:
5C121
INPUTS:
CLK, ENABLE, RESET
OUTPUTS:
BCDD, BCDl, BCD2, BCD3, SEGA, SEGB, SEGC, SEGD, SEGE, SEGF, SEGG
NETWORK:
CLK = INP(CLK)
ENABLE = INP(ENABLE)
RESET = INP(RESET)
BCDD, BCDO
RORF(BCDD.d, CLK,
BCDl, BCDI = RORF(BCDl.d, CLK,
BCD2, BCD2 = RORF(BCD2.d, CLK,
BCD3, BCD3 = RORF(BCD3.d, CLK,
SEGA
CONF(SEGA, VCC)
SEGB
CONF(SEGB, VCC)
SEGC
CONF(SEGC, VCC)
SEGD
CONF(SEGD, VCC)
SEGE
CONF(SEGE, VCC)
SEGF
CONF(SEGF, VCC)
SEGG
CONF(SEGG, VCC)
EQUATIONS:
SEGG
BCDI
BCD3'
BCD2'
+ BCDl'
BCD3'
BCD2
+ BCDl'
BCD3
BCD2'
+ BCDl
BCD3'
BCDD':

GND,
GND,
GND,
GND,

GND, VCC)
GND, VCC)
GND, VCC)
GND, VCC)

*
*
*
*

SEGF
+
+
+

*
*
*
*
BCD3' * BCDl' * BCDD'
BCD3' * BCD2 * BCDl'
BCD3 * BCD2'
* BCDl'
BCD3' * BCD2 *
BCDD' :

SEGE

BCD2'
+ BCD3'

BCDl' * BCDD'
** BCDl * BCDD';

SEGD

BCD2'
+ BCD3'
+ BCD3'
-+ BCD3'

* BCDl
** BCD2'
* BCDD'
** BCDl
BCD2 * BCDl' * BCDD;

SEGC

BCD2'
+ BCD3'
+ BCD3'

SEGB

BCD2'
+ BCD3'
+ BCD3'

** BCD2
* BCDD;
BCDl'
* BCDD'

SEGA

BCD3 '
+ BCD3
+ BCD3'
+ BCD3'

BCD3.d
+

BCDl'

* BCDD'

BCDl'

** BCDl;

* BCD2' * BCDD'
* BCD2' * BCD l'
* BCD2' * BCDl

* BCD2 * BCDO;
BCD3 * BCD2' * BCDl' * BCDD' * RESET'
BCD3 * BCD2' * BCDl' * ENABLE' * RESET'

+ BCD3'

*

BCD2

* BCDl * BCDO * ENABLE *
2-247

RESET';
26/1

FIGURE 7 (CONTINUED)
BCD2.d

BCD3'
+ BCD3'
+ BCD3'
+ BCD3'

BCDI. d

BCD3'
+ BCD3'
+ BCD3'

BCDO.d

BCD3'
+ BCD3'
+ BCD2'
+ BCD2'

* BCDO' * RESET'
* BCD2
* BCDl' * RESET'
* BCD2
BCD2 * ENABLE' * RESET'
* BCD2'
* BCDI * BCDO * ENABLE * RESET';
*
BCDI * BCDO' * RESET'
* Boia
* RESET'
* BCDl' **ENABLE'
BCDO * ENABLE * RESET';
*
* ENABLE * RESET'
* BCDO'
* ENABLE' * RESET'
* BCDO
* BCDO * ENABLE' * RESET'
* BCDl'
* BCDl' * BCDO' * ENABLE * RESET' ;

END$

'FIGURE 8
Logic Optimizing Compiler Utilization Report

*****

Design implemented successfully

LSP
INTEL
February 7, 1986

o
o

5C121
BCD COUNTER
LB Version 3.0, Baseline 17x, 9/26/85SMV Version 1.0 Baseline 1.3 85/12/13 00:12:5
5C121
CLK
GND
GND
GND
GND
GND
GND
SEGD
RESERVED
RESERVED
RESERVED
SEGA
RESERVED
RESERVED
SEGE
RESERVED
BCD2
RESERVED
RESERVED
GND

26[1

-

1

-: 2

-

3

-

5-

-

7

-: 4

-: 6
-: 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:-

Vcc
Vcc
ENABLE
RESET
GND
GND
GND
GND
SEGG
RESERVED
RESERVED
SEGC
SEGB
RESERVED
RESERVED
SEGF
RESERVED
BeD3
BCDI
BCDO

2-248

FIGURE 8 (CONTINUED)

**INPUTS**

MCe11 #

PTenns

MCe11s

Name

Pin

Resource

CLK

1

INP

RESET

37

INP

10
11
12
19

ENABLE

38

INP

10
11
12
19

Feeds:
OE

Clear

Clock
Reg

**OUTPUTS**
Name

Pin

Resource

MCe11 #

PTerms

SEGD

8

CONF

28

4/ 4

SEGA

12

CONF

24

4/ 6

SEGE

15

CONF

21

2/ 4

BCD2

17

RORF

19

4/ 4

1
4
5
8
10
12
19
21
24
28

BCDO

21

RORF

12

4/ 8

1
4
5
8
10

MCells

Feeds:
OE

Clear

11

12
19
21
24
28
BCD1

22

RORF

11

3/ 8

1
4
5
8
10
11
12
19
21
24
28

2-249
26/1

FIGURE,S (CONTINUED)
BCD3

23

RORF

10

3/ 4

SEGF

25

CONF

8

4/ 4

SEGB

2B

OONF

5

3/ 6

SEGO

29

OONF

4

3/ 6

SEGG

32

OONF

1

4/ 4

1
4
5
B
10
11
12
19
21
24
28

**UNUSED RESOURCES**
Name

Pin

Resource

2
3
4
5
6
7
9
10
11
13
14
16
IB
19
24
26
27
30
31
33
34
35
36
NA
NA
NA
NA

-;-

MCe11

PTerms

27
26
25
23
22
20
18
17

10
8

9
7
6

12
10

6
8

10
12
8

B
8

3
2

10

B

13
14
15
16

8
8
8
B

**PART UTILIZATION**
37%
39%
18%

Pins
MacroCells
Pterms

CONCLUSIONS
The complete design
to enter, compile, and 1
ability to partition des
implement those designs
26/1

took less than an hour
nk with EPLDs. The
gns, then individually
n the logic design

entry of choice, and finally to link designs
together is a new design method only available
with advances in programmable logic and their
design tools. By taking advantage of these
capabilities, designers can bring logic
implementations to market faster and with a
high degree of integration.
2-250

AR-450
VLSI DESIGN TECHNOLOGY

Crosspoint Switch:
A PLD Approach
by Jim Donnell, Intel Corp.

E

deVIce dIctates the number of sWItches that can be deSIgned mto
rasable programmable logic devIces (EPLDs) combme
a single device.
the gate densities oflow·end gate arrays with the short
Configuration 1
development time and low cost of EPROMs. ThIS
The first cIrcuit (Figure 1) considered is a dIgItal crosspomt
mergmg of technologies produces a device with features suited
switch with eight mputs and a 3-blt word WIdth. ThIS switch
to a wide range of digital applications. In contrast to the long
transfers a 3-bit word coming from one of eight sources to a pardevelopment times (and hIgher costs) for gate arrays, EPLDs
require mimmal frontend design time. In just a few hours,
tcuar output. The number of deVIces "OR-tied" to each outEPLD designs can be developed, modified and venfied. Also.
put pin determines the number of outputs. Selectmg one of eight
data mputs from each of the three channels (AO to A7. BO to B7
core elements from one EPLD design can be incorporated inand CO to C7), the sWItch routes that data to a smgle output (QA.
to new designs as quickly as standard software subroutines from
QB and QC). Each output can be OR-tied to more than one
one program can be modified and used in other programs.
The design of a digital crosspoint
sWItch using an Intel 5CI21 EPLD illustrates these features. Digital Design
implemented a crosspoint switch in a gate
array last year (see Digital Design,
January through March, 1985). ApplicatIOns that require a data transfer from one
of several inputs to one of several outputs
frequently use a dIgital crosspoint switch.
Usmg the 5Cl21 EPLD, Intel Corp. (Santa Clara, CAl designed three different
configurations of a crosspoint switch.
Offered in a 40-pin package that provides up to 36 inputs or 24 outputs, the
5CI21 supports up to 28 macrocells (including four buried registers) and 236
product tenns (p-tenns). Logic density in
the 5CI21 is the equivalent of 1,200
usable NAND gates. Maximum power
requirements are 100 rnA active and 30
rnA standby with TTL input levels. With
CMOS input levels. a 5CI21 requires 50
rnA active and 3. rnA standby.
Two major parameters determine the
complexity and configuration of a ~hgital
crosspoint switch: the number of possible switching locatlons for each bit (inputs and outputs), and the number of bits
Figure 1: Configuration 1 uses a three-channel elght-to-one multiplexer CirCUit with latching Intransferred in one clock pulse (word
puts Each output can dnve multiple. individually selected Inputs to complete the digital crosswidth). The avaIlability of I/O pins,
pOint SWitch By connecting mputs to the EPLD outputs In an "OR-tied" configuration, with only
macrocells and p-tenns for a given EPLD
one Input enabled at any time, the multiplexer Circuit becomes a crosspomt sWitch

© Intel Corporation, 1986
Reprinted with permission from Digital Design
2-251

VLSI DESIGN TECHNOLOGY

three-state lOput to complete the switch (only one input can be
enabled at a time). Three additional control bits (DO to D2)
select one of the eight different inputs. All three channels
operate in parallel. Separate mput and output clocks allow a
high data rate and relax input set-up and hold times. Input data
for all three channels, along with the three select bits, are
latched by ILE. Data at the mputs can change state after bemg
latched and data is clocked out of the switch by CLK.
Equation 1 shows the Boolean expression for a single channel in the sum-of-products form. (See Table 1 for all equations.)
. The Boolean expression for the remaining two channels is
SImilar: the designer need only change the A m the equatIOns
toaBorC.

Timing Analysis
The internal delay paths determme the CIrCUIt'S maximum
operating frequency (fmax).ln thiS configuration there is an input delay (Tm), an array delay (Tad), a register delay (Trd) and
an output delay (Tad). The fmax is a function ofthe signals that
must settle at the input of the output register before the rismg
edge of the clock. In thiS case, signals propagate only through
the input latches and the array. Therefore, the data must be valid
at the inputs Tin + Tad Just nanoseconds before the rising edge
of the internal clock signal (CLK). However, because ofthe inherent delay of the CLK signal, thiS reference must be shifted
to the rismg edge of the external clock signal by subtractmg the
mternal clock delay (Tic). The external data set-up time (Tsu)
is shown in Equation 2. Inverting thiS time reqUIrement yields
the maximum operating frequency.
As the output flip-flops are clocked, data propagates through
the register to the output pin. With reference to the external
clock pin, data becomes valId at the outputs Tic + Trd + Tad
nanoseconds after the Tlsmg edge of the clock. Figure 2 shows
the timing reqUIrements for this circuit, including the input latch
signal.
Using a 5C121-50 (50-nsec propagation delay), data can be
sent through this switch configuration at 25 Mblts/sec. ThiS
transfer rate remains independent ofthe word width. Smce one
5CI2I EPLD in this configuration can simultaneously transfer
three bits of informatIOn, three 5C12],s are reqUIred to transfer
a byte of data during each clock cycle. This configuration of a
digital crosspomt switch uses 86 % of the.40 pins, 71 % of the
macrocells and 11 % ofthe available p-terms in the 5C121 EPLD.

Figure 3 Configuration 2 uses a slngle~blt elght-lnpuUelght-output
digital crosspoint switch DeSigners can Implement thiS for either optimal package count (see Figure 4) or for optimal speed (see Figure 5)

outputs (QO to '(Jl). SIX control bits are required for each
transfer: three to selectthe input path (DO to D2); three to select
the output path (D3 to D5). By selecting a single output path and
clocking all output registers simultaneously, deselected outputs
are automatically cleared. This is useful for designs where only
the most current data is needed. Equation 4 IS the common
equatIon to select one of eight input paths. Equations 5 to 12
complete the Boolean equations for thiS example.
The previous equations would contain eight product terms If
they were written in expanded form. However, by treating
SELECTEQ as one signal, each equation contains only one
productterm. Both options are available in the 5C121. But, there

In contrast to the long
development times for
gate arrays, EPLDs
require minimal frontend
design time.

are advantages and disadvantages to the two methods. If
SELECTEQ is implemented as one signal through a combinational feedback option, one and one-half crosspoint switches
can be implemented in one 5CI21 (Figure 4). The trade-off is
faster speed forlow chip count. By design, only 18 macrocells
in the 5CI2I can support eight product terms. On the other
hand, selecting the combinational option reduces the p-terms
but introduces an additional input mux delay.
Figure 4 shows that an input Signal must pass through four
delays before.reaching the input to the flip-flop. Again, subtracting the input clock delay to shift the reference point yields
Configuration 2
Equation 13 for the set-up time. Inverting Tsu gives the maxThe second cirCUIt (Figure 3) also selects one of eight inputs
imum operating frequency. In thiS configuration, data can be
(10 to 17), but thiS tIme data is routed to one of eight different
clocked through at 12 Mbits/sec. This layout utilizes 97 % of the
available pins, 89 % of the available
macrocells and 13 % of the product terms.
Six 5CI2ls would be required to implement a byte-wide switch With this layout.
If the combinational feedback option is
not used, there are eight output equations, each contaimng eight product
terms. ASSigning these equations to the
macrocells that support eight p-terms
shows that only a single, one-of-eight
select line digital crosspoint switch fits
Figure 2 A 40-nsec mternal set-uptime (pnortoclocklng data through the Dutputfhp-flop) marks
into one 5C12l. Thus, the design requires
Configuration 1 Data clocked Into aU eight mput latches at the rising edge of one ILE/CLK cycle
IS selected and clocked out of the output flip-flop on the next rising edge of ILEfCLK
eight 5CI21s to complete a byte-Wide

DIGITAL DESIGN. JULY 1986

2-252

VLSI DESIGN TECHNOLOGY

parallel transfer. Since the signal paths are Identical to Configuration I, the same timing analysis applies here.
This layout (Figure 5) utilizes 65 % of the pins, 39 % of the
macrocells and 30% of the p-terms. Though the utilization
numbers are lower for this example, the actual available pins
and macrocells in the 5Cl21 are higher than initially visible.
Since macrocells in the 5C12l are organized into groups of four,
when one output structure in a macrocell group is defined the
other three must be of the same structure. Many times, this
results in unused pins being labeled "RESERVED" in the utilization report.

Configuration 3
The final circuit (Figure 6) again uses eight mputs (10 to 17) and
eight outputs (QO to (JI), though thIS time the deselected outputs "remember" their previously selected state. With the
5Cl2I's register feedback option, deselected outputs can hold
the last data bit sent to that output. New data appears when the
output is selected agam.
Equations 14 to 22 express the Boolean terms necessary to
implement this hold feature In the digital crosspOint SWitch.
Note that each output is now a functton of both the present mputs
and the previous output (Qnfuk), which Implements the regIStered feedback. Data bits D3, D4 and D5 determine which data
bit will pass to the output. Agam, the number of p-terms dictates the use of combinational feedback, as m ConfiguratIOn 2.

Timing Analysis
ThiS configuration's timmg analysis IS Similar to Configuratton

2', combinational feedback analysis, With the exception of a

Figure 4: Configuration 2 features a low package count layout Note that
one and one-half SWitches fit Into each 5C121 EPLD Thlsconflguratlon
uses comblnatonal feedbacks to simplify the logiC equations, thus
eliminating the reqUirement for eight product terms per output

register feedback delay (Trl). Trf IS the time that the data IS pre·
sent at the output of the t1ip-t1op to the ttme that data IS available
to the array.
The total delay assOCiated with the regIStered feedback consists ofthe Trd, the Trf and the Tad. Data from the t1lp-t10p output reaches the mput in about 50 nsec The delay associated With
data coming from the mput pms IS the same as that of ConfiguratlOn 2 with combmattonal feedback - approximately 83 nsec
Using this as the clock penod. there IS ample time to Implement
the register feedback Without affecting the cycle time. In thIS
configuratIOn, data could be clocked through at 12 Mblts/sec.
CombmatlOnal feedback reduces the p-term reqUIrement to
two p-terms per equation. ThIS allows one and one-half crosspomt SWitches to fit into one 5C12!. The design utilizes 64 % of
the available pins, 42 % of the macrocells and 11 % of the product terms. SIX deVices would be required to implement a byteWide SWitch.
All of the configurations function differently, and no one configuration is optimum for all applications. A deSigner can
customize a deVice to meet the needs of an application. whether
those needs include higher speed or lower chip count A second
device can be qUIckly developed for a different application.
Designers are no longer restncted to a single device type that
must be adapted to an apphcatton With additIOnal logic deVices.

.JULY 1986. DIGITAL DESIGN

2-253

inter
VLSI DESIGN TECHNOLOGY

An original design can be developed in an afternoon. Additional
devices derived from an original design can be developed in a
few hours. Also, the ability to erase an EPLD and reprogram
it allows design errors to be corrected immediately. Instead of
several weeks delay with gate arrays, a designer using EPLDs
can have working silicon devices in one day.
Both the flexibility and short design times associated with
EPLDs make them a good choice for applications that benefit
Figure 6: Configuration 3 shows the use of registered feedback to allow
deselected outputs to retain the" previously selected data. The logic
for a representattve channel IS shown As with Configuration 2, thiS configuration can be optimized for package count or speed.

from custom silicon devices. Today, EPLDs offer designers the
densities and configuration flexibility of gate arrays, along with
the short development time and cost associated with EPROMs.
DC

Figure 5: ThiS circuit (Configuration 2 optimized for speed) combines
the multiplexer and demultiplexer functions for each channel in asingle
array. Since each output equation uses eight product terms, only one
sWitching channel can fit into each 5C121 package.

.JULY 1998 • DIGITAL DESIGN

2-254

inter

AR-451

Designer's Corner

A Programmable Logic Mailbox for
80C31 Microcontrollers
Karlheinz Weigl anc1 Jim Donnell, Intel Corp., Frankfurl, West Germany, and Folsom, CA

T

his article describes the implementation of a semi-intelligent interface between two 80C31 microcontrollers, using a mailbox
protocol. Applications for an interface
such as the the one described here are
often found in industrial control areas
where multiple mlcrocontrollers are
used to accomplish a given task. Due to
the architecture of the microcontroller
(i,e" no READY input; no HOLD/HLDA
interface; port-oriented 110; etc,), exchanging data and status between these
devices becomes a cumbersome task,
Given this directive, it becomes the designer's task to develop a mUlti-port
memory interface that allows for zero
wait-state operation (i.e" no READY signal required), that electrically isolates
the microcontroller buses, and that permits asynchronous access, Synchronization would result in the generatIOn of
wait states.
We realize the logic necessary to implement the desired functions in two
erasable programmable logic devices
(EPLDS), One device, the 5C03l, contains roughly the equivalent of 300 2input NAND gates, while the other EPLD,
the 5C060, can implement designs with
up to approximately 600 gates,

ADoA° /

ADt;-AD,

Pc

P,

A ..

e:

ALE
A8A,~

I\&A 15

P,

P,

~

P"StR

.... &lC31[1H

P80C31BH

7

m:iP37

Wffi:>3t

~6

flVpJ

The Mailbox Principle
And its Implementation
In a mailbox memory system, the microcontrollers exchange information as
bytes of data written to or read from a
mailbox register. Control logic permits
simultaneous access to the mailbox, thus
eliminating the need for arbitration between the microcontrollers. Implementing the data exchange in this form
achieves most of the design criteria given above,
Avoiding bus arbitratIOn together
with the short propagation delays of the

FIGURE 1, Schematic of mailbox memory system,
EPLDs provides zero wait-state operation
of the data exchange. Electncal isolation
of the address and data buses IS achieved
by using the high-impedance output capability of the 5C060, Simultaneous,
asynchronous access is achieved by separatIng the RD and WR strobes Issued by
each microcontroller.
With a mailbox memory system, there

CopYrlght© 1987 by CMP Publications, Inc, 600 Community Drive, Manhasset, NY 11030.
Reprinted With permission from VLSI Systems DeSign.

2-255

is an obvIOUS need for some type of
communicatIOn protocol to confirm the
reception of a message, or the presence
of data in the mailbox, In addItIOn, the
read and wnte logic must be defined
such that Simultaneous access to the
mailbox is permitted. In order to segment the task, the deSign will be approached In terms of two separate mod-

ules: the mailbox/memory section), and
the the control logic (protocol),
To begin the design of the membry
section, it is first helpful to identify the
lesources required for the design. The
mailbox requires a total of 16 memory
storage registers (two bytes of data), tristate output control, and two separate
clock lInes used to wnte the memory
regIsters.
The SC060 EPLD was chosen to implement the memory section. ThIs device
contains 16 programmable regIster
groups that may be configured to operate
as JK-, RS··, D., and T-type flIp-flops.
Each regIster group feeds a bl-dlrectional input/output pin, whIch may be tnstated VIa an output-enable product
term. These lIO pins may also serve as
data inputs when the register output is
tri-stated. ThIS feature forms the basis of
the read-signal logic required in the design. Write logic can be accomplished
through the two synchronous clock inputs provided in the SC060. Each synchronous clock dnves a set of eight
registers In the device. The operatIOn of
the memory section of the maIlbox
memory may now be solidified.
As shown in Figure I, the two microcontrollers are separated into controller
A and controller B. Register group A
(signals lOAD to lOA 7) serves as an input
buffer to microcontroller A. This buffer
receives Information from mlcrocontroller B's data bus. The write control for
register group A comes from microcontroller B.
Again, referrIng to Figure I, it can be
seen that register group B serves as an
output buffer to microcontroller B. ThIS
buffer gets information from mlcrocontroller A and is therefore write-controlled by microcontroller A.

W6 _ _ _ _ _--.

10AO

,lOBO

10AI

IOS1

10112

1082

IOA3

1063

10M

1084

10AS

100&

IOA6

IOB6

IOA7

1007

+ __ WA

L....._ _

RDA

RDS

CSA

GSS

FIGURE 2. Schematic of register interface.

WRB 1
CSA· 2

Data Transfer
In order to read 'data from the mailbox, the microcontroller must initiate a
read cycle addreSSIng the mailbox. The
read signal (RDA for microcontroller A,
ROB for mlcrocontroller B) enables the
tri-state outputs of the SC060, reveahng
the appropriate data. Spurious read cycles are avoided by logically combining
the read signal with a chip select signal
(CSA or CSB) within the chip. The example shown utilizes address bit A15 as the

Group A
(mlcrocontrolier Ai

l.

:g~~:

24 -vCC
23 -ROB

"

3

22

4
5
6
7
II,

21 -lOBI
·IOBO
20 -IOB2
19 -IOB3
18 -IOB4
17 ·IOB5

IOA2IOA310A4·
IOA510Ae· 9
IOA7· 10

5C060

I

Group B
, (microcontroller B)

16 ·IOB6
15 ·IOB7
14 ·CSB
13 ·WRA.

RDA· 11
GND- 12
"

FIGURE 3. Pin-out for register interface.

VLSI SYSTEMS DESIGN

2-256

January 1987

Designer's Comer

WRA
GSA
RST

=~==:gr-~-----1~------------------- WA

-r..--<......./

H---+';:'ROB
GSB

--\4-..{

'SEA

"

- T T T '........- /

,NTB

WRS

r----.----+~+_---~----_+--- WH
r'"'U_/

INTA

IBFI - - - - - - - - - - - - - - - '
OBEI : : : : : : : : : : : : : : : : : : : : : : : : : : : : :___________
OE

J

FIGURJ:: 4. Schematic of control logic.
chip-select signal. thereby reserving the
upper 32K bytes of memory space for the
mailbox.

Protocol Control Logic
Having defined the memory section of
the mailbox, we next must orchestrate
the control logic. To guarantee reliable
data transfers, both microcontrollers
need feedback about the status of their
respective input and output buffers.
In order to achieve a maximum data
transfer rate, an interrupt-driven protocol may be used. The signals necessary
to achieve the transfer protocol are:
OBFA (A'S output buffer full)
OBFB (B's output buffer full)
IBEA (A'S input buffer empty)
IBEB (B's input buffer empty)
INTA (A'S data ready interrupt)
INTB (B's data ready interrupt)
Further definitions of the control signals
can be made as follows.
Output Buffer Full. This flag is set
whenever a controller writes to the mailbox. The flag remains valid until the
second controller has read the data. The

flag is reset when the recipient controller
reads the data from the mailbox.
Input Buffer Empty. This flag mdicates that there IS no message in the
mailbox and that the mailbox can be
written without corrupting the data. This
flag is set whenever a controller reads
data from the mailbox. The flag remams
set until data is placed in the mailbox.
Interrupt. The SC031 IS programmed
to supply interrupts to both microcontrollers involved, when either one of two
events occurs. First, the recipient micro-

controller receives an interrupt when ItS
OBF flag goes active. This Signals the
recipient that data is available in the
mailbox. Secondly, the originator microcontroller receives an interrupt when
data placed by that microcontroller in
the mailbox has' been received by the
recipient microcontroller. ThiS IOterrupt
indicates that data has been received and
that it is safe to write data to the
mailbox.
The signals described above form the
basis for clean and efficient data transfer
between the two microcontrollers. The
transfer time is limited only to the over-

head of the interrupt service routlOes.
The SC060 can accept data at clock rates
. in excess of 20 MHz.

Programming the EPLDs
Figures 2 and 3 show the schematiCs
and pin-out for the memory sectIOn, and
Figure 4 IS a schematic of the protocol
sections in the mailbox memory Usmg
Intel's Programmable Logic Development System, these schematics can be
transformed With ease mto the logiC
equations that represent the deSired
function. The development system accepts a variety of entry methods, mclud109 schematiC, netlist. state machme.
and text file entry.
Once the deSign has been entered, the
file IS submitted to the LogiC Optlmizmg
Compiler (LOC), which performs an optIOnal Boolean mlOimlzatlon, mcludmg
De Morgan's inverSIOn, and logically
fits the deSign mto the target EPLD
The development system generates
three output files. The Logic EquatIOn
File (LEF) con tams the result of the mlmmlzatlon process, the UtilIzation Report
File (RPT) contains the final device pinout, mformation about the mternal logic
routmg, and a percent utilizatIOn for
pms, macrocells, and product terms. Finally, the JEDEC file (JED) contains the
deVice programming mformation reqUired to program the EPLDs. These files
are available from the authors.
Programming of the EPLDs is accomplished through Intel's LogiC ProgrammlOg Software (LPS) and the IUP,PC programmlOg hardware. DeSigns also may
be logically Simulated through the use of
Intel's FSIM software.

Summary
Applications such as IOdustnal automation often reqUire commumcation between multiple microcontrollers. Unfortunately this communicatIOn is
hampered 'by the port orientation and
lack of bus control Signals WlthlO the
mlcrocontroller environment. One solution-as presented here-IS the mailbox
memory. The mailbox memory serves as
an effective method for transferrmg data
between microcontrollers, while the
fleXibility of the EPLDs serves as an
effective way to implement the mailbox
D
itself.

VLSI SYSTEMS DESIGN

2.. 257

January 1987

inter

AR-454
~I------D-ES-IG-N-A-P-P-U-CA-J-IO-NS------~I
aECTRONIC DESIGN EXCLUSIVE

Regain lost 1/0 ports
with erasable PLDs
Daniel E. Smith and Thomas B. Bowns

ntel corp.. 1900 Praiie City Rd .• Folsom. CA 95630; (916) 351·2747.

As a means for reconstructing or regaining microcontroller I/O ports lost to memory expansion.
erasable programmable logic devices, or EPLDs,
contain all the necessary functions. In fact, EPLDs
perform more functions than most programmable
logic arrays, and offer the additional benefits of
EPROM-like erasability, the low power consumption of CMOS technology, and gate densities near
those of low-end gate arrays.
Lost I/O ports can be externally reconstructed
with standard SSI
packages. EPLDs, howeVer, supply an alternaErasable PLDs cut the
tive that reduces the exspace and power
ternal approach's
usually needed to
impact on power and
reconstruct 110 ports.
space consumption.
They can even build
The computing
new ports, adding to
power of one-chip microcontrollers plays a
a chip's capabilities.
role in many applications. But the growing
complexity of these devices, as designers shift from
8- to 16-bit controllers, has strained their I/O capacity.
A typical 8-bit microcontroller in a 4O-pin package contains a 4- to 8-kbyte program memory and
32 I/O pins, usually grouped into 8-bit ports. The
16-bit devices contain 8-kbyte memories and up to
40 I/O pins in packages that range from 48 to 68
pins; The possible number of ports falls short for
some complex tasks in switching circuits, robotics,
, and automotive systems.
The I/O shortage is aggravated when the chip's
internal program memory is too small for a given
task. While tacking on external memory is easy
enough, the addition consumes I/O pins.
Although some details vary, the basic techniques
for reconstructing these lost I/O ports with EPLDs
are the same for most microcontrollers. An example
describes a 5CI21 EPLD and an 8096 16-bit microcontroller, noting details specific to the micro-

controller.
These techniques not only reconstruct ports on
any available microcontroller, but they also are
suited to adding new ports. For the 8096, the designer can add two new ports, 5 and 6, by changing
to I FFC-I FFF the hexadecimal address range in
which the external memory is deselected. The new
ports create a system with 561/0 signals. The
tradeoffs of this addition are the board space
needed for two more EPLDs and two more bytes of
reserved memory space at I FFC and I FFD.
The first consideration in reconstructing a port is
the microcontroller's fixed-memory and I/O address map. In the 8096, memory-address ranges 0
to FF and 2000-3FFF contain on-chip registers, interrupt vectors, factory test code, and program
memory. Expansion memory can go into the 100 to
I FFD range, a capacity of 8k bytes minus the first
256 and the last 2 bytes, and into the 4000 to FFFF
range, another 8 kbytes.
The miCrocontroller has five 8-bit ports, three of
which (0 to 2) are dedicated to I/O functions. Ports
3 and 4, however, are memory-mapped to IFFE
and IFFF, respectively. These two ports reside
right above the lower section of expansion memory
space. (Other microcontrollers have the same functions, but their address ranges may vary.)
External memory, therefore, connects to the pins
reserved for ports 3 and 4, eliminating them as general I/O ports. Reclamation of these ports calls for
external latches and decode logic that disables the
external memory and enables the latches at I FFE
and I FFF. This logic decodes signals Ao and Byte
High Enable, BHE, to select ports 3 and 4. The
ports are selected either separately for 8-bit data
transfers or together for Hi-bit transfers.
The microcontroller multiplexes address and
data on signal lines ADo to AD,s. As a result, Address Latch Enable, ALE, must latch the address as
each bus cycle starts and keep it there for the cycle
duration. Then the lines can transfer data throughout the cycle. Because BHE has the same timing as

"Repnnted with permiSSion from ElectroniC DeSign (Vol. 35, No 7) March 19, 1987. Copynght 1987 Hayden Publishing Co., Inc.,
a subSidiary of VNU:'
2-258

DESIGN APPUCAnONS • Erasable PLOs restore ports

the address, ALE must also latch BHE.
Reconstruction of both ports without EPLDs requires
14 SSI packages if the high-current sink capability of
open-collector drivers is needed. If not, nine packages
will do.
Besides the address-decoding logic, the input ports
need octal latches. The outputs contain octal latches, but
inverting buffers are a!so needed. If the output does include open-collector drivers, the designer must add another set of inverting buffers to compensate for the
drivers' inversion of the signal. In addition, a discrete flipflop latches BHE, and discrete gates decode the port selection and RD and WR signals.
On the other hand, reconstructing ports with EPLDs
requires no logic outside of the EPLDs themselves (Fig.
I). Each device decodes its respective memory-mapped
address, and one device disables the external memory at
both lFFEand IFFF.
The EPLDs can sink 4 rnA, which puts them in the
same range as an SSI version without open-collector
drivers. The designer can add open-collector drivers if a
higher-current sink is needed.
The design process leading to port reconstruction be-

gins with defining the functions required of the EPLD
and then creating a design file that can be translated into
a Jedec file. Next, the designer programs the EPLD and
tests the final circuit. Software can automate much of this
procedure.
The first step is to list the functions the EPLD must
perform. Then the designer identifies which EPLD feature best satisfies that need, because as with SSI logic, the
device can accomplish its task in different ways.
In general, a device reconstructing a port must latch
and decode address information from a multiplexed bus.
The chip then produces an internal port-selection signal
and an external memory-selection signal; the latter in address range I FFE-I FFF. Moreover, the device acts' as a
bidirectional data path and decodes the RD and WR
signals, routing the data with the port-selection signal
(Fig. 2).
Drawing a schematic diagram of the EPLD helps isolate the circuit into functional blocks. In the example,
combinatorial logic and three latches do the decoding at
port 3.
Address lines AD, throu.gh AD" pass through an
AND gate and are latched as LAD A • Address lines A12

+SV<>-tI
ADo-AD"

iii

0"
0.

. . 0.-0.,

.'

~.'

27C64-15
£I>Rt1M

latch

0.-0,

*. .*
OS

"

.

.' ..!+'5V
0,-0"
74HCT373

.. Jill 0.-0,
..'

:. * . . ¥"

'"

latch

OlE

..

',,:,':

CE

Of

"

O£ CE
AQ,,-AD,

LE

.'.

.

A7 -A'2

LE

0.

~L.

r
*
0 0 -0,

~ A.,-A.,

14HCT373

21C64-15

1-

.*

'

AD SHE

Vee

..J:r

PaM

v""

;~
II,..

EPIIOM
AO,-A,.

Port 4

MCS
ALE WR

-P4, P47

5C121
Ao,,-AO, EPLD

+yv

...

0.-0,

I!IIII

;

ALE WR

AD

~h

l1li Ao"-AD,,
5C121
EPLD

~.
AD.-Ao,

P3,,-P3,

Port 3

~.

Il-

1. Two erasable programmable logic devices contain all the logic required to reconstruct ports 3 and 4 of
an 8096 mlcrocontroller. The two latches and two EPROMs comprise the external memory.

Electronic Design' March 19, 1987

2-259

and inverted signals AD 13
through AD15 pass through an
AND gate and are latched as
LAD B. These two latched signals pass through another
AND gate to create the Memory Disable Signal, MDS,
which deactivates the
EPROMs. Combined with
LA Do (address signal ADo
inverted and latched), LADA
and LADB generate the portselection signal.
PARALLEL FORMAT

SAVE~

AD,

TIME

The EPLD decodes and
latches signals AD, through
AD" and ADI2 through AD,s
in parallel to minimize the time
between address setup and
ALE going low. An inverted
ALE clocks the latches, which
also store decoded addresses
while the microcontroller transfers data over the bus.
Two combinatorial-output,
internal feedback (COIF)
primitives create a doublefeedback loop with all output
enables to the microcontroller
bus controlled by OE" which is
active during read operations.
Output enables on the I/O side
of the EPLD are controlled by
OE 2 , which is active during
write operations. Thus data is
valid at the inputs or outputs
only while the appropriate command, RD or WR, is active.
If the application calls for
latched outputs, the designer
can create them from logic on
the EPLD. One configuration is
a D-type latch activated by the.
trailing edge of WR (Fig. 3). In
this circuit, the outputs are always enabled, except during
reads, when they are placed in a
high-impedance state. The Re-,
set signal clears the outputs to a
logic 0 during initialization.
The fourth port's schematic
varies little from that of the
third. Because port 4 handles
data transfers on the micro-

AD,

. AOtn
AD~1

AD,. 0--------,
A~13

AD ••

AO..o-----;
~

0--,----'----'

Al5o--------'
WRo-~------------'

aHE~

2. The schematic for fhe port 3 EPLD contains a bidireCtional path that Includes parallel address decoding that speec:is circuit operation. In the port 3
device. Ao Is inverted and latched. then used to qualify reads and writes; the
port 4 EPLD relies on BHE for qualification.

Electronic Design· March 19, 1987

2-260

DESIGN APPLICAnONS • Erasable PlDs restore ports

controller's high byte, the data path connects to ADs
through AD,s. The BHE signal replaces ADD and becomes LAD, which combines with LADA and LADs to
select the correct port.
A microcontroller with a different address map or bus
interface may require some variations in address decode
logic. The basic techniques for regaining I/O ports with
EPLDs, however, remain the same.
DESIGN FILE CREATED

The next step in the port-reconstruction process is to
create from the schematic diagram a design file that can
be automatically converted to a Jedec file by Intel's Programmable Logic Software II (iPLSII) program. Four
types of inputs are acceptable: a net list file, Boolean
equations, state variables, and files from any of several
schematic-entry packages that run on personal comput-

ers. The designer can write a net list file with a wordprocessing program in a nondocument mode, but an easier way is to work with iPLS II's Logic Builder.
The Logic Builder prompts the user for the information
it needs. After establishing the file with some background
information, the program asks for lists of all the input and
output pin names (the user can assign a name to a specific
pin number). Next come the internal assignments and
connections, and finally, the logic equatIOns needed.
The designer must list all the COIFs that form the bidirectional data path. For example, the entries that create
the data line between ADD and P3 0 (see Fig. 2 again) are
as follows:
ADD, ADD = COIF (P3 o, OE,)
P3 o, P3 0 = COIF (ADo, OE 2 )
The iPLS II program contains a logic-optimizing compiler that translates the schematic's net list, or other suitable input, into a Jedec programming file. The compiler,
which is selected from the program's main menu, optimizes the logiC equations and assigns I/O pins and other
EPLD resources.
£RROR MESSAGES POINT OUT PROBLEM

3. If a designer needs latched outputs, they can be
built without additional logic. This D-type flip-flop is
made of logic elements contained in the EPLO.

ALE

The program's outputs are the programming file and a
device report file that shows the pinout of the programmed device and describes the use of the device's resources. If the compiler cannot translate the file, error
messages indicate the design-file entry that caused the
problem.
Programming the EPLD is very similar to programming EPROMs. The designer connects an EPLD programming module to the workstation, inserts an unprogrammed device into the socket, and calls up the

ClocI<

t---Tm---l

=

T..
T!n= 12 os

=

7ns

T.- 5ns

T.,,-48ns

T",= 5ns

T. -- 11 ns

Too = 11 ns

4. A block diogram of an ELPO's intemal delays shows how users can determine the maximum delay for
each signal path and, as a result, the port's maximum operating frequency.

Electronic Design· March 19. 1987

2-261

DESIGN APPUCATIONS • Erasable PLDs restore ports

programming menu. The menu asks for the device's type
and the Jedec file name, and the system then programs
and verifies the chip.
Considering how straightforward the port-reconstruction functions are, the best test of the programmed
EPLD is to plug it into a circuit and see if it works. An
EPROM-based microcontroller with some simple read
and write routines to exercize the device works well.. The
designer can also use an in-circuit emulator for the microcontroller, if one is available.
Any bugs can be fixed quickly. To correct a bug the
user erases the EPLD file and changes the design file,
which then can be recompiled and the device reprogrammed.
A timing analysis confirms the EPLD's compatibility
with different microcontroller clock speeds. The analysis
amounts to adding the internal delays for paths through
the EPLD and comparing these path delays to the microcontroller's timing requirements.
The three paths of interest are Address Setup to ALE,
which must take no longer than 116 ns for an 8096 operating at 6 MHz; and no longer than 50 ns at 10 MHz. Other
maximum values are: Data Valid From RD, 358 ns and
230 ns; and Data Valid Before Write, 272 ns and 130 ns.
A block diagram of the specific device with each internal delay is needed for the timing analysis. For the example circuit, the Address Setup to ALE delay for the port 3
EPLD is 49 ns (Fig. 4). This value, achieved by decoding
and latching AD) to AD)) in parallel with ADI2 to AD)5,
just meets the maximum delay at 10 MHz.
The delay for Data Valid From RD is the sum of delays
in the enable path and the data path, or 136 ns. The delay
path for the ,write operations is shorter: It is that for the
enable path added to 41 ns for the data path (after eliminating a 30-ns overlap in enable and data timing), or
106 ns. Both are well within limits. 0
'

Daniel E. Smith, a senior technical writer at Intel, has
also worked in microcomputer-systems testing and
written manuals for microprocessors, development
software, and bubble memories. He has a BA in history
from San Jose University and an MA in biblical studies
from the Graduate Theological UnionfJesuit School of
Theology in Berkeley, Calif.
Thomas B. Bowns is an application engineer for Intel's EPLD operation. He also has worked as a technician on the company's EPROM line. Bowns studied
digital and microwave electronics at American River
College in Carmichael, Calif

Electronic Design· March 19, 1987

2-262

Advanced Architecture

EPLDs

3

5AC312
1-MICRON CHMOS

ERASABLE PROGRAMMABLE
LOGIC DEVICE
Performance LSI Semi-Custom
• High
Logic Alternative for Low-End Gate

Feedback on All Macrocells for
• Dual
Buried Registers with Bidirectional 1/0
2 Product Terms on All Macrocell
• Control
Signals
CHMOS III-E EPRO!\t1 Technology
• based; UV-Erasable
UV Erasable Array for 100% Generic
• Testability
Security Bit Allows
• Programmable
100% Protection of Proprietary Designs
Programmable Low-Power Option for
• Standby
Operation; 100 JLA Typical
Standby Current
in 24-Pin 0.3" DIP and 28-Pin
• Available
PLCC Packages

Arrays, TTL, and 74HC- or 74HCT SSI
and MSI Logic
Speed tpd (max) 25 ns, 50 MHz
• High
Performance Pipelined, 33 MHz with
Feedback
12 Macrocells with Programmable 1/0
• Architecture;
Up To 22 Inputs (10
Dedicated, 12 IIO) or 12 Outputs

•

8 Programmable Inputs Individually
Configurable as Latches, Registers or
Flow-Through

Product Term
• Software-Supported
Allocation between Adjacent
Macrocells

•

(See Packaging Spec, Order Number # 231369)

Programmable Output Registers
Configurable as D, T, JK, or SR Types

- ;;::

~

Q:-:~

CLK/INP1
1/0.11

~~d

Vee

~

>

'"-

en

~~~

1/0.12

LlNP1

1/0.9

LlNP2

1/0.10

LlNP2

1/0.10

LlNP3

1/0.7

LlNP3

1/0.7

LlNP4

1/0.8

LlNP4

1/0.8

LlNPS

1/0.6

LlNPS

1/0.6

LlNP6

1/0.5

LlNP6

1/0.5

LlNP7

1/0.4

LlNP7

1/0.4

N.C.

LlNP8

1/0.3

1/0.1
GND

N.C.

co -

1/0.2

a..

d

c

z

~':::::-.C,!)

ILE/ICLK/INP2

...J

CI

Z

'" '" '"
'"
!.2
D..

••

~~~~
...J

~

290156-1

,:

290156-2

Figure 1. Pin Configurations

3-1

November 1988
Order Number: 290156-002

inter

5AC312

a highly flexible macrocell and I/O structure. The
5AC312 has been designed to effectively implement
both combinationa:l-register and register-combinational-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 I/O architecture
and macrocell str~cture, 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. Input and macrocell features
for the 5AC312 are a superset of features offered by
other PlD-type products.

Figure 2 shows a global view of the 5AC312 architecture. The 5AC312 contains a total of 121/0 macrocells, 8 user-programmable input structures, .and 2
additional inputs that can be programmed to serve
as either combinatorial inputs or clock inputs. Each
of the eight inputs can be individually configured as
a latch, register, or flow-through input. Input latches/
registers can be synchronously or asynchronously
clocked.

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

Each macrocell is further sub-divided into 16 Product Terms with 8 Product Terms dedicated to the
control signals OE, PRESET, ASYNCH. ClK and
CLEAR, and 8 Product Terms available for the general data array (see Figure 3).
The basic macrocell architecture of the 5AC312 includes a user-programmable AND array and a userconfigurable 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 I/O 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-pro·gram-

3-2

inter

5AC312

RING 1
r------

I
I

GLOBAL
CLOCK

CLK/INPI

I

I
I
I

r------

LOGIC

A~RAY

LINPI

1/0.1

1/0.2

I
I
I
IL______
I
I
I
I

1/0.3

-,
I
I

,------

LINP2

I/O ••

I
I
I
I
I

L ______

LlNP3

I
I
I
I
I
I

1/0.5

LINP.

._-----

1/0.6

LINP5

,,------

1/0.7

r------

1/0.8

I
I
I
I
I
I

LlNP6

I
I
I
I
IL ______

LlNP7

I
I
I

1/0.9

-,
I
I

,------

LINP8

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

3-3

l
TO NEXT
IotACROCELL

LOGIC ARRAY

tT

FROIot NEXT
IotACROCELL
OUTPUT

~

I

I

I

I

I

I

I

PRESET

I

."

C·

...CD

C

~
U1

l>
0

...

II II II II

LOWER HALF

I

~

OUTPUT
IotUX

I

Co)

N

m
c.J

./..

~'I

W'''r;,J

~
DI
C"I

r-:VERT

cRL./j

~

D/T
IotACROCELL
REGISTER

o

....
Co)

I\)

...0

C"I

~

.....en

.....
C
C"I
C
CD

CLEAR

T~A~:~~~~LS

•

1FR~~C~~~~LUS

"@
290156-4

2&
Iiiiil

If'"

~
~

~

2:ID
~

inter

5AC312

INP
PIN

CI----..... IN

LOGIC

OUT~------------~

ARRAY

P-TERIA

ILEjlCLK
PIN

0-----------------.....1
290156-5

NOTE:
Flow-through input selected by connecting ILE P-Term to Vee.

Figure 4. 5AC312 Input Structure
to derive an input clock 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.

mabie input structures that can be individually configured to work in one of five modes:
-

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 respect 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
the logic compiler and programmer software. If synchronous operation is chosen, the ILE/ICLK/INP
becomes an ILE/ICLK (Input Latch Enable) input
global to all input latch/register structures. For asynchronous operation, ILE/ICLK/INP can be used as a
normal input (flow-through input) to the device while
a separate Product Term in the control array is used

H

3-5

Input Type

ILE/ICLK

0

Q

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

H
H
L

H
L
X
H
L
H
L

H
L
an
H
L
H
L

=

HIGH Level

J,
J,
X
X
L

=

LOW Level

X

=

Don't Care

intJ

5AC312

Macrocell Array

Example:

Each of 12 macrocells in the 5AC312 contains 8
p-terms (Product Terms) to support logic functions.
These 8 p-terms are subdivided into 2 groups each
containing 4 p-terms. This grouping of p-terms supports the proprietary p-term allocation scheme.

The logic function in macrocell 4 requires 16
p-terms. In this case, the iPlS II software allocates 4
p-terms from the previous macrocell in Ring 1 (macrocell 3) and 4 p-terms from the next macrocell in
Ring 1 (macrocell 5) to accumulate a total of 16
p-terms (8 + 4 + 4). This implementation leaves
macrocells 3 and 5 with a remainder of 4 p-terms
each. These remaining p-terms in macrocells 3 and
5 can also be allocated away to or can be supplemented with p-terms from their respective previous/
next macrocells in Ring 1.

Each macrocell can be configured as a 0, T, RS, or
JK register. The 8 p-terms for control functions are
organized so that 2 p-terms support each of the four
control signals. Control signals in the 5AC312 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).

Applying this scheme to the 5AC312 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.

ClK is a global clock signal that can be used to
synchronously clock any or all macrocell registers. It
can be used as an input to the logic array at the
same time as a macrocell clock. When ClK is not
used as a synchronous clock, it functions only as a
dedicated input to the logic array.

Combinatorial Configuration
The macrocell register can be bypassed to implement combinatorial logic functions. When configured
to provide combinatorial logic, only the OE control
signal is used.

The Product Term allocation scheme described
above is automatically supported by iPlDS II V2.0
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.

Invert Select Bit

Table 2. Product Term Allocation Rings
Ring 1
Ring 2
Current Next Previous Current Next Previous
Macro- Macro- Mlicro- Macro- Macro- Macrocell
cell
cell
cell
cell
cell
12
1
2
6
7
8
2
3
1
8
9
7
4
2
9
10
8
3
11
4
5
3
10
9
5
6
4
11
12
10
6
1
5
12
7
11

An invert select EPROM bit is used to invert the
product term input into each macrocell register, including double inputs on JK and SR registers. This
invert option allows the highest possible logic utilization by use of DeMorgan's logic inversion.

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
5AC312, this allocation can occur in increments of 4
p-terms between adjacent macrocells.
The 12 macrocells available in the 5AC312 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.

3-6

intJ

5AC312

LOGIC ARRAY
LOWER HALF
P-TERMS 1-4
MACROCELL

*3

P-TERMS ALLOCATED TO
NACROCELL #4
(NEXT MACROCELL IN RING)

UPPER HALF
P-TERMS 5-8

MACROCELL

#'

UPPER HALF
P-TERMS 5-8

P-TERMS ALLOCATED TO
MACROCELL #'
(PREVIOUS MACROCELL IN RING)

MACROCELL

i5

290156-6

Figure 5. Product Term Allocation (8 + 4 + 4)

3-7

5AC312

savings. When the Turbo Bit is programmed
(TURBO = ON), the device is optimized for maximum speed. When the Turbo Bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during periods of
inactivity.

Macrocelll/O Control Block
Each macrocell in the 5AC312 has the ability to implement 0, 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 ClK/INP1
pin or asynchronously clocked t;>y the 2 Product
Terms available for ASYNCH. ClK. The 5AC312
also features separate input and feedback paths
(dual feedback) on all macrocell 1/0 control blocks.
This enables the designer to utilize input pins when
the associated macrocells have been assigned a no
output with buried feedback attribute. Multiplexed
liD is accomplished by controlling the output buffer
associated with each macrocell using the 2 Product
Terms set aside for implementing an OE function.

Figure 6 shows the device entering standby mode
approximately 100 n~ after the last input transition.
When the next input transition is detected, the device returns to active mode: Wakeup time adds an
additional 20 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than
one input and the last of the inputs changes after the
device has returned to active mode.
After erasure, the Turbo Bit is unprogrammed (OFF);
automatic standby mode is enabled. When the Turbo Bit is programmed (ON), the device never enters
standby mode.

Power-On Characteristics
The Macrocell registers of the 5AC312 will experience a reset to their inactive state (logic low) 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 within 10 ,...s (6 ,...s typical)
after Vee power-up or after a power-Ioss/power-up
sequence. Input registers are not reset on power-up
and are indetermh'late. Input latches reflect the state
of the input pins on power-up.

inteligent 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 environments. 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 available from Intel by request.)

Automatic Standby Mode
The 5AC312 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power

t

INPUT
FIRST - - -...

LAST
INPUT

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

OUTPUT

CURRENT
OmA

VALID OUTPUT

VALID OUTPUT

ACTIVE MODE
Icc

ACTIVE MODE

Icc

------------------~--~==~====~~------~~----290156-19
Figure 6. 5AC312 Standby and Active Mode Transitions

3-8

inter

5AC312

ERASED STATE CONFIGURATION

LATCH-UP IMMUNITY

After erasure and prior to programming, all macrocells are configured as combinatorial, inverted outputs with output buffers three-stated. Inputs are configured as synchronous registers.

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

ERASURE CHARACTERISTICS
Erasure time for the 5AC312 is 1 hour at
.12,000 p.W/cm 2 with a 2537A UV lamp.

DESIGN RECOMMENDATIONS
Erasure characteristics of the device 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
fluore!,cent lamps have wavelengths in the 3000A4000A range. Data shows that constant exposure to
room level fluorescent lighting could erase the typical 5AC312 in approximately six years, while it would
take approximately two weeks to erase the device
when exposed to direct sunlight. If the device is to
be exposed to these lighting conditions for extended
periods of time, conductive opaque labels should be
placed over the device window to prevent unintentional erasure.

For proper operation, it is recommended that all input and output pins be constrained to the voltage
range (GND < (VIN or VOUT) < Vee. All unused
inputs should be tied to an appropriate logic level to
minimize power consumption (do not leave them
floating). A power supply decoupling capacitor of at
least Q.2 p.F must be connected directly between
each Vee and GND pin.
As with all CMOS devices, ESD handling procedures
should be used with the 5AC312 to prevent damage
to the device during programming, assembly, and
test.

The recommended erasure procedure for the
5~C312 is exposure to shqrtwave ultraviolet light
With a wavelength of 2537 A. The integrated dose
(Le., UV intensity X exposure time) for erasure
should be a minimum of forty (40) Wsec/cm 2 .

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 erasure time with this dosage is approximately 1
hour
using
an
ultraviolet
lamp
with
a
12,000 p.W/cm2 power rating. The device should be
placed within 1 inch of the lamp tubes during exposure. The maximum integrated dose the 5AC312
can be exposed to without damage is
7258 Wsec/cm 2 (1 week at 12,000 /LW/cm2). Exposure to high intensity UV light for longer periods may
cause permanent damage to the device.

The testability and reliability of EPROM-based programmable logic devices are important features over
similar devices based on fuse technology. Fusebased programmable logic devices require a user to
perform post-programming tests to insure device
functionality. During the manufacturing process,
tests on these parts can only be performed in very
restricted manners to prevent pre-programming of
the array.

DESIGN SECURITY·
A Security Bit provides a programmable security option to protect the data programmed in the device.
Once this bit is set during programming, subsequent
attempts to read the device architecture information
are prevented. This method provides a higher degree of design security than fuse-based devices,
since programmed EPROM cells are invisible even
to microscopic examination. The Security Bit (also
called the Verify Protect Bit), along with all the other
EPROM cells, is reset by erasing the device.

3-9

inter

5AC312

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

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM II (iPLDS II)
Release 2.0 of iPLDS II provides all the tools needed
to design with the 5AC312 EPLO. In addition to providing development assistance, iPLDS II insulates
the user from knowing 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.

tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

ADF PRIMITIVES SUPPORTED
The following ADF primitives are supported by this
device:
INP
LlNP

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.

NOTF
JOJF
JONF

RINP

The iPLDS II has interfaces to popular schematic
capture packages to enable designs to be entered
using schematics. A more integrated schematic entry method is provided by SCHEMAII-PLD.a lowcost 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.

CONF

SONF

COCF
COIF

SOSF
TOIF

RONF
ROlF

TONF
TOTF

RORF

CLKB

NOCF
NORF

LlNB

NOJF
NOSF

ORDERING INFORMATION
tpD teo fMAX
(ns) (ns) (MHz)

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

25

15

50

Order
Code

Package

05AC312-25 CEROIP Commercial

1. At least one floppy disk drive and hard disk drive.

P5AC312-25 POIP

2. MS-DOStt Operating System Version 3.0 or
greater.
3. 512K Memory (640K recommended).

N5AC312-25 PLCC
30

18

40

Operating
Rilnge

05AC312-30 CEROIP Commercial
P5AC312-30 POIP

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

N5AC312-30 PLCC
35

5. A color monitor is suggested.

20

40

05AC312-35 CEROIP Commercial
P5AC312-35 POIP
N5AC312-35 PLCC

3-10

infef

5AC312

ABSOLUTE MAXIMUM RATINGS*
Supply Voltage (Vecl (1) .......... -2.0V to +7.0V
Programming Supply
Voltage (Vpp) (1) ............. -2.0V to + 13.5V
D.C. Input Voltage (VI)(l, 2) ... -0.5V to Vee + 0.5V
Storage Temperature (Tstg) ..... - 65·C to + 150·C

• 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 condition$ 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.

Ambient Temperature (Tamb) (3) .. -1 O·C to + 85·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 -O.SV. During transitions, the inputs may undershoot to -2.0V or overshoot to
less than 20 ns under no load conditions.
3. Under bias. Extended temperature range versions are available.

+ 7V for periods of

RECOMMENDED OPERATING CONDITIONS
Symbol

Parameter

Min

Max

Unit

4.75

5.25

V

Input Voltage

0

Vee

V

Vo

Output Voltage

0

Vee

V

TA

Operating Temperature

0

+70

·C

tR

Input Rise Time

500

ns

tF

Input Fall Time

500

ns

Vee

Supply Voltage

VIN

D.C. CHARACTERISTICS
Symbol

TA = O·Cto +70·C, Vee = 5.0V ±5%

Parameter

Max

Unit

High Level Input Voltage

2.0

Vee + 0.3

V

VIL(4)

Low Level Input Voltage

-0.3

0.8

V

VOH(S)

High Level Output Voltage

VIH(4)

Min

Typ

2.4

V

Test Conditions

10 = -4.0 mA D.C.,
Vee

=

min.

VOL

Low Level Output Voltage

0.45

V

10 = 8.0 mA D.C.,

II

Input Leakage Current

±10

p,A

Vee = max.,
GND < VIN < Vee

loz

Output Leakage Current

±10

p,A

Vee = max.,
GND < VOUT

Isd6)

Output Short Circuit Current . -30

-90

mA

Vee = max.,
VOUT = 0.5V

Iss(7)

Standby Current

100

150

p,A

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

led8)

Power Supply Current

10

mA

Vee = max.,
VIN = Vee or GND,
No Load, Input Freq. = 1 MHz
Active Mode (Turbo = Off),
Device Prog. as 12-Bit Ctr.

Vee

=

min.

< Vee

NOTES:

4. Absolute values with respect to device GND; all over and undershoots due to system or tester noise are included. Do not
attempt to test these values without suitable equipment.
S. 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 Sit Off, device automatically enters standby mode approximately 100 ns after last input transition.
8. See graph at end of data sheet for IcC vs. frequency.
3-11

inter

5AC312

CAPACITANCE
Symbol

Parameter

Min

Typ

Unit

Max

Conditions

= OV, f = 1.0 MHz
= 1.0 MHz

CIN

Input Capacitance

8

pF

VIN

COUT

110 Capacitance

15

pF

Vour'" OV, f

CClK

ILE/ICLK/INP2 Capacitance

12

pF

VIN == OV, f == 1.0 MHz

Cvpp

Vpp Pin (CLK/INP1)

25

pF

VIN

A.C. TESTING LOAD CIRCUIT

INPUT
855.!l

O~~~~C)~~-1~~>~~S~i~T
OUTPUT
(INCLUDES JIG
CAPACITANCE)

A.C. CHARACTERISTICS
From

T A = O·C to

To

3'°-Y20
o-AO:8>

TEST POINTS

V2E

<~

1~-TEST POINTS-~
290156-8

A.C. Testing: Inputs are driven at 3.0V for a Logic "I" and OV for
a logic "0". Timing Measurements are made at 2.0V for a Logic
"I" and O.SV for a Logic "0" on inputs. Outputs are measured at
a 1.5V point. Device input rise, and fall ijmes < 6 ns.

290156-7

Symbol

== 1.0 MHz

A.C. TESTING INPUT, OUTPUT WAVEFORM

....----5V

34Ul

== OV, f

+ 70·C, Vee

5AC312-25
Min

Typ

Max

= 5.0V

± 5%, Turbo Bit "On"(9)

5AC312-30
Min

Typ

Max

5AC312-35
Min

Typ

Max

Non-(l1)
Turbo
Mode

Unit

tpDI

Input

Comb. Output

20

25

25

30

30

35

+20

ns

tpD2

1/0

Comb. Output

20

25

25

30

30

35

+20

ns

tpZX(IO)

lor 1/0

Output Enable

20

25

25

30

30

35

+20

ns

tpXZ(10)

10ril0

Output Disable

20

25

25

30

30

35

+20

ns

tClR

Asynch. Reset

25

25

30

30

35

+20

ns

Asynch. Set

a Reset
a Set

20

tSET

20

25

25

30

30

35

+20

ns

NOTES:
9. Typical values are at TA = 25'C, VCC = 5V, Active Mode.
10. 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.
11. If device is operated with Turbo Bit Off (Non-Turbo Mode), increase time by amount shown.

3-12

5AC312

SYNCHRONOUS CLOCK MOCE (MACROCELLS) A.C. CHARACTERISTICS
TA = OOG to + 70o G, VCC = 5.0V ± 5%, Turbo Bit On(8)
Symbol

5AC312-25

Parameter

Min
fMAX

fCNT

Typ

Max

Max. Frequency (Pipelined)
1/tsu-No Feedback

66

Max. Count Frequency

40

5AC312-30
Min

Typ

Max

50

50

33

35

5AC312-35
Min

Non·(11)
Turbo
Mode

Unit

Typ

Max

40

50

40

MHz

30

28.5

25

MHz

1/tCNr-with Feedback
tsUl

Input Setup Time to ClK

20

15

25

20

25

20

+20

ns

tSU2

I/O Setup Time to ClK

20

15

25

20

25

20

+20

ns

tH

I or I/O Hold after ClK High

0

teo

ClK High to Output Valid

tCNT

Macrocell Output Feedback
to Macrocellinput-internal Path

30

tCH

ClK High Time

10

12.5

12.5

ns

, tCL

ClKlowTime

10

12.5

12.5

ns

0
10

0

15

25

12
35

ns

18

30

15
40

20

35

ns
+20

ns

SYNCHRONOUS CLOCK MOCE (INPUT STRUCTURE) A.C. CHARACTERISTICS
= OOG to +70o G, VCC = 5.0V ±5%, Turbo Bit On(8)

TA

Symbol

5AC312-25

Parameter

Min
fMAXI

Max. Frequency

tSUIR

Input Register/latch Setup Time
before IlEI/ClK

Typ

Max

50

40

5

5AC312-30
Min

Typ

Max

40

33

5

5AC312-35
Min

Typ

Max

33

28.5

Non..(11)
Turbo
Mode

Unit

MHz

5

ns

tpU(12)

Minimum Input Clock Period

tHI

I Hold after IClKl/lE

teol

IClK

tEOI

IlE t to Comb. Output

tCHI

IlEl/elK High Time

10

12.5

12.5

ns

tcu

IlEI/ClK low Time

10

12.5

12.5

ns

.J,

.J,

20

25

7

to Comb. Output

25

30

10

25

30

+20

12

ns
ns

30

35

35

40

35

40

+20

ns

30

35

35

40

35

40

+20

ns

NOTE:
12. tpu = Input signal through registersl/atch to macrocell register input.

3-13

inter

5AC312

ASYNCHRONOUS CLOCK MODE A.C. CHARACTERISTICS
TA = O°C to

+ 70°C, VCC

Symbol

= 5.0V ±5%, Turbo Bit On(8)
5AC312-25

Parameter

Min

Typ

Max

5AC312-30
Min

Typ

Max

5AC312-35
Min

Typ

Max

Non-(10)
Turbo
Mode

Unit

INPUT STRUCTURE
fAMAXI

Max. Frequency Input Register

50

,40·

40

MHz

l/(tACLI + tACHI)
tASUI

Input Register/latch Setup
Time to Asynch. IlE/IClK

0

0

tAHI

Input Register/latch Hold
after Asynch. IlE/IClK

20

tACOI

Asynch. IClK to Comb. Output

40

48

45

55

50

60

+20

ns

tAEOI

Asynch, IlE t to Comb. Output

40

48

45

55

50

60

+20

ns

0

14

25

20

30

+20

ns

ns

25

tACHI

Asynch. IClK High Time

10

12,5

12.5

ns

tACLI

Asynch. IClK low Time

10

12,5

12.5

ns

MACROCELLS
fAMAX

Max. Frequency (Pipelined)

50

40

40

MHz

25

MHz

l/(tACL + tACH)-No Feedback
fACNT

Max. Frequency

40

33

35

28.5

30

l/tACNT-with Feedback
tASU1

Input Setup Time to
Asynch. Clock

10

12

15

+20

ns

tASU2

110 Setup Time to
Asynch. Clock

10

12

15

+20

ns

tAH

Input or I/O Hold after
Asynch. Clock

5

tACO

Asynch. ClK to Output Valid

tACNT

Register Output Feedback
to Register InputInternal Path

30

tACH

Asynch. ClK High Time.

10

12.5

12.5

ns

tACL

Asynch. ClK low Time

10

12.5

12.5

ns

0

20

5

0

35

30

25

25

3-14

25

5

30

0

30
40

35

ns

35

+20

ns

+20

ns

inter

5AC312

INPUT-CLOCK-TO-MACROCELL-CLOCK A.C. CHARACTERISTICS
vcc = 5.0V ±5%, Turbo Bit On(8)

TA = O·C to +70·C,
Symbol

5AC312-25

Parameter

Min
tC1C2

Typ

5AC312-35

5AC312-30

Max

Min

Typ

Max

Min

Typ

Max

Non-(10)
Turbo
Mode

Unit

Synchronous IlEIIClK to
Synchronous Macrocell ClK

25

30

35

+20

ns

Synchronous IlE/lClK to
Asynchronous Macrocell ClK

15

18

20

+20

ns

Asynchronous IlE/lClK to
Synchronous Macrocell ClK

35

40

45

+20

ns

Asynchronous IlE/lClK to
Asynchronous Macrocell ClK

25

35

40

+20

ns

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR

I/o

\ /

---------------------'j'~---------------------------------_tpD---I

COMBINATORIAL OUTPUT
______________
____
~

~

________

\ /

_Jj'~

_______________________

I------tpxz - - - - I
HIGH IMPEDANCE

COMBINATORIAL OR
REGISTERED OUTPUT

3-STATE

I---- tpzx - - - I
HIGH IMPEDANCE

VALID OUTPUT

3-STATE
_t"'CLR _
_

t"'SET_

VALID OUTPUT
.\/
ASYNCHRONOUSLY
_______________________________________
J1'-_______________
S_ET
__
OR_R_E_SET
__
OU_TP_U_T____- -

290156-9

3-15

5AC312

SWITCHING WAVEFORMS (Continued)
SYNCHRONOUS CLOCK MODE (MACROCELLS)

ClK

(FROM REGISTER
TO OUTPUT)

VALID OUTPUT

290156-10

SYNCHRONOUS CLOCK MODE (INPUT STRUCTURE)

IlE,lClK

INPUT MAY CHANGE

INPUT MAY
CHANGE

INPUT MAY CHANGE

DATA VALID
BEFORE IlE
(SEE NOTE)

1-----

tEOI

INPUT MAY CHANGE

----I

INPUT LATCH/REGISTER TO
COMBINATORIAL OUTPUT

VALID OUTPUT

NOTE: WHEN IlE GOES HIGH BEFORE DATA IS VALID, USE tpD
INSTEAD OF tEOI.

3-16

290156-11

inter

5AC312

SWITCHING WAVEFORMS

(Continued)

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 BEFORE DATA IS VALID, USE tpD
INSTEAD OF tAEOI.

290156-13

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

3-17

intJ

5AC312

SWITCHING WAVEFORMS

(Continued)

INPUT CLOCK-TO-MACROCELL CLOCK TIMING (CLOCKED PIPELINED DATA)

IlE,lClK

INPUTS

ClK

VALID

OUTPUTS

OUTPUT
290156-18

CLOCK, SETUP, HOLD, and OUTPUT VALID times are dependent on synchronous/asynchronous clocking and are
listed in the specification tables.

Current in Relation to Frequency
120
110
100
90
80
~ 70
,5. 60
()
..Y 50
40
30
20
10

I
II

Output Drive Current in Relation to Voltage

-

I

1

50

~

20

o

10

c

::J

--

/

..........

~

::J

.e-

J

::J

o
~

I

I
I

5
2
1

5

o

10 15 20 25 30 35 40
ICNT (MHz)

Conditions: TA

=

O'C, Vee

=

5.25V

2

3

4

5

Vo Output Voltage (V)
290156-20

ConditIons: T A =

3-18

+ 25'C

290156-16

intJ

5AC324
1-MICRON CHMOS EPLD

• High-Performance LSI Semi-Custom
Logic Alternative to Low-end Gate
Arrays, TTL, and 74HC SSI and MSI
Logic

• 2 Product Terms on All Macrocell
Control Signals

• High Speed tpD (max) 35 ns, 40 MHz
Performance Pipelined, 25 MHz wI .
Feedback

• Programmable Low-Power Option for
"Stand-by" Operation; 150 JLA Typical
Standby Current

• 24 Macrocells with Programmable I/O
Architecture; 10 Programmable Inputs;
1 Dedicated Input or Global CLK Pin; 1
Dedicated Input or Global ILE/ICLK Pin

• UV Eraseable EPROM Technology.
100% G,merically Testable EPROM
Logic Control Array

• Programmable Output Registers
Configurable as D, T, JK, or SR Types

• Programmable Security Bit Allows
100% Protection of Proprietary Designs

• Programmable Inputs Conflgurable as
Latches, Registers, or Flow-Through

• (Proposed) JEDEC Pinout
• Available in 40-pin DIP and 44-pin JLeaded Chip Carrier Package (Ceramic
and Plastic)

• Software-Supported Product Term
Allocation Between Adjacent
Macrocells
• Dual Feedback on All Macrocells for
Implementing Buried Registers with
Bidirectional 1/0

(See PackagIng Spec., Order Number .. 231369)

CLK/INPI
LlNPl
LlNP2

LINP8

1/0.1

1/0.24

1/0.2

1/0.23

1/0.3

1/0.22

GND

1/0.4

1/0.21

1/0.5

GND

1/0.3

7

1/0.22
1/0.21

1/0.4

Vee

Vee

5AC324

1/0.20
1/0.19

1/0.5

1/0.20

NC

1/0.6

1/0.19

1/0.7

1/0.7

1/0.18

1/0.8

1/0.17

GND

GND

1/0.16
1/0.15

1/0.16

NC

1/0.18
1/0.17

1/0.15
1/0.14
1/0.13
LlNP7
LlNP6
ILE/ICLK/INP2

290160-2

290160-1

Figure 1. 5AC324 Pinout Diagrams

3-19

August 1988
Order Number: 2901fiO.OOl

5AC324

INTRODUCTION

ARCHITECTURE DESCRIPTION

The Intel 5AC324 CHMOS EPLD (Erasable Programmable Logic Device) is a high integration device that overcomes the primary limitations of standard PLDs. Due to a proprietary I/O .architecture and
macrocell structure, the 5AC324 is capable of implementing high performance logic functions more effectively than previously possible. The 5AC324 can
be used as an alternative to low-end gate arrays,
multiple programmable logic devices, or LS-, HC-, or
HCT 551 and MSI logic devices. Input and macrocell
features for the 5AC324 are a superset of features
offered on other PLD-type products.

The architecture of the 5AC324 is based on the familiar ~'Sum-Of-Products" programmable AND, fixed
OR structure. This structure is then surrounded by
powerful, programmable macrocells and inputs. The
5AC324 can implement both combinatorial and sequential logic functions through a highly flexible
macroceil and I/O structure. The architecture of the
device supports both combinatorial-register and register-combinatorial-register forms. of logic to easily
acc0modate state machine designs.

The 5AC324 uses advanced CHMOS EPROM cells
as logic control elements instead of poly-silicon fuses. This technology. allows the device to operate at
levels necessary in h,gh performance systems while
significantly reducing power consumption. Its programmable standby mode reduces power to near
zero in applications where a slight speed loss is traded for power savings.

Figure 2 shows a global view of the 5AC324 architecture. The 5AC324 contains a total of 24 I/O programmable macrocells, 10 programmable input
structures, and two clock inputs that can be programmE;ld to function either as combinatorial inputs
or clock inputs for the input structures and macrocells.
Each of the ten programmable inputs can be individually configured as a latch, register or flow-through

CLK/INPI D-------_---==~:::::;

LlNPI

. LOGIC ARRAY
(GLOBAL BUS)

1/0.1

1/0.2
LINP2
MACROCELLS
1 THRU 12
(RING 1)

•
•
•

LlNP3

LlNP4

1/0.12

LINP5

LlNP6

1/0.13

LlNP7

1/0.14
MACRO.CELLS
13 THRU 24
(RING 2)

•
•
•

LINP8

LINP9

1/0.24
LlNP10

ILE/ICL~/INP2

D - - -.....- - - - '
290160-3

Figure 2. 5AC324 Global Architecture
3-20

l
LOGIC ARRAY

TO NEXT
MACROCELL

tT

rROM NEXT
MACROCELL
OUTPUT

~

1
11

II

II

II II n.....

;1

II

II

II II

.

--

-. I I

PRESET

a
c

01

>0

LOWER HALr

I

~I

OUTPUT
MUX

Co)

N

V

~

(oJ

•

N
.....

iI:

..
!:
..>-

en

><

~

III

0

0

N

n

w

""

n
n

II II II II II ~

'-I'

~
l§!

ASYNCH. CLK (CLKB)

~

Cil

~

CLEAR
TO PREVIOUS '"
MACROCELL

©

1rROM
PREVIOUS
MACROCELL

1I

!iiiiI
c:::::>

~

'liil

290160-4

@
aeJ
~
~
~

c:::::>

@
~

intJ

5AC324

input. Input latches/registers can be synchronously
or asynchronously clocked.

structures. For asynchronous operation, a separate
product term in the array is used to derive the ILE/
ICLK signal for each input structure. Because the
clock signal for each programmable input can be individually selected, a mix between synchronously
and asynchronously clocked inputs is possible. Software can configure each input structure as a flowthrough input by selecting a latch and tying the ILE
p-term to VCC. When ILE/ICLK is not used as a
latch/clock, it functions as a dedicated input to the
logic array. Data is latched/clocked on the falling
edge of ILE/ICLK (synchronous mode).

Figure 3 shows the basic architecture of each of the
24 macrocells in the 5AC324. Each macrocell contains 16 p-terms (product terms), with 8 p-terms
available for the global array and 8 p-terms dedicated to the four control signals: OE, PRESET, CLEAR,
and ASYNCH. CLK. The 8 p-terms from the logic
array are organized as a user-programmable AND
array and a user-configurable OR array. The inputs
to the AND array originate from the true and complement signals from the programmable input structure,
the dedicated inputs, and the 48 feedback paths
from the 24 I/O macrocells to the global bus. This
global bus simplifies designing with the device by
eliminating the need to partition a circuit to fit into a
local/global internal bus structure.

MACROCELLS
Each of the 24 macrocells in the device contains 8
p-terms to support logic functions and 8 p-terms for
control signals. The 8 p-terms for logic functions are
subdivided into 2 groups;each with 4 p-terms. This
grouping of p-terms supports the proprietary p-term
allocation scheme in the 5AC324. Each macrocell
also provides dual feedbacks to the logic array,
which results in more efficient macrocell/pin usage
than possible with single feEldbacks.

INPUTS
Figure 4 shows a block diagram of the 5AC324 input
structure. The device contains 10 user-programmable inputs that can be individually configured to operate in one of five modes:
• input register (D-register), synchronously clocked

Register Configuration

• input register (D-register), asynchronously
clocked
• input latch, (D-Iatch), synchronously clocked

Each macrocell can be configured as a 0, T, RS, or
JK register. The 8 p-terms for control functions are
organized so that 2 p-terms support each of the 4
c()ntrol signals: Output Enable (OE), asynchronous
I/O preset (PRESET), asynchronous I/O reset
(CLEAR), and asynchronous I/O 'register clock (AS_YNCH. eLK). Availability of 2 p-terms per control signal is another feature that increases the efficiency of
the device by reducing the need to use intermediate
macrocells sometimes needed to implement controlfunctions.

• input latch, (D-Iatch), asynchronously clocked
• Flow-through input

<

Configuration is accomplished through the programming of EPROM architecture control bits via the logic compiler and programmer software. If synchronous operation is selected, the ILE/ICLK pin is used
as a global latch/clock to all input latch/register

INPUT

0--+1 D

Q

LATCH/
REGISTER

1-------...

TO LOGIC
ARRAY

CLOCK/ENABLE
SELECT
P-TERM
FROM LOGIC
ARRAY

LATCH/REG.
SELECT'

ILE/ICLK

D------------.. .

290160-5

NOTE:
Software implements a direct (flow-through) input by selecting an asynchronous latch and tying its control P-term to Vee.

Figure 4_ 5AC324 Programmable Input Structure
3-22

5AC324

ClK is a global clock signal that can be used to
synchronously clock any or a" macroce" registers.
When ClK is not used as a synchronous clock, it
functions as ~ dedicated input to the logic array.

EXAMPLE:

Figure 5 shows a p-term allocation example. In this
example, the logic function in macroce" 4 requires
16 p-terms. In this case, software allocates 4 pterms from the previous macroce" in Ring 1 (macrocell 5) and 4 p-terms from the next macroce" (macroce" 3) to accumulate a total of 16 p-terms (8 + 4
+ 4). This implementation leaves macroce"s 3 and
5 with a remainder of 4 p-terms. These remaining pterms can also be allocated away to, or supplemented with p-terms from, their adjacent macroce"s in
Ring 1 (macroce"s 2 and 6).

Combinatorial Configuration
The macroce" register can be bypassed to implement combinatorial logic functions. When configured
to provide combinatorial logic, only the OE control
signal is used.

Invert Select Bit

With this scheme, any macroce" inside the device
can support logic functions requiring between 0 and
16 p-terms. P-terms allocated away do not affect
that macrocell's output structure. The input to the
macroce" can be tied to VCC or GND, even when a"
p-terms have been allocated away. Thus the register
and a" control signals are still available for use if
needed.

An invert select EPROM bit is used to invert the
product term input into each macroce" register, including double inputs on JK and SR registers. This
invert option allows the highest possible logic utilization by use of DeMorgan's logic inversion.

LOGIC ARRAY

Figure 6 shows adjacent macroce"s in the 5AC324.
Table 1 shows the previous and next macroce"s for
each macroce" in the device, along with the corresponding allocation ring. P-term allocation is implemented automatically in the develpment software
and is transparent to the user. Users can still use
explicit pin assignment, but should assign pins in a
way that does not conflict with p-term allocation.

Each intersecting point in the logic array contains a
programmable EPROM connection. Initia"y (erased
state), a" connections are complete, i.e., both true
and complement states of a" signals are connected
to each p-term.
Connections are opened during programming. When
both the true and complement connections exist, a
logical false results on the output of the AND gate. If
both the true and complement connections of a signal are programmed "open", then a logic "don't
care" results for that signal. If a" connections for a
p-term are programmed open, then a logical true results on the output of the AND gate.

Software support allows the control signals on macroce"s to be used to implement simple logic functions even when a" the input p-terms have been allocated to adjacent macroce"s.

DUAL-FEEDBACK/BURIED LOGIC
Macroce" output can be fed back to the logic array
on either one of the two feedback paths. If the pin
feedback is used (connected after the output buffer),
bidirectional 1/0 can be implemented. If the internal
feedback path is used to implement a buried register
or buried logic function, the pin feedback is still available for use as an input. The availability of dual feedbacks on the 5AC324 enhances resource efficiency
over single feedback devices.

PRODUCT TERM ALLOCATION
Product Term (p-term) allocation is defined as taking
logic resources (p-terms) from macroce"s where
they are not used to support demand for additional
p-terms in other macroce"s. In the 5AC324, p-term
allocation can occur in increments of 4 p-terms between adjacent macroce"s. The 5AC324 includes 2
rings of 12 macroce"s each. P-term groups from one
macroce" can be allocated to the adjacent macrocell in the ring. P-term allocation between the two
rings is not supported.

AUTOMATIC STAND-BY MODE
The 5AC324 contains a programmable bit, the Turbo
Bit, that optimizes operation for speed or for power
savings. When the Turbo Bit is programmed (TURBO = ON), the device is optimized for maximum

3-23

l

LOGIC ARRAY

LOWER HALF
P-TERMS 1-4
MACROCELL

#5

P., TERMS ALLOCATED TO
MACROCELL #4
(NEXT MACROCELL IN RING)

.,..

cO"
e

iil

UPPER HALF
P-TERMS 5-8

!"
"tI

..

.!oj

CD

3

~

0c.J
!!l.
N
0"
.j>.
n

~

MACROCELL
#4

o

Co)
I\)
~

::J

rn

)C

I»

3
iD
Cii
""0

~
l§l

..,.+

~

+
~

UPPER HALF
P-TERMS 5-8

::2

©

P-TERMS ALLOCATED TO
MACROCELL #4
(PREVIOUS MACROCELL IN RING)

Iiiiil

~

'1ij)

©

MACROCELL

2eJ

#3

~

~
~

c:::::>

290160-6

@

::2

inter

5AC324

ADJACENT MACRO CELLS
FOR RING 1

ADJACENT MACROCELLS
FOR RING 2

MACRO CELL
1

MACROCELL
24

MACRO CELL
2

MACROCELL
23

MACROCELL
3

MACROCELL
22

MACROCELL
4

MACROCELL
21

MACROCELL
5

MACROCELL
20

MACROCELL
6

MACROCELL
19

MACRO CELL
7

MACROCELL
18

MACROCELL
8

MACROCELL
17

MACROCELL
9

MACROCELL
16

MACROCELL
10

MACROCELL
15

MACRO CELL
11

MACROCELL
14

MACRO CELL
12

MACROCELL
13
290160-7

Figure 6. 5AC324 Adjacent Macrocell
Table 1. Product Term Allocation Rings
RING 1

RING 2

Current
Macrocell

Next
Macrocell

Previous
Macrocell

Current
Macrocell

Next
Macrocell

Previous
Macrocell

1
2
3
4
5
6
7
8
9
10

7
1
2
3
4
5
8
9
10

2
3
4
5
6
12

11

12
6

13
14
15
16
17
18
19
20
21
22
23
24

19
13
14
15
16
17
20
21
22
23
24
18

14
15
16
17
18
24
13
19
20
21
22
23

12

11

1

7
8
9
10
11

3-25

infef

5AC324

speed. When the Turbo Bit is not programmed
(TURBO = OFF), the device is optimized for power
savings by entering standby mode during-periods of
inactivity.

POWER-ON CHARACTERISTICS
On Vee power-up, the 5AC324 registers are reset to
a logic low. Input latch/register output (to the logic
array) are also set to a logic low. 5AC324 inputs and
outputs begin responding approximately 20 ,...8 after
Vee power-up or after a power-Ioss/power-up sequence. After power-up, macrocells can be preset to
a logic high via the PRESET control signal for each
macrocell.

Figure 7 shows the device entering standby mode
approximately 100 ns after the last input transition.
When the next input transition is detected, the device returns to active mode. Wakeup time adds an
additional 15 ns to the propagation delay through
the device as measured from the first input. No delay will occur if an output is dependent on more than
one input and the last of the inputs changes after the
device has returned to active mode.

ERASED STATE CONFIGURATION
After erasure and prior to programming, all macrocells are configured as combinatorial outputs with
output buffers three-stated. Inputs are configured as
synchronous registers.

After erasure, the Turbo Bit is unprogrammed (OFF);
automatic standby mode is enabled. When the Turbo Bit is programmed (ON), the device never enters
standby mode.

FIRST
INPUT

LAST
INPUT

t

-----

~----------------~
r---------------~

OUTPUT

CURRENT
OmA

VALID OUTPUT

VALID OUTPUT

ACTIVE MODE

ACTIVE MODE

Icc

Icc

----------------------~==~====~~--------------290160-6
Figure 7. 5AC324 Standby and Active Mode Transitions

3-26

5AC324

attempts to read the device architecture information
are prevented. This method provides a higher degree of design security than fused-based devices,
since programmed EPROM cells are invisible even
to microscopic examination. The Security Bit (also
called the Verify Protect Bit), along with all the other
EPROM cells, is reset by erasing the device.

ERASURE CHARACTERISTICS
Erasure time for the 5AC324 is 1 hour at 12,000
mW/cm 2 with a 2537A UV lamp.
Erasure characteristics of the device 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 30ooA4000A range. Data shows that constant exposure to
room level flourescent lighting could erase the typical 5AC324 in approximately six years, while it would
take approximately two weeks to erase the device
when exposed to direct sunlight. If the device is to
be exposed to these lighting conditions for extended
periods of time, conductive opaque labels should be
placed over the device window to prevent unintentional erasure.

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

The recommended erasure procedure for the
5AC324 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 1
hour using an ultraviolet lamp with a 12,000 mWI
cm2 power rating. The device should be placed Within 1 inch of the lamp tubes during exposure. The
maximum integrated dose the 5AC324 can be exposed to without damage is 7258 Wsec/cm 2 (1
week at 12,000 ,...W I cm 2). Exposure to high intensity
UV light for longer periods may cause permanent
damage to the device.

DESIGN RECOMMENDATIONS
For proper operation, it is recommended that all input and output pins be constrained to the voltage
range GND < (VIN or Your) < Vee. All unused inputs should be tied to an appropriate logic level to
minimize power consumption (do not leave them
floating). A power supply decoupling capaCitor of at
least 0.2,...F must be connected directly between
each Vee and GND pin.
As with all CMOS devices, ESD handling procedures
should be used with the 5AC324 to prevent damage
to the device during programming, assembly, and
test.

inteligent ProgrammingTM Algorithm
FUNCTIONAL TESTING

The 5AC324 supports the inteligent Programming Algorithm, which rapidly programs Intel EPLDs, and
many of Intel's microcontrollers and EPROMs while
maintaining a high degree of reliability. It is particularly suited for production programming environments. This method decreases the overall programming time while programming reliability is ensured as
the incremental programming margin of each bit has
been verified during programming. Programming
voltage and waveform specifications are available
by request from Intel to support programming the
device.

Since the logical operation of the 5AC324 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 device are 100% tested for programming and erasure. After testing, the
devices are erased before shipments to the customers. No post-programming tests of the EPROM array
are required.

DESIGN SECURITY

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

A Security Bit provides a programmable security option to protect the data programmed in the device.
Once this bit is set during programming, subsequent

3-27

intJ

5AC324

device functionality. During the manufacturing process, tests on fuse-based parts can only b~ performed in very restricted ways in order· to avoid preprogramming the array.

will compile 5AC324 designs and product a Logic
Equation File (LEF) and a Report File. No JEDEC file
is produced..
Full iPLS II. support (including JEDEC generation capability) is provided by Version 2.0 of iPLS II, which
will be available during the second half of 1988. iPLS
II includes the LOC .(Logic Optimizing Compiler), and
LPS (Logic Programming Software).

DESIGN SOFTWARE
Contact your local Intel sales office for evaluation
software to get you started with 5AC324 designs.
The evaluation software is a proprietary version of
iPLS II (Intel Programmable Logic Software II) that

ORDERING INFORMATION
tpo
(ns)

tco
(ns)

fMAX.
(MHz)

35

20

40

40

25

33

Package

Order Code
N5AC324-35

PLCC

P5AC324-35

PDIP

CJ5AC324-35

J LEAD CHIP CARRIER

D5AC324-35

CERDIP

N5AC324-40

PLCC

P5AC324-40

PDIP

CJ5AC324-40

J LEAD CHIP CARRIER

D5AC324-40

CERDIP

3-28

Operating Range
Commercial

Commercial

5AC324

* 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*
Supply Voltage (Vec>(1) .......... - 2.0V to + 7.0V
Programming Supply
Voltage (Vpp)(1) .............. - 2.0V to + 13.5V
D.C. Input Voltage (VI)(1.2) .... -0.5V to Vee +0.5V
Storage Temperature (T stg) ..... - 65°C to + 150°C
Ambient Temperature (T amb)(3) ...... -1 ooe to + 85°e

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

NOTES:
1. Voltage 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 versions are
also available.

RECOMMENDED OPERATING CONDITIONS
Symbol
Vee
VIN
Vo
TA
tR
tF

Parameter
Supply Voltage
Input Voltage
Output Voltage
Operating Temperature
Input Rise Time
Input Fall Time

D.C. CHARACTERISTICS

Min
4.75

Max
5.25

0
0
0

Vee
Vee
+70
500
500

Unit
V
V
V
°C
ns
ns

(TA = 'G°eto + 70°C, Vee = 5.0V ±5%)

Symbol

Parameter

Min

Max

Unit

VIH(4)

High Level Input Voltage

2.0

Vee +0.3

V

VIL(4)

Low Level Input Voltage

-0.3

0.8

VOH(5)

High Level Output yoltage

VOL

Low Level Output Voltage

II

Typ

Test Conditions

V

10 = -4.0 mA D.C .•
Vee = min.

0.45

V

10 = 4.0 mA D.C.,
Vee = min.

Input Leakage Current

±10

iJ-A

Vee = max.,
GND < VIN < Vee

loz

Output Leakage Current

±10

iJ-A

Vee = max.,
GND < VOUT

Ise(6)

Output Short Circuit Current

ISB(7)

Standby Current

lee

Power Supply Current

2.4

-30

-90

< Vee

mA

Vee = max., VOUT = 0.5V

150

iJ-A

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

50

mA

Vee = max., VIN = Vee or
GND. No Load, fiN = 1 MHz,
Active Mode (Turbo Off),
Device Prog. as Two
12-Bit Counters

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.84V) = - 2 mA.
Not more than 1 output should be tested at a time. Duration of that test should not exceed 1 second.
With Turbo Bit Off. device automatically enters standby mode approximately 100 ns after last input transition.
3-29

intJ

5AC324

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

,..----5V
INPUT

855.0.

DEVICE D--I-.....--C> TO TEST
OUTPUT
SYSTEM
OUTPUT
341.0.

(INCLUDES JIG
CAPACITANCE)

3.0~20•

°

_0.8

>

TEST POINTS

< ~20.
.

0.8

l~-TEST POINTS-~

290160-10
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 far a Logic
"1" and O.SV for a Logic "0" on Inputs. Outputs are measured at
a 1.5V point. Device input rise and fall times are less than 6 ns.

290160-9

CAPACITANCE
Typ

Max,

Unit

5

20

pF

Output Capacitance

10

20

pF

Your = OV, f = 1.0 MHz

Clock Pin Capacitance

10

20

pF

Your = OV, f = 1.0 MHz

Vpp Pin Capacitance

20

40

pF

Vpp on LlN3

Symbol

Parameter

CIN

Input Capacitance

Cour
CCLK
CvPp

Min

3-30

Conditions
VIN = OV, f = 1.0 MHz

inter

5AC324

COMBINATORIAL MODE A.C. CHARACTERISTICS
(TA = O·C to +70·C,
Symbol

vcc

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

5AC324-40

5AC324-35

Parameter

Min

Typ

Max

Min

Typ

Max

Non-Turbo(9)
Mode

Unit

tpD

Input or 1/0 to Output

30

35

35

40

+15

ns

tpZX(10)

Input or 1/0 to Output Enable

30

35

35

40

+15

ns

tpXZ(10)

Input or 1/0 to Output Disable

30

35

35

40

+15

ns

tClR

Asynch. Reset to Q Clear

30

35

35

40

+15

ns

tSET

Asynch. Set to Q Set

30

35

35

40

+15

ns

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

SYNCHRONOUS CLOCK MODE (MACROCELLS) A.C. CHARACTERISTICS
(TA = O·C to +70·C, VCC = 5.0V ±5%, Turbo Bit On)(8)
5AC324-35

Symbol Parameter

Min

Typ

5AC324-40

Max Min Typ Max

Non·Turbo(9)
Mode

Unit

fMAX

Maxim\,lm Frequency (1 Itsu)
No Feedback

50

40

40

33.3

(11)

MHz

fCNT

Maximum Frequency (1 ItCNT)
With Feedback

28.5

25

25

22.2

(11 )

MHz

tSU1

Input Setup Time to ClK

tSU2

1/0 Setup Time to ClK

tH

Input or 1/0 Hold Time from ClK

teo

ClK

teNT

Register Output Feedback to Register
Input-Internal Path

teH

Clock High Time

12.5

tel

Clock low Time

lew

Minimum Clock Width

i

i

i
i

25

20

30

25

+15

ns

25

20

30

25

+15

ns

0

ns

0
+15

ns

+15

ns

15

+15

ns

12.5

15

+15

ns

25

30

+15

ns

to Output Valid

15
40

35

NOTE:
11. Recalculate frequency according to expression at left of table.

3-31

20

20
45

40

25

5AC324

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

,

5AC324-35,

Parameter ,

Min

Typ

Max

50

40

5AC324-40
Min

fMAXI

Maximum' Frequency (1/tcwl)

tSUIR

Input Register Setup Time
Before ICLK J,

5

5

tESUI

Input Latch Setup Time
Before ILE t

5

5

tCOI

IClK

J,

to Comb. Output

J,

30

35

35

40

Typ

Max

40

33.3

Non-Turbo(9)
Mode

Unit

(11)

MHz

,

ns
ns
ns

40

45

+15

45

50

+15

ns

ns

5

tHI

Input Hold after IClK/llE

tEOI

IlE

tCHI

IlE/lClK High Time

12.5

15

+15

ns

tCLI

IlE/lClK low Time

12.5

15

+15

ns

tcWI

Minimum Input Clock Width

25

30

+15

ns

t

5

to Comb. Output

ASYNCHRONOUS CLOCK MODE (MACROCELLS) A.C. CHARACTERISTICS
(TA

=

O·C to +70·C. Vcc

=

f/.OV ±5%. Turbo Bit On)(8)
5AC324-35

Symbol Parameter

5AC324-40

Min Typ Max Min Typ Max

t

fAMAX

Max. Frequency (1/tACL
No Feedback

fACNT

Max. Frequency (1/tACNT)
With Feedback

16.6

16.5 14.2

(11 )

MHz

15.3 14.2

14.2 13.3

+15

MHz

20

tACH)

Non-Turbo(9)
Unit
Mode

tASU1

Input Setup Time to Asynch. ClK

10

12.5

+15

ns

tASU2

1/0 Setup Time to Asynch. ClK

10

12.5

+15

ns

tAH

Input or 1/0 Hold Time from Asynch. ClK

30

+15

ns

tACO

Asynch. ClK to Output Valid

+15

ns

tACNT

Asynch. Output Feedback to Register
Input -Internal Path

70

+15

ns

tACH

Asynch. ClK High Time

30

35

+15

ns

tACL

Asynch. ClK low Time

30

35

+15

ns

tACW

Asynch. ClK Width

60

70

+15

ns

25
45

3-32

65

35
50

40
50

75

70

55

inter

5AC324

ASYNCHRONOUS CLOCK MODE (INPUT STRUCTURE) A.C. CHARACTERISTICS
(TA = O°C to + 70°C, Vec = 5.0V
Symbol

± 5%, Turbo

Bit On)(8)
5AC324-40

5AC324-35

Parameter

Min

Typ

Max

25

22.2

Min

Typ

Max

23

20

Non-Turbo(9)
Mode

Unit

(11 )

MHz

fAMAXI

Maximum Frequency Input Register
(1/tACWI)

tASUIR

Input Register Setup Time
Before Asynch. IClK

0

0

ns

tAESUI

Input latch Setup Time
Before Asynch. IlE

0

0

ns

tACOI

Asynch. IClK to Comb. Output

50

55

35

40

55

60

+15

45

50

+15

ns

25

ns

tAHI

Input Hold after Asynch. IClK/llE

tAEOI

Asynch. IlE to Comb. Output

tACHI

Asynch. IlEIIClK High Time

22.5

25

+15

ns

tACLI

Asynch. IlEIIClK low Time

22.5

25

+15

ns

tACWI

Minimum Input Clock Width

45

50

+15

ns

20

ns

INPUT-CLOCK-TO-MACROCELL-CLOCK A.C. CHARACTERISTICS
(T A = O°C to + 70°C, VCC = 5.0V ± 5%, Turbo Bit On)(8)
Symbol

Min

tC1C2(12)

5AC324-40

5AC324-35

Parameter

Typ

Max

Min

Typ

Max

Non-Turbo(9)
Mode

Unit

Synchronous IlEIIClK
Synchronous Macrocell ClK

30

35

+15

ns

Synchronous IlE/IClK
Asynchronous Macrocell ClK

10

20

+15

ns

Asynchronous IlE/IClK
Synchronous Macrocell ClK

45

55

+15

ns

Asynchronous IlE/ClK
Asynchronous Macrocell ClK

30

40

+15

ns

NOTE:
12. Times for SETUP, HOLD, and OUTPUT VALID are shown in previous tables.

3-33

5AC324

SWITCHING WAVEFORMS
COMBINATORIAL MODE

INPUT OR

I/o

' !/

---------------------'I~~--~-----------------------------I - - - t PD----i

COMBINATORIAL OUTPUT

\

------------------~--------~I~--------------------I----tpxz - - - _
HIGH IMPEDANCE

COMBINATORIAL OR
REGISTERED OUTPUT

3-STATE

I - - - tpzx - - HIGH IMPEDANCE
VALID OUTPUT

3-STATE
f---tACLRf---tASET-

VALID OUTPUT

\V

, Ir-,.

ASYNCHRONOUSLY
SET OR RESET OUTPUT

~-----------------------290160-11

3-34

inter

5AC324

SYNCHRONOUS CLOCK MODE (MACROCELLS)

I----tcw----J

CLK

INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

(FROM REGISTER CLOCK
TO OUTPUT)

OUTPUT

VALID OUTPUT
290160-12

SYNCHRONOUS CLOCK MODE (INPUT STRUCTURE)

ILE.ICLK

INPUT

INPUT MAY
CHANGE

INPUT MAY CHANGE

f - - - - tEOI - - -../
INPUT LATCH/REGISTER TO
COMBINATORIAL OUTPUT

VALID OUTPUT
290160-13

NOTE:
When ILE goes high before data is valid. use tpD instead of tEOI-

3-35

inter

5AC324

ASYNCHRONOUS CLOCK MODE (MACROCELLS)

ASYNCH.
CLOCK
INPUT

FLOW
THROUGH
INPUT

INPUT MAY CHANGE

INPUT MAY CHANGE

FLOW THROUGH INPUT
TO REGISTERED OUTPUT

VALID OUTPUT

290160-14

ASYNCHRONOUS CLOCK MODE (INPUT STRUCTURE)
1_--IACWI---o-l

ASYNCH.
ILE/CLK
INPUT

INPUT MAY CHANGE

J----IAEOI----1
INPUT LATCH/REGISTER TO
COMBINATIONAL OUTPUT

VALID OUTPUT

290160-15

NOTE:
When ILE goes high before data is valid, use tpD instead of tAEOf'

3-36

5AC324

INPUT-CLOCK-TO-MACROCELL CLOCK TIMING (CLOCKED PIPELINED DATA)

IlE,lClK

INPUTS
t C1C2

ClK

OUTPUTS

J

\
X

\

I
VALID
OUTPUTS
290160-16

CLOCK, SETUP, HOLD, and OUTPUT VALID times are dependent on synchronous/asynchronous clocking and are
listed in the specification tables.

3-37

85C508
FAST 1-MICRON CHMOS
DECODER/LATCH EPLD
Performance Programmable Logic
16 Dedicated Inputs for Address/Data
• High
• Bus
Device for High-Speed MlcroprocessorDecoding; 8 Latched Outputs; 1
Global Latch Enable
to-Memory Decode
1QO% Generically Testable Logic Array
Upgrade Alternative to Fast Bipolar
• PLAs
• Available
and Fast MSI Logic
In 28-pln30o-mll CERDIP and
•
PDIP Packages and in PLCC Package
Extremely High Speed-tPD 7.5 ns
• (max), 133.3 MHz (max), tEO 5 ns (max)
(See Packaging Spec., Order Number

;I' 231369)

F100111
F100112
vpp

Vee

..,

INPl

INP16

;i;

INP2

INP15

INP3

I>.

I>.

CD

t

>

g

>

on

a:: ;i;a::

;i;

01
INP4

02

04

INP7

05

INP8

06

INP9

07

S

01

INPS

03
INP6

02

INP6

03

85C508

INP10

08

INPll

INP14

INP12

INP13

GND

'" ;i;a::

;i;

04

INP9

06

INP10

07

a:-Z ....N

ALE

-

t:L

;i;

Q

Z

ell

....,

-'

-c

tt)

......

....

..-

;i;

;i;

Ill..

0..

lID

0

290175-2
290175-1

Figure 1. 85C508 Pinout Diagrams

3·38

October 1988
Order Number: 290175-001

inter

85C508

INTRODUCTION

ERASURE CHARACTERISTICS

The Intel8SCS08 1-micron CHMOs EPLD (Erasable
Programmable Logic Device) is designed to support
the speeds required in fast microprocessor to memory paths. The sixteen inputs, p-term array, and eight
output latches in the 8SCS08 provide address and
data bus decoding and latching. The 8SCS08 takes
full advantage of the lightning speed of Intel's 1-micron CHMOs technology. The 8SCS08 can be used
as an upgrade to fast bipolar PLDs, and to fast AL,
ALs, HC, or HCT 551 and Msi logic devices.

Erasure time for the 8SCS08 is 1 hour at 12,000
,...Wsec/cm2 with a 2S37A UV lamp.
Erasure characteristics of the device are such that
erasure begins to occur upon exposure to light with
wavelengths shorter than approximately 400A. It
should be noted that sunlight and certain types of
flourescent lamps have wavelengths in the 3000A4000A range. Data shows that constant exposure to
room level flourescent lighting could erase the typical 8SCS08 in approximately six years, while it would
take approximately two weeks to erase the device
when exposed to direct sunlight. If the device is to
be exposed to these lighting conditions for extended
periods of time, conductive opaque labels should be
placed over the device window to prevent unintentional erasure.

The 8SCS08 uses advanced EPROM cells as architecture and logic array storage elements instead of
poly-silicon fuses. Coupled with Intel's proprietary
CHMOs technology, the result is a device that offers
a fast 7.S ns tpD in flow-through mode and a tEO of
S ns in latch mode. The inherent speed of the device
makes the 8SCS08 ideally suited for bus decoding
applications with Intel's 80386 microprocessor and
80960 embedded controller families.

The recommended erasure procedure for the
8SCS08 is exposure to shqrtwave ultraviolet light
with a wavelength of 2S37A. 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 1
hour using an ultraviolet lamp with a 12,000
,...W/cm2 power rating. The device should be placed
within 1 inch of the lamp tubes during exposure. The
maximum integrated dose the 8SCS08 can be exposed to without damage is 72S8 Wsec/cm 2 (1
week at 12,000 ,...W/cm2). Exposure to high intensity
UV light for longer periods may cause permanent
damage to the device.

ARCHITECTURE DESCRIPTION
The architecture of the 8SCS08 is designed for highspeed performance, with dedicated inputs feeding a
logic array. Outputs from the logic array feed the fast
output latches. All output latches are controlled by
the global ALE (Address Latch Enable) signal. Figure 2 shows the global architecture of the 8SCS08.
The input to each latch is a single NAND p-term that
can be connected to the true or complement state of
the dedicated inputs. All input signals are available
to all eight macrocells.

LATCH-UP IMMUNITY

Each intersecting point in the logic array is connected or not connected based on the value programmed in the EPROM array. Initially (EPROM
erased state), no connections exist between any pterm and any input. Connections can be made by
programming the appropriate EPROM cells. True
and complement connections cannot exist at the
same time. Since p-terms are implemented as
NANDs, a true condition on a p-term drives the output low.

All of the input, output, and clock pins of the device
have been designed to resist latch-up which is inherent in inferior CMOS structures. The 8SCS08 is designed with Intel's proprietary 1-micron CHMOs
EPROM process. Thus, each of the pins will not experience latch-up with currents up to 100 mA and
voltages ranging from -O.SV to Vee + O.SV. The
programming pin is deSigned to resist latch-up to the
13.SV maximum device limit.

POWER-ON CHARACTERISTICS

DESIGN RECOMMENDATIONS

On Vee power-up~ the 8SCS08 latches respond to
the values on the input signals. No logic high/low
state is guaranteed at power up. 8SCS08 inputs and
outputs begin responding approximately S ,...s after
Vee power-up or after a power-Ioss/power-up sequence.

For proper operation, it is recommended that all input and output pins be constrained to the voltage
range GND < (YIN or VOUT) < Vee. All unused inputs should be tied to an appropriate logic level to
minimize power consumption (do not leave them
floating). A power supply decoupling capacitor of at
least 0.2 ,...F must be connected directly' between
each Vee and GND pin.
3-39

85C508

•••
INP1

---"""01

O-~tjt:=jl
""""----....-.02

INP2

0--1t::!t:=jjjj
">--003

INP3

O-~tjt:=:tttt:U

•
•

.
-

INP16

0---1~t:=::t:t=tttt=jj

ALE 0-------------------1
Figure 2. 85C508 Global Architecture

3-40

290175-3

inter

85C508

As with all CMOS devices, ESD handling procedures
should be used with the 8SCS08 to prevent damage
to the device during programming, assembly, and
test.

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 process, tests on fuse-based parts can only be performed in very restricted ways in order to avoid preprogramming the array.

FUNCTIONAL TESTING
Since the logical operation of the 8SCS08 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 device are 100% tested for programming and erasure. After testing, the
devices are erased before shipments to the customers. No post-programming tests of the EPROM array
are required.

DESIGN SOFTWARE
Full software support is provided by version 2.0 of
iPLS II (Intel Programmable Logic Software II). That
version includes the LOC (Logic Optimizing Compiler), LPS (Logic Programming Software), and Macro
Librarian.
For detailed information on iPLS II, refer to the
iPLDS II Data Sheet, order number: 290134.

ORDERING INFORMATION
tpD
(ns)

tEO
(ns)

f max
(MHz)

*7.S

S

133.3

10

1S

6

10

100

66.S

Order Code

Package

Operating Range
Commercial

N8SCS08-7

PLCC

D8SCS08-7

CERDIP

P8SCS08-7

PDIP

N8SCS08-10

PLCC

D8SCS08-10

CERDIP

P8SCS08-10

PDIP

N8SCS08-1S

PLCC

D8SCS08-1S

CERDIP

P8SCS08-1S

PDIP

'NOTE:
Under development.

3-41

Commercial

Commercial

inter

85C508

ABSOLUTE MAXIMUM RATINGS*
Supply Voltage (Vec)(1) .......... -2.0V to + 7.0V
Programming Supply
.
Voltage (Vpp)(1) .............. - 2.0V to + 13.5V
D.C. Input Voltage (VI)(1, 2) ... -0.5V to Vee + 0.5V
Storage Temperature (Tstg) ..... - 65"C to + 150·C

• 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.

Ambient Temperature (Tam!})(3) ... -1 O·C to + 85·C

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

NOTICE Specifications contained within the
following tables are subject to change.

RECOMMENDED OPERATING CONDITIONS
Symbol
Vee

Min

Max

Units

4.75

5.25

V
V

Parameter
Supply Voltage

VIN

Input Voltage

0

Vee

Vo

Output Voltage

0

Vee

V

+70

·C

TA

Operating Temperature

tR

Input Rise Time

500

tF

Input Fall Time

SOO

D.C. CHARACTERISTICS
Symbol

0

ns

,

ns

(TA = O·Cto +70·C, Vee = 5.0V ±5%)

Parameter

Conditions

Min

Typ

Max

Units

VIH(4)

High Level Input Voltage

2.0

Vee + 0.3

V

VIL(4)

Low Level Input Voltage

-0.3

0.8

V

VOH

High Level Output Voltage

10

VOL

Low Level Output Voltage

10

II

Input Leakage Current

Vee
Vee

loz

Output Leakage Current

ISC<5)

Output Short Circuit Current

lee

Power Supply Current

=
=

-4.0 mA D.C., Vee

=

=

min

V

max., GND

±10

JJ-A

max., GND

±10

JJ-A

-90

mA

min

< VIN < Vee
< VOUT < Vee
Vee
max., VOUT = 0.5V
Vee
max., VIN = Vee or GND,
No Load, fiN = 50 MHz, Device

=
=
=
=

V

2.4
0.45

4.0 mA D.C., Vee

-30

mA
30

Prog. as 16-Bit Address Decoder
NOTES:
4. Absolute values with respect to device GND; all over and undershoots due to system or tester noise are included. Do not
attempt to test these values without suitable equipment.
5. Not more than 1 output should be tested at a time. Duration of that test 'should not exceed 1 second.

3-42

intJ

85C508

A.C. TESTING LOAD CIRCUIT

A.C. TESTING INPUT, OUTPUT WAVEFORM

3.0~20.

....----5V

°

INPUT

DEVICE
OUTPUT

[>--+--1>----[::> SYSTEM
TO TEST

.

TA

=

O°Cto +70°C;Vcc

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 times are less than 3 ns.

=

5.0V ± 5%
Min

Typ

Max

Units

1.0 MHz

6

10

pF

=
=

6

10

pF

6

10

pF

20

40

pF

Conditions

=

CIN

'Input Capacitance

VIN

COUT

Output Capacitance

VOUT

OV, f

=
=

=

OV, f

CClK

ALE Capacitance

VOUT

CvPp

Vpp Pin Capacitance

Vpp on Pin 1

A.C. CHARACTERISTICS

0.8

290175-5

Parameter

Symbol

< ~20.

TEST POINTS

1~-TEST POINTS-~

OUTPUT

290175-4

Symbol

>

(INCLUDES JIG
CAPACITANCE)

341.11

CAPACITANCE

_0.8

OV, f

1.0 MHz
1.0 MHz

TA = O°C to + 70c C, Vcc = 5.0V ± 5%
*S5C50S-7

Parameter
Min

Typ

S5C50S-10

Max

Min

S5C50S-15

Typ

Max

Min

Typ

Max

Units

tpD

Propagation Delay
(Flow-Through Mode)

7.5

8

10

13

15

ns

f max

Maximum Frequency
(1/tcw)

133.3

112

100

90

82.5

MHz

tEO

Output Valid from ALE

5

6

8

10

tsu

Input Setup Time to ALE

i

5

.J..

7

.J..

5

10

8

ns
ns

-3

-3

ns

5

7.5

ns

ALE Low Time

5

7.5

ns

ALE Clock Width

10

15

ns

tH

Input Hold from ALE

tCH

ALE High Time

tCl
tcw

"NOTE:
Under development.

3-43

85C508

FLOW-THROUGH MODE
H~~~~~~~~~~~~

ALE L

LATCHES ARE IN rLOW-THROUGH MODE
WHEN ALE IS HELD HIGH

INPUT

OUTPUT

290175-6

LATCH MODE

ALE _ _ _"I

VALID

INPUT

INPUT

OUTPUT _ _ _ _ _",,,..;;;;;.;;.;;.;,.,, '-_ _ _ _ _ _"

290175-7

3-44

5CBIC
PROGRAMMABLE BUS
INTERFACE CONTROLLER
•

Higher Integration Alternative to
Transceivers, Latches, Multiplexers and
PAL * Functions

•

Applications Include Dual Port Control,
Multiplexed Bus Interface, DRAM
Control and Similar Functions

•

Port-Oriented Bus Management Unit
Supports:
- 3-Way Asynchronous Data Transfer
on Byte-Wide Buses
- Programmable Option of Latched or
Real Time Data
- True or Complement Data Path

•

- On-Chip Controls for the Bus
Management Unit
- Up to Eight Buried Registers
- Programmable Registers can be
Configured as Positive EdgeTriggered D-, J-K, R-S or T- Types
- Asynchronous Preset and Clear on
All Registers
- Option of Latched Inputs

Macrocell-Based Programmable Logic
Unit Provides:
- Variable Input and Output
Architecture

•

Low Power: 75 !-LA Typical Standby

•

CHMOS EPROM Technology Based:
- Max Bus Port Drive Capability: 16 mA
- Typical Data Transfer Delay Between
Ports = 45 ns

•

Available in 44-Lead Package
(See Packaging Spec., Order # 231369)

The Intel 5CBIC is useful in implementing bus interfacing logic functions that have traditionally been done
using SSIIMSI TTL components. Core bus functions are provided that can be customized using EPROM bits
for specific applications. Control logic can also be implemented through a sum of products architecture that is
included in this 44-lead package. Such levels of integration are realized utilizing the benefits of Intel's advanced CHMOSII-E process.
This general purpose architecture is supported by iPLDS II, Intel's Programmable Logic Development System,
to develop the design and program the devices. Several methods of entry facilitate the design resulting in
shorter completion times.
'PAL is a trademark of Monolithic Memories, Inc.

87
PORT A

JL--l\
\r---oI

A7
BUS MANAGEMENT
UNIT

A6
AS
IN4

vee
IN3

A4

44 PAD
0.650" x 0.650"
TOP VIEW

Vee
A3
A2

103

INPUTS

c==:=I

102

LOGIC

JL--l\ INPUTS/
\r---oI OUTPUTS

IN2

AO

INt

B6

290126-1

Figure 1. Block Diagram
290126-2

Figure 2. Lead Configuration

3-45

Augusl1988
Order Number: 290126·004

inter

SCBIC
trol is illustrated in Figure 5. The Bus Management
Unit (BMU) and the Programmable Logic Unit (PLU)
interface to the feedback and the control busses.
The macrocells in the PLU feed the input bus.

FUNCTIONAL DESCRIPTION
As the name suggests, this programmable bus interface controller offers a high integration solution to
design problems involving data transfer on bus lines
and the logic needed to control these transfers. This
integration directly translates into savings in board
space and lower system cost for equivalent functions implemented using conventional SSIIMSI
components.

Bus Management Unit (BMU)
The Bus Management Unit (BMU) comprises three.
ports: PA, PB and PC (Figure 4a). Each of these
ports is bidirectional and 8 bits wide. Data can be
routed from any port to any other port.

Present in the port-oriented 5CBIC are two functional blocks that enable complex bus functions to be
realized: the Bus Management Unit (BMU) and the
Programmable Logic Unit (PLU). These two units
communicate with each other through the input and
the feedback buses. A control section showl) in Figure 3 steers signals from the PLU to the two units
through the control bus.

Data into any port can be user-selected to be
latched by a port Latch Enable signal, (LE). Routing'
of latChed or unlatched data between ports is
achieved using a combination of EPROM architecture and dynamic control signals defined by the user.
Data out of any port can be programmed to have an
inverted sense through EPROM architecture control
(INV).

ARCHITECTURE DESCRIPTION

Each bidirectional port can be dynamically configured as an input or an output depending on the control signals OEA, OEB and OEC. Latched data from

The innovative architecture of the 5CBIC incorporating a port-oriented approach for bus interface con-

f2

P

1

.+-

PORT A

1+--+ PORTC

H+

INPUT
PORT

I

PORT
CONTROL

FEEDBACK

I

OUTPUT
PORT

~

BUS MANAGEMENT
UNIT

,

,~ f---+ PORT B

....

....

'f

/
00

CONTROL

1 'f

or

~
0
0
0

fl
0

~

4

PROGRAMMABLE LOGIC UNIT

't...l..
INO ~
INPUT
MACROCELL

r.

r.
ARRAY

1/07

0

1/01
1/00

INPUT/OUTPUT
LOGIC
MACROCELL

~
0

....

0

290126-3
In the tridirectional BMU, any port can be steered to any other port. In this diagram. Port A can be directed to Port B or Port C or both. The PLU
provides a 600-gate equivalent PAL function.
,
'

Figure 3. Functional Blocks in the SCBle
3-46

inter

SCBIC

FROM PORT C

H.o04HI-+-7-'-----

PORT B
(OUTPUT PORT)

TFB2

FROM
CONTROL
BUS

TO
FEEDBACK
BUS

SELC
ELA
SELB

OEA

Each bidirectional port can be dynamically configured as an input or an output dependIng on the control signals OEA, OEB and DEC. The feedback to the array IS controlled
by TFB1, TFB2 and port routing occurs through SELA, SELB and SELC. In the diagram, Port A IS the input port with possible outputs at Port B and Port C.
290126-5

Figure 4a. Bus Management Unit Block Diagram

PORT A

PORT B

PORT C

290126-23

TO FEEDBACK BUS

LEGEND:
OEA, OEB. OEC, SELA, SELB, SELC, LEA, LEB, LEC. TFB1 and TFB2 are the control outputs for the BMU derived from
the control bus.
MPCA, MPCB and MPCC are dynamic multiplexers controlled by SELA, SELB and SELC for port selection.
MUXA, MUXB. INVA, INVB and INVC are static multiplexers controlled by architecture bits (EPROM bits).
All latches are the "transparent" type.

Figure 4b. BMU Logic Diagram

any incoming port can be fed internally to the array
through TFS1 and TFS2. The three ports can be
time-multiplexed, if needed. Port routing is controlled
by signals SELA, SELS and SELC (Figure 4b)_

Programmable Logic Unit (PLU)
An on-chip 600-gate-equivalent EPLD supplies the
control signals to the bus unit and related applica3-47

SCBIC

80 81 92 83 84 95 86 B7

BIAU

CONTROL
BUS

lOGIC
(PORT B)

SElB
LE

0
AD
Al
A2
BUS

A3

lOGIC
(PORT A)

A.
A5
A6
A7

SELC
LEe
DEC
BUS
LOGIC
(PORT C)

CO C1 C2 C3 C4 C5 C6 C7

290126-4
INMC
IOMC
p-term

~

Input Macro Cell
Input/Output Macro Cell
~ Product Terms through the logic array
~

Figure 5. The 5CBIC Architecture

3-48

intJ
100

SCBIC

101

102

103

104

105

106

107

Vee
GNO

INO

INI

IN2

lN3

lN4

lN5

IN6

lN7

290126-21

3-49

intJ

5CBIC

EPROM
CONTROL
BIT

II

PROGRAMMABLE AND ARRAY

\

PRODUCT
TERMS

,

~

I.

I>

I.

~

4~

l ~

4~

l ~

4~

c~

l ~l ~

c~
I>

J.

I>

~ I>

INPUT AND FEEDBACK BUSES
290126-6

Figure 6. The Array Structure

tion functions in the system. A dedicated input port
and a bidirectional 1/0 port, each 8 bits wide, allows
control logic implementation in the 5CBIC. The macrocell based architecture enables the designer to
use up to 24 inputs and 8 outputs.
.

be implemented by selecting the architecture bit
MARB1 and the edge-triggered flip-flop (Figure 7).
The Macrocells support D, T, S-R or J-K type registers for optimal design. Truth tables for these are
listed in Figure 8 for easy reference. Whereas all
eight of the product terms are OR-ed together at the
register input for the D- and the T- registers, the J-K
and the S-R configurations employ sharing of the
product terms among two OR-gates.

The inputs, array and 1/0 marcrocells generate a
sum-of-products (AND-OR) representation of any
given logic. Within the AND array, there is an
EPROM connection at every intersection of an incoming signal (true and complement) and a product
term to a given macrocell (Figure 6). Before programming an erased device an EPROM connection
exists at every intersection. It is during the programming process that these connections are opened to
generate the required connections.

The registers receive inputs at its data, clock, set
and reset lines. Eight product terms are available for
the data input and one each for the set and the clear
inp.uts.
The clock, output enable and the latching signals
can be selected by architecture bits MARB2, 6 and 3
respectively to be outputs from the control bus or
one product term from the array. Designers thus
have more options available for asynchronous
clocking and output controls.

The bidirectional 1/0 port, when configured as an
input, is identical to the input port in that inputs may
be latched by a signal from the control bus as shown
in Figure 7. An additional flow-through option for the
data inputs is available in the input macrocell.

The macrocell output can be fed back to the array
through the feedback bus or to the control bus. Figure 9 summarizes the bus structure and its relationship to the relevant units in the 5CBIC.

The variable output architecture in the PLU allows
the designer to select the combinatorial or registered output types on a macrocell basis. This may

3-50

intJ

SCBIC

II>

:>
OJ

LATCH
INPUT PIN

>-....<:>1/0 PIN

TO ALL I/o WAC ROC ELLS

290126-7

Figure 7. The Programmable Logic Unit

Input and Input/Output Logic Macrocell

LATCH
INPUT PIN

>-.....-<:::>1/0 PIN
z

!..
en

~====~----~~~
TO ALL I/O WACROCELLS
290126-8

Figure 8a. Combinational

3-51

inter

5CBle

Input and Input/Output Logic Macrocell

LATCH
INPUT PIN

~
~
~

~
~'"

~

i

I/O PIN

TO ALL I/O MACROCELLS

290126-9

Function Table
OnH

o
o
1
1

o

o

1

o

1

1
1

o

Figure 8b. D-Type Flip-Flop

Input and Input/Output Logic Macrocell

LATCH

.-..,-.-~~I/O PIN

TO ALL I/O MACROCELLS

290126-10

Function Table
T

o
o
1
1

Onl1

o
1
o
1

o
1
1

o
Figure 8c. Toggle Flip-Flop

3·52

intJ

SCBIC

Input and Input/Output Logic Macrocell

INPUT PIN

>-1-4-<::>1/0 PIN

290126-11

Function Table
J

K

Qn

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

+1

Qn

0
1
0
0
1
1
1
0

Figure 8d. J-K Flip-Flop
Input and Input/Output Logic Macrocell

INPUT PIN

>-1-4-<::>1/0 PIN

TO ALL

va lAACROCELLS

Function Table

s

R

o
o
o

o
o

1
1

o
o

o

1
1

Qn

o

+1

o
1
o
o

1

o
1
o

1
1

1
Illegal

Figure 8e. S-R Flip-Flop
3-53

290126-12

SCBIC

INPUT BUS

FEEDBACK BUS

FROM INPUT
MACROCELL~

FROMI/O~
MACRO CELL

r----.-1.!L... ~~~T~~LS
t7-..--.1
TO I/o
MACROCELlS CONTROL

Vee

'--_.....J---'--"

CONTROL BUS

~~~~6~~LL CONTROL
290126-13

Figure 9. The 5CBIC Bus Organization
Table 2. BMU Primitive

Configuring the SCBIC
The Device Configuration Manager (DCM) in
iPLS II provides a high-level graphic design entry alternative that allows bus configurations to be implemented in minutes. A more detailed explanation is
given in the iPLS II manual. An ADF (Advanced Design File) is then automatically generated that defines the logic network using primitives.
The primitive necessary for configuring inter-port
communication is the "BMU", while the one required
for internal feedback from the BMU to the PLU is the
feedback primitive "BFMUX". Tables 1 through 4
define these primitives and their fields/bits.

Latched or Flow-Through
Port Data

INVA, INVB, INVC

True or Inverted Data Output

Ports

PA
PB
PC

BMU (Bus Management (Unit)
Name:
ADF Syntax: PortA, PortB, PortC = BMU (Type,
OeA, SeIA, LeA, OeB, SeIB, LeB,
OeC, SeIC, LeC)
Description: Port A = connection to 8 parallel I/O
pins labeled AO-A7
Port B = connection to 8 parallel I/O
pins labeled BO-B7
Port C = connection to 8 parallel I/O
pins labeled CO-C7
OeA = output enable for Port A
SeIA= select B or C internal connection to Port A (0 = C,
1 = 8)

Selects

MUXA, MUXB

I/O

BMU

Table 1. BMU Architecture Bits
Architecture
Bit

8 bit

OeA
SelA
LeA
OeB
SelB
LeB
OeC
SelC
Lec

LeA = input latch enable for Port A
OeB = output enable for Port B
SeIB= select A or C internal connection to Port B (0 = C,
1 = A)

LeB = input latch enable for Port B
OeC = output enable for Port C
SeIC= select A or B internal connection to Port C (0 = A,
1 = B)

LeC = input latch enable for Port C

3-54

inter

5CBIC

Inversion Control

A

Port:

Input Latch

B

C

B

A

C

Bit:

5

4

3

2

1

0

0

Invert Output

Invert Output

Invert Output

Latched A

Latched B

Latched C

No Invert

No Invert

Direct A

Direct B

Latched C'

1
'If LeC

No Invert
IS

continually high, the C latch

IS

transparent.

Table 3. Bus Feedback Multipler Primitive

Table 4. PLU Architecture Bits

BFMX

TFB1
TFB2

0
0

0
1

1
0

C

B

A

Architecture
Bit

Fbk
[0:7]

MARBO
MARB1
MARB2
MARB3
MARB4

Name:
BFMX (Bus Feedback Multiplexer
ADF Syntax: Fbk[0:7] = BFMX (TFB1, TFB2)
Description:

Outputs,
Fbk

=

MARB5
MARB6

8 parallel lines of feedback to
logic array,

Inputs:
TFB 1, TFB2 = By appling 0 or 1 as
shown on the chart above, select
feedback from Port A, B, or C, TFB1
and TFB2 can be set to VCC or GND,
or they can be connected to any internal feedback or input node, The ports
are defined in the BMU primitive section,

3-55

Selects

Output Polarity
Combinatorial or Registered Outputs
Clock Source
Latching Signal Source
Combinatorial or Registered
Feedback to the Logic Array
Input Source to the Control Bus
tri-state Control Signal

5CBIC

ABSOLUTE MAXIMUM RATINGS*
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+ O.5

V

t~tg

Storage Temperature

-65

+150

·C

tamb

Ambient Temperature(3) -10

+85

·C

Symbol

Parameter

• 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.

NOTES:

1. Voltages with respect to ground.
2. Minimum DC input is -0.511. 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
Parameter

T A= O·C to + 70·C, Vce = 5.0V

Description

Min

VOH

Output High Voltage

2.4

VOL

Output Low Voltage

Max

± 5%

Unit

Test Conditions

V

TIL:IOH

PortA
-1 mA

I, I/O
Port S, C
-1 mA
-5mA
VCC = Min

0.45

V

10L

PortA
5mA

Port S, C
16mA
Vec = Min

VIH

Input High Level

2.0

Vec +0.3

V

VIL

Input Low Level

-0.3

0.8

V
p.A

< Vce, Vee

I, I/O
5mA

II

Input Leakage Current

10
10

p.A

Vss ::;; VOUT s Vee, Vee = Max

80
16

mA
mA

VCC = Max, VOUT = 0.5

VSS ::;; VIN

= Max

loz

Output Leakage Current

IOS(4)

Output Short Circuit Current

Iss(5)

Operating Current
(standby, low power mode)

75

p.A

VIN = Vee or Gnd,
10 = 0

lec2

Operating Current
(active, low power mode)

20

mA

VIN = Vce or Gnd,
f = 1 MHz, No Load

lec3

Operating Current
(active, turbo mode)

108

mA

VIN = Vcc or Gnd,
f = 1 MHz, No Load

CIN

Input Pin Capacitance

30

pF

COUT

Output Pin Capacitance

40

pF

SMU
PLU

NOTES:

4. Output shorted for no more than 1 sec. and only one output shorted at a time.
5. Chip automatically goes into standby mode if logic transitions do not occur at input pins. (Approximately 100 ns after last
transition).

3-56

inter

SCBIC

92n

325n

PORT A,I/O ~ 2.075V
OUTPUT _ ..L __ ~ ..
Cl.I. 50pF

PORTB,C~1.93V
OUTPUT . ..L ... ~ ..
C l I . 50pF

290126-14

NOTES:
CL includes jig capacitance
Device input rise and fall times

290126-15

< 6 ns
Figure 10. A.C. Testing Load Circuit

INPUT

1~- T E S T POINTS---)E

OUTPUT

290126-16
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.

Figure 11. A.C. Testing Input, Output Waveform

SWitching Characteristics
Timing
Suffix

Notation:

Referenced to
Control From:

direct Input pin

1
2
3

product term

control bus

PORT
INPUTS

VALID

I--:

LlSU, _ ~:LlHO'_
TUH03

TUSU3

LATCH
ENABLE

--'
i---TlEH

OUTPUT
ENABLE

-

'l

TauSPD

)-

;PXZ;~
PXZ3

I---

TpZX1

TpZX3

PORT
OUTPUTS

_ T lEPD' _
TlEPD3

290126-17

A) Latched Port Inputs

,----------

PORT -------",----""'''\.
INPUTS _ _ _ _ _ _ _ _JI,--V-A-Ll-D--J ' -_ _ _ _ _ _ _ _ __

OUTPUT
ENABLE

---------+----"1
TpZX1

TpZX3

"1
----------~I(==)~--{=======

OUTPUTS
PORT _ _ _ _ _ _ _ _ _ _ _

B) Direct Port Inputs
Figure 12. Bus Management Unit

3-57

290126-22

inter

SCBIC

Switching Characteristics
INPUTS OR
I/O INPUTS

(Continued)

If

VALID

I-- :LISU2 _____ 1+-:LIH02_
TUSU3

TUH03

LATCH
ENABLE

1\

)

I---TCISU2
TCISU3

TCLEH. -

CLOCK

OUTPUT
ENABLE

If
_ :PXZ2-..
TpXZ3

- TCPO -

I---

TpZX2
TpZX3

COMBINATORIAL
OUTPUT

~:RP02 .....
TRP03

r--

REGISTERED
OUTPUT

110290126-18

A) Latched Inputs

.,-------------

INPUTS OR ------~.I.,-------'"'
VALID
I/O INPUTS OR
REGISTERED FEEDBACK - - - - - - - " , , - - - - - - - - ' - - - - - - - - - - - - - -

CLOCK

-----i-t---TcwH ----4==r:;:;-:::::r

OUTPUT
ENABLE
PXZ2_
TpXZ3

I--Tcpo COMBINATORIAL
OUTPUT

PZX2_
TpZX3

.~

TRPO~-L--

TRP03
REGISTERED
OUTPUT
TSpW
SET, RESET
INPUT
TSPO

-----------~-PO-3·

ASYNCHRONOUSLY
SET, RESET
OUTPUT - - - - - - - - - - -

.-------------------------------290126-19

8) Direct Inputs.
Figure 13. Programmable Logic Unit

3-58

inter

SCBIC

AC CHARACTERISTICS
BUS MANAGEMENT UNIT
Symbol

-45

Parameter

Typ

Min

Max

Units
Max

TUSU1

Port Input Setup Time to
Latch Enable (Fast Option)

0

ns

TUSU3

Port Input Setup Time to
Latch Enable (Control Bus)

0

ns

TUH01

Port Input Hold Time to
Latch Enable (Fast Option)

55

ns

TUH03

Port Input Hold Time to
Latch Enable (Control Bus)

95

ns

hEH

Latch Enable High Time

45

ns

TSUSPD

Port to Port Propagation Delay

45

ns

TpXZ1

Valid Output to High Impedance
(OE From Fast Option)

45

ns

TpXZ3

Valid Output to High Impedance
(OE From Control Bus)

95

ns

TpZX1

High Impedance to Valid Output
(OE From Fast Option)

45

ns

TpZX3

High Impedance to Valid Output
(OE From Control Bus)

95

ns

TLEPD1

Latch Enable (From Fast Option)
To Port Output Delay

65

ns

TLEPD3

Latch Enable (From Control Bus)
To Port Output Delay

95

ns

PROGRAMMABLE LOGIC UNIT
Symbol

-45

Parameter
Min

Typ

Units
Max

TUSU2

Input Setup Time to Latch Enable
(P-Term)

0

ns

T LlSU3

Input Setup Time to Latch Enable
(Control Bus)

0,

ns

TUH02

Input Hold Time to Latch Enable
(P-Term)

80

ns

TUH03

Input Hold Time to Latch Enable
(Control Bus)

90

ns

TCISU2

Input Setup Time to Clock (P-Term)

20

ns

TCISU3

Input Setup Time to Clock (Control Bus)

60

ns

TCLEH

Clock to Latch Enable Hold Time

5

ns

TCPD

Combinatorial Output Delay

135

3-59

ns

intJ

SCBIC

PROGRAMMABLE LOGIC UNIT (Continued)
Symbol

-45

Parameter
Min

TRP02(6)

Typ

Registered Output from Clock (P-Term)

Units
Max

115
70

ns

TRP03(7)

Registered Output from Clock (Control Bus)

TIH02

Input Hold Time to Clock (P-Term)

25

ns

ns

TIH03

Input Hold Time to Clock
(Control Bus)

90

ns

TCWH

Minimum Clock Width High

43

ns

TCWL

Minimum Clock Width Low

43

ns

Tspo

Set Output Delay

100

ns

TRPO

Reset Output Delay

100

ns

Tspw

SETIRESET Pulse Width

TpXZ2

Valid Output to High-Impedance
(OE from P-Term)

85

ns

TpXZ3

Valid Output to High Impedance
(OE from Control Bus)

95

ns

TpZX2

High Impedance to Valid Output
(OE from P-Term)

95

ns

TpZX3

High Impedance to Valid Output
(OE from Control Bus)

95

ns

TCP1

Minimum Clock Period (Register Output
to Register Input Through Feedback Path)

110

ns

F1

Maximum Internal Frequency

TCP2

Minimum Clock Period Between
Logic Transitions (Inputs to Outputs)

F2

Maximum External Frequency

43

ns

9.0

MHz
135

7.0

ns
MHz

NOTES:
6. Data out on rising edge of clock.
7. Data out on falling edge of clock.

inteligent Programming AlgorithmTM

FUNCTIONAL TESTING

The 5CBIC 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.

Since the logical operation of the 5CBIC 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.
The testability and reliability of EPROM-based programmable logic devices is an important feature

3-60

inter

5CBIC

optimize a design to benefit from architectual features). It contains comprehensive third generation
software that supports several 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.

over similar devices based on fuse technology.
Fuse-based programmable logic devices require a
user to perform post-programming tests to insure
proper programming.

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.

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 to enable designs to be entered
using schematics. One low-cost schematic entry
method is provided by SCHEMA II-PLD, which 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.

TURBO-BIT
The device will consume quiescent current (75 /LA,
typically) if no transitions are detected in the array
for 100 ns or more. This mode, the power-down
mode, can be enabled by selecting the Turbo Bit
OFF. If this bit is enabled, however, the device consumes active current. The power-down mode will revert to its active state if a transition is detected in the
array, at an extra delay of 25 ns in speed paths.

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 Operation System Version 3.0 or
greater.
3. 512K Memory. -

LATCH-UP IMMUNITY
All pins of the 5CBIC have been designed to resist
latch-up which is inherent in inferior CMOS structures. The 5CBIC designed with Intel's proprietary
CHMOS II-E EPROM process. Thus, 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.

4. Intel iUP-PC Universal Programmer-Personal
Computer
5. A GUPI LOGIC Adaptor
6. A color monitor is suggested.
Detailed information on the Intel Programmable Logic Developement System is contained in a separate
Intel data sheet.
tlBM Personal Computer is a registered trademark of International Business Machines Corporation.
ttMS-DOS is a registered trademark of Microsoft
Corporation.

INTEL PROGRAMMABLE LOGIC
DEVELOPMENT SYSTEM (iPLDS II)
iPLDS II 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

3-61

intJ

APPLICATION
NOTE

June 1988

Implementing a PS/2 P~S
Using the 5AC312 EPLD

PEDRO VARGAS
PROGRAMMABLE LOGIC APPLICATIONS

Order Number: 292047-001
3-62

intJ

AP-317

INTRODUCTION

POS REQUIREMENTS

The introduction of the IBM· PS/2 (personal
System/2·) models and the innovative Micro Channel"
has provided numerous opportunities to develop creative interface solutions. Although the interface requirements are new, the designer is faced with making a
familiar choice: Use discrete chips (SSIIMSI), incorporate a PLD, or go for the custom IC solution.

Each adapter must implement POS with eight registers.
Depending on the adapter function, not all of them
need to be used. The first three (pOS registers 0,1,2) are
required because they provide the adapter 10 and the
adapter enable/disable function necessary during setup
and error checking. In brief, the way that the system
uses POS is as follows:
1. The system selects the adapter to be placed in setup
mode by driving its -CD SETUP signal active.
2. The adapter is identified by reading two 10 bytes
from POS 0 and POS I (HEX 100 and 101).
3. The adapter is disabled by writing "0" to POS 2
(HEX 102).
4. If implemented, Option Select Data is written to
POS 3, 4,5.
5. The adapter is enabled by writing "I" to POS 2.
6. The adapter is out of setup mode when the system
drives the -CD SETUP signal inactive.

In the past, using .TTL on the PC/XT/ AT bus was
often a good choice, but the reduced size of the PS/2
adapters ("plug in boards") increases the cost of board
space dramatically. The custom chip solution is probably the best for companies that have a well-defined
product, large volumes, and can afford the cost of the
chip development. The third choice, using a PLD, is
one that has not been popular in PC bus interfacing due
to the limited function and performance of most PLDs.
The Intel 5AC312 is a third-generation EPLD that
gives designers the resources needed to interface to buses like the Micro Channel. In addition, it provides two
benefits not completely provided by either of the other
two choices; high integration, and re-programmability.
The rest of this application note contains a detailed presentation of a basic POS (programmable Option Select)
implementation for the PS/2 Micro Channel that is
done with the 5AC312 EPLD.

PS/2 MICRO CHANNEL
One of the best features in the PS/2 models is the capability to do system and adapter configuration with software instead of hardware. This feature, called POS
(Programmable Option Select), eliminates the need for
switches on the motherboard and adapters by replacing
them with programmable registers. The idea is, rather
than removing boards and manually setting switches,
all configuration information is located in files and can
be read or written to the motherboard or to the adapters through the Micro Channel. The motherboard and
each connector on the Micro Channel has a unique signal called -CD SETUP that initiates a setup mode when
it is active. Only one connector at a time can be in the
setup mode, which provides an organized way to perform initialization.

The actual hardware implementation of POS is summarized in IBM technical documents, but the details are
left up to each designer.

ADAPTER REQUIREMENTS
The adapter used for this design is an Intel single-function card that incorporates two modems controlled by a
8OC186. Since it performs only one function, there was
no need to implement the POS Option Select bytes.
(These POS bytes are used with multi- function adapters that do more than one task and reside in the system
with similar adapters.) In this case, the only requirements were to provide the 10 bytes and the enable/dis. able features, which are done with POS registers 0,1,
and 2. Figure I shows the POS register layout and the
typical POS hardware implementation as suggested by
IBM. Table 1 defines the POS registers.

'IBM, Personal System/2 and Micro Channel are trademarks of International Business Machines Corporation.

3-63

intJ

AP·317

LOCAL
ADAPTER
CONTROL

I
~

lOR
A02
-CDSETUP

t::
't::
'-

~

I
I

ADO

Data

Registers

Gate

---.
---.
---.
---.
---.
---.
~

'--

I

3
2
10-

AD1

pos

'-

~

Data

POS
Registers

Gate

""-

~

~

Decode

~

---.
---.

""-

~

""-

000-007

-

2

10
Drivers

~

3

I-'"

Decode
-COSEllJP
AD2

lOW

I
I

~

f---'

MSBYTE

~

~

I
10
Drivers

~

I-'"

~

I-'"
LSBYTE

~

292047-1

Figure 1. Typical Adaptor Implementation of POS
Table 1. POS 1/0 Address Decode
Address
(hex)

Register

0100

POS Register 0

0101

POS Register 1

0102
0103

-CD
SETUP

Address Bit

Function

A2

A1

AO

0

0

0

0

Adapter Identification Byte (Least Significant By1e)

0

0

0

1

Adapter Identification By1e (Most Significant By1e)

POS Register 2

0

0

1

0

Option Select Data (By1e 1)'

POS Register 3

0

0

1

1

Option Select Data (By1e 2)

0104

POS Register 4

0

1

0

0

Option Select Data (By1e 3)

0105

POS Register 5

0

1

0

1

Option Select Data (By1e 4)'

0106

POS Register 6

0

1

1

0

Subaddress Extension (Least Significant By1e)

0107

POS Register 7

0

1

1

1

Subaddress Extension (Most Significant By1e)

..

'These bytes contain one or more bits with specific value assignments

3·64

inter

AP-317

RING 1
I

LOGIC ARRAY

1/0.1

I
I
I

I
I

r------

CLK/INP1 C>------~

1/0.2

I
I
I

I
IL _____ _

LlNP1

I
I

1/0.3

-,
I

I

I

r------

LlNP2

1/0.4

I

•I
I
Il

LlNP3

_____ _

1/0.5

I
I
I
I
I
I

1/0.6

LlNP4

LlNP5

1/0.7

I
I
I
I
I

r-----I

LlNP6

1/0.8

I
I

I
I
IL _____ _

LlNP7

I
I
I

1/0.9

-,
I
I

,------

LlNP8

1/0.10

I

I
I
I

ILE/ICLK/INP2

Il

C>--------I

_____ _

I

1/0.11

I
I
I

I
I

1/0.12
RING 2

Figure 2. 5AC312 Architecture

5AC312 EPLD

DEVICE DESCRIPTION

With 12 macrocells and a host of other features, the
5AC312 is Intel's newest EPLD. The device is based on
the same CHMOS process used in other Intel devices.
This EPLD provides an abundant feature set, but its
strength lies in being able to efficiently implement one
very important function missing from most PLDs: register-logic-register functions.

The 5AC3l2 (Figure 2) contains 12 macrocells with
programmable outputs and inputs. A macrocell is the
basic block associated with each output register within
the EPLD. The 5AC3l2 has the following features:
• 12 I/O macrocells with dual feedback for implementing buried registers.

3-65

AP-317

terms per macrocell (Figure 4). Product Term Allocation takes place in two rings of six macrocells.
Within each ring (Figure 2), individual macrocells
can allocate p-terms to/from adjacent macrocells.
This is a real benefit in bus decoding where intermediate signals can have few or many p-terms all within
the same logic function. Most designers that use
PLDs have at least one horror story of a design that
required 10 or more p-terms and a device that could
only provide 8.
3. A flexible output structure is a must for efficient bus
interfacing, which quite commonly requires lots of 1/
and complex control signals. The 5AC312 meets
these demands head-on with dual-feedback paths
and two p-terms per control signal on all I/O macrocells. This means that certain functions, like state
machines, can be buried and a pin won't be wasted
because it can be used as an additional input. Also,
output enables and register operations are frequently
generated by a combination of memory, I/O, read,
and write strobes. Many times these control signals
require two p-terms or the equivalent of an external
read/write multiplexer. Prior to the 5AC312, the
only way to implement this in PLDs was to waste a
macrocell to inefficiently provide this function. Figure 5 shows the macrocell structure and details this
third benefit.

• 8 programmable inputs that can be configured as
latches, registers, or flow through inputs. These can
be clocked synchronously or asynchronously.
• Product term allocation on each macrocell.
• 2 product terms on all macrocell control signals.
• 2 multi-function pins; a CLK/INPUT and a ILE/
ICLK/INPUT.
• 40 MHz operation.
The 5AC312 provides three major benefits that are especially important to designers working on bus interfaces:
1. The availability of input latches (Figure 3) makes it
easy to synchronize bus control signals synchronously or asynchronously. The latches can be clocked as a
group of 8 or individually, as is quite common on
most buses. Input latches also make state machine
designs more reliable. Since buses are prone to glitches and other transients, the ability to hold the inputs
stable while transitioning through states makes the
difference between a clean and a jittery state machine.
2. Product Term Allocation (Patent Pending) brings a
new concept to the Intel EPLD family and makes
the 5AC312 unique among PLDs. This feature
means that the designer can implement large designs
that contain as few as zero or as many as 16 product

INP
PIN

C>-----.. IN

°

OUT~------""

lOGIC
ARRAY

P-TERM

IlE/IClK
PIN
292047-3

NOTE:
Flow-through input selected by connecting ILE P·Term to Vee.

Figure 3. 5AC312 Input Structure

3-66

(

LOGIC ARRAY

LOWER HALF
P-TERMS 1-4

MACROCELL

#3

P-TERMS ALLOCATED TO

MACROCELL #4
(NEXT MACROCELL IN RING)

!!

cc
c

iil

UPPER HALF
P-TERMS 5-8

..

~
'V
0
Co

..
C

(')

..

-I

»

CD

t.)

-..J

"tI
I

MACROCELL
#4

a, 3

~

...
Co)

......

0'
(')
~

0

~

ex;

+
~

+
~
UPPER HALF
P-TERMS 5-8

P-TERMS ALLOCATED TO

MACROCELL #4
(PREVIOUS MACROCELL IN RING)

MACROCELL

#5

292047-4

(
LOGIC ARRAY

TO NEXT
MACROCELL

FROM NEXT
MACROCELL
OUTPUT
ENABLE

PRESET

::!!

CO
C

;

OUTPUT
MUX

!JI
(II

~

....
Co)

r.)

»
....
......

ID
(,J

III



"tI

....CO•
Co)

inter

AP-319

LOGIC ARRAY

LOWER HALF'
P-TERMS 1-4

MACROCELL

#3

p- TERMS ALLOCATED TO
MACROCELL #4
(NEXT MACROCELL IN RING)

UPPER HALF'
P-TERMS 5-8

MACROCELL

#4

UPPER HALF'

p- TERMS 5-8

P-TERMS ALLOCATED TO

MACROCELl #4
(PREVIOUS MACROCELL IN RING)

MACROCELL

#5

292049-3

Figure 3. Product Term Allocation (8

3-78

+ 4 + 4)

AP·319

NOT
CLOCK
DATA

_-+___-+_--J

REG 1 OUTPUT

r

PRESET

------+-+-------1

REG 2 OUTPUT

r

CLEAR

OUTPUT ENABLE

.....- - - - - - - - - -......, >-1::>

OUTPUT

CONr
292049-4

Figure 4. Implementation of 0 Flip-Flop with Added Preset Function Using Combinational Logic

of logic resources (p-tenns) from areas they are not
being utilized to other areas within the chip where they
are needed. As shown in Figure 3, each macrocell has
the potential to borrow 4 more p-tenns to add to the 8
it already has from each of its adjacent macrocells. This
increases the maximum number of p-terms per macrocell to 16. Thus, any macrocell within the 5AC312 has
the potential to satisfy logic functions requiring between 0 and 16 p-terms.

OEN1

> .....-t:-:;>

P-terms can be allocated in a "shift register" mode
within each of the two rings of the macrocell; however,
allocation of p-tenns between rings is not possible. See
Table 1 for a listing of adjacent macrocells within pterm allocation rings.

DATA

----I

CLOCK

----I

OUTPUT

CLEAR - - - - - '
FEEDBACK - - - - - - - - - - - '
292049-5

Figure 5. Implementation of
2 P-Term OE Control Signal

Table 1. 5AC312 Product Term Allocation Rings
Ring 1

Ring 2

Previous Current
Previous
Current
Next
Next
Macrocell Macrocell Macrocell Macrocell Macrocell Macrocell

1
2
3
4
5
6

2

8

3
4
5
6

1
2

7
8
9

3
4
5

10
11
12

1

OUTPUT ENABLE

OEN2

3-79

8
9

10
11
12
7

12
7
8
9

10
11

intJ

AP-319

A given macrocell's output structure is still available
for use when some or all of its p-terms are allocated
away, If all of the p-terms of one macrocell are allocated away to its respective adjacent macrocells, the data
input to that macrocell defaults to GND. This polarity
can be changed through programming of 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 as needed for design purposes.

POWER ON CHARACTERISTICS
Another feature of the 5AC312 is its power-on characteristics. The lio registers of the 5AC312 experience a
reset to their inactive state upon Vcc power-up. Using
the PRESET' function available for each macrocell allows any particular register preset to be achieved after
power-up. The inputs and outputs of the 5AC312 begin
responding approximately 10 JLs (6 JLs typical) after
Vcc power-up or after a power-Ioss/power-up sequence.

DUAL FEEDBACK
The 5AC312 contains separate input and feedback
paths (dual feedback) on each of the macrocell I/O
control blocks. This allows designs to utilize input pins
when the associated macrocells have been assigned a no
output with buried feedback primitive. Multiplexed
I/O is accomplished by controlling the output buffer
associated with each macrocell using the 2 p-terms that
implement the OE function. Registered outputs may be
clocked from the synchronous CLK/INPI pin or asynchronously clocked by the 2 p-terms available for
ASYNCH_CLK.

POWER DOWN MODE
A trade-off between power consumption and speed is
possible'when using the 5AC312 by programming the
"Turbo Bit". Left unprogrammed and with no transition occurring at the device inputs for a period of
approximately 100 ns, the device powers-down the internal array while holding the outputs at their previous
levels. At the next input transition occurrence, the
5AC312 powers-up the array and reacts to the change
in input conditions. If the "Turbo Bit" is programmed,
the power-down circuitry is disabled and the device will
not power-down even if there are no more transitions.
The array power-up sequence requires an additional 20
ns of propagation delay. Power supply current during
power-down is no more than 120 JLA. See Figure 6.

FIRST
INPUT

LAST
INPUT

OUTPUT

VALID OUTPUT

VALID OUTPUT

ACTIVE MODE

CURRENT

Icc

OmA
292049-6

Figure 6. 5AC312 Standby and Active Mode Transitions

3-80

AP-319

EXAMPLE

SUMMARY

An example application for the 5AC3l2 can be shown
by replacing a PAL' 20R6 and a 374 D type flip-flop in
a design due to a power constraint. The same implementation can be achieved consuming less power using
one 5AC312 EPLD. Compare Figures 7 and 8. Straight
jumpers can be substituted in the PC board where the
374 sits, and since the clock signal is already available
on the PAL socket, it can be internally routed to clock
the input registers of the 5AC312. The 5AC312 can
then be programmed to match the existing pin assignments and therefore require no PC board re-layout. The
internal circuitry of the 5AC312 allows the EPLD to
act as both a D type flip-flop and a PAL.

The 5AC3l2 EPLD, which uses advanced CHMOS
EPROM cells as logic control elements instead of polysilicon fuses, represents an innovative device to help
overcome the primary limitations of standard PLDs.
With its advanced features, proprietary architecture
and macrocell structure, the 5AC312 is capable of implementing high performance logic functions more effectively than was previously possible. The p-term allocation scheme is a unique feature, increasing the efficiency of the device immensely. The PRESET signal
and 2 p-term control lines are also features giving the
5AC312 added efficiency in many designs.
These same architectural features have been included in
the 5AC324 EPLD, making that device ideal for even
higher integration applications. Refer to the 5AC324
Data Sheet for details on that device.

(

DATA
374 0 FLIP-FLOP
18
80
17
70
14
60
13
50
8
40
7
3D
4
20
3
10
CK
Rl

~(
(

80
70
60
50
40
30
20
10

19
16
15
12
9
6
5
2

OE

1111

20R8
23
14
11
10
9
8
7
6
5
4

~

,...2-

112
111
110
19
18
17
16
15
14
13
12
11

oun
rtk-+
~

06
05
04 19
18
03
02
16
01
22
102
15
101

~

CK

OE

1'..

11

CLOCK
SELECT

WRITE

(

RESET

13

R2

( ADDRESS

(

OUT2
. . OUT3
OUT4
OUTS
OUT6
OUT7
OUT8

-==
292049-7

Figure 7. Original Implementation Using a 374 D Flip-Flop and A PAL20R6

'PAL is a registered trademark of Monolithic Memories. Inc.

3-81

inter

AP-319

(

DATA
5AC312
23
14
11
10
9
8
7
6
5
4

-.....~

Rl

~(
(

T

--4~

112
111
110
19
18
17
16
15
14
13
12
11
CK

Q6
Q5
Q4
Q3
Q2
Ql
IQ2
IQl

11

SELECT

WRITE

(

RESET

OUT5
OUT6
OUT7
OUT8

13

R2

( ADDRESS

(

17
16
22
15

OE

"'-

CLOCK

~ oun
~ OUT2
OUT3
~
18
OUT4

-==
292049-8

Figure 8. Example Implementation Using the 5AC312

3·82

PROGRAMMABLE AND/ALLOCATABLE OR BASED EPLD
ADDRESSES THE NEEDS OF
COMPLEX COMBINATIONAL AND SEQUENTIAL DESIGNS
Todd K. Koelling
Applications Engineer
Intel Corporation
1900 Prairie City Road
Folsom, CA 95630
INTRODUCTION
Matching programmable logic applications
with programmable logic devices has become a
difficult task. Increasing demands for
higher integration, higher performance and
lower cost continue to drive system design
engineers on to new technologies. The
programmable logic industry has adeptly
responded by supplying a wide variety of
devices. At times, however, it is hard to
differentiate these devices and to determine
which makes the best solution for a
particular application.

GATE
AXIS

(GATES)

(FLlP·FLOPS)

In a small way, this paper will attempt to
differentiate devices and to determine
which devices make the best solutions for
groups of applications. This task will be
accomplished by taking a general look at
applications, the history of PLD arrays and
a new device which solves several design
problems.

Figure 1:

REGISTER
AXIS

Gate/Register Coordinates

Common TTL functions are easily graphed.
Figure 2 displays a comparator, storage
register, shift register and counter. The
comparator is a combinational circuit
(purely gates) and hence lies along the gate
axis. The storage register, on the other
hand, is purely flip-flops and hence lies
along the register axis. The shift
register is primarily flip-flops -- placing
it close to the storage register -- but it
includes some gate logic, thus moving it up
the gate axis. The counter is a good
example of a function that lies somewhere
in-between the two axes. The counter must
store its current state. and thus leans
heavily upon the registers, but it also uses
a significant amount of gate logic to
generate the next count state. The
inclination toward the gate or register
axis depends on the features the counter
incorporates. Up and down count operation,
clear and preload functions, and count
enable/disable circuitry, all move the
counter increasingly toward the gate axis.
The magnitude of the counter (as with the
other functions) depends on the number of
bits and features it includes. That is, a
16-bit counter is twice as large as an a-bit
counter which is twice as large as a 4-bit
counter. provided the feature set remains
the same.

APPLICATIONS
College textbooks 1 on digital design teach
that fundamentally there are only two types
of applications: combinational and
sequential. A combinational circuit
generates outputs based on the immediate
status of a group of inputs. A sequential
circuit uses some mechanism to store data
before generating the next set of outputs.
Inside combinational and sequential
circuits are two fundamental elements:
gates and registers. Gates are the prime
component of combinational circuits where
the output is an immediate function of the
input. Registers are the static storage
element added in sequential circuits to
latch and hold data until the next cycle.
Figure 1 displays gates and registers
graphically. The coordinates measure
registers along the x-axis and gates along
the y-axis. In this space, any
combinational or sequential application
can be displayed.
3-83

system represents a healthy mix of both
gates and registers. This means it is
probably a state machine or some sort of
sequential application. Hence, the middle
third region will be called the "state
machine" region, though some state machines
may land in the other two regions. The
coordinate system with the three regions
segmented and labelled is shown in Figure 4.

GATE
AXIS

GATE
AXIS
(FLIP· FLOPS)

Figure 2:

HOII.Y

COMBINATIONAL
REGION

REGISTER
AXIS

STATE
MACHINE
FE----,

L
SElECT

BAUD

DATA

RATE

Itf'UTS

SELECT

CIRCUITRY

'>-'---<::l BAUDOUT
: ••.1:QIf:

Figure 10:, Programmable Baud Rate Generator
Ci rcuitry
By using the input latches available on the
5Ac312, the select data inputs can be stored
immediately at the input pin rather than
inside a macrocell. This saves a macrocell,
saves a pin, and decreases the delay time.
Second, since the SAC312 has separate
register and pin feedbacks on each
macrocell, the baud rate divider can be
buried by using the register feedback paths
while the input feedback paths remain
available for use as standard inputs.
Inside the 5AC312, the circuit consumes 8 of
12 macrocells, and 7 of 24 pins, a
siginificant I/O pin savings.

Though not a state machine, the programmable
baud rate generator circuitry for the Intel
8251 Universal Synchronous/Asynchronous
Receiver/Transmitter does have a good
mixture of gates and register functions,
Qualifying it for the state machine
application region. The input baud rate
(BAUDIN) is divided down to lower baud
rates through a series of toggle flip-flops.
Then, based on the select data stored in the
02, 01, DO flip-flops, one of the
divided-down baud rates is selected and sent
.out on the baud rate out pin (BAUDOUT).
Implementing the design in a standard
24-pin PlD (exemplified here by the Intel
5C060) is very costly. The data inputs must
be latched inside a macrocell, using not
only the macrocell but also the pin. The
divide down toggle flip-flops cannot be
buried, resulting in the loss of a pin for
each flip-flop. The net utilizatioh for the
5C060 implementation is 12 of 16 macrocells
and 16 of 24 pins, virtually all of the
device.

In fact, the 1/0 pin savings is so
significant that the accompanying address
decode circuitry -- which would be
implemented typically in a 2018 or second
PlD -- can be added to the SAC312 (Figure
11). The 14 address inputs (A13 - AO),
along with the memory or 1/0 status signal
(MilO) are fed into the PlD to generate the
baud rate select data clock signal (BAUDSEl)
and the 8251 Command/Data (C/O) and Chip
Select (/CS) signals. The net result is a,
10 of 12 macrocell, 24 of 24 pin,
single-chip solution.

Implementing the same design in the Intel
5AC312 uses a much smaller amount of space.
3-89

flAW RATE DIVIDeR

SElECT

D2

BAllI

DATA

RATE
SElECT

IIfIU1S

Dl

CIRCUITRY

DO

L~,.::·=·c:.l__---,

Figure 11:

Programmable Baud Rate Generator

5AC312 Implementation

CONCLUSION

Acknowledgements

GATE
AXIS
PLA

Special thanks to David Poisner of the
Datacomm Focus Group in Folsom. CA and
J. Michael Dunlap and Robert A. Miller
Willamette University in Salem, OR for
use of their designs in this paper.

PLS
,22Y10

SAC111

Intel
Prof.
of
the

References
(GATES)

(fLIP-flOPS)

Figure 12:

1.

An Engineering Approach to Digital
Design, William 1. Fletcher, PrenticeHall Inc., 1980, pp. 276, 280, 281.
(Provided as an example).

2.

PAL is a registered trademark of
Monolithic Memories In.c.

3.

Product Term Allocation is an Intel
Patent Pending.

4.

Personal System/2 and Micro Channel
are trademarks of International
Business Machines Corp.

5.

Ethernet is a trademark of Xerox
Corp.

6.

ESPRESSO is a copyright of the
University of California at Ber.keley.

7.

IBM PC/AT is a registered trademark of
Intern.ational Business Machines Corp.

REGISTER
AXIS

5AC312 Application Areas

Based around a novel programmable
AND/allocatable OR array structure, the
Intel 5AC312 is uniquely suited to cover
both highly combinational and complex
seauential designs (Figure 12). The 5AC312
is made combinationally powerful through a 0
- 16 product term allocation arrangement and
sequentially powerful through separate
register and pin feedback and other
features. The 5AC312's latched input
capability is an asset in both
combinational and sequential applications.
The net result is a combinationally
powerful. sequentially powerful 24-pin
device.
3-90

ADVANCED ARCHITECTURE PLDs SOLVE COMMON
STATE MACHINE PROBLEMS
Liliyas S. Koumis
Technical Marketing Engineer
Intel
1900 Prairie City Road
"olsom. CA 95630

INTRODUCTION
The introduction of programmable logic
devices (PLD) was a true revolution in the
hardware design

XCiJN I RfJL

F-::'

r4
I-::J

"6
F7
1-8
F9

***INHJ-l(l\ -Ht'L)ln ..... ~.(o!:-\'tlLJrl
**t£Nf'(j-LUL···1l OI~crOfUIIc.lJcms r-eSQlv~?cJ 111 XLUN1~\CJL
***IMO-U)('-oIH" CWlv€'r-let.l 10 Lf::.F: XCLJr../TRUL
***INFO-LUC-Swn ut 1:'t"cJdLII:1.S. (S.U.PI L.E:.F prtlduced
***INI-D- LOc--u:·r t t'cJth.. {'!d
**.t.INF()-LUC-LEJ- ,an·:o1 Y:;:'E.'d
.. l/.

*' 1 NF-O-L( Il>-Hf.."St.1, It ~:to'

***INFO~L(JC--DC?slgn

***INF()~-LUL-JE.DE:.C

LnG cyr:]e

cJ~fll .... rlcl tJr:tof fI!l f,jO·t:!
fl.tt Lnq compl~=tt::!

i llt! l)Ut!=-'Ut.

SllLc:~~sS'-fuljy

c.umpletE-?d

290134-9

Logic Optimizing Compiler Main Menu

4-4

inter

IPLDS II

Device Programming

A. TTL SCHEMATIC ENTRY

The programming hardware is controlled by the
LOGIC PROGRAMMER SOFTWARE. LPS takes the
JEDEC file produced by the LOC and programs it
into the device. LPS can also read a programmed
device or verify that a device has been programmed
correctly.

SCHEMA II-PLD is an optional software package
that allows EPLD design to be implemented with
standard TIL functions. SCHEMA II-PLD contains a
symbol library that includes common SSI/MSI TIL
symbols. SCHEMA JI-PLD also outputs directly in
ADF format. The TIL symbols appear in the ADF in
the form of macro calls. During compilation, iPLS II
automatically expands these calls from its TIL macro library. Thus, with SCHEMA II-PLD, conversion to
EPLD logiC primitives is performed automatically in a
manner completely transparent to the user.

The Intel Universal Programmer for the Personal
Computer (iUP-PC) is a versatile programming solution in a PC-based system. Installed in an IBM
PC/XT, PCI AT or compatible host, the iUP-PC emulates the performance of the standalone INTEL
iUP-200A Universal Programmers. As such, it supports the iUP Generic Universal Programmer Interface (iUP-GUPI). With the appropriate socket adapters for the iUP-GUPI, the iUP-PC supports all Intel
EPLDs. Future EPLDs will be supported by new
GUPI adapters or adapter upgrades. Many other Intel devices-EPROMs, EEPROMs, and microcontrollers-are also supported by the GUPI. The iUPPC is controlled by the LPS or the iPPS (Intel PROM
Programmer Software). iPLDS II includes the iUPPC, which contains the iPPS, PCPP programming
card, interconnect cable, and the GUPI base. GUPI
adapters are available separately.

Only parts supported by the SGHEMA II-PLD TIL
symbol library and the iPLS II TIL macro definition
library may be used for TIL schematic entry. In most
cases, this won't be a limitation as the most common parts are included in both libraries. Parts not in
the macro libraries may be created by the user and
stored in proprietary user libraries. SCHEMA II-PLD
also supports creating of user-defined macro symbols. The iPLS II Macro Librarian supports creation
of iPLS II macro libraries.
B. SCHEMATIC ENTRY WITH
INTEL SYMBOL LIBRARY
If the user prefers designing with EPLD logiC primitives but still wants to use schematic entry,
SCHEMA II-PLD, in addition to supporting TIL schematic capture, also supports design using EPLD
primitive symbols. Users can enter their design and
have both a schematic drawing and an ADF version
of the design. The logic symbols are loaded from the
Intel library and connected in the usual manner. For
quicker use of EPLD primitives, a second library,
EPLDMAC.LlB is available for use. Optional symbol
libraries are also available for PC-CAPS' by P-CAD
Corporation and DASH-2, -3, -4" by FutureNet
(iSLlBPCAD, iSLlBFNET). The iSIMLIB optional library is available for simulating logic designs with PCAD's PC-LOGS logic simulator.

iPLS II SOFTWARE
The Intel Programmable Logic Software II (iPLS II)
has many options and enhancements for implementing a logic design. iPLS II accommodates a wide variety of design input methods. Schematics, state machines or Boolean equations may all be used provided the proper formats and convertors are implemented as needed. No matter what method is chosen, the Logic Optimizing Compiler will minimize and
fit the design during compilation. Finally,iPLS II contains the Logic Programmer Software which controls
the iUP-PC programming hardware for all Intel
EPLDs.

'PC-CAPS and PC-LOGS are registered trademarks of
P-CAD Corporation.

I. Design Input

"DASH-2, -3, -4 are registered trademarks of FutureNet
Corporation.

The entire spectrum of design input methods is
available to the logic designer in iPLS II. Everything
from TIL schematics to Boolean equations are accepted and processed by the LOC.

4-5

intJ

iPLDS II

C. TEXT EDITOR ENTRY

,II. Logic File Compilation

Designers who are familiar with the logic primitives
and the Advanced Design File format can directly
enter ADFs with a standard text editor. The bulk of
the design entry can be accomplished using Boolean
Equations obtained from a Karnaugh map or truth
table. Hence, the need for conversion to gates is
eliminated. This method of entry is useful for sub-circuits that will be incorporated into larger designs.

Before programming the part, the designer must
compile the input design file into a JEDEC standard
file. This f\Jnction is performed by the Logic Optimizing Compiler.
LOGIC OPTIMIZING COMPILER (LOC)
Once the input file is in Advanced Design File (ADF)
format, the LOC will compile it into a device-specific
JEDEC Design File. The first phase of this compilation is performed by the MACRO EXPANDER. The
Macro Expander expands Intel or TIL macros into
equivalent EPLD equations. The second phase is
performed by the ii=SPRESSO MINIMIZE;R. The minimizer reduces all the logic equations to their simplest form using the ESPRESSO II-MV algorithm.
The final phase of compilation is performed by the
FITIER. The Fitter creates a cell map of the minimized equations according to the resources available within the specified device.

D. STATE MACHINE ENTRY
In the past, state diagrams or flowcharts (ASM
charts) were merely abstractions used to obtain the
logic equations necessary to implement TIL designs. With the advent of the iPLS II state machine
convertor (iSTATE), this is no longer the case. Using
an IF THEN I ELSE format, the designer may enter
the state machine description without having to extract the logic and convert the equations into TIL
components. The state machine to Boolean logic
conversion is handled by the state machine convertor, provided the input file adheres to the specified
State Machine File (SMF) format.

MACRO EXPANDER
The input design file is initially passed thfough the
MACRO EXPANDER. The Macro Expander
searches the file for any non-EPLD network elements. If found, the Expander then searches the
User Libraries and TIL Library for the unidentified
element. Once the element is located, the design file
element is replaced by the equivalent EPLD primitive
implemeritation found in the library. Having the Expander search the User Libraries allows the user to
create his own ,macros. User macrp files are created
with a standard ASCII text editor and are stored in
libraries by the iPLS II, Macro Librarian.

Summary of Optional Entry Requirements:
TTL Schematic Capture
1. TTL Macro Library
2. EPLD Custom Macro Library
3. SCHEMA II-PLD
PC-CAPS
1. Intel Library used to design logic circuit
2. Component List Output

ESPRESSO MINIMIZER

3. PCAD convertor used in LOC
(Library and convertor contained in iSLlBPCAD)

The minimization in the LOC is performed by the
ESPRESSO II-M,V MINIMIZER. Developed by the
University of California at Berkeley, the ESPRESSO
II-MV algorithm is regarded by many as being the
best minimization method available. ESPRESSO 11MV uses DeMorgan's and other logic theorems to
reduce the equations to the least number of product
terms possible. Since product terms are the key variable in the EPLD architecture, the ESPRESSO II-MV
Minimizer provides the simplest equations possible.
As a result, the success rate for fitting large designs
is dramatically increased.

DASH-2, -3,-4
1. Intel Library used to design logic circuit
2. Pin List Output
3. FutureNet convertor used in LQC
(Library and convertor contained in iSLlBFNET)
State Machines
1. State Machine File (SMF) format used
2. Optional state machine convertor used in LOC
(Convertor contained in iSTATE)

FITTER
The FITIER examines the architecture of the specified device, then tries to map the minimized equations into the resources available. The Fitter automatically assigns pins unless pin assignments are

4-6

inter

iPLDS II

already specified in the design input file. The fitting
sequence continues until a successful fit is accomplished or all possible implementations are exhausted. Release 2.0 of iPLS II includes a new, faster
Fitter that supports PGA packages and the 5AC312,
5AC324, and 85C508. Also included in this new Fitter is the capability to allocate p-terms to adjacent
macrocells for devices such as the 5AC312 and
5AC324 that support p-term allocation.

LOGIC PROGRAMMER SOFTWARE

To program a device with the LPS, the user enters
the file name and device to be programmed. The
LPS checks if the device is blank, programs the device, then verifies that the device was programmed
correctly. As a part of the Intel EPLD Programming
Algorithm, each programmed cell is checked. Adding the complete device check after programming
gives double verification that the part has been successfully programmed.

OUTPUT FILES

-

-

-

-

It is also possible to read a pre-programmed device
and program other devices with the program read.
The JEDEC Editor in LPS provides a hierarchical
view of the device from the pin level, to the macrocell level, to the product term level. At the product
term level, individual EPROM cells may be set or
reset to connect or disconnect the logic equation
inputs.

JEDEC Design File
A properly designed circuit results in the desired
file from the LOC-the JEDEC Design File. The
JEDEC Design File is a device-tailored EPROM
cell programming map expressed in JEDEC standard format.
Resource Utilization Report
The Resource Utilization Report gives an indepth view of what was used inside the EPLD.
Items such as device pinout, macrocell usage,
and feedback arrangements are all listed. Unused resources are also listed to aid the user in
adding logic or merging EPLD designs.

If the user does not want an EPLD to be read, the
Security bit may be set when running the LPS. The
Security Bit prevents a device from being examined
after it has been programmed. This function is useful
for protecting confidential designs.

Logic Equation File
The LEF file lists the logic equations after they
have passed through the minimizer. It is these
equations that are actually implemented in the
final design.
Compiler Error File
If a logic circuit is incorrectly designed" messages are produced by the LOC denoting the errors. To assist the redesign, these errors are
placed into the Compiler Error File for later reference.

iUP-PC HARDWARE

The Intel Universal Programmer for the Personal
Computer consists of the PCPP programming card,
50-lead interconnect cable, GUPI base and GUPI
adapter. Together they form a system for programming most PROM-type Intel devices directly from
the PC host.
PCPP

The Personal Computer Personal Programmer
(PCPP) is the programmer interface card that fits
into the IBM AT/XT or true compatible. It is capable
of driving both the iUP-GUPI base and the iUPFAST27K personality module. The PCPP emulates
the performance of the Intel iUP-200A. The LPS or
iPPS (Intel PROM Programmer Software) controls
the PCPP, causing the programming card to generate the control signals for the GUPI base.

FILE MERGING

Once a design is successfully implemented, the LOC
can merge it with other designs by simultaneously
running the two ADF's. In this manner, LSI circuits
can be broken into manageable chunks that can be
implemented and tested individually. After each portion is completed, the subcircuits can be merged into
one ADF to implement the total design.

GUPIBASE

III. Device Programming

The Generic Universal Programmer Interface (GUPI)
is used for all programmable logic support. As all

After the design has been successfully entered: minimized and fitted, the designer programs his part using the JEDEC file produced by the LOC. Programming is accomplished by running th~ Logic Programmer Software.

4-7

inter

IPLDS II

,------,

~- ..........

.
I
I

- ......
...

......

I
I
I
I
I

-.
,
,
,
,

I

"

I
I

IUP - GUPI ADAPTER

,,

,-----------------,
.----------------------.
I
I

PCPP
~
••
PROGRA ....ING CARD ~
•
.-,
c .______
--- ,I• ______________________ •

.
I

INTERCONNECT CABLE
(SIDE VIEW OF P.C. HOST)

IUP - GUPI BASE .. ODUlE
290134-7

The Intel Universal Programmer for the Personal Computer (iUP·PC)
signal generation to devices is done by the GUPI,
the programming waveforms are extremely reliable.
Using the GUPI also allows upgrading for future devices with the simple addition of a plug-in adaptor.
Future Intel EPLDs will be supported by the GUPI
system.

vice description data for a family of similar devices.
New devices will be supported by new adapters or
by upgrades to existing adapters.

GUPIADAPTERS

Host System

Table 1 details the GUPI adapters required for the
logic devices. The adapters available for programming EPROM's, E2PROM's and microcontrollers
can be found in the data sheet for the iUP-PC (Intel
order number 290130). The adapters contain the de-

The iPLDS II software requires an IBM PC/XT,
PC/AT or other true compatible computer capable
of running MS-DOS* version 3.0 or later. The computer must have a 360KB double-sided, double-density diskdrive, a hard disk, and 512KB of RAM. Addi-

SPECIFICATIONS

Table 1_ Intel Programmable Logic Development System II Programming Support
iUp·GUPI
Adapter

Package Type
Supported

Device

Number of
Macrocells

5C031,EP310

8

GUPI LOGIC-12

20 Pin DIP

5C032, EP320

8

GUPI LOGIC-12

20 Pin DIP

5C060, EP600

16

GUPI LOGIC-liD

24 Pin DIP

5C090, EP900

24

GUPI LOGIC-liD

5C121, EP1200

28

GUPI LOGIC-12

5C180, EP1800

48

GUPI LOGIC-18

,

40 Pin DIP
40 Pin DIP
. 68 Pin PLCC and JLCC

GUPI LOGIC-18PGA

68 Pin PGA

(inPLU):8
(" of Ports):5

GUPI LOGIC-BIC

44 Pin PLCC

5AC312

12

GUPI LOGIC-liD

24 Pin DIP

5AC324

24

GUPI40D44J

85C508

8

5C180PGA
5CBIC

48

GUPI85EPLD28

(EPXXX Devices from Altera Corp_)
4-8

40-PinDIP
28-Pin DIP and PLCC

intJ

iPLDS II

tional memory is recommended (640K) and is reo
quired for the optional schematic capture programs.
A color monitor is recommended, as the color graph·
ics available provide a better representation of the
data than a monochrome display. The PCPP pro·
gramming card requires one full-size card slot in the
host computer. iPLSIl (Intel Programmable Logic
Software) can run on the IBM PS/2.

GUPI:
Length: 7.0 inches (17.8 cm)
Width: 5.5 inches (1.4 cm)
Height: 1.6 inches (4.1 cm)

Environmental Characteristics

*MS-DOS is a trademark of Microsoft Corporation

10·C to 40·C
Operating Temperature:
Operating Relative Humidity: 85% Maximum

Operating Environment

Equipment Supplied

Electrical Characteristics
PCPP: Worst Case Power Consumption at IBM
PC 1/0 Channel
Supply
Voltage
+5V
-12V
+12V

Voltage
Variance

HARDWARE
-

Personality Max. Current
Drain
Module

+5%, -4% FAST27K
+10%, -9% FAST27K
+5%, -4% GUPI

-

1.898A
102.9 mA
530mA

PCPP programming card
Interconnect cable
GUPI base
(GUPI-LOGIC adaptors purchased separately)

SOFTWARE
-

Physical Characteristics
PCPP:
Length: 1'3.3 inches (33.9 cm)
Height: 3.9 inches (10.0 cm)

iPLSil
iPPS
PLDUTIL

DOCUMENTATION
-

INTERCONNECT CABLE:
50 lead ribbon cable
Length: 3.0 feet (91.4 cm)
Width: 2.43 inches (5.5 cm)

4-9

iPLS II User's Guide·V2.0 (order number 450196)
PCPP User's Guide (order number 168161)

inter

iPLDS II

PLD Utilities:
Functional Simulatory
TTL Macro Library
EPLD Custom Macro Library
iUP-GUPI
Intel Universal ProgrammerGeneric Universal Programmer
Interface: Generic programmer
base which holds GUPI adaptors
GUPI LOGIC-liD GUPI Adaptor for the 5AC312,
5C060 and 5C090.
GUPI LOGIC-12 GUPI Adaptor for the 5C031 ,
5C032, 5C121 and future 20 DIP
EPLDs
GUPI-LOGIC-18 GUPI Adaptor for the 5C180 and
future 68 pin PLCC and JLCC
EPLDs
GUPI LOGICGUPI Adaptor for the 5C180 de18PGA
vice in a 68 pin PGA package.
GUPI-LOGIC-BIC GUPI Adaptor for the 5CBIC and
follow-on products
GUPI Adaptor for the 5AC324;
GUPI40D44J
includes 40-pin DIP and 44-pin
JLCC sockets.
GUPI85EPLD28 GUPI Adaptor for the 85C508; includes 28-pin DIP and JLCC
sockets.
ADAPT24T028
Adapts 24 pin DIP socket to 28
pin PLCC socket; for use with
GUPI LOGIC-09 and GUPI
LOGIC-liD.
ADAPT40T044
Adapts 40 pin DIP socket to 44
pin PLCC socket; for use with
GUPI LOGIC-09 and GUPI
LOGIC-liD.
PLDUTIL

ORDERING INFORMATION
Order Code
iPLDSIl

iPLSIl

iUP-PC

MLiB

iSTATE

iSLlBFNET

iSLlBPCAD

iSIMLIB

Product Description

Intel Programmable Logic Development System II: iPLS
softWare, iUP-PC, iPLS II User's Guide
Intel Programmable Logic
Software II: Logic Builder design entry, Logic Optimizing
Compiler, Logic Programmer
Software, iPLS II User's Guide
Intel Universal Programmer
for the Personal Computer:
PCPP programming card, interconnect cable, iUP-GUPI
base, Intel PROM Programming Software PCPP User's
Guide
iPLS II Macro Librarian: Macro
Librarian Software and User's
Guide Supplement for creating user-defined macro libraries.
Intel State Machine Software:
Entry format documentation,
state machine convertor for
LaC
Intel Symbol Library-FutureNet: EPLD symbol library for
FutureNet DASH-2 schematic
capture package, Futurenet
Pinlist convertor for LaC
Intel Symbol Library-PCAD:
EPLD symbol library for PCAD
PC-CAPS schematic capture
package, PCAD Component
List convertor for LaC
Intel Simulation Library (PCLOGS): EPLD simulation library for PC-LOGS simulator
by PCAD

4-10

intJ

iUP-PC
INTEL UNIVERSAL PROGRAMMER

FOR THE PERSONAL COMPUTER

• Easily Upgradable for new Devices
Through Low-Cost Plug-In Adapters
• Extremely Versatlle-Programs Intel or
Intel-Compatible EPROM, E2PROMs,
EPLDs, Peripherals and MlcroControllers, Including the Latest Intel
EPLDs

• Personal Computer Version of the iUP200A/201A Universal Programmers
• Runs on an IBM PC/AT*, PC/XT* or
True Compatible
• GUPI and FAST27K Personality
Modules Provide Support for Numerous
Device Families
• Utilizes the inteligentTM and QuickPulse Programming™ Algorithms

The Intel Universal Programmer for the Personal Computer, iUP-PC, provides a high performance programming solution from a PC host. Through plug-in adapters for the Generic Universal Programmer Interface (iUPGUPI), the iUP-PC supports all Intel EPLDs and most other Intel programmable devices. Upgrades for new
devices are made by the simple addition of a GUPI adapter or the upgrade of an existing adapter.

290130-1

NOTE:
GUPI Adapter NOT included.
'IBM PC/AT and PC/XT are registered trademarks of International Business Machines Corporation.

4-11

October 1988
Order Number: 290130-003

intJ

iUP·PC

the programming base which holds the device
adapters.

FUNCTIONAL DESCRIPTION
The iUP-PC provides a fast,' versatile and reliable
programming solution from a Personal Computer
host. Downloading to a stand-alone programmer or
moving from one workstation to another i$ no longer
required. With the iUP-PC, the designer may do his
development and -programming on one workstation.
Through the Generic Universal Programmer Interface (iUP-GUPI), the iUP-PC is made extremely versatile. With the iUP-GUPI the designer may program
across EPROM, E2PROM, Microcontrolier, Peripheral and EPLD device categories with the mere
change of a plug in adapter. No other hardware or
software addition is needed. As all of the programming signals are generated at the GUPI base, extremely reliable waveforms reach the device.

GUPI Adapters*-The GUPI Adapters plug-in to the
iUP-GUPI base. They carry the sockets and hardware for a particular device family.
iPPS-The Intel PROM Programmer Software (iPPS)
runs on a personal computer under DOS and controls the PCPP/host communication.
~NOTE:

Though the iUP-GUPI base is included in the iUPPC package, the GUPI Adapters are NOT included.
The desired adapters must be .ordered separately.

PCPP CARD
COMPONENTS
The iUP-PC programming system consists of five
components:
PCPP-The Personal' Computer Personal Programmer (PCPP} is an IBM PC/XT form factor expansion
card which fits into an IBM PC/XT, PCI AT or true
compatible.
Interconnect Cable-A 50 le'ad ribbon cable connects the PCPP to the iUP-GUPI.

The PCPP is an BOBS-based co-processor board.
Communication between the host and the PCPP
may be controlled by the iPPS or LPS (Logic Programmer Software). Version 2.3 or greater of iPPS is
required for running the iUP-PC on a personal computer. LPS is the programming software included in
Intel's Programmable Logic Software II (iPLS II).
The PCPP is capable of driving the iUP-GUPI and
FAST27/K modules. Future Intel EPLDs will be supported by an iUP-GUPI adapter or adapter upgrade.

iUP-GUPI-The Intel Universal Programmer-Generic Universal Programmer Interface (iUP-GUPI) is

'

______ '
~I
........ _
I

:

...
-_

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

I

I

iUP - GUPI ADAPTER

I
I

I
I

,

-----------------,
•.----------------------.•

•
·
r:~~~~~~~~..~
1:.-:.-.-.-::. t______'_____________ .. __ .
•
:

PCPP
PROGRAMMIJI!G CARD

(SIDE VIEW

oF' P.C. HOST)

INTERCONNECT ~BLE,

iUP - GUPI BASE MODULE
290130-2

Figure 1. The Intel Universal Programmer for the Personal Computer (iUP-PC)

4-12 '

inter

iUP-PC

iUP-GUPI MODULE

GUPIADAPTERS

The iUP-GUPI is a generic base module that enables
the iUP-PC system to accept low-cost plug-in adapters. These adapters configure the system to support
a wide variety of programmable devices-EPROMs,
microcontrollers, and EPLDs-as well as device
package types.

The iUP-GUPI adapters provide the final link of the
iUP-PC programming system. The adapters provide
the proper sockets and characteristic information for
families of Intel devices.
The iUP-GUPI LOGIC adapters complete the programming solution of the Intel Programmable Logic
Development System II (iPLDS II). The GUPI LOGIC
adapters provide support for the entire range of
Erasable Programmable Logic Devices (EPLDs). .
The adapters support families EPLDs with similar architecture, such as the 5C060 and 5C090. All future
EPLDs will be supported by the GUPI LOGIC adapter system.

The iUP-GUPI module connects to the PCPP card
via a ribbon cable. An opening in the top of the iUPGUPI provides easy plug-in installation of the GUPI
adapters (refer to Figure 2).
The iUP-GUPI offers the programming performance
of earlier Intel personality modules, with the fastest
Intel programming algOrithms for each device type.
For example, the iUP-GUPI uses the new QuickPulse Programming algorithm to program the 1-Meg
EPROM in seconds.

Intel's one megabit EPROMs are also supported
with GUPI adapters. Adapters are available for the
27010, 27011, and 27210. The page mode of the
27011 is supported by the GUPI 27011 adapter. Other Intel EPROM support is provided with the
FAST271K personality module.
Intel's first flash memory products are supported by
the GUPI FLASH Adapter.
The MCS-51 and MCS-96 microcontroller families
are supported by the GUPI MSC-51 and GUPI 8796
adapters. Supplemental adapters provide support
for the variety of microcontroller package types. The
8741 and 8742 peripheral components are supported by the GUPI 8742 adapter.
Table 1 displays a cross-reference of the EPLD
GUPI adapters and the devices they support. Table
2 displays a cross-reference of the EPROM/Microcontroller adapters and the devices they support.
Note that these tables are current at the time of
printing. Contact your Intel sales representative for
information on current support.

iUP-GUPI
GENERIC BASE MODULE
290130-3

Figure 2. GUPI Adapter Installation

Table 1. EPLD GUPI Module Adapters
Device
Type

GUPI
Logic-liD

EPLD

GUPI
Loglc-12

GUPI
40D44J

GUPI
Loglc-18

GUPI
Loglc-18PGA

GUPI
85EPLD28

GUPI
Logic-BIC

5C031
5C032
5C060
5C090
5C121
5C180
5C180G
5CBIC
5AC312
5AC324
85C508

Package
Types

DIp·

DIP

DIP
PLCC

PLCC

CJ

"ADAPT Units aV81lable to adapt DIP socket for PLCC package.

4-13

PGA

DIP
PLCC

PLCC

Device
Type
EPROM

GUPI
27010

GUPI
27011

GUPI
27210

27011

27210

GUPI
FLASH

GUPI
8742

GUPI
MCS-51

GUPI
8796

GUPI
8796LCC

GUPI
87C51GB

27010
27F64
27F256
28F256

Flash

~

8741AH
8742AH

Peripheral

17

CD

8751H
87C51
8752BH
87C51FA
87C51FB

Microcontrolier

~

m

"

XI

o
8794BH
8795BH
8796BH
8797BH

!

s:::
......
s:::

n"

§

8796BH
8797BH

3-

87C51GB

"""

8797BH
87C196KB

Package Types

l

GUPI
MCS-96LCC

DIP

DIP

DIP

DIP

DIP

PLCC
DIP
~---

PGA
DIP
.

------

PLCC

LCC
--

PLCC

2..,CD
C)

c:
:!!

s:::

8.
c
CD

~

"9CD
iil

2:

"P
'tI

n

iUP-PC

The hexadecimal display shows the PROM device
type selected.

The iPPS software supports data manipulation in the
following Intel formats: 8080 hexadecimal ASCII,
8080 absolute object, 8086 hexadecimal ASCII,
8086 absolute object, 80286 absolute object, and
80386 bootloadable object. Addresses and data can
be displayed in binary, octal, decimal, or hexadecimal. The user can easily change default dat"" formats as well as number bases.

Table ,3. FAST27/K Module Device Support
Prom
Type

Fast
27/K
Module

Fast
27/K U2
Kit

Fast
27/K-CON*
Kit

2764
2764A

2764
2764A
27C64
87C64
27128
27128A
27256
27C256
27512
2751,3

2764
2764A
27C64
87C64
27128
27128A
27256
27C256
27512
27513

2817A

2817A

EPROM

27128
27256

E2PROM

iUP-PC SPECIFICATIONS
HOST SYSTEM
The iPPS will run on an IBM PC/XT, PCI AT or othe~ ,
true compatible with a DOS operating system. The
PCPP requires one full-sized card slot inside the PC.

OPERATING ENVIRONMENT

'Uses QUick-Pulse Programming Algorithm.

Electrical Characteristics

'iPPS SOFTWARE

PCPP:

The iPPS software, included with the iUP-PC brings
increased flexibility to PROM programming. The
iPPS software provides user control through an
easy-to-use interactive interfaoe and performs the
following functions to make programming quick and
easy:

Supply
Voltage

•
•
•
•

Worst Case Power Consumption at
IBM PC I/O Channel

Reads PROMs, ROMs and EPLDs.
Programs PROMs directly or from a file.
Verifies PROM data with buffer data.
Prints PROM buffer, or device file contents on the
system printer.

Voltage
Variance

Personality Max_ Current
Drain
Module

+5V

+5%;-4%

FAST27K

1.898 A

-12V

-1:"10%, -9%

FAST27K

102.9 mA

+12V

+5%, -4%

GUPI

530mA

Physical Characteristics

• Performs interactive formatting operations such
as interleaving, nibble swapping, hit reversal, and
block moves.
.

PCPP:
Length: ,13.3 inches (33.9 cm)
Height: 3.9 inches (10.0 cm)

• Programs multiple PROMs from the source file,
prompting the user to insert new PROMs.

Interconnect Cable:

• Uses a buffer to change P~OM contents.

50 lead ribbon cable
Length: 3.0 feet (91.4 cm)
Width: 2.43 inches (5.5 cm)

With the iPPS software the user can load programs
from system memory or directly from a disk file. Access to the disk lets the user create and manipulate
data in a virtual buffer. This block of data can be
formatted into different PROM word sizes for program storage into several different PROM types. In
addition, a program stored in the target PROM, the
system memory, or a system disk file can be interleaved with a second program and entered into a
specific target PROM or PROMs.

iUP-GUPI:
Length: 7.0 inches (17.8 cm)
Width: 5.5 inches (1.4 cm)
Height: 1.6 inches (4.1 cm)

4-16

inter

iUP-PC

Environmental Characteristics
Environmental Class:

B

Temperature:
Operating
10 to 40 degrees C
Non-Operating -40 to 70 degrees C
Relative Humidity:
Operating
Non-Operating

85% Maximum
95% Maximum

ADAPT24T028

28-Pin PLCC Socket Adapter
for GUPI LOGIC-liD

ADAPT40T044

44-Pin PLCC Socket Adapter
for GUPI LOGIC-liD

piUPGUPI

Generic Universal Programmer
Interface (Base)

GUPI LOGICIID

GUPI Logic Adapter

GUPI40D44J

GUPI Logic Adapter

GUPI85EPLD28

GUPI Logic Adapter

GUPI LOGIC12

GUPI Logic Adapter

GUPI LOGIC18

GUPI Logic Adapter

DOCUMENTATION

GUPI LOGIC18PGA GUPI Logic Adapter for 5C180
PGA

168161-PCPP User's Guide

GUPI LOGICBIC

GUPI Logic Adapter

GUPI27010

iUP-GUPI EPROM Adapter

GUPI27011

iUP-GUPI EPROM Adapter

GUPI27210

iUP-GUPI EPROM Adapter

GUPI8742
GUPIMCS51

iUP-GUPI Peripheral Adapter

166428-iUP-GUPI Module User's Guide
User's Guides for Adaptors, FAST 27/K Modules,
and upgrades included with respective units.

ORDERING INFORMATION
Order Code

Product Description

iUPPC

Universal Programmer for the
Personal Computer: PCPP Programming Card, 50-Lead Interconnect Cable,
iUP-GUPI,
iPPS, PCPP User's Guide

4-17

iUP-GUPI Microcontroller
Adapter

GUPI87C51GB

iUP-GUPI Microcontroller
Adapter

GUPI8796

iUP-GUPI Microcontroller
Adapter

GUPI8796LCC

iUP-GUPI Microcontroller
Adapter

piUPFAST 27K

EPROM Personality Module

iUPFAST 27KU2

FAST 27/K Upgrade Kit

iUPFAST 27KCON

Adds Quick-Pulse
and device support

iUPFAST 27KIT

Combines piUPFAST 27K and
iUPFAST 27KU2

algorithm

iUP-200A/iUP-201A UNIVERSAL
PROM PROGRAMMERS
MAJOR iUP-200A/iUP-201A FEATURES:

•

Personality Module Plug-Ins Provide
Programming Support for Intel and
Intel-Compatible EPROMs, EPLDs,
Microcontrollers, Flash Memories, and
other Programmable Devices

•

PROM Programming Software (iPPS)
Makes Programming Easy with IBM PC,
XT, AT, and PC Compatibles

•

Supports Personality Modules and
GUPI Base WI Adaptors

•

iUP-200A Provides On-Line Operation
with a Built-In Serial RS232 Interface
and Software for a PC Environment

•

iUP-201A Provides Same On-Line
Performance and Adds Keyboard and
Display for Stand-Alone Use

•

iUP-201A Stand-Alone Capability
Includes Device Previewing, Editing,
Duplication, and Download from any
Source Over RS232C Port

•

Updates and Add-Ons Have Maintained
Even the Earliest iUP-200 and iUP-201
Users at the State-of-Art

The iUP-200A and iUP-201A universal programmers program and verify data in Intel and Intel compatible,
programmable devices. The iUP-200A and iUP-201A universal programmers provide on-line programming and
verification in a growing variety of development environments using the Intel PROM programming software
(iPPS). In addition, the iUP-201 A universal programmer supports off-line, stand-alone program editing, duplication, and memory locking. The iUP-200A universal programmer is expandable to an iUP-201A model.

210319-1

4-18

October 1988
Order Number: 210319-005

inter

iUP-200A/iUP-201A

• Verifies device data with buffer data
• Locks device memory from unauthorized access
(on devices which support this feature)

FUNCTIONAL DESCRIPTION
The iUP-200A universal programmer operates in online mode. The iUP-201 A universal programmer operates in both on-line and off-line mode.

• Prints device contents on the network or development system printer
• Performs interactive formatting operations such
as interleaving, nibble swapping, bit reversal, and
block moves

On-Line System Hardware
The iUP-200A and iUP-201 A universal programmers
are free-standing units that, when connected to a
host. compu.ter with at least 64K bytes of memory,
provide on-line programming and verification of Intel
programmable devices. In addition, the universal
programmer can read the contents of the ROM versions of supported devices.

• Programs multiple devices from the source file,
prompting the user to insert new devices
• Uses a buffer to change device contents
All iPPS commands, as well as program address and
data information, are entered through the host system ASCII keyboard and displayed on the system
CRT.

The universal programmer communicates with the
host through a standard RS232C serial data link. Different versions of the iUP-200A and iUP-201A are
equipped with different cables, including the cable
most commonly used for interfacing to that host.
Care should be taken that the version with the correct cable for your particular system is selected, as
cable requirements can vary with your host configuration. A serial converter is needed when using the
MDS 800 as a host system. (Serial converters are
available from other manufacturers.)

The iPPS software supports data manipulation in the
following Intel formats: 8080 hexadecimal ASCII,
8080 absolute object, 8086 hexadecimal ASCII,
8086 absolute object, and 80286 absolute object.
Addresses and data can be displayed in binary, octal, decimal, or hexadecimal. The user can easily
change default data formats as well as number bases. iPPS can also access disk files.
For programming Intel EPLDs, the iUP-200Al201A
can be controlled by Intel's Logic Programming Software (LPS). LPS programs EPLDs from JEDEC files
produced by Intel's logic compiler. (iPPS can also
p~ogram EPLDs, but only from pre-programmed device masters.)

Each universal programmer contains the CPU, seI~ctabl.e power supply, static RAM, programmable
timer, Interface for personality modules, RS232C interface for the host system, and control firmware in
EPROM. The iUP-201A also has a keyboard and display.
A personality module or GUPI Adaptor adapts the
u~lversal programmer to a family of devices; it contains all the hardware and software necessary to
program either a family of Intel devices or a single
Intel device. The user inserts the personality module '
into the universal programmer front panel.

On-Line System Software

System Expansion
The iUP-200A universal programmer can be easily
upgraded (by the user) to an iUP-201A universal programmer for off-line operation. The upgrade kit (iUPPAK-A) is available from Intel or your local Intel distributor.

Off-Line System

The iUP-200A and iUP201 A includes your choice of
one copy of Intel's PROM Programming software
IPPS, selected from a list of versions for different
operating systems and hosts. Each version includes
the software implementation designed for that host
and O.S. and the RS232C cable most commonly
used. Additional versions may be purchased separately if you decide to change hosts at a later date.
The iPPS software provides user control through an
easy-to-use interactive interface. The iPPS software
performs the following functions to make EPROM
programming quick and easy:

The iUP-201A universal programmer has all the online features of the iUP-200A universal programmer
plus off-line editing, device duplication, program verification, and locking of device memory independent
of the host system. The iUP-201A universal programmer also accepts Intel hexadecimal programs
developed on non-Intel development systems. Just
a few keystrokes download the program into the iUP
RAM for editing and loading into a device.
Off-line commands are entered via a 16-character
keypad. A 24-character display shows programmer
status.

• Reads devices
• Programs devices directly or from a file
4-19

intJ

iUP·200A/iUP·201A

Adaptors. GUPI Adaptors tailor the GUPI module
base Signals to a family of devices or an individual
device. The GUPI module and GUPI Adaptors provide a lower-cost method of device support than if
unique Personality Modules were offered for each
device/family. Tables 2 and 3 show which Adaptors
support which devices.

SYSTEM DIAGNOSTICS
Both the iUP-200A'and iUP-201A universal programmers include self"contained system diagnostics that
verify system operation and aid the user iri fault isolation.

PERSONALITY MODULES
For some 'devices, a personality module is the interface between the iUP-200AliUP-201A universal programmer (or an iPDS system) and a selected device.
Personality modules contain all the hardware and
firmware for reading and programming a family of
Intel devices. Table 1 lists the devices supported by
the different modules.
For most devices, the GUPI module and interchangeable GUPI Adaptors provide the interface between the programmer and the device being programmed (see Figure 1). the GUPI (Generic Universal Programmer Interface) module is a base module
that intefaces to the iUP-200Al201 A and GUPI

i\IP·6UP1
6ENERIC BASE MOIIUI.E
210319-12

Figure 1. GUPI Adaptor

4-20

intJ

IUP-200A/IUP-201A

Table 1. IUP Personality Programming Modules

Device Type

Fast 27/K
Module

Fast27/KU2
Kit

Fast 27/K-CON*
Kit

EPROM

2764
2764A
27128
27256

2764
2764A
27C64
87C64
27128
27128A
27256
27C256
27512
27513

2764
2764A
27C64
87C64
27128
27128A
27256
27C256
27512
27513

F27/128
Module

F87/44A
Module

F87151A
Module

8041A
8042
8044AH
8741H
8742
8744H

8748
8748H

2716
2732
2732A
2764

27128

2815
2816

E2PROM

2817A

2817A

MicrocontroUer

8755A
'Qulck·Pulse Programmlng™ algorithm

4·21

8749H
8751
8751H
8048
8048H
8049
8049H
8050H
8051

intJ

iUP-200A/iUP-201A

Table 2. iUP-GUPI Adaptors for Programming Memories
GUPI GUPI GUPI GUPI
27010 27011 27210 Flash

Device
Type
EPROM

GUPI
8742

GUPI
MC5-S1

GUPI
8796

GUPI
GUPI
GUPI
8796LCC 87CS1GB MCS-96LCC

27010
27011 27210

Flash

27F64
27F256
28F256

Peripheral

8741AH
8742AH
8751H
87C51
8752BH
87C51FA 8794BH
87C51FB 8795BH
8796BH 8796BH
8797BH 8797BH

Microcontroller

87C51GB
8797BH
87C196KB

Package
Types

DIP

DIP

DIP

DIP

DIP

PLCC
DIP

PGA
DIP

LCC

PLCC

PLCC

Table 3. Programming Adaptors for EPLDs
Device
Type

GUPI
Logic-liD

EPLD

GUPI
Logic-12

GUPI
40D44J

GUPI
Logic-18

GUPI
Logic-18PGA

GUPI
8SEPLD28

GUPI
Logic-BIC

5C031
5C032
5C060
5C090
5C121
5C180
5C180G
.5CBIC
5AC312
5AC324
85C508

Package
Types

DIp·

DIP

DIP
PLCC

PLCC

CJ

"ADAPT Units available to adapt DIP socket for PLCC package.

4-22

PGA

DIP
PLCC

PLCC

inter

iUP-200A/iUP-201A

166043-001- Getting Started with the iUP-200AI
201A (For DOS Users).
- iUP-200A1201A Universal Program164853
mer Pocket Reference.

iUP-200AliUP201A SPECIFICATIONS
Control Processor
Intel 8085A microprocessor
6.144 MHz clock rate

ORDERING INFORMATION
Product
Order Code
iUP-200A 211 A

Description
On-Line PROM programmer with
iPPS rei 1.4 on Single density ISIS
II floppy
iUP-200A 212B On-Line PROM programmer with
iPPS rei 1.4 on Double density
ISIS II floppy
iUP-200A 213C On-Line PROM programmer with
iPPS rei 2.0 for Series IV, on minifloppy
iUP-200A 2160 On-Line PROM programmer with
iPPS rei 2.0 for PC/DOS, and cable for PC or XT
iUP-200A 2170 On-Line PROM programmer with
iPPS rei 2.0 for PC/DOS, and cable for AT
iUP-201A 211A Off-Line and on-line PROM programmer with iPPS rei 1.4 on Single density ISIS II floppy
iUP-201A 212B Off-Line and on-line PROM programmer with iPPS rei 1.4 on Double density ISIS II floppy
iUP-201A 213C Off-Line and on-line PROM programmer with iPPS rei 2.0 for Series IV on mini-floppy
iUP-201A 2160 Off-Line and on-line PROM programmer with iPPS rei 2.0 for PCI
DOS, and cable for PC or XT
iUP-201A 2170 Off-Line and on-line PROM programmer with iPPS rei 2.0 for PC/
DOS, and cable for AT
iUP-200/201 U1' Upgrades an iUP-200/201 universal programmer to an iUP-200Al
Upgrade Kit
201 A universal programmer
iUP-DL
Download Support Kit for iUP200Al201A upgrades programmer to support adaptors that use
software programming (.DSS)
files.
iUP-PAK-A
Upgrades an iUP-200/ A universal
programmer to an iUP-201 A uniUpgrade Kit
versal programmer
'Most personality modules can be used only with
an iUP-200Al201 A universal programmer or an
iUP-200/iUP201 universal programmer upgraded to
an A witD the iUP-200/iUP-201 U1 upgrade kit.

Memory
RAM-4.3 bytes static
ROM-12K bytes EPROM

Interfaces
Keyboard: 16-character hexadecimal and 12-function keypad (iUP-201 A model only)
Display: 24-character alphanumeric (iUP-201 A
model only)

Software
Monitor- system controller in pre-programmed
EPROM
iPPS - Intel PROM programming software on
supplied diskette

Physical Characteristics
Depth:
Width:
Height:
Weight:

15 inches (38.1 cm)
15 inches (38.1 cm)
6 inches (15.2 cm)
15 pounds (6.9 kg)

Electrical Characteristics
Selectable 100,120,200, or 240 Vac ± 10%; 50-60
Hz
Maximum power consumption-80 watts

Environmental Characteristics
Reading Temperature:
10°C to 40°C
Programming Temperature: 25°C ± 5°
Operating Humidity:
10% to 85% relative
humidity

Reference Material
166041-001- iUP-200A1201A Universal Programmer User's Guide.
166042-001- Getting Started with the iUP-200AI
201A (For ISISliNDX Users).
4-23

inter

iUp-200A/iUp-201A

Product
Order Code
piUP-GUPI

Description

Generic Universal Programmer Interface (Base)

Software Sold Separately
Product
Order
Code
Description
211A
PROM programming software rei 1.4 on
Single density ISIS II floppy

212B

Product
'Order
Code
Description
PROM programming software rei 2.0 for
213C
Series IV on mini-floppy
2160
PROM programming software rei 2.0 for
PC/DOS with cable for PC or PC XT
PROM programming software rei 2.0 for
2170
PC/DOS with cable for PC AT

PROM programming software rei 1.4 on
Double density ISIS II floppy

4-24

SCHEMA II-PLD
SCHEMA II-PLD is a low-cost schematic capture software for designing with Intel EPLDs and with
standard MSI, SSI, and discrete components. For EPLD designs, SCHEMA II-PLD outputs Advanced
Design Files (ADFs) that can subsequently be compiled by iPLS II software. Figure 1 shows the flow
to generate a drawing file and convert it to an ADF for processing by iPLS II. SCHEMA II-PLD supports
EPLD design primitive symbols as well as MSI and SSI macro symbols, allowing designers to combine
TTL and EPLD symbols as needed. An EPLD Custom library supports groups of EPLD symbols and
"generic" function symbols such as counter, multiplexers, etc. The ability to create user-defined
symbols that can be translated into ADF macro calls adds to SCHEMA II-PLD's power and versatility.
SCHEMA II-PLD provides fast, smooth panning, combined mouse/keyboard support, instant command execution, and automatic "step and repeat" to make schematic capture as quick and easy as
possible. In addition to the symbol libraries targeted for EPLD design, SCHEMA II-PLD provides over
10 symbol libraries for standard PCB design. Its sophisticated library management routines, reentrant
object editor, and true "hierarchical" design capability makes SCHEMA II-PLD a powerful tool for
professional designers.
The EPLD Manager software included with SCHEM II-PLD provides a single user interface to both
SCHEMA II-PLD and iPLS II software modules. EPLD Manager software is also available separately
to users who already own SCHEMA II.
Order Codes:

SCHEMA II-PLD

(SCHEMA II and EPLD Manager)

EPLDMGR

(EPLD Manager)

.------,
1

EPLDMGR
MENU
L.

______

1
1
....

1

r - - - - - - - - - - - - -

.

1

CAPTURE SCHEMATIC

-

-

SCHADF

,

,_/

ADF

o

../

1--+

SYMBOL
LIBRARIES

r-

-

I"--

_/

DRAWING
FILE

SCHDRAW

T

...

,r-"
I"--

_1- - - - - - - - - - - - - - - - - - ...
1 NETLIST TO ADF
INTERFACE
T iPLS II

+---

..
.
.

device.LBR
TTL.LBR
EPLDMAC.LBR
user.LBR
PCB LIBRARIES (10)

Figure 1. SCHEMA II-PLD Schematic Capture Flow for EPLD Designs

4-25

F100139

iPLS II MACRO LIBRARIAN
The iPLS II Macro Librarian (MUB) is a software package that allows designers to build user-defined
macro definition libraries for EPLD designs. Macro libraries can include TTL macros available from
Intel, or proprietary macros developed by a user. User-defined macros are developed as individual
macro files using a text editor, and then are combined into macro libraries by MUB, where they can
be accessed by the LOC. Figure 1 shows the flow to build a macro library. Use of macros in ADFs
(Advanced Design Files) allows EPLD design to proceed at a higher level than with EPLD primitives
alone.
Macro files are standard ASCII files that describe the function of the macro. The Network and Equations seotions of macro files follow ADF format. The header section, which differs from ADF format,
defines the macro name, calling sequence, and defaults. MUB combines these files into a library that
can be accessed by the macro expander in the LOC (Logic Optimizing Compiler). MUB can be invoked
from the command line, from command files, or from a combination of both. The macro expander
identifies and expands each macro call in an ADF with the corresponding macro definition from macro
libraries. The first occurrence of a macro is used.
Two preconfigured libraries are available from Intel: (1) TTL macro library, and (2) an EPLD Custom
macro Library. These libraries are described in the "PLDUTIL" Product Brief.

Order Code: MUB

,r

'-

-

"

./

COMMAND
FILE

TEXT
EDITOR

'-

./

,r

-......,

,r

-......,

'-

./

'-

./

TEXT
EDITOR

MACRO
FILES

'-.

MLiB

MACRO
LIBRARY

'-.

./

MACRO
LIBRARIES ARE
ACCESSED BY
LOGIC COMPILER

./

LIBRARY
LISTING
F100138

Figure 1. FIQw to Build a Macro Library

4-26

PLDUTIL
PLDUTIL V1.0 contains the following utilities for designing with Intel EPLDs:
• SIM, version 2.1 of a basic Functional Simulator for EPLD designs
• TTL.LlB, version 3.6 of Intel's TTL macro definition library
• EPLDMAC.LlB, version 1.0 of Intel's EPLD custom macro definition library.

Functional Simulator
The Functional Simulator allows designers to perform basic function simulation of EPLD designs. By
verifying proper operation of a design with the Simulator, designers can catch logic errors before
devices are programmed and installed in products.
Design information is provided by the minimized LEF (Logic Equation File) generated by the iPLS II
logic compiler. Input stimulus for the Simulator is in the form of a user-generated ASCII vector file
containing strings of 1s and Os (see Figure 1). Vector files can also contain expected output values
to serve as a reference for the simulated outputs. The simulator produces state machine or waveform
output and supports bidirectional signals. Output registers can be preloaded to speed the process of
simulating counter and state machine transitions.
The Functional Simulator operates on any IBM PC/XT, PC/AT, or compatible computer. A.C. timing
simulation is not supported.

STATE TABLE OUTPUT
SCREEN
PRINTER
DISK FILE

-.....,

r-----

.-/
iPLSII
LEF

SIM
OUTPUT

SIM

-001-002-003-004-005-006-007-008-

00
01
01
00
00
01
11
01

0010100000101111-

WAVEFORM OUTPUT

~

'-TEXT
EDITOR

./
VECTOR
FILE

Figure 1. Functional Simulator Flow

4-27

-001-002-003-004-005-006-007-008-

I

-

1

-

I

-

I

1

I

TTL Macro Library
The TTL Macro Library contains macro definitions for most common 74~series TTL devices. The
Ii~rary is accessed by the iPLS II macro expander module when compiling an ADF (Advanced Design
File). When the macro expander identifies a macro call in an ADF, it searches available libraries for
the respective ADF macro definition, and replaces the macro call by the ADF implementation.
I

Macro definitions implement the TTL functions via EPLD design primitives and Boolean equations.
In some cases, precise TTL emulation is not possible. In addtion to the built TTL macro library, the
TTL.LlB disk contains the individual device files (.DEV) used for each macro, and document files
(.DOC) describing the implementation details for each macro. The device files can be used to build
user-defined macro libraries using the iPLS II Macro Librarian.
TTL.LlB provides the ADF macro definitions for compilation. Macro symbols for use with supported
schematic capture packages are provided with the schematic capture software. A complete listing of
the contents of the TTL macros in the library is provided in Applications Brief AB-18, TTL Macro
Library Listing for EPLD Designs.

EPLD Custom Macro Library
The EPLD Custom Macro Library contains macro definitions for a set of common EPLD primitive
groups and "generic" logic functions. Included in the library are groups of INPs, CONFs, RORFs, etc.
Also included are frequehtly used counters, multiplexers, decoders, etc. The library is accessed by
the iPLS II macro expander module when compiling an ADF (Advanced Design File). When the macro
expander identifies a macro call in an ADF, it searches available libraries for the respective ADF macro
definition, and replaces the macro call by the ADF implementation.
In 'addition to the built library, the EPLDMAC.LlB disk contains the individual device files (.DEV) used
for each macro, and document files (.DOC) describing the implementation details for each macro.
The device files can be used to build user-defined macro libraries using the iPLS II Macro Librarian.
EPLDMAC.LlB provides the ADF macro definitions for compilation. Macro symbols for use with
supported schematic capture packages are provided with the schematic capture software. A complete
listing of the contents of EPLD Custom Macro Library is provided in Applications Brief AB-21 , EPLD
Custom Macro Library Listing for EPLD Designs.

Order Code:

PLDUTIL

(Functional Simulator, TTL.LlB, EPLDMAC.LlB and User
Documentation)

4-28

UTILITIES
PAL2ADF UTILITY
Description
This document is a brief note on the use of the PAL2ADF program in translating PALASM 1 files
into Intel's Advanced Design File (ADF) format. Descriptions for actual use can be found on the
accompanying Manual page in the file PAL2ADF.MAN.
The PALASM file serves as a template for mapping the PALASM equations into ADF. The
translation is performed as follows:
1) Read PAL description, and set the PAL pins to their appropriate EPLD primitive
counterparts
2) Parse file and produce network description
3) Translate equations to ADF

PAL Configuration Database
When it is translating a PALASM file, PAL2ADF reads a database (default:PAL2ADF.DAT) that
tells it:
• How many pins the PAL has
• Which default EPLD to translate to
• What pins are special inputs (Clock and Output Enable defaults)
• What EPLD I/O primitives to use for each PAL pin
The EPLD I/O primitives specify the network architecture that the EPLD must take on in order
to mimic the functionality of the PAL. See the PAL2ADF.DAT file for more information.

Reconfiguring Outputs
In step (2) above, several checks are done in order to make sure that the network is configured
appropriately. These primarily involve output pins, although input pins can be specified as well.
The first reconfiguration is for active low outputs in their equations. Le.,
PALASM: /SIGNAL = A· /8 + C
becomes
ADF: SIGNAL = /(A • /8 + C);
The other reconfigurations are slightly more complex. Consider a PAL pin X which is an output
with a D-Iatch. The output value is fed back into the P-term array after the Output Enable. This
is described as a Registered Output Registered Feedback (RORF) in the Intel EPLDs. The default
network description for this pin then is:
NETWORK:
X,X = RORF (Xp,CLK,GND,GND,OE)
where CLK and OE are the default Clock and Output Enable signals.
Normally, there would be an equation that would describe Xp. (The 'p' is used to name the
P-term value.) If, however, the X feedback is never used in an equation, then the I/O macrocell
is reconfigured to a Registered Output No Feedback (RONF).

4-29

NETWORK:

x=

RONF (Xp,CLK,GND,GND,OE)

For those 1/0 pins on the PAL which are used strictly as inputs, these use the Combinatorial
Output 1/0 Feedback (COIF) primitive, with the Output Enable shut off (GND). The P-term is tied
to the feedback, in order to satisfy the semantics of ADF.
NETWORK:

...

,

YY,YY = COIF (YYp,GND)
EQUATIONS:
YYp

=

YY;

If the PAL pin is being used strictly as an output and is never used in an equation, then the
primitive is reconfigured to a Combinatorial Output No Feedback (CON F).
NETWORK:
YY,YY

= COIF (YYp,GND)

This is the same as above where a RORF is reconfigured to a RONF.

Multiple PAL Designs into 1 EPLD
It is possible to incorporate multiple PALASM descriptions into one EPLD. If each PALASM
description is disjoint, (Le., they have different pin names for each pin) then you can simply
translate each file (with the pin list information OFF) and compile them together with the iPLS
Logic Optimizing Compiler (LOC).
The compiler allows you to specify multiple ADF files, allowing different subnetworks within one
EPLD. You will probably want to use a larger EPLD to fit all the designs in.
If the PAL designs are not disjoint, then there are some steps that can be done by hand to
integrate the designs. A simple example would be where one PAL feeds another a signal, and
the second uses that to generate another signal.

~Clc--.c~

~LJ

L:J

4-30

X

In this case, C is an output of PAL 1, and an input to PAl2. In PAl2, C,Z, and W generate the
signal X. Suppose we have the equations:
PAL1
IC=A*/B
PAl2
X = IC*Z*W
+ C*/Z*W
In the resulting ADFs, the following NETWORKS are produced:
ADF for PAL 1:
NETWORK:
A = INP(A)
B = INP(B)
C = CONF(Cp,VCC)
EQUATIONS:
C = I(A * IB);
ADF for PAl2:
NETWORK:
Z = INP(Z)
W =INP(W)
C = INP(C)
X,X = RORF(Xp, ClK, GND, GND, OE)
EQUATIONS:
Xp = IC*Z*W
+ C*/Z*W;
These can be joined together into a single ADF:
NETWORK:
A = INP(A)
B = INP(B)
Z = INP(Z)
W = INP(W)
X,X = RORF (Xp, ClK, GND, GND, OE)
EQUATIONS:
C = I(A * IB);
xp = IC*Z*W
+ C*/Z*W;
Notice how C is now an intermediate variable rather than an actual signal. This is obviously a
simple example, yet similar techniques can be applied to more complex cases. As much more
logic can be placed into larger EPlDs, the job of splitting functions across multiple devices is
reduced.

Availability
The PAL2ADF utility is available at no cost to Intel EPlD customers. Contact your local Intel
sales office.

4-31

JED2HEX CONVERSION UTILITY
Description
JED2HEX is a utility to convert JEDEC files created by iPLS (.JED) into Intellec HEX files which
can then be read by Intel's iPPS software. This allows programming of EPI,.Ds via Intel's iUP~OAl
201A using a GUP I base and the appropriate adaptor (e.g. LOGIC-12). The following diagram
represents a typical development cycle.
iPLS

JED2HEX

.JED '

·1

t

1

.HEX

·8

.TTF
INSTALLATION: To install the utility and its device specific files, place the master disk in drive
A: and invoke the JINSTALL.BAT batch file with the destination path for the utility and device
files. Example:
A: JINSTALL C: MYPATH
When using JED2HEX, attach the package description letter when enterin~ the device type.
That is, enter 5C121D for a 5C121 ceramic DIP when prompted for the device type. Entering
5C121 will result in:
***ERROR: Device File Missing
To determine the packages supported in your JED2HEX software, examine all the .ttl extension
files; it is the .ttl files which the device type command attempts to match.
When using iPPS, a file format of 8080 or 8086 must be specified when copying the JED2HEX
generated HEX file to the buffer or directly into a device. If 8080 or 8086 is not specified, the
default file format type of 80386 will be chosen and a "GENERAL ERROR ""':ILLEGAL FILE
TYPE SPECIFIED" will result. An example of the proper COPY format:
PPS> COpy a: filename. HEX TO PROM 86

Availability
The JED2HEX Conversion Utility is available at no cost to Intel EPLD Customers. Contact your
local Intel sales office.

4-32

inter

AB-18

APPLICATION
BRIEF

October 1988

TTL Macro Library Listing
for EPLD Designs

PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292037-003
4-33

AB-18

TTL Macros

MSI FUNCTIONS

The following is a list of TTL macros that are in
TTL.LIB version.J.6. This library is available through
the Intel EPLD customer hot line.

Decoders/Demultiplexers
7442

These macros are calIed from an Advanced Design File
(ADF). Schematic capture packages such as Schema 11PLD create ADFs with the correct macro invocation
for each TTL device listed here.

7444

7447X
7449

Macros listed here 8re grouped by general function.
74138
74139
74145
74154
74155
74156

SSI GATES
7400
7402
7404
7408
7410
7411
7420
7421
7427
7430
7432
7486

2 Input NAND
2 Input NOR
1 Input INVERTER
2 Input AND
3 Input NAND
3 Input AND
4 Input NAND
4 Input AND
3 Input NOR
8 Input NAND
2 Input OR
2 Input XOR

(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

4-34

74151
74153
74157
74158
74253
74257X

(2)
(2)
(4)
(4)
(2)
(4)

74258X

(4)

74298XA

(4)

74298XB

(4)

74352

(2)

8-to-1
Dual 4-to-l-Active High Output
Quad 2-to-I-Active High Output
Quad 2-to-I-Active Low Output
DuaI4-to-I-Three-State Output
Quad 2-to-I-Active High, ThreeState Output
Quad 2-to-l-Active Low, ThreeState Output
Quad 2-to-I-Active High with Storage
Quad 2-to-I-Active High with Storage
DuaI4-to-I-Active Low Output

inter

AB-18

Counters
7490XD
7490XQ
74160
74161
74162
74163
74168
74169
74176XD
74176XQ
74177X
74190XA
74190XB
74191XA
74290XD
74290XQ
74390X
74393XA
74393XB
S
A
9

=
=
=

U/D
RCO
MM

(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

Synchronous
Asynchronous
Synchronous Set-to-9

=
=
=

Load
9
9

Clear

S
S

S
S
S
S
S
S
S
S
S
S
S
S

A
A

S
S

A
A
A

S
S

9
9

R
F

=
=

7472XB
7473X
7474X
74112XA
74112XB

74378

UfO, RCO,MM
U/D,RCO,MM
U/D,RCO,MM

Rising-Edge Triggered
Falling-Edge Triggered

(2)
(2)
(2)
(2)
(3)
(2)

Latches

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

7475X
7477X
74259XA
74259XB
74373X

Multiple Flip-Flops (Registers)

74377

RCa
RCa
RCa
RCa
U/D, RCO
U/D, RCa

Up/Down
Ripple Carry Output
Max/Min Output

7472XA

74273X

Extras

F
F
F

A
A
A

Single Flip-Flops

74174X
74175X

Clk
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R

(6)
(8)
(8)
(8)
(6)

Hex D
Quad D with Q and /Q
Octal D
Octal D with Common Enable
Hex D

4-35

(8)
(4)
(8)
(8)
(8)

4-Bit Bistable
Quad D-Type
Octal Addressable D-Type
Octal Addressable D-Type
Octal D-Type

inter

AB-18

Shift Registers
7491
7495XA
7495XB
7495XC
7496X
74164
74165X
74194
74395XA
74395XB

DEMORGAN EQUIVALENTS
(BUBBLE GATES)

(8) 8-Bit-Serial-In, Serial-Out
(4) 4-Bit-Serial-In/Parallel-In,
Parallel-Out
(4) 4-Bit-Serial-In/Parallel-In,
Parallel-Out
(4) 4-Bit-Serial-In/Parallel-In,
Parallel-Out
(5) 5-Bit-Serial-In/Parallel-In,
Parallel-Out
(8) 8-Bit-Serial-In,
Parallel-Out
(9) 8-Bit-Serial-In/Parallel-In,
Serial-Out
(4) 4-Bit Bi-Directio.nalSerial-In/Parallel-In, Parallel-Out
(5) 4-Bit CascadableSerial-In/Parallel-In, Parallel-Out
(5) 4-Bit CascadableSerial-In/Parallel-In, Parallel-Out

2 Input
3 Input
4 Input
6 Input
8 Input
12 Input

(4)
(8)
(7)
(4)
(17)

74180X
74180XA
74182
74183

(4)
(4)
(5)
(2)

74280X

(5)

Bubble
NAND
(OR)
BNAND2
BNAND3
BNAND4
BNAND6
BNAND8
BNAND12

Bubble
NOR
(AND)
BNOR2
BNOR3
BNOR4
BNOR6
BNOR8
BNOR12

Bubble
OR
(NAND)
BOR2
BOR3
BOR4
BOR6
BOR8
BOR12

INPUTIOUTPUT MACROS
INPUT

N/A Generates Input Pin and No.de in
ADF
OUTPUT (1) Generates Enabled Output Buffer in
ADF
OUTP
(1) Output Pin (Used in SCHEMA IIPLD)
74125
(1) Single Three-State Output, Active
Lo.w Enable
(1) Single Three-State Output, Active
74126
High Enable

Miscellaneous
7482X
7483X
7485X
7487
74143X

Bubble
AND
(NOR)
BAND2
BAND3
BAND4
BAND6
BAND8
BAND12

2-Bit Adder
4-Bit Adder
4-Bit Magnitude Co.mparato.r
4-Bit True/Co.mplement Element
4-Bit Co.unter; 4-Bit Latch; 7 Segment
Deco.der
8-Bit Parity Generato.r/Checker
8-Bit Parity Generato.r/Checker
Lo.o.k-Ahead Carry Generato.r
Single-Bit Full Adder
with Carry/Save
9-Bit Odd/Even Parity Generato.r/
Checker

NOTES:
1. All TTL macro.s duplicate TTL functio.n o.nly. They
DO NOT DUPLICATE perfo.rmance characteristics
such as o.pen-co.llecto.r, to.tem-po.le, Dr high-drive o.utput.
2. Any TTL macro.s which deviate in so.me way fro.m
standard TTL functio.n are deno.ted with an appended
"X" (see device .DOC file fo.r details). Appended
"D"s and "Q"s indicate co.unters co.nfigured to. Decimal Dr bi-Quinary mo.de; appended "A"s and "B"s indicate a macro co.nfigured fo.r a family o.f EPLD devices (e.g. 5C060, 5C090, 5CI80).
3. The (#) indicates the maximum number o.f EPLD
macrocells consumed if all o.utputs are used. If an o.utput is no.t used, the macro. co.mpressio.n phase o.f the
Macro. Expander will remo.ve the signal unless it is
used as feedback inside the macro. definitio.n.
4. /Q's sho.u1d be avo.ided as pin o.utputs if po.ssible.
The EPLD is structured such that the Q is readily
available as a pin o.utput and both the Q and /Q are
readily available as feedbacks. Using /Q as a pin o.utput, however, requires an extra macro.cell and adds to.
the propagatio.n delay.

4-36

inter

APPLICATION
BRIEF

AB-21

October 1988

EPLD Custom Macro Library
Listing for EPLD Designs

PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292050-001
4-37

AB-21

EPLD CUSTOM MACROS
The following is a list of the macros contained in version 1.0 of Intel's EPLD Custom Macro Library
(EPLDMAC.LIB). This library is available through the Intel EPLD customer hot line.
These macros are called from an Advanced Design File (ADF). Schematic capture packages such as SCHEMA 11PLD create an ADF with the correct macro invocation syntax for each macro listed here.
The macros are grouped by function. The macro name is followed by the least number of macrocells used and a
description of the macro's function.

INPUTS
21NP
4INP
61NP
81NP

(0)
(0)
(0)
(0)

2 Input
4 Input
6 Input
8 Input

Pins
Pins
Pins
Pins

BURIED FEEDBACK
4NOCF
6NOCF
8NOCF

(4)
(6)
(8)

4 "No Output Combinational Feedback" I/O Primitives
6 "No Output Combinational Feedback" I/O Primitives
8 "No Output Combinational Feedback" I/O Primitives

COMBINATIONAL 1/0
4CONF
6CONF
8CONF
4COIF
6COIF
8COIF

(4)
(6)
(8)
(4)
(6)
(8)

4 "Combinational Output
6 "Combinational Output
8 "CombinatioJ?al Output
4 "Combinational Output
6 "Combinational Output
8 "Combinational Output

No Feedback" I/O Primitives
No Feedback" I/O Primitives
No Feedback" I/O Primitives
Input Feedback" I/O Primitives
Input Feedback" I/O Primitives
Input Feedback" I/O Primitives

REGISTERED 1/0
4RONF
6RONF
8RONF
4ROIF
6ROIF
8ROIF
4RORF
6RORF
8RORF

(4)
(6)
(8)
(4)
(6)
(8)
(4)
(6)
(8)

4 "Registered Output
6 "Registered Output
8 "Registered Output
4 "Registered Output
6 "Registered Output
8 "Registered Output
4 "Registered Output
6 "Registered Output
8 "Registered Output

No Feedback" I/O Primitives
No Feedback" I/O Primitives
No Feedback" I/O Primitives
Input Feedback" I/O Primitives
Input Feedback" I/O Primitives
Input Feedback" I/O Primitives
Registered Feedback" I/O Primitives
Registered Feedback" I/O Primitives
Registered Feedb!lck" I/O Primitives

4-38

AB-21

LATCHES/REGISTERS
4REG .
6REG
8REG
4LATCH
6LATCH
8LATCH
8TRANS
RSLATCH
DLATCH
DFFPRE

(4) 4 Registers with Common Clock and Clear
(6) 6 Registers with Common Clock and Clear
(8) 8 Registers with Common Clock and Clear
(4) 4 Transparent Data Latches with Common Enable
(6) 6 Transparent Data Latches with Common Enable
(8) 8 Transparent Data Latches with Common Enable
(8) 8-Bit Bi-Directional Data Transceiver
(I) Set-Reset Latch
(I) Standard D-Type, Transparent Latch
(2) D Flip-Flop with Preset and Clear

MULTIPLEXERS/ENCODERS
2MUX
D2MUX
Q2MUX
4MUX
8MUX
16MUX
10MUXBCD

(0) 2-to-1 Multiplexer
(0) Two 2-to-1 Multiplexers with Common Select
(0) Four 2-to-1 Multiplexers with Common Select
(0) 4-to-1 Multiplexer
(0) 8-to-1 Multiplexer
(0) 16-to-1 Multiplexer
(0) 1O-to4 BCD Encoder

CONVERTERS/DECODERS
BINGRY
GRYBIN
lOEC
2DEC
4DEC
3DEC
7SEG

(0)
(0)
(0)
(0)
(0)
(0)
(0)

4-Bit Binary to Gray Code Converter
4-Bit Gray Code to Binary Converter
l-to-2 Decod~
2-to-4 Decoder
4-to-16 Decoder
3-to-8 Decoder
4-Bits to Seven Segment Display Decoder

COUNTERS/DIVIDERS
2CNT
4CNT
8CNT
16CNT
BCDCNT
FDIV2
FDIV5

(2)
. (4)
(8)
(16)
(4)
(4)
(4)

2-Bit Counter with Preload and Clear
4-Bit Counter with Preload and Clear
8-Bit Counter with Preload and Clear
16-Bit Counter with Preload and Clear
4-Bit BCD Counter with Preload and Clear
Divides Input Frequency By 2, 4, 8, and 16
Divides Input Frequency By 5, 10, 15, and 20

4-39

inter

AB·21

SHIFT REGISTERS
2SHIFT
4SHIFT
8SHIFT
16SHIFT

(2)
(4)

2-Bit Serial or Parallel In Shift Register with Enable
4-Bit Serial or Parallel In Shift Register with Enable

(8)

8-Bit Serial or Parallel In Shift Register with Enable

(16) 16-Bit Serial or Parallel In Shift Register with Enable

ARITHMETIC OPERATIONS
lADD

(0)

I-Bit Full Adder

2MULT
4COMP

(0)
(0)

2-Bit Multiplier
4-Bit Magnitude Comparator... Equality Only

(2)
8COMP
8PAREVN (2)

8-Bit Magnitude Comparator... Equality Only
8-Bit Even Parity Generator

8PARODD (2)

8-Bit Odd Parity Generator

4-40

inter

APPLICATION
NOTE

AP-311

October 1988

Using Macros in EPLD Designs

DANIEL E. SMITH
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292039-002

4-41

inter

Ap·311

• A Macro Expander in the LOC that expands macro
calls in ADFs with the contents of the corresponding macros from libraries.

INTRODUCTION
The iPLS II (Intel Programmable Logic Software) Logic Optimizing Compiler includes a Macro Expander
that supports the use of macros in EPLD designs. This
application note shows how to use the TTL and EPLD
Custom macros available from Intel with ADFs created
by a text editor. Included are descriptions of macro file
support, guidelines for using macros, and two design
examples.

Figure 1 shows text editor/ADF macro support for
iPLS II. Note that the ADF can be created by any
standard ASCII text editor (text edi.tor supplied by
user). Creation of user-defined macros is covered in application note, AP-3l2 "Creating Macros for EPLD
Designs", order number 292040. Use of macros with
schematic capture software is covered in the documentation for the respective software package.

OVERVIEW

This note discusses use of macros under the following
headings:
• Macro Libraries, briefly describes the two libraries
available from Intel.
• Using Macros, describes macro files, how to call
macros, the process of macro expansion, calling
multiple macro calls, and some basic guidelines to
follow and pitfalls to avoid.
• Two examples showing use of TTL macros, and
mixing macros and EPLD primitives.

iPLS II allows designers to include macro calls in design files to implement common circuit functions. Macro calls are subsequently expanded by the LOC (Logic
Optimizing Compiler) into ADF network and/or equation entries required to perform the desired functions.
Use of macros allows designs to proceed at a high level,
which simplifies and shortens the design process. Macros can be connected together or used in conjunction
with standard iPLS II EPLD primitives. Designing
with macros is analogous in many ways to using subroutines in software.

MACRO LIBRARIES

Macros can be used in ADFs (Advanced Design Files)
created by a text editor, or by several schematic capture
software products. This application note covers use of
macros in ADFs created by a text editor. Macro support at this level includes the following:
• A TTL macro library (TTL.LIB) for designing with
common TTL circuit equivalents
• An EPLD custom macro library (EPLDMAC.LIB)
for designing with "generic" macros.

Intel offers two macro libraries: a TTL Library and an
EPLD Custom Library.

TTL Macro Library
A TTL macro library (TTL.LIB) is available from Intel
to support design entry using familiar 74-series logic
IPLS II LOC

TEXT
EDITOR

--+

-

--+

ADF

-

MACRO
EXPANDER

ESPRESSO
MINIMIZER

FITTER

H

-

f
.•

•••

~

-

JEDEC

MACRO
LIBRARIES

~TTL
I..r..

: - - - -- --- !~

EPLD CUSTOM
USER

Figure 1. Text Editor/ADF Macro Support for IPLS II

4-42

292039-1

inter

AP-311

Some of the macros in the TTL library have an "X"
suffix appended to the filename, for example 74138X.
This suffix indicates that the macro is device-specific
(not supported on all EPLDs) or that there is some
difference from the TTL device. This information is
described in the .DOe file for each macro.

devices. The library contains macros that implement
the most widely used 74-series device functions as well
as macros for some members of other logic families.
Each device in the library is supported by a .DOe file.
The .Doe file describes the macro syntax and lists any
notable differences between the macro implementation
and the TTL part.

The second line of the macro file contains defaults for
each input and place holders (blanks) for each output.
The default for an input sets the input to an intelligent
level (i.e., enables are enabled, clears, preset, loads are
disabled, etc.).

EPLD Custom Macro Library
An EPLD custom macro library (EPLDMAe.LIB) is
available from Intel to support design entry using
groups of EPLD primitives or "generic" functions such
as latches, registers, counters, decoders, etc.

Macro files can contain a Network section, an Equation
section, or both. A Network section is not needed when
the macro functions can all be implemented in Boolean
equations. When used, the Network section contains
EPLD design primitives. An Equations section is not
needed when the macro functions can all be implemented in the Network section. Macro files end with the
keyword "ENDEF".

USING MACROS
The iPLS II Macro Expander is automatically invoked
by the LOe when an ADF is submitted to the compiler. When invoked, the Macro Expander identifies macro calls in ADFs, searches macro libraries for a corresponding macro, and expands the call with ADF network and equation entries from the macro file. The
expanded file is then compiled normally.

Macro Calls
All macro calls appear in the Network section of an
ADF. Macro calls use the same part/function name
and signal sequence used on the first line of the macro
file. The signal names in the macro and the macro call
do not need to match, but the order of signals in the
call is crucial to proper implementation of the macro
function. For example, the macro call for the 74138
device could be anyone of the following examples:

Macro Files
Figure 2 shows the macro file for a 7413.8 TTL device,
a commonly used one-of-eight decoder. Note that the
first line contains the name and I/O signals for the
device. Signals are listed in the order in which they
appear on the actual TTL device, including vee and
GND (i.e., A = pin 1, B = pin 2, ... , vee = pin 16).
The sequence of signals in this line determines how the
macro is "called" from an ADF.

74138(A,B,C,G2A,G2B.Gl,Y7,GND,Y6,Y5,
Y4,Y3,Y2,Yl,YO,VCC)
74138(Dl,D2,D3,EN1,EN2,EN3,07,GND,06,
05,04,03,02,Ol,OO,VCC)

74138(A.B.C.nG2A.nG2B.Gl.nY7.GND.nY6.nY5.nY4.nY3.nY2.nYl.nYO.VCC}
DEFAULT:(GND.GND.GND.GND.GND.VCC •• GND •••••••• VCC}
NETWORK:
EQUATIONS:
nYO
nYl
nY2

nY3
nY4
nY5
nV6
nY7

= !(!A •

IB • !C • !nG2A * !nG2B • Gl);
I(A * !B * !C * !nG2A * !nG2B * Gl);
* B * Ie * !nG2A * InG2B * G1);
!(A*B* !C· !nG2A* !nG2B*G1);
• 1(IA * IB * C * !nG2A * !nG2B * G1);
!(A * !B * C * !nG2A * !nG2B * G1);
= 1(IA * B * C * !nG2A * !nG2B * G1);
_ I(A * B * C * !nG2A * !nG2B * Gl);
-

=!(!A

ENDEF
$

292039-2

Figure 2. Sample TTL Macro File (74138.DEV)

4-43

intJ

AP-311

74138(A,B,C,ENA,ENB,ENC,Y7,GND,Y6,Y5,
Y4,Y3,Y2,Yl,YO,VCC)

appropriate gate array input or output macro calls.
When using gate array macros with EPLDs, the I/O
macros are implemented in terms of EPLD primitives.
Note that when designs targeted for gate arrays are
partitioned for multiple EPLDs, many internal gate array signals are transformed into EPLD input and output signals. These signals must be supported by INPUT
and OUTPUT macro calls.
'

In each case, the part name corresponds to the macro
part name. The names of the signals differ, but the or.
der of signals match the macro. During processing, the
Macro expander assigns node connections between the
macro call and the macro file based on the positions of
signals, not the names of the signals. For example, note
the following macro call to macro file signal assignments:
ADf MACRO CALL

MACRO fiLE SYNTAX

Macro Expansion
The Macro Expander identifies and expands each macro call in an ADF with the corresponding macro definition from macro libraries (the TTL library in the case
of the 74138). The Macro Expander searches libraries
in the following order and in the directories listed:
• MACRO. LIB-first in the current directory, then
in other directories specified by the DOS "PATH"
variable.
• user libraries (filename.LIB)-names for user libraries are specified in the "IPLS" environment variable. If a pathname and filename are both specified
(SET IPLS= C:\MACLIB\USRl.LIB;), the path is
treated as an absolute path. If a filename alone is
specified (set IPLS = USR 1. LIB;), the Macro Expander searches for that library in the directories
specified by the "PATH" variable. (IPLS can be set
in an AUTOEXEC.BAT file.)
• TTL macro library (TTL.LIB)--first in the current
directory, then in other directories specified by the
DOS "PATH" variable.

74138 ( A, B, C, EN 1. EN2. EN3. YCS •...

ttt t t t t

74138 (A, B, C. nG2A, nG2B, G1. nY7, ...
292039-3

TTL macro signals originating outside the target EPLD
require a prior INPUT macro call in the Network section. All signals used as outputs require a prior OUTPUT macro call in the Network section. Figure 3 shows
a sample ADF that uses the 74138 macro. Each input is
listed in the INPUTS: declaration and has an INPUT
macro call. Outputs are listed in the OUTPUTS: declaration and have OUTPUT macro calls. (EPLD INP
and CONF primitive statements may also be used in
place oflNPUT and OUTPUT macro calls, if desired.)
Gate arrays support a much richer selection of input
and output types than EPLDs. Gate array signals originating outside the target gate array device require the
YOUR NAME
YOUR COMPANY
DATE
1
A

5C060
One-af-Elght Decoder
OPTIONS, TURBO=OFF
PART, 5C060
INPUTS, A.B,C,G2A.G2B.Gl
OUTPUTS, Y7.Y6.Y5.Y4,Y3.Y2.Yl.YO
NETWORK,
INPUT{A.A)
INPUT{B,B)
INPUT{C.C)
INPUT{G2A,G2A)
INPUT{G2B,G2B)
INPUT{Gl ,Gl)
OUTPUT{Y7,Y7)
OUTPUT{Y6.Y6)
OUTPUT{Y5.Y5)
OUTPUT{Y4.Y4)
OUTPUT{Y3.Y3)
OUTPUT{Y2.Y2)
OUTPUT{Yl, Yl)
OUTPUT{YO.YO)
74138{A.B.C,G2A.G2B,Gl.Y7.GND.Y6,Y5.Y4.Y3.Y2,Y1,YO,VCC)
END$

292039-4

Figure 3. ADF File Calling the 74138 Macro

4-44

AP-311
• EPLD Custom macro library (EPLDMAC.LIB)first in the current directory, then in other directories specified by the DOS "PATH" variable.
• reserved iibrary (INTEL.LIB)-first in the current
directory, then in other directories specified by the
DOS "PATH" variable.

The Macro Expander uses the ADF Network and
Equation entries from the macro libraries and assigns
the appropriate primitives for INPUT and OUTPUT
calls. INP primitives are assigned to replace the INPUT macro calls. The OUTPUT calls are assigned
primitives with output pins and output enables are supplied where needed.

Only the first occurrence of a macro is used. The names
TTL. LIB, EPLDMAC.LIB, and INTEL.LIB are reserved by Intel. They may not be used for user libraries
and may not be specified in the "IPLS" variable. The
"IPLS" variable can contain more than one library
name. Each library can have an absolute path or can
rely on the "PATH" variable to determine the search
path.

Combination of primitives is automatically performed
when needed. For example, when a feedback primitive
such as a NORF feeds an output primitive such as a
RONF, the Macro Expander combines the two primitives into a RORF. Combination of primitives conserves resources and results in the shortest possible delay path through the device.
During macro expansion, unused nodes are eliminated.
For example, the VCC and GND nodes that correspond to TTL power and ground pins are eliminated. If
an input node is not connected to a node in the ADF,
the default value for that node is assigned from the

NETWORK:
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%
%'%
%

INPUT(A,A)
%
A=INP(A)
INPUT(B,B)
%
B=INP(B)
INPUT(C,C)
%
C=INP(C)
INPUT(G2A,G2A)
%
G2A=INP(G2A)
INPUT(G2B,G2B)
%
G2B=INP(G2B)
INPUT(Gl,Gl)
%
Gl=INP(Gl)
OUTPUT(Y7,Y7)
%
Y7=CONF(Y7,VCC)
OUTPUT(Y6,Y6)
%
Y6=CONF(Y6,VCC)
OUTPUT(Y5,Y5)
%
Y5-CONF(Y5,VCC)
OUTPUT(Y4,Y4)
%
Y4=CONF(Y4,VCC)
OUTPUT(Y3,Y3)
%
Y3-CONF(Y3,VCC)
OUTPUT(Y2,Y2)
%
Y2-CONF(Y2,VCC)
OUTPUT(Yl,Yl)
%
Yl-CONF(Yl,VCC)
OUTPUT(YO,YO)
%
YO*CONF(YO,VCC)
74138(A,B,C,G2A,G2B,Gl,Y7,GND,Y6,Y5,Y4,Y3,Y2,Yl,YO,VCC)

%

EQUATIONS:
%'%
%'%
%'%
%'%
%'%
%'%
%'%
%'%

YO=!(!A*!B*!C*!G2A*IG2B*Gl);
Yl-!(A*!B*!C*IG2A*IG2B*Gl);
Y2=1(!A*B*!C*!G2A*!G2B*Gl);
Y3=!(A*B*!C*!G2A*!G2B*Gl);
Y4=!(!A*IB*C*!G2A*!G2B*Gl);
Y5=!(A*!B*C*!G2A*!G2B*Gl);
Y6=!(!A*B*C*!G2A*!G2B*Gl);
Y7-!(A*B*C*!G2A*!G2B*Gl);
292039-5

Figure 4. Network and Equations for 74138.SDF
4-45

intJ

AP-311

DEFAULT: section of the macro file. Note, however,
that the default value for each input in the macro file
may be the value that disables the input or, for data
inputs, is usually a logic O. To be certain of the level
used, specify a "VCC" or "GND" in the macro call for
unused inputs.

The Macro Expander uses the first three ASCII characters after the first percent sign (%), except for white
space, to create instance !lumbers. For example, internal nodes for the first three signals of each macro call
will be:
.

..SFAN1, •• SFAN2, •• SFAN3,
The INPUT and OUTPUT calls and the original macro call are "commented out" by surrounding them with
percent (%) signs. The %A% string is placed at the
start of lines where primitives are created. by the Macro
Expander. The fully expanded file is written to the disk
using the original filename and a .SDF extension. Figure 4 shows the Network and Equation sections for the
74138 SDF.

•• SFBN1, •• SFBN2, •• SFBN3
where SFA/SFB are the user-defined instance names
and NI, N2, N3 are the node numbers associated with
each instance. For cases where no internal nodes numbers are generated, the Macro Expander simply ignores
the instance name.
Outputs from one macro call can be used as inputs for
other calls, as follows:

One final note with regard to compiling ADFs that use
macros. Warning messages are typically encountered
while compiling files that use macros. The most common message is .. ···WARN-XLT-Node Missing Destination". This message is displayed as unused nodes
from a macro are deleted. For example, if a macro using a NOCF primitive is combined with a CONF and
the original feedback is not needed, the warning is displayed as the feedback is deleted.

74138(A,B,C,G2A,G2B,G1,Y7,GND,Y6,Y5,
Y4,Y3,Y2,Y1,YO,VCC)
74138(A,B,C,Y7,G3B,G1,YF,GND,YE,YD,YC,
YB,YA,Y9,Y8,VCC)
Here the Y7 output from the first decoder feeds an
enable input of the second decoder.

Multiple Macro Calls
The Macro Expander allows use of more than one macro in ADFs. Each macro must have its own call, even
when the same macro is used more than once.

Different macros are connected in the same manner.
For example, the following macro calls connect the outputs from a 74138 decoder to the inputs of 74175 latches:

For example, to implement two 74138s, each case or
"instance" must have its own call:

74138(A,B,C,G2A,G2B,G1,Y7,GND,Y6,Y5,
Y4,Y3,Y2,Y1,YO,VCC)

74138(A,B,C,G2A,G2B,G1,Y7,GND,Y6,Y5,
Y4,Y3,Y2,Y1,YO,VCC)

74175 (CLR,OQ,nOQ,YO,Y1,n1Q,lQ,GND,CLK,
2Q, n2Q,Y2,Y3,n3Q,3Q,VCC)

74138(A,B,C,G3A,G3B,G1,YF,GND,YE,YD,
YC,YB,YA,Y9,Y8,VCC)

74175 (CLR,4Q,n4Q,Y4,Y5,n5Q,5Q,GND,CLK,
6Q, n6Q,Y6,Y7,n7Q,7Q,VCC)

In this example, many of the inputs are routed to both
devices. The Macro Expander automatically generates
internal nodes for each instance of the macro. Each
node is assigned a unique number based on the position
of the macro in the Network section (i.e., .. 0140,
.. 0141, etc. for nodes connecting to the 14th primitive
in the Network section).

Each decoder output is routed to a 74175 input. The
74175 macro produces both true and complement
latched outputs.

Guidelines/Pitfalls
The following paragraphs discuss some general guidelines for using macros:
• Because the Macro Expander supports only one level of hierarchy, there is a tende!lcy for p-terms to
multiply quickly when several macros are connected
together. In many cases, the total number of p-terms
exceeds the capacity of the target EPLD. One method of avoiding problems with excessive p-terms is to
route the outputs from a macro function through
EPLD macrocells and use the feedbacks from the
macrocells as inputs to the subsequent macro functions. This partitioning of functions trades off device
resources for a lower p-term count.

For traceability, you can define your own instance
names for nodes of different macros by including the
instance name in a comment immediately following the
macro call. For example, to call two 74161 macros, one
as Shift Register A and the other as Shift Register B,
enter the calls as follows:

74161(CLR,CK,A,B,C,D,ENP"LD,ENT,QD,
QC,QB,QA,RD1,) % SFA %
74161(CLR,CK,E,F,G,H,ENP"LD,ENT,QH,
QG,QF,QE,RC2,.) % SFB %
4-46

AP-311

• Implementation of some TTL macros requires primitives that are not supported on all devices. The
.DOC file for a device notes any device dependency.
In many cases, a modification to the basic TTL
functions results in device independence. For example, a NOCF, which is not supported on all EPLDs,
can be changed to a COIF, which is supported on
all devices.
• Some macros use primitives that specify an output
pin (COIF, CONF, RORF, etc.). These primitives
must be supported with a signal name in the OUTPUTS: declaration and by an OUTPUT call in the
Network Section of the ADF. Failure to provide
this support causes the following error message during compilation:

Circuit
The design is a two-stage decoder using a 74138 macro
and two 74139 macros. Figure 5 shows the schematic
for the circuit. Each 74139 macro represents one half of
a TTL 74139 device. Note that two of the outputs from
the 74138 are routed back to enable the two 74139 decoders.
A
B
C

YO
Yl
Y2
Y3
Y4

74138
ENl
EN2
EN3

***ERR-XLT-undeclared output name

YCS
YCE

If you encounter this error, check the macro file for
output primitives that require ADF support.

Y5

~

CEO

D

CEl

74139

CE2

L......c

Macro Usage Summary

CE3

r--

ADF macro calls must observe the following guidelines:
• Macros are called from the Network Section of an
ADF.
• The name in the call must match the name in the
macro file (e.g., 74138 = 74138).

CSO
CSl

74139

CS2

'--<

CS3

292039-6

Figure 5. Schematic Diagram
for Two-Stage Decoder

• All input and output pins on the target device must
have both: (I) a corresponding signal name in the
INPUTS: or OUTPUTS: declaration, and (2) a corresponding INPUT or OUTPUT macro call in the
Network section. It is recommended that the same
node name be used on both sides of each INPUT
and OUTPUT macro call. This is required when
macros containing CONFs are used. (EPLD INP
and CONF primitives may also be used) ..

Figure 6 shows the ADF file containing the macro calls
that implement the circuit. The two internal feedback
signals (YCS and YCE) do not show up in the INPUTS: or OUTPUTS: declarations and are not represented by INPUT or OUTPUT calls in the Network
section. The sequence of signals in the INPUTS: and
OUTPUTS: declarations of the ADF is not important.
In the NETWORK: section, however, order is important. INPUT and OUTPUT calls must be listed before
any other macro calls. This is a requirement of the
Macro Expander. The sequence of signals within the
ADF macro call is critical, as the Macro Expander automatically assigns macro call signals to macro file signals based on position.

• All INPUT and OUTPUT calls in the Network section must precede any other macro call.
• Node connections within an ADF are made based
on the names of the nodes.
• Connections between the macro call and macro files
are based on the position of signal names in the call.
Therefore, the sequence of inputs and outputs in a
macro call must match the sequence of inputs and
outputs in the corresponding macro file.

Internal connections between macros are established by
assigning the same name to the respective signals. For
example, YCS in the 74138 macro call in Figure 7 represents the nY6 output from the 74138, while YCS in
the 74139 macro call represents the IG input to one
74139 decoder. Use of the same name establishes the
connection. In the same manner, use of the signal name
YCE connects the nY7 output from the 74138 to the
IG input of the second 74139.

EXAMPLE 1: TTL MACROS
This section provides an example design using TTL
macros.

4-47

inter

AP-311

DANIEL E. SMITH
INTEL CORPORATION
2/27/87
1
A

5C090
TWO-STAGE DECODER
OPTIONS: TURBO=OFF
PART: 5C090
INPUTS:
A,B,C,D,E,EN1,EN2.EN3
OUTPUTS: YO,Yl,Y2,Y3,Y4,Y5,CSO,CS1,CS2,CS3.CEO,CE1,CE2,CE3
NETWORK:
INPUT (A,A)
INPUT (B,B)
INPUT (C,C)
INPUT (0,0)
INPUT (E,E)
INPUT (EN 1 , EN 1 )
INPUT (EN2,EN2)
INPUT (EN3,EN3)
OUTPUT (YO,YO)
OUTPUT (Yl, Yl)
PUTPUT (Y2,Y2)
OUTPUT (Y3,Y3)
OUTPUT (Y4,Y4)
OUTPUT (Y5,Y5)
OUTPUT (CSO,CSO)
OUTPUT (CSl ,CS1)
OUTPUT (CS2,CS2)
OUTPUT (CS3,CS3)
OUTPUT (CEO,CEO)
OUTPUT (CE1,CE1)
OUTPUT (CE2,CE2)
OUTPUT (CE3,CE3)
74138(A,B,C,EN1,EN2,EN3,YCS,GND,YCE,Y5,Y4,Y3,Y2,Yl,YO,VCC)
74139(YCS,D,E,CSO,CS1,CS2,CS3,GND,VCC)
74139(YCE,D,E,CEO,CE1,CE2,CE3,GND,VCC)
END$

292039-7

Figure 6. ADF File for Two-Stage Decoder Using TTL Macros

Sample Session

3. Invoke the LOC from the Main Menu by pressing

This session assumes familiarity with the iPLS II Logic
Optimizing Compiler (LOC). For detailed information
on the LOC, refer to Chapter 4 of the iPLS II User's
Guide. order number: 450196. Proceed as follows to
implement the TTL macro design shown here:
1. Use a standard ASCII text editor to create the ADF
shown in Figure 7 under the name DECODE.ADF.
2. Invoke the iPLS II Menu by entering:

4. Answer the LOC promts as follows:

.
Input Format?
File Name?
Minimization?
Inversion Control?
LEF Analysis?
Error Message File

IPLS 

4-48


DECODE 
y
N

Y



AP-311

The LOC then asks:

circuit. CS2 and CS3 are qualified by two additional
inputs (RD" and WR") to set or clear two latches. This
is a configuration commonly used in microcomputer
systems, where control signals are set and reset based
on the address and command signals but not on a data
value. A read to the port decoded by CS2 sets output
LCS2 (Latched CS2) high. A write to that same port
clears LCS2 low.

Do you wish to run under the above
conditions [YIN]?
Enter: Y
The LOC expands the macros and compiles
the expanded file to produce a JEDEC programming file (DECODE.JED), a utilization report file (DECODE. RPT), a minimized equation file (DECODE. LEF), and an error message file (DECODE. ERR). For tracability, a
file called DECODE.SDF is created to show
the expanded form of the ADF output by the
Macro Expander.
S. The LOC terminates execution with the following
message:

Figure 8 shows the ADF that implements the example
circuit. This is the same ADF used in Figure 6, with
the addition of several primitives and equations. The
data inputs to both latches are tied to VCC. When RDand the chip enable are both low, the respective clock
signal goes low. As RD- or chip enable go high, the
rising edge ofthe clock signal triggers the register, driving the output high.

LOC cycle successfully completed

Note that many Intel EPLDs do not support multiple
product terms for register clocks. Therefore, the clock
buffer primitive is driven by a macrocell configured as a
COIF (Combinatorial Output-Input Feedback). Control signals (Clear and Preset) for many EPLDs also
support only one product term. In this case, however,
the NOR gate driving the clear input to the RONFs
can be minimized to a single p-term. Thus a low on
WR' and chip enable clears the respective latch to logic
O. (The intermediate macrocell for the Read function
can be omitted for EPLDs that support two p-terms on
register clocks.)

You can examine the LEF file to see the minimized
form of the design. The LEF shows the EPLD primitives used to implement the design. Macro calls are not
shown. If you wish, ydu can also use LPS (Logic Programmer Software) to program a part.

EXAMPLE 2: MIXING MACROS AND
EPLD PRIMITIVES
This final example uses TTL macros together with
standard EPLD primitives.

The connections between the TTL macros and the
EPLD primitive are made by assigning the appropriate
names to the input and output nodes. The CS2 and CS3
signals from the first example are no longer outputs,
but are simply inputs to equations that feed the LCS2
and LCS3 RONF primitives.

Circuit
The example circuit here is the 74138 macro used in
example 1 with two of the outputs routed through additional combinatorial logic and RONF (Registered Output - No Feedback) primitives. Figure 7 shows the

4-49

AP·311

A
B

C
74138
ENl
EN2
EN3

YO
Yl
Y2
Y3
Y4
Y5

YCS
YCE
CEO
CEl
CE2
CE3

0

E

CSO
CSl

RO·-----r;--------.-i

>---.-SET2 C

>-......-SET3C

>-----LCS2

WR' -

.....-+--1-1

>---LCS3

292039-11

Figure 7. Schematic of Decoder Circuit with Latched Outputs

4-50

inter

AP-311

DANIEL E. SMITH
INTEL CORPORATION
2/27/87
1

A

5C090
DECODER WITH TWO LATCHED OUTPUTS
OPTIONS:
TURBO-OFF
PART:
5C090
INPUTS:
A,B,C,D,E,EN1,EN2,EN3,RD*,WR*
OUTPUTS,
SET2c,SET3c,VO,Vl,V2,V3,V4,V5,CSO,CS1,LCS2,LCS3,CEO,CEl,CE2,CE3
NETWORK,
INPUT (A,A)
INPUT (B,B)
INPUT (C,C)
INPUT (0,0)
INPUT (E, E)
INPUT (EN1,EN1)
INPUT (EN2,EN2)
INPUT (EN3,EN3)
OUTPUT (VO,VO)
OUTPUT (Vl, Vl)
OUTPUT (V2,V2)
OUTPUT (V3,V3)
OUTPUT (V4,V4)
OUTPUT (V5,V5)
OUTPUT (CSO,CSO)
OUTPUT (CS1,CS1)
OUTPUT (CEO,CEO)
OUTPUT (CE1,CE1)
OUTPUT (CE2,CE2)
OUTPUT (CE3,CE3)
74l38(A,B,C,EN1,EN2,EN3,VCS,GND,VCE,V5,V4,V3,V2,Vl ,VO,YCC)
74l39(VCS,D,E,CSO,CS1,CS2,CS3,GND,YCC)
74l39(VCE,D,E,CEO,CE1,CE2,CE3,GND,YCC)
RD _ INP(RD*)
WR _ INP(WR*)
LCS2 - RONF(VCC,SET2,CLR2,GND,VCC)
LCS3 - RONF(VCC,SET3,CLR3,GND,VCC)
SET2 - CLKB(SET2c)
SET3 - CLKB(SET3C)
SET2c,SET2c _ COIF(ST2,YCC)
SET3c,SET3c - COIF(ST3,VCC)
EQUATIONS,
ST2 _ RD + CS2;
CLR2 = I(WR + CS2);
ST3 - RD + CS3;
CLR3 - I(WR + CS3);
ENDS
292039-12

Figure 8, ADF file for Decoder with Latched Outputs

Sample Session
To implement this ADF in an actual session. follow the
steps described for Example 1. sUbstituting the name
LDECODE for DECODE. iPLS II produces a JEDEC
programming file (LDECODE.JED). a utilization re-

port file (LDECODE.RPT). a minimized equation file
(LDECODE.LEF). and an error message file
(LDECODE.ERR). For traceability. a file called
LDECODE.SDF is created to show the expanded form
of the ADF output by the Macro Expander.

intJ

APPLICATION
NOTE

AP-312

October 1988

Creating Macros
for EPLD Designs

DANIEL E. SMITH
PROGRAMMABLE LOGIC APPLICATIONS
INTEL CORPORATION

Order Number: 292040-002
4-52

inter

AP-312

By following the macro file format described in this
note, users can also create their own proprietary macros with an ASCII text editor. These macro files can
then be stored in user-defined libraries by using Intel's
Macro Librarian software. User-defined macros can be
called from ADFs created by a text editor or by schematic capture software that supports user-defined symbols and that outputs in ADF format. User-defined
macros can optimize development of EPLD designs by
modularizing the design process and by allowing the
design process to proceed at a higher level than with
EPLD primitives alone. iPLS II support for user-defined macros (see in Figure I) includes the following:
• MLIB, the optional iPLS II Macro Librarian for
creating macro libraries from individual user-defined 'macro files.
• a Macro Expander in the LOC that expands macro
calls in ADFs with the contents of the corresponding macros from libraries.

INTRODUCTION
The iPLS II (Intel Programmable Logic Software II)
Logic Optimizing Compiler includes a Macro Expander that supports the use of macros in EPLD designs.
These macros can include TTL and EPLD custom
macros available from Intel, or proprietary macros developed by a user. This application note shows how to
create user-defined macros and how to build macro libraries with Intel's Macro Librarian, an optional software package for use with iPLS II. A design example
also shows creation of a user-defined macro and its use
in an ADF (Advanced Design File). Detailed information on using the TTL Macros in iPLS II ADFs are
described in a companion application note: AP-311
"Using Macros in EPLD Designs", Order Number:
292039. This application note concentrates on creating
macros; it assumes that you have read and understood
the discussion on using macros in AP-311.

This application note describes how to create macro
files, store them in libraries with MLIB, and shows how
to call them from ADFs created by a text editor. For
information on creating user-defined macro symbols
with schematic capture packages, refer to the appropriate
manual for the schematic capture package you are using. SCHEMA II-PLD available from Intel supports
user-defined symbols and outputs in ADF format.

OVERVIEW
iPLS II allows designers to include macro cans in design files to implement common circuit functions. Macros calls are subsequently expanded by the LOC (Logic
Optimizing Compiler) into the ADF network and/or
equation entries required to perform the desired functions. Macros can be connected together or used in conjunction with standard iPLS II EPLD primitives.

SCHEMATIC
CAPTURE

I-----

i
SYMBOL
LIBRARY
iPLS II LOC

TEXT
EDITOR

ADF

r----

I"'"

~

MACRO
FILES

I"'"

1--+

MLiB

ESPRESSO
MINIMIZER

FITIER

r----

JEDEC
FILE

f

MACRO
LIBRARIAN
TEXT
EDITOR

MACRO
EXPANDER

-

~

MACRO
LIBRARIES
-T

-

t...

I+- TIL.LlB
EPLDMAC.LlB
USER - DErIN~D (·.LlB)
292040-1

Figure 1. Macro Support for iPLS II
4-53

AP-312

(SCHEMA II-PLD is based on SCHEMA II from
Omation, Inc. The Intel EPLD Design Manager, also
available from Intel, allows existing SCHEMA II users
to design with EPLDs and macros.)

16207 (A,B,C,D,E,F,U,Y,W,X,Y,Z)
16207 (B,D,A,R,Z,U,W,C,F,X,E,Y)
16207 (Z,Y,X,W,Y,U,F,E,D,C,B,A)

MACRO FILES

Note that this first line of the header forms the template used to call the Macro from the ADF. The Macro
Expander connects ADF nodes in the macro call to
1/0 signals in the macro file on the basis of positioll,
not on the basis of node name.

This section describes iPLS II macro files. User-defined
macro mes must follow'the guidelines presented here to
be successfully processed by the Macro Librarian
(MLIB) and expanded by the iPLS II LOC Macro Expander.

The second line in the header specifies defaults for inputs (VCC or GND) in cases where those signals are
left unconnected. The DEFAULT: line must be included in the macro definition file, even when no defaults
are used in the ADF. The keyword DEFAULT: is the
first entry in this line. The default values for all signals
follow immediately and are enclosed in parentheses. Input defaults may be YCC or GND. The position of the
default value corresponds to the signal listed in the previous line.

Macro filenames follow DOS conventions. It is recommended that macro filenames end with the extension
.DEY, which is the default for MLIB. Only one macro
can be contained in a macro file. Macro files are comprised of three sections:
• Header
• Network Section
• Equation Section

Defaults for outputs are blank, but a comma (,) must be
present (place holder) for each output signal except the
last. For example, the 16207 black box contains six inputs (A through F) and six outputs (U through Z). The
first two lines for this macro might be:

All macro files must end with the literal "ENDEF".
Figure 2 shows a sample macro file for a proprietary
part (16207), a "black box" containing random logic.

16207 (A,B,C,D,E,F,U,Y,W,X,Y,Z)
DEFAULT: (GND,GND,GND,YCC,YCC,YCC"",,)

16207(A.B.C.D.E.F.U.V.W.X.Y.Z)
DEFAULT,(GND.GND.GND.VCC.Vcc.Vcc ..•••• )
EQUATIONS,

U _ I(A • B);
I(/E • A * 6);
W _ 1(0 • C * A • IE);
x'- I ( l D ' E);

Defaults for inputs A through Care GND; defaults for
inputs D through F are YCC. Defaults for the outputs
are not specified, but the comma denotes the positions
for those signals.

v.

Y _ I(F • 0 • A);

Z _ F •

/E;

ENDEF

Defaults should be chosen with care. Clears, Presets,
Loads, etc. should be disabled in most cases. Enables
should be enabled. Input defaults can also be left blank
as long as those inputs are connected to nodes in the
ADF that calls the macro, but it is recommended that
they be specified in the macro file.

292040-2

Figure 2_ Sample Macro File for
"Black Box" (16207.DEV)

Header
Headers for macro files contain two lines. The first line
includes the name of the macro function and a list of
inputs and outputs for the macro. The second line contains defaults for the device.

Network Section

The name of the macro can be a device number (16207,
83546, etc.), function name (ADDRCNT, CMDLO,
etc.), or any name up to eight characters long. No
spaces or comments precede the name.
Inputs and Outputs follow immediately after the macro
name and are enclosed in parentheses. 1/0 signal'
names may be up to eight characters long, but may not
contain pin numbers, For user-defined macros, signals
may be listed in any order desired. For example, any of
the following entries are legal:
4-54

The NETWORK: section lists the EPLD primitives
used to implement the desired functions. The Network
Section follows ADF syntax rules, As far as possible,
the macros should be implemented in equations to eliminate concern about feedbacks and output enables. In
the case of a circuit that requires macrocell registers,
the feeback-only form of the primitive should be used
so that the Macro Expander can make the correct pin
connections. The following example shows this:
OUT! = NORF (INd,CLK,GND,GND)

inter

AP-312

During processing, the Macro Expander connects the
feedback to an output (if necessary) and supplies the
required output enable node name. The Macro Expander also eliminates unneeded Network and Equations
entries if they are not used by an ADF.

MACRO LIBRARIAN
The Macro Librarian (MLIB) is an optional software
package that combines individual macro files into macro libraries. These libraries are in tum used by the LOC
Macro Expander. MLIB can be invoked from the command line, from command files, or from a combination
of both. Figure 3 shows a block diagram of the Macro
Librarian.

If no network entries are required (i.e., a macro implemented entirely in equations), the entire Network section may be omitted, including the keyword NETWORK:. In many cases, equations alone can implement the desired functions.

Syntax for MLIB command lines is as follows:
MLID

Equations Section

[-options

1

[@cmdfile 1 [filel file2 •••

1


-d

directory. Displays directory information for
the library being created.
-v
verbose. Print status during processing. When
not specified, status messages are suppressed.
-I lib
list. Lists the contents of existing macro library to console. This option may not be used
while building a library.
-0 lib
name of the target macro library.
MACRO. LIB is the default when no name is
specified. TTL.LIB, EPLDMAC.LIB, and
INTEL. LIB are reserved for Intel libraries
and may not be used.
-s string include version stamp in macro library. The
version string can be up to 7 characters long.
"Vl.OO" is the default stamp.

The EQUATIONS: section lists the Boolean equations
for the desired functions and follows ADF syntax rules,
with one exception; intermediate equations are not permitted in macro files. If no equation entries are required (i.e., a macro implemented entirely in the Network Section), the entire Equation section may be omitted, including the keyword EQUATIONS:.

Comments and White Space
Comments can be placed anywhere in a macro file except before the name and signals on the first line. Comments must be enclosed in percent signs, as follows:
% THIS IS A SAMPLE COMMENT %

White space can appear on any line except the first two
lines.

TEXT
EDITOR

r-+ COt.lt.lAND
FILE

TEXT
EDITOR

-+

t.lACRO
FILES

T
-+

-

t.lLlB

.L.

....

t.lACRO
LIBRARY

-

LIBRARY
LISTING
292040-3

Figure 3. Macro LIbrarian Block Diagram

4-55

Ap·312

-c string

include copyright string in' macro library.
The copyright string can be up to 61 characters long and, if blanks are used, must be
contained in quotation marks, for example,
"texta textb".
@cmdfile name of command file. The command file
can iIiclude options and macro filenames.
The @ symbol must precede the filename.

"macro r I brary name "
-v
-s Vl.50 " version number"
-c "Copyright (e) Date. Your Company .. Your Name"

-0 PROJA. LIB

S copyright Information"
-d "

"

display directory"

Include the following macros"

INPUT.DEV
7487.DEV
14151.DEV

filel .. " name of device files to be included in the
macro, library. Separate files by spaces.

OUTPUT.DEV
7408.DEV
74138.DEV
74139.DEV
74157.DEV
74251.DEV

292040-4

Figure 4. Sample Command File for MLIB

For example, the following command line:

The command line to process the file shown in Figure 4
is as follows:

MLIB -v -s 2.00 -0 USER.LIB @USERLIST 
creates a library called USER.LIB that includes all the
individual macro files contained in the command file
USERLIST. MLIB displays status messages as it processes the macro files in USERLIST (-v). The library is
created as version 2.00 (-s).

MLIB @SAMPLE 
where SAMPLE is the name of the command file.
To list the contents of PROJA.LIB after creation, invoke MLIB as follows:
'

Macro library filenames follows DOS conventions and
should end with the extension .LIB to be recognized by
the Macro Expander. TTL. LIB, EPLDMAC.LIB, and
INTEL.LIB are reserved and may not be used.

MLIB -1 PROJA.LIB
This command line lists the macros in PROJA.LIB to
the screen. The DOS file redirection capability can also
be used to create a disk file listing the contents of macro
libraries. For example:

USERLIST is the name of the command file and must
be preceded by the @ symbol. The command file is
simply an ASCII,text file that can be modified to con-

tain any number of macros desired. MLIB processes
the entire list of macros on each invocation. To add a
new macro to an existing library, add the name of the
macro to USERLIST, and create the new library by
entering the command line shown above. Command file
names follow DOS conventions. MLIB supplies a .DEV
extension if no extension is specified. MLIB searches
first in the current directory, then along the DEV envi-'
ronment,variable, and finally along the PATH environment variable for the files.
In order to connect inut and output primitives, the files
INPUT.DEV and OUTPUT.DEV must be included in
at least one of the libraries. These files are contained in
the TTL macro library.

MLIB -1 PROJA.LIB > PROJA.DOC

SAMPLE SESSION: COMMAND
DECODER USING MACROS
Decoding logic is one common function implemented
by programmable logic devices. The target circuit fot
this example is a device that decodes microprocessor
command signals in selected address ranges. The target
application and decoder requirements are as follows:
• The target application is a 16-bit microcomputer
system with I-Megabyte of memory and about two
dozen I/O ports.
• The memory is divided into shared memory Qower
512K bytes) and Ipcal memory (upper 512K bytes).
Shared memory resides off the processor board and
requires active low memory command signals. Local
memory resides on-board and requires active high
memory command signals.

Figure 4 shows a sample MLIB command file that includes options, the library name, and the names of seven macro files to be included in the library in addition
to the INPUT and OUTPUT macros. The format of
the command file is free form. Note that comments can
be included in the command file and must be contained
within percent (%) signs.

• I/O ports are also split between on-board devices
requiring active high signals and off-board devices
requiring active low signals. I/O devices between
the address range FOOO-FFFFH are on-board; devices below that range (OOOO-EFFFH) are off-board.

Note that the -1 option cannot be included in an MLIB
command file; it can only appear on the command line.
The -1 option lists the contents of existing libraries; it
does not list library contents while building a library.

4-56

intJ

AP-312

• AU interrupt requests are resolved by an on-board
interrupt controUer. Therefore, only an active high
on-board interrupt acknowledge signal is needed.
• On-board control signals are always high or low,
never three-stated. Off-board control signals are
three-stated when not being used to execute a bus
cycle. An external bus arbiter accepts a request signal from the command decoder and, after gaining

control of the bus, sends address enable and command enable signal~ back to the command decoder.
Figure 5 shows a block diagram of the application, including the target EPLD design. The three functional
blocks to be included in the EPLD are highlighted (not
shaded).

OFF- BOARD
SYSTEM BUS
ADDRESS AND
DATA BUS

CPU

292040-5

Figure 5. Block Diagram of Target Circuit and Application

4-57

AP-312

Creating the Macro

Building the Library

Figure 6 shows a schematic diagram for the active low
command decoder implemented with OR gates (low inputs enable the outputs; high inputs disable the outputs). Figure 7 shows the macro file that implements
the circuit (CMDLO.DEV). This file was created with
an ASCII text editor. Used as is, it provides the active
low outputs for the design. With inputs RD, WR, and
INTAIN inverted, it also provides the active high outputs for the design. This design uses CONF primitives
to implement the three-state outputs in the macro. As
an alternative, equations alone could have been used
with the CONFs included in the ADF.

Use your text editor to create an MLIB command file
that includes CMDLO.DEV, INPUT.DEV, and OUl'PUT.DEV. The following example shows a sample
command file named MACLIST.
-v % show status %
-c "1987, AP-312 Sample Macro Library"
-0 AP312.LIB
-d % show the list %
% include the following macros %
CMDLO.DEV INPUT.DEV OUTPUT.DEV

;::=:+:::f". . . .

RD __

Invoke the Macro Librarian with the following command line:

MRD

MLIB

The Macro Librarian processes the three macro files
and stores them in a user library named AP312.LIB.
The library contains the copyright statement "1987,
AP-312 Sample Macro Library". When processing is
complete, MLIB returns control to DOS.

MWT

lOR

MIO:=~=~~_;
eMDEN

lOW

INTAIN - - - - - - - - H

INTA

@MACLIST

Creating the ADF
Figure 8 shows a schematic diagram for the target
circuit. Figure 9 shows the ADF for the circuit (COMCODE.ADF), which invokes both instances of the
CMDLO macro and contains equations used to enable
the decoders under the proper conditions. The ADF
signal named ONBEN (On-Board Enable) enables the
active high decoder). The AEN (Address Enable) input
to the on-board decoder is left unconnected. The default (always enabled) will be used.

AEN-------~

292040-6

Figure 6. Schematic Diagram of
Command Decoder

CMOLO(MIO.RO.WR.INTAIN.CMOEN.AEN.MRO.MWT.IOR.IOW.INTA)
OEFAULT,(GNO.VCC.vCC.VCC.GNO.GNO ••••• )
NETWORK,
MRO = CONF(MROc.AEN)
MWT ~ CONF(MWTc.AEN)
lOR = CONF(IORc.AEN)
lOW = CONF( IOWc.AEN)
INTA = CONF(INTAIN.AEN)
EQUATIONS,
MRDe m /MIQ + RD + eMDEN;
MWTc - IMIO + WR + eMDEN;
lORe - MIO + RD + eMDEN;
lOWe ... MIO + WR

+ CMDEN;

ENOEF

292040-7

Figure 7. Macro File for Command Decoder (CMDLO.DEV)

4-58

inter

AP·312

NINT

INTAIN-

MID

MilO-

OFF- BOARD
DECODER

INTA
MRD

NRD

RD-

MWT

NWR

WR·

lOR
lOW
Vee

MIO
RD
WR

t---+--l::> MRDC·
t---+--l::> MWTC·
t---+--l::> IORC·
t--,......+--l::> IOWC·

CMDEN·r:>--------+--rr+---~
AEN1~~------~~~~~------~

AF
AE~L-r-~~~~~-+_-~Hr~
ADL....o~'--_

AC
NMIO

NA13
OFFBDEN·

NUPPER
292040-8

Figure 8. Schematic Diagram for COMCODE.ADF

4-59

AP-312·

DANIEL E. SMITH
INTEL CORPORAT ION
417187
1

A

16209-001
COMMAND DECODER
OPTIONS,
TURBO-ON
SCD90
PART,
INPUTS,
MID, RD, WR, INTAIN, CMDEN, AEN1, A13, AF, AE, AD, AC
OUTPUTS, MRD, MWT, lOR, lOW, INTA, MRDC, MWTC, 10RC, 10WC, OFFBDEN
NETWORK,
INPUT(MIO,MIO)
I NPUT(RD, RD)
I NPUT(WR, WR)
INPUT(INTAIN,INTAIN)
INPUT(CMDEN,CMDEN)
INPUT(AEN1,AENl )
I NPUT(A 13 ,A13)
INPUT(AF,AF)
INPUT(AE,AE)
INPUT(AD,AD)
INPUT(AC,AC)
OUTPUT(MRD,MRD)
OUTPUT(MWT ,MWT)
OUTPUT( 10R,IOR)
OUTPUT( 10W,IOW)
OUTPUT(INTA,INTA)
OUTPUT(MRDC,MRDC)
OUTPUT(MWTC,MWTC)
OUTPUT( 10RC, 10RC)
OUTPUT( 10WC, 10WC)
CMDLO(MIO,RD,WR, ,CMDEN,AEN1,MRDC,MWTC, 10RC,IOWC,) % OFB %
CMDLO(M 10,NRD ,NWR ,N I NT ,ONBEN, VCC ,MRD,MWT, lOR, lOW, INTA) % ONB %
OFFBDEN
OFBEN
ONBEN
NRD
NWR
NINT
NMIO
NUPPER
NA13

_ CONF(OFBEN,VCC)
_ NOR(OF1,OF2,OF3,OF4)
- NOR(ON1,ON2,ON3,ON4)
a
NOT(RD)
_ NOT(WR)
_ NOT ( INTAIN)
_ NOT(MIO)
_ NOT(UPPER)
_ NOT(A13)

EQUATIONS,
UPPER
ONI
ON2
ON3
ON4
OFI
OF2
OF3
OF4

_
_
_
_
_
_
_
_

(AF • AE • AO • AC);
(MID' A13 • NRD):
(MIO • A13 • NWR);
(NMIO • UPPER' NRD),
(NMIO • UPPER' NWR):
(MID' NA13 • NRC):
(MID' NA13 • NWR):
(NMIO • NUPPER • NRD):
(NMIO • NUPPER • NWR),

ENDS

292040-9

Figure 9. ADF for COMCODE.ADF
OFFBEN (Off-Board Enable) requests permission to
access the off-board bus from the external bus arbiter.
The bus arbiter enables the off-board decoder via
AENI (Address Enable 1) and CMDEN (Command
Enable). CMDEN allows the appropriate signal to go
high or low, and AENI causes the outputs to independently enter or exit a high impedance state (three-state).

Note the same name is used for both nodes of each
INPUT and OUTPUT macro call. Use of the same
name ensures proper connection when the Macro Expander eliminates redundant primitives (for example, a
CONF feeding another CONF).

4-60

intJ

AP-312

Compiling the Design

The LOC then asks:

Proceed as follows to compile the ADF.
1. Include AP312.LIB in the IPLS environment variable. From the DOS command prompt, type:
SET IPLS=C:\IPLSII\AP312.LIB; ... 
For user-defined macro libraries that are regularly
accessed, the IPLS variable can be set in an
AUTO EXEC. BAT file.
2. Invoke the iPLS II Menu by entering:
IPLS 
3. Invoke the LOC from the Main Menu by pressing
.
4. Answer the LOC prompts as follows:
Input Format?

File Name?
COMCODE 
Minimization?
Y
Inversion Control? N
LEF Analysis?
Y
Error Message File COMCODE.ERR 

Do you wish to run under the above conditions
[YIN]?

Enter: Y
The LOC expands the macros and compiles the
expanded file to produce a JEDEC programming file
(COMCODE.JED), a utilization report file
(COMCODE.RPT), a minimized logic equation file
(COMCODE.LEF) and an error message file (COMCODE. ERR). For traceability, a file called COMCODE.SDF is created to show the expanded form of
the ADF output by the Macro Expander.
S. The LOC terminates execution with the following
message:
LOC cycle successfully completed
You can examine the LEF file to see the minimized
form of the design. The LEF shows the EPLD primitives used to implement the design. Macro calls are not
shown in the LEF. If you wish, you can also use LPS
(Logic Programmer Software) to program a part.

4-61

Tools for Optimizing PLD Designs
AJanJ. Coppola
Tool Architect
Intel Corporation
MIS EY2-11
5200 HE EJam YOUllg Pkwy.
Hillsboro, OR 97123
(503)681-2177

In the modeling area, extensive simulations must occur before
and after the device is built, as each device is custom crafted.
FInally, in the CAD tools area, a highly functional, but hard to use
set of tools gtude and control the whole process. The too15 are
the best In terms of functionallty, but the worst in terms of cost
and ease of use.

Introduction:

The purpose of this paper is to describe a design methodology for
Programmable LogIc Devices(PLD's) and to survey current PLD
optimIzation techniques.
1. Penpectille: Where do PLO'5 fit in?

The job of ASIC vendors in the next ten years is to make the
Custom/Serm·Custom problems disappear or become acceptable
to the logIC deSIgner of the next generation. The facts are clear.
Without advanced tools which automate much of the logic
.
deSIgner's work, the Custom/Serm-Custom approach only works
for large scale,large volume or special purpose devices. Silicon
compIlers and other Custom/Semi'Custom design methodologies
are working hard to overcome the Inherent problems of this type
of deSIgn.

The. use of Programmable LogIc Devices(PLD's) represents a

mIddle ground In logIc desIgn. The two common approaches to
logic Implementation in today's market are Board Design
methods(bwldmg a solution from a selection of pre-fabricated
standard parts - 'ITLJSSl/MSI) and Custom/Semi-Custom design
methods(fabricating a custom logIc chIp to solve the problem at
hand, arldlll&n buildini a much simpler boardl.
With the Board Design approach, PCB's carry the
fruIt of a desIgner's labor to the customer. Many Ilttle black boxes
and other elecmcal CIrcuit components make up the brunt of a
PCB's load. Many times there are large Islands of functionallty to
be connected together VIa encodmgjdecodIng and timIng cirCUItS.
The Islands of funCtIonalIty (I.e. rmcroprocessor, mIcro controller,
RAM, EPROM, trans Clever, etc.) all have different protocols, and
all speak dIfferent languages at different speeds.

The use of PLD's in a deSIgn is a compromise between the
fleXIbility of a Custom/Semi-Custom design, and the standard
Board deSIgn methodolgy.
The defInition of PLD whIch I am USIng for the purposes of thIs
paper IS very ieneraL A Programmable Logic Device IS any
device, whIch can be programmed by the user, to realize a chunk
of combinatorial or sequentIal logIC. A subset of the most
popular, or newest types of PLD's are: PAL's, PLE's(Monolithic
Memories), EPLD's(lnte~ Altera), EEPLD's(Lattlce), FPLA's,
FPLS's(SIgnetics), LCA's(XIlInx), and ERASIC's(Exel). All
except the last two are based on some form of twolevel(AND/OR} regIstered array logIC. I WIll mainly be concerned
Wlth two·level array logic deVlce5.

lntegraung the ITJaJor devices of a board together Involves much
"glue" logIC. The typlcforgan's mverslOn, In AND/OP type PLD aIchIteClures. With
InverSIOn controlm the I/O mao ocells. reier; to loglcallv In"ertmg
an output signal phase m such a ""ay that the number of p-terms
IeallZlng the complement iunctIon IS less thar, t.he ongmal
funcoon. ThiS can save the user from an un-solvable p-term fItung
problem due to too many p-terms when usmg one sense of an
equation. F'or deVices \"Ith Single output macfocell:.lIl.e PALs.
and EPLDs, thecomplement oi the smgle output equatIOn 15
computed and then mlfJlffilZed. The sense of the equation With
the least nurc.ber oj p-terms 15 then the one that IS unplemented
In the deVice lmder programmmg.
Fitting and Pin Assignment
The fltung and pin assignment problem refers to compiling a
deSign fIle. and haVIng the compiler automatically choose those
delilce resources and pms that the user did not assign In the
deSign fIle. In the past. del'lce architectures have been Simple
er,ough and small enough 50 that flttmg and pm assignment were
not a problem for the user. NOlli. With mcreasIng Size, complexitY',
and non-homogeneity of the deVice al cllltecture. a heuristic GAD
tool, "Ihlch 15 lIke an automatic place and route tool, 15 a necesslt"
If a deVice architecture IS homogeneous 'Mth respect to ltructure
and lesources. fIttmg 15 not a problem. a5 there 15 no contentl>Jn
feeT resources or placeme-flt of tho3e reSOlJfCE'5 Flttmg 15 a
problem when tllere are multiple clocks and tvpe S of cloCY.5 ..
muluple deVice sectJons(lIte quadraIltsl, "dr'lIng numbers 01 pterms per quadrant, produCl term sharIng and 5teermg. mput pms,
I/O maclocells 01 var:llng t'ipe5, or buned registers. The greatel
the nurnber and size of the features, the greater the fIttmg
problem. '.!,lahout a tool to help, the deSigner must do the fIttmg
by hand,leadJng '0 err»!·s and r.ot fmdmg an ,llo'-,'able fit.
Some of the large scale de"lces tlB.! eXhibit these problems are
Intel'51 Altera" 5I 5,::'1211 EP1210 I and 5C'180, EP18001 The IIttmg
and alttomatlt pm a5:1gnmfnt tools ot IPLDS reheue the user
from havmg to IjeallMth thIS pI oblem

Future PLD tools 'A/ill depend more arJd more on logiC
ITlIfUmlZatlOn. Just as a Iugh-Ie'lellanguage prograrnmer looks

4·64

3. Future PLD OptilDiziltion ',fools

Conclusion:

TIlls seCtIon descnbes new dlreCtlons lor PLD dellelopment
systems opttrruzatlon tools. Opttrruzatlon tools must be near
transparent to the user to get umversal acceptance. 01 the four
opttrruzatlon tools mentloned above, all but the FSM compiler tool
satlsfy that cntenon.

We have surveyed the reasons for, and components of PLD
development systems, With emphaSl5 on the Hardware
Descnption Languages, and optunizatlon methods 10 such
systems. The conclUSions of the survey are that the HDL's are
the essential cornerstone of any PLD system, and WIll control the
future dlreCtlons of any new PLD development tools. The second
conclUSion IS that two-level logiC rrururruzatlon, FSM compiler,
and automatlc fitting tools are the most unportant In the PLD
optlmlZlltlon area. Also, recent breakthroughs and public
aval1ablbty of heunstlc llllIlllIllZers pomt to mcreased use of such
tools. FiIW\y, future direCtIons, and an expanding market mdlcate
a Wide range of new tools will appear. The key emphasis W1Il be
on makmg them transparent to 'the user, who, when alliS said and'
done, knows how to deSign logiC best I

There are baslca\ly two types of opttrruzatlon tools which W1Il
appear 10 the PLD arena. The first type are tools which are
ported from, or mterfaced to the Custom/Serm-Custom
enVIronment The current logiC descriptlon and synthesIs tools of
silicon compilers and Custom/Serm-Custom CAD tools fit mto
this classificatIOn. The second type are new tools which W1Il
address the architecture-specifiC opttrruzatlOn Issues. The tools 10
this group W1Il use methods based on logiC opttrruzatlon and
expert·system techruques. These two methodologies W1Il be
applied to taking abstact speclflcatlons and reahzmg them
automatlca\ly mto multiple deVices, or 10 talang multlple abstract
specificatIOns and realizmg them 10 one deVice.

References
[1] R. Rudell and 'A. Sanglovanm-V'mcentelll, "ESPRESSO-MV:
Algonthms for Multlple Valued LogiC MlTllIlllZlltion", 10 Proc.
Cust Int Crrc. Conf.,IEEE, Portland, OR. May, 1985.

Portation of Custom/Semi-Custom Tools:
Available Ideas ready for porting to the PLD enVIronment down
the HDL path mclude lrnplementlng a subset of VHDL(VHSIC
Hardware Descnptlon Language)[S], and haVIng ttie complier
produce an EDlF(EleCtlomc DeSign Interchange Format) [6]
mtermediate format In this way, mterfacmg With other toolboxes
of any type W1l\ be easier. New deVice support W1Il also be easier,
given the genenc nature of VHDL. Usmg VHDL would also
standardize an HDL, and allow deSigners to learn one HDL
which W1Illast for a long lime. Also, PLD.tools which mterface
With the CU5tom/Serm-Custom toolset mvolV1ng board deSign,
testlng and manufactunng IS needed now, and IS bemg addressed
by the malor CAD vendors. Standardization, like VHDL and
EDIF will. eventually,lower the cost of the3e mterfaces ..

[2] M.R. Dagenais, V.K Agarwal and N.C. Rumm, "McBoole: A
New Procedure for Exact LogiC MlnlfIllZatlon", IEEE Trans. on
CAD, Jan. 1986, 229-238.
[3]1.1. Bartholomeus and H.D. Man, "Presto-lI: Yet Another
LogiC Mmrrl'llzer for Programmed LogiC Arrays", Proc. Int Symp.
Crrc, Syst, June 1985,58.
[4] R. Rudell, "Multlpl~Valued LogiC MlnlfIllZatlon far PLA

SyntheSIS", M.S. TheSl5, Umverslty of Cabfarma, Berkeley, 1986.
[5] V. D. Agrawal, ed.. "VHDL: The VHSIC Hardware
Descnptlon Language", IEEE DeSign and Test of Computers,
Apn~ 1986.

The new logiC rmmrmzatlOn algonthms, like Espresso, and new
state assignment tool3,IiI'e KISS[7] and STASH [81can be used 10
the PLD enVIronment The algonthms and methods of tools
InlloIVIng placement and routlng can be applied to the flttlng/pm
assignment problem. On the logiC syntheSIS Side, new tools
which combme expert·systems With multl-Ie'/elloglc opttrruzatlOn
can be applied to PLD deVIces which allow multi-level logiC to be
easllv unplementecl

[6] lP. Eunch. "A Tutonal IntroductIOn to the Electromc DeSign
Interchange Format", In Proc. of 23rd DeSign Automation
Conference, JuIv, 1986,321-333.
[7] G DeMlcheb, R.K. Brayton. and A. Sanglollanm·Vmcentelli,

"Optlmal State ASSignment for Fimte-State Machines", IEEE
Trans. on CAD, July, 1985, 269-285.

The key pOlnt,lITegardles5 of the actuallools from the
Custom/Berm-Custom arena winch are produCtlZed IS that the
U3er halle an essentlall" transparent '!lew of anI' new opturnzatlon
tool;

[B1 A. 1. Coppola. "An Implementatlon of a State ASSignment
Heunstlc", In Proc. of 23rd DeSign AutomatIOn Conference, July
1986, 64H49
'

Once a PLD IS manufactured, the funCtlonabl'J cannot be
changed. TIlls fact leads to the belief that tools can be created
which map logiC, which 15 too big or too slow, mto multIple
de'!lces by domg automatic logiC partJUomng. The converse
problem of flttlng multlple churu.s of commumcatlng logiC Irlto one
de,~ce mal' also be addJes3ed Tools to Ilt multiple state
machmes rota one de'~ce, or to partltlOn a schematic or FSM mto
tu'o or more de'IlCe3 IS a Ilrst step For example, the [lice
Exarnplel Flgw 831·31 has three small state machines, which are
Integrated 1010 one de'~ce and deSign flle. Expert-system3 can
capture the rules for partttlDmng, and the database of all allowable
deVices, "'hlie optmuzatJon techmques canmaJ..e the experts"stems "Jorl' as ','ell as, or better than a logiC deSigner

4-65

Dice Example Description

Th. Die. Example ShDWS th. useful"ess of logic minimizatiDn.
Figure 2 shows th. FSM Language(State MachinoFilel
.
repr.senlation of the Oico Example und., the iPlDS sy51om.
Figuro 3 shows the AOF cod. which resulted. as .. inlorm.diate
SloP. in the compilatiDn ProcfSS.

Probl.m: O.. ign a.circuit thaI will rO.II two dice. Push a switch 10
start th. dic. rDmng. Wh." the switch is released. a (ps.udol
random sel Df numbers will be displayed.
'
The .x....pl. is wrilll!n using th' FSM cDmpiler module of iPlDS.
This oxample is a mDdification of an .>lisling Application NOIo[AP219] design. which is written in AOF language.
Th. Oic. Example pseudo-randomly rolls iwo dice. The Dice
Example is cDn\pos.d of th .. e FSMs·. Th. firsltwD are essentially
up-counlers. which cDunl from on. II' six. using th. notatiDn grDuPs
Df Dn. Dr twD LEO·s. for .ach Df lour Dutputs. 10 reproseRlthe six
faces !,f a die. A PI.clure which indicales the LEO groupings by
listing .the !Output signal nam. nexllD th. LEO cDntrDlied by is
gIven on DIagram I. Th. groupings for bDth die aro id.ntical. and
:'
honce. li51ed nex110 each Dther

Th. target device. th. 5C060. has 18 '1/0 macrocells. but each
macroc.1I has Dnly .nough rDDm for 8 p-torms. Ther. ar. 11
.qUaliDnS thaI r.suh from th. Dice Example design. Four for .ach
die. to cDmrDI1ho LEO·s. and three frDm th. 51ate variabl.s of th.
Un.ar Feedback Shift Regi51er.
We pros.nl a b.lo.. and aft., minimizatiDn table. showing th. efIoCI
Df the mini,!,izalion and the automatic O.Morgan·s Inversion Slop.

it:

The third machine generales a shDn pseudD-randDm bil sequnce by
implem.nting a Unear Feedback Shift Regislor(LFSRI • with three
roglsters. The ps.udo-random bit sequ.nc.s from the LFSR are
used to add prDbabilistic transitions tD the up-counlor mod.1 of
each die. Th. implementation of th. LFSR is by s.tr&igh!
,
memorization of the sequence, by means of ttle state variables of an
up-counter.

Dice LED Encoding

Ib,2b
Id,2d
le,2c

•••••
.la,2a

•

Ie, 2e

p-torms lH.rms
before aItor
min

Equation

Inputs

min

Sv3.d
Sv2.d
Svl.d
2d.d

3
3
3
6

3
3
3
3

2o.d

G

2b.d
2a.d
Id.d
IC.d
Ib.d
la.d

6
6
6
6
6
6

,•
10
3
9
5
10

,2
2

2
3
4

4
6
3
4

4
1

A nec.ssary cDnditiDn 10 fit inlO th. 5C060 is thaI all of th. numbers
in th. la51 cDlumn be no more than 8. as there are nD more than 8
p-1erms cDnnecl.d 10 "II' macroe,II. This particular prob"m took 2
monut•• 1'1 CPU Ume Dn an 8MIlz PC/AT. Reducing these .qualions
by hand. evon fDr this simple .xampl•• would b. difficuh. The ne.d
for th. autDmatic minimizor is clear in this .xample. Without it. a
designer would either hav. 10 reduct the eqations resulting frDm th.
FSM languag. by hand, Dr nI'l us. an FSM languag. at all. and do
the whole d.sign using hanlkraft.d m.thods.

Id,2d
Ib,2b

Die I Signals: I a, I b, Ie, I d
Die 2 Signals: 2a, 2b, 2e, 2d
Figure I.

4-66

Dice Example
FSM language(SMF) Description

"

Slat. variables are used as oUIPuts to die.
Each state encodes the set of LEO's 10 light
10 realize that die value

"

Alan Coppola
Intel

Jul, 21, 1986

Pill No.: lasVegas

VIt.3.0
5C060
Roll a pair of die
LB Version 4.01, Baseline 21.1 4/9/86
PART: 5C060

STATES [la lb lc ld]
Reset
[0 0 0 0]
One
[1000]
Two
[0 1 0 0]
Three
[1100]
Four
[0 1 1 0]
Five
[1110]
Six
[0 1 1 1]

"
"

" No pins assigned:
.
Automme Pin Assignment and FlI1mg "

Com2 15 a pseudo-random coin which controls the
up-<:ounler transitions, so thaI the dice roll is
ps.udo-random

INPUTS: clkl, elk2, Go
OUTPUTS: 1a. 1 b, 1c, 1d, 2a, 2b, 2., 2d

l

Reset
II Go Then One
One
II Go.Coin2 Then Two
Two:
II Go.Coin2 Then Three
Three:
II Go.Com2 Then Four
Four:
II Go.Coin2 Then Five
Five:
II Go.Coin2 Then SIX
SIX.
II Go.Coin2 Then One

NENORK:
cUd = INP(elkl)
elk2 = INP(clk2)
Go = INP(Ga)
;ree term LFSR. implemented b, storing sequence
in S!ale vanables, which act as nipping coins

"

MACHINE: lFSR
CLOCK. clk2
STATES: [Cainl Coin2 Coin3]
se [000]
SI
[108]
S2
[110]
S3
[011]
S4
[1 01]
S5
[010]
S6
[0 0 1]

MACHINE Oie-./\olU

"
"

Duplicate of Dle_RoIU machine, except for
a dihrem die, using a differenl pseudo-random _om.

"

S!aIe equmons are:
Coin2 := Coinl
Coin3 := Coin2
Coinl := /(Coin2 lOr Coin3)

"so:
SI
SI'
S2
S2:
S3
S3:
S4
S4'
S5
S5:
S6
S6:

CLOCK _1k2
STATES:
Res.1D1I2
OneOie2
TwoDie2
ThreeDie2
FourDie2
FiueDie2
SixD.. 2
ReselDi.2·
II Go.Coin3
Dn.Dle2:
II Go.Coin3
TwoDie2'
II Go.Coin3
ThreeDie2.
II Go.Coin]
FourDie2.
II Go.Coin]
FiueDII2
II Go.Coin]
SixDII2'
II Go.Coin]

so

MACHINE: Oie_RoIU
CLOCK: elkl

ENDS

Figure 2.

4-67

[20 2b 2_ 2d]
[0000]
[1 000]
[0 1 0 0]
[1 1 0 0]
[0 1 1 0]
[1 1 1 0]
[0 1 1 1]
Then DneDie2
Then TwoDle2
Then ThreeDle2
Then FourD .. 2
Then Fi.eDle2
Then SixDi.2
Then DneDie2

inter
Dice Example'
Hardware Description Language(ADF)
AI.. Coppola
Intel
July 21. 1986
Pan No.: lilSVegilS
Ver.3.0
5COBO
Roll a pair of die
LB Version 4.01. BilSeline 27.1 4/9/86
SMV Version 1.01 BETA2 Baseline 26.1 4/3/86
PART: 5C060
INPUTS:
elkl. elk2. Go

X

Reset = la"lb"lc'ald';
One = 1a'lb'alc'ald';
Two = "'olb'lc"ld"
Three = hOlb'lc"ld';
Four = 1a'ol b'l c'l d"
Five = h'lbOlc"ld';'
Six = la'olbolc'ld'

.

X

elkl = INP(elkll
elk2 = INP(clk2)
Go = INP(Go)
X

Three term LFSR. implemented by storing sequence
in state variables. which act ilS flipping coins.
X

X
I/O's for State Machine "LFSR"
X
Coinl = NORF(Coinl.d. clk2, SNO, SNO)
Coin2 = NORFICoin2.d. clk2. GNO. GNO)
Coin3 = NORFICoin3.d, elk2. SNO. GNO)
X
I/O's for Stale Machine "Oie_RolI_l"
X
la. la = RORF(1a.d. clkl. GNO. GND. VCC)
lb, Ib RORF(lb.d, clkl. SND, GND. VCC)
Ic. lc = RORF(1c.d, elkl. GND. GND. VCC)
ld. Id = RORF(1d.d. clk1. SNO. SND. VCC)
X
I/O's for State Machine "Die_RoIU"
X
2a. 2a = RORF(2a.d. clk2. GND. GND. VCC)
2b. 2b = RORF(2b.d'. clk2. GND. SND. VCC)
2c. 2c = RORF(2c.d. clk2, GND. GND. VCC)
2d. 2d = RORF!2d.d. clk2. SND. GND. VCC)

=

EQUATIONS:
X
Boolean Equations for State Machin. "LFSR"

.

X

Current State Equations for "LFSR"
X
SO = Coinl"Coin2"Coin3';
SI = Coinl'Coin2"Coin3';
S2 = Coinl'Coin2'Coin3';
S3 = Coinl"Coin2'Coin3;
S4 = Co,," I'Coin2"Coin3.
S5 = Coinl"Coin20Coin3';
S6 Coinl"Coin2"Coin3;
X
SV Defining Equations for Stat. Machine "lFSR"

=

Coinl.d = SI.n + S2.n + S4.n;
Coin2.d = S2.n + S3.n + S5.n;
Coin3.d = S3.n + S4.n + S6.n;
X
Next State Equations lor Stat. MachIne "lFSR"
X
SI.n = SO;
S2.n = SI;
S3.n S2;
S4.n = S3;

=

X

X
Current Stato Equations lor "Die_RolLI"

X

NETWORK:

X

X

Boolean Equations lor State Machine "Die_Roll_I"

SV Dolining Equations lor Stale Machine "Die_Roll_I"

OUTPUTS:
h. lb. lc. ld. 2a. 2b. 2e. 2d

X

S5.n = S4;
S6.n = S5;

h.d = Dne.n + Three.n + Five n;
lb.d' = One n + Reset.n;
lc.d = Four.n + FiYe.n + Six.n;
Id.d = Six.n;
X
Next Siale Equations lor Slate Machme "Dio_RoILl"
X
One.n = Six a Go a Coin2 + One" (Go a Com2)'
+ Rosel' So;
Res.l.n = Res.1 • (Gor.
Throe.n = Thr., • (So' Coin2r + Two" Go " Coin2,
+ Three" Go • Coin2;
Four.n = Four' (Go' Coin2r
Five.n = Fivo • (Go' Coin2r
+ Four' Go • COln2,
Six.n = Six " IGo a Coin2r
+ Fi •• a Go " Com2;
X

Bool.an Equations lor Slat' Machin. "DI._Rol'-2"
X
X

Currenl Siale Equabons for "Oie_Rol'-2"
X
Re.etOie2 = 2a"2b"2c"2d"
OnoDie2 = 2aa2b'"2c"2d'; ,
TwoDie2 = 2a'a2b a 2c"2d',
Thre,Oie2 = 2aa2ba 2c'a2d',
FourOie2 = 2a'.2b"2c a 2d',
Fi.eDie2 = 2.'2b a 2ca 2d';
SixOie2 = 2.'a2b a 2c'2d·
X
'
SV Defining Equations lor Siale Machino "Oio_RolI_2"
X

2a d = OneDie2 n + ThrooDi.2.n + FivoDi.2 n,
2b.d' = OnoOi02.n + RosotOi.2 n,
2c d = FourOl02.n + Fi.eDie2.n + Si.o102.n;
2d.d = SixOie2.n;
X
~oxt

Sialo Equations lor Sial. MachIn. "Oio_RDI'-2"

On.Oi02.n = SixD,02 a Go " Coin3
+ OnoOi.2 a (Go a COln3),
+ Res.tOi.2 a Go a Coin3,
R.s.tO,.2.n = R.sotO,.2 • (Go" CDin3),;
Thr.eOi.2 n = Thre.0,.2 " (Go a Coin3"
+ TwoOi02 • Go " Coin3;
FourOie2 n FourOi.2 a (Go a CDin3"

=

... ThreoDio2 • Go • Coin3;

F,.eOi.2 n = FiveOi.2 a (Go a CDin3)'
+ FourDie2 a Go a COin3;
SixQl.2.n = SixOi02 " (Go a CDin3),
+ F1v.DI02 • Go " Com3,
ENO$

Figure 3,

4"68

Appendix

5

EPLD THIRD PARTY PROGRAMMING SUPPORT*
Company

Model

Type

Adams/Macdonald P11
Universal
Enterprises
(Promac)
Sprint Plus Universal
Data 110

Oigelec

Kontron

Module

Adaptor

Devices Supported

-

PA-1

5C031 , 032, 060

-

-

5C031 , 032, 060

29B

Universal LogicPack 303A-010 V.2
5C090,121
303A-011AV.7
5C031,032,060,5AC312
V.4
303A-011 B (PLCC) 5C060

40

Universal

-

-

Chipsite (PLCC)

5C031,032,060, 090, 121
5C060, 090,180

60A/H

Logic

-

-

5C031 , 032, 060

Unisite

Universal

-

Site 40
Chipsite (PLCC)

5C031 , 5C032, 5C060, 5C090,
5C121,5AC312
5C090, 180

PLO

-

-

5C031 , 060, 121

803-0P5

Logic

-

-

5C031 , 060, 121

EPP-80

Universal UPM/B
UPM/C

-

5C031 , 032, 060
5C031,032,060, 090, 121

803-LOC

Oliver Advanced
Engineering

Omni64

Universal

-

OM-S-20 LCC
OM-S-24 LCC

5C031
5C060, 090, 121

Stag

ZL30

Logic

-

5C031 , 032, 060

ZL30A

Logic

-

30A640

5C031 , 032, 060
5C031,032,060, 090, 121,180

-

-

5C031 , 060

-

5C031,032,060,090, 121

ZL33

Gang

PPZ

Universal ZM2200

·Claimed by the manufacturer to support the listed devices. Not qualified by Intel.

5-1

PLA TO EPLD REPLACEMENT
Already in wide use throughout the electronics industry are numerous different Programmable Logic
Devices. Many of these are PALs from MMI. Currently, two of Our EPLD products, the 5C060 and
5C031 can functionally replace most 24-pin and 20pin PALs, respectively. A third product, the 5AC312,
with its architecturally advanced features, can replace most designs using more complex PALs such
as the 20RA10, 22Y10, and 32V10.

SC031/SC032 As a 20-Pin PAL Replacement

- 100%
Compatible
10H8, -2
12H6,72
14H4, -2
16H2, -2
10L8, -2
12L6, -2
16L8, A-2, A-4
16R4, A-2, A-4
14L4, -2
16L2, -2
16R8, A-2, A-4
16R6, A-2, A-4
16P8, -2
16RP8, -2
16RP6, -2
16RP4, -2
16V8
These are
25 ns-45 ns PALS.

The 5C031
The 5C031 is a direct, drop-in replacement for most
20-pin PALs, although some PALs have an incompatible architecture.

The 5C060
The 5C060 is NOT a drop-in replacement for any 24pin PAL, though it cari functionally replace most. The
reason for this is that pin 1 is used as the main clock
on registered PALs and as an input on non-registered. Also, pin 13 is used as an OE line on some
PALs, and as an input on others. The 5C060, however, uses pin 1 as the left-half synchronous clock input and pin 13 as the right-half synchronous clock
input.

Functionally
Compatible

16R6A
16R4A
16L8A
16RP6A
16RP4A
16P8A
16R8A
16RP8A

These are
15 ns PALs.

SCOSO As a 24-Pin PAL Replacement

While that may not be a problem in some PAL designs, those designs that require clocking or inputs
on pins 1 or 13 will necessitate hardware modifications. In the case of the registered PALs; the connection to pin 1 must be rerouted to pin 13 and the
OE connected to one of the available inputs (if
used). hi this manner, the 5C060 can functionally
replace the PAL.

The 5AC312
The 5AC312 is a direct, drop-in replacement for the
20RA 10 as well as many of the other simple 24-pin
logic devices. The 5AC312 can also serve as a dropin replacement for most designs using the 22V10 or
32V10 devices.

Modified
Replacement

Functionally
Compatible

12L10
14L8
16L6
18L4
20L2
20L10
20L8
20RB
20R6
20R4
20RAlO

20L8A
20R8A
20R6A
20R4A

With hardware
modifications

These are
15 ns PALs.

5AC312 As a 24-Pin PAL Replacement
100%
Compatible

20L8
20R8
20R6
20R4
20RA10

5-2

100%
Compatible
(Qualified)

22V10
32V10
Dependent on the
number of product
terms used.

I

ORDERING INFORMATION
Intel EPLDs are identified as follows:
M

5

D

.'-.-1 '-.-I

C

'-.-I

X

X

I..

I

S

X

T

S

I..

)

)
Speed

Device

Technology
C -CHMOS
AC - Advanced CHMOS
Package Type
A

-

D

-

Hermetic, Type D (Cerdip) Dip

N

-

Plastic, Leaded Chip Carrier

CJ -

Hermetic, Pin Grid Array

Ceramic, J Leaded Chip Carrier

P

-

Plastic Dip and Plastic Flatpack

R

-

Hermetic, Leadless Chip Carrier

X

-

Unpackaged Device

+ 125°C)

A-

Indicates automotive operating temperature range (-40°C to

J -

Indicates a JAN qualified device, but is for internal identification purposes only. All JAN devices must
be ordered by M38510 part number. (Example: M3851 0/42001 BQB), and will be marked in accordance with MIL-M-38510 specifications.

L -

Indicates extended operating temperature range (- 40°C to
± 8 hrs. dynamic burn-in.

+ 85°C)

express product with 160

+ 125°C)

M-

Indicates military operating temperature range (- 55°C to

Q-

Indicates commercial temperature range (O°C to 70°C) express product with 160 ± 8 hrs. dynamic
burn-in.

T -

Indicates extended temperature range (- 40°C to

-

+ 85°C) express product without burn-in.

No letter indicates commercial temperature range (O°C to 70°C) without burn-in.

Examples:
QD5C060-45 Commercial with burn-in, ceramic Dip, 060 (600 gate) device, 45 nanosecond.
'On military temperature devices, B suffix indicates MIL-STD-883C level B processing.

5-3

Device feature Comparison

INPUTS
Dedicated
Maximum
Input Latches

5C031

5C032

5C060

5C09O

5C121

5C180

5CBIC

5AC312

5AC324.

10
18

10
18

4
20

12
36

12
36

12
60

8
16

10
22

12
36

Y

Y

Y

24

Y

1/0
Number
Tri-State
Programmable
Polarity

B

8

16

24

24

48

32

12

Y
Y

Y
Y

Y
Y

Y
Y

Y

Y

Y

Y

Y

y

y

y

y

y

MACROCELLS

8

8

16

24

28

48

8

12

24

REGISTERS
Number
Types

8

8

16

24

28

48

8

12

24

0

0

OfTf

OfTf

0

OfTf

OfTf

OfTf

OfTf

RSfJK

RSfJK

RSfJK

RSfJK

RSfJK

RSfJK

Y

Y

Y

Y

y
y
Y

y
y
y

y
y
, y

112

200

2

2

Y

Y

Y

Y

Buried Reg. S
Preload
By-Pass
Reset
Preset
PRODUCT TERMS
Number
Sharing
Variable Prod.
Term Distribution

4
Y
Y
Y
Y

Y
Y
Y

74

72

Y
Y
Y

160

Y
Y

y

240

Y

CLOCKS
Asynchronous
Clocking
Programmable
Clock Edges

TURBO BIT
(LOW POWER)

236

y.
y

480

394

y
Y

LOCALfGLOBAL BUSSES

SECURITY BIT

Y

y
y

2

2

Y

Y

2

Y

4

Y

Y

y

y

y

y

y

y

y

y

y

y

y

y

y

y

y

y

5-4

ELPD CUSTOMER SUPPORT
Transmit/receive protocols supported are:

Hotline

ASCII
XMODEM
KERMIT
TELINK
Cyclic Redundancy on XMODEM

The Intel EPLD Technical Hotline is manned byapplication personnel from 8:00 a.m. to 5:00 p.m.
(PST) every business day. The number for the United States and Canada is 1-800-323-EPLD (1-800323-3753). Outside of the U.S. and Canada, contact
your local Intel Sales Office. The Hotline is provided
to assist with technical questions concerning Intel
EPLDs.

EPLD Customer Design
Support Center
Intel has a Customer Design Support Center to help
customers who are implementing EPLD designs.
Service includes answering questions, device selection assistance, and design partitioning as well as
limited prototyping, and product/design evaluation
and implementation. For more information on the
Design Support Center, contact your local Intel field
sales office.

BBS
Intel has a Bulletin Board System for registered iPLS
and iPLS II customers to electronically transfer information. Any registered person with a modem can log
onto the system. The current number is (916) 9852308. If your communication software supports file
transfers, you can receive utilities, software updates,
and the latest information on EPLDs via the Bulletin
Board.
Data format for the BBS is as follows:
Start Bits: 1
Stop Bits: 1
Data Bits: 8
300 or 1200 BAUD
Speed:

5-5

COMPATIBLE COMPUTERS FOR iPLDS II
A partial list of computers that have been verified to be software compatible with the Intel Programmable Logic
Development System (iPLDS II) is given below:
AT&T 6300 and 6300+
Compaq family of PCs (88, 86, 286, 386)
IBM AT
IBMXT
IBM XT-286
IBM Personal System II Model 30
.
HP Vectra
Sperry IT
Tandy 3000 HD
The IBM Personal System II Models 50, 60, 70, filnd 80 can run iPLS II (Intel Programmable Logic Software)

5-6

inter

DOMESTIC SALES OFFICES

ALABAMA

GEORGIA

NEW MEXICO

~~~~Dr,#2

=~o~~p8l'kway

~nJg'~UI Boulevard N E

Tel (205) 830-401 0

Norcross
Tel (404) 449-0541

¢:u;e~~~

ILUNOIS

NEW YORK

~~ ~n:~le Road, Suite 400

Intel Corp
127 Main Street
Binghamton 13905

HuntsVIlle 35805

Su/te200

30092

Suite B 295

TEXAS

t~3teJ C:n~erson

Lane
Suite 314
Austin 78752
Tel (512) 454-3628

ARIZONA

n~1rCBthDr

SUite 0-214

PhoeniX 85029
Tel (602) 869-4980

n~f~:Dorado Place

Sude301

Tucson 85715
Tel (602) 299-6815

ri(~~~!t~
INDIANA

~~~I~~1ue Road

SUite 125

CAUFORNIA

~~~~~~:~owen Street

~e~l(g~~~t=
IOWA

~Jgl ~~perial Highway

,~~~:~eys Othce Park
Fuportl4450

Intel Corp
1930 SI Andrews Drive N E
2nd Floor
Cedar Rapids 52402
Tel (319) 393·5510

OaHas 75234

~:'x(~I~!~~~~
tlntel Corp·
7322 S W Freeway
Suite 1490
Houston 77074

~7~~b.~25sa.2.J~

i~!rPJ~~9~

~:I~i~sway Dr , South

UTAH

Islandia 11722

SUlle116

i:n(W:8r~~

~~x(8~j_~~~~

tlntel Corp "
12000 Ford Road
Su1le400

~~5~~~~j~6

l1n8~~rc..OO South
Suite 104

~~n;b1';'J~-8051
VIRGINIA

Sulte21B

~~F(ar:)~=
tlntelCorp

~~~~r:ra

:'11 ~Ulte 101

Tet (916) 920-8096

KANSAS

tlntelCorp

~=51~~~1~~

0

Overland Park 6621 0
Tel (913) 345-2727
MARYLAND

SUltel05

tlntel Corp "
7321 Parkway Dnve South
SUlteC
Hanover 21076

tlntelCorp·

~~~b?:i~~

400 N Tustin Avenue
Suite 450
Santa Ana 92705

~f~~~S:S~~l4
;~te+~~~

2700 San Tomas Expressway

SUite 105
Charlofte 28212

tlntelCorp
7833 Walker Drive
SUite 550
Greenbelt 20770
Tel (301)441.1020
MASSACHUSETTS

tlntel Corp"
Westford Corp Center
3 Carlisle Road
2ndFJoor
Westford 01886

COLORADO

~5~~~~

tlntelCorp
4445 Northpark Drive

SUite 100

~r(o/,~) ~C2'6%k80907

~~~~ St, Surte915
~~b~~,-:
CONNECTICUT

tlntelCorp
26 Mill Plain Road

~~b!i:\',~
~~::~~Sulte 100

Tel (305)771..Q6O()
TWX 510-956-9407
FAX 305-772·8193

ttntelCorp
5850 T G Lee Blvd
SUite 340

Orlando 32822

~~(~Ji.~~
tlntelCorp
11300 4th Street North

SUite 170

WASHINGTON

~t(77~~

tlntelCorp
155 1081h Avenue N E
Suite 386
Bellevue 98004

OHIO

tlntelCorp
408 N Mullan Road
Suite 102
Spokane 99206
Tel (509) 928·8086

~~~~:

tlntelCorp "
3401 Park Center Dnve
SUite 220

~J;~5i.s:208
~~~~ ~~~

Park Dr, SUlle 100
BeachWQOd 44122
Tel (216) 464·2736

lWX 81()..427-9298

MICHIGAN

Suite 100
West Bloomfield 48322
Tel (313) 851·8096

CANADA

OKLAHOMA

Intel SemIconductor of Canada, Ltd

t~~~1 ~o:oadway

SUite 115
Oklahoma City 73162
Tel (405) 1J4&.8086

MINNESOTA

tr::~o~1fith

wtSCONSIN

tlntelCorp
330 5 Executive Or
SUite 102
BrOOkfield 53005
Tel (414) 784·8087
FAX (414)796-2115

BRITISH COLUMBIA

t~~~ 8r'~Ward Lake Road

~~~a~~n~~ ~LaJ' SUite 202
Tel (604) 298-0387
FAX (604) 296-8234
ONTARIO

OREGON

St, Sulle 360

c:re

Bloomln~lfn 55431

t~~;'..

MISSOURI

~~5~rb~i~~11

~6J~b-a::q82f7

2nd Floor

FLORIDA

tlntelCorp

5800 Executlve Center Or

l!rJ8l~ut,ye Dnve

~( (~I~04~~~l~

NORTH CAROUNA

tlntel Corp
1504 Santa Rosa Road
SUltet08
Richmond 23288
Tel (804) 282-5668

tlntelCorp
4203 Earth City Expressway
SUite 131
Earth City 63045
Tel (314) 291-1990
NEW JERSEY

~~~~~rro~ Office Center

328 Newman Springs Road
Red Bank 07701
Tel (201)747·2233

~WJ~c;o~ate

Center
75 liVingston Avenue
First Floor
Roseland 07068

~t(22~V.i:~~ill

Greenbrier Parkway
BUildingS
Beaverton 97006

PENNSYLVANIA

tlntel Corp·
455 Pennsylvania Avenue
5ulte230

~~~(~~h~~~OriJ'034

tlntel SemICOnductor of Canada, Ltd
2650 Queensvlew Dnve
SUlte25()
Ottawa K2B 8H6

i~ (~~-4~i59714

tlntel Semiconductor of Canada, Ltd
190 Attwell Ortve
SUite 500
Rexdale M9W 6H8

i~(~~~~1105

FAX (416) 675--2438

TWX 51 Q..661·2077

QUEBEC

Intel Corp·
400 Penn Center Blvd, SUite 610

t~nJ~tS~~~~~~~~~f Canada, Ltd

~~~~r~h8~~~~70

POinte Claire H9R 3K2

~~5J1~~,~

PUERTO RICO

t::~ ~g~~~~~ Corp
PO Box910
Las Piedras 00671
Tel (809) 733-8616

~~~i~~~~'6

tSales and Service Office
·Fleld Applicabon Locallon

CG/SALE/l11088

inter
DENMARK

EUROPEAN SALES OFFICES
WEST GERMANY

ISRAEL

SPAIN

Intel"
Dornacher Strasse 1
8016 Feldklrchen bel Muenchen

Intel'
Abdim Industrial Park-Neve Sharet
PO Box43202
Tel-AvIv 61430

Intel
Zurbaran,28
28010 Madrid

+~ (~bOW~90992-O
FAX 9()4..3948

~ (Wr~2~98080

FINLAND

+~(~~04004
SWEDEN

Intel
HOhenzoilern Strasse 5
3000 Hannover 1

'"~

Ruosllantle2

00390 Helsinki

+~~~644

FRANCE
303
-en-Vvellnes Cedex

7000

+~ (~~1~/344081

ITALY
Intel'
Intel'
Mllanoflori Palazzo E

20090 Assago
Milano

Intel
Abraham Lincoln Strasse 16-18
6200 Wl8sbac\en
Tel· (49) 06121/1605-0
TLX 4-186183

+~~~1~ 824' 40 71
NETHERLANDS
Intel'

Intel

Intel
4, Quai des Etrorts
69321 Lyon Ceclex 05
+~ (3;:kN~ 784240 89

=AV~~=~:a

~:frso~!

+~ (~~~J34 01 00
SWITZERLAND
Intel
ZU9flchstrasse
8185 Wlnkel-Ryah bel Zuench

i~~~5~V?60 62 62

+~(~~2~4071111

UNITED KINGDOM

NORWAY

Intel'

Intel
Hvamvel8n 4-PQ Box 92
2013 Skletten

m!fJo~A 842420

~=O,,:::a~IHShlre SN3 1RJ
H'''i~i1J 696000

EUROPEAN DISTRIBUTORS/REPRESENTATIVES
AUSTRIA

we:ST GERMANY

Bacher ElectronICS G m b H.
Rotenmuehlgasse 26
1120Wien
Tel. (43) (0222) 83 56 46-0
TLX 131532

NETHERLANDS
Koning en Hartman

~~'r~~~

Tel (31) 15609906
TLX 38250

UNITED KINGDOM
Accent ElectroniC Components Ltd
Jubilee House, Jubilee Road
Letchworth, Herts SG61TL

+~(~~2) 686666

BELGIUM

~~a:~o:'rntGmbH

NORWAY

~~w~nab~::ms

lnelco Belgium S A
Av des CrOIx de Guerre 94
1120 Bruxelles
~skrwsenlaan, 94
1120 russet
+~!~~;) 216 01 60

Bahnhofsttasse 44

Nordls!<. Elektronlkk (Norge) AjS
Postboks 123
Smedsvlngen 4
1364 Hvalstad

Western Road
Bracknell RG121RW

~~1~~~¥~879
Jermyn GmbH
1m Dachsstueck 9

DENMARK

~~~:~.Jf508.0

ITT-Muitlkomponent
Navertand 29
2600 Glostrup

Metrologl8 GmbH

+~(~~2456645

~~I~iI:::~7t9

+~(~~1~G8042.o

+~(W~)846210
PORTUGAL

Dotram
Avenlda Marques de Tomar, 46-A
1000 Lisboa

+~~~VJJ) 73 48 34

+~.(~7~) 55333

Jermyn

~~~=
Sevenoaks
KenfTN145EU

+~.(~1~~32) 450144
MMD
Unit 8 SouthView Park

SPAIN

FINLAND
OV FlntroOicAB
Melkonkatu 24A
00210 HelSinki

~~I~~! 6926022

Proelectron Vertri8bs GmbH
Max Planck Strasse 1-3
6072 Drelelch
Tel (49) 06103/3040
TLX 417903

ATD ElectrOniCS, S A
Plaza Cludad de Vlena, 6
28040 Madrid

IRELAND

ITT..gESA

Micro MarketlO!} Ltd
Glenageary Office Park
Glenageary

+~~:W4t~9 09 57

Tel (21)(353)(01) 85 63 25
TLX 31584

SWEDEN

FRANCE
Genenm
Z A de Courtaboeuf
Av de Is Battlque-BP 88
91943 Les Ulis Cedex

~t.I1&,91lO69 017. 7.

~3.~nrue des Solets

=~ieres

4, BY Laurent~
92606 Asnieres cectex
Tel (33) (1) 47 90 62 40
TLX 611448
Tekelec-Alrtronlc
Rue Carle Vernet - BP 2
92315 Sevres Cedex
+~~~5 34 7535

Co,

+~(~7~4000

~:g~oM~a1r~tngel, 21-3

OAF
481666
Rapid Slhcon
Rapid House
Denmark Street
High WycOmbe

f~?~i~~IZt~~ 2ER

Dub~n

ISRAEL
EastroOics Ltd
11 Rozanis Street
PO S 39300
Tel-AvIV 61392
~(~03-475151
ITALY
Intesl
DIVISlone ITT Industnes GmbH
Vlale Mllanoflori
PaiazzoE/5
20090 Assago
Milano

+~~)1'f'1824701

Lasl Elettronlcs SpA
V Ie Fulvlo Test!, 126
20092 CIOIsel1e Balsamo
MilanO

NordlSk Elektronlk AS
Huvudstagatan 1
Box 1409
17127 Solna
+~~~Ot734 97 70
YUGOSLAVIA
SWITZERLAND
Industrade A G
Hertlstrasse 31
8304 Wallisellen
Tel (41)(801)8305040
TLX· 56788

Rapldo Electronic Components S.p a
VIS. C Beccana, 6
34133 Trieste
ltalla

~(~~/360555

l\I1IKEY
EMPA ElectronIC
Lmdwurmstrllsse 9SA
8000 Muenchen 2
+~ (~~W53 80 570

+~(~=4400'2

'Held Application Location

CG/SALE/111088



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:16:42-08:00
Modify Date                     : 2016:08:09 18:33-07:00
Metadata Date                   : 2016:08:09 18:33-07:00
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:53d3a98d-469b-2247-b4be-0b8e8bf0e4a7
Instance ID                     : uuid:39d9ce14-3d2b-3249-a302-6e1b41ae9fba
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 467
EXIF Metadata provided by EXIF.tools

Navigation menu