ATMEL MMK2-67025EV-30

Features
•
•
•
•
•
•
•
•
•
•
•
•
•
Fast Access Time: 30/45 ns
Wide Temperature Range: -55°C to +125°C
Separate Upper Byte and Lower Byte Control for Multiplexed Bus Compatibility
Expandable Data Bus to 32 bits or More Using Master/Slave Chip Select When Using
More Than One Device
On-chip Arbitration Logic
Versatile Pin Select for Master or Slave:
– M/S = H for Busy Output Flag On Master
– M/S = L for Busy Input Flag On Slave
INT Flag for Port to Port Communication
Full Hardware Support of Semaphore Signaling Between Ports
Fully Asynchronous Operation From Either Port
Battery Back-up Operation: 2V Data Retention
TTL Compatible
Single 5V + 10% Power Supply
QML Q and V with SMD 5962-91617
Rad. Tolerant
High Speed
8 Kb x 16
Dual Port RAM
Introduction
The M67025E is a very low power CMOS dual port static RAM organized as 8192 bit
× 16. The product is designed to be used as a stand-alone 16-bit dual port RAM or as
a combination MASTER/SLAVE dual port for 32-bit or more width systems. The Atmel
MASTER/SLAVE dual port approach in memory system applications results in full
speed, error free operation without the need of an additional discrete logic.
M67025E
Master and slave devices provide two independent ports with separate control,
address and I/O pins that permit independent, asynchronous access for reads and
writes to any location in the memory. An automatic power down feature controlled by
CS permits the on-chip circuitry of each port in order to enter a very low stand by
power mode.
Using an array of eight transistors (8T) memory cell, the M67025E combines an
extremely low standby supply current (typ = 1.0 µA) with a fast access time at 30 ns
over the full temperature range. All versions offer battery backup data retention capability with a typical power consumption at less than 5 µW.
For military/space applications that demand superior levels of performance and reliability the M67025E is processed according to the methods of the latest revision of the
MIL PRF 38635 (Q and V) and/or ESA SCC 9000.
Rev. 4146J–AERO–06/03
1
M67025E
Block Diagram
Notes:
1. (MASTER): BUSY is output. (SLAVE): BUSY is input.
2. LB = Lower Byte
UB = Upper Byte
2
4146J–AERO–06/03
Pin Configuration
Pin Description
Left Port
Right Port
Names
CSL
CSR
Chip select
R/WL
R/WR
Read/Write Enable
OEL
OER
Output Enable
A0R – 12R
Address
I/O0L – 15L
I/O0R – 15R
Data Input/Output
SEML
SEMR
Semaphore Enable
UBL
UBR
Upper Byte Select
LBL
LBR
Lower Byte Select
INTL
INTR
Interrupt Flag
BUSYL
BUSYR
Busy Flag
A0L –
3
12L
M/S
Master or Slave Select
Vcc
Power
GND
Ground
M67025E
4146J–AERO–06/03
M67025E
Functional Description
The M67025E has two ports with separate control, address and I/O pins that permit
independent read/write access to any memory location. These devices have an automatic power-down feature controlled by CS. CS controls on-chip power-down circuitry
which causes the port concerned to go into stand-by mode when not selected (CS high).
When a port is selected access to the full memory array is permitted. Each port has its
own Output Enable control (OE). In read mode, the port’s OE turns the Output drivers on
when set LOW. Non-conflicting READ/WRITE conditions are illustrated in Table 1.
The interrupt flag (INT) allows communication between ports or systems. If the user
chooses to use the interrupt function, a memory location (mail box or message center) is
assigned to each port. The left port interrupt flag (INTL) is set when the right port writes
to memory location 1FFE (HEX). The left port clears the interrupt by reading address
location 1FFE. Similarly, the right port interrupt flag (INTR) is set when the left port writes
to memory location 1FFF (HEX), and the right port must read memory location 1FFF in
order to clear the interrupt flag (INTR). The 16-bit message at 1FFE or 1FFF is userdefined. If the interrupt function is not used, address locations 1FFE and 1FFF are not
reserved for mail boxes but become part of the RAM. See Table 3 for the interrupt
function.
Arbitration Logic
The arbitration logic will resolve an address match or a chip select match down to a minimum of 5 ns determine which port has access. In all cases, an active BUSY flag will be
set for the inhibited port.
The BUSY flags are required when both ports attempt to access the same location
simultaneously. Should this conflict arise, on-chip arbitration logic will determine which
port has access and set the BUSY flag for the inhibited port. BUSY is set at speeds that
allow the processor to hold the operation with its associated address and data. It should
be noted that the operation is invalid for the port for which BUSY is set LOW. The inhibited port will be given access when BUSY goes inactive.
A conflict will occur when both left and right ports are active and the two addresses coincide. The on-chip arbitration determines access in these circumstances. Two modes of
arbitration are provided: (1) if the addresses match and are valid before CS on-chip control logic arbitrates between CSL and CSR for access; or (2) if the CS are low before an
address match, on-chip control logic arbitrates between the left and right addresses for
access (refer to Table 4). The inhibited port’s BUSY flag is set and will reset when the
port granted access completes its operation in both arbitration modes.
Data Bus Width
Expansion
Expanding the data bus width to 32 or more bits in a dual-port RAM system means that
several chips may be active simultaneously. If every chips has a hardware arbitrator,
and the addresses for each arrive at the same time one chip may activate in L BUSY
signal while another activates its R BUSY signal. Both sides are now busy and the
CPUs will wait indefinitely for their port to become free.
To overcome this “Busy Lock-Out’ problem, Atmel has developed a MASTER/SLAVE
system which uses a single hardware arbitrator located on the MASTER. The SLAVE has
BUSY inputs which allow direct interface to the MASTER with no external components, giving a
speed advantage over other systems.
When dual-port RAMs are expanded in width, the SLAVE RAMs must be prevented
from writing until after the BUSY input has settled. Otherwise, the SLAVE chip may begin a
write cycle during a conflict situation. Conversely, the write pulse must extend a hold time
beyond BUSY to ensure that a write cycle occurs once the conflict is resolved. This timing is
inherent in all dual-port memory systems where more than one chip is active at the same time.
4
4146J–AERO–06/03
The write pulse to the SLAVE must be inhibited by the MASTER’s maximum arbitration
time. If a conflict then occurs, the write to the SLAVE will be inhibited because of the
MASTER’s BUSY signal.
Semaphore Logic
The M67025E is an extremely fast dual-port 4 Kb × 16 CMOS static RAM with an additional
locations dedicated to binary semaphore flags. These flags allow either of the processors on the
left or right side of the dual-port RAM to claim priority over the other for functions defined by the
system software. For example, the semaphore flag can be used by one processor to inhibit the
other from accessing a portion of the dual-port RAM or any other shared resource.
The dual-port RAM has a fast access time, and the two ports are completely independent of each another. This means that the activity on the left port cannot slow the access
time of the right port. The ports are identical in function to standard CMOS static RAMs
and can be read from, or written to, at the same time with the only possible conflict arising from simultaneous writing to, or a simultaneous READ/WRITE operation on, a nonsemaphore location. Semaphores are protected against such ambiguous situations and
may be used by the system program to prevent conflicts in the non-semaphore segment
of the dual-port RAM. The devices have an automatic power-down feature controlled by
CS, the dual-port RAM select and SEM, the semaphore enable. The CS and SEM pins control
on-chip-power-down circuitry that permits the port concerned to go into stand-by mode when
not selected. This conditions is shown in Table 1 where CS and SEM are both high.
Systems best able to exploit the M67025E are based around multiple processors or controllers and are typically very high-speed, software controlled or software-intensive
systems. These systems can benefit from the performance enhancement offered by the
M67025 hardware semaphores, which provide a lock-out mechanism without the need
for complex programming.
Software handshaking between processors offers the maximum level of system flexibility by permitting shared resources to be allocated in varying configurations. The
M67025E does not use its semaphore flags to control any resources through hardware,
thus allowing the system designer total flexibility in system architecture.
An advantage of using semaphores rather than the more usual methods of hardware
arbitration is that neither processor ever incurs wait states. This can prove to be a considerable advantage in very high speed systems.
How The Semaphore
Flags Work
The semaphore logic is a set of eight latches independent of the dual-port RAM. These
latches can be used to pass a flag or token, from one port to the other to indicate that a
shared resource is in use. The semaphore provides the hardware context for the “Token
Passing Allocation’ method of use assignment. This method uses the state of a semaphore latch as a token indicating that a shared resource is in use. If the left processor
needs to use a resource, it requests the token by setting the latch. The processor then
verifies that the latch has been set by reading it. If the latch has been set the processor
assumes control over the shared resource. If the latch has not been set, the left processor has established that the right processor had set the latch first, has the token and is
using the shared resource. The left processor may then either repeatedly query the status of the semaphore, or abandon its request for the token and perform another
operation whilst occasionally attempting to gain control of the token through a set and
test operation. Once the right side has relinquished the token the left side will be able to
take control of the shared resource.
The semaphore flags are active low. A token is requested by writing a zero to a semaphore latch, and is relinquished again when the same side writes a one to the latch.
5
M67025E
4146J–AERO–06/03
M67025E
The eight semaphore flags are located in a separate memory space from the dual-port
RAM in the M67025E. The address space is accessed by placing a low input on the
SEM pin (which acts as a chip select for the semaphore flags) and using the other control pins
(address, OE and R/W) as normally used in accessing a standard static RAM. Each of the flags
has a unique address accessed by either side through address pins A0-A2. None of the other
address pins has any effect when accessing the semaphores. Only data pin D0 is used when
writing to a semaphore. If a low level is written to an unused semaphore location, the flag will be
set to zero on that side and to one on the other side (see Table 5). The semaphore can now
only be modified by the side showing the zero. Once a one is written to this location from the
same side, the flag will be set to one for both sides (unless a request is pending from the other
side) and the semaphore can then be written to by either side.
The effect the side writing a zero to a semaphore location has of locking out the other
side is the reason for the use of semaphore logic in interprocessor communication. (A
thorough discussion of the use of this feature follows below). A zero written to the semaphore location from the locked-out side will be stored in the semaphore request latch for
that side until the semaphore is relinquished by the side having control. When a semaphore flag is read its value is distributed to all data bits so that a flag set at one reads as
one in all data bits and a flag set at zero reads as all zeros. The read value is latched
into the output register of one side when its semaphore select (SEM) and output enable
(OE) signals go active. This prevents the semaphore changing state in the middle of a read
cycle as a result of a write issued by the other side. Because of this latch, a repeated read of a
semaphore flag in a test loop must cause either signal (SEM or OE) to go inactive, otherwise
the output will never change.
The semaphore must use a WRITE/READ sequence in order to ensure that no system
level conflict will occur. A processor requests access to shared resources by attempting
to write a zero to a semaphore location. If the semaphore is already in use, the semaphore request latch will contain a zero, yet the semaphore flag will appear as a one, and
the processor will detect this status in the subsequent read (see Table 5). For example,
assume a processor writes a zero to the left port at a free semaphore location. On a
subsequent read, the processor will verify that it has written successfully to that location
and will assume control over the resource concerned. If a processor on the right side
then attempts to write a zero to the same semaphore flag it will fail, as will be verified by
a subsequent read returning a one from the semaphore location on the right side has a
READ/WRITE sequence been used instead, system conflict problems could have
occurred during the interval between the read and write cycles.
It must be noted that a failed semaphore request needs to be followed by either
repeated reads or by writing a one to the same location. The simple logic diagram for
the semaphore flag in Figure 2 illustrates the reason for this quite clearly. Two semaphore request latches feed into a semaphore flag. The first latch to send a zero to the
semaphore flag will force its side of the semaphore flag low and other side high. This
status will be maintained until a one is written to the same semaphore request latch.
Should a zero be written to the other side’s semaphore request latch in the meantime,
the semaphore flag will flip over to this second side as soon as a one is written to the
first side’s request latch. The second side’s flag will now stay low until its semaphore
request latch is changed to a one. Thus, clearly, if a semaphore flag is requested and
the processor requesting it no longer requires access to the resource, the entire system
can hang up until a one is written to the semaphore request latch concerned.
Semaphore timing becomes critical when both sides request the same token by
attempting to write a zero to it at the same time. Semaphore logic is specially conceived
to resolve this problem. The logic ensures that only one side will receive the token if
simultaneous requests are made. The first side to make a request will receive the token
where request do not arrive at the same time. Where they do arrive at the same time,
6
4146J–AERO–06/03
the logic will assign the token arbitrarily to one of the ports. It should be noted, however,
that semaphores alone do not guarantee that access to a resource is secure. As with
any powerful programming technique, errors can be introduced if semaphores are misused or misinterpreted. Code integrity is of the utmost performance when semaphores
are being used instead of slower, more restrictive hardware-intensive systems.
Semaphore initialization is not automatic and must therefore be incorporated in the
power up initialization procedures. Since any semaphore flag containing a zero must be
reset to one, initialization should write a one to all request flags from both sides to
ensure that they will be available when required.
Using Semaphores –
Some Examples
Perhaps the simplest application of semaphores is their use as resource markers for the
M67025E’s dual-port RAM. If it is necessary to split the 8 Kb × 16 RAM into two 4 Kb × 16
blocks which are to be dedicated to serving either the left or right port at any one time. Semaphore 0 can be used to indicate which side is controlling the lower segment of memory and
semaphore 1 can be defined as indicating the upper segment of memory.
To take control of a resource, in this case the lower 4 Kb of a dual-port RAM, the left port
processor would then write a zero into semaphore flag 0 and then read it back. If successful in taking the token (reading back a zero rather than a one), the left processor
could then take control of the lower 4 Kb of RAM. If the right processor attempts to perform the same function to take control of the resource after the left processor has
already done so, it will read back a one in response to the attempted write of a zero into
semaphore 0. At this point the software may choose to attempt to gain control of the
second 4 Kb segment of RAM by writing and then reading a zero in semaphore 1. If successful, it will lock out the left processor.
Once the left side has completed its task it will write a one to semaphore 0 and may then
attempt to access semaphore 1. If semaphore 1 is still occupied by the right side, the left
side may abandon its semaphore request and perform other operations until it is able to
write and then read a zero in semaphore 1. If the right processor performs the same
operation with semaphore 0, this protocol would then allow the two processes to swap
4 Kb blocks of dual-port RAM between one another.
The blocks do not have to be any particular size, and may even be of variable size
depending on the complexity of the software using the semaphore flags. All eight semaphores could be used to divide the dual-port RAM or other shared resources into eight
parts. Semaphores can even be assigned different meanings on each side, rather than
having a common meaning as is described in the above example.
Semaphores are a useful form of arbitration in systems such as disk interfaces where
the CPU must be locked out of a segment of memory during a data transfer operation,
and the I/0 device cannot tolerate any wait states. If semaphores are used, both the
CPU and the I/0 device can access assigned memory segments, without the need for
wait states, once the two devices have determined which memory area is barred to the
CPU.
Semaphores are also useful in applications where no memory WAIT state is available
on one or both sides. On a semaphore handshake has been performed, both processors can access their assigned RAM segments at full speed.
Another application is in complex data structures. Block arbitration is very important in
this case, since one processor may be responsible for building and updating a data
structure whilst the other processor reads and interprets it. A major error condition may
be created if the interpreting processor reads an incomplete data structure. Some sort of
arbitration between the two different processors is therefore necessary. The building
processor requests access to the block, locks it and is then able to enter the block to
7
M67025E
4146J–AERO–06/03
M67025E
update the data structure. Once the update is completed the data structure may be
released.
This allows the interpreting processor, to return to read the complete data structure, thus
ensuring a consistent data structure.
Truth Table
Table 1. Non Contention Read/Write Control
Note: Inputs(1)
Outputs
CS
R/W
OE
UB
LB
SEM
IO8 - IO15
I/O0- I/O7
Mode
H
X
X
X
X
H
Hi-Z
Hi-Z
Deselected: Power Down
X
X
X
H
H
H
Hi-Z
Hi-Z
Deselected: Power Down
L
L
X
H
L
H
Hi-Z
DATA IN
Write to Lower Byte Only
L
L
X
L
L
H
DATAIN
DATA IN
Write to Both Bytes
L
H
L
L
H
H
DATAOUT
Hi-Z
Read Upper Byte Only
L
H
L
H
L
H
Hi-Z
DATAOUT
Read Lower Byte Only
L
H
L
L
L
H
DATAOUT
DATAOUT
Read Both Bytes
X
X
H
X
X
X
Hi-Z
Hi-Z
Outputs Disabled
H
H
L
X
X
L
DATAOUT
DATAOUT
Read Data in Sema. Flag
X
H
L
H
H
L
DATAOUT
DATAOUT
Read Data in Sema. Flag
H
X
X
X
L
DATAIN
DATA IN
Write DIN0 into Sema. Flag
X
X
H
H
L
DATAIN
DATA IN
Write DIN0 into Sema. Flag
L
X
X
L
X
L
–
–
Not Allowed
L
X
X
X
L
L
–
–
Not Allowed
Note:
1. AOL - A12 ≠ A OR n- A12R
Table 2. Arbitration Options
Inputs
Options
Outputs
CS
UB
LB
M/S
SEM
BUSY
INT
L
X
L
H
H
Output
–
L
L
X
H
H
Signal
L
X
L
L
H
Input
–
L
L
X
L
H
Signal
–
L
X
L
X
H
–
Output
L
L
X
X
H
H
X
X
H
L
H
H
X
X
L
L
Hi-Z
Busy Logic Master
Busy Logic Slave
Interrupt Logic
Semaphore Logic(1)
Note:
Signal
–
1. Inputs Signals are for Semaphore Flags set and test (Write and Read) operations.
8
4146J–AERO–06/03
Table 3. Interrupt Flag(1) (4)
Left Port
Right Port
R/WL
CSL
OEL
AOL-A12L
INT L
R/WR
CSR
OER
AOR-A12R
INTR
L
L
X
1FFF
X
X
X
X
X
L(2)
Set Right INTR Flag
X
X
X
X
X
X
L
L
1FFF
H(3)
Reset Right INTR Flag
X
X
X
X
L(3)
L
L
X
1FFE
X
Set Left INTL Flag
X
L
L
1FFE
H(2)
X
X
X
X
X
Reset Left INTL Flag
Notes:
1.
2.
3.
4.
Function
Assumes BUSYL = BUSYR = H.
If BUSYL = L, then NC.
If BUSYR = L, then NC.
H = HIGH, L = LOW, X = DON’T CARE, NC = NO CHANGE.
Table 4. Arbitration(2)
Left Port
Flags (1)
Right Port
CSL
A0L – A12L
CSR
A0R – A12R
BUSYL
BUSYR
Function
H
X
H
X
H
H
No Contention
L
Any
H
X
H
H
No Contention
H
X
L
Any
H
H
No Contention
L
≠ A0R – A12R
L
≠ A 0L – A12L
H
H
No Contention
Address Arbitration With CS Low Before Address Match
L
LV5R
L
LV5R
H
L
L-Port Wins
L
RV5L
L
RV5L
L
H
R-Port Wins
L
Same
L
Same
H
L
Arbitration Resolved
L
Same
L
Same
L
H
Arbitration Resolved
CS Arbitration With Address Match Before CS
LL5R
= A0R – A12R
LL5R
= A0L – A12L
H
L
L-Port Wins
RL5L
= A0R – A12R
RL5L
= A 0L – A12L
L
H
R-Port Wins
LW5R
= A0R – A12R
LW5R
= A0L – A12L
H
L
Arbitration Resolved
LW5R
= A0R – A12R
LW5R
= A0L – A12L
L
H
Arbitration Resolved
Notes:
9
1. INT Flags Don’t Care.
2. X = DON’T CARE, L = LOW, H = HIGH.
LV5R = Left Address Valid ≥ 5 ns before right address.
RV5L = Right Address Valid ≥ 5 ns before left address
Same = Left and Right Addresses match within 5 ns of each other.
LL5R = Left CS = LOW ≥ 5 ns before Right CS.
RL5L = Right CS = LOW ≥ 5 ns before left CS.
LW5R = Left and Right CS = LOW within 5 ns of each other.
M67025E
4146J–AERO–06/03
M67025E
Table 5. Example Semaphore Procurement Sequence
Function
D0 - D15 Left
D0 - D15 Right
No Action
1
1
Semaphore free
Left Port Writes ’0’ to Semaphore
0
1
Left Port has semaphore token
Right Port Writes ’0’ to Semaphore
0
1
No change. Right side has no write
access to semaphore
Left Port Writes ’1’ to Semaphore
1
0
Right port obtains semaphore token
Left Port Writes ’0’ to Semaphore
1
0
No change. Left port has no write
access to semaphore
Right Port Writes ’1’ to Semaphore
0
1
Left port obtains semaphore token
Left Port Writes ’1’ to Semaphore
1
1
Semaphore free
Right Port Writes ’0’ to Semaphore
1
0
Right port has semaphore token
Right Port Writes ’1’ to Semaphore
1
1
Semaphore free
Left Port Writes ’0’ to Semaphore
0
1
Left Port has semaphore token
Left Port Writes ’1’ to Semaphore
1
1
Semaphore free
Note:
Status
1. This table denotes a sequence of events for only one of the 8 semaphores on the M67025E.
Figure 1. Semaphore Logic
10
4146J–AERO–06/03
Electrical Characteristics
Absolute Maximum Ratings
*NOTE:
Supply voltage (VCC-GND): ............................... -0.5V to 7.0V
Input or output voltage applied: (GND - 0.5V) to (VCC + 0.5V)
Storage temperature: ..................................... -65°C to +150°C
Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the
device.This is a stress rating only and functional operation of the device at these or any other conditions
above those indicated in the operational sections of
this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may
affect reliability.
DC Parameters
Table 6. DC Test Conditions
TA = -55°C to + 125°C; Vss = 0V; Vcc = 4.5V to 5.5V
Parameter
Description
Unit
Value
Standby supply current (Both ports TTL level inputs)
10
10
mA
Max
ICCSB1 (2)
Standby supply current (Both ports CMOS level
inputs)
500
500
µA
Max
ICCOP(3)
Operating supply current (Both ports active)
320
260
mA
Max
ICCOP1(4)
Operating supply current (One port active - One
port standby)
200
180
mA
Max
1.
2.
3.
4.
CSL = CSR > 2.2V.
CSL = CSR > VCC - 0.2V.
Both ports active - Maximum frequency - Outputs open - OE = VIH.
One port active (f = fMAX) - Output open - One port stand-by TTL or CMOS Level Inputs - CSL = CSR > 2.2V
Parameter
67025E
Unit
Value
Input/Output leakage current
±5
µA
Max
VIL (2)
Input low voltage
0.8
V
Max
VIH(2)
Input high voltage
2.2
V
Min.
VOL (3)
Output low voltage (I/O0 - I/O15)
0.4
V
Max
VOH(3)
Output high voltage
2.4
V
Min.
Input capacitance
5
pF
Max
Output capacitance
7
pF
Max
IL I/O (1)
C IN
C OUT
11
67025-45
ICCSB(1)
Notes:
1.
2.
3.
67025-30
Description
Vcc = 5.5V, Vin = Gnd to Vcc, CS = VIH, Vout = 0 to Vcc.
VIH max = Vcc + 0.5V, VIL min = -0.5V or -1V pulse width 50 ns.
Vcc Min., IOL = 4 mA, IOH = -4 mA.
M67025E
4146J–AERO–06/03
M67025E
Data-retention Mode
Atmel CMOS RAMs are designed with battery backup in mind. Data retention voltage
and supply current are guaranteed over temperature. The following rules ensure data
retention:
1. Chip select (CSL, CSR) must be held high during data retention; within VCC to
VCC - 0.2V.
2. CSL, CSR must be kept between VCC - 0.2V and 70% of VCC during the power
up and power down transitions.
3. The RAM can begin operation > tRC after VCC reaches the minimum operating
voltage (4.5 volts).
Timing
Parameter
Description
Minimum
Maximum
Unit
VDR
Data Retention
Voltage
2.0
–
V
TCDR
Chip deselect to
data retention
time
0
–
ns
TR
Operation
recovery time
TAVAV (1)
–
ns
–
400
µA
Data retention
current
TAVAV = Read cycle time.
VIN (CSL/R) = Vcc
Vcc = 2V
VIL = 0V
VIH = Vcc
ICCDR1 (2)
1.
2.
12
4146J–AERO–06/03
AC Parameters
AC Test Conditions
Input Pulse Levels: GND to 3.0V
Output Reference Levels: 1.5V
Input Rise/Fall Times: 5 ns
Output Load: See Figures 2, 3
Input Timing Reference Levels: 1.5V
Figure 2. Output Load
Figure 3. Output Load (for tHZ, tLZ, tWZ, and tOW)
1(1)
(1)
1
Note:
1. Including scope and jig.
AC Read Characteristics
Table 7. Over the Full Operating Temperature and Supply Voltage Range
M
67025-30
Read Cycle
Symbol(4)
Symbol(5)
TAVAVR
tRC
TAVQV
Min.
Max.
Min.
Max.
Unit
Read cycle time
30
–
45
–
ns
tAA
Address access time
–
30
–
45
ns
TELQV
tACS
Chip Select access time(3)
–
30
–
45
ns
TBLQV
tABE
Byte enable access time(3)
–
30
–
45
ns
TGLQV
tAOE
Output enable access time
–
15
–
25
ns
TAVQX
tOH
Output hold from address change
3
–
3
–
ns
TELQX
tLZ
Output low Z time (1) (2)
3
–
5
–
ns
TEHQZ
tHZ
Output high Z time (1) (2)
–
15
–
20
ns
TPU
tPU
Chip Select to power up time (2)
0
–
0
–
ns
TPD
tPD
Chip disable to power down time (2)
–
50
–
50
ns
TSOP
tSOP
SEM flag update pulse (OE or SEM)
15
–
15
–
ns
TSLQV
tACS
Semaphore Access time(3)
–
30
–
45
ns
Notes:
13
1.
2.
3.
4.
5.
Parameter
M
67025-45
Transition is measured +500 mV from low or high impedance voltage with load (Figure 2 and Figure 3).
This parameter is guaranteed but not tested.
To access RAM CS = VIL, UB or LB = VIL, SEM = VIH. To access semaphore CS = VIH, SEM = VIL. Refer to Table 1.
STD symbol.
ALT symbol.
M67025E
4146J–AERO–06/03
M67025E
Timing Waveform of Read
Cycle number 1, Either
Side (1) (2)(4)
Timing Waveform of Read
Cycle number 2, Either Side
(1) (3) (4) (5)
O
Timing Waveform of Read
Cycle number 3, Either Side
(1)(3)(4)(5)
1.
2.
3.
4.
5.
R/W is high for read cycles.
Device is continuously enabled, CS=VIL, UB or LB VIL. This waveform cannot be used for semaphore reads.
Addresses valid prior to or coincident with CS transition low.
OE = VIL
To access RAM, CS=VIL, UB or LB = VIL, SEM = V IH. To access semaphore, CS = VIH, SEM = VIL. Refer to Table 1.
14
4146J–AERO–06/03
AC Write Characteristics
Table 8. AC Electrical Characteristics
Over the Full Operating Temperature and Supply Voltage Range
M
67025-30
Write Cycle
1.
2.
3.
4.
5.
6.
15
Symbol (1)
Symbol (2)
TAVAVW
tWC
TELWH
Parameter
M
67025-45
Unit
Min.
Max.
Min.
Max.
Write cycle time
30
–
45
–
ns
tSW
Chip select to end of write (3)
25
–
40
–
ns
TAVWH
tAW
Address valid to end of write
25
–
40
–
ns
TAVWL
tAS
Address Set-up Time
0
–
0
–
ns
TWLWH
tWP
Write Pulse Width
25
–
35
–
ns
TWHAX
tWR
Write Recovery Time
0
–
0
–
ns
TDVWH
tDW
Data Valid to end of write
20
–
25
–
ns
TGHQZ
tHZ
Output high Z time (4)
–
15
–
20
ns
TWHDX
tDH
Data hold time (6)
0
–
0
–
ns
TWLQZ
tWZ
Write enable to output in high Z
–
15
–
20
ns
TWHQX
tOW
Output active from end of write
0
–
0
–
ns
TSWRD
tSWRD
SEM flag write to read time
10
–
10
–
ns
TSPS
tSPS
SEM flag contention window
10
–
10
–
ns
(5)
(4) (5)
(4) (5) (6)
STD symbol.
ALT symbol.
To access RAM CS = VIL, UB or LB = VIL, SEM = VIH. To access semaphore CS = VIH, SEM = VIL. This condition must be valid
for entire tSW time.
Transition is measured ± 500 mV from low or high impedance voltage with load (Figure 2 and Figure 3).
The parameters is guaranteed but not tested.
The specification fot tDH must be met by the device supplying write data to the RAM under all operating conditions. Although tDH
and tOW values will vary over voltage and temperature, the actual tDH will always be smaller than the actual tOW.
M67025E
4146J–AERO–06/03
M67025E
Timing Waveform of Write
Cycle number 1, R/W
Controlled Timing (1) (2) (3) (7)
Timing Waveform of Write
Cycle number 2, CS
Controlled Timing (1) (2) (3) (5)
Notes:
1.
2.
3.
4.
5.
6.
7.
8.
9.
R/WC or CS must be high during all address transitions.
A write occurs during the overlap (tSW or tWP) of a low CS or SEM and a low R/W.
tWR is measured from the earlier of CS or R/W (or SEM or R/W) going high to the end of write cycle.
During this period, the I/O pins are in the output state, and input signals must not be applied.
If the CS or SEM low transition occurs simultaneously with or after the R/W low transition, the outputs remain in the high
impedance state.
Transition is measured ± 500 mV from steady state with a 5 pF load (including scope and jig).This parameter is sampled and
not 100% tested.
If OE is low during a R/W controlled write cycle, the write pulse width must be the larger of tWP or (tWZ + tDW) to allow the I/O
drivers to turn off and data to be placed on the bus for the required tDW. If OE is high during an R/W controlled write cycle,
this requirement does not apply and the write pulse can be as short as the specified tWP.
To access RAM, CS = VIL. SEM = VIH .
To access upper byte CS = V IL, UB = VIL, SEM = V IH.
To access lower byte CS = VIL, LB = V IL, SEM = VIH .
16
4146J–AERO–06/03
AC Busy Characteristics
Table 9. AC Electrical Characteristics
Over the Full Operating Temperature and Supply Voltage Range
M
67025-30
Write Cycle
Parameter
M
67025-45
Min.
Max.
Min.
Max.
Unit
Busy Timing (For Master 67025 only)
tBAA
BUSY Access time
to address
–
30
–
35
ns
tBDA
BUSY Disable time
to address
–
25
–
30
ns
tBAC
BUSY Access time
to Chip Select
–
25
–
30
ns
tBDC
BUSY Disable time
to Chip Select
–
20
–
25
ns
tWDD
Write Pulse to data Delay (1)
–
55
–
70
ns
tDDD
Write data valid to read data delay(1)
–
40
–
55
ns
tAPS
Arbitration priority set-up time (2)
5
–
5
–
ns
tBDD
BUSY disable to valid data
–
(3)
–
(3)
ns
tWB
Write to BUSY input (4)
0
–
0
–
ns
tWH
Write hold after BUSY (5)
20
–
25
–
ns
tWDD
Write pulse to data delay (6)
–
55
–
70
ns
tDDD
Write data valid to read data delay(6)
–
40
–
55
ns
1.
2.
3.
4.
5.
6.
17
Port-to-port delay through RAM cells from writing port to reading port, refer to “Timing Waveform of Read with BUSY (For Master 67025 only)’.
To ensure that the earlier of the two ports wins.
tBDD is a calculated parameter and is the greater of 0, tWDD - tWP (actual) to tDDD - tDW (actual).
To ensure that the write cycle is inhibited during contention.
To ensure that a write cycle is completed after contention.
Port-to-port delay through RAM cells from writing port to reading port, refer to “Timing Waveforms of Read with Port-to-port
delay (For Slave, 67025 only)’.
M67025E
4146J–AERO–06/03
M67025E
Timing Waveform of Read
with BUSY (2) (3) (4) (For Master
67025)
Notes:
1.
2.
3.
4.
To ensure that the earlier of the two port wins.
Write cycle parameters should be adhered to, to ensure proper writing.
Device is continuously enabled for both ports.
OE = L for the reading port.
Notes:
1. Assume BUSY = H for the writing port, and OE = L for the reading port.
2. Write cycle parameters should be adhered to, to ensure proper writing.
3. Device is continuously enabled for both ports.
Timing Waveform of Write
with Port-to-Port (1) (2) (3) (For
Slave 67025 Only)
18
4146J–AERO–06/03
Timing Waveform of Write
with BUSY (For Slave 67025)
Timing Waveform of
Contention Cycle number 1,
CS Arbitration
(For Master 67025 only)
19
M67025E
4146J–AERO–06/03
M67025E
Timing Waveform of
Contention Cycle number 2,
Address Valid Arbitration
(For Master 67025 only) (1)
Left Address Valid First:
Right Address Valid First:
Note:
1. CSL = CSR = V IL
20
4146J–AERO–06/03
AC Interrupt Characteristics
Interrupt
Timing
Symbol
Waveform of Interrupt Timing
Notes:
21
1.
2.
3.
4.
67025-30
Parameter
67025-45
Min.
Max.
Min.
Max.
Unit
tAS
Address set-up time
0
–
0
–
ns
tWR
Write recovery time
0
–
0
–
ns
tINS
Interrupt set time
–
25
–
35
ns
tINR
Interrupt reset time
–
25
–
35
ns
(1)
All timing is the same for left and right ports. Port “A’ may be either the left or right port. Port “B’ is the port opposite from “A’.
See interrupt truth table.
Timing depends on which enable signal is asserted last.
Timing depends on which enable signal is de-asserted first.
M67025E
4146J–AERO–06/03
M67025E
32-bit Master/Slave Dual-port
Memory Systems
Note:
1. No arbitration in M67025E (SLAVE). BUSY-IN inhibits write in M67025E SLAVE.
Timing Waveform of
Semaphore Read after Write
Timing, Either Side(1)
Note:
1. CS = VIH for the duration of the above timing (both write and read cycle).
22
4146J–AERO–06/03
Timing Waveform of
Semaphore Contention
Notes:
23
1.
2.
3.
4.
(1) (3) (4)
DOR = D OL VIL, CSR = CSL = V IH, semaphore Flag is released from both sides (reads as ones from both sides) at cycle start.
Either side “A’ = left and side “B’ = right, or side “A’ = right and side “B’ = left.
This parameter is measured from the point where R/WA or SEMA goes high until R/WB or SEMB goes high.
IF tSPS is violated, the semaphore will fall positively to one side or the other, but there is no guarantee which side will obtain
the flag.
M67025E
4146J–AERO–06/03
M67025E
Ordering Information
Temperature
Range
Speed
Package
Quality Flow
25°C
30 ns
MQFPF84
Engineering Samples
MMK2-67025EV-30
-55 to +125°C
30 ns
MQFPF84
Standard Mil.
MMK2-67025EV-45
-55 to +125°C
45 ns
MQFPF84
Standard Mil.
SMK2-67025EV-30SB
-55 to +125°C
30 ns
MQFPF84
SCC B
SMK2-67025EV-45SB
-55 to +125°C
45 ns
MQFPF84
SCC B
5962-9161709QZC
-55 to +125°C
30 ns
MQFPF84
QML Q
5962-9161706QZC
-55 to +125°C
45 ns
MQFPF84
QML Q
5962-9161709VZC
-55 to +125°C
30 ns
MQFPF84
QML V
5962-9161706VZC
-55 to +125°C
45 ns
MQFPF84
QML V
25°C
30 ns
Die
Engineering Samples
5962-9161709Q9A(1)
-55 to +125°C
30 ns
Die
QML Q
5962-9161709V9A(1)
-55 to +125°C
30 ns
Die
QML V
Part Number
MMK2-67025EV-30-E(1)
MM0-67025EV-30-E(1)
Note:
1. Contact Atmel for availability.
24
4146J–AERO–06/03
Package Drawings
84 lead MQFPF (1.15 inch square)
25
M67025E
4146J–AERO–06/03
M67025E
26
4146J–AERO–06/03
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Regional Headquarters
Europe
Atmel Sarl
Route des Arsenaux 41
Case Postale 80
CH-1705 Fribourg
Switzerland
Tel: (41) 26-426-5555
Fax: (41) 26-426-5500
Asia
Room 1219
Chinachem Golden Plaza
77 Mody Road Tsimshatsui
East Kowloon
Hong Kong
Tel: (852) 2721-9778
Fax: (852) 2722-1369
Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Atmel Operations
Memory
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
RF/Automotive
Theresienstrasse 2
Postfach 3535
74025 Heilbronn, Germany
Tel: (49) 71-31-67-0
Fax: (49) 71-31-67-2340
Microcontrollers
2325 Orchard Parkway
San Jose, CA 95131
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
La Chantrerie
BP 70602
44306 Nantes Cedex 3, France
Tel: (33) 2-40-18-18-18
Fax: (33) 2-40-18-19-60
ASIC/ASSP/Smart Cards
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Biometrics/Imaging/Hi-Rel MPU/
High Speed Converters/RF Datacom
Avenue de Rochepleine
BP 123
38521 Saint-Egreve Cedex, France
Tel: (33) 4-76-58-30-00
Fax: (33) 4-76-58-34-80
Zone Industrielle
13106 Rousset Cedex, France
Tel: (33) 4-42-53-60-00
Fax: (33) 4-42-53-60-01
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Scottish Enterprise Technology Park
Maxwell Building
East Kilbride G75 0QR, Scotland
Tel: (44) 1355-803-000
Fax: (44) 1355-242-743
e-mail
literature@atmel.com
Web Site
http://www.atmel.com
Disclaimer: Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard
warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any
errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and
does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are
granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use
as critical components in life support devices or systems.
© Atmel Corporation 2003. All rights reserved. Atmel ® and combinations thereof are the registered
trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be the trademarks of others.
Printed on recycled paper.
4146J–AERO–06/03
/xM