ETC NSBMC096

NSBMC096-16/-25/-33 Burst Memory Controller
General Description
The NSBMC096 Burst Memory Controller is an integrated
circuit which implements all aspects of DRAM control for
high performance systems using an i960É CA/CF
SuperScalar Embedded Processor. The NSBMC096 is functionally equivalent to the V96BMC TM .
The extremely high instruction rate achieved by these processors place extraordinary demands on memory system design if maximum throughput is to be sustained and costs
minimized.
Static RAM offers a simple solution for high speed memory
systems. However, high cost and low density make this an
expensive and space consumptive choice.
Dynamic RAMs are an attractive alternative with higher density and low cost. Their drawbacks are, slower access time
and more complex control circuitry required to operate
them.
The access time problem is solved if DRAMs are used in
page mode. In this mode, access times rival that of static
RAM. The control circuit problem is resolved by the
NSBMC096.
The function that the NSBMC096 performs is to optimally
translate the burst access protocol of the i960 CA/CF to the
page mode access protocol supported by dynamic RAMs.
The device manages one or two-way interleaved arrangements of DRAMs such that during burst access, data can be
read, or written, at the rate of one word per system clock
cycle.
The NSBMC096 has been designed to allow maximum flexibility in its application. The full range of processor speeds is
supported for a wide range of DRAM speeds, sizes and organizations.
No glue logic is required because the bus interface is customized to the i960 CA/CF. System integration is further
enhanced by providing a 24-bit heartbeat timer and a bus
watch timer on-chip.
The NSBMC096 is packaged as a 132-pin PQFP with a footprint of only 1.3 square inches. It reduces design complexity, space requirements and is fully derated for loading, temperature and voltage.
Features
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Interfaces directly to the i960 CA
Integrated Page Cache Management
Manages Page Mode Dynamic Memory devices
On-chip Memory Address Multiplexer/Drivers
Supports DRAMs trom 256 kB to 64 MB
Bit counter/timer
Non-interleaved or two way interleaved operation
5-Bit Bus Watch Timer
Software-configured operational parameters
High-Speed/Low Power CMOS technology
Block Diagram
TL/V/11805 – 1
This document contains information concerning a product that has been developed by National Semiconductor Corporation/V3 Corporation. This information
is intended to help in evaluating this product. National Semiconductor Corporation/V3 Corporation reserves the right to change and improve the specifications
of this product without notice.
TRI-STATEÉ is a registered trademark of National Semiconductor Corporation.
NSBMC096TM and WATCHDOGTM are trademarks of National Semiconductor Corporation.
i960É is a registered trademark of Intel Corporation.
V96BMCTM is a trademark of V3 Corporation.
C1995 National Semiconductor Corporation
TL/V/11805
RRD-B30M115/Printed in U. S. A.
NSBMC096-16/-25/-33 Burst Memory Controller
August 1993
Logic and Connection Diagrams
TL/V/11805 – 2
TL/V/11805 – 3
Order Number NSBMC096VF
See Package Number VF132A
2
Pin Descriptions
TABLE I
Pin Ý
Signal Name
Pin Ý
Signal Name
Pin Ý
Signal Name
1
2
3
4
5
6
A14
A15
A16
VCC
A17
A19
44
45
46
47
48
53
LEB
TXA
TXB
VCC
VSS
AA0
91
92
93
94
95
96
VCC
VSS
AB4
AB5
AB6
AB7
7
8
9
10
11
12
A20
A18
A21
A24
A22
A23
54
55
56
57
58
59
AA1
AA2
AA3
VCC
VSS
AA4
97
98
99
100
101
102
VCC
VSS
AB8
AB9
AB10
AB11
13
14
15
19
20
21
A26
A25
A27
A31
A28
A29
60
61
62
63
64
65
AA5
AA6
AA7
VCC
VSS
AA8
103
104
105
106
107
108
VCC
VSS
CASB0
CASB1
CASB2
CASB3
22
23
24
25
26
27
A30
D/C
SUP
PCLK
INT
BERR
66
67
68
69
70
71
AA9
AA10
AA11
VCC
VSS
CASA0
109
110
111
112
113
114
VCC
VSS
RASB0
RASB1
RASB2
RASB3
28
29
30
31
32
33
W/R
BE0
DEN
BLAST
BE1
VSS
72
73
74
75
76
77
CASA1
CASA2
CASA3
VCC
VSS
RASA0
115
118
119
120
121
122
VCC
MWEB
VSS
RESET
A2
A3
34
35
36
37
38
39
ADS
BE2
BE3
BTERM
READY
ID0
78
79
80
81
82
86
RASA1
RASA2
RASA3
VCC
MWEA
VSS
123
124
125
126
127
128
A4
A5
A6
A7
A8
A9
40
41
42
43
ID1
ID2
REFRESH
LEA
87
88
89
90
AB0
AB1
AB2
AB3
129
130
131
132
A10
A11
A12
A13
Note: In order for the switching characteristics of this device to be guaranteed, it is necessary to connect all of the power pins (VCC, VSS) to the appropriate power
levels. The use of low impedance wiring to the power pins is required. In systems using the i960 CA with its attendant high switching rates, multi-layer printed circuit
boards with buried power and ground planes are required.
3
Pin Descriptions (Continued)
be wired together. All 3-State outputs are to be weakly
pulled up to VCC. In typical situations, a 10 kX resistor is
sufficient.
i960 CA/CF INTERFACE
The following pins are functionally equivalent to those on
the i960 CA/CF from which their names are taken. Like
named pins on the i960 CA/CF and the NSBMC960 are to
Pin
Description
A2 – 31
Address Bus (Input): This system bus is a word address which determines the location at which an access is
required.
ADS
Address Strobe (Input; Active Low): Indicates that a new access cycle is being started.
D/*C
Data/*Code (Input): Signals whether an access is for data or instructions.
BLAST
Burst Last (Input; Active Low): Indicates that the last cycle of a burst is in progress.
DEN
Data Enable (Input; Active Low): This input is monitored by the Bus Watch Timer to detect a bus access not
returning READY.
BTERM
Burst Terminate (Output; 3-State; Active Low): This output is used to request termination of a burst in progress.
Used to disable burst writes.
READY
Data Ready (Output; 3-State; Active Low): The READY output is used to signal that data on the processor bus is
valid for Read, or that data has been accepted for Write.
RESET
Reset (Input; Active Low): Assertion of this input sets the NSBMC960 to its initial state. Following initialization, the
NSBMC960 must be configured before any memory access is possible.
BE0 – 3
Byte Enable (Input; Active Low): These inputs are used to determine which byte(s) within the addressed word are to
be accessed.
W/*R
WRITE/*READ (Input): This input indicates the direction which data is to be transferred to/from on the data bus.
SUP
Supervisor (Input; Active Low): Indicates that the processor is operating in supervisor mode. Required for access to
configuration registers.
PCLK
System Clock (Input): Processor output clock required to operate and synchronize NSBMC960 internal functions.
BERR
Bus Error (Output; Active Low): When enabled, this signal is generated by the Bus Watch Circuit to prevent
processor lock-up on access to a region that is not responding.
INT
Interrupt (Output; 12 mA; Active Low): This signal is assented when the 24-bit counter reaches terminal count and
interrupt out is enabled. May be programmed for pulse or handshake operation.
ID0 – 2
Chip ID (Input): These inputs select the address offset of the NSBMC960 configuration registers. Each NSBMC960 in
a system must have a unique address for proper operation.
4
Pin Descriptions (Continued)
drivers in order to minimize propagation delay due to input
impedance and trace capacitance. External array drivers
are not required. The address and control signals, however,
should be externally terminated.
MEMORY INTERFACE
The NSBMC960 is designed to drive a memory array organized as 2 leaves each of 32 bits. The address and control
signals for the memory array are output through high current
Pin
Description
A(A,B)0 – 11
Multiplexed Address Bus (Output; 24 mA): These two buses transfer the multiplexed row and column
addresses to the memory array leaves A and B. When non-interleaved operation is selected, only address bus A
should be used.
RAS(A,B)0–3
Row Address Strobes (Output; 12 mA Active Low): These strobes indicate the presence of a valid row
address on busses A(A,B)0–11. These signals are to be connected one to each leaf of memory. Four banks of
interleaved memory may be attached to a NSBMC960.
CAS(A,B)0–3
Column Address Strobe (Output; 12 mA, Active Low): These strobes latch a column address from A(A,B)0 –
11. They are assigned one to each byte in a leaf.
MWE(A,B)
Memory Write Enable (Output; 24 mA, Active Low): These are the DRAM write strobes. One is supplied for
each leaf to minimize signal loading.
REFRESH
Refresh in progress (Output; 12 mA, Active Low): This output gives notice that a refresh cycle is to be
executed. The timing leads refresh RAS by one cycle.
Multiple operating modes facilitate choice of buffer type,
and simple bus buffers (‘‘245’’s), bus latches (‘‘543’’s) and
bus registers (‘‘646’’s) are all supported.
BUFFER CONTROLS
Buffer control signals are provided to simplify the control of
the interface between the DRAM and i960 data busses.
Pin
Description
TX(A,B)
Data Bus Transmit A and B (Output; Active Low): These outputs are multi-function signals. The signal names,
as they appear on the logic symbol, are the default signal names (Mode e 0). The purpose of these outputs is to
control buffer output enables during data read transactions and, in effect, control the multiplexing of data from
each memory leaf onto the i960 CA/CF data bus.
LE(A,B)
Data Bus Latch Enable A and B (Output; Active Low): These outputs are mode independent, however, the
timing of the signals change for different operational modes. They control transparent latches that hold data
transmiffed during a write transaction. In modes 0 and 1, the latch controls follow the timing of CAS for each
leaf, while in modes 2 and 3 the timing of LEA and LEB is shortened to (/2 clock.
5
Functional Description
allowed. If interleaved mode is selected, burst access is
zero-wait-state; if memory is non-interleaved, 1-wait-state
burst access results.
The NSBMC960 allows for flexibility in the control of data
buffers to the memory array. Propagation delay is minimized
by providing these controls directly, and design flexibility
maximized by allowing the control strategy to be programmable. Buffers as diverse as 74FCT245, 74FCT543,
74FCT646, 74FCT853 and 74FCT861 may be used without
additional glue logic.
PRODUCT OVERVIEW
The NSBMC960 couples the i960 CA/CF interface to
DRAM access protocols, generates bus buffer and data
multiplexor controls and incorporates system and bus monitor timing resources. These functional elements are shown
in Figure 1 . A maximum of 8 controllers may be included in a
system, each managing up to 4 banks of memory.
The NSBMC960 directly drives an array of fast page mode
DRAMs. This array may be organized as 1 or 2 leaves of
32 bits each. Standard memory sizes from 256 kbit to
64 Mbit are supported and 8-, 16-, and 32-bit access are
TL/V/11805 – 4
FIGURE 1. Functional Block Diagram
ed by the contents of the byte data field. Bits [1,0] are reserved and must be ‘‘0’’. The base address is fixed at
0xff0f0000 while the BMC select field must match the value
programmed at the ID[2..0] pins. In order to protect against
accidental programming, the configuration registers can
only be modified when the processor is in supervisor mode.
CONFIGURATION AND CONTROL
The NSBMC960 contains 64 bits of configuration data that
controls it’s operational mode. The configuration is programmed by sending data on the address bus. Figure 2
shows the format of a configuration access. The byte select
field determines which byte of the 64-bit field will be updat-
TL/V/11805 – 5
FIGURE 2. Address Bus Fields Used to Access Configuration Data
6
Functional Description (Continued)
control bits. The block address, however, is constrained to
start on a boundary that is an integer multiple of the block
size. For example, if 1 Mbit c 1 DRAMs are used, the memory block size is 8 Mbytes and must start on an 8 Mbyte
boundary.
BLOCK ADDRESS FIELD
Once configured, a NSBMC096 responds to access requests within the programmed block address range. The
programmed value sets the starting address of the block,
while the size of the block is determined by the DRAM size
TL/V/11805 – 6
FIGURE 3. Configuration Register Control Fields
violations during burst writes. If burst writes are disabled,
latching buffers are no longer required.
ROW ADDRESS HOLD
Bit 18 of the configuration register controls the time at which
the memory address switches from row to column address.
This allows the designer to control the address hold time
relative to RAS so that the slowest memory can be used for
a range of clock speeds. Setting Bit 18 yields the maximum
row address hold time, clearing it shortens the row address
hold in favor of additional column address setup.
INTERLEAVE DISABLE
In cost sensitive applications, it is sometimes desirable for a
system to operate with a single bank of memory so as to
reduce the minimum memory required. In this case the interleave mode bit is programmed to ‘‘1’’. If a second bank of
memory is added, this bit can be programmed to ‘‘0’’ to
enable interleave operation and peak performance. In noninterleave mode a burst access is either 2-1-1-1 with Cycle
Extend disabled, or 3-2-2-2 with Extended Cycle. Non-interleave operation uses only leaf A signals.
CYCLE EXTEND
In order to maximize the choice of memory device speeds
that may be used for various system clock rates, the Row
Address Strobe (RAS) period for a basic access may be
programmed for either 3 or 4 clock cycles. When cleared to
‘‘0’’, configuration bit 20 indicates that 3 clock cycles (2 wait
states) are to be used (2-0-0-0 burst access), when set to
‘‘1’’, 4 are required (3 wait states for a basic access 3-0-1-0
for burst). Setting bit 20 to ‘‘1’’ also has the effect of increasing the RAS pre-charge time by 1 clock cycle. Calculation of the number of cycles required per access type is
detailed in the NSBMC096 Application Guide.
BURST WRITE DISABLE
It bit 19 of the configuration word is set to ‘‘1’’, burst write
cycles are disabled. Subsequently, when the NSBMC096
detects the start of a burst write access, it asserts the
BTERM signal to request that the processor terminate the
burst in progress and transfer the remaining data using a
series of simple cycles. This feature is included in order to
facilitate the implementation of systems without latching
buffers. Latching buffers are required to prevent data hold
7
Functional Description (Continued)
TABLE IV. Size Code Settings, DRAM
Density and Address Range Size
BUFFER CONTROL MODE FIELD
The transfer of Data from the memory sub-system to the
i960 bus occurs through buffers controlled by the
NSBMC096. Two of the signals (LEA, LEB) provide transparent latch controls for use during write cycles. LEA and
LEB have variable timing but fixed interpretation. The other
two signals, TXA and TXB, change in both timing and function according to programmed mode. Table II presents
these signals using names that are based on the function
performed.
Signals containing TX are transmit controls for buffers that
have output enables (transmit from the memory system).
Buffers such as ’245s or ’646s, which have direction and
enable pins, are controlled by CE (chip enable) in modes 1
and 3. Signals ending with A or B are specific to one or the
other of the two leaves of memory controlled by the
NSBMC096. Signals without suffixes apply to both leaves.
The signal LeafB/*A, required in some configurations, indicates which memory leaf will be selected on the next clock
cycle.
TABLE II. Interpretation of the Buffer Control
Signals for Various Control Modes
Mode
Signal 1
Signal 2
0
1
2
3
TXA
CEA
TX
CE
TXB
CEB
LeafB/*A
LeafB/*A
DRAM
Type
Write
Access
Read
Access
Buffer
Mode
74FCT245
74FCT245
74FCT646
74FCT543
Am29C983
None
Nibble
Bit
Nibble
Bit
Bit
Nibble
2-4-4-4*
2-4-4-4*
1-0-0-0
1-0-0-0
1-0-0-0
2-4-4-4*
2-0-0-0
2-0-0-0
2-0-0-0
2-0-0-0
2-0-0-0
2-0-0-0
Mode 3
Mode 1
Mode 3
Mode 0
Mode 2
Mode 2, 3
Memory
Block Size
Max
Banks
Memory
Types
000
001
010
011
2 MB
8 MB
32 MB
128 MB
1
1
1
1
256k x 1
1 MB x 1
4 MB x 1
16 MB x 1
100
101
110
111
2 MB
8 MB
32 MB
128 MB
4*
4*
4*
4*
64k x 4
256k x 4
1 MB x 4
4 MB x 4
*Note that banks are sequentially addressed within a block.
REFRESH RATE FIELD
The system clock frequency is used to derive the period of
DRAM refresh cycles. The refresh rate is calculated as
(PCLK clock frequency) / (16 x (programmed value a 1)).
If, for example, the system clock is 25 MHz and the programmed value is 24 (0x18), the NSBMC096 will execute
the 256 refresh cycles for a 256k DRAM in 4.096 ms.
The algorithm employed by the NSBMC096 guarantees the
time for complete device refresh, however, individual row
refresh may be delayed so as not to pre-empt bursts in
progress. Since the maximum burst is 6 clock cycles in
length, this delay in no way endangers data integrity. Access to devices other than NSBMC096 controlled memory
are not delayed by refresh, access to memory while refresh
is in progress are completed once the refresh cycle is complete.
TIMER CONTROL FIELD
The 24-bit timer is a counter which scales PCLK by a programmable amount and automatically reloads when terminal count is reached. The contents of the timer cannot be
read directly, however, the counter will generate an interrupt
when terminal count is reached. The timer is disabled following a RESET and the Timer Reload value (Configuration
Bytes 4 – 6) must be programmed before the timer is enabled.
The terminal count interrupt can be generated to comply
with either edge triggered or level sense interrupt controllers. Edge triggered mode generates a pulse that is low for
two cycles when terminal count is reached. In Level sense
mode, the output is asserted low when terminal count is
reached and the output remains low until the Acknowledge
Timer Interrupt op-code is written to configuration byte 0.
See the section on Operation Control for further detail concerning timer interrupt control.
BUS WATCH TIMER CONTROL FIELD
The NSBMC096 contains circuitry that monitors all bus access requests regardless of the target address. Access
made to a region configured for external ready can hang the
processor if for some reason READY is not returned to terminate the access. The NSBMC096 can detect such a condition and if the bus watch feature is enabled, will return
READY and BERR.
Table III presents some of the possible configurations with
the corresponding mode settings. For a comprehensive discussion of the selection of a buffer strategy, refer to the
NSBMC096 Application Guide.
TABLE III. Possible NSBMC096
Memory/Buffer Configurations
Buffer
Type
Memory
Size Code
*These configurations have burst writes disabled.
DRAM SIZE FIELD
This three bit field, bits 12–14, selects the DRAM device
address size, and consequently, memory block size. Note
that the memory in both leaves of a bank are required to be
of the same size and organization for correct operation. Table IV lists the size codes and the corresponding device
sizes.
8
Functional Description (Continued)
must be zero for proper in-circuit operation. The second
field is the operation control field which is used to control
the state of the page cache, timer, interrupts and bus error
signal. The third field is the Iow two bits of the refresh rate.
The NSBMC096 has been designed such that if any of the
bits in the operation control field is written with a ‘‘1’’, access to the other two fields is disabled and the previous
value is retained. If all bits in the operation control field are
‘‘0’’, the reserved and refresh rate fields are updated from
the current input.
Since the control register is accessed as a byte, automatic
masking of the non-control field bits simplifies programming
of the control parameters. AII parameters in this field may
be modified on-the-fly, and all functions are disabled by reset. The operational controls have been encoded such that
any access to the register will only modify one parameter.
The bus monitor operates by monitoring the state of the
DEN signal. Should it be asserted for longer than the programmed Bus Time Out value in configuration register 7,
Ready is asserted if configuration bit 63 is set. If configuration bit 62 is set, BERR is also asserted. The BERR signal
behaves much like the timer interrupt in that it can be programmed to produce a pulse or a level state.
If level state operation is selected, (configuration bit 61 e
1), BERR will only be deasserted when configuration register 7 is accessed in a read cycle. If configuration bit 61 is
cleared to zero, a two cycle pulse is produced on time-out.
By providing both modes of operation, the BERR signal may
be connected directly to the processor, or to an external
WATCHDOGTM circuit.
OPERATION CONTROL FIELD
Byte 0 of the configuration register contains three fields.
The first field (from LSB) is reserved for test purposes and
Bit
7
6
5
4
3
2
1
0
D
X
D
X
0
0
0
1
0
0
0
0
D
X
D
X
X
X
X
X
X
X
X
X
X
X
0
0
0
1
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1
1
1
1
0
1
0
0
X
X
X
X
Control
Function
Update Bits 0, 1, 6 and 7 with data D
Instruction Access Page Cache Disable
(Default)
Instruction Access Page Cache Enable
Data Access Page Cache Disable (Default)
Data Access Page Cache Enable
Acknowledge Timer Interrupt
Enable Timer Output for Level Sense
Interrupt
Disable All Timer Interrupts
Enable Timer Output for Edge Sense
Interrupt
on the behavior of the program being executed as related to
the ‘‘run-length’’ of data and instruction access, the processor internal cache utilization, and the locality of data and
instruction references. Since throughput is lowered by
cache misses, the page cache can be dynamically enabled/
disabled for instruction and/or data access. In this manner
the programmer can apply the mechanism judiciously in order to maximize throughput.
For systems in which Instruction and data spaces are controlled by independent NSBMC096s, the page cache management can be used to greater effect as data and instruction ‘‘run length’’ ceases to be a factor in determining performance. In this type of configuration cache efficiency is
simply a function of locality of reference and a control strategy for the page cache mechanism is much simpler to derive and implement. PCache management is independently
controlled for instruction and data access. A recommended
starting strategy for improving performance of mixed instruction/data systems is to rely on the burst mechanism
and the internal cache for instruction fetching, and enable
PCache for Data access only. This general rule of thumb
can be improved on, once program behavior is benchmarked.
PAGE CACHE MANAGEMENT
The Page Cache management implemented by the
NSBMC096 incorporates a mechanism whereby advantage
can be taken of the page access mode of DRAMs, not only
for burst access, but also for non-sequential data and instruction access. The mechanism relies on the fact that as
long as RAS is asserted, access to the selected row can be
gained by simply asserting a column address and the CAS
strobe. The resulting access is slower than a burst only by
the amount of time required to ensure that the desired address is in the same row as was previously selected.
The benefits of this type of access are obvious, however,
there can be drawbacks. If the required address does not
reside in the same page as that selected, the currently selected row must be released and the new row selected before the access can proceed. The process of de-selecting a
row and selecting a new one requires that the RAS precharge time be allowed to expire before the selection of a
new row can begin. This pre-charge time can require up to
two additional cycles over a standard access startup.
The efficiency of this type of cache (PCache) is related to a
large extent on the locality of reference of the datum being
accessed. For systems that have mixed Instruction and
Data memory systems, PCache efficiency is very dependent
9
Application Example
Cycle Extend:
System Clock:
25 MHz
Refresh Rate:
16 ms per row (0 c 18)
Memory Size:
1 MB x 1 (Size e 1)
Signal 1 e CEA, Signal 2 e CEB
(Mode 1)
Interleave:
Enabled
Row Address Hold: (/2 clock cycle
(Row Address Hold e 0)
Buffer Mode:
Burst Write:
Base Address:
Disabled (3 clock RAS derived from
tRSHL of NSBMC096, RAS access time
of DRAM, buffer delay of 74FCT245
and setup time of the processor’s data
inputs)
Disabled
8 MB (0b000000000100)
Required Configuration for startup
0000 0000 1000 1000 1001 0110 0000 0000 (0x00889600)
Configuration Setup
0xFF0F0000 (0xFF0F0000, 0);
/* Config. bits 7..0 e 0 */
0xFF0F0658 (0xFF0F0400 a (0x96 m 2), 0);
/* Config. bits 15..8 e 0 */
0xFF0F0A20 (0xFF0F0800 a (0x88 m 2), 0);
/* Config. bits 23..16 e 0 */
0xFF0F0C00 (0xFF0F0C00, 0);
/* Config. bits 31..24 e 0 */
ate inputs of the processor and require only a small pull up
resistor to keep them de-asserted when in the high impedance state.
If multiple processor peripherals are connected to READY
or BTERM, 3-state drivers should be used in such a manner
that the signals are actively de-asserted prior to the driver
being placed in its’ high impedance state. If this rule is followed, a simple ‘‘wire or’’ can be used. Alternately, all
sources of READY or BTERM can be combined using multiple input gates and the processor signals driven by the outputs.
The ease with which the NSBMC096 may be integrated into
a system design is illustrated in the diagram in Figure 4 . The
system shown supports an i960 CA/CF with between 2 and
128 MB of memory, depending on the devices selected,
managed by a single NSBMC096. This specific example accommodates 1 MB x 1, 4 MB x 1 or 16 MB x 1 devices.
Connection of the NSBMC096 to the i960 CA/CF processor
is accomplished simply by wiring together pins with the
same names. The only exceptions are READY and BTERM.
If the NSBMC096 is the only device that generates these
two signals, they can be connected directly to the appropri-
TL/V/11805 – 7
FIGURE 4. Possible System Interconnection using V96BMC
(Mode 1 where TXA is used as CEA and TXB as CEB)
10
Timing Parameters
depending on whether Cycle Extend is enabled. If multiple
access cycles are requested back to back then the BMC will
pause for a minimum of 2 clocks between RAS cycles to
insure that the RAS pre-charge time is met. This will result in
5 or 6 clocks between successive simple cycles.
INTERFACE TIMING
The NSBMC096 interface to the i960 CA/CF has been designed for direct interconnect. It is not necessary to place
other Iogic devices between the processor and the
NSBMC096, nor is their use encouraged. The introduction
of intermediate address or control signal buffers can result
in skews or delays that will require the system clock frequency to be derated for operation under worst case conditions. The timing diagrams presented in this section assume
that all signals between the processor and the NSBMC096
are un-buffered.
Figure 6 shows the timing relationship between the system
clock, processor control signals and NSBMC096 outputs.
AIl NSBMC096 outputs are derived synchronously with the
exception of tARA (processor address to row address delay). Two simple access cycles are shown in the diagram.
The first is a read cycle that assumes that the NSBMC096
was idle prior to the start of the cycle, the second is backed
onto the first to show the effect of RAS pre-charge imposed
by NSBMC096. If Cycle Extend is enabled, a wait state will
be inserted after cycles T3 and T8.
REFRESH TIMING
Figure 5 details the timing of the RAS only refresh performed by the memory controller when there is a competing
request from a bus master. A competing request is defined
as any request that occurs between T0 and T5. For any
request in this range, the timing is exactly as shown. As
illustrated, the diagram represents the timing that results
when Cycle Extend is disabled. If Cycle Extend is enabled,
an additional cycle is inserted at T3 and T8.
BURST ACCESS TIMING
When a burst access is requested by the processor, the
NSBMC096 generates the sequence in Figure 7. If the burst
is for 2 words (load double for example), the processor generates *BLAST in T5 and the sequence is shortened appropriately. The first access of the burst sequence begins in the
same manner as a simple access. Consequently the timing
parameters from Figure 6 may be applied in Figure 7 .
SIMPLE ACCESS TIMING
The NSBMC096 can return data to the processor in only 3
or 4 clock cycles for a basic access (2 or 3 wait states)
TL/V/11805 – 8
FIGURE 5. Refresh Timing
11
Timing Parameters (Continued)
TL/V/11805 – 9
FIGURE 6. Basic Access Timing
TL/V/11805 – 10
FIGURE 7. Burst Access Timing
12
Timing Parameters (Continued)
TL/V/11805 – 11
FIGURE 8. Burst Access w/t PCache Hit
Figures 8 and 9 show the sequence of events that can occur when PCache is enabled. The sequence in Figure 8
shows two back-to-back bursts in the same page. This type
of sequence yields the highest data transfer rate achievable
with DRAM. Figure 9 shows the worst case scenario. This
example shows two back-to-back simple access to different
rows with PCache is enabled.
TL/V/11805 – 12
FIGURE 9. Simple Access w/t PCache Miss
13
Absolute Maximum Ratings
Recommended Operating
Conditions
If Military/Aerospace specified devices are required,
please contact the National Semiconductor Sales
Office/Distributors for availability and specifications.
Supply Voltage (VCC)
Input Voltage (VIN)
D.C. Input Current (IIN)
Storage Temperature ( O STG)
All Voltages References to Ground
Supply Voltage (VCC)
Ambient Temperature Range ( O A)
Plastic Package
Ceramic Package
b 0.3V to a 7V
b 0.3V to VCC a 0.3V
g 50 mA
4.5V to 5.5V
b 0§ C to a 70§ C
b 55§ C to a 85§ C
b 65§ C to a 150§ C
DC Electrical Characteristics
Symbol
Description
Conditions
Min
Max
Units
1.4
V
VIL
Low Level Input Voltage
VCC e 4.75V
VIH
High Level Input Voltage
VCC e 5.25V
IIL
Low Level Input Current
VIN e VSS, VCC e 5.25V
IIH
High Level Input Current
VIN e VCC e 5.25V
10
mA
VOL
Low Level Output Voltage
VIN e VIL or VIH
IOL e 24 mA
0.4
V
VOH
High Level Output Voltage
VIN e VIL or VIH
IOL e 24 mA
3.7
V
IOZL
Low Level TRI-STATEÉ
Output Current
VIN e VIL or VIH
VO e VSS
b 20
mA
IOZH
Low Level TRI-STATE
Output Current
VIN e VIL or VIH
VO e 5.25V
ICC(Max)
Maximum Supply Current
Continuous Burst Access
Continuous Simple Access
CIN
Input Capacitance
20
pF
COUT
Output Capacitance
20
pF
14
3.7
V
b 10
mA
20
mA
100
30
mA
AC Timing Parameters (Unless otherwise stated VCC e 5.0V g 5%, 0§ C k TA k 70§ C.)
Symbol
16 MHz
Description
Min
Max
1.
tADSU
Address Strobe Setup Time
2.
tADH
Address Strobe Hold Time
14
3.
tSU
Synchronous Input Setup
4.
tH
Synchronous Input Hold
5.
tBLSU
BLAST Input Setup
6.
tBLH
BLAST Input Hold
3
7.
tRZH
READY 3-state to Valid Delay Relative to *PCLK
8.
tRHL
9.
tRLH
10.
25 MHz
Min
Max
12
3
14
33 MHz
Min
9
3
12
3
ns
3
9
ns
ns
3
ns
3
3
ns
29
24
19
ns
READY Synchronous Assertion Delay
26
21
17
ns
READY Synchronous De-assertion Delay
25
20
16
ns
tRHZ
READY Valid to 3-state Delay Relative to *PCLK
27
22
17
ns
11.
tARA
Address Input to Row Address Output Delay (Note 1)
23
19
15
ns
12.
tRAH
*PCLK or PCLK to Row Address Hold
40
33
26
ns
13.
tCAV
*PCLK or PCLK to Column Address Valid (Note 1)
38
31
25
14.
tCAH
PCLK to Column Address Hold
15.
tDRAH
DRAM Row Address Hold (Note 2)
16.
tRSHL
PCLK to RAS Asserted Delay (Note 1)
29
24
19
17.
tRSLH
PCLK to RAS De-asserted Delay (Note 1)
26
21
17
ns
18.
tCHL
PCLK to CAS Asserted Delay (Note 1)
23
19
15
ns
19.
tCLH
PCLK to CAS De-asserted Delay (Note 1)
20
16
13
ns
20.
tBHL
PCLK to Buffer Control Asserted Delay (Note 1)
17
ns
21.
tBLH
PCLK to Buffer Control De-asserted Delay (Note 1)
22.
tBSV
PCLK to Bank Select Valid Time (Note 1)
23.
tBSH
PCLK to Bank Select Hold Time (Note 1)
24.
tWEHL
*PCLK to Write Enable Asserted Delay (Note 1)
25.
tWELH
PCLK to Write Enable De-asserted Delay (Note 1)
26.
tBCAH
*PCLK to Column Address Hold Time (Burst) (Note 1)
27.
tBCAV
*PCLK to Column Address Valid Delay (Burst) (Note 1)
29
23
19
ns
28.
tLEHL
*PCLK to Latch Enable Assertion
23
19
15
ns
29.
tLELH
PCLK to Latch Enable De-assertion
20
16
13
ns
30.
tRFA
PCLK to Row Address Valid (Refresh)
38
31
25
ns
31.
tRFH
PCLK to Row Address Hold (Refresh)
32.
tRFHL
REFRESH Synchronous Assertion Delay
20
16
13
ns
33.
tRFLH
REFRESH Synchronous De-assertion Delay
20
16
13
ns
14
3
Units
Max
12
9
ns
ns
4
4
4
ns
tM-4
tM-4
tM-3
ns
26
4
23
21
4
26
4
19
4
21
4
31
15
ns
17
ns
20
ns
4
25
ns
ns
ns
5
5
5
4
5
ns
4
ns
*Signal output delays are measured relative to PCLK (except as indicated) using a 50 pF load.
Note 1: Derate the given delays by 0.006 ns per pF of load in excess of 50 pF.
Note 2: tM e PCLK High duration when configuration bit 18 e 0. tM e PCLK cycle time e 1/(PCLK frequency) for configuration bit 18 e 1. Timing for Rev AB
silicon.
15
Errata for NSBMC096
The document defines all known errata related to the operation of the NSBMC096 Memory Controller.
ERRATUM Ý2
When the NSBMC096 is programmed for extended timing
mode operation, back to back memory read cycles will fail.
ERRATUM Ý1
Pulse mode interrupts from the NSBMC096 are two cycles
long. The current rev. of the i960CA/CF requires a minimum
interrupt pulse width of three clock cycles.
RECOMMENDED FIX
Program the i960CA/CF memory region for the NSBMC096
to insert one wait state following each memory access (i.e.,
Set NXDA e 1).
RECOMMENDED FIX
Program the NSBMC096 for level mode interrupts.
Ordering Code Information
NS
BMC
096
National Semiconductor
VF
33
Frequency
16 MHz
25 MHz
33 MHz
Packaging
VF 132-Lead PQFP
Mode
Burst Mode Controller
Processor
Intel i960
16
17
NSBMC096-16/-25/-33 Burst Memory Controller
Physical Dimensions inches (millimeters)
132-Pin Plastic Quad Flatpak (PQFP)
Order Number NSBMC096VF
NS Package Number VF132A
LIFE SUPPORT POLICY
NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT
DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF NATIONAL
SEMICONDUCTOR CORPORATION. As used herein:
1. Life support devices or systems are devices or
systems which, (a) are intended for surgical implant
into the body, or (b) support or sustain life, and whose
failure to perform, when properly used in accordance
with instructions for use provided in the labeling, can
be reasonably expected to result in a significant injury
to the user.
National Semiconductor
Corporation
1111 West Bardin Road
Arlington, TX 76017
Tel: 1(800) 272-9959
Fax: 1(800) 737-7018
2. A critical component is any component of a life
support device or system whose failure to perform can
be reasonably expected to cause the failure of the life
support device or system, or to affect its safety or
effectiveness.
National Semiconductor
Europe
Fax: (a49) 0-180-530 85 86
Email: cnjwge @ tevm2.nsc.com
Deutsch Tel: (a49) 0-180-530 85 85
English Tel: (a49) 0-180-532 78 32
Fran3ais Tel: (a49) 0-180-532 93 58
Italiano Tel: (a49) 0-180-534 16 80
National Semiconductor
Hong Kong Ltd.
13th Floor, Straight Block,
Ocean Centre, 5 Canton Rd.
Tsimshatsui, Kowloon
Hong Kong
Tel: (852) 2737-1600
Fax: (852) 2736-9960
National Semiconductor
Japan Ltd.
Tel: 81-043-299-2309
Fax: 81-043-299-2408
National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.