ATMEL MM0-67025EV-30-E

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
No Single Event Latch-up below a LET Threshold of 80 MeV/mg/cm2
Tested up to a Total Dose of 30 krads (Si) according to MIL STD 883 Method 1019
Quality grades: QML Q and V with SMD 5962-91617 and ESCC with 9301/050
Introduction
Rad. Tolerant
High Speed
8 Kb x 16
Dual Port RAM
M67025E
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.
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 ESCC 9000.
4146N–AERO–04/07
Block Diagram
Notes:
2
1. (MASTER): BUSY is output. (SLAVE): BUSY is input.
2. LB = Lower Byte
UB = Upper Byte
M67025E
4146N–AERO–04/07
M67025E
Pin Configuration
Pin Description
Left Port
Right Port
Names
CSL
CSR
Chip select
R/WL
R/WR
Read/Write Enable
OEL
OER
Output Enable
A0L – 12L
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
M/S
Master or Slave Select
Vcc
Power
GND
Ground
3
4146N–AERO–04/07
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 user-defined. 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
M67025E
4146N–AERO–04/07
M67025E
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 non-semaphore 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.
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 nor-
5
4146N–AERO–04/07
mally 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, 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.
6
M67025E
4146N–AERO–04/07
M67025E
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 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.
7
4146N–AERO–04/07
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
L
H
H
DATAIN
Hi-Z
Write to Upper Byte Only
L
L
X
H
L
H
Hi-Z
DATAIN
Write to Lower Byte Only
L
L
X
L
L
H
DATAIN
DATAIN
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
DATAIN
Write DIN0 into Sema. Flag
X
X
H
H
L
DATAIN
DATAIN
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 ≠ AOR 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:
8
Signal
–
1. Inputs Signals are for Semaphore Flags set and test (Write and Read) operations.
M67025E
4146N–AERO–04/07
M67025E
Table 3. Interrupt Flag(1) (4)
Left Port
R/WL
CSL
OEL
Right Port
AOL-A12L
INTL
R/WR
CSR
OER
AOR-A12R
INTR
Function
L
L
X
1FFF
X
X
X
X
X
X
X
X
X
X
X
L
L
1FFF
H(3)
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.
L
(2)
Set Right INTR Flag
Reset Right INTR Flag
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
≠ A0L – 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
= A0L – 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:
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.
9
4146N–AERO–04/07
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
M67025E
4146N–AERO–04/07
M67025E
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
67025-30
67025-45
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
ICCSB
Notes:
(1)
1.
2.
3.
4.
Description
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 = VIH
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
1.
2.
3.
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.
11
4146N–AERO–04/07
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
VDR
Data Retention
Voltage
TCDR
TR
12
Maximum
Unit
2.0
–
V
Chip deselect to
data retention time
0
–
ns
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.
Minimum
M67025E
4146N–AERO–04/07
M67025E
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:
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.
13
4146N–AERO–04/07
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.
R/W is high for read cycles.
2.
3.
4.
5.
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 = VIH. To access semaphore, CS = VIH, SEM = VIL. Refer to Table 1.
14
M67025E
4146N–AERO–04/07
M67025E
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.
Symbol (1)
Symbol (2)
TAVAVW
tWC
TELWH
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 (4) (5)
–
15
–
20
ns
TWHQX
tOW
Output active from end of write (4) (5) (6)
0
–
0
–
ns
TSWRD
tSWRD
SEM flag write to read time
10
–
10
–
ns
TSPS
tSPS
SEM flag contention window
10
–
10
–
ns
Parameter
(5)
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.
15
4146N–AERO–04/07
Timing Waveform of Write Cycle number 1, R/W Controlled Timing(1) (3) (5) (8)
tWC
tHZ
tAW
tAS (6)
tWR (7)
tWP (2)
tOW
tWZ
tDH
tDW
Timing Waveform of Write Cycle number 2, CS Controlled Timing (1) (3) (5) (8)
tWC
tAW
tAS (6)
tWR (7)
tSW (2)
tDW
Notes:
16
tDH
1.
2.
3.
4.
5.
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.
6. Timing depends on which enable signal is asserted last.
7. Timing depends on which enable signla is de-assertted first.
8. 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.
M67025E
4146N–AERO–04/07
M67025E
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 from
address matched
–
30
–
35
ns
tBDA
BUSY Disable time from
address not matched
–
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
–
55
–
70
ns
–
40
–
55
ns
(6)
tWDD
Write pulse to data delay
tDDD
Write data valid to read data delay(6)
1.
2.
3.
4.
5.
6.
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)’.
17
4146N–AERO–04/07
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.
Timing Waveform of Write with Port-to-Port (1) (2) (3) (For Slave 67025 Only)
Notes:
18
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.
M67025E
4146N–AERO–04/07
M67025E
Timing Waveform of Write with BUSY (For Slave 67025)
Timing Waveform of Contention Cycle number 1, CS Arbitration (For Master 67025 only)
Timing Waveform of Contention Cycle number 2, Address Valid Arbitration (For Master 67025 only)(1)
Left Address Valid First:
19
4146N–AERO–04/07
Right Address Valid First:
Note:
20
1. CSL = CSR = VIL
M67025E
4146N–AERO–04/07
M67025E
AC Interrupt Characteristics
Interrupt
Timing
Symbol
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
Waveform of Interrupt Timing (1)
Notes:
1.
2.
3.
4.
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.
21
4146N–AERO–04/07
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:
22
1. CS = VIH for the duration of the above timing (both write and read cycle).
M67025E
4146N–AERO–04/07
M67025E
Timing Waveform of Semaphore Contention (1) (3) (4)
Notes:
1.
2.
3.
4.
DOR = DOL VIL, CSR = CSL = VIH, 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.
23
4146N–AERO–04/07
Ordering
Information
Temperature
Range
Speed
Package
Quality Flow
25°C
30 ns
MQFPF84
Engineering Samples
930105001
-55 to +125°C
30 ns
MQFPF84
ESCC
930105002
-55 to +125°C
45 ns
MQFPF84
ESCC
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
-55 to +125°C
45 ns
MQFPF84
QML V
25°C
30 ns
Die
Engineering Samples
-55 to +125°C
30 ns
Die
QML V
Part Number
MMK2-67025EV-30-E
5962-9161706VZC
MM0-67025EV-30-E
(1)
5962-9161709V9A(1)
Note:
24
1. Contact Atmel for availability.
M67025E
4146N–AERO–04/07
M67025E
Package Drawings
84 lead MQFPF (1.15 inch square)
25
4146N–AERO–04/07
Document Revision History
Rev. M -12/06
1. Correction to timing diagrams, page 16.
2. Add Write to upper byte only, in Table 1.
Rev. N-04/07
26
1. Update ordering information
M67025E
4146N–AERO–04/07
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131, USA
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, USA
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, USA
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, USA
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, USA
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
Literature Requests
www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY
WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT
OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no
representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications
and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically providedotherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’sAtmel’s products are not intended, authorized, or warranted for use as
components in applications intended to support or sustain life.
©2007 Atmel Corporation. All rights reserved. Atmel ®, logo and combinations thereof, and Everywhere You Are ® are the trademarks or registered trademarks, of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.
Printed on recycled paper.
4146N–AERO–04/07