1990_WSI_PSD_Design_and_Applications_Handbook 1990 WSI PSD Design And Applications Handbook

User Manual: 1990_WSI_PSD_Design_and_Applications_Handbook

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

Download1990_WSI_PSD_Design_and_Applications_Handbook 1990 WSI PSD Design And Applications Handbook
Open PDF In BrowserView PDF
Programmable System™Devices
WAFERSCALE INTEGRATION, INC.

PSO
Design and Applications Handbook

1990

~riterio~
manufacturers representative

(408) 988-6300
3350 Scott Blvd. Bldg. #44 • Santa Clara. CA 95054-3120

WAFERSCALE INTEGRATION, INC.

Programmable System™Devices
(PSD)
Design and Applications Handbook
1990

Copyright © 1990 WajerScale Integration, Inc.
(All rights reserved.)
47280 Kato Road, Fremont, California 94538
415-656-5400 Facsimile: 415-657-5916 Telex: 289255

Printed in U.S.A.

WAFERSCALE INTEGRATION, INC.

WAFERSCALE INTEGRATION, INC.

General Information

1

Section Index
General
Information

Table of Contents ......................................................... 1-1
Introduction to PSDs ....................................................... 1-3
Company Profile .......................................................... 1-5
Ordering Information ....................................................... 1-9

For additional information,
call800·TEAM·WSI (800-832-6974).
In California, call 800-562-6363.

WAFERSCALE INTEGRATION, INC.

-

rrtl .-:.::
,.,
•

-~~

••

Table of Contents

WAFERSCALE INTEGRATION, INC.

General
Information

Table of Contents ......................................................... 1-1
Introduction to PSDs ....................................................... 1-3
Company Profile .......................................................... 1-5
Ordering Information ....................................................... 1-9

PSO Product
Specifications

PSO Development
Systems

MAP168/PSD301
Introduction

User-Configurable Peripheral with Memory ................ 2-1

MAP168

User-Configurable Peripheral with Memory ................ 2-5

PSD301

User-Configurable Peripheral with Memory ............... 2-23

PAC1000 Introduction

User-Configurable Microcontroller ...................... 2-63

PAC 1000

User-Configurable Microcontroller ...................... 2-65

SAM448 Introduction

User-Configurable Microsequencer ..................... 2-113

SAM448

User-Configurable Microsequencer ..................... 2-115

MAP168 -

PSD Development Systems ....................................... 3-1

SAM448 -

PSD Development Systems ....................................... 3-5

PAC1000 -

PSD Development Systems ....................................... 3-9

WS6000 MagicPro™ Programmer and Package Adaptors ........................ 3-13

PSO Applications

Application Note 002

Introduction to the MAP168 User-Configurable
Mappable Memory Subsystem .......................... 4-1

Application Note 010

PAC1000 Introduction ................................ 4-13

Application Note 005

PAC1000 as a High-Speed Four-Channel
DMA Controller ..................................... 4-39

WAFERSCALE INTEGRATION, INC.

1-1

Table Df CDntents

PSD Applications
(Cont.)

Application Brief 006

PAC1000 as a 16 Bi-Directional Serial
Channel Controller .................................. 4-71

Application Note 008

PAC1000 User-Configurable Microcontroller with a
Built-In-Self;rest Capability ............................ 4-75

Application Note 009

In-Circuit Debugging for the PAC1000
User-Configurable Microcontroller ...................... 4-83

Application Brief 007

Hardware Interfacing'the PAC1000 as a
Micro Channel Bus Controller ......................... 4-99

Application Note 003

High-End SAM Applications Using
Microassembler Design Entry ......................... 4-105

Application Note 004

SAM Applications Using State Machine Design Entry ..... 4-127

Article Reprint

Microprogram an Embedded Controller -

Package
Information

........................................................................ 6-1

Sales
Representatives
and Distributors

........................................................................ 7-1

'-2

WAFERSCALE INTEGRATION, INC.

PAC1000 ............................. 5-1

iF===~~
--...,
.. _--r=-ii=i-i-= ==
---~ --'"

Introduction to Programmable
System™ Devices (PSD)

-

WAFERSCALE INTEGRATION, INC.

Programmable System Devices, or PSDs,
are user-configurable system level building
blocks on-a-chip enabling quick
implementation of application specific
controllers and peripherals.
WSI PSDs are ideal for designers who
require fast time-to-market, low risk,
greater system integration and lower power
consumption. PSDs enable designers to
configure their microcontrollerlperipheral to
meet exact design requirements. WSI's
PSDs are unique in that they are the only
VLSI devices available today that provides
a user-configurable off-the-shelf solution at
the system level.
The user-configurability of PSDs enables
them to be used in many different
applications, including:
Q Computers (Workstations and PCs) -

Fixed Disk Control, Modem, Imaging,
Laser Printer Control
Q Telecommunications -

Modem,
Cellular Phone, Digital PBX, Digital
Speech, FAX, Digital Signal Processing

microcontroller. It may be used as a
stand-alone microcontroller or as a
peripheral to microprocessors. It is ideal
for embedded control applications,
including graphics, local area network,
and disk drive control in both military
and commercial applications.
Q The MAP168 is a user-configurable

peripheral. It is used in DSP applications
including modems, motor control and
medical instrumentation. The MAP168
is ideal for DSP based applications
where fast time-to-market, small form
factor and low power consumption are
essential. When combined together in
an 8- or 16-bit system, virtually any
DSP chip (TMS320 series, etc.) and
the MAP168 work together to create a
very powerful 2-piece chip-set. This
combination provides essentially all of
the required control and peripheral
element of a DSP system.
Q The PSD301 is a user-configurable

Q Industrial -

Robotics, Power Line
Access, Power Line Monitor

Q Medical Instrumentation - Hearing
Aids, Monitoring Equipment, Diagnostic
Tools
Q Military -

Missile Guidance, Radar,
Sonar, Secure Communications, RF
Modems

PSDs are available in a variety of space
saving surface mount and through-hole
package configurations for commercial,
industrial, and military applications. WSI
offers windowed package options for
prototyping and low cost OTP (one-time
programmable) packages for high volume
applications. PSDs utilize WSI's proprietary
split-gate CMOS EPROM technology for
low power consumption.
There are currently four PSD family
devices in production. These include the
PAC1000, MAP168, PSD301, and SAM448.

Q The PAC1000 is a user-configurable

peripheral for microcontroller applications
including disk drives, low cost modems,
and mobile phones. The PSD301 is ideal
for microcontroller based applications
where fast time-to-market, small form
factor and low power consumption are
essential. When combined together in
an 8- or 16-bit system, virtually any
microcontroller (8051, 8096, 16000, etc.)
and the PSD301 work together to create
a very powerful 2-piece chip-set. This
implementation provides the required
control and peripheral element of a
microcontroller based system peripheral
with no external "glue" logic required.

Q The SAM448 is a user-configurable
sequencer for state machine and bus
interface applications. Its flexible 1/0
and architecture make it ideal for use
in interfacing to both existing bus
architectures (AT, VME, MCA-bus), and
evolving bus standards (EISA, NuBUS).

WAFERSCALE INTEGRATION, INC.

1·3

EI

Introduction to
Programmable System T., Devices (PSD)
Application specific features can be easily
programmed into the PSD EPROM array
for quick design implementation. Unlike
the current generation of programmable
gate arrays, which require the use of
unpredictable, and often time unavailable
routing resources, all PSD logic is fully
connected internally. This means that all
timing is predictable ahead of design
implementation, and routing is assured.
This greatly simplifies and reduces the
design implementation and simulation
process, and provides designers with a
significantly more reliable, lower risk path
to market. WSI PSDs also eliminate the
NRE, turn-around-time, and risks associated
with gate arrays and other ASIC solutions.

1-4

WAFERSCALE INTEGRATION, INC.

As product life cycles continue to shrink,
designers can win the race from idea to
marketable product with WSI PSDs. PSDs
are quickly configured and programmed by
the designer by using low cost, easy-touse WSI PC-based development tools. The
user-friendly menu-driven software includes
high level design entry, simulation and
programming packages for rapid system
development.
WSI supports its PSD product family with
an applications holline and bulletin board,
as well as highly trained, technical Field
Applications Engineers. As standard
products, WSI PSDs are available from
'WSI's franchised world-wide distribution
network.

Company Profile
WAFERSCALE INTEGRATION, INC.

Intmduction

WaferScale Integration, Inc. (WSI) designs
and produces the world's broadest and
fastest families of CMOS PROMs, RPROMs,
EPROMs, and Programmable System™
Devices (PSD). These product families
target the needs of system designers who
must reduce system development time and
deliver market competitive products in
continuously shorter periods of time. WSl's
programmable VLSI products additionally
enable higher system performance from
smaller, more compact end products due
to higher levels of system integration at
the chip level.
WSl's mission is clear - to build a great
company by serving its customers with a
portfolio of high-performance programmable
VLSI products that enable designers to
achieve faster time to market with new,
advanced electronic systems.
The company's patented self-aligned, splitgate EPROM technology forms the core of
WSI's programmable products and delivers
higher performance and greater density
than competing "stacked gate" EPROM
technologies. This core technology has
enabled WSI to be first in the Industry with
numerous breakthroughs in speed, density,
process and packaging. WSI has leveraged
this technology into the broadest family of
CMOS PROMs, RPROMs, and EPROMs
available.

Markets and
Applications

WSl's high-performance non-volatile
memory and PSO products are used by
the world's leading suppliers of highperformance electronic systems in
communications, data processing, military
and industrial markets. Customer end
products cover a broad spectrum and
typically include cellular telephones,
workstations, DSP computers, navigation
controllers, T1 multiplexers, modems,
image processors, missiles, LAN controllers,
high density disk drives and the like.

WSI's new "off the shelf" user-configurable
PSDs provide system level building blocks
on a single chip that enable quick
implementation of application specific
controllers and peripherals. They are the
first to integrate high-performance EPROM,
SRAM and logic and deliver a performance
and integration breakthrough to the
programmable products market. PSDs are
user-configurable on a PC or compatible
and can be tailored for use in a variety of
system applications. As a result, WSI has
established itself as a leading supplier of
high-performance programmable VLSI
solutions to a broad customer base that
includes some of the world's largest and
most technologically advanced electronics
companies.
Founded in 1983, WSI is headquartered in
a 66,000 square foot facility in Fremont,
California and has more than 125
employees. Through a long-term equity,
manufacturing and technology license
agreement with Sharp Corporation of
Japan, WSI produces its products in a
world-class production facility that
guarantees the highest quality at
competitive costs.

Customer applications include image
processing, digital signal processing, bus
control, LAN data and file control, real
time process control, graphics processing,
hard disk control, flight simulators, DMA
control, and others. WSI products are
ideally suited for these applications where
designers are faced with increasingly
shorter product life cycles and must
develop new, competitive high-performance
products in short periods of time.

WAFERSCALE INTEGRATION, INC.

1·5

EI

Company PronIe

Products

Memory Products
EPROMs
WSI offers the broadest line of CMOS
EPROM products available featuring
architectures ranging from 8K x 8 to
128K x 8, plus several x16 products, with
speeds ranging from 40 to 200 ns.
Commercial, industrial and MIL-STD-883CI
SMD products are available. A wide variety
of package selections are available
including plastic and hermetic, throughhole and surface mount types.

"L" Family
WSI's "t.:' family memory products are the
industry's fastest, low power JEDEC pinout
EPROMs and meet the requirements of
many mainstream system applications.
With speeds ranging from 90 to 200 ns
and architectures from 8K x 8 to 128K x 8
including several x16 products, "t.:' family
EPROMs are ideal for high-performance
personal computers and workstations.
Taking advantage of its split-gate EPROM
technology, WSI uses a conservative 1.2
micron lithography to achieve world-class
memory densities that traditionally require
lower yielding sub-micron technologies.

"F" Family
The "F" family is WSI's fastest line of
EPROMs, featuring speeds ranging from
40 to 110 ns and architectures from 8K x 8
to 32K x 8, plus several x16 products. The
high speed and word width options of the
"F" family EPROMs make them attractive
for use in high-end engineering and
scientific workstations, data communications
and other high-performance applications.

RPROMs
RPROMs provide bipolar PROM pin-out
with matching speed and CMOS low
power operation. The RPROM (ReProgrammable Read Only Memory)
product series includes architectures

1-6

WAFERSCALE INTEGRATION, INC.

ranging from 2K x 8 to 32K x 8 with
speeds ranging from 25 to 70 ns.
Commercial, industrial and MIL-STD-883CI
SMD configurations are available in a variety
of hermetic and plastic package styles.

Programmable System"" Devices (PSDs)
WSI's family of Programmable System
Devices (PSDs) represent a new class of
programmable VLSI products, achieving
unpara"eled levels of performance,
configurability and integration. Offering a
significantly higher level of integration over
programmable logic, PSDs are the first
programmable VLSI products to integrate
high-speed EPROM, SRAM and logic on a
single chip thereby providing complete
system solutions to the design engineer.
PSDs are off-the-shelf system building
elements that can be quickly configured
and programmed for a variety of system
applications thus enabling system designers
to shorten system development time.
The PSD is a new solution for system
designers who build high-end systems
around embedded controllers and
advanced microprocessors. The,se new
systems require faster, more highly
integrated and lower cost VLSI solutions
as we" as rapid design cycles. WSI's new
PSD family meets this demanding set of
needs.
The initial members of WSI's PSD family
includes:
I;J The PAC1000 User-Configurable

Microcontro"er
I;J The MAP168 User-Configurable

Peripheral with Memory
I;J The PSD301 User-Configurable

Peripheral with Memory
I;J The SAM448 User-Configurable

Microsequencer

- - - ----

--- --

-----

Company PlOfile

Products
(Cont.)

Design Tools and Support

Custom Circuits

WSl's development tools minimize the time
required for designers to program PSDs
for use in a variety of system applications.
PSDs are supported with complete easyto-use program development, simulation
and programming software, the PC hosted
MagicPro™ Memory and PSD Programmer,
a dial-in applications bulletin board and
WSl's team of factory and field
applications engineers. As a result, WSI
customers achieve their goal of shorter
system development time and reach new
markets sooner.

To serve the needs of its customers with
unique requirements, WSI offers its custom
circuit capability using its cell based library
of EPROM, static RAM and logic functions.
Standard products described in this catalog
can usually be modified on a custom basis
to serve particular requirements. New
customer defined custom products that
incorporate high-performance non-volatile
memory, SRAM and logic can be
produced that deliver significant speed or
system integration advantages. Contact
your local WSI sales office for additional
information.

Manufacturing

A key ingredient for success in leadingedge semiconductors is a world-class
fabrication facility that ensures high
volume capacity and prompt delivery of
highly reliable and high yielding VLSI
circuits. To this end, WSI has licensed its
proprietary CMOS EPROM and logic
process technology to Sharp Corporation
of Osaka, Japan. This long term alliance

ensures high quality, high-volume
production, competitive costs and fast
delivery. The Sharp facility in Fukuyama,
Japan employs the most advanced submicron VLSI integrated circuit manufacturing
equipment available including ion
implantation, reactive ion etch, and wafer
stepper lithographic systems.

Quality and
Reliability

WSI is deeply committed to product
excellence. This begins with proper
management attitude and direction and
with this focus, the Quality and Reliability
Program is able to operate efficiently. As a
result, product quality becomes part of
each employee's responsibility.
Quality and Reliability begin with the
proper product and process designs and is
supported by material and process controls.
Examples are products manufactured on
an epitaxial silicon layer to reduce latch-up
sensitivity, all pins are designed to
withstand >2,000 volts ESDS, numerous
ground taps are used which increases
product noise immunity, metal traces are
designed to carry a current density of
>2.0 x 105 ampslcm 2 , top passivation
extends over into the scribe lane to seal
the die edges, data retention is performed
100% on re-programmable products (TA =
+225°C, T = 72 hours), automated die
attach and bonding is used extensively,
wafers are fabricated in a Class 10 clean
room, raw materials, chemicals and gases

are inspected before use, and statistical
controls are used to keep the process on
course.
Product and process introductions or
changes are routinely evaluated for
worthiness. Life tests are conducted at
higher than typical stress levels (TA =
+150°C, Vcc = +6.5V) and even at these
stress levels, WSI products have
demonstrated low failure rates (see the
Quality and Reliability section in the
WSI 1990 databook).
WSI is active in Military programs and its
Quality and Reliability System supports
Compliant Non-Jan products. WSI also
supports DESC's (Defense Electronics
Supply Center) Standardized Military
Drawings (SMD) program. As of October,
1989, WSI has eighteen products on SMDs
with additional products pending. Several
additional products not on SMDs are
available per MIL-STD-883C. See Section
7 (Military Products) in the WSI 1990
databook.

WAFERSCALE INTEGRATION, INC.

1·7

II

Company Profile

Sales Network

1-8

WSI's international sales network includes
regional sales managers, field applications
engineers, manufacturers representatives

and many of the leading component
distributors in the United States, Europe
and Asia. See Section 7.

United States

International

Direct sales and field applications
engineering offices in Boston, Chicago,
Huntsville, Philadelphia, Los Angeles areas
and Fremont, CA; more than 25
manufacturers' representatives for major
national accounts; national distributors
including Schweber Electronics, Time
Electronics and Wyle Laboratories; and
regional distributors.

Distributors in West Germany, England,
France, Italy, Sweden, Finland, Denmark,
Norway, Spain, Belgium, Luxembourg, the
Netherlands, and Israel. Distributors for
the Asia/Pacific Rim region in Japan,
Korea, Taiwan, Hong Kong and Australia.

WAFERSCALE INTEGRATION, INC.

Ordering Information
WAFERSCALE INTEGRATION, INC.

High-Performance CMOS Products

---.--

WS57C-----

-35

B

D

L

Basic Part Number

Manufacturing Process:

II

(Blank) = WSI Standard Manufacturing Flow
B

= MIL-STD-883C Manufacturing Flow

Operating Temperature Range:
(Blank) = Commercial: 0° to +70°C
Vee: +5V ± 5%

= Industrial:
Vee: +5V
M

-40° to +85°C
± 10%

= Military: -55° to + 125°C
Vee: +5V ± 10%

Package:

Window

A
B
C
D
F
G
H

No
No

J
K
L
N
P
Q
R
S
T
W
X
Y

Z

= PPGA Plastic Pin Grid Array
= 0.900" Size Brazed Ceramic DIP
= CLLCC Ceramic Leadless Chip Carrier
= 0.600" CERDIP
= Ceramic Flatpack
= CPGA Ceramic Pin Grid Array
= Ceramic Flatpack
= Plastic Leaded Chip Carrier
= 0.300" Thin CERDIP
= CLDCC Ceramic Leaded Chip Carrier
= CLDCC Ceramic Leaded Chip Carrier
= 0.600" Plastic DIP
= Plastic Quad Flatpack
= Ceramic Side Brazed
= 0.300" Thin Plastic DIP
= 0.300" Thin CERDIP
= Waffle Packed Dice
= Ceramic Pin Grid Array
= 0.600" CERDIP
= CLLCC

Yes'
Yes
Yes'

No
No'
No'
No
Yes'

No'
No
No'
Yes

No
Yes
Yes

No
No

Speed:
-35 '" 35 ns
-55 = 55 ns
-70 = 70 ns
Etc.
• Surface Mount

WAFERSCALE INTEGRATION, INC.

1·9

1·10

WAFERSCALE INTEGRATION, INC.

WAFERSCALE INTEGRATION, INC.

PSIJ Product Specificatio.1

2

·····6

Section Index
PSO Product
Specifications

MAP168/PSD301
Introduction

User-Configurable Peripheral with Memory ................ 2-1

MAP168

User-Configurable Peripheral with Memory ................ 2-5

PSD301

User-Configurable Peripheral with Memory ............... 2-23

PAC1000 Introduction

User-Configurable Microcontrolier ...................... 2-63

PAC 1000

User-Configurable Microcontrolier ...................... 2-65

SAM448 Introduction

User-Configurable Microsequencer ................ _.... 2-113

SAM448

User-Configurable Microsequencer ..................... 2-115

For additIDna/lnformatiDn,
call BOO·TEAM·WS/ (BOO·B32·6974).
/n callfDmla, call BOO·562·6363.

WAFERSCALE INTEGRATION, INC.

Programmable System""Device
WAFERSCALE INTEGRATION, INC.

Overview

MAPI681PSD301Introductlon

User-ConHgurable
Peripheral with Memory

In 1988 WSI introduced a new concept in
programmable VLSI: the Programmable
System™ Device (PSD). The PSD is
defined as a family of User-configurable
system level building blocks on-a-chip
enabling quick implementation of application
specific controllers and peripherals. The
first generation PSD series includes the
MAP168, a User-Configurable Peripheral
with Memory; the SAM448, a UserConfigurable Microsequencer; and the
PAC1000, a User-Configurable
Microcontroller.
The MAP168 is a high-performance, userconfigurable peripheral with memory. It is
used in DSP applications including
modems, motor control and medical
instrumentation. The MAP168 is ideal for
DSP based applications where fast time-tomarket, small form factor and low power
consumption are essential. When combined
together in an 8- or 16-bit system, virtually
any DSP chip (TMS320 series, etc.) and
the MAP168 work together to create a
very powerful 2-piece chip-set. This
implementation provides the core of the
required control and peripheral elements
of a DSP system.

Architecture

The MAP168 and PSD301 products
incorporate the flexibility of using discrete
memory addressing and decoding. With
the support of WSI's user friendly PSD
software called MAPLE, designers may
configure their MAP1681PSD301 subsystems
for 8 or 16 bit data paths. If the host
system uses an 8051 microcontroller, the
MAP168/PSD301 can be programmed with
an eight bit data path. A sixteen bit data
path can be programmed for
microcontrollers like Intel's 80196. The
depth of the memory organization will be
modified accordingly to accept the different
data path widths. The low cost MAPLE
software package will handle the data path
width adjustment automatically. The user
can select either 16K bytes of EPROM and
4K bytes of SRAM or 8K words of EPROM

The MAP168 contains three elements
normally associated with discrete solutions
to system memory requirements. It
incorporates EPROM and SRAM plus a
Programmable Address Decoder (PAD), all
on the same die. The MAP168 is ideal for
the systems deSigner who wishes to
reduce the board space of his final design.
By using the MAP168 in a system, five or
six EPROM, SRAM and decode logic
chips may be reduced into a Single 44 pin
PLDCC, CLDCC or PGA package.
The second generation PSD301 is a userconfigurable peripheral for microcontroller
applications including disk drives, low cost
modems, and mobile phones. The PSD301
is ideal for microcontroller based
applications where fast time-to-market,
small form factor and low power
consumption
are essential.
When
combined together in an 8- or 16-bit
system, virtually any microcontroller (8051,
8096, 16000, etc.) and the PSD301 work
together to create a very powerful 2-piece
chip-set. Together, this implementation
provides all the required control and
peripheral elements of a microcontroller
based system peripheral with no external
"glue" logic required.
and 2K words of SRAM. The flexibility of
the MAP168/PSD301 products enables two
devices to be cascaded in width. It is
possible to double the memory size of a
sixteen bit system by using two MAP168
products in parallel but programmed in a
byte-wide configuration. For example, with
two MAP168 devices, 16K words of EPROM
and 4K words of SRAM may be organized
as upper and lower data bytes of a 16 bit
word. Alternately, two MAP168 chips may
expand the system memory vertically as
two word organized memory devices. A
block diagram of the MAP168 is shown in
Figure 1.
An important feature of the MAP168/PSD301
products is their ability to incorporate the
memory address decoding on-chip. One

WAFERSCALE INTEGRATION, INC.

2·1

MAl't6B/l'SD30t Intmluctlon

Architecture
(Cont.) .

MAP168 memory peripheral can reside
with other MAP16S devices in the same
memory addressing scheme, with the onchip decoder allocating the memory blocks
to different non-conflicting segments of the
entire memory area. The decoding function
is achieved by an on-chip feature called a
Programmable Address Decoder (PAD),
which is similar to a Single fuse array
programmable logic device supporting one
product term (AND gate) per output in the
MAP16S and four product terms per output
in the PSD30l.

memory devices. The chip select lines
may be subdivided into ESO-ES7, active
low internal EPROM chip selects, and two
internal RAM chip selects RSO and RS1.
In byte-wide applications, eight chip select
outputs drive external pins CSO-CS7.
These can be used as external chip
selects for other MAP168 devices or
system memory. These outputs are
not available for word-wide MAP168
configurations because the CSO-CS7 output
pins carry the higher order data byte. Only
FCSO is available for external chip selection.

In the MAP16S, eighteen standard chip
select outputs from the PAD are available
with one fast chip select output generally
used to select other external high speed

Figure 1 shows the organization of the
EPROM and SRAM in relation to the PAD,
for the MAP168 device.

Rgure ,.
MAPI68 Memory
Architecture

EPROM
2Kx80R1Kx16
EPROM
2K x 8 OR 1K x 16

EPROM
2Kx80R1Kx16
ADDRESS BUS
EPROM
2K x 8 OR 1K x 16
PAD

EPROM
2K x 8 OR 1K x 16

ESO
ES1

EPROM
2K x 8 OR 1K x 16

ES2
ES3t----'
ES4 t - - - . . . .

EPROM

ESS I------J rt--t...:2:K~X~8~0:R~1~K~X~16~
ES61----....I

WEN ••

EPROM
ES7 r-----T-~~2K~X~8~O~R~lK~X~1~6
CSO[O:7]

CSO[O:7]

1------+---------+-+-1

OR

eso

RSOI------.
RS11-----,

FCSO

HIGH
DATA
BYTE

EPROM
2K x 8 OR 1K x 16

[0:7]

EPROM
2K x 8 OR 1K x 16

Important Features:
•
•
•
•

2·2

40 ns EPROM/SRAM Access Time.
Byte or Word Operation, Mappable into 1M Word or 2M Byte Address Space
22 ns Chip-Select S Outputs, 17 ns Fast Chip Select Output.
128K EPROM Bits, 32K SRAM Bits, On-Chip Programmable Decoder, Security Bit.

WAFERSCALE INTEGRATION, INC.

MA"6BlPSD3D1 IntroductlDn

Figure 2.

PSD301 family

Architecture

...

Vee
GND
RD
WRNpp
BHEIPSEN
RESET
A,g1CSI
AD.-AD,.

I

CONFIGURATION
REGISTERS

I

AD o-APr

8 BLOCKS OF
EPROM

r-+
CONTROL

r-B
LATCH

A.-A,.

11

"-r

+

I

PORTA
Do-D7/ADo-AD7

