• Eight CMOS 2901 Type Devices in a Single Package
• 32 x 32 Dual Port RAM
• High Speed Operation
- 23MHz Read-Modify-Write Cycle
• Fully Firmware Compatible with the 2901
The IA59032 is a "plug-and-play" drop-in replacement for the original WSI™ WS59032. This
replacement IC has been developed using innovASIC’s MILESTM, or Managed IC Lifetime
Extension System, cloning technology. This technology produces replacement ICs far more complex
than "emulation" while ensuring they are compatible with the original IC. MILESTM captures the
design of a clone so it can be produced even as silicon technology advances. MILESTM also verifies
the clone against the original IC so that even the "undocumented features" are duplicated. This data
sheet documents all necessary engineering information about the IA59032 including functional and
I/O descriptions, electrical characteristics, and applicable timing.
WSI is a trademark of Waferscale Integration, Inc.
100 PIN PGA PACKAGE:
N M L K J H G F E D C B A
1
+ + + + + + + + + + + + +
2
+ + + + + + + + + + + + +
3
+ +
4
+ +
5
+ +
6
+ +
7
8
9
10
11
12
13
+
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ + + + + + + + + + + + +
N M L K J H G F E D C B A
TOP VIEWBOTTOM VIEW
1
++
+
+
+
2
3
++ + +
+
4
+
+
5
+
+
6
+
+
7
+
+
8
+
+
9
+
+
10
+
+
11
+
+
12
+
++++++++++
13
A B C D E F G H J K L M N
1
+ + + + + + + + + + + + +
2
+ + + + + + + + + + + + +
3
+ +
4
+ +
5
+ +
6
+ +
7
+ +
8
+ +
9
+ +
10
+ +
11
+ +
12
+ +
13
+ + + + + + + + + + + + +
A B C D E F G H J K L M N
1
2
3
++ + +
+
4
+
+
5
+
+
6
+
+
+
+ + +
+
+
+
+
+
7
+
+
8
+
+
9
+
+
10
+
+
11
+
+
12
+
++++++++++
13
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 2 of 17
PGA
PIN
GRID #
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
The IA59032 is a 32-bit high-speed microprocessor that combines the functions of eight 2901 4-bit
slice processors and distributed look-ahead carry generation on a single high performance CMOS
device. The IA59032 dual port RAM is 32-bits wide and 32 words deep. This architecture provides
grater flexibility and eases the task of generating new microcode while maintaining 100%
compatibility with existing 2901 based microcode.
BLOCK DIAGRAM
Figure 1
0
I(8:0)
1
2
3
4
5
INSTRUCTION BUS
6
7
8
ALU SOURCE
ALU FUNCTION
MICROINSTRUCTION DECODE
DESTINATION
CONTROL
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 4 of 17
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
FIGURE 1 (CONT):
CP
A(READ)
ADDRESS
B(READ/WRITE)
ADDRESS
D(31:0)
RAM SHIFT
RAM0RAM31
WE
B
32X32 2 PORT RAM
A
OUT
B
OUT
AQ0B
ALU SOURCE MUX
LOGIC
"0"
SR
Q-SHIFT
Q REGISTER
Q31Q0
F
Cn
OEn
FZERO
8 FUNCTION 32-BIT ALU
AF
OUTPUT DATA MUX
Y(31:0)
Copyright 2000
[_________The End of Obsolescence
innovASIC
F31
OVR
Cn32F
Page 5 of 17
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
A detailed block diagram for the IA59032 is shown in Figure 1. The two key elements in the block diagram
are the 32 word by 32-bit 2-port RAM and the high-speed ALU.
Data in any of the 32 words of the RAM can be read from the A-port of the RAM as controlled by the 4-bit
A address field input. Likewise, data in any of the 32 words of the RAM as defined by the B address field
input can be simultaneously read from the B-port of the RAM. The same code can be applied to the A select
field and B select field in which case the identical file data will appear at both the RAM A-port and B-port
outputs simultaneously.
When enabled by the RAM write enable (CP low), new data is always written into the file (word) defined by
the B address field of the RAM. The RAM data input field is driven by a 3-input mux. This configuration is
used to shift the ALU output data F if desired. This three-input mux scheme allows the data to be shifted up
one bit position, shifted down one bit position, or not shifted in either direction.
The high speed ALU can perform three binary arithmetic and five logic operations on the two 32-bit input
words R and S. The R input field is driven from a 2-input mux, while the S input field is driven by a 3-input
mux. Both muxes also have an inhibit capability; that is, no data is passed. This is equivalent to a “zero”
source operand.
Referring to Figure 1, the ALU R-input mux has the RAM A-port and the direct data inputs (D) connected as
inputs. Likewise, the ALU S-input mux has the RAM A-port, B-port, and the Q register connected as inputs.
This muxing scheme provides the capability of selecting various pairs of the A, B, D, Q, and zero inputs as
source operands to the ALU. These five inputs, when taken two at a time, result in ten possible
combinations of source operand pairs. The I(2:0) inputs are the microinstruction inputs used to select the
ALU source operands.
The two source operands not fully described as yet are the D input and the Q input. The D input is the 32bit wide direct data field input. This port is used to insert all data into the working registers inside the device.
Likewise, this input can be used in the ALU to modify any of the internal data files. The Q register is a
separate 32-bit file intended primarily for multiplication and division routines but it can also be used as an
accumulator or holding register for some applications.
The ALU itself is capable of performing three binary arithmetic and five logic functions. The I(5:3) inputs
are used to select the ALU function.
The ALU has three status-oriented outputs. These are F31, FZERO, and OVR. The F31 output is the most
significant (sign) bit of the ALU and can be used to determine positive or negative results without enabling
the three-state data outputs. F31 is non-inverted with respect to the sign bit output Y(31). The FZERO
output is used for zero detect. It is an open-collector output. FZERO is HIGH when all F outputs are
LOW. The overflow output (OVR) is used to flag arithmetic operations that exceed the available two’s
complement number range. The OVR output is HIGH when overflow exists.
The ALU data output is routed to several destinations. It can be a data output of the device and it can also
be stored in the RAM or the Q register. Eight possible combinations of ALU destination functions are
available, as defined by the I(8:6) inputs.
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 6 of 17
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
The 32-bit data output field (Y) features three-state outputs. An output control (OEn) is used to enable the
three-state outputs. When OEn is HIGH, the Y outputs are in the high-impedance state.
A two input mux is also used at the data output such that either the A-port of the RAM or the ALU outputs
(F) are selected at the device Y outputs. I(8:6) inputs control this selection.
As was discussed previously, the RAM inputs are driven from a three-input mux. This allows the ALU
outputs to be entered non-shifted, shifted up one position (X2) or shifted down one position (/2). The
shifter has two ports; one is labeled RAM0 and the other is RAM31. Both of these ports consist of a buffer
driver with a three-state output and an input to the mux. Thus, in the shift up mode, the RAM31 buffer is
enabled and the RAM0 mux input is enabled. Likewise, is in the shift down mode, the RAM0 buffer and
RAM31 input are enabled. In the no-shift mode, both buffers are in the high-impedance state and the mux
inputs are not selected. The I(8:6) inputs control the shifter.
Similarly, the Q register is driven from a 3-input mux. In the no-shift mode, the mux enters the ALU data
into the Q register. In either the shift-up or shift-down mode, the mux selects the Q register data
appropriately shifted up or down. The Q shifter also has two ports; Q0 and Q31. The operations of these
two ports are similar to the RAM shifter and are also controlled from the I(8:6) inputs.
The clock input controls the RAM, Q register, and the A and B data latches. When enabled, data is clocked
into the Q register on the LOW to HIGH transition of the clock. When CP is HIGH, the A and B latches
are open and will pass whatever data is present at the RAM outputs. When CP is LOW, the latches are
closed and will retain the last data entered. New data will be written into the RAM defined by the B address
field when the clock input is LOW.
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 7 of 17
Addresses which select the word of on board RAM which is to be diplayed through the B-
three state outputs are enabled and the MSB of the Q-register is available on the Q31 pin.
Otherwise the pins appear as inputs. When the destination code calls for a down shift the
pins are used as the data inputs to the MSB of the Q-register (Octal 4) and RAM (Octal 4
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
I/O SIGNAL DESCRIPTION
The diagram below describes the I/O characteristics for each signal on the IC. The signal names correspond
to the signal names on the pinout diagrams provide.
I/O CHARACTERISTICS:
SIGNAL NAMEI/O
A(4:0)I
B(4:0)I
I(8:0)I
Q31
RAM31
Q0
RAM0
D(31:0)I
Y(31:0)O
OEnI
OVRO
FZEROO
F31O
CnI
Cn32O
CPI
I/O
I/O
DESCRIPTION
The five address inputs to the on board RAM used to select word to be displayed
throught the A-port
port and into which data is written when the clock is low.
The nine instruction control lines. Used to determine what data sources will be applied
to the ALU(I(2:0)), what function the ALU will perform (I(5:3)), and what data is to be
deposited in the Q-register or on board RAM (I(8:6)).
Signal paths at the MSB of the on-board RAM and the Q-register which are used for
shifting data. When the destination code on I(8:6) indicates an up shift(Octal 6 or 7) the
and 5).
Shift lines similar to the Q31 and RAM 31; however the decription is applied to the LSB
of RAM and the Q-register.
Direct data inputs which may be selected as one of the ALU data sources for entering
data into the device. D0 is the LSB.
Tri-statable outputs which, when enabled, display either the data on the A-port of the
register stack or the outputs of the ALU as determined by the destination code I(8:6).
Output enable. When HIGH, the Y outputs are in the high impedance state. When
LOW, either the contents of the A-register or the outputs of the ALU are displayed on
Y(31:0).
Overflow. This signal indicates that an overflow into the sign bit has occurred as a result
of a two's complement operation.
This output, when HIGH, indicates that the result of an ALU operation is zero.
The most significnt ALU output bit.
The carry-in to the ALU.
The carry-out of the ALU.
The clock input. The clock low time is the write enable to the on-board dual port RAM,
including set-up time fot the A and B - portregisters. The A and B- port outputs change
while the clock is HIGH. The Q-register is latched on the clock LOW-to-HIGH
transition.
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 8 of 17
OCTAL CODE
F→BXNONE
AXXXX
F→BXNONE
FXXXX
0IN15Q0IN15
0IN15Q0
0F15IN0Q15
0F15
15
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
FUNCTIONAL TABLES
TABLE 1: ALU SOURCE OPERAND CONTROL
MNEMONIC
I
2
AQLLL0AQ
ABLLH1AB
ZQLHL20Q
ZBLHH30B
ZAHLL40A
DAHLH5DA
DQHHL6DQ
DZHHH7D0
MICRO CODEALU SOURCE OPERANDS
I
1
I
0
RS
TABLE 2: ALU FUNCTION CONTROL
MNEMONICALU FUNCTION
I
5
MICRO CODE
I
4
I
3
OCTAL CODE
SYMBOL
ADDLLL0R PLUS SR+S
SUBRLLH1S MINUS RS-R
SUBSLHL2R MINUS SR-S
ORLHH3R OR SR \/ S
ANDHLL4R AND SR /\ S
NOTRSHLH5Rn AND SRn /\ S
EXORHHL6R EX-OR S R \-/ S
EXNORHHH7R EX-NOR S(R \-/ S)n
TABLE 3: ALU DESTINATION CONTROL
MNEMONIC
I8I7I
OCTAL CODE SHIFT LOADSHIFTLOAD
6
Y OUTPUT
QREGLL L0XNONENONEF→QFXXXX
NOPL L H1XNONEXNONEFXXXX
RAMALH L2NONE
RAMFL H H3NONE
MICRO CODERAM FUNCT'N Q REG FUNCT'N
RAMQDH L L4DOWN
RAMDH L H5DOWN
RAMQUH H L6UP
RAMUH H H7UP
F/2→B
F/2→B
2F→B
2F→B
DOWN
UP
Q/2→Q
FF
XNONEFF
2Q→Q
FIN
XNONEFIN
RAM SHIFT'R Q SHIFT'R
RAM0RAM15Q
Q
0
XQ
15
X
*X Don’t care
B=Register addressed by B inputs
DOWN is toward LSB, UP is toward MSB
Copyright 2000
innovASIC
[_________The End of Obsolescence
Page 9 of 17
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
TABLE 4: SOURCE OPERAND AND ALU FUNCTION MATRIX
I(2:0) OCTAL CODE
01234567
I(5:3)
OCTAL
CODE
ALU
FUNCTION
A,QA,B0,Q0,B0,AD,AD,QD,0
ALU SOURCE (R,S)
0
Cn=L
A+QA+B Q BA D+A D+Q D
R plus S
Cn=H
1
Cn=L
A+Q+1A+B+1Q+1B+1A+1 D+A+1D+Q+1D+1
Q-A-1 B-A-1 Q-1 B-1 -A-1 A-D-1 Q-D-1 -D-1
S minus R
Cn=H
2
Cn=L
Q-AB-AQB-AA-DQ-D-D
A-Q-1 A-B-1 -Q-1 -B-1A D-A-1 D-Q-1 D-1
R minus S
Cn=H
R OR SA \/ QA \/ BQBA D \/ AD \/ QD
R AND SA /\ QA /\ B000D /\ AD /\ Q0
Rn AND SAn /\ QAn /\ BQBADn /\ ADn /\ Q0
R EXOR SA \-/ QA \-/ BQBAD \-/ AD \-/ QD
A-QA-B-Q-BA+1 D-AD-QD
Copyright 2000
[_________The End of Obsolescence
innovASIC
Page 10 of 17
OCTAL
4,0
4,1
4,5
A /\ Q
A /\ B
D /\ A
3,0
3,1
3,5
A \/ Q
A \/ B
D \/ A
6,0
6,1
6,5
A \-/ Q
A \-/ B
D \-/ A
7,0
7,1
7,5
(A \-/ Q)n
(A \-/ B)n
(D \-/ A)n
7,2
7,3
7,4
Qn
Bn
An
6,2
6,3
6,4
Qn
Bn
An
3,2
3,3
3,4
Q
B
A
4,2
4,3
4,4
0
0
0
5,0
5,1
5,5
An /\ Q
An /\ B
Dn /\ A
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
SOURCE OPERANDS AND ALU FUNCTIONS
Eight source operand pairs are available to the ALU as determined by the I0-I2 instruction inputs. The ALU
performs eight functions; three of which are arithmetic and five of which are logic functions. This function
selection is controlled by the I3-I5 instruction inputs. When in the arithmetic mode, the ALU results are also
affected by the carry, Cn. In the logic mode, the Cn input has no effect.
The matrix of Table 4 results when Cn and I0 through I5 are viewed together. Table 5 defines the logic
operation which the IA59032 has the capability to perform while Table 6 demonstrates the arithmetic
operations of the device. Both carry-in HIGH (Cn = 1) and carry-in LOW (Cn = 0) are defined in these
operations.
TABLE 5: ALU LOGIC MODE FUNCTIONS
I(5:3), I(2:0)
4,6
3,6
6,6
7,6
7,7
6,7
GROUPFUNCTION
AND
D /\ Q
OR
D \/ Q
EXOR
D \-/ Q
EXNOR
(D \-/ Q)n
INVERT
Dn
PASS
Dn
3,7
4,7
5,6
[_________The End of Obsolescence
PASS
D
ZERO
0
MASK
Dn /\ Q
Copyright 2000
innovASIC
Page 11 of 17
0,0
0,1
0,5
A+Q
A+B
D+A
A+Q+1
A+B+1
D+A+1
0,2
0,3
0,4
Q
B
A
Q+1
B+1
A+1
1,2
1,3
1,4
Q-1
B-1
A-1
Q
B
A
2,2
2,3
2,4
1'S
-Q-1
-B-1
-A-1
2'S
-Q
-B
-A
-D
1,0
1,1
1,5
1,6
2,0
2,1
2,5
SUBTRACT
1'S
Q-A-1
B-A-1
A-D-1
Q-D-1
A-Q-1
A-B-1
D-A-1
D-Q-1
SUBTRACT
2'S
Q-A
B-A
A-D
Q-D
A-Q
A-B
D-A
OCTAL
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
TABLE 6: ALU ARITHMETIC MODE FUNCTIONS
Cn=0(LOW)Cn=1(HIGH)
I(5:3), I(2,0)
0,6
0,7
2,7
1,7
GROUPFUNCTIONGROUPFUNCTION
ADD
D+Q
PASS
D
DECREMENT
ADD PLUS ONE
D+Q+1
INCREMENT
D+1
PASS
D-1
COMPLEMENT
COMPLEMENT
(NEGATE)
-D-1
D
2,6
COMPLEMENT
Copyright 2000
innovASIC
[_________The End of Obsolescence
COMPLEMENT
D-Q
Page 12 of 17
70
Output High
Output Low
Voltage
Input Low
Input Load
Comm'l (0C to 70C)
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
AC/DC PARAMETERS:
Absolute maximum ratings:
Operating Temp (Comm’l)…….........................………...…..0°C to +70°C
(Mil)………………………………..…-55°C to +125°C
Storage temperature.......................................…........……...…- 55°C to 155°C
Voltage on any pin with
respect to GND………….....................................………..…...-0.6V to +7V
Latch Up Protection…................................................….....................>200mA
ESD Protection…………………………………….………….>± 2000V
DC CHARACTERISTICS:
SYMBOL PARAMETERMINMAXUNITS
V
oh
TEST CONDITIONS
All outputs
Ioh=*
VDD-1.0
V
Voltage
V
ol
Y(31:0)
Iol=*
VSS+0.4V
Iol=*
All others
V
Input High
ih
Guaranteed Input High Voltage
Iol=*
2
V
Voltage
V
il
Guaranteed Input Low Voltage
0.8V
Voltage
I
ix
VCC=Max, Vin=Gnd or V
CC
-1010
uA
Current
I
High Impedance
oz
BCC=Max, VO=Gnd or V
CC
-5050uA
Output Current
I
CC
Power Supply
Current
VCC=Max
Mil (-55C to 125C)
85
mA
*As per specific buffer
[_________The End of Obsolescence
Copyright 2000
innovASIC
Page 13 of 17
FZERO
RAM0,
Q0,
From
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
CYCLE TIME AND CLOCK CHARACTERISTICS:
READ-MODIFY-WRITE (from select of A, B
60ns
registers to end of cycle)
Maximum Clock Frequency to Shift Q (50% duty
23.6 MHz
cycle, I=432 or 632)
Minimum Clock Low Time
Minimum Clock High
Minimum Clock Period
28ns
30ns
60ns
OUTPUT ENABLE/DISABLE TIME:
From OEn LOW to Y output enable36ns
From OEn HIGH to Y output enable30ns
COMBINATIONAL PROPAGATION DELAYS (Cl = 50 pf):
To Output
YF31Cn+32
A,B Address666858666275--
Input
D(31:0)454535453548-C
n
363618363242--
I(2:0)464635464158-I(5:3)515141514653-I(8:6)22--------2220
A Bypass
48-----------ALU
(I=2XX)
OVR
RAM31
UNITS
Q31
ns
Clock51514251485922
Copyright 2000
innovASIC
[_________The End of Obsolescence
Page 14 of 17
Set up before
Set up before
Hold after
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice
SET-UP AND HOLD TIMES RELATIVE TO CLOCK (CP) INPUT:
CP
Input
H to L
A,B Source Address201 (note 3)53 (note 4)0
B Destination Address100
1) Dashes indicate that a set-up time constraint or a propagation delay path does not exist.
2) The phrase “Do Not Change” indicates that certain signals must remain LOW for the duration of the
clock LOW time. Otherwise, erroneous operation may be the result.
3) Prior to clock HIGH to LOW transition, source addresses must be stable to allow time for the
source data to be set up before the latch closes. After this transition the 'A' address may be changed. If it
is not being used as a destination, the B address may also be changed. If it is being used as a destination,
the B address must remain stable during the clock LOW period.
4) Set-up time before HIGH to LOW included here.
UNITS
ns
Copyright 2000
innovASIC
[_________The End of Obsolescence
Page 15 of 17
MILLIMETER
INCH
IA59032Data Sheet
32-Bit High Speed Microprocessor Slice