CSRAM

~

D.-D,.

I-

16K BIT SRAM

fJ

PORTC
Pc....

SEE
TABLE

MUX OR NON·MUX
CONTROL"

By 8 ConfiguratiDn
I'DrtA
I'DrtB

MUX Address Data

P~7

SEE
TABLE

.: 2K x 8 OR lK x 16

Do-D7/ADo-AD7

Non·MUX Address Oata5

PB0-7

SEE
TABLE

D.-D,.

-

~

4

CSO-CS7

PAD

LATCH Ao-A7 ..
A

~

PORTB

CSEPROM

r-:----+

G3
ALE

128K1256K1512K EPROM'

By 16 ConfiguratlDn
I'DrtA
I'DrtB

0 0-0 7

CSO-CS7 or
PBo-PB7

0 0-074

Oa- 0 15

Ao-A74
PAo-PA7
AO o-A07

CSO-CS74
PBo-PB 7

Ao-A74
PAo-PA7
AOo-A07

CS O-CS 7
PB o-PB7

I'DrtC
CSa -CS lOS
A ls-A la

NOTES:
1. Three MAP300 EPROM densities.
2. Internal signal can be set during programming.
3. Latch B can be set to be transparent (not dependent on ALE).
4. Each 110 pin can be indiVidually set to perform one of the two functions.
5. The non·MUX configuration is compatible to MAP168 pinout.
6. Port C is independent of any configuration and can be chip select out or address in.

Software Support

The object code generated for the support
microprocessor/microcontroller is generated
by an assembler. This code, when
generated as an Intel MCS file, may be
easily programmed into the EPROM
section of the MAP168/PS0301 device
because the MAPLE software has been
designed to accept this standard format.
The programmable address decoder is
used to define the mapping of the various

EPROM and SRAM memory blocks. This
mapping is achieved by the designer in
the MAPLE environment. The software
provides a safeguard that prevents the
designer from inadvertently overlapping
the address selection. After selecting the
memory block assignments, the
MAP1681PS0301 device may be
programmed by the WSI MagicPro™
memory and PSO programmer.

WAFERSCALE INTEGRATION, INC.

2-3

2-4

WAFERSCALE INTEGRATION, INC.

Programmable System™Device
WAFERSCALE INTEGRATION, INC.

Features

0

0

0

0

General
Description

MAP168
User-Configurable
Peripheral with Memory

First-generation Programmable System
Device (PSD)
User-Configurable Peripheral with
Memory
16Kx8 EPROM
4Kx8SRAM
Programmable address decoder
Byte or Word Memory Configurations
16Kx8 or 8Kx16 EPROM
4Kx8 or 2Kx16 SRAM
2Mbyte or 1 Mword address range

0

0

0

High-Speed Operation
40-nsec memory access
17-nsec fast chip select output
External Chip Select Outputs
8 external chip selects
1 fast chip-select output

In 1988 WSI introduced a new concept in
programmable VLSI, Programmable System
Devices (PSD). The PSD family consists of
user-configurable system-level building
blocks on-a-chip, enabling quick implementation of application-specific controllers and
peripherals. The first generation PSD series
includes the MAP168 User-Configurable
Peripheral with Memory; the SAM448, a
User-Configurable Microsequencer; and the
PAC1000, a User-Configurable Microcontroller.
The MAP168 is the first of WSl's Programmable System Devices (PSD) product line.
The device integrates high performance,
user-configurable blocks of EPROM, SRAM,
and logic in a single circuit. The major
functional blocks include a Programmable
Address Decoder (PAD), 16K bytes of high
speed EPROM, and 4K bytes of high speed
SRAM. A block diagram is given in Figure 1.
The MAP168 device is a complete memory
subsystem that can be mapped anywhere in
a 2M-byte address space of a microprocessor or microcontroller system. The EPROM
and SRAM memory blocks can be userconfigured in either byte-wide or word-wide
organizations. The MAP168 device signifi-

Programmable Security
Protects memory map
Protects program code
Programming Support Tools
PSD integrated software environment
PC-XT/AT/PS2 platform support
MAPLE location entry Software
MAPPRO device programming Software
MagicPro device programmer (PC-XT,
AT)
Military and Commercial Specifications
44-pin Ceramic Leaded Chip Carrier
package
44-pin Plastic Leaded Chip Carrier
package
44-pad Ceramic Leadless Chip Carrier
package
44-pin Ceramic Pin Grid Array package

cantly reduces the board space and power
necessary to implement memory subsystems, increases system performance, and
provides for secure data or program storage.
The device's high level of integration and
flexibility make it ideal for high-speed microprocessors, microcontrollers, and Digital
Signal Processors like the TMS320XX family.
The EPROM can be configured either as
16Kx8 or 8Kx16. The SRAM can be configured either as 4Kx8 or 2Kx16. Individual
memory blocks of 2Kx8 or 1Kx16 can be
selectively mapped anywhere in the address
space. Since the Chip Select Input (CSI) can
be programmed as A20, the highest-order
address bit, the device's address range can
extend from 1M byte with CSI to 2M byte
withoutCSI.
For 16-bit microprocessors capable of byte
operations, the MAP168 device provides a
Byte High Enable input for accessing bytes
on any address boundary.
Pinout is compatible with the JEDEC
WS27C257 256K high-speed EPROM. This
pinout provides for memory expansion with
future WSI EPROM and PSD products.
The device's PAD and EPROM memory are

WAFERSCALE INTEGRATION, INC.

2·5

fJ

MAP168

Figure 1.
Block Diagram

MAP168
DECODED EPROM
ADDRESS"

-

~ AO-A12

AO-A12

-----,/

EPROM

8Kx 8

PGMH

----.

PGM

"EOEH

OE

AO-A19

OUTo-7

r

IN0-7

EPROM

8Kx8
PGM
OE

OUT0-7

IN0-7

L

PGMl
EOEl

i---

-

r-----

-

DECODED SRAM
ADDRES~

~

AO-A12

v

PAD

-----,/

SRAM

~

WE

r

OE

ROEH
OE

Ei\.!>pOE SI/A 20 FCSO -

OUTo-7

WEl
ROEl

r---r---r----

CON

-

SRAM

2Kx 8

WE

BHE

AO-A12

2Kx 8

WEH

IN 0-7

-

I-

-

I--

~S-

CS0-7~~

OUT0-7

IN0-7

OEl

I-OEH

f---

2:1
MUX

2:1

~

MUX

-

----

-

-

III

1\

'Ii

IV

lr-,

t--t---y-,

~

4-

L-

1/08-15 OR CS00-7

2·6

WAFERSCALE INTEGRATION, INC.

1737 01

MAP168

General
Description
(Con't)

Functional
Description

Table 1.
Pin Description

programmed using the same WSI MagicPro
programmer used to program other WSI
devices. Two software packages, MAPLE
Location Entry and MAP PRO Device Programming Software are available in the
menu-driven WISPER software environment
on an IBM® PC XT/AT or 100% compatible
platform.

For additional information on the MAP168
device, refer to Application Note No. 002,
Introduction to the MAP168 User-Configurable Peripheral with Memory. For additional
information on development and programming software for the MAP168 device, refer
to the MAP168 User-Configurable Peripheral
with Memory Software User's Manual.

The user-configurable architecture of the
MAP168 consists of an EPROM memory
block, an SRAM memory block, and a fast
Programmable Address Decoder (PAD) that
can be configured to select 2K-by1e memory
blocks anywhere in a 2M-byte address

range. The device can be programmed to
operate with memory configured either in a
by1e or word organization (by1es can be
addressed in word mode). A programmable
security bit prevents access to the PAD
address-decode configuration table.

Signal
A0-19
FCSO

I/O

Description
Address Lines. For access to EPROM or SRAM.

°

Fast Chip-Select Output (active low). Used by the Programmable Address Decoder (PAD).

BHE

Byte High Enable (active low). Selects the high-order
byte when writing to SRAM.

WElVpp

Write Enable (active low) or Programming Voltage. In
normal mode, this pin causes data on the 110 pins to be
written into SRAM. In programming mode, the pin
supplies the programming voltage, Vpp.

OE

Output Enable (active low). Enable the 110 pins to drive
the external bus.

CSI/A20

Chip Select Input (active low) or High-Order Address.
This pin can be programmed as the bus-access chip
select or as an additional high-order address bit (A20 )·

1/°0-7
I/Os_1s. CS°0-7

11O

Low-Order Byte of EPROM or SRAM.

11O

High-Order Byte or Chip-Select Outputs. In word mode,
these pins serve as the high-order byte (1108-15) of
EPROM or SRAM. In byte mode, the bits serve as ChipSelect Out signals (CS00-7) for the Programmable
Address Decoder (PAD).

WAFERSCALE INTEGRATION, INC.

2·7

MAP168

Programmable
Address Decoder

The MAP168 device has a minimum of 20
address inputs Ao-A'9 allowing the EPROM
and SRAM memory blocks to reside anywhere in a 1M-byte address space. If the
CSI/A20 input is user-configured as an address line, the maximum addressable space
increases to 2M bytes, as shown in the
Configurations table.
The 16K bytes of EPROM and 4K bytes of
SRAM, can be configured into eight independent 2K-byte blocks and two 2K-byte
blocks respectively, as shown in the Memory
Architecture figure. The PAD is a userconfigurable address decoder that compares
input addresses to the 2K-byte address
range selected for each of the eight EPROM
blocks and two SRAM blocks. When the
input address Ao-A20 is detected to be within
one of the EPROM or SRAM address
ranges, the PAD enables an internal chip
select (ES o-ES 7 or RSo-RS,) to the selected
block. If no block is selected, both the
EPROM and SRAM memories remain in a
power-down mode and the outputs are
disabled allowing other devices to drive the

Memory
Subsystem
EPROM Memory

The memory configuration of the MAP168
device includes 128K bits of WSI's patented
high-speed, split-gate, UV-erasable EPROM.
The EPROM is configured in byte mode as
16Kx8 and in word mode as 8Kx16. The
memory is organized as eight 2Kx8 or 1Kx16
blocks, as shown in the Block Diagram
figure. Each block has a separate and
independent address range that cannot
overlap. Each block is individually selected
by one of the ESo-ES 7 internal chip selects
generated by the PAD when an input address is detected within its designated
address range, as shown in the Memory
Architecture figure. If not selected, each
block of EPROM remains in a power-down
mode.
For programming, the EPROM memory
requires the WENpp input to maintain the
programming voltage V pp'

2-8

WAFERSCALE INTEGRATION, INC.

data bus. The SRAM retains its data in the
power-down mode. The 2K-byte address
ranges for any of the eight EPROM or two
SRAM blocks may not overlap.
The PAD can also be user-configured to
generate up to eight external chip selects,
CSo-CSr These outputs can be used to
decode the input address lines Ao-A20 and to
select other devices in the system. The
outputs CS O-CS 7 are available on the eight
higher-order 110.-1/0'5 lines but only when
the MAP168 device is configured in the byte
mode; the lines are not available as chipselect outputs when the device is configured
in the word mode.
The CSIIA 20 input is user-configurable as the
most-significant address line or as an activelow chip enable. Its function is programmed
as part of the PAD programming cycle.
The PAD also provides FSCO, a single, fast
chip-select output configurable by the user for
any address. It can overlap with any of the
internal EPROM, SRAM or external CSO
addresses.

SRAMMemory
The device also includes 32K bits of highspeed SRAM. The SRAM is configured in
byte mode as 4Kx8 and in word mode as
2Kx16. The memory is organized as two
2Kx8 or one 2Kx16 block(s), each with a
separate and independent address range that
cannot overlap. Each SRAM block is individually selected by one of the RSo-RS" shown
in the Memory Architecture figure, when an
input address is detected by the PAD within
its designated address range. When not
selected, each of the SRAM memory blocks
remains in a power down mode but does
retain all data stored.
Data can be written into the SRAM only when
the WENpp input is active low.

MAI'168

Memory
Subsystem
EPROM Memo,y
(Con")

Mode Selection

PAD available on the eight high-order input/
output lines 1/08-I/O,~d enabled onto the
output bus when the DE input is low.

'ytll/Wotd Mode
The PAD can be programmed to configure
the MAP168 device for either a byte or word
memory architecture. This allows the device
to be used conveniently with either 8-bit or
16-bit microcontrollers, microprocessors or
digital signal processor (DSP) systems. See
the Configurations table.
In byte mode, the EPROM is organized as
16Kx8 and the SRAM as 4Kx8. The outputs
of both are tied to the eight low-order input/
output lines 1/00-1/07 and enabled onto the
output bus when the DE input is low.
Only when configured in byte mode are the
eight external chip selects provided by the

In word mode, the EPROM is organized as
8Kx16 and the SRAM as 2Kx16. The outputs
of both are tied to the 16 input/output lines
1/00-1/0'5 and enabled onto the bus when DE
is low.
In word mode, the BHE input along with
address input AO allows the eight bits of any
16-bit word on an even or odd boundary to
be selected as shown in the High-Low Byte
Selection table. This is a useful feature for
16-bit processors that are not restricted to
reading or writing memory only on even-word
address boundaries.

The device's operational mode is controlled
by three inputs, CST, DE, and WENpp. There

Table 2.
Configurations

are ten separate modes of operation, all of
which are shown the Mode Selection table.

xl Configuration
A2I/
1M bytes
2M bytes

"CfI

2K bytes

2K bytes

1K words

1K

512

1024

512

1024

8
2
9
16Kx8
4Kx8

8
2

8
2

8
2

16Kx8
4Kx8

8Kx16

8Kx16

8
yes
yes
yes

8
no
yes
yes

2Kx16
16
yes
yes

2Kx16
16
no
yes

yes

yes

"CfI
Address Space
words
Block Size
words
Addressable Blocks
EPROM Blocks
SRAM Blocks
Chip-Select Outputs
EPROM Configuration
SRAM Configuration
liD Pins
Low-power Standby
Protected Mode
Byte Operations

x16 Configuration
A2I/
512K words 1M

9

WAFERSCALE INTEGRATION, INC.

2-9

MAP16B

Table 3.
Mode Selection

Mode/Pin

CSl7fE WE/Vpp Address

Read EPROM/SRAM

VIL

VIL

VIH

EPROM/SRAM
Selected

DOUT

Read External

VIL

VIL

VIH

EPROM/SRAM
Not Selected

High Z

CSOUT

Output Disable

X

X
X

X
X

High Z

CS OUT

HighZ

CS OUT

SRAM Selected

DIN

CS OUT

No SRAM
Selected

X

CS OUT

x16 (FCSlJ)
xBFCf/J, CSlJo-7
CSOUT

Write SRAM

VIH
VIH X
VIL X

Write External

VIL

X

VIL
VIL

Program EPROM

VIL

VIH

Vpp

EPROM
Program Address

DIN

DIN

Program Verify
EPROM

VIL

VIL

VIH

EPROM
Program Address

DOUT

CSOUT

Program PAD

VIL

VIH

Vpp

PAD Program
Address

DIN

DIN

Program Verify PAD

VIL

VIL

VIH

PAD Program
Address

DOUT

CS OUT

Stand-By

Table 4.
High/Low Byte
Selection

x16 (I!0o-1J
xB (1100-7)

x16 Configuration Only

BIlE (Pin 1)

o
o

Ao

Write Operation

Read Operation

0

Whole word

Whole word

Upper byte from/to
odd address

Upper byte = Data Out
Lower byte = 'FF'

Lower byte from/to
even address

Whole word

None

Upper byte = Data Out
Lower byte = 'FF'

o

WR and BHE are used for SRAM functions

Table 5. Product
Selection Guide

Parameter
Address Access Time (max)
Chip-Select Access Time (max)
Output Enable Time (max)
Chip-Select Output Time
Fast Chip-Select Output Time (max)

2-10

WAFERSCALE INTEGRATION, INC.

MAP16B-40

MAP168-45

MAP168-55

Units

40
40
18
22
17

45
45
21
25
20

55
55
23
27
22

ns
ns
ns
ns
ns

MAP168

Table 6. DC
Characteristics

Parameter

Symbol

Test Conditions

Output Low Voltage

VOL
VOH

IOL=8 mA

Output High Voltage
CMOS Standby
Current
-Commercial
-Military

1581

TIL Standby
Current
-Commercial
-Military

1582

CMOS Active Current
No Blocks Selected
-Commercial
-Military

Icc 1A

CMOS Active Current
EPROM Block Selected
-Commercial
-Military

Icc 1B

CMOS Active Current
SRAM Block Selected
-Commercial
-Military

Icc 1C

TTL Active Current
No Blocks Selected
-Commercial
-Military

Icc 2A

TTL Active Current
EPROM Block Selected
-Commercial
-Military

Icc 2B

TIL Active Current
SRAM Block Selected
-Commercial
-Military

Icc 2C

Input Load Current

III

Output Leakage Current

ILO

IOH~2mA

Min

Max

Units

0.5

V

2.4

V

notes 1,3
20
30

mA
mA

30
40

mA
mA

20
30

mA
mA

35
45

mA
mA

55
65

mA
mA

30
40

mA
mA

40
50

mA
mA

65
75

mA
mA

notes 2, 3

notes 1,4

notes 1,4

notes 1,4

notes 2, 4

notes 2, 4

notes 2, 4

V1N=5.5V
orGND

-10

10

~A

VouT=5.5V

-10

10

~

orGND
Notes:
1. CMOS inputs: GND ± 0.3V or VCC ± 0.3V.
2. TIL inputs: V1L ~ 0.8V, V1H ~ 2.0V.
3. Add 1.5 mA/MHz for AC power component.
4. Add 3.5 mA/MHz for AC power component.

WAFERSCALE INTEGRATION, INC.

2·11

MAP168

Table 7. AC
Characteristics

Address to Output Delay

Symbol MAP168-40
Min Max
40
t RC
40
tACC

CSI to Output Delay

tCE

OE to Output Delay

tOE

18

tOEF

15

I'III'IImBfBIt

Read Cycle Time

Output Disable to Output Float
Chip Disable to Output Float

tCSF

Address to Output Hold

tOH

Address to CS0o-7 True

tcso
t FCSO

Address to FCSO True
SRAM Write Cycle Time

22

25

27

ns

17

20

22

ns

40

Address Setup Time

!wc
tcsw
tAS

45

0

Address Hold Time

tAH

Address Valid to Write End

55

ns

45

55

ns

0

0

ns

0

0

0

ns

45

55

ns

30

35

ns
ns

tAW

40

SRAM Write Enable Pulse Width

tpWE

25

Data Setup Time

tos

20

20

30

Data Hold Time

tOH

0

0

0

Write Enable to Data Float

18

ns

21

23

ns

3

3

3

ns

SHE Setup Time

!wEF
tWELZ
t BHES

0

0

0

ns

SHE Hold Time

tBHEH

10

10

10

ns

Write Disable to Data Low Z

PlIPlII1IIIfBIt

Symbol

Test Conditions

Min

Minimum Vee for Data Retention

VOR

Vcc=2.0V,

2.0

Current in Data Retention Mode

ICCOR

CSI ~ Vcc-o.2V,

tCSOR
t ROR

V1N ~ Vcc-0.2V
or V1N ~ 0.2V

Chip Deselect to Data Retention
Recovery Time from Data Retention

2-12

15
10

40

Chip Enable to Write End

Table B. Data
Retention
Characteristics

40

MAP168-45 MAP168-55 Units
Min Max Min Max
45
55
ns
45
55
ns
45
ns
55
21
23
ns
18
20
ns
18
20
ns
10
10
ns

WAFERSCALE INTEGRATION, INC.

Max

Units
V
mA

0

ns

t RC

ns

MAP168

Absolute
Maximum Ratings

Storage Temperature ........... -65°C to +150°C
Voltage to any pin with
respect to GND .......................... -o.6V to +7V
Vpp with respect to GND ....... -0.6 V to +14.0V
ESD Protection ................................... >2000V
Stresses above those listed here may cause
permanent damage to the device. This is a

Table 9. Operating
Range

Range
Commercial
Military

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 of time may
affect device reliability.

Temperature
O· to +70·C
-55· to +125·C

Figure 3.
Read Cycle
Timing Diagram

Vee
+5V±5%
+5V± 10%

1+-----tRc - - - - + I

ADDRESSES

tOE

Dour

------I-------+H

1737 03

WAFERSCALE INTEGRATION, INC.

2·13

MAP168

Flgutll4.
TIISfLlJad

98n

2.01V~
D.U.T.

30 pF
(INCLUDING
SCOPE AND JIG
.,. CAPACITANCE)

T

High-impedance test systems

Tabla 10.
Timing Levels

Level

Voltage

Input

oand 3V

Reference

1.5V

Flgutll5.
Writaeyele
Timing Dlagnim

173704

we
ADDRESSES

~

---1

\\\1\\\\\\\\
Icsw
lAW

WE

II

\
IPWE

I+----IAS

....
DOUT

lWEF[

1//

IAH-4

I---loS--t j4- IOH - .

Ji

~

...',.

I--IWELZ_

I
\l',.~~

DATA-IN VALID

BHE

,\

, \ \ \ \ ...',.
·1
IBHES -I

BHE VALID

I-

I BHEH -

II

...',....',.

I

I

,\ ,\ \ ,\

,\ \ ,\

,\

I173705

2·14

WAFERSCALE INTEGRATION, INC.

MAP168

Figure 6.
Memory
Architecture

DIRECT ADDRESSES

ADDRESS BUS
BLOCK
DECODE
ADDRESSES
PAD
ESo-7 1--+-+-1

WAFERSCALE INTEGRATION, INC.

2-15

MAPf68

Table 11. MAP168
Pin Assignments

44-pin elOee Package
44-pin PlOee Package
44-pad ellee Package
Pin No.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
·28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

x8
WENpp
CSI/A20
CS07
CS06
esos
eso.
es03
es02
es01
CSOo

x16
BHE
WENpp
CSI/A20
1/01s
1/° 1•
1/° 13
1/° 12
1/°11
1/°10
1/°9
I/Os

GND

GND

FCSO

FCSO

1/°7

1/°7

IIOs
I/Os

I/Os
I/Os

110.
1/°3
1/°2
1/° 1
1/°0

110.
1/°3
1/°2
1/° 1
1/°0

OE
AD
A1
A2
A3
A.
As
A6
A7
As
Ag
A10

OE
AD
A1
A2
A3
A.
As
As
A7
As
A9
A10

GND

GND

GND

A11
A11
A12
A12
A13
A13
A1•
A14
A1S
A1S
A16
A16
A17
A17
A18
A1S
A19
A19
Vee
Vee
WE and BHE are for SRAM functions.

2-16

WAFERSCALE INTEGRATION, INC.

--

----~

-

MAP168

Table 12. MAP168
Pin Assignments

44-pin CPGA Package
Pin No.
x8
GNO
As
WElVpp
A4
CSI/A20
B4
CS07
A3
CS06
B3
CSOs
A2
CS04
B2
CS03
Bl
C2
CS02
CS01
C1
O2
CSO o
01
GND
FCSO
El
E2
1/°7
1/06
Fl
I/Os
F2
G1
1/°4
G2
1/03
H2
1/°2
G3
1/°1
1/00
H3
OE
G4
H4
Ao
Al
Hs
Gs
~
H6
A3
G6
A4
H7
As
G7
A6
Gs
A7
F7
As
Fs
A9
E7
Ala
GNO
Es
Os
All
07
A12
A13
Ce
C7
A14
A1S
Bs
A16
B7
A17
~
A1S
B6
A19
A6
Bs
Vee

x16
BHE
WElVpp
CSI/A20
1/01s
1/°14
1/°13
1/°12
1/°11
1/°10
1/09
I/Os
GND

FCSO
1/°7
1/06
I/Os
1/°4
1/03
1/°2
1/°1
1/00
OE
Ao
Al
~
A3
A4
As
A6
A7
As

Ag
Ala
GNO
All
A12
A13
A14
A1S
A16
A17
A1S
A19
Vee

WAFERSCALE INTEGRATION, INC.

2-11

MAP168

Figure 7.
Pin Assignments
Programming

44 PIN PLOCC PACKAGE
65 4 3 2 14443424140

44 PAD CLLCC OR CLOCC PACKAGE
6 5 4 3 2 1 4443424140

1111111111111111111111
lJ U '_I I_I I_I 1 I '_I 1_' 1_' IJ '_I

7
8
9
10
11
12
13
14
15
16

:J

1111111111111111111111

I_I '_I 1_' 1_' '_I I I '_I '_I '_I '_I I_I

C:

I_I

::1
::'
::'

c:
c:
c:
c:
c:
c:
c:
c:
c:
c:

:J

::.
::'
::1

:J
-- :.

17 ::.

39
38
37
36
35
34
33
32
31
30
29

I-I I-I I-I '-I I-I .-, I-I I-I I-I I-I I-I

1111tll111111111111111

7
8
9
10
11
12
13
14
15
16
17

::1
::.
::1

:J
:]

::'

:J
:)

::'
::::'

'-'

0

":-: :-: :-: :-: :-: :-: :-: :-: :-: :-: :-:

c:
c:
c:
c:
c:
c:
c:
c:
c:
c:
c:
/

1819202122232425262728

1819202122232425262728

TOP (THROUGH PACKAGE) VIEW

TOP (THROUGH PACKAGE) VIEW

1

39
38
37
36
35
34
33
32
31
30
29

44 PIN CPGA PACKAGE
2 3 4 5 678

A
808808
B08080800
C 80
00
080
08
E 80
08
F 80
08
G 88088808
H
808800
TOP (THROUGH PACKAGE) VIEW
1737 07

Upon delivery from WSI or after each
erasure (see Erasure section), the MAP168
device has all bits in the PAD and EPROM in
the "one" or high state. Zeros are loaded
through the procedure of programming.

Information for programming the device is
available directly from WSI. Please contact
your local sales representative.

Erasure

To clear all locations of their programmed
contents, expose the device to an ultra-violet
light source. A dosage of 15W-second/cm' is
required. This dosage can be obtained with
exposure to a wavelength of 2537A and
intensity of 1200J.1W/cm' for 15 to 20 minutes.
The device should be about one inch from
the source and all filters should be removed
from the UV light source prior to erasure.

The MAP168 device and similar devices will
erase with light sources having wavelengths
shorter than 4000A. Although erasure times
will be much longer than with UV sources at
2537A, the exposure to fluorescent light and
sunlight will eventually erase the device; for
maximum system reliability, these sources
should be avoided. If used in such an environment, the package windows should be
covered by an opaque label or substance.

System
Development
Tools

MAP168 System Development Tools are a
complete set of PC-based development
tools. Installed on an IBM PC or compatible
computer, these tools provide an integrated,
easy-to-use software and hardware environment to support MAP168 device develop-

ment. The tools run on an IBM-XT, AT, or
compatible computer running MS-DOS
version 3.1 or later. The system must be
equipped with 640K bytes of RAM and a hard
disk.

2·18

WAFERSCALE INTEGRATION, INC.

MAP168

System
Dellelopment
Tools (Con't)

Hardware

Software

The MAP168 System Programming Hardware consists of:

The MAP168 System Development Software
consists of the following:

o

WS6000 MagicPro Memory and PSD
Programmer

o

WISPER Software-PSD Software
Environment

o

WS6003 44-pin LCC Package Adaptor
(for 44-pin CLLCC, CLDCC, and PLDCC
packages)

o

MAPLE Software-MAP168 Location
Editor

o

o

WS6011 44-pin CPGA Package Adaptor

MAPPRO Software-Device Programming Software

The MagicPro Programmer is the common
hardware platform for programming all WSI
programmable products. It consists of the
IBM-PC plug-in Programmer Board and the
Remote Socket Adaptor Unit.

Figure 8. MAP168
Dellelopment
Cycle

The configuration of the MAP168 device is
entered using MAPLE software. MAPRO
software configures MAP168 devices by
using the MagicPro programmer and the
socket adaptor. The programmed MAP168 is
then ready to be used. The development
cycle is depicted in Figure 8.

fJ

,-------,
IBM PC PLATFORM

I[

User
Terminal

J

Menu Selection

I
I
I
I
I
I
I
I

DOS

!
WISPER

I
I
I
I

Confl uratlon Data I
I
I
I
I
Proarammmo Data I

!
MAPLE

r----.
I

I~
0

!
MAPRO

I

I

I
I

DISK

r----->I

I - - --1- ----I
Hex File
Format

i

[§]
MaglcPro Hardware
1737 08

WAFERSCALE INTEGRATION, INC.

2-19

MAP16B

System
Development
Tools (Con't)

Ordering
Information

Support
WSI provides a complete set of quality
support services to registered System
Development Tools owners. These support
services include the following:
Q

12-month Software Updates.

Q

Hotline to WSI Application ExpertsFor direct design assistance.

Q

24-Hour Electronic Bulletin BoardFor design assistance via dial-up
modem.

MAP16B
Part Number
MAP168-40C*
MAP168-40J*
MAP168-40L*
MAP168-45C
MAP168-45CM*
MAP168-45CMB*
MAP168-45J
MAP168-45L
MAP168-45LM*
MAP168-45LMB*
MAP168-45X
MAP168-45XM*
MAP168-45XMB*
MAP168-55C
MAP168-55CM
MAP168-55CMB
MAP168-55J
MAP168-55L
MAP168-55LM
MAP168-55LMB
MAP168-55X
MAP168-55XM
MAP168-55XMB

Speed
(ns)
40
40
40
45
45
45
45
45
45
45
45
45
45
55
55
55
55
55
55
55
55
55
55

Package
Type
44-pad CLLCC
44-pin PLDCC
44-pin CLDCC
44-pad CLLCC
44-pad CLLCC
44-pad CLLCC
44-pin PLDCC
44-pin CLDCC
44-pad CLDCC
44-pad CLDCC
44-pin CPGA
44-pin CPGA
44-pin CPGA
44-pad CLLCC
44-pad CLLCC
44-pad CLLCC
44-pin PLDCC
44-pin CLDCC
44-pin CLDCC
44-pin CLDCC
44-pin CPGA
44-pin CPGA
44-pin CPGA

*These products are advanced information.

2-20

WAFERSCALE INTEGRATION, INC.

Training
WSI provides in-depth, hands-on workshops
for the MAP168 device and System Development Tools. Workshop participants learn how
to program their own high-performance, userconfigurable mappable memory subsystems.
Workshops are held at the WSI facility in
Fremont, California.

Package
Drawing
C3
J2
L4
C3
C3
C3
J2
L4
L4
L4
X2
X2
X2
C3
C3
C3
J2
L4
L4
L4
X2
X2
X2

Operating
Temperature
Commercial
Commercial
Commercial
Commercial
Military
Military
Commercial
Commercial
Military
Military
Commercial
Military
Military
Commercial
Military
Military
Commercial
Commercial
Military
Military
Commercial
Military
Military

Manufacturing
Procedure
Standard
Standard
Standard
Standard
Standard
MIL-STD-883C
Standard
Standard
Standard
MIL-STO-883C
Standard
Standard
MIL-STD-883C
Standard
Standard
MIL-STO-883C
Standard
Standard
Standard
MIL-STD-883C
Standard
Standard
MIL-STO-883C

MAP168

Ordering
Information

System Development Tools
Part Number

Contents

MAP168-GOLO

WISPER Software
MAPLE Software
User's Manual
WSI-SUPPORT
WS6000 MagicPro Programmer

MAP168-SILVER

WISPER Software
MAPLE Software
User's Manual
WSI-SUPPORT

WS6000

MagicPro Programmer
IBM PC plug-in Adaptor Card
Remote Socket Adaptor

WS6003

44-pin LCC Package Adaptor for
44-pin CLLCC, CLOCC, and PLOCC Packages.
Used with the WS6000 MagicPro Programmer.

WS6011

44-pin CPGA Package Adaptor.
Used with the WS6000 MagicPro Programmer.

WSI-SUPPORT

WSI-TRAINING

Support Services including:

o
o

12-month Software Update Service

o

24-hour access to WSI Electronic Bulletin Board

Hotline to WSI Application Experts

Workshops at WSI, Fremont, CA.
For details and scheduling, call PSO Marketing, (415) 656-5400.

WAFERSCALE INTEGRATION, INC.

2·21

2-22

WAFERSCALE INTEGRATION, INC.

iF==:=~
.........
..........
_-

Programmable System™Device

WAFERSCALE INTEGRATION, INC.

PSD301

Preliminary

User·Configurable
Peripheral with Memory

-=

~

i=:'-=i-iii.-.-=
---~~

Key Features

r:J Second Generation Programmable

-

Multiplexed or Non-Multiplexed
Address/Data Buses

System Device

r:J User-Configurable Peripheral for
Microcontroller Based Applications Enables rapid design implementation and
fast time to market

r:J Available in space saving surface mount

-

Selectable 8- or 16-Bit Bus Width

-

Power-Down

-

Address Inputs Can Be Latched or
Transparent

-

Latched Low-Order Address Byte
Available as Output

and through-hole packages

r:J Windowed package option for prototyping

r:J High-Density UV EPROM
-

r:J Low cost OTP (one-time programmable)
package for high volume applications

Divided Into Eight Equal Mappable
Blocks

r:J CMOS for low power consumption
r:J User-Configurable to Interface with Any
8- or 16-Bit Microcontroller
-

EPROM Block Resolution of 4K Bytes
or 2K Words
-

Programmable Address Decoder (PAD)

-

Programmable Control Signals

-

Programmable Polarity

-

Built-In Address Latches

256K Bits Configurable as 32K x 8 or
as 16K x 16

EPROM: Up to 120 ns Access Time
(Including PAD Decoding Time)

r:J Static RAM
-

16K Bits Configurable as 2K x 8 or
as 1K x 16

-

SRAM: Up to 120 ns Access Time
(Including PAD Decoding Time)

r:J Port Expansion/Reconstruction of Up to
16 I/O Lines
-

Individually Configurable as Output
or Input

r:J Highly Configurable, Many Operational

r:J Addressable Range
-

1 MByte or 0.5 MWords

r:J Low Power TTL-Compatible CMOS Device

Modes

Applications

r:J Computers (Workstations and PCs) Fixed Disk Control, Modem, Imaging,
Laser Printer Control

r:J Medical Instrumentation - Hearing Aids,
Monitoring Equipment, Diagnostic Tools

r:J Military - Missile Guidance, Radar, Sonar,
r:J Telecommunications -

Modem,
Cellular Phone, Digital PBX, Digital
Speech, FAX, Digital Signal Processing

Secure Communications, RF Modems

r:J Industrial -

Robotics, Power Line
Access, Power Line Monitor

WAFERSCALE INTEGRATION, INC.

2-23

PS0301

Product
Description

In 1986 WSI introduced a new concept in
programmable VLSI, Programmable System
Devices. The PSD family consists of userconfigurable system-level building blocks
on-a-chip, enabling quick implementation
of application-specific controllers and
peripherals. The first generation PSD
series includes the MAP168, a UserConfigurable Peripheral, which is ideal for
DSP applications; the SAM448, a UserConfigurable Microsequencer for control
and interface applications, and the PAC1000,
a User-Configurable Microcontroller.
The PSD301 is a second generation PSD.
The PSD301 is ideal for microcontroller
based applications where fast time-tomarket, small form factor and low power
consumption are essential. When combined
together in an 8- or 16-bit system, virtually
any microcontroller (8051, 8096, 16000,
etc.) and the PSD301 work together to
create a very powerful 2-piece chip-set.
This implementation provides all the
required control and peripheral elements
of a microcontrolier based system peripheral
with no external "glue" logic required.
The PSD301 integrates high performance
user-configurable blocks of EPROM,
SRAM, and logic in a single circuit. The
major functional blocks include a
Programmable Address Decoder (PAD),
256K bits of high speed EPROM, 16K bits
of high speed SRAM, input latches, and
output ports. The PSD301 is ideal for
applications requiring high performance,
low power, and very small form factors.
These include fixed disk control, modem,
cellular telephone, instrumentation,
computer peripherals, military and similar
applications.
The PSD301 is an optimal solution for
microcontrollers that need:

CJ 110 reconstruction (microcontrollers lose
at least two 110 ports when accessing
external resources).

CJ More EPROM and SRAM than the
microcontroller's internal memory.

CJ Chip-select, control, or latched address
lines that are otherwise implemented
discretely.

CJ An interface to shared external resources.

2·24

WAFERSCALE INTEGRATION, INC.

The PSD301 (shown in Figure 1) can
efficiently interface with, and enhance, any
8- or 16-bit microcontroller system. No
other solution provides microcontrollers
with port expansion, latched addresses, a
programmable address decoder (PAD), an
interface to shared resources, 256 kbit
EPROM, and 16 kbit SRAM on a single
chip. The PSD301 does not require glue
logic for interfacing to any 8- or 16-bit
microcontrollers.
The 8051 microcontroller family can take
full advantage of the PSD301's separate
program and address spaces. Users of the
68HCXX family of microcontrollers can
change the functionality of the control
signals and directly connect the R/Vii and
E signals. Users of 16-bit microcontrollers
(including the 80186, 8096, 80196, 16XXX)
can use the PSD301 in a 16-bit
configuration. Address and data buses
can be configured to be separated or
multiplexed, whichever is required by the
host processor.
The flexibility of the PSD301 110 ports
permit interfacing to shared resources. The
user can assign the following functions to
these ports: standard 110 pins, chip select
outputs from the PAD, latched address or
multiplexed low-order addressldata byte.
This enables users to design add-on
systems such as disk drives, modems,
etc., that easily interface to the host bus
(e.g., IBM PC, SCSI).
The PSD301's on-Chip programmable
address decoder (PAD) enables the user
to map the 110 ports, eight segments of
EPROM (as 4K x 8, or as 2K x 16), SRAM
(as 2K x 8 or as 1K x 16), and chip select
outputs anywhere in the address space of
the microcontroller. The PAD can implement
up to 4 sum-ol-product expressions based
on address inputs and control signals. This
further facilitates the interface to
microcontrollers with different boot-up
locations and 110 address mappings, e.g.,
the 8051 and 8096 microcontrollers have
the boot-up addresses in the lower half of
their memory maps; the 80186 and
68HCXX use high memory boot-up
addresses.

PS0301

Figure 1.
PS0301
Architecture

ALE/AS

DIS-OS

OCTAL,
LATCH
ADO
ADI
AD2
AD3
AD4
ADS
AD6
AD7

#
-~}
#-

uppER.l LOWER
BYTE
BYTE
2K
2K
EPROM

Al-Al1

~
~

-ro-

~
~
g,

-~~}
~
Att

ADS
AD9
AD10
ADll
AD12
AD13
AD14
ADIS

itt
"ill

-m

~

A15
A14
A13
A12
All

r----

~

~

M§,

PAD

~

';~F

WR
R/W

g

ESO

.....

~
~

-=---

R!L:£
ALE
A~

··
1·

f~-~}

~
~

UPPER LOWER
BYTE
BYTE
2K
2K
EPROM

I

RSO

-+

I

UPPER.I. LOWER
BYTE
BYTE
lK
lK
SRAM

e

BYTE WIDE
BUS
ISOLATION
BUFFER

-

~--,

-

ADO-AD7/ 00- 07

08 - 015

~"'-I-PBO
CSOTO CS7
I-- PBl
I-- PB2
I-- PB3
I-- PB4
I-- PBS
08.0151I-- PB6
_ _ - r - I - - PB7

-

I

-

-----

r--

~

I

PAO
PAl
PA2
PA3
PA4
PAS
PA6
.... r - - PA7

-

Il 1 II

KJ

§e§'-

-~

UPPER LOWER
BYTE
BYTE
2K
2K
EPROM

A1-Al0

P---

ADO- AD7

PORTA

r--_

POR TB

less

A~

"DATA
TRANSCEIVERS

@.
@.

&
g
&

M.L-

ADDRESS/DATA

P---

f,

.

ALE/AS
OCTAL
LATCH

07-00

ES7

I

l

CS8
PO RTC
CS9
r--CS10

- ...

--- .... -

---

PCO
PCl
PC2

A16
A17
A18

A16, A17, A18

OUPUTS DECODED
FROM BHEAO.
RD/E
WR/R/W
BHE/PSEN
RESET
A19/CSI

CONTROL AND CONFIGURATION SECTION

NOTES:

CONTROL BUS TO PORTS

1. RESET and CSI are not available as programmable options In the PAD. An active RESET ensures
that the PAD deselects all of its outputs, and a high level on CSI ensures that the PAD is In
power·down mode.
2. Details of the PAD as a programmable array decoder are given in Figure 3.

WAFERSCALE INTEGRATION, INC.

2·25

PSD301

Figure 2.
PS0301 Port
Configurations

Figure 2 shows the PS0301's I/O port configurations.
AD.-AD,.

I/O OR :&-A7
ADo-A 7

ADo-AD7

PA

AL E

•
iIii
EJPSEN
•
AIWOR WRN."
•
/E

./CSI
RESET

•

•

•

I/O or

•

CSO-CS7

•

r--

•

CS.-CS,o

•

PS0301 configured for multiplexed
16-bit address/data bus

Aa-A15

•

-A7

ALE

A ,glCSI

RESET

•
•

I/O OR CSO-cs7
PB

r-A,.-A,. OR CS.-CS,.

glCSI

PC

RESET

PS0301 configured for multiplexed
a-bit address/data bus.

A• -A,.

iIiiE/PSEN

RD/E

r--

0 0-07

PA

PB

AL E

•

0.-0,.

•

•

•

PS0301 configured for nonmultiplexed 16-bit address/data bus.

I/O or

glCSI

•

r--

PS0301 configured for nonmultiplexed a-bit address/data bus.

AO o-A0 7 = addresses Ao-A7 multiplexed with data lines 0 0-07,
AOa-A015 = addresses Aa-A15 multiplexed with data lines 0a-015'

WAFERSCALE INTEGRATION, INC.

A,.-A,. OR CS.-CS,.

PC

RESET

Legend:

2·26

CSO-CS7

PB

RIW OR WRN••
IE

A,.-A,. OR CS.-CS,o

0,,-0 7

r--

iIiiEJPSEN

r-PC

PA

-A7

f--

RIW ORWRN."

•
•

PA

RIW ORWRN."
RD/E

A'B-A,. OR

PC

---

iIii
EJPSEN

I/O OR Ao-A7
ADo-AD7

•

AL E

rPB

-A15
ADO-AD7

PSD301

Table 1. PS0301
Pin oescriptiDns

Name

'tYpe

Description

BHE/PSEN

I

When the data bus width is 8 bits (CDATA = 0), this pin is
PSEN. In this mode, PSEN is the active low EPROM read
pulse. The SRAM and 1/0 ports read signal is generated
when RD is low (CRRWR = 0), or when E and R/W are
high (CRRWR = 1). If the host processor is a member of
the 8031 family, PSEN must be connected to the
corresponding host pin. In other 8-bit host processors that
do not have a special EPROM-only read strobe, PSEN
should be tied to Vce. In this case, RD or E and R/W
provide the read strobe for the SRAM, 1/0 ports, and
EPROM. When the data bus width is configured as 16
(CDATA = 1), this pin is BHE. When BHE is low, a highorder byte is read from, or written into the PSD301,
depending on 'the operation being read or write,
respectively. In program'ming mode, this pin is pulsed
between Vpp and O.

WRlVpp or
R/WlVpp

I

In the operating mode, this pin's function is WR
(CRRWR = 0) or R/W (CRRWR = 1). When configured as
WR, a write operation is executed during an active low
pulse. When configured as R/W, with R/W = 1 and E = 1,
a read operation is executed; if R/W = 0 and E = 1, a
write operation is executed. In programming mode, this pin
must be tied to Vpp voltage.

RD/E

I

When configured as RD (CRRWR = 0), this pin provides
an active low RD strobe. When configured as E (CRRWR
= 1), this pin becomes an active high pulse, which,
together with R/W defines the cycle type. Then, if R/W = 1
and E = 1, a read operation is executed. If RtW = 0 and
E = 1, a write operation is executed.

CSIIA19

I

This pin has two configurations. When it is CSI
(CA19/CSI = 0) and the pin is asserted high, the device
is deselected and powered down. (See Tables 12 and 13
for the chip state during power-down mode.) If the pin is
asserted low, the chip is in normal operational mode.
When it is A19, (CA19/CSI = 1), this pin can be used as
an additional input to the PAD. In this mode, there is no
power-down capability.

RESET

I

This user-programmable pin can be configured to reset on
high level (CRESET = 1) or on low level (CRESET = 0).
It should remain active for at least 100 ns. See Tables 10
and 11 for the chip state after reset.

ALE or
AS

I

In the multiplexed modes, the ALE pin functions as an
Address Latch Enable or as an Address strobe and can be
configured as an active high or active low signal. The ALE
or AS trailing edge latches lines AD15/A15-ADO/AO, A16-A19,
and BHE, depending on the PSD301 configuration. See
Table 8. In the non-multiplexed modes, it can be used as a
general-purpose PAD input signal.

Legend:
NOTE:

The 1/0 column abbreviations are: I

= input;

1/0

= input/output;

P

= power.

3. All the configuration bits mentioned in Table 1 appear in parentheses and are explained in the
Configuration Register section.

WAFERSCALE INTEGRATION, INC.

2·Z7

PS0301

Table 1. PSD301
Pin Descriptions
(Cont.)

2-28

Name

Type

Description

PA7
PAB
PA5
PA4
PA3
PA2
PA1
PAO

I/O

PA7-PAD is an 8-bit port that can be configured to track
AD7/A7-ADO/AO from the input (CPAF2 = 1). Otherwise
(CPAF2 = 0), each bit can be configured separately as an
I/O or lower-order latched address line. When configured
as an I/O (CPAF1 = 0), the direction of the pin is defined
by its direction bit, which resides in the direction register. If
a pin is an I/O output, its data bit (which resides in the
data register) comes out. When it is configured as a loworder address line (CPAF1 =1), A7-AO can be made the
corresponding output through this port (e.g., PAB can be
configured to be the AB address line). Each port bit can be
a CMOS output (CPACOD = 0) or an open drain output
(CPACOD = 1). When the chip is in non-multiplexed mode
(CADDRDAT = 0), the port becomes the data bus lines
(DO-D7). See Figure 4.

PB7
PBB
PB5
PB4
PB3
PB2
PB1
PBO

I/O

PB7-PBO is an 8-bit port for which each bit can be
configured as an I/O (CPBF = 1) or chip-select output
(CPBF = 0). Each port bit can be a CMOS output
(CPBCOD = 0) or an open drain output (CPBCOD = 1).
When configured as an I/O, the direction of the pin is
defined by its direction bit, which resides in the direction
register. If a pin is an I/O output, its data (which resides in
the data register) comes out. When configured as a chipselect output, CSO-CS3 are a function of up to four
product terms of the inputs to the PAD; CS4-CS7 then are
each a function of up to two product terms. When the chip
is in non-multiplexed mode (CADDRAT = 0) and the data
bus width is 1B (CDATA = 1), the port becomes the most
significant byte of the data bus (D8-D15). See Figure B.

PCO
PC1
PC2

I/O

This is a 3-bit port for which each bit is configurable as a
PAD input or output. When configured as an input (CPCF
= 0), the bits can be latched with ALE (CADDHLT = 1) or
be transparent inputs to the PAD (CADDHLT = 0). When' a
pin is configured as an output (CPCF = 1), it is a function
of one product term of all PAD inputs. See Figure 7.

ADO/AO
AD1/A1
AD2/A2
AD3/A3
AD4/A4
AD5/A5
ADB/AB
AD7/A7

I/O

In multiplexed mode, these pins are the multiplexed loworder address/data byte, After ALE latches the addresses,
these pins input or output data, depending on the settings
of the RD/E, WR/vpp or R/W, and BHE/PSEN pins. In
non-multiplexed mode, these pins are the low-order
address input byte.

AD8/A8
AD9/A9
AD10/A10
AD11/A11
AD12/A12
AD13/A13
AD14/A14
AD15/A15

I/O

In 1B-bit multiplexed mode, these pins are the multiplexed
high-order address/data byte. After ALE latches the
addresses, these pins input or output data, depending on
the settings of the RD/E, WR/vpp or R/W, and BHE/PSEN
pins. In all other modes, these pins are the high-order
address input byte.

GND

P

Vss (ground) pin.

Vee

P

Supply voltage input.

WAFERSCALE INTEGRATION, INC.

P50301

Operating Modes

The PSD301's four operating modes allow
it to interface directly to 8- and 16-bit
microcontrollers and microprocessors with
multiplexed and non-multiplexed
address/data buses. These operating
modes are:

address/data bus (AD8/A8-AD15/A15) is bidirectional and permits latching of the
high-order address when the ALE signal is
active on the same pins. The high-order
data bus is read from or written to the
device, depending on the state of the
RD/E, BHE/PSEN, and WRlVpp or R/W
pins. Ports A and B can be configured as
in Table 2.

Cl Multiplexed 8-bit address/data bus
Cl Multiplexed 16-bit address/data bus
Cl Non-multiplexed address/data, 8-bit
data bus
Cl Non-multiplexed 16-bit address/data bus

Multiplexed 8·Bit Address/Data Bus
This mode is used to interface to
microcontrollers with an 8-bit data bus and
a 16-bit or larger address bus. The loworder address/data bus (ADO/AO-AD7/A7) is
bi-directional and permits the latching of
the address when the ALE signal is active.
On the same pins, the data is read from or
written to the device; this depends on the
state of the RD/E, BHE/PSEN, and
WRlVpp or R/W pins. The high-order
address/data bus (AD8/A8-AD15/A15)
contains the high-order address bus byte.
Ports A and B can be configured as in
Table 2.

Multiplexed 16·Bit Address/Data Bus
This mode is used to interface to
microcontrollers with a 16-bit data bus and
a 16-bit or larger address bus. The loworder address/data bus (ADO/AO-AD7/A7) is
bi-directional and permits the latching of
the address when the ALE signal is active.
On the same pins, the data is read from or
written to the device; this depends on the
state of the RD/E, BHE/PSEN, and
WRlVpp or R/W pins. The high-order

Non·Multiplexed Address/Data,
8·Bit Data Bus
This mode is used to interface to nonmultiplexed 8-bit microcontrollers with an
8-bit data bus and a 16-bit or larger address
bus. The low-order address/data bus
(ADO/AO-AD7/A7) is the low-order address
input bus. The high-order address/data bus
(AD8/A8-AD15/A15) is the high-order
address bus byte. Port A is the low-order
data bus. Port B can be configured as
shown in Table 2.

Non·Multiplexed 16·Bit Address/Data Bus
This mode is used to interface to nonmultiplexed 16-bit microcontrollers with a
16-bit data bus and a 16-bit or larger
address bus. The low-order address/data
bus (ADO/AO-AD7/A7) is the low-order
address input bus. The high-order address/
data bus (AD8/A8-AD15/A15) is the highorder address bus byte. Port A is the loworder data bus. Port B is the high-order
data bus.
Table 2 summarizes the effect of the
different operating modes on ports A, B,
and the address/data pins. The
configuration of Port C is independent of
the four operating modes.

WAFERSCALE INTEGRATION, INC.

2·29

fJ

PS0301

Table 2. PSD301
Bus and Port
Configuration
Options

Multiplexed Address/Data

Non-Multiplexed Address/Data

I/O and/or low-order address
lines or
Low-order multiplexed
address/data byte

00-07 data bus lines

8-Bft Data Bus
Port A

Port B

I/O and/or CSO-CS7

I/O and/or CSO-CS7

ADO/AO-AD7/A7

Low-order multiplexed
address/data byte

Low-order address bus byte

AD8/A8-AD15/A15

High-order address bus byte

High-order address bus byte

Port A

I/O and/or low-order address
lines or
Low-order multiplexed
address/data byte

Low-order data bus byte

Port B

I/O and/or CSO-CS7

High-order data bus byte

ADO/AO-AD7/A7

Low-order multiplexed
address/data byte

Low-order address bus byte

AD8/A8-AD15/A15

High-order multiplexed
address/data byte

High-order address bus byte

16-Bft Data Bus

Programmable
Address Decoder
(PAD)

The PSD301's programmable address
decoder (PAD) has 14 inputs and 24
outputs. All its I/O functions are listed in
Table 3 and shown in Figure 3.
The PAD is used to select all chip internal
parts and to generate external chip-selects
(see Figure 3). Pins A11-A15, RD/E,
WRlVpp or R/VIi, Reset, and ALE are fixed
functions. A16-A19 can be address inputs
or general purpose inputs to the PAD for
implementing logic functions. Internal and

2-30

WAFERSCALE INTEGRATION, INC.

external PAD select signals can override
EPROM memory whose addresses
overlap. This lets the user make more
efficient use of the address space. For
example, if the EPROM is not used
completely for program storage, the
unused EPROM address space can be
allocated to I/O ports, SRAM, or other PAD
select signals. USing WSI's MAPLE
software, any input function to the PAD
can be selected as active low, active high,
or don't care.

PSD301

Table 3. PS0301
I/O Functions

Function
PAD Inputs
CSI or A19

In CSI mode (when high), PAD deselects all of its outputs and enters
a power-down mode (see Tables 12 and 13). In A19 mode, it is
another input to the PAD.

A16-A18

These are general purpose inputs from Port C. See Figure 3, note 4.

A11-A15

These are address inputs.

RD or E

This is the read pulse or enable strobe input.

WR or R/W
ALE
RESET

This is the write pulse or R/W select signal.
This is the ALE input to the chip.
This deselects all outputs from the PAD; it can not be used in
product term equations. See Tables 10 and 11.

PAD Outputs
CSO-CS3

These chip-select outputs can be routed through Port B. Each of
them is a function of up to four product terms of the PAD inputs.

CS4-CS7

These chip-select outputs can be routed through Port B. Each of
them is a function of up to two product terms of the PAD inputs.

CS8-CS10

These chip-select outputs can be routed through Port C. See Figure 3,
note 4. Each of them is a function of one product term of the PAD inputs.

ESO-ES7

RSO
CSIOPORT

These are internal chip-selects to the 8 EPROM banks. Each bank
can be located on any boundary that is a function of one product
term of the PAD address inputs.
This is an internal chip-select to the SRAM. Its base address location
is a function of one term of the PAD address inputs.
This internal chip-select selects the I/O ports. It can be placed on
any boundary that is a function of one product term of the PAD
inputs. See Tables 6 and 7.

CSADIN

This internal chip-select, when Port A is configured as a low-order
address/data bus in the track mode (CPAF2 = 1), controls the input
direction of Port A. CSADIN is gated externally to the PAD by the
internal read signal. When CSADIN and a read operation are active,
data presented on Port A flows out of ADO/AO-AD7/A7. This chipselect can be placed on any boundary that is a function of one
product term of the PAD inputs. See Figure 5.

CSADOUT1

This internal chip-select, when Port A is configured as a low-order
address/data bus in track mode (CPAF2 = 1), controls the output
direction of Port A. CSADOUT1 is gated externally to the PAD by the
ALE signal. When CSADOUT1 and the ALE signal are active, the
address presented on ADO/AO-AD7/A7 flows out of Port A. This chipselect can be placed on any boundary that is a function of one
product term of the PAD inputs. See Figure 5.

CSADOUT2

This internal chip-select, when Port A is configured as a low-order
address/data bus in the track mode (CPAF2 = 1), controls the output
direction of Port A. CSADOUT2 must include the write-cycle control
signals as part of its product term. When CSADOUT2 is active, the
data presented on ADO/AO-AD7/A7 flows out of Port A. This chipselect can be placed on any boundary that is a function of one
product term of the PAD inputs. See Figure 5.

WAFERSCALE INTEGRATION, INC.

2·31

'50301

Figure 3.
PSD301 PAD
Description
ALE orAS~

...

~

~

RD or E

i'O--=
"S

..,

WR or R/W
"'S

~

A19

..g

...

ESO
ES1
ES2
8 EPROM Block
ES3
ES4
Select Lines
ES5
ES6
ES7
RSO _ _ SRAM Block Select
eSIOPORT-"0 Base Address
eSADIN
Track Mode
eSADOU
} Control Signals
eSADOU

:g

~

A18
"'S
~

A17

---

eSO/PBO

eSl/PB1

"
"S

..,
~

eS2/PB2

A16

..,

"'S

A15

CS3/PB3

"

'--

"S
~

A14

A13

"

~

CS4/PB4

~

CS5/PB5

..,K

eS6/PB6

..,K

eS7/PB7

..,

""S
"

""S

A12

"
"S

A11

"
""S

...
eSI
RESET

...

..,

...

...

~

~

C>oC>o-

esa/pco
eS9/PC1
CS10/pe2

NOTES: 4. CSi is a power-down signal. When high, the PAD is in stand-by mode and all its outputs become
non-active. See Tables 12 and 13.
5. RESET deselects all PAD output signals. See Tables 10 and 11.
S. Maximum PAD latency is 35 ns.
7. AlB, A17, and AIS are internally multiplexed with eSl0, eS9, and esa, respectively. Either Ala or
eSl0, A17 or eS9, and Al0 or esa can be routed to the external pins of Port e.

2·32

WAFERSCALE INTEGRATION, INC.

PS0301

Configuration
Bits

Table 4. PSD301
Non-Volatile
Configuration
Bits

The configuration bits shown in Table 4
are non-volatile cells that let the user set
the device, I/O, and control functions to
the proper operational mode. Table 5 lists
all configuration bits. The configuration bits
are programmed and verified during the

Use This Sit
CDATA

programming phase. In operational mode,
they are not accessible. To simplify
implementing a specific mode, use the
WSl's PSD301 MAPLE software to set
the bits.

To
Set the data bus width to 8 or 16 bits.

CADDRDAT

Set the address/data buses to multiplexed or non-multiplexed mode.

CRRWR

Set the RD/E and WR/vpp or RIW pins to RD and WR pulse, or to
E strobe and RIW status.

CA19/CSI

Set A19/CSI to CSI (power-down) or A19 input.

CALE

Set the ALE polarity.

CPAF2

Set Port A either to track the low-order by1e of the address/data
multiplexed bus or to select the I/O or address option. 8

CSECURITY
CRESET

Set the RESET polarity.

COMB/SEP

Set PSEN and RD for combined or separate address spaces (see
Figures 8 and 9).

CPAF1

Configure each pin of Port A in multiplexed mode to be an I/O or
address out.

CPACOD
CPBF
CPBCOD

Configure each pin of Port A as an open drain or active CMOS pullup output.
Configure each pin of Port B as an I/O or a chip-select output.
Configure each pin of Port B as an open drain or active CMOS pullup output.

CPCF

Configure each pin of Port C as an address input or a chip-select
output.

CADDHLT

Configure pins A16-A19 to go through a latch or to have their latch
transparent.

NOTE:

fI

Set the security on or off.

8. CPAFt determines whether the output

IS

1/0 or address.

WAFERSCALE INTEGRATION, INC.

2-33

PS0301

Table 5. PSD301
Configuration
Bits

Configuration
Bits

No.
of Bits

CDATA

1

8-bit or 16-bit data bus width
CDATA = 0, '8-bit data bus
CDATA = 1, 16-bit data bus

CADDRDAT

1

Address/data multiplexed or non-multiplexed (separate buses)
CADDRDAT = 0, non-multiplexed address/data bus
CADDRDAT = 1, multiplexed address/data bus

CRRWR

1

CRRWR
CRRWR

CA19/CSI

1

A19 or CSI
CA19/CSI = 0, enable power-down mode
CA19/CSI = 1, A19 input to PAD

CALE

1

Active high or active low
CALE = 0, active high
CALE = 1, active low

CRESET

1

Active high or active low
CRESET = 0, active low reset signal
CRESET = 1, active high reset signal

COMB/SEP

1

Combined or separate memory space for EPROM and SRAM
COMB/SEP = 0, combined
COMB/SEP = 1, separate

CPAF1

8

Port A I/Os or AO-A?
CPAF1 = 0, Port A pin
CPAF1 = 1, Port A pin

=
=

0, RD and WR active low strobes
1, R/W status and E active high pulse

=
=

I/O
Ai (0 .;; i .;; ?)

CPAF2

1

Port A ADO-AD? (address/data multiplexed bus)
CPAF2 = 0, address or I/O on Port A (according to CPAF1)
CPAF2 = 1, address/data multiplexed on Port A (track mode)

CPBF

8

Port B I/Os or CSO-CS?
CPBF = 0, Port B Pin = CSi (0 .;; i .;; ?)
CPBF = 1, Port B Pin = I/O

CPCF

3

Port C A16-A18 or CS8-CS10
CPCF = 0, Port C Pin = Ai (16';; i .;; 18)
CPCF = 1, Port C Pin = CSi (8';; i.;; 10)

CPACOD

8

Port A CMOS or open-drain outputs
CPACOD = 0, CMOS output
CPACOD = 1, open-drain output

CPBCOD

8

Port B CMOS or open-drain outputs
CPBCOD = 0, CMOS output
CPBCOD = 1, open-drain output

CADDHLT

1

A16-A19 latched or latch transparent
CADDHLT = 0, address latch transparent
CADDHLT = 1, address latched (ALE dependent)

CSECURITY

1

Security on or off
CSECURITY = 0, no security
CSECURITY = 1, secured part (cannot be copied)

Total Number
of Bits

45

NOTES:

2·34

Description

g. WSl's MAPLE software will gUide the user to the proper configuration choice.
10 In an unprogrammed or erased part, all configuration bits are O.

WAFERSCALE INTEGRATION, INC.

PSD301

Port Functions

Figure 4. Port A
Pin Structure

The PSD3D1 has three 1/0 ports (Ports A,
B, and C) that are configurable at the bit
level. This permits great flexibility and a
high degree of customization for specific

I
N
T
E
R
N
A
L
A
D
D
R

/
D
A
T
A

READ PIN

READ DATA
CMOS/OD
(NOTE 11)
WRITE DATA CK

ALE

KNABLE
ADDR __

G

LATCH

·

MUX

D
R
ADI/D!..READ DIR

·

j~

'-J

0
/

NOTE:

·

R

A
D

RESET

PORTA PIN

OUl.

OFF

D

B
U
S

A
D
7

applications. The following is a description
of each port. Figure 4 shows the pin
structure of Port A.

D
WRITE DIR

CK

OIR
FF

I

CONTROL

R

I
11. CMOS/DO determines whether the output is open drain or CMOS.

Port A in Multiplexed Address/Data Mode
The default configuration of Port A is 110.
In this mode, every pin can be set as an
input or output by writing into the
respective pin's direction flip flop (DIR FF,
in Figure 4). As an output, the pin level
can be controlled by writing into the
respective pin's data flip flop (DFF, in
Figure 4). When DIR FF = 1, the pin is
configured as an output. When DIR FF =
D, the pin is configured as an input. The
controller can read the DIR FF bits by
accessing the READ DIR register; it can
read the DFF bits by accessing the READ
DATA register. Port A pin levels can be
read by accessing the READ PIN register.

Individual pins can be configured as
CMOS or open drain outputs. Open drain
pins require external pull-up resistors. For
addressing information, refer to Tables 6
and 7.
Alternatively, each bit of Port A can be
configured as a low-order latched address
bus bit. The address is provided by the
port address latch, which latches the
address on the trailing edge of ALE.
PAD-PA7 can become AD-A7, respectively.
This feature of the PSD3D1 lets the user
generate low-order address bits to access
external peripherals or memory that
require several low-order address lines.

WAFERSCALE INTEGRATION, INC.

2-35

PS0301

Port Functions
(Cont.)

Another mode of Port A (CPAF2 = 1) sets
the entire port to track the inputs
ADO/AO-AD7/A7, depending on specific
address ranges defined by the PAD's
CSADIN, CSADOUT1, and CSADOUT2
signals. This feature lets the user interface
the microcontroller to shared external
resources without requiring external
buffers and decoders. In this mode, the
port is effectively a bi-directional buffer.
The direction is controlled by using the
input signals ALE, RD/E, WR/vpp or R/W,
and the internal PAD outputs CSADOUT1,
CSADOUT2 and CSADIN (see Figure 5).
When CSADOUT1 and ALE are true, the
address on the input ADO/A7-AD7/A7 pins
flows out through Port A. (Carefully check
the generation of CSADOUT1, and ensure
that it is stable during the ALE pulse; see
Figures 22 and 23). When CSADOUT2 is

active, a write operation is performed (see
note to Figure 5). The data on the input
ADO/A7-AD7/A7 pins flows out through Port
A. When CSADIN and a read operation is
performed (depending on the mode of the
RD/E and WR/vpp or RIW pins), the data
on Port A flows out through the ADO/A7AD7/A7 pins. In this operational mode, Port
A is tri-stated when none of the abovementioned three conditions exist.

Port A in Non-Multiplexed Address/
Oata Mode
In this mode, Port A becomes the low
order data bus byte of the chip. When
reading an internal PSD301 location, data
is presented on Port A pins. When writing
to an internal PSD301 location, data
present on Port A pins is written to that
location.

Figure 5. Port A
Track Mode

WR rRfW

ADO·AD?

ALE or AS

AD8·AD15

•

A11·A15

• LATCHI--~~ PAD

CSADOUT2
(NOTE 12)

A16·A19

NOTE:

12. The expression for CSADOUT2 must Include the following write operation cycle signals:
For CRRWR = 0, CSAPOUT2 must include WR = 0.
For CRRWR = 1, CSADOUT2 must include E = 1 and R/W = 0.

Port B in Multiplexed Address/Oata
and in 8-Bit Non-Multiplexed Modes
The default configuration of Port B is I/O.
In this mode, every pin can be set as an
input or output by writing into the
respective pin's direction flip flop (DIR FF,
in Figure 6). As an output, the pin level
can be controlled by writing into the
respective pin's data flip flop (DFF, in

2·36

WAFERSCALE INTEGRATION, INC.

Figure 6). When DIR FF = 1, the pin is
configured as an output. When DIR FF =
0, the pin is configured as an input. The
controller can read the DIR FF bits by
accessing the READ DIR register; it can
read the DFF bits by accessing the READ
DATA register. Port B pin levels can be
read by accessing the READ PIN register.

PS0301

Port Functions
(Cont.)

Individual pins can be configured as
CMOS or open drain outputs. Open drain
pins require external pull-up resistors. For
addressing information, refer to Tables 6
and 7.

Port 8 in 16·8it Non·Multiplexed
Address/Oata Mode

Alternatively, each bit of Port B can be
configured to provide a chip-select output
signal from the PAD. PBO-PB7 can provide
CSO-CS7, respectively. Each of the signals
CSO-CS3 is comprised of four product
terms. Thus, up to four ANDed expressions
can be ORed while deriving any of these
signals. Each of the signals CS4-CS7 is
comprised of two product terms. Thus, up
to two ANDed expressions can be ORed
while deriving any of these signals.

Figure 6. Port B
Pin Structure

In this mode, Port B becomes the highorder data bus byte of the chip. When
reading an internal PSD301 high-order
data bus byte location, the data is
presented on Port B pins. When writing to
an internal PSD301 high-order data bus
byte location, data present on Port B is
written to that location. See Table 9.

Accessing the I/O Port Registers
Tables 6 and 7 show the offset values with
the respect to the base address defined by
the CSIOPORT. They let the user access
the corresponding registers.

READ PIN
I
N

T
E
R
N

A
L

c

s

o

U

I
N
T
E
R
N
A
L

READ DATA
CMOS/aD
(NOTE 13)
WRITE DATA CK

D
A
T
A

D
R
DI

B

B
U

S
CSI
D

C
S

PORTB

MUX

T
U
S

~>m">

OUT

OFF

READ DIR

8

o
D
1

5

D
WRITE DIR

RESET

NOTE:

Table 6. I/O Port
Addresses in an
B·bit Data
Bus Mode

DIR
CK FF
R

CONTROL

I

13 CMOS/aD determines whether the output IS open dram or CMOS.

Register Name

8yte Size Access of the I/O Port Registers
Offset from the CSloPoRT

Pin Register of Port A

+2 (accessible during read operation only)

Direction Register of Port A

+4

Data Register of Port A

+6

Pin Register of Port B

+3 (accessible during read operation only)

Direction Register of Port B

+5

Data Register of Port B

+7

f0l.FERSCALE INTEGRATION, INC.

2·37

PSD301

Table 7. lID Port
Addresses in a
16·bit Data Bus
Mode

Word Size Access of the I/O Port
Registers Offset from the CSIOPOR1

Register Name
Pin Register of Ports B and A

+2 (accessible during read operation only)

Direction Register of Ports B and A

+4

Data Register of Ports B and A

+6

NOTES:

14. When the data bus width is 16, Port B registers can only be accessed if the BHE signal is low.
15. When accessing words, the high-order byte is connected to Port B, and the low-order byte is
connected to Port A.
16. 1/0 Ports A and B are still byte-addressable, as shown in Table 6. For 1/0 Port B register access,
BHE must be low.

Port C in All Modes
Each pin of Port C (shown in Figure 7) can
be configured as an input or output from
the PAD. As inputs, the pins are named
A16-A18. Although the pins are given
names of the high-order address bus, they
can be used for any other logic inputs to
the PAD. For example, A8-A10 can also be
connected to those pins, reducing the

Figure 7.
Port CStructure

boundaries of CSO-CS7 resolution to
256 bytes. Port C address latches can be
programmed to latch the inputs by the
trailing edge ALE or to be transparent.
Alternatively, PCO-PC2 can become
CS8-CS10 outputs, respectively, providing
the user with more external chip-select
PAD outputs. Each of the signals CS8CS10 is comprised of one product term.

++
A16j1NPUT LINE)

pca

!

LOCAL
CONF.
BIT 0

(NOTE 17)
AI6-IN

TO PAD
0-

~

I

ADDRESS
LATCH

CSS (OUTPUT LINE!

FROM PAD

I

CADDHLT
CONFIGURATION
BIT: LATCH OR
TRANSPARENT
CONTROL

ALE

t +
Al7 (INPUT LINE)
PCl

!

~

ADDRESS
LATCH

All-IN

CS9 (OUTPUT LINE!

TO PAD
FROM PAD

~
CONF.
BIT 1

1 t_
AIS (INPUT LINE!
PC21

ADDRESS
LATCH

AlB-IN

TO PAD

-

~~~~~~~------------FROMPAD

NOTE:

2-38

17. The CADDHLT configuration bit determines if A1B-AI6 are transparent via the latch, or if they must
be latched by the trailing edge of the ALE strobe.

WAFERSCALE INTEGRATION, INC.

PSD301

EPROM

The PSD301 has 256K bits of EPROM.
Depending on the configuration of the data
bus, the EPROM can be organized as
32K x 8 (8-bit data bus) or as 16K x 16
(16-bit data bus). The EPROM has 8 banks
of memory. Each bank can be placed in

any address location by programming the
PAD. BankO-Bank? can be selected by
PAD outputs ESO-ES?, respectively. The
EPROM banks are organized as 4K x 8
(8-bit data bus) or as 2K x 16 (16-bit data
bus).

SRAM

The PSD301 has 16K bits of SRAM.
Depending on the configuration of the data
bus, the SRAM organization can be 2K x 8

(8-bit data bus) or 1K x 16 (16-bit data
bus). The SRAM is selected by the RSO
output of the PAD.

Control Signals

The PSD301 control signals are WRlVpp
or R/VIi, ROlE, ALE, BHE/PSEN, Reset,
and A19/CSI. Each of these signals can be
configured to meet the output control signal
requirements of various microcontrollers.

falling edge of ALE latches the information
into the latches. When ALE is programmed
to be active low, a low on the pin causes
the input address latches, Port A address
latches, Port C, and A19 address latches to
be transparent. The rising edge of ALE
latches the appropriate information into the
latches. ALE is active only in the
multiplexed modes.

WRIVpp or RIW
In operational mode, this signal can be
configured as WR or R/VIi. As WR, all write
operations to the PSD301 are activated by
an active low signal on this pin. As R/VIi, the
pin works with the E strobe of the ROlE
pin. When R/VIi is high, an active high
signal on the ROlE pin performs a read
operation. When R/VIi is low, an active
high signal on the ROlE pin performs a
write operation.

ROlE
In operational mode, this signal can be
configured as RD or E. As RD, all read
operations to the PSD301 are activated by
an active low signal on this pin. As E, the
pin works with the R/VIi strobe of the
WRlVpp or RIW pin. When R/VIi is high,
an active high signal on the ROlE pin
performs a read operation. When R/VIi is
low, an active high signal on the ROlE pin
performs a write operation.

ALE or AS
ALE polarity is programmable. When
programmed to be active high, a high on
the pin causes the input address latches,
Port A address latches, and Port C
address latches to be transparent. The

BHEIPSEN
This pin's function depends on the
PSD301 data bus width. If it is 8, the pin
is PSEN; if it is 16, the pin is BHE. In 8-bit
mode, the PSEN function lets the user
work with two address spaces: program
memory and data memory (if COMB/SEP
= 1). In this mode, an active low signal on
the PSEN pin causes the EPROM to be
read. The SRAM and I/O ports read operation
are done by RD low (CRRWR = 0), or by
E and R/VIi high (CRRWR = 1).
Whenever a member of the 8031 family (or
any other similar microcontroller) is used,
the PSD301's PSEN pin must be connected
to the PSEN pin of the microcontroller.
If COMB/SEP = 0, the address spaces of
the program and the data are combined.
In this configuration (except for the
8031-type case mentioned above), the
PSEN pin must be tied high to Vee, and
the EPROM, SRAM, and I/O ports are
read by RD low (CRRWR = 0), or by E
and R/VIi high (CRRWR = 1). See Figures
8 and 9.

WAFERSCALE INTEGRATION, INC.

2-39

P50301

Table 8. Signal
Latch Status in
All Operating
Modes

AD8/A8AD15/A15

=0

8-bit data, non-multiplexed

Transparent

CDATA = 0,
CADDRDAT

=1

8-bit data, multiplexed

Transparent

CDATA = 1,
CADDRDAT

=0

16-bit data, non-multiplexed

Transparent

16-bit data, multiplexed

ALE dependent

Non-multiplexed modes

Transparent

Multiplexed modes

ALE dependent

8-bit data, PSEN is active

Transparent

16-bit data, non-multiplexed
mode, BHE is active

Transparent

CDATA = 1,
CADDRDAT

16-bit data, multiplexed
mode, BHE is active

ALE dependent

CADDHLT

A16-A19 can become logic inputs

Transparent

A16-A19 can become multiplexed
address lines

ALE dependent

ADO/AOAD7/A7

CADDRDAT

BHE/PSEN

CDATA

CADDRDAT

=0
= 1,'

CDATA
CADDRDAT

A19 and
PC2-PCO

CADDHLT

=1
=0
=1
=0

=1
=0
=1

CS

AD DRESS.

PAD
SRAM

OE
jll

INTERNAL
RD

r.

PSE!i)

-----

OE

EPROM

,
CS

I

2-40

Signal Latch
Status

CDATA = 0,
CADDRDAT

CDATA = 1,
CADDRDAT

Figure 8.
Combined
Address Space

Configuration Mode

Signal Name Configuration Bits

WAFERSCALE INTEGRATION, INC.

CS

OE

1/0 PORTS

I

PS0301

Figure 9.
B031·Type
Separate Code
and Data
Address Spaces

INTE RNAL
RD

I

I/O PORTS

•t

OE

cs

I

~

•

OE
A DDRESS~

cs
PAD

SRAM

cs
EPROM
PSEN

-

OE

In BHE mode, this pin enables accessing
of the upper-half byte of the data bus. A
low on this pin enables a write or read

Table 9.
High/Low Byte
Selection Truth
Table (in 16·Bit
Configuration
Only)

SHE

Ao

0

0

operation to be performed on the upper
half of the data bus (see Table 9).

Operation
Whole Word

0

1

Upper Byte FromlTo Odd Address

1

0

Lower Byte From/To Even Address

1

1

None

RESET
This is an asynchronous input pin that
clears and initializes the PSD301. Reset
polarity is programmable (active low or
active high). Whenever the PSD301 reset
input is driven active for at least 100 ns,

Table 10. Signal
States During
and After Reset

Signal

the chip is reset. The PSD301 must be
reset before it can be used. Tables 10 and
11 indicate the state of the part during and
after reset.

Configuration Mode

Condition

ADO/AO-AD15/A15

All

Input

PAD-PA7
(Port A)

I/O
Tracking ADO/AO-AD7/A7
Address outputs AO-A7

Input
Input
Low

PBO-PB7
(Port B)

I/O
CS7-CSO CMOS outputs
CS7-CSO open drain outputs

Input
High
Tri-stated

PCO-PC2
(Port C)

Address inputs A16-A18
CS8-CS10 CMOS outputs

Input
High

WAFERSCALE INTEGRATION, INC.

2-41

PS0301

Table 11.
Internal States
During and
After Reset

Signals

Component

All = 118

CSO-CS10

PAD

CSADIN, CSADOUT1,
CSADOUT2, CSIOPORT,
RSO, ESO-ES7

18.

}

AII.= 0 18

n/a
n/a
n/a
n/a

Data register A
Direction register A
Data register B
Direction register B
NOTE:

Contents

0
0
0
0

All PAD outputs are in a non·active state.

A191CSI
operational mode. For PSD301 states
during the power-down mode, see Tables
12 and 13.

When configured as CSI, a high on this
pin deselects, and powers down, the chip.
A low on this pin puts the chip in normal

Table 12. Signal
States During
Power-Down
Mode

Table 13.
Internal States
During
Power-Down

Signal

Configuration Mode

ADO/AO-AD15/A15

All

Input

PAO-PA7

1/0
Tracking ADO/AO-AD7/A7
Address outputs AO-A7

Unchanged
Input
A1I1's

PBO-PB7

1/0
CS7-CSO CMOS outputs
CS7-CSO open drain outputs

Unchanged
A1I1's
Tri-stated

PCO-PC2

Address inputs A16-A18
CS8-CS10 CMOS outputs

Input
A1I1's

Component
PAD

Signals

All 1's (deselected)

CSADIN, CSADOUT1,
}
CSADOUT2, CSIOPORT,
RSO, ESO-ES7

All O's (deselected)

In A19 mode, the pin is an additional input
to the PAD. It can be used as a high-order
address line or as a general-purpose logic
input. A19 can be configured as ALE

WAFERSCALE INTEGRATION, INC.

Contents

CSO-CS10

Data register A
Direction register A
Data register B
Direction register B

2-42

Condition

n/a
n/a
n/a
n/a

All
unchanged

dependent or as transparent input (see
Table 8). In this mode, the chip is always
enabled.

I'S0301

System
Applications

In Figure 10, the PSD301 is configured to
interface with Intel's 80C31, which is a
16-bit address/8-bit data bus microcontroller.
Its data bus is multiplexed with the loworder address byte. The 80C31 uses
signals RD to read from data memory and
PSEN to read from code memory. It uses
WR to write into the data memory. It also
uses active high reset and ALE signals.
The rest of the configuration bits as well
as the unconnected signals (not shown)
are application specific and, thus, user
dependent.

The configuration bits for Figure 10 are:
CRESET
CALE
CDATA
CADDRDAT
COMB/SEP
CRRWR

1

o
o
1

o or 1 (both valid)
o

All other configuration bits may vary
according to the application requirements.

Figure 10. PSD301
Interlace with
Intel's BOC31

Vee

31

-

19

ENVP
Xl

X2
9

RESET

INTO
INTl
TO
Tl
1
2
3
4
5
6
7
8

Pl0
Pll
P12
P13
P14
P1.5
P16
Pl.7

f-:L
-=

01J.1F

Microcontroller
POO
PO.l
PO.2
PO.3
PO.4
P05
P06
PO.7
P20
P21
P22
P2.3
P2.4
P25
P26
P27

AD
WR
PSEN
ALE
TXD
RXD

39
38
37
36
35
34
33
32

23
24
25
26
27
28
29
30

21
22
23
24
25
26
27
28

31
32
33
35
36
37
38
39

17
16
29
30
11
10

22
2
1
13
3

ADO/AO
AD1/Al
AD2/A2
AD3/A3
AD4/A4
AD5/A5
AD6/A6
AD7/A7

PAO
PAl
PA2
PA3
PA4
PA5
PA6
PA7

AD8/A8
AD9/A9
AD10/Al0
ADll/All
AD12/A12
AD13/A13
AD14/A14
AD15/A15

PBO
PBl
PB2
PB3
PB4
PB5
PB6
PB7

RD

PCO
PCl

WRNpp

BHE;PSEN
ALE
RESET

PSD301

PC2
A19/CSI

21
20
19
18
17
16
15
14
11

40
41
42
43

GND
34 12

80C31

-

WAFERSCALE INTEGRATION, INC.

2-43

PSD301

System
Applications
(Cont.)

In Figure 11, the PSD301 is configured
to interface with Motorola's 6SHC11,
which is a 16-bit address/S-bit data bus
microcontroiler. Its data bus is multiplexed
with the low-order address byte. The
6SHC11 uses E and R/IN signals to derive
the read and write strobes. It uses the
term AS (address strobe) for the address
latch pulse. RESET is an active low signal.
The rest of the configuration bits as well
as the unconnected signals (not shown)
are application specific and, thus, user
dependent.

Figure ".
PS03D1 Interface
with Motorola's
68HC11

CRESET
CALE
CDATA
CADDRDAT
COMB/SEP
CRRWR

0
0
0
1
0
1

All other configuration bits may vary
according to the application requirements.

Vee

43
45
47
49
44
46
48
50
34
33
32
31
30
29
28
27
52
51

PCO
PC1
PC2
PC3
PC4
PC5
PC6
PC7

PDO
PD1
PD2
PD3
PD4
PD5
PEO
PE1
PE2
PE3
PE4
PE5
PE6
PE7

PBO
PB1
PB2
PB3
PB4
PB5
PB6
PB7

PAO
PA1
PA2
PA3
PA4
PA5
PA6
PA7

E
R!W
AS
RESET

"Xi"Ra
IRQ
MODB
MODA

VRH
VRL
XTAL

9
10
11
12
13
14
15
16

23
24
25
26
27
28
29
30

42
41
40
39
38
37
36
35

31
32
33
35
36
37
38
39

5

22

6
4
17

2
13
3

18
19
2
3

EXTAL

68HC11

In Figure 12, the PSD301 IS configured to
work directly with Intel's SOC196KB
microcontroller, which is a 16-bit address/
16-bit data bus processor. Address and
data lines multiplexed. In the example
shown, all configuration bits are set. The

WAFERSCALE INTEGRATION, INC.

t--:L

0.11lF -::-

Microcontroller
20
21
22
23
24
25

2-44

The configuration bits for Figure 11 are:

ADO/AO
AD1/A1
AD2/A2
AD3/A3
AD4/A4
AD5/A5
AD6/A6
AD7/A7

PAO
PA1
PA2
PA3
PA4
PA5
PA6
PA7

AD8/A8
AD9/A9
AD10/A10
AD11/A11
AD12/A12
AD13/A13
AD14/A14
AD15/A15

PBO
PB1
PB2
PB3
PB4
PB5
PB6
PB7

E

PCO
PC1

R!WlVpp
AS

PC2
A19/CSi

i'iES"Ei'

21
20
19
18
17
16
15
14
11
10
9
8
7
6
5
4
40
41
42
43

BHE/PSEN
Vee

PSD301

GND
34 12

PSD301 is configured to use PCO, PC1,
PC2, and CSIIA19 as A16, A17, A1S, and
A19 inputs, respectively. These signals are
independent of the ALE pulse (Iatchtransparent). They are used as four
general-purpose logic inputs that take part

PS0301

System
Applications
(Cont.,

The configuration bits for Figure 12 are:

in the PAD equations implementation.

Figure 12. PS0301
Interface with
Inters
BOCI/J6KB

o
o

CRESET
CALE
CDATA
CADDRDAT
CPAF1
CPAF2

Port A is configured to work in the special
track mode, in which (for certain conditions)
PAO-PA7 tracks lines ADO/AO-AD7/A7. Port
B is configured to generate CSO-CS7. In
this example, PB2 serves as a WAIT signal
that slows down the 80C196KB during the
access of external peripherals. These 8-bit
wide peripherals are connected to the
shared bus of Port A. The WAIT signal
also drives the buswidth input of the
microcontroller, so that every external
peripheral cycle becomes an 8-bit data
bus cycle. PB3 and PB4 are open-drain
output signals; thus, they are pulled up
externally.

1
1
Don't care
1
1

CA19/CSI

o
o

CRRWR
COMB/SEP
CADDHLT
CSECURITY
CPCF2, CPCF1, CPCFO
CPACOD7-CPACODO
CPBF7-CPBFO
CPBCOD7-CPBCODO

o

Don't care
0, 0, 0
OOH
OOH
18H

+5V

ADIO

151
ADjO

'}01'F

151

ADDRESS/DATA MULTIPLEXED BUS

80C196KB

6""
=c....
~
~

~

r---::
I>----<~
L--...-'
~
T,D

L-....,;)
~

t::::S
~

8
+5V

~

XTALl

~

XTAL2

3

..-£-

~
~
16
6
5
7
4
11
10

•

,.

9

17
15
44

~
39
33
38
24
25

26
27
13

:rr

t--!L
01

'F:;:~

~

~

--..<
--..<
--..<

19
20

P30/ADO

60
59
5.
57
56
55
54
53

NMI
READY
BUSWIDTH

CDE
RESET

P31/ADl
P32/A02

POO
PO 1
P02
P03
P04
P05
P06
PO 7

P33JAD3
P34/AD4

P3 S/AD5

P3 B/AD6
P37/AD7
P401AD8

P41/AD9
P42/A010
P43/AD11
P44/A012
P4S/AD13

P20ITXD
P21/AXD
P22/EXINT
P23!T2CLK
P24!T2RST
P25/PWM

P46/AD14
P47/A015

P2 6172 UP/ON
P2 7172 CAPTR

CLKOUT
SHE/WAH

HSIO
HSll
HSI2/HSO 4
HSI3/HSO 5

WR/WAL
-

RD

ALE/ADV
INST

VAEF

VPP
ANGNO

EA

v"

V"

1

36

68

FOUR
GENERAL
PURPOSE
INPUTS

P10
P11
P12
P13
P14
P15
P16
P17

V,,

*

HSOO
HSO 1
HS02
HS03

21

}

22

PORT 1

23
30
31
32

110 PINS

AD2/A2

AD3/A3
AD4/A4
ADS/AS
AD6/A6

A07/A7

52 ADBJAB
51 AD9/A9
50

P

ADO/AD
ADl/Al

PSD301

~

~

-/1\:

48 AD12fA12
47 AD131A13
46 AD14/A14
45 AD15/A15

~
41
40
61

t±::~

ti=
~

24

AD3IA3

%

AD4/A4
ADS/AS
A06lA6

AD10/Al0

49 AD11/Al1

ADO/AO
A01/Al
AD2/A2

1'\.-

~
"-

~
~

A07/A7

AD8JA8
AD9/A9
AD10/A10
AD111Al1
AD12/A12
AD13/A13
AD141A14
ADl51A15

"

25

2.
2.

,n
32
33
~!i

37
38
~q

40
41

~

,.£1
2
22
13

,.L

44

v"

ADO/AQ
A01/Al
AD2/A2
AD3/A3
AD4/A4

ADS/AS
AD6/A6
AD7/A7
ADS/AS
AD9/A9
AD10/Al0
A011/All
AD12/A12
AD13/A13
AD14/A14
AD15/A15

T

>

01 ,F

SHARED

":'

PAO
PA1
PA2
PA3
PA4
PAS
PA6
PA7
PBO
PB1
PB2
PB3
PB4
PBS
PB6
PB7

PCO
PC1
PC2

BUS

.

21

20
19

,

17
16
1S
14

"/
"/

11
10
9 WAtT

~

-t=::5

•

;;>

7
6

~

i--!-

~<

i:::::5

47KQ~~47KQ
~+5V

CSl/A19
SHE/PSEN

WRN pp
AD
ALE
RESET

GND GND

44

'-----""
AL

WAFERSCALE INTEGRATION, INC.

2-45

I'SD301

Absolute
Maximum
Ratings

Symbol

Conditions

Parameter
Storage temperature

TSTG

Min

Max

Unit

-65

+150

°C

+7

V

Voltage on Any Pin

With Respect to GND

-0.6

V pp

Programming Supply Voltage

With Respect to GND

-0.6

14

V

Vee

Supply Voltage

With Respect to GND

-0.6

+7

V

>2000

V

ESD Protection
NOTE:

19. Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the
device. This is a stress ratmg only and functional operation of the device at these or any other conditions
above those indicated m the operational sections of this specification IS not Implied. Exposure to
absolute maximum rating condillOns for extended periods of time may affect device reliability.

Operating Range

Recommended
Operating
Conditions

DC

Characteristics

Range

D1mperature

Vee

Tolerance

Commercial

O°C to +70°C

+5V

±5% or ±10%

Industrial

-40°C to +S5°C

+5V

±10%

Military

-55°C to + 125°C

+5V

±10%

Symbol

Conditions

Min

1YP

Max

Unit

4.5

5

5.5

V

vee

Supply Voltage

VIH

High Level Input Voltage

Vee = 4.5V to 5.5V

2

VIL

Low Level Input Voltage

Vee = 4.5V to 5.5V

0

Symbol

Parameter

VOL

VOH

2-46

Parameter

Output Low Voltage

Output High Voltage

IOL
Vee

Conditions
= 20 !lA,

= 5.5V
IOL = SmA,
Vee = 5.5V
IOH = -20 !lA,
Vee = 4.5V
IOH = -2 mA,
Vee = 4.5V

Min

V
O.S

Typ

Max Units

0.01

0.1

0.15

0.45

V

4.4

4.49

2.4

3.9

V

ISBl

Vee Standby Current
CMOS

Notes 20
and 22

Comm'l

SO

150

Military

120

250

Vee Standby Current
TTL

Notes 21
and 22

Comm'l

ISB2

O.S

1.5

Military

1.0

2

Active Current (CMOS)
No Blocks Selected

Notes 20
and 23

Comm'l

leel

35

55

Military

40

65

lee2

Active Current (CMOS)
EPROM Block Selected

Notes 20
and 23

Comm'l

35

55

Military

40

65

WAFERSCALE INTEGRATION, INC.

V

!lA
mA

mA

mA

PSD301

DC
Characteristics
(Cont.)

Symbol

Parameter

ryp

Min

Max Units

Active Current (CMOS)
SRAM Block Selected

Notes 20
and 23

Comm'l

65

105

Icc3

Military

75

120

Active Current (TTL)
No Blocks Selected

Notes 21
and 23

Comm'l

50

80

Icc4

Military

60

95

Active Current (TTL)
EPROM Block Selected

Notes 21
and 23

Comm'l

50

80

Icc5

Military

60

95

Active Current (TTL)
SRAM Block Selected

Notes 21
and 23

Comm'l

80

130

Icce

Military

90

150

III

Input Load Current

V1N = 5.5V or GND

-1

±0.1

1

~

Output Leakage Current

VOUT = 5.5V or GND

-10

5

10

/.lA

ILO
NOTES:

AC
Characteristics

Conditions

Symbol

20
21.
22.
23

rnA

mA

mA

mA

CMOS Inputs. GND ± 03V or Vee ± 0.3V
TTL Inputs· V,l .; O.BV, V,H ?:- 2.0V
AC power component IS 1 5 rnA/MHz (power = AC + DC)
AC power component IS 35 rnA/MHz (power = AC + DC).

-12
-15
·20
Units
Min Max Min Max Min Max

Parameter

T1

ALE or AS pulse width

30

40

50

ns

T2

Address set-up time

15

20

25

ns

T3

Address hold time

10

15

20

ns

T4

ALE or AS trailing edge to leading
edge of Read

12

15

20

ns

T5

ALE or AS leading edge to data valid

140

170

220

T6

Address valid to data valid

120

150

200

ns

T7

CSI active to data valid

130

160

210

ns

TB

Leading edge of Read to data valid

T9

Read data hold time

40

55
0

0

60
0

ns

ns
ns

T10

Trailing edge of Read to data high-Z

T11

Trailing edge of ALE or AS to leading
edge of Write

12

15

20

ns

T12

RD, E, PSEN, or WR pulse width

45

60

75

ns

T13

Trailing edge of Write or Read to
leading edge of ALE or AS

20

30

40

ns

35

40

45

ns

T14

Address valid to trailing edge of Write 120

150

210

ns

T15

CSI active to trailing edge of Write

130

160

200

ns

T16

Write data set-up time

20

30

40

ns

T17

Write data hold time

10

15

20

ns

T18

Port input set-up time

10

15

20

ns

T19

Port input hold time

10

20

30

ns

WAFERSCALE INTEGRATION, INC.

2-47

PSD301

AC
Characteristics
(Cont.)

Symbol

Parameter

-15
·12
·20
Units
Min Max Min Max Min Max

T20

Trailing edge of Write to port output
valid

40

T21

ADi24 or control 27 to CSOi 25 valid

20

35

25

45

30

55

ns

T22

ADi24 or control 27 to CSOi 25 invalid

20

35

25

45

30

55

ns

T23

Track mode address propagation delay:
• CSADOUT1 already true or:
• CSADOUT1 becomes true
during ALE or AS

60

ns

20

30

40

ns

40

50

60

ns

T24

Track mode address hold time

T25

Track mode Read propagation delay

T26

Track mode Read hold time

T27

Track mode Write cycle data
propagation delay

T28

Track mode Write cycle write to data
propagation delay

T29

Hold time of Port A valid during
write to CSOi trailing edge

T30

CSI active to CSOi 25 active

25

45

30

55

35

65

ns

T31

CSI inactive to CSOi 25 'inactive

25

45

25

55

35

65

ns

T32

Control 27 signal inactive to data
invalid

5

10

15

ns

15

10
20
10

20

15

20
20

40

20
30
30
30

25

50

4

2

20

30

ns
40

ns

40

ns

40

ns

60

ns

6

ns

T33

R/W active to E high

20

30

40

ns

T34

E low to R/W inactive

20

30

40

ns

T35

AS inactive to E high

15

20

25

ns

T36

Direct PAD input26 stable to leading
edge of RD, WR, or E

15

20

25

ns

NOTES:

2-48

50

24. ADI

= any address line.
25. CSOI = any of the chip-select output signals coming through Port B (CSO-CS7) or through
Port C (CSB-CS10).
26. Direct PAD mput = any of the following direct PAD input lines: CSI/A19 as transparent A19, ROlE,
WR or R/W, transparent PCO-PC2, ALE (or AS).
27. Control signals ROlE or WR or R/W

WAFERSCALE INTEGRATION, INC.

PSD301

Figure 13.
Timing of 8·Bit
Multiplexed
Address/Data Bus,
CRRWR = 0

-..

~

READ CYCLE

....

SIIA19
asCSI

7

....

36

Direct (28).:z:
PAD Input

00

STABLE INPUT
6

Multipl exed (29)
Inputs

"X;

AO/ADO- ,

WRITE CYCLE

DATA
OUT

2

.... sl-

3

rh

32

36

~~

.....
14

1,--14

~

~
.~

\

RDIE as RD

~

DATA
IN

f-

ADDRESS B
3

~

t'""""""'\

Acti ve Low'
ALE \...~

1- 32

1m KXXX

STABLE INPUT

:XXX XXX X

~-

.f2+

...

'XX XXXX

1-32

4

-- ---

15

~

ADDRESS A

~

Active High
ALE'

~

-

IXXXXJ( IXXll XXX
6

A7/AD7

32 ...

XX; 1 , - - -

~v-

~

11

~

I\-

~

f-I

5

\

BHEIPSEN
as PSEN

~

~

WRI VPP or

RiW as WR

~

~

~

x.xxxx,

Anyo f PAO- \
PA7 as 1/0 Pin ,.

XXX X

Anyo f PBO- \
PB7 as 110 Pin ,.

XXXXXXXXX

~I

Any 0 fPAO- _--,.
PA7 Pins
asAddress
'1
Outputs

19

~

~

INPUT

IX X X X X XXJ\MX XXX XXX.)\)\;

OUTPUT

INPUT

X X X X X X X X X X X X X X X X.X.)\)\;

OUTPUT

~
ADDRESS A

ADDRESS B

See referenced notes on page 2-58.

WAFERSCALE INTEGRATION, INC.
---

---~-

----

-----~

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

----~--

---

2-49

----------------

'S0301

Figure 14.
Timing of 8·Bit
Multiplexed
Address/Data Bus,
CRRWR = 1

...

READ CYCLE

WRITE CYCLE

-i
32

~

SI/A19
asCSI

7

32

15

- XX ~

36

36

-32

DIrect(28):Z:
PAD Input

00

STABLE INPUT

STABLE INPUT

)C

XX XXX X
~32

IXXX XXX
,---

XXXXX XX) IXXX

~

OATA
OUT

ADDRESS A
2

14

~r-

.... al-

3

Active High r h
ASI

.XXX IXXXX

~

6

AO/ADOA7/AD7

i--

14

6

Multiple xed (29)
In puts

-

~

3

~

.f2.,.
35
12

33

f--..

~

OATA

IN

~

h

4

Acti ve Low'
AS

r-

ADDRESSB

xx:

~ II

f-.I

f\33

34

L

35

J

34

RDI E as E
5

13

~
WRN PP or

RNV asRiW

[XXXXXXX

ir

.XXXXX
~

~

20

I--

Any 0 I PAO- \
PA7as 1/0 Pin'"

XXXXXXXXX

INPUT

XXXXXXXXXXXXXXXX :XX

OUTPUT

Any 0 I PBO- \
PB7 as 1/0 Pin'"

XXXXXXXXX

INPUT

IXXXXXXXXXXXXXXXXXXX

OUTPUT

Any 0 IPAOPA7 Pins
asAddress
Outputs

-

~

23

See referenced notes on page 2-58.

2·50

i---

WAFERSCALE INTEGRATION., INC.

ADDRESS A

ADDRESS B

PSD301

Figure 15.
Timing of 16·8it
Multiplexed
Address/Data 8us,
CRRWR = 0

...

READ CYCLE

=-----'

CSI/A19
asCSI

--

7

--

36

DIrect(28)X
PAD Input

00

STABLE INPUT
6

Multiple xed(29)~
Inputs

XXXXX xX)

_

DATA
OUT

ADDRESS A
2

ALEI

--

3

Irh

Actlv e High

~I

4

'XJJ lXXXX

)eX ~

1- 32

STABLE INPUT
14

xxx

\

~r-

ADDRESS B
2

5

3

-,

foII~

...;

DATA

IN

~

Any 0 f PAO- \
PA7 as 1/0 Pm ,.

X")
I

DC

~ Ir~

--.J

I~

IL
.F

13

~
~

I~

11

W~ VPP or

Any 0 f PBOPB7 as 1/0 Pm

~

f--'

R/W asWR

I~

:XXX xxxx

.2.

-

v----

:XXX XXXX
14

~4

RDIE as RD

-- 1mKXXX

36
_32

8 __

Actl ve Low'
ALE I'-~

I-

15

lxxxx IX X) )()(~

h

AO/ADOA15 IAD15

32
--

~

6

BHEIPSE~~
a sBHE ~

WRITE CYCLE
32

~

19
~

I-20

I--

:XXXXXXXXX

INPUT

OIXXXXXXXXXXXXXXXX)(~XX

OUTPUT

.XXXXXXXXX

INPUT

:~IXX

XX XXXXX XXXXXX XX.XX

OUTPUT

~.I

Any 0f PAO- -----.
PA 7 Pms
.,
as Address
Outputs

~
ADDRESS A

ADDRESS B

See referenced notes on page 2-58.

WAFERSCALE INTEGRATION, INC.

2-51

'S03ot

Figure 16.
Timing of 16·Bit
Multiplexed
Address/Data Bus,
CRRWR = 1

~

-

READ CYCLE

WRITE CYCLE

-~
32

SIIA19
asCSI

7

32

' XX I

15

36

Direct(28l
PAD Input

Multiple xed(29l
In puts

:X ~

36

ISTABLE INPUT
6

x:

~32

xx XX

_32

~~

XXX IlXXX

STABLE INPUT
14

1.---

IXXX

XXXX

~

6

BHE/PSE~X:
asBHE

AO/ADO- A15 /AD15

--

2

-

3

Active High ~~
AS

4

DATA
OUT

~-

3

35
12

XXX

~

DATA

IN

~

h

~
33

XX

r-

ADDRESS B

12...

8i-

~~

Acti ve Low
AS

XXX

14

---I-<~AD ~

AO/ADO- ----,
A7/AD7 ~

ALE

-'

J

......~-+t'l

~

~TA

I

31

2

I

ADDRESS

)--

1'--,-------rI

W~~1:N

I

V-h

v-r---.

f4~

~r2+

I'-~

~+--./

r--

--I-

I'-------t---t'~

"""""'\
orALE

.I

RD/E as RD

4

12

_\.

I

\

DATA IN

I
_130,33)
CSOi

-

32 __

11

-~

)-

ADR

OUT

12

1_271-~

lI-----+--<{

DATA OUT

~

----------------------.,,~

~

See referenced notes on page 2-58,

WAFERSCALE INTEGRATION, INC.

2·57

PSD301

Figure 23.
Port A as
ADO-AD7 Timing
(Track Mode),
CRRWR = 1
32

READ CYCLE

-

-32

-

WRITE CYCLE

Direct(28,31)~~'T--=::-::::-::::-::-:----t\IrT-----::=:-:::-:::::::::-::----t\lI\J~7\T
PAD
INPUT STABLE
INPUT STABLE
,XXXX

21

Input

Multiplexed (32,34)~")~oocvv\lr-::IN-:P~U::T:-:S::T:-:A-:B-:-LE::-UI:
X, Xii,X';}Xv,~
X~~
X, XJtlXiit,'O\J
X~I~N::P-;-:U=T-:::S::T-:-A::BL:-:E:--1X';},VX~'O'\X,XiI,X';}~XV,~X,'UtXi'D~X\7\
PAD Inputs

2

,I

3

'I

AO/ADOA7/AD7

~I-

26_

-~r-~~~~--~~~
ADDRESS
r~TA

vt----l

Irn
AS

--'

~r--:.

ADDRESS

I'------------+--~~

I"'~

1'--

1}'f·flTEN I

- 1-

32

1/\

1~------------+_--fV

-,
35

or AS

12
33

33

v

RD/E as E

32WRNPPor
RiWas R/W

XXX :X :XXX
-e 23 ~

PAD-PA7

-k

JIXX [XXXX
24

I---

-e 23 t-

J

\

DATA
IN

,

I-

~

~

IADR'
IOUTI

II

\

r-<

I ADR'
I OUT I

-- 271-

~

DATA
OUT

__ (30,33)
CSOi

NOTES:

2·58

2B. Direct PAD input = any of the following direct PAD Input lines: CSI/A19 as transparent A19,
RD/E, WR or R/W, transparent PCO-PC2, ALE In non-multiplexed modes.
29, Multiplexed inputs: any of the following inputs that are latched by the ALE (or AS): AO/ADO-A15/AD15,
CSi/A19 as ALE dependent A19, ALE dependent PCO-PC2.
30. CSOi = any of the chip-select output signals coming through Port B (CSO-CS7) or through Port C
(CSB-CS10).
31. CSADOUT1, which Internally enables the address transfer to Port A, should be derived only from
direct PAD input signals, otherwise the address propagatIOn delay is slowed down.
32 CSADIN and CSADOUT2, which internally enable the data-in or data-out transfers, respectively,
can be derived from any combination of direct PAD inputs and multiplexed PAD inputs.
33. The write operation signals are Included in the CSOi expression.
34. Multiplexed PAD Inputs: any of the following PAD inputs that are latched by the ALE (or AS) in
the multiplexed modes: A11!AD11-A15/AD15, CSIIA19 as ALE dependent A19, ALE dependent
PCO-PC2.
35. CSOI product terms can include any of the PAD input signals shown in Figure 3, except for reset
and CSI.

WAFERSCALE INTEGRATION, INC.

~

PS0301

Table 14. Pin
Capacitance 36

Symbol
CIN

Capacitance (for input pins only)

VIN = OV

Typical 37 Max Units
4

6

pF

COUT

Capacitance (for input/output pins)

VOUT = OV

8

12

pF

CvPp

Capacitance (for WR/vpp or R/W/Vpp)

Vpp = OV

18

25

pF

NOTES:

Figure 24.
AC Testing
Input/Output
Waveform

Conditions

Parameter

36. This parameter is only sampled and is not 100% tested.
37. Typical values are for TA = 25°C and nominal supply voltages

'::=x

fJ

Figure 25.
AC Testing
Load Circuit

--

2.01 V

~ 1950
i>

DEVICE
UNDER
TEST

I

....... C L =30pF
(Including
scope and Jig

-=-

Erasure and
Programming

To clear all locations of their programmed
contents, expose the device to ultra-violet
light source. A dosage of 15 W-second/cm 2
is required. This dosage can be obtained
with exposure to a wavelength of 2537A
and intensity of 1200 I!W/cm2 for 15 to 20
minutes. The device should be about 1
inch from the source, and all filters should
be removed from the UV light source prior
to erasure.
The PSD301 and similar devices will erase
with light sources having wavelengths
shorter than 4000A.. Although the erasure
times will be much longer than with UV
sources at 2537A, exposure to fluorescent
light and sunlight eventually erases the

capacitance)

device. For maximum system reliability,
these sources should be avoided. If used
in such an environment, the package
windows should be covered by an opaque
substance.
Upon delivery from WSI, or after each
erasure, the PSD301 device has all bits in
the PAD and EPROM in the "1" or high
state. The configuration bits are in the "0"
or low state. The code, configuration, and
PAD MAP data are loaded through the
procedure of programming
Information for programming the device is
available directly from WSI. Please contact
your local sales representative.

WAFERSCALE INTEGRATION, INC.

2·59

PSD301

PSD301
Pin
Assignments

44-Pin
PLOCCI
CLOCC
Package
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Ordering
Information

2-fjIJ

44-Pin
CPGA
Package

Name
BHE/PSEN
WRlVpp or RiW
RESET
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PBO
GND
ALE or AS
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PAO
RD/E

Part Number

Speed
(ns)

PSD301-12J
PSD301-12L
PSD301-12X
PSD301-15J
PSD301-15L
PSD301-15LM
PSD301-15LM
PSD301-15X
PSD301-15XM
PSD301-15XMB
PSD301-20J
PSD301-20L
PSD301-20LM
PSD301-20LMB
PSD301-20X
PSD301-20XM
PSD301-20XMB

120
120
120
150
150
150
150
150
150
150
200
200
200
200
200
200
200

WAFERSCALE INTEGRATION, INC.

A5

~
B4
A3
B3
A2
B2
B1
C2
C1
D2
D1
E1
E2
F1
F2
G1
G2
H2
G3
H3
G4

Package
Type
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin
44-pin

PLDCC
CLDCC
CPGA
PLDCC
CLDCC
CLDCC
CLDCC
CPGA
CPGA
CPGA
PLDCC
CLDCC
CLDCC
CLDCC
CPGA
CPGA
CPGA

44-Pin
PLDCCI
CLDCC
Package
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

Name
ADO/AO

44-Pin
CPGA
Package

PCO
PC1
PC2

H4
H5
G5
Hs
Gs
H7
G7
Ga
F7
Fa
E7
Ea
Da
D7
Ca
C7
Ba
B7
A7
Bs

A19/CSI

As

Vee

B5

AD1IA1

AD2/A2
AD3/A3
AD4/A4
AD5/A5
AD6/A6
AD7/A7
AD8/A8
AD9/A9
AD10/A10
GND

AD11/A11
AD12/A12
AD13/A13
AD14/A14
AD15/A15

WSI
Package Operating
Drawing Temperature Manufacturing
Range
Procedure
J2
L4
X2
J2
L4
L4
L4
X2
X2
X2
J2
L4
L4
L4
X2
X2
X2

Comm'l
Comm'l
Comm'l
Comm'l
Comm'l
Military
Military
Comm'l
Military
Military
Comm'l
Comm'l
Military
Military
Comm'l
Military
Military

Standard
Standard
Standard
Standard
Standard
Standard
MIL-STD-883C
Standard
Standard
MIL-STD-883C
Standard
Standard
Standard
MIL-STD-883C
Standard
Standard
MIL-STD-883C

PSD301
System

WAFERSCALE INTEGRATION, INC.

Development Tools

System
Development
Tools

The PSD301 features a complete set of
System Development Tools. These tools
provide an integrated, easy-to-use software
and hardware environment to support

PSD301 device development. To run these
tools requires an IBM-XT, -AT, or
compatible computer, MS-DOS 3.1 or
higher, 640K byte RAM, and a hard disk.

Hardware

The PSD301 System Programming
Hardware consists of:

r:I WS6014 44-pin CPGA Package Adaptor
The MagicPro Programmer is the common
hardware platform for programming all WSI
programmable products. It consists of an
IBM-PC plug-in programmer board and a
remote socket adaptor.

r:I WS6000 MagicPro Memory and PSD
Programmer

r:I WS6013 44-pin LCC Package Adaptor
(for CLDCC and PLDCC packages)

Software

The PSD301 System Development Software
consists of:

r:I WISPER, WSI's Software Environment
r:I MAPLE, the PSD301 Location Editor
Software

r:I MAPPRO, the Device Programming

The configuration of the PSD301 device is
entered using MAPLE software. MAPPRO
software uses the MagicPro programmer
and the socket adaptor to configure the
PSD301 device, which then can be used.
The development cycle is depicted in
Figure 26.

Software

Support

WSI provides a complete set of quality
support services to registered System
Development Tools owners, including:

r:I Design assistance from WSI field

r:I 12-month software updates

r:I 24-hour electronic bulletin board for

application engineers and application
group experts
design assistance via dial-up modem.

Training

WSI provides in-depth, hands-on workshops
for the PSD301 device and System
Development Tools. Workshop participants
learn how to program high-performance,

user-configurable mappable memory
subsystems. Workshops are held at the WSI
facility in Fremont, California.

WAFERSCALE INTEGRATION, INC.

2-61

PS0301

Ordering
Information System
Development
Tools

PS0301·GOLO

WS6013

U
U
U
U
U
U
U

U 44-pin LCC Package Adaptor for CLOCC

WISPER Software

and PLOCC Packages

MAPLE Software

U Used with the WS6000 MagicPro

User's Manual

Programmer

WSI Support
WS6000 MagicPro™ Programmer

WS6014

WS6013 44-pin LCC Package Adaptor

U 44-Pin CPGA Package Adaptor, Used
with WS6000 MagicPro Programmer

Two PS0301-15L Samples

WSI Support

PS0301·SILVER
U
U
U
U

Support services include:

WISPER Software

U 12-month Software Update Service
U Hotline to WSI Application Experts
U 24-hour access to WSI Electronic Bulletin

MAPLE Software
User's Manual
WSI Support

Board

WS6000

WSI Training

U MagicPro Programmer
U IBM-PC© plug-in Adaptor Card
U Remote Socket Adaptor

U Workshops at WSI, Fremont, CA

Figure 26.
PSD301
Development
Cycle

U For details and scheduling, call PSO
Marketing (415) 656-5400

IBM PLATFORM

Menu Selection

Configuration Data

Programming Data

MagicPro Hardware

2·62

WAFERSCALE INTEGRATION, INC.

Programmable System™Device
WAFERSCALE INTEGRATION, INC.

PAC1000 Introduction

User·Configurable
Microcontroller
Overview

In 1988 WSI introduced a new concept in
programmable VLSI: the Programmable
System™ Devices (PSD). The PSD is
defined as a family of User-configurable
system level building blocks on-a-chip
enabling quick implementation of application
specific controllers and peripherals. The
first generation PSD series includes the
MAP168, a User-Configurable Peripheral
with Memory; the SAM448, a UserConfigurable Microsequencer; and the
PAC1000, a User-Configurable
Microcontroller.

The PAC1000 architecture is flexible and
enables the system designer to customize
the PAC1000 to optimize application
performance. The PAC1000 is composed
of three basic sections: a CPU for data
processing, a programmable instruction
control unit that determines the next
address to the microcode store through
polling condition codes or responding to
interrupts, and a host interface to
asynchronously load data from the host.
Registered inputloutputs are used to
synchronize with the system.

The PAC1000 user-configurable highperformance microcontroller is the first of
a generation of products intended for
applications in high-end embedded control
where high-speed data processing, interface
or control is needed. The PAC1000 replaces
a board full of discrete components such
as standard logic, FIFO, EPROM for
microcode store, ALU, SEQUENCER,
register files and PALlPLD/PGA. To shorten
the time-to-market for the system designer,
a high-level software development language
is used. This contrasts with the myriad
state-machine entry, schematic entry, and
place and route tools that would be
needed for a discrete design using PAL,
PLD, PGA or gate arrays.

As a result of integrating logic and EPROM
memory into the PAC1000 and defining a
high-level language for programming both,
time-to-market and board space is reduced
and reliability increased. The PAC1000 is
currently used in applications such as
Intelligent DMA controller, FDDI buffer
controller, Frame buffer controller, LAN
communications controller, disk controller,
and 1/0 controller. For further details on
the PAC1000 see Application Note 10.

WAFERSCALE INTEGRATION, INC.

2·63

Contents

2·64

Features ...................................................................................................................................... 2-65
General Description .................................................................................................................... 2-66
Architectural Overview ................................................................................................................ 2-68
Operational Modes ...................................................................................................................... 2-70
Host Interface .............................................................................................................................. 2-71
FIFO ..................................................................................................................................... 2-71
Data I/O Registers ................................................................................................................ 2-73
Program Counter .................................................................................................................. 2-73
Status Register ..................................................................................................................... 2-73
Control Section ........................................................................................................................... 2-75
Parallel Operations ............................................................................................................... 2-75
Program Memory ................................................................................................................. 2-76
Security ................................................................................................................................ 2-76
15-Level Stack ..................................................................................................................... 2-76
Program Counter .................................................................................................................. 2-76
Loop Counter ....................................................................................................................... 2-77
Debug Capabilities ............................................................................................................... 2-77
Breakpoint Register ....................................................................................................... 2-77
Single Step .................................................................................................................... 2-77
Condition Codes ................................................................................................................... 2-77
User-Specified Conditions ............................................................................................. 2-78
CPU Flags ..................................................................................................................... 2-78
FIFO Flags .................................................................................................................... 2-78
Stack-Full Flag .............................................................................................................. 2-78
Interrupt Flag ............................................................................................................................... 2-78
Data Register Read Flag ............................................................................................... 2-78
Counter Flag .................................................................................................................. 2-78
Case Logic ........................................................................................................................... 2-79
Case Instructions ........................................................................................................... 2-79
Priority Case Instructions .............................................................................................. 2-79
Interrupt Logic ...................................................................................................................... 2-79
Interrupt Mask Register ................................................................................................. 2-80
Output Control ...................................................................................................................... 2-81
Counters ..................................................................................................................................... 2-81
Address Counter .................................................................................................................. 2-81
Block Counter ....................................................................................................................... 2-82
Central Processing Unit .............................................................................................................. 2-82
Arithmetic Operations .......................................................................................................... 2-85
Logic Operations .................................................................................................................. 2-85
Shift Operations ................................................................................................ '" ................ 2-85
Shift Right ...................................................................................................................... 2-85
Shift Left ........................................................................................................................ 2-85
Rotate Operations ............................................................................. '" ................................ 2-86
Multiple Precision Operations .............................................................................................. 2-86
I/O and Special Functions ........................................................................................................... 2-86
Configuration Registers .............................................................................................................. 2-88
Control Register ................................................................................................................... 2-88
I/O Configuration Register ................................................................................................... 2-90
Mode Register ...................................................................................................................... 2-91
State Following Reset ................................................................................................................. 2-92
Electrical and Timing Specifications ............................................................................................2-94
Pin Assignments ....................................................................................................................... 2-100
Instruction Set Overview ........................................................................................................... 2-104
System Development Tools ...................................................................................................... 2-109
Hardware ............................................................................................................................ 2-109
Software ............................................................................................................................. 2-109
Support ............................................................................................................................... 2-109
Training .............................................................................................................................. 2-109
Ordering Information-PAC1000 .............................................................................................. 2-110
Ordering Information-System Development Tools ................................................................. 2-111

WAFERSCALE INTEGRATION, INC.

='====
~iE
... --------!i-.=-ii~ ==

Programmable System™Device

~

!!r

---~~

-

WAFERSCALE INTEGRATION, INC.

PAC1000

Preliminary

Use,-Configurable
MiclOcontroller

Features

Cl

First Generation Programmable System
Device (PSD)

Cl

Address Generation-Up To 4 Mbytes
Address Space

Cl

High-Performance User-Configurable
Microcontroller-20 MHz Instruction Execution, Output Port, and Address Bus

Cl

High-Level Development Toois-System
Entry Language, Functional Simulator,
and Device Programmer

Cl

Single-Cycle Control Architecture-One
Cycle Per Instruction

Cl

Re-Programmable Program StoreOn-Board 1Kx64-Bit EPROM

Cl

16-bit CPU-Arithmetic Operations,
Logic Operations, 33 General-Purpose
Registers

Cl

Two Operating Modes-Host Processor
Peripheral or Stand-alone Controller

Cl

Security-For EPROM Program Memory

Figure 1.
PAC1000 Block
Diagram

I

CK

RESET

~

~

Cs

RD WR

HD[150]

HADI50]

I

Configurabon
Registers

I

Host Interface

r

i

•

•

Control Section

I SecUrity Bit I

I

lKx64 EPROM

I

CPU

I

Loop Counter

I Breakpoint Register I
I Program Counter I

15-Level
Stack

~

Case LogiC
User
Output

Condition-Code
LogiC

I

Interrupt
LogiC

~

Block Counter

Address Counter

~

I
OUTCNTL[15.0]

CC[7·0]

1/0 & Special
Function Port

f

~

INT[3·0]

1/0[70]

J

II

~

1

Address/Data
Port

f

~

J

I
-:!:-

ADD[15.0]
1738 01

WAFERSCALE INTEGRATION, INC.

_ _ _ _

0 _ _ _ _ _•

_

2-65

fJ

PAC1000

General
Description

In 1988 WSI introduced a new concept in
programmable VLSI, Programmable System
Devices (PSD). The PSD family consists of
user-configurable system-level building
blocks on-a-chip, enabling quick implementation of application-specific controllers and
peripherals. The first generation PSD series
includes the MAP168, a User-Configurable
Peripheral with Memory; the SAM448, a
User-Configurable Microsequencer; and the
PAC1000, a User-Configurable Microcontroller.
The PAC1000 User-Configurable Microcontroller is based upon an architecture that
enables it to execute complex instructions in
a single clock cycle. Each PAC1000 instruction can perform three simultaneous operations: Program Control, CPU functions, and
Output Control, as shown in Figure 2. The
PAC1000 can also perform address generation or event counting simultaneously with instruction execution. The PAC1000 is also
capable of performing a conditional test on

Figure 2. SingleCycle Control
Architecture

up to four separate conditions and multi-way
branching in a single cycle.
The PAC1 000, with its System Development
Tools, matches the development cycle and
ease of use of any standard microcontroller.
The high performance and flexibility of the
PAC1 000 were previously available only to
designers who could afford the long development cycle, high cost, high power, and large
board space requirements of a building-block
solution (i.e., Sequencer, Microcode Memory,
ALU, Register File, PALs, etc.)
The unique capabilities of PAC1000 are
easily utilized with System development
tools, which include a PACSEL C-like System
Entry Language, a PACSIM Functional
Simulator, and a MagicPro™ Device Programmer. All System Development Tools are
PC-based and will operate on an IBM-XT,
AT, PS2 or compatible machine. For more information, contact your nearest WSI sales
office or representative.

WR

co~:~~ -~:---r--co-n-'tro""l-un-,t--'
Interrupts

-~~

HD[1S:0] HAD[1S0]

28

1K x e':'~PROM

CPU

Next Instruction
Definition
Instruction Register

ClK

~o~~: ;u~p';;: ~;U CPU Operation
Definition

20

OC[1S'0]

1/0[7.0]

ADD[1S:0]

Important Features:

• One cycle per instruction
• 20 MHz Instruction execution rate
• Every instruction executes 3 parallel operations (Control, Output, CPU)

2·68

WAFERSCALE INTEGRATION, INC.

1738 02

PAC1000

Table 1. Pin
Description

Signal

I/O

Oescription

HD[15:0]

I/O

Host Data. PAC1000 Data I/O Port via the Host Interface. Can also be configured to generate 16-bit address or status. Can serve as a general-purpose Data
110 Port.

HAD[5:0]

I/O

Host Address. Can be configured to output the lower
six bits of the 22-bit Address Counter; can be used as a
Host Interface function address, or as a generalpurpose 16-bit port.

CS

Chip Select (active low). Used with RD and WR to
access the device via the Host Interface.

RD

Read Enable (active low). Used with CS to output Program Counter, Status Register, or Data Output Register to HD[15:0] bus lines.

WR

Write Enable (active low). Used with CS to write HD
Bus data via the Host Interface into the PAC1 000
FIFO.

CK

Clock.

CC[7:0]

Condition Codes. Condition-code inputs for use with
Call, Jump, and Case instructions.

INT[3:0]

Interrupts. General-purpose, positive-edge-triggered
interrupt inputs.

RESET

Asynchronous Reset (active low). Resets Input/Output
registers and counters, tri-states all 110, and sets the
Program Counter to O.

9

OUTCNTL[15:0]

0

Output Control. User-defined Output Port. May be programmed to change value every cycle.

ADD[15:0]

I/O

Address Port. Outputs data from Address Counter or
Address Output Register when configured as an
output. When configured as an input, reads data to
Address Input Register.

1/0[7:0]

I/O

Input or Output Port. Individually configurable bidirectional bus. As simple I/O, outputs come from the I/O
Output Register, and inputs appear in the I/O Input
Register. As special I/O functions, provides status,
handshaking, and serial I/O. Alternatively, these signals
can be used to extend the OUTCNTL or ADD lines.

WAFERSCALE INTEGRATION, INC.

2·67

PAC1000

Architectural
Overview

The PAC1000 is a user-configurable microcontroller optimized for high-performance
control systems. The primary architectural
elements, shown in Figure 3, are the Control
Section, 16-bit CPU, Host Interface, 16-bit
Address Port, 16-bit Output Control, 8-bit I/O
Port, and Configuration Registers.
The PAC1000 can be used as a stand-alone
microcontrolier or as a peripheral to a host. In
the lalter case, the Host Data (HD) and Host
Address (HAD) buses, together with the CS,
RD, and WR pins allow for direct connection
to a host bus. User-defined commands to the
Control Section or data to the CPU can be
loaded through the Host Interface.
In the stand-alone mode, the Host Interface
ports can be used as additional address, data
or I/O ports using the Data Output Register
(DOR) and Data Input Register (DIR). The
ADD port can be used to generate addresses
through the Address Output Register (AOR)
or the Address Counter. A DMA channel can
be formed on the Host Interface using these
and the Block Counter (BC) register. In
addition, the ADD port can be used as a data
bus or an I/O port, depending on how the
chip is configured. Each pin in the I/O port
can be configured individually as input,
output, or special function. The special
functions allow the control of internal
PAC1 000 elements (counters, 110 buffers) by
other board elements.
The 16-bit CPU is highly parallel and can
operate on operands from the 32x16-bit

2·68

WAFERSCALE INTEGRATION, INC.

register file, miscellaneous register (AOR,
AIR, DOR, DIR, Q, etc.), or constants loaded
from the internal program-store EPROM.
The internal and external operations of the
PAC 1000 are controlled by the Control
Section. The 16 Output Control (OC) lines
are general-purpose outputs. Each of them
can be changed independently every clock
cycle. They provide a very fast means to
control various processes outside the chip.
In every clock cycle, one instruction is
executed. Each instruction consists of up to
three operations in parallel:
D

Instruction Fetch-the next instruction is
fetched from the 1Kx64 EPROM by the
Program Control.

D

Execution-the CPU executes an instruction.

D

Output-placed on the Output Control
(OC) lines.

Program flow can be changed through the
condition-code inputs in one clock cycle or
through the interrupt inputs after two clock
cycles. Single-cycle 16-way branches can be
done using the Case instruction, which
samples four condition codes per cycle.
Nested loops and subroutines can be carried
out with the 15-level stack and the loop
counter. The chip configuration can be
changed in any cycle by loading the Configuration Register using the Program Control
instruction portion.

PACtOOO

Figule3.
Detailed
Block Diagram

HD

HAD

I

9

Register
File +

a Register
ALU
CPU

VO Configuration
Internal
INTR
4
INTR

Control

~

Configuration RegISters

Mode

16

16

16

16

oc

WAFERSCALE INTEGRATION, INC.

2-69

PAC1000

OperatiDnal
Modes

The two basic modes of operation for the
PAC1000 are either as a memory-mapped
peripheral (Figure 4) or as a stand-alone
controller (Figure 5).

In the peripheral mode, the host processor
can asynchronously interface with the
PAC1000.

Figure 4.
Peripheral Mode
Address
Host Processor

Memory

Data

,-------- -- --------,
PAC1000

~:

,
,
,

~:

~

CPU
Host
Interface
Control

,
,

~:

--,,

,
,
,
Data Path
,
Element,
,
, Control
High Speed
,
Process,
,
Fast Bus, Etc.
,
,
,
,
, Status/Interrupts

I

,
,

I . _ _ _ _ _ _ _ _ _ _ _ _ .. _ .............. ..

1738 04

Figure 5.
Stand-alone Mode
Address

Memory

Vcc

CS
RD
WR

, .. - .... ------------- ..,
PAC1000
,
,
,
CPU
,
Host and
,
,
Data
,
Interface
,
Control
,
,
,
,
,
,

-- -----

------------.1
Control

Data

Data Path
Element,
High Speed
Process,
Fast Bus, Etc.

Status/Interrupts
1738 05

2·70

WAFERSCALE INTEGRATION, INC.

PACtOOO

Host Interface

The Host Interface section of the PAC1000,
shown in Figure 6, includes the Input Command/Data FIFO, Input/Output Data Registers, and the Status Register.

FIFO
When the PAC 1000 serves as a peripheral to
a host, the FIFO is used to asynchronously
load commands or data into the PAC1000. In
order to write into the FIFO, CS and WR
must have low-to-high transitions. The
information written into the FIFO is specified
by the 16-bit Interface Data bus (HD) and the
6-bit Host Address bus (HAD). Since the
FIFO is used only to buffer data and commands from a host, it is inoperative when the
PAC1000 is in stand-alone mode.

Figure 6.
Host Interface
Architecture

Bit five of the HAD bus specifies whether the
input to the FIFO is command (HADS=1) or
data (HADS=O). HADS is connected to the
FICD internal Condition Code that can be
sampled by the Control Section. If a command is written, then the lower 10 bits of the
HD bus are used as the branch address for
one of the 1024 locations in the Program
Memory EPROM. At that location a user
defined command or subroutine should exist
which executes the needed operation. If the
information is data, then the lower S bits of
the HAD bus specify which CPU register is to
be loaded from the HD bus.
This method of operation allows the host to
access the PAC1000 as a memory-mapped
peripheral.

HAD[O 51

HD[O"151

Host
Interface

Decoder
16

,-.,-----------'

ACL

Decoded Signals

16
DIR

DOR

Data
Input
Register

Data
Output
Register

Status
Register

8 x 16 Command
and Data

8 x 5 Register
POinter

8x1

FICD

16

16
Internal Flags

Internal Bus

To Register File
1738 06

WAFERSCALE INTEGRATION, INC.

2·71

PAC1000

Host Interface
(CDn't)

Table 2.
Host Interface
Functions

An example of FIFO usage is shown in
Figure? When command or data information
is available in the FIFO, the FIFO Output
Ready (FIOR) interrupt (interrupt 5) triggers.
If the FIOR interrupt is masked, then the
FIOR status may be polled under program
control. If HAD5 equals 1, the branch address location specified by MOVE is the
Program Memory Address which contains the
user specified instruction or sub-routine
which executes the command. A JUMP or
CALL FIFO control instruction performs a
jump or call to the location specified by
MOVE. If HAD5 equals 0, an RDFIFO
instruction can transfer the FIFO contents
into the register specified by HAD[4:0].
For further explanation, refer to the diagram
below. Beginning at the location specified by
MOVE, a user defined program exists which
is going to load data into CPU registers 0,1,2,

-cs

1f1)

WR

and 3 in four consecutive cycles from the
next four FIFO locations. If one of the four
FIFO locations contains a command
(FICD=1), interrupt level? occurs (highest
level). Loading a command into a CPU or
other data register is not allowed. If this
occurs, FIXP (FIFO exception) will be generated.
Following the execution of this routine, the
Control Section is ready for its next instruction.
The FIFO drives three internal flags which
can also be programmed to interrupt the
PAC1000. They are:
r:l FiTR (FIFO full) and FIXP (FIFO exception), which drive INT?
r:l FIOR (FIFO output ready), which drives
INT5.

HA05

HAO[4:0]

HO[15:0]

0

Register

Data

0

0

0
0
0

0
0
0

0
0

X
00100
00011

Command
X
X

0
0

0
0

0
0

00010
00001

0

0

0

00000

Data
Data
Data

FunctiDn
Write data to FIFO

Address

2·72

WAFERSCALE INTEGRATION, INC.

Write command to FIFO
Reset FIFO
Reset status register
Read program counter
Read status register
Read data output register

PAC1000

Host Interface

Data I/O Registers

(Con't)

Input and Output Data Registers are used to
communicate with the Host Data (HD) bus.
CPU Registers may be loaded directly from
the Data Input Register (DIR) without passing
through the FIFO. Similarly, the PAC1 000
may be read via the Data Output Register
(DOR).

the Program Memory address bus. It can also
be used to drive external memory devices for
expansion of the Control Port.

Status Register

Program Counter

The Status Register (SR), shown in Figure 8,
monitors all internal status. Status bits can be
set only by program execution. The SR can
be read or cleared as specified in the Host
Interface Functions table.

The Program Counter may be read via the
Host Data bus. This allows a host to monitor

All SR flags are active high (1) and are
latched at the rising edge of the clock.

Figure 7.
ExampleD'
FIFO Block
Diagram and
Usage

l

Write pOinter]=;

FICDto
Condition Code
Multiplexer

HAD5

HAD[4'0]

HD[15'10]

HD[9'0]

x

x

x

x

x

x

x

x

X

X

X

X

0

R3 Address

Data to CPU

0

R2 Address

Data to CPU

0

R1 Address

Data to CPU

0

RO Address

Data to CPU

1

X

+----:l

X

I I

I

I

I
IHAD[4:0]

~

Read

pOinte~

I
IHD[15:0]

IHD[9:0]

Command to
Control Section
when FICD = "1"

MOVE

Data to CPU
when FICD = "0"
Register Address
to CPU Register

FICD = 1 Command (actually a branch) to the Control Section
FICD

= 0 Data to CPU Register

WAFERSCALE INTEGRATION, INC.

1738 07

2-73

PAC1000

Host Interface
(Con't)

STAT11-(DBB) Security Bit, set when
security is active:
1= Security active.
0= No security.
STAT10-WSI Reserved.

STAT9-(FIXP) FIFO Exception, set when
the CPU receives a command or Control
Section receives data:
1= Command or data received.
0= No exception occurred.
STATS-(FIIR) FIFO-Input Ready, set when
there is at least one vacant location in the
FIFO:

1= FIFO ready for input.
0= FIFO not ready for input.
STAT7-(CY) Carry Flag, set when a carry
(addition) or borrow (subtraction) occurs
in CPU operations:

1= Carry occurred.
0= No carry occurred.
STAT6-(Z) Zero Flag, set when the result of
a CPU operation is zero:

STAT4-(S) Sign Bit, set when the most
significant bit of the result of the previous
CPU operation is negative:
1= Result is negative.
0= Result is positive.
STAT3-(STKF) Stack Flag, set when the
stack is full:
1= Stack is full.
0= Stack is not full.
STAT2-(BRKPNT) Breakpoint Flag, set
when the address in the breakpoint
register is equal to the EPROM address:
1= Breakpoint occurred.
0= No breakpoint occurred.
STAT1-(BCZ) Block Counter Zero, set
when the counter decrements to all Os:
1= Block Counter reached zero.
0= Block Counter is not zero.
STATO-(ACO) Address Counter Ones, set
when the counter increments to all 1s:
1= Address Counter reached all ones.
0= Address Counter is not all ones.

1= Zero occurred.
0= No zero occurred.
STAT5-(O) Overflow Flag, set when an
overflow occurs during a two's comple. ment operation:
1= Overflow occurred.
0= No overflow occurred.

FigureS.
Status Register

MSB

I

o
o~
Reserved
Reserved
Statll
Reserved
Stat9
Stat8

LSB

I

IL~

StatO
Stat 1
Sta12
Stat3
Sta14
Slat5
Slat6
Sla17
1738 08

2·74

WAFERSCALE INTEGRATION, INC.

-~~------

PAC100D

Contro/Sect/on

The control section, shown in Figure 9,
consists of a number of blocks which are
concerned with the sequencing of the control
programs in the PAC1 000. These are:
a Program Memory
a Security

a
a
a

a
a

The PAC1000 can perform three simultaneous operations within a single instruction
cycle, as shown in Figure 10. The ability to
fetch an instruction from the Program Memory, execute it, and output a result within 50
nsec is due to a highly parallel structure.

a
a
a

15-Level Stack
Program Counter
Loop Counter
Breakpoint Register
Condition Codes

Case Logic
Interrupt Logic
Output Control
Each block is described in detail below.

I'tnllellJptlftltlDIIB

Figure'.

ContlD/
Architecture

Internal Bus

16

CC[O:7]

8
IS·level
Stack

IntemalCC
(from AWl

loop
Counter

13

External
Interrupts

4

Internal
Interrupts

4

},Control
Signals

Program
Memory
IK x64EPROM

16
OC[O:I5]

WAFERSCALE INTEGRATION, INC.

1738 09

2·75

PAC1000

Control Section

Program Memory

(Con't)

The Program Memory is a 1Kx64 high-speed
EPROM. This on-board-memory allows the
PAC1 000 to operate in embedded control
applications and eliminates the need for
external memory components. Using an
erasable memory allows program code to be
modified for debug and/or field upgrades.
The Program Memory is easily programmed
using the WSI MagicPro™ (Memory and
PSDTM Programmer).
Only sixteen Program Memory locations are
reserved. The rest of the 1024 locations are
available for applications.
Program memory is segmented as follows:

Address

Thereafter, the EPROM contents cannot be
read externally. When the EPROM is erased,
the security bit is cleared.

15·Level Stack
The 15-level Stack stores the return address
following subroutine calls, interrupt service
routines and the contents of the Loop
Counter inside nested loops. When the stack
is full, the STKF condition becomes true, and
an interrupt (INT7) will occur. The interrupt
service routine will overwrite the top of the
stack.
Popping from an empty stack produces the
previous top of stack value; pushing on a full
stack overwrites the top of the stack.

Function

Program Counter

OOOH

Reset pointer program
to here

000H-007H

User Defined
Initialization Routine

008H-OOFH

Interrupt Vector
Locations

The 10-bit Program Counter (PC) generates
sequential addressing to the 1K word Program Memory. Upon reset the PC is loaded
with a OOOH. From this point the value of the
Program Counter is determined by program
execution or interrupts.

010H-3FFH

User-Defined
Application Programs

Upon receiving a reset, the Program Counter
is forced to address OOOH. This location may
contain a jump or call which branches to an
initialization routine. Alternatively, the first
eight locations of memory may be used as an
initialization/configuration routine.

Security
User programs may be protected by setting a
security bit during EPROM programming.

Any JUMP or Case instruction that is executed loads the Program Counter with the
destination address. CALL instructions or
interrupts cause PC + 1 to be pushed onto
the stack. The RETURN instruction loads the
Program Counter from the stack with the
value of the return address. This value may
have previously been placed on the stack by
a CALL or interrupt.
The PC can also be loaded from the Command/Data FIFO causing program execution
to commence at an address provided by the
host.

Figure 10.
Parallel
Operations
Part of Control SectIon

OCiO 15J

2·76

WAFERSCALE INTEGRATION, INC.

1738 10

PAC1000

Control Section
(Con't)

Loop Counter
The Loop Counter (LC) has two functions:

o 1O-bit down counter that supports the
LOOP instruction.

o Branch Register that can be loaded from
the CPU Register File or Program
Memory and used as an additional
source of branching to Program Memory.
The LC can be loaded with values up to
1023. Loop initialization code places a value
in LC. Loop termination code tests the
counter for a zero value and then decrements
LC. The loop count can be a constant, or it
can be computed at execution time and
loaded into LC from the CPU. The LC
register can also be used as a CALL or
JUMP execution vector. The content of the
LC is automatically saved on (or retrieved
from) the Stack when the program enters (or
leaves) a nested loop.
A loop count will be loaded into the LC when
a FOR instruction is encountered. This count
can be a fixed value or it can be calculated
and loaded from the CPU. The ENDFOR
instruction will test the Loop Counter for a
zero value. If this condition is not met, then
the LC will be decremented by one. The
program loop will continue until the count
value equals zero. In a nested loop, the FOR
instruction will load a new value to the LC
and push the previous value to the stack.

Debug capabilities
The PAC1000 provides breakpoint and single
step capabilities for debugging application
programs.

Breakpoint Register
The Breakpoint Register (BR) is a 10-bit
register used for real time debug of the
PAC1000 application program.
The Breakpoint Register can be loaded from
one of two sources, either a constant value
specified in the Program Memory or a calculated value loaded from the CPU. When the
Program Memory address matches the contents of the Breakpoint Register an interrupt
(INT 6) occurs. A service routine should exist
in Program Memory which then performs the
required procedure.
Single Step
Single step is a debugging mode in which the
currently-executing program is interrupted by
interrupt 6 after the execution of every
instruction. The interrupt 6 service routine
should reside in Program Memory.
Bit 8 in the Mask Register determines
whether the PAC1000 is in a breakpoint
mode (mask-bit 8 equals 0) or in a single step
mode (mask-bit 8 equals 1).
Both breakpoint and single step use interrupt
6. The interrupt 6 service routine will typically
dump the contents of the PAC1 000 internal
registers into external SRAM devices for examination by the user.
Condition Codes
The Condition Code (CC) logic operates on
21 individual program test conditions. Each
condition can be tested for true or not true.
The PAC 1000 can also test up to four
conditions simultaneously. For this feature
refer to the section titled Case Logic.

WAFERSCALE INTEGRATION, INC.

- - . ----

.-~-----

_. __. . ...

..

- -.-

2·77

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

.~---

PAC1000

Control Section

User-Specified Conditions

(Con't)

User-Specified Conditions are treated in the
same manner as internally generated test
conditions. CCO-CC7 should be connected
directly to the corresponding PAC1000 input
pins. These signals must satisfy the required
setup time to be serviced in the next cycle.

CPU Flags
CPU flags are internally generated. They
reflect the status of the previous CPU arithmetic operation. These signals are internally
latched and are valid only for one instruction
(the instruction following their generation).
The flags for arithmetic operations are
defined as follows:
Zero (Z)-The result of the previous CPU
operation is zero (Z= 1).
Carry (CY)-The result of the previous CPU
operation generated a carry (addition) or
borrow (subtraction) (CY=1).
Overflow (0)-The previous two's complement CPU operation generated an
overflow (0=1).
Sign (S)-The most significant bit of the
result of the previous CPU operation is
negative (S=1).

FIFO Flags
FIFO flags allow the user to synchronize and
monitor the operations that are performed on
the FIFO by the host or by user's program.
Upon reset the FIFO flags are cleared,
signifying an empty state. The meaning of the
flags are as follows:
FIFO Output Ready (FIOR)-There is at least
one word in the FIFO (FIOR=1).

Table 3.
Condition-Code
Logic

2-78

FIFO Input Ready (FIIR)-FIFO is not full
(FIIR=1). This flag can also be connected
to the host throug h 1/07.
FIFO Command/Data (FICD)-This flag
indicates if the contents of the FIFO is a
command or a data. This flag is generated directly from HAD5 (FICD=1 command, FICD=O data).
FIFO Exception (FIXP)-This flag indicates
that one of two events occurred: (a) FIFO
data has been read as a command, or
(b) a command has been read as data.

Stack-Full Flag
STACK FULL flag (STKF=1) indicates that
the stack is 15 levels full. This condition will
also generate an interrupt (INT7) if not
masked.

Interrupt Flag
INTERRUPT flag (INTR =1) indicates that
there is a masked interrupt pending. This flag
is cleared when the interrupt is cleared.

Data Register Read Flag
DATA REGISTER READ flag (DOR) is a
handshake flag between the host and the
PAC1000, accessible only to the PAC1000.
The flag is reset (DOR=O) when the
PAC1 000 writes into the Data Output Register. The flag is set (DOR=1) after the host
has performed a read on the Data Output
Register.

Counter Flag
Counter flags reflect the status of their
respective counters. The PAC1000 utilizes
two counters; the Address (A) counter is a
16/22-bit auto-incrementing up counter; the

Test Group

Source

Conditions and Flags

User-Specified

External

CCO-CC7

CPU

Internal

Carry (CY), Zero (Z), Overflow (0),
Sign (S)

FIFO

Internal

FIFO Command/Data (FICD), FIFO Output
Ready (FIOR), FIFO Input Ready (FIIR),
FIFO Exception (FIXP)

Counters

Internal

Address Counter Ones (ACO), Block
Counter Zero (BCZ)

Stack

Internal

Stack Full (STKF)

Interrupt

External/Internal

Interrupt (INTR) is pending

Data register read

Internal

Data Output Register(DOR) has been read

WAFERSCALE INTEGRATION, INC.

PAC1000

Control Section
(Con't)

Block (B) counter is an auto-decrementing
16-bit down counter. The counters' clock
input signal is the same as the PAC1000's
clock signal. Each counter can be individually
enabled or disabled. When disabled, the
output retains the last count. The counter
flags are defined as follows:

ACO-A Counter Ones, set when the A
counter has reached the value FFFFH, in
the 16-bit mode, or the value 3FFFFFH
in the 22-bit mode.
BCZ-8 Counter Zero, set when the B
counter has reached the value OOOOH.

Case Logic
THE PAC1000 hardware implements two
basic types of Case instructions: Case and
Priority Case.

Case Instructions
Case instructions operate on anyone of four
different Case groups. Each Case group
consists of a combination of four test conditions which can be tested in a single cycle. In
that same cycle the PAC1 000 will branch to
one of the addresses contained in the sixteen
memory locations following the instruction,
depending on the status of the four inputs to
the Case group being tested.

(The FIXP, ACO, STKF, FIIR, and DOR
condition codes do not fall into any of the four
Case groups.)

Priority Case Instructions
Priority Case instructions operate on the four
internal and the four external interrupt inputs.
In this mode of operation, interrupts are
treated as prioritized test conditions and the
priority encoder is used to generate a branch
to the highest priority condition. The branch
address is located in one of the nine memory
locations following the Priority Case instruction. Priorities in this mode of operation are
the same as in the Interrupt mode of operation. Once a Priority Case instruction is
executed, the occurrence of a higher priority
condition will not affect program execution
until another Priority Case instruction is
executed. For a Priority Case instruction to
be executed, MOD EO of the Mask Register
must be equal to zero (MODEO=O).

Interrupt Logic
The Interrupt Logic accepts eight inputs, four
of them are generated externally and four are
dedicated for internal conditions. The four
external, user defined, inputs (INTO-INT3)
are connected to pins INTO, INT1 , INT2, and
INT3. These are positive, rising-edgetriggered signals that have a maximum
latency of two cycles. Each interrupt has a
reserved area in memory that should contain
a branch to an interrupt service routine.

There are four Case Groups (sets of Case
Conditions):
Case Group 0 (CGO): CCO-CC3.
Case Group 1 (CG1): CC4-CC?
Case Group 2 (CG2):
Z-Zero
O-Overflow
S-Sign
CY-Carry

Table 4.
Interrupt
Assignments

Case Group 3 (CG3):
INTR-Interrupt
BCZ-B Counter Zero
FIOR-FIFO output Ready
FICO-FIFO Command/Data

Interrupt

Priority

Effect

Trigger Condition

Reserved Address

INT?

Highest

Internal

FIXP+ACO+STKF+FIIR

OOFH

INT6

Internal

BRKPT

OOEH

INT5

Internal

FIOR

OODH

INT4

Internal

Software Interrupt (SWI)

OOCH

INT3

External

INT3

OOBH

INT2

External

INT2

OOAH

External

INT1

009H

External

INTO

008H

INT1
INTO

Lowest

WAFERSCALE INTEGRATION, INC.

2-79

PACtOOO

Control Section
(Con't)

Clearing a serviced interrupt is performed
automatically. When the interrupt is serviced,
the internally generated vector is decoded to
clear the serviced interrupt. In addition, the
user can clear any pending interrupt by using
the Clear Interrupt Instruction (CLI).

When the PAC1000 is reset, the Mask Register will mask all interrupts and the Mode
Register will select the non-interrupt mode.
To select the interrupt mode the MOOED bit
(see Configuration Register section in this
document) should be set to 1 (MODEO=1).

Interrupt Mask Register

Mask8 is used to select INT6 to be either a
single-step interrupt (when Mask8=1) or a
breakpoint interrupt (when Mask8=0) .See
the section on Debug Capabilities for further
details.

The Interrupt Mask Register, shown in Figure
11 , allows individual interrupts to be masked.
Setting a Mask Register bit to a 1 masks the
associated interrupt. To unmask an interrupt.
the appropriate Mask Register bit must be
reset to O.

Table 5.
Interrupt
Definitions

Interrupt

Triggered By

INT?1

FIFO Exception (FIXP)
Address Counter contains all Ones (ACO)
Stack Full (STKF)
FIFO Full (Not FIFO Input Ready, FIIR)

INT62

Breakpoint or Single Step occurrence

INT5

FIFO Output Ready (FIOR)

INT4

Always pending; triggers when unmasked by program execution

INT3

User-defined

INT2

User-defined

INT1

User-defined

INTO

User-defined

Notes:
1. The INT? interrupt handler checks the source of the interrupt by testing the condition code.
2. See Interrupt Mask Register, Mask8.

Figure 11.
Interrupt Mask
Register

MSB

LSB

I

MaskS
Mask?

--.J

J

l

I

L--

MaskO
Mask1

Mask6

Mask2

Mask5

Mask3

Mask4
Status After Reset

o

1738 11

2-80

WAFERSCALE INTEGRATION, INC.

PACtOOO

Control Section

Output Control

(Con't)

The Output Control bus (OUTCNTL) consists
of 16 latched Output Control signals. These
signals can be changed on a clock to clock
basis. For every Program Memory location
there is a dedicated field which specifies the
value of the Output Control bus. The

Counters

OUTCNTL Operation places this value on the
Output Control bus. The OUTCNTL Operation can be performed in parallel with any
other PAC1000 instructions.
The OUTCNTL bus can be used to control
external events on a clock to clock basis.

The PAC1000 contains a 16 or 22-bit Address Counter and a 16-bit Block Counter.
Each of these counters can change count on
a clock to clock basis or can be internally or
externally enabled or disabled on a clock to
clock basis. These counters are in addition to
the Loop and Program Counters of the
Control Section.

until the counter is loaded with a new value.
The counter will continue to count until
disabled. ACO is a condition code and a
member of a Case Group; see the Control
Section description for more details. ACO can
also generate an internal interrupt 7, if
enabled.
In the 16-bit mode, the counter outputs (ACH)
are available through the ADD bus. The
count is gated to the ADD bus by setting the
ASEL bit (CTRL9) of the Control Register.

Address Counter
The Address Counter (AC), shown in Figure
12, is a 16- or 22-bit ascending counter that
can be loaded or read by the CPU and
enabled/disabled with the ACEN bit of the
Control Register. (This control is also available externally through the 1/01 pin; see I/O
and Special Functions). While enabled, the
counter will increment by one every rising
edge of the clock.

In the 22-bit mode, the higher 16 bits (ACH)
are available through the ADD bus and the
six low order bits (ACL) are available through
the Host Address (HAD) bus. These low
order bits are multiplexed with the host
address lines. The address lines from the
host which drives the HAD bus must be
placed in the high impedance state before the
lower 6-bits (ACL) of the Address Counter
can be read.

The ACO flag indicates that the value of the
counter is all ones. This flag stays latched

Figure 12.
Address and
Block Counter

Internal Bus

16

16

16

16

16
ACH

IACEN

Address
Count
High

ACL
Address
Count
Low

AOR
AIR

-ACS22

Address
Output
Register
to HAD in
Host Interface

ADD[O.1S)

WAFERSCALE INTEGRATION, INC.

173812

2-8t

PAC1000

Counters
(Con't)

Selecting the 16- or 22-bit count mode is
performed by setting or resetting the ACS22
bit in the 1/0 Configuration Register.
The address Output Register is an alternate
source of address outputs; it is selected by
resetting the ASEL bit of the Control Register. In this mode the CPU can be used to
provide address generation and the Address
Counter can be used as an event counter.

B/ock Counter
The Block Counter (BC) is a 16-bit down
counter. It is enabled by the BCEN bit of the
Control Register. It is useful as a counter for
DMA transfers. The BCEN signal is (option-

Central
Processing Unit

2·82

The CPU, shown in Figure 13, performs
16-bit operations in a single clock cycle. It
contains 33 general purpose registers
(RO ... R31, and 0). The 0 register can be
used in conjunction with any of the RO ... R31
registers to perform double precision shift

WAFERSCALE INTEGRATION, INC.

ally) available externally through the 1/00 bit
(see 1/0 and Special Functions). While
enabled, the counter will decrement by one
every rising edge of the clock. The BCZ flag
indicates that the counter reached the zero
value. After the occurrence of an all Os
condition the Block Counter will continue
down counting until disabled. The flag is
latched and can be cleared by loading a new
value into the Block Counter. BCZ is a
condition code and a member of a Case
Group; see the Control Section description
for more details.
Both counters may be read without disabling
the count operation and loaded via the CPU.
operations. The main building blocks are the
register bank (RO ... R31), 0 register, ALU,
V-bus devices, and D-bus devices. The
register bank supplies up to two 16-bit
registers, one of which is always the destination register.

PAC1000

Figure 13.
CPU Block
Diagram

r---------------------------------------------,
I

I

IN (B)

Register

elK

Bank
(R31/RO)

CPU

r-------~===~==~----------------·
I

,---''-,=:-.L-,

1/0

I

Bus

Part of
Control Section

I

Host
Interface

Constants

r------,
I
I

I

I

Host
Interface

Host

Interface

ADD
Bus

1/0
Bus

I
Part 01
I Control Section I
L ______ --l
1738 13

WAFERSCALE INTEGRATION, INC.

2·83

PAC1000

Central
Processing Unit
(Con't)

The ALU operates on up to two external
operands that are selected by its input MUX.
In every instruction, 1 of the 10 D-bus devices (AOR, SWAP, ACL, ACH, BC, FIFO,
DIR, AIR, IIR, and Program Store) or a
member of the register bank or the Q register
outputs, can be selected as an operand
source to the ALU. The possibilities are
shown in Figure 14. During ALU operations,
three options can be selected to provide the
carry-in (Cin) input: 0, 1, or the previous

latched carry-out (adequate for multiple
precision operations).
The ALU's output or a selected register can
be loaded into one of the seven V-bus
devices (lOR, AOR, LC, DOR, ACL, ACH, or
BC) every instruction cycle. This can happen
in parallel with the feedback path from the
ALU's output that is directed either to the Q
register or to the destination register of the
register bank.

Destination Only
DOR

LC

lOR

1738 14

TableS.
CPU Operand
Mnemonics

Mnemonic
ACH or ACH/ACL
AIR
AOR
BC

DIR
DOR
FIFO
IIR
lOR
LC
Q
RQ-R31
SWPV

2-84

WAFERSCALE INTEGRATION, INC.

Description
16- or 22-bit Auto-incrementing Counter, or General Purpose
Registers
Address Input Register
Address Output Register
Block Counter (16-bit auto-decrementing), or General Purpose
Register
Constant values in Program Storage
Data Input Register
Data Output Register
Input Data from FIFO
1/0 Input Register
1/0 Output Register

Program Loop Counter
16-bit CPU Register
16-bit CPU Registers
Byte Swap version of AOR

PAC100D

Central
Processing Unit
(COR't)

CPU operations can be performed on one,
two or three operands. Each operation is performed in a single clock cycle. In two- or
three-operand instructions, one of the operands must be a CPU internal register
(RO ... R31, or 0).
CPU operations are performed independently
of operations in the counters, Host Interface,
Output Control, and Program Control.
Arithmetic Operations
The CPU can perform the following arithmetic operations:
Q Addition
Q Subtraction
Q
Increment
Q Decrement
Q
Compare
Logic Operations
The CPU can perform the following logic
operations:
Q AND
Q

OR

Q
Q

Invert
Exclusive OR

Q

Exclusive NOR

All shift operations can be executed in the
same clock cycle as an arithmetic or logic operation. The arithmetic or logic operation is
executed first; the result is shifted and then
stored in the register file. The shift can be

~
~

Rn

Q

Sign Flag (S)
Binary 0 (0)
Binary 1 (1)
Least-significant bit of this register (RLSB)
Least-significant bit of the 0 register (OLSB)
Serial I/O port (SDATM)

Shift Operations
Single shift operations, shown in Figure 15,
can occur either to the left or to the right, with
or without the 0 register. Shift instructions
specify the sources that are shifted into the
corresponding registers.

Figure 15.
Shift Operations

either left or right.
The CPU can perform the following shift
operations:
Q Single-precision, left or right, within a
general-purpose register (RO ... R31,
orO).
Q Double-precision, left or right, between
an RO ... R31 register and the 0 register.
The LSB and MSB of the general-purpose
registers are each fed by an eight-to-one
multiplexer.
The sources and destinations for shift operation are given below:
Shift Right
Zero Flag (Z)
Carry Flag (CY)

Shift Left
Zero Flag (Z)
Carry Flag (CY)
Sign Flag (S)
Binary 0 (0)
Binary 1 (1)
Most-significant bit of this register (RMSB)
Most-significant bit of the 0 register (OMSB)
Serial 1/0 port (SDATL)

~
~

Shift Single Precision left/Righi

ShIft Double Precision Left/RIghi

Shift Double PrecIsIon LeftlRighl
1738 15

WAFERSCALE INTEGRATION, INC.
- - - --- --------

z.tJ5

PACtOOO

Central
Processing Unit
{Con't}

Rotate Operations

Multiple Precision Operations

The CPU can perform the following rotate operations, as shown in Figure 16:

The carry-out in each instruction can be used
in the next instruction for multiple precision
operations (e.g., ADDC). This feature enables the user to implement complex arithmetic operations such as division or multiplication in several clock cycles.

o

Single-precision, left or right, within a
general-purpose register (RO ... R31,

ora).

o

Double-precision, left or right, between
an RO ... R31 register and the a register.

Figure 16.
Rotate Operations

~

Y"----Rn

dab
Single PrecISion Rotate Right/Left

Double Precision Rotate Right/Left
1738 16

I/O and Special
Functions

2·86

The 1/0 bus, shown in Figure 17, consists of
eight lines which can be individually programmed as inputs or outputs. These lines
can also be programmed to perform Special
Functions. The functions of these pins are
defined by the Mode Register and 1/0 Configuration Register (see Configuration Register Section). The 1/0 and Special Functions
map according to the table. The 110 lines
must first be configured as inputs or outputs
via the 1/0 Configuration Register; the
Special Function option can then be enabled
via the Mode Register. Individual special

WAFERSCALE INTEGRATION, INC.

function control is shown in the accompanying table.
Once a Special Function has been enabled,
the corresponding internal control function is
automatically disabled. Conversely, when a
Special Function is disabled, control of the
corresponding internal control function is
returned to the Control Register (see Configuration Register). Because the Inputs in
the 1/0 Register are clocked on each cycle,
the status of the special function can also be
read to the CPU.

PAC1000

Figure 17.
I/O and Special
Function Bus

MODE 8

FIIR

IADOE
CNTl4
(ADOE)

MODE?

~.

B MUX

1/05

w
~

'"

0

CNTl3
(HADOE)

"%

0

IHADOE

fJ

MODE6

iii
d:J

IHDOE
CNTl2
(HDOE)
w
~

'"

"
~

IIR
D

MODES
CK

SDATM
OMSB

ClK

SDATl
OlSB

lAC EN
CNTlO
(ACEN)

MODE3

B MUX
CNTl1
(BCEN)

CK

0

0

IBeEN

D
lOR
MODE2

10CGO
lOWER 8-BIT CPU
Y BUS
1738 17

WAFERSCALE INTEGRATION, INC.

2-87

PAC1000

Configuration
Registers

Table 7.
I/O Pins and
Special Functions

TableS.
Special-Function
Control

The Configuration Registers allow the user to
control and configure different operating
modes of the PAC1000. The three 10-bit
Configuration Registers are the Control
Register, 1/0 Configuration Register, and
Mode Register. Each register has an associated instruction which allows individual
register bits to be modified.

Control Register
The Control Register, shown in Figure 18,
provides for internal control of key functions
within the PAC1 000 . Several of these
functions can alternatively be controlled
externally through the 110 bus (see 1/0 and
SpeCial Functions). The Control Register is
modified on the falling edge of the clock.

Pin

Special Function

Direction

Description

1/07

FIIR

output

FIFO Input Ready. FIFO not full.

1/06

ADOE

input

Address Output Enable

1/05

HADOE

input

Host Address Output Enable

1/04

HDOE

input

Host Data Output Enable

1/03

QMSB

bidirectional

Q Register MSB

1/02

QLSB

bidirectional

Q Register LSB

1/01

ACEN

input

Address Counter Enable

1/00

BCEN

input

Block Counter Enable

Special Function

Pin Name

I/O Configuration

Mode

FIIR

1/07

IOCG7=1 (output)

MODE8=1

ADOE

1/06

IOCG6=0 (input)

MODE7=1

HADOE

1/05

IOCG5=0 (input)

MODE6=1
MODE5=1

HDOE

1104

IOCG4=0 (input)

QMSB

1/03

IOCG3=1 (output)

QLSB

1102

IOCG3=0 (input)

2-88

MODE4=1

IOCG2=1 (output)
IOCG2=0 (input)

MODE4=1

ACEN

1/01

IOCG1 =0 (input)

MODE3 =1

BCEN

1/00

10CGO=0 (input)

MODE2 =1

WAFERSCALE INTEGRATION, INC.

PAC1000

Configuration
Registers
(Con't)

ASEL (CTRL9)-Address Select. Selects the
source that will write to the Address bus:
1= Address Counter.

1= Output (see ASEL).

0= Address Output Register (AOR).
AIREN (CTRL8)-Address Input Register
Enable. Enables and disables writing to
the Address Input Register from the ADD
Port:
1= Enable writing to Address Input
Register (AIR).

1= Output (driven from ACL Register).
HDOE (CTRL2)-Host Data Output Enable.
Selects Direction of Host Data (HD) bus
for next clock cycle:

DIREN (CTRL7)-Data Input Register
Enable. Enables and disables writing to
the Data Input Register (DIR) from the
HD Port:

1= Output (See HDSELO and HDSEL 1).
0= Input (See DIREN).

1= Enable writing to Data Input Register
(DIR).
0= Disable writing to Data Input Register
(DIR).
HDSEL 1 (CTRL6) and HDSELO (CTRLS)Host Data Select. Select the source to be
connected to Host Data (HD) bus:
HDSEL 1 HDSELO
Selection

(CTRL5)

0

0

FIFOPeripheral
Mode

0

0= Input (see AIREN).
HADOE (CTRL3)-Host Address Output
Enable. Selects direction of Host Address
(HAD) bus for next clock cycle:
0= Input (into the FIFO).

0= Disable writing to Address Input
Register (AIR).

(CTRL6)

ADOE (CTRL4)-Address Output Enable.
Selects direction of Address bus (ADD)
for next clock cycle:

BCEN (CTRL 1 )-Block Counter Enable.
Enables and disables Block Counter:
1= Enable Counting on next rising clock
edge.
0= Disable Counting on next rising edge.
ACEN (CTRLO)-Address Counter Enable.
Enables and disables Address Counter:
1= Enable Counting on next rising clock
edge.
0= Disable Counting on next rising clock
edge.

Data Output
Register

0

Status
Register
Program
Counter

Figure 18.
Control Register

MSB

I

GTRL9

(ASEL)~

GTRLS

(AIREN)

GTRL?

(OIREN)

LSB

I

~ GTRLO

(AGEN)
CTRL 1 (BGEN)
CTRL2 (HOOE)

GTRL6 (HOSEL1)

CTRL3 (HAOOE)
CTRL4 (AOOE)

GTRL5 (HOSELO)
Note: After Reset, All Bits Are Cleared to Zero.

WAFERSCALE INTEGRATION, INC.

1738 18

2·89

PAC1000

Configuration
Registers
(Con't)

I/O Configuration Register

1/05 (IOCG5)-Selects direction of 1/05 pin:

The I/O Configuration Register, shown in
Figure 19, controls the direction of the
individual lines of the 110 bus as well as configuring the Address Counter. Each I/O pin
can be configured independently to be a
general purpose input or output, or each can
serve a special function (see I/O and Special
Function). The I/O Configuration Register is
also used to configure the Address Counter
as a 16-bit counter with a maximum count of
FFFFH or as a 22-bit counter with a maximum count of 3FFFFFH. The I/O Configuration Register is modified on the falling edge
of the clock.
ACS22 (IOCG9)-Configures Address
Counter as a 22- or 16-bit counter:

1= Output.
0= Input.
1/04 (IOCG4)-Selects direction of 1/04 pin:
1= Output.
0= Input.
1/03 (IOCG3)-Selects direction of 1103 pin:
1= Output.
0= Input.
1/02 (IOCG2)-Selects direction of 1/02 pin:
1= Output.
0= Input.
1/01 (IOCG1 )-Selects direction of 1/01 pin:
1= Output.

1= 22-bit counter.

0= Input.

0= 16-bit counter.
1/07 (IOCG7)-Selects direction of 1107 pin:

1/00 (IOCGO)-Selects direction of 1/00 pin:
1= Output.

1= Output.

0= Input.

0= Input.
1/06 (IOCG6)-Selects direction of 1/06 pin:
1= Output.
0= Input.

Figure 19.
I/O Configuration
Register

MSB

IOCG9 (ACS22)
IOCG8 (Reserved)
IOCG7
(1/07) - - - - - - - '
IOCG6
(1/06) - - - - - - - - '
IOCG5
(1/05) - - - - - - - - - '

LSB

10CGO
'----- IOCG1
' - - - - - - IOCG2
' - - - - - - - IOCG3
'-------IOCG4

(1/00)
(1/01)
(1102)
(1/03)
(1/04)

Note: After Reset, All Bits Are Cleared to Zero.
1738 19

2·90

WAFERSCALE INTEGRATION, INC.

I'AC10D0

Configuration
Registers
(CoII't)

Mode Rflllister
The Mode Register, shown in Figure 20,
allows the user to externally control and
monitor key elements within the PAC1000
which would (alternatively) be controlled
internally through the Control Register.
Enabling a Special Function in the Mode
Register disables the corresponding function
in the Control Register. The Special Function
input pins are shared with the general
purpose 1/0 pins. The direction of the appropriate pin must be set in the 1/0 Configuration
Register prior to programming the Mode
Register.
The Mode Register can also be used to reset
the FIFO as well as program the interrupt
controller to generate either interrupts or
Priority Test Conditions. See the discussion
on "Priority Case" in the Condition Code
section, above.
After Reset, all Mode Register bits equal
zero. The Mode Register is modified on the
falling edge of the clock.
The use of the Mode Register and 1/0
Configuration register for Special Functions
is shown in the Special Function Settings
table.
FIRST (MODE9)-FIFO Reset. (If held high,
FIFO cannot receive information):
1= Initiate FIFO Reset (FIRST).
0= Complete FIFO Reset (FINRST).
FIIR (MODE8)-FIFO Input Ready:
1= 1/07 becomes output for the FIFO
Input Ready (FIIR) flag.
0= 1/07 becomes general purpose 1/0
(107).
ADOE (MODE7)-Address Output Enable:

Figure2D.
Mode Register

I

MODES

(FIIR)

Enable:

1= 1/05 becomes input for Host Address
Output Enable (HADOE).
0= 1/05 becomes general purpose 1/0

(106).
HDOE (MODE5)-Host Data Output Enable:

1= 1/04 becomes input for Host Data
bus Output Enable HDOE).
0= 1/04 becomes general purpose 1/0
(104).
SIOEN (MODE4)-SeriaIIIO Enable:
1= 1/03 and 1/02 become MSB and LSB
(respectively) of the CPU's Q register
(SIO).
0= 1/03 and 1/02 become general
purpose 1/0 ACEN(MODE3).
ACEN (MODE3)-Address Counter Enable:
1= 1/01 becomes input for Address
Counter Enable (ACEN).
0= 1/01 becomes general purpose 1/0.
BCEN (MODE2)-Block Counter Enable:
1= 1/00 becomes input for Block Counter
Enable (BCEN).
0= 1/00 becomes general purpose 1/0.
Reserved (MODE1)
INTR (MODEO)-lnterruptiPriority-Case
Mode:

1= Select Interrupt mode (INTR).
0= Selects Priority Case mode (PCC).

LSB

MSB

MODE9 (FIRST) ~

1= 1/06 becomes input for the Address
Output Enable (AOE).
0= 1/06 becomes general purpose 1/0
(106).
HADOE (MODE6)-Host Address Output

I

I

(INTR)
~ MODEO
MODE1 (Reserved)
MODE2 (BCEN)

MODE7 (ADOE)
MODE6 (HADOE)
MODE5 (HDOE)

MODE3 (ACEN)
MODE4 (SIOEN)
Note: After Reset, All Bits Are Cleared to Zero.

WAFERSCALE INTEGRATION, INC.

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

-------~

1738 20

2·91

PAC1000

State Following
Reset
Tableg.
Special Function
Settings

Table 10.
Signal States
Following Reset

2·92

Whenever the PAC1000 RESET input is
driven low for at least two processor clocks,
the chip goes through reset. The next two

tables describe the PAC1000 signal and
internal register states following reset.

Mode Bit

I/O Configuration Bit

Function

MODE8=1

IOCG7=1

FIIR flag output on 1/07

MODE7=1

IOCG6=0

ADOE provided by 1/06

MODE6=1

IOCG5=O

HADOE provided by 1/05

MODE5=1

IOCG4=0

HDOE provided by 1/04

MODE4=1

IOCG3=1

MSB of Q register output on 1/03

MODE4=1

IOCG3=0

1/03 can be shifted into MSB of Q register
or destination register

MODE4=1

IOCG2=1

LSB of Q register output on 1/02

MODE4=1

IOCG2=0

1/02 can be shifted into LSB of Q register
or destination register

MODE3=1

IOCG1=0

ACEN provided by 1/01

MODE2=1

10CGO=0

BCEN provided by 1/00

Signal

Condition

HAD[5:O]

Input

HD[15:0]

Input

10[7:0]

Input

ADD[15:0]

Input

0C[15:0]

OOOOH

WAFERSCALE INTEGRATION, INC.

PAC1000

Table 11.
Intemal States
FoJlowing Reset

Component

Contents

ACH Register

0

ACL Register

0

AOR Register

0

AIR Register

0

DOR Register

0

DIR Register

0

lOR Register
IIR Register

0
0

STATUS Register

0

1/0 Configuration Register

0

CONTROL Register

0

Breakpoint Register

0

.Mode Register
PC Register (Program Counter)

0

MASK Register

0
011111111 B

BC Register
R31-RO Registers

FFFFH
Unknown

Q Register

Unknown

LC Register

Unknown

FIFO Locations
FIFO Flags

Unknown
Empty

WAFERSCALE INTEGRATION, INC.

2·93

PAC1000

Electrical and Tinring
Specifications
Table 12.
Absolute
Maxinrunr Ratings

Storage Temperature

-65°C to + 150°C

Voltage to any pin with respect to GND

-0.6V to +7V

V pp with respect to GND

-0.6 V to + 14.0V

ESD Protection

>2000V

Stresses above those listed here 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

Table 13.
Operating Range

Table 14.
DC
Characteristics
ivtil' OIItII'lIting 1'lilii/ii
with V",,=Vcc

sections of this specification is not implied.
Exposure to absolute maximum rating
conditions for extended periods of time may
affect device reliability.

Range

Temperature

Vee

Commercial

O'C to +70'C

+5V±5%

Industrial

-40°C to +85°C

+5V± 10%

Military

-55'C to +125'C

+5V± 10%

Parameter

Symbol

Test Conditions

Output Low Voltage
Output High Voltage

VOL
VOH

IOH=-4 mA

Vee Standby
Current CMOS

ISBl

note 1

65

mA

Vee Standby
Current TTL

65

mA

130
150

mA
mA

160
180

mA
mA

ISB2

note 2

Active Current (CMOS)
-Commercial
-Military

leel

notes 1,3

Active Current (TTL)
-Commercial
-Military

lee2

Max Units
0.4

IOL=8 mA
2.4

V
V

notes 2,3

V pp Supply Current

Ipp

Vpp=Vee

100

I1A

Vpp Read Voltage

Vpp

notes 1,2

Vee-0.4

Vee

V

Input Load Current

III

V 1N=5.5V
orGND

-10

10

I1A

Output Leakage Current

ILO

VouT=5.5V
orGND

-10

10

I1A

Notes:
1. CMOS inputs: GND ± 0.3V or Vee ± 0.3V.
2. TTL inputs: V 1L S 0.8V, VIH~ 2.0V.
3. Active current is an AC test and uses AC timing levels.

2·94

Min

WAFERSCALE INTEGRATION, INC.

~~-------

PAC1000

Table 15.
AC Timing Levels

Table 16.
AC
Characteristics

Inputs:

o to 3V Reference 1.5V

Outputs:

0.4 to 2.4V

Parameter

Symbol

12MHzl
Min Max

16MHzl
Min Max

20MHz2
Min Max

CLOCK CYCLE
Cycle Time

tCK

84

62.5

50

Clock Pulse Width High

tCKH

26

24

21

Clock Pulse Width Low

tCKL

26

24

21

t RC

50

HOST READ CYCLE
Read Cycle Time

40
45

30

Address to Data Valid

35

tACC

CS to Data Valid

tcs

CS to tristate

tcsz

0

Pulse width of CS and
WRLOW

tpWL

20

Pulse width of CS and
WR High

tpwH

15

10

10

Data setup to WR

tSD

10

10

5

Data hold to WR

tHD

10

10

5

RESET setup

tSR

10

10

5

RESET to tristate of
ADD, HAD, HD, I/O

tRZ

25

25

20

RESET clocked to
OUTCNTL low

t ROL

30

30

25

45
45

30

35
0

35

30
0

30

HOST WRITE CYCLE
15

15

RESET CYCLE

ADDRESS TIMING
tSADD

10

10

10

Address/Data hold

tHADD

8

8

5

Clocked Counter to
Address output

tCADD

43

35

30

tRADD
tADOE

43

35

30

ADOE enable to data valid

50

40

30

HADOE enable to
data valid

tHADOE

Address/Data setup

Clocked Address Register
to Address

Address output disable

tCKZ

40

50
0

25

20

30
0

WAFERSCALE INTEGRATION, INC.

16

2·95

PAC1000

Table 16.
AC
Characteristics
(Con't)

Parameter
DATA AND I/O TIMING
Clock to I/O Output Valid
Clock to HD Output
10 data setup
10 data hold

Symbol

12MHz'
Min Max

16MHz'
Min Max

35
35

tCKIO

10

10

8

8

HD data setup

tSHD

10

10

HD data hold

tHHD

8

HDOE enable to data valid

tHOOE

Bus Output Disable

tCKZ

TEST AND INTERRUPT TIMING
Condition Code setup
tscc
Condition Code hold
tHCC
Clock to OUTCNTL Valid
tcov
Minimum interrupt pulse
for acceptance
t lPWA

0

10
5
10
5

8

60
0

30
30

30
30

tCKHD
tSIO
t HIO

50
25

20MHz2
Min Max

0

40
20

30
16

40
0

50
0
33

0

25

33

15

10

10

15
0
15
0

10
0
10
0

10
0
10
0

SPECIAL FUNCTION TIMING (I/O Bus)

S015 setup
S015 hold
SOO setup
SOO hold
Clock to 00 output

tSS015

Clock to 015 output

tCK015

Address Counter
enable setup

tSACEN

20

15

10

tHACEN
Block Counter enable setup tSBCEN
Block Counter enable hold tHBCEN

10
20
10

5
15
5

5
10
5

tHS015
tssoo
tHSOO
tCKOO

Address Counter
enable hold

35
35

30
30

External output enable to
data valid

tSFV

30

25

20

External output enable to
high impedance

tSFZ

30

25

20

Notes:
1. Operating temperature range: Commercial, Industrial, Military
2. Operating temperature range: Commercial

2·96

30
30

WAFERSCALE INTEGRATION, INC.

I'AC1000

Figure 21.
Clock Cycle
Timing

_tCK_
CK

1738 21

Figure 22.
Host Read Cycle
Timing

~

=t=__

Ad_d:_::_sv_a_lid_ _ _

~~

_ __

tACC--

/

\
f4-tcs ....

_tcsz ......

/

\
HD

\'

Note tcs

IS

Data Valid

referenced from RD=O and CS=O
1738 22

Figure 23.
Host Write FIFO
Cycle Timing

HAD
HD

tPWL

1738 23

Figure 24.
Reset Cycle
Timing

CLOCK

ADD
HAD
HD
1/0

OUTCNTL
1738 24

WAFERSCALE INTEGRATION, INC.

Ull

PAC1000

Figure 25.
Data and I/O
Timing

SWitch bus from
Input to Output
(Note 1)

New Data or
Counter Oulput
(Note 2)

Next Dala
or Count Value

Oulpul to High
Impedance

Notes 1 A bus directional change (Input-Io-oulput or outpul-lo-Input)
takes place on the falling edge of the clock
New data or count value IS latched on the rising edge of the clock

Figure 26.
Address Timing

SWitch bus from
Input to Output
(Note 2 & 3)

New Data or
Counter Output
(Note 4)

Next Data

or Count Value

1738 25

Output to High
Impedance

CLOCK

ADD

HAD
(Note 1)

Notes 1 The Host Address (HAD) bus IS used to output the lower SIX bits of the 22·blt counter
2.A bus directional change takes place on the falling edge of the clock (Input-to-output or output·to"nput)
3 Selection of the source to be output on a bus occurs on the failing edge
of the clock (I e , counter or address register)
4. New data or counl value is latched on the rising edge of the clock

2·98

WAFERSCALE INTEGRATION, INC.

1738 26

PAC1000

Figure 27.
Test and Interrupt
Timing

CLOCK

CC[701

OUTCNTL

INT

h

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

~-,IP-W-A------

Note 1 Since condition codes are not latched,
they should be stable tscc
prior to being tested
1738 27

Figure 28.
Special Function
Timing

CLOCK

ACEN
BCEN

00
015

ADOE
HADOE
HDOE
ADO
HAD
HD

1738 28

WAFERSCALE INTEGRATION, INC.

2·99

PAC1000

Pin Assignments
Figure 29.
88-Pin Ceramic
PGAPin
Assignments

A

B
C

D
E
F
G

H

J
K
L

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

0

0

0

DC'

GND

DCS

DC'

OC2

OCl

INT3

INTl

CC?

0

0

1/05

1107

0

0

0

CC2

DC?

DC.

0

0

0

HD'

1/06

0

0

1103

1104

0

0

1/01

1/02

0

0

1/00

0

fNR

0

IRD

0

cei2
0

GND

M 0
N

0
CC,

0

0

0

0

0

0

INT2

INTO

CC.

CCS

CCl

CCO

0

0
0

0

ADD11 ADDiO

0

GND

0

0

0

GND

ADD9

0

0

ADD7 A008

PAC1000

0

0

ADDS

ADDS

0

0

ADD3 ADD4

DGi3

0

0

0

ADOD

ADD2

0

aCiD

0

13

0
CC4

0

0

0

12

0

0

OC14

0
V~

ADDi3 ADD12

CK

0

oee

11

ADDiS ADD14

ICS

OGlS

0

OC4 IRESET

10

HADS

0

0

0

0

0

OC9

OCii

HD2

HD4

HD,

HD.

H010

0

0

0

0

0

0

0

0

v~

0

0

H014

0

HOD

HOl

GND

HDS

HD?

HD9

H01l

HDi2

HD13

1

2

3

4

5

6

7

8

9

0
V~

A

B
C

D
E
F
G

H

J
K
L

0

0

0

0

M

0

0

0

0

N

12

13

HADO HAD1 HAD3 HA04
HD15

GND

10

11

HAD2 ADDl

TOP (THROUGH PACKAGE) VIEW

13
A

0
CC,

B
C

D
E
F
G

H

J
K
L
M
N

12

0

co.

11

0
V~

10

9

8

6

5

0

0

0

0

0

0

0

0

INT1

INT3

OCl

OC2

DC'

OCS

GND

Dca

0

0

0

0

0

0

0

0

CCO

CCl

CCS

CC.

INTO

INT2

0

7

0
CC?

0

oeo

IRESET OC4

3

0

0

0

0

DC?

CC2

0

0

0

ADD12 ADDi3

0

0

AD09 GND

0

0

ADDS

ADD7

0

0

0

0
0

Vco

HADS

0

0

0

0

0

12

11

HAD2 GNO

0

0

0

HADO HD14 Vco

0

HD1S

10

0

0

9

8

HOB HD12

0

H010

0

0

HD.

0

0
HD'

0

0

HD4

0

0

HD2

0

H011

HD9

HD?

HDS

GND

7

6

5

4

3

BOTTOM VIEW

WAFERSCALE INTEGRATION, INC.

1/03

D

0

0

E

1/01

ICS

1100

0

F

0

0

G

tWR

GND

IRD

0

H

0

0

J

DGi3

Dei2

0

K

0

0

L

0

0

M

0

N

OCiO GND

0

HAD4 HAD3 HAD;

ADD1

C

1/04

0

ADD2 ADOO

0

0

OC14 GGiS

ADD4 ADD3

0

B

0

0

0

0

1/07

HD'

CK

ADDS ADDS

A

0

0

0

1

0

1/05

lID,

IID2

ADDiO ADDll

0

2

DC'

ADD14 ADDiS

13

2-100

4

DC1i

0

HOl

2

OC9
HOO

1

1738 29

PAC1000

Table 17.
PSAPin
Assignments

Name

Pin

Name

Pin

Name

Pin

CS
RD
RESET
WR
AD DO
ADD1
ADD10
ADD11
ADD12
ADD13
ADD14
ADD15
ADD2
ADD3
ADD4
ADD5
ADD6
ADD7
ADD8
ADD9
CCO
CC1
CC2
CC3
CC4
CC5
CC6
CC7
CK

F2
H1
B6
G1
K12
N13
E13
E12
D13
D12
C13
C12
K13
J12
J13
H12
H13
G12
G13
F13
B13
B12
B2
A13
A12
B11
B10
A10
G2

GND
GND
GND
GND
GND
GND
HADO
HAD1
HAD2
HAD3
HAD4
HAD5
HDO
HD1
HD10
HD11
HD12
HD13
HD14
HD15
HD2
HD3
HD4
HD5
HD6
HD7
HD8
HD9

H2
L1
A3
F12
N3
N11
M10
M11
N12
M12
M13
L12
N1
N2
M7
N7
N8
N9
M9
N10
M3
C1
M4
N4
M5
N5
M6
N6

1100

F1
E1
E2
D1
D2
A1
C2
B1
B9
A9
B8
A8
B7
A7
L2
M2
K1
K2
J2
J1
A6
A5
B5

1/01
1/02
1/03
1/04
1/05
1/06
1/07

INTO
INT1
INT2
INT3
OCO
OC1
OC10
OC11
OC12
OC13
OC14
OC15
OC2
OC3
OC4
OC5
OC6
OC7
OC8
OC9
VCC
VCC
VCC

WAFERSCALE INTEGRATION, INC.

A4

B4
B3
A2
M1
A11
L13
M8

2·101

PAC1000

Figure 3D.
1oo-Pin Plastic Dr
Ceramic Quad
Flatpack
(QuI/wing) Pin
Assignments

89

13

I

(

26

76

-

64

38

39

51

63
1738 30

2·102

WAFERSCALE INTEGRATION, INC.

PACfOOO

Table 18.
PlasticDr
Ceramic Quad
Flatpack
(SuI/wing) Pin
Assignments

Pin

Name

Pin

Name

Pin

Name

Pin

Name

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

RD
GND
GND
OC15
OC14
OC12
OC13
GND
GND
OC10
OC9
OC11

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

HD11
HD12
VCC
VCC
HD13
HD14
HD15
HADO
GND
GND
HAD1
HAD2

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

ADD7
ADD8
ADD9
GND
GND
ADD10
ADD11
ADD12
ADD13
ADD14
ADD15
CCO
CC1
CC3
CC4
CC5
VCC
VCC
CC6
CC7
INTO
INT1
INT2
INT3
OCO

76

OC1
OC2
RESET

N/C
HDO
HD1
HD2
GND
GND
HD4
HD5
HD6
HD7
HD8
HD9
HD10

N/C
HAD3
ADD1
HAD4
HAD5
VCC
VCC
ADDO
ADD2
ADD3
ADD4
ADD5
ADD6

77

78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100

N/C
OC3
OC4
OC5
OC6
GND
GND
OC7
OC8
CC2
105
107
106
HD3
104
103
102
101
CS
100
CK
WR

WAFERSCALE INTEGRATION, INC.

2-103

I'AC1DOO

InstructlDn Set
Overview

The PAC 1000 architecture can perform three
operations simultaneously in each instruction
cycle. The operations are specified in the
System Entry Language (PACSEL) using a
single statement. PACSEL instructions can
perform three operations:
CJ Program Control (PROGCNTL)
CJ

In some cases, the same mnemonic is used
to specify identical operations in both Macro
and Assembler level.
You may:
Specify all the components in the same
statement in order to perform the operations in parallel:

CJ

CPU

CJ Output Control (OUTCNTL)

PROGCNTL, CPU, OUTCNTL;

CJ

Each instruction is executed in a single cycle;
the three operations are executed in parallel.
The syntax of a PACSEL statement has a
label and three components:

CPU;
PROGCNTL;
OUTCNTL;

CJ
[label:J PROGCNTL, CPU,
OUTCNTL;

The PROGCNTL component determines
program flow and determines the next
statement to be executed; the CPU component determines which operation is to be
performed by the CPU; the OUTCNTL
component determines the state of the
control outputs.
A comma ( , ) is used to separate the instructions and a semi-colon marks the end of a
statement. In general, each statement is
executed in a single cycle.
In PACSEL statements, the PROGCNTL,
CPU, OUTCNTL components can come in
any order or any combination of Macro or
Assembler operators. That is, you may mix
Assembler operators among Macro operators. Tables at the end of this section summarize the Macro and Assembler operators.

2-104

WAFERSCALE INTEGRATION, INC.

Specify components one at a time:

Use components in any combination:
PROGCNTL, CPU;
PROGCNTL, OUTCNTL;
CPU, OUTCNTL;

WSI recommends that, in general, you
maintain a consistent ordering of these
components and consistent groupings of
Assembler-level and Macro operators, e.g. in
separate files. This manual uses the
PROGCNTL, CPU, OUTCNTL ordering.
When PROGCNTL is omitted, the implied
instruction is CONTinue, that is, proceed to
the next control instruction. When CPU is
omitted, the implied instruction is NOP. When
OUTCNTL is omitted, the implied instruction
is MAINTain, that is, maintain the most
recent OUTCTL, in Assembler order.
A summary of PACSEL Assembler and
Macro statements follows.

PAC1000

Table 19.
PACSEL
Assembler
Language
Summary

Mnemonic
Arguments
The PROGCNTL Operators

Meaning
SET A COUNTER SIZE

ACSIZE

<16/22>

CALL


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-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2013:08:20 18:05:40-08:00
Modify Date                     : 2013:08:21 06:22:55-07:00
Metadata Date                   : 2013:08:21 06:22:55-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:d5eb1130-6d77-8846-a0e6-d0d32e1712d3
Instance ID                     : uuid:a09f7893-b887-4649-afa6-5179ac351325
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 336
EXIF Metadata provided by EXIF.tools

Navigation menu