AMBA ARM710a Interface: Data Sheet

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Copyright 1996-1997 ARM Limited. All rights reserved.

ARM DDI 0068C


AMBA ARM710a Interface
Data Sheet

ii Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
AMBA ARM710a Interface
Data Sheet
Copyright 1996-1997 ARM Limited. All rights reserved.
Release Information
The following changes have been made to this document.
Proprietary Notice
Words and logos marked with

or

are registered trademarks or trademarks owned by ARM Limited, except


as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the
trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document
may be adapted or reproduced in any material form except with the prior written permission of the copyright
holder.
The product described in this document is subject to continuous developments and improvements. All
particulars of the product and its use contained in this document are given by ARM in good faith. However,
all warranties implied or expressed, including but not limited to implied warranties of merchantability, or
fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable
for any loss or damage arising from the use of any information in this document, or any error or omission in
such information, or any incorrect use of the product.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to
license restrictions in accordance with the terms of the agreement entered into by ARM and the party that
ARM delivered this document to.
Product Status
The information in this document is final, that is for a developed product.
Web Address
http://www.arm.com
Change History
Date Issue Confidentiality Change
May 1996 A Non-Confidential First release
Jun 1996 B Non-Confidential Minor admendments
Apr 1997 C Non-Confidential Minor edits
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. iii
NonConfidential
Contents
AMBA ARM710a Interface Data Sheet
1.1 Overview ..................................................................................................... 1-2
1.2 Hardware interface and signal description .................................................. 1-4
1.3 Function and operation block ...................................................................... 1-9
iv Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-1
NonConfidential
Chapter 1
AMBA ARM710a Interface Data Sheet
This document describes the logic to convert an ARM710a microprocessor core to an
Advanced System Bus (ASB) bus master. It contains the following sections:
Overview on page 1-2
Hardware interface and signal description on page 1-4
Function and operation block on page 1-9.
AMBA ARM710a Interface Data Sheet
1-2 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
1.1 Overview
This module interfaces between the ARM710a and the ASB, allowing the ARM710a to
become an ASB bus master, or to be selected as a slave for test purposes. There are no
user-programmable registers in this block.
Figure 1-1 on page 1-3 shows the ARM710a AMBA master logic block diagram.
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-3
NonConfidential
Figure 1-1 Block diagram for ARM710a AMBA master logic
ARM710a
macrocell
BnRES
control signal
defaults
controls
BCLK
Nwait
BWAIT
din
BD[31:0]
dout
ARM status
ARM address
Vdd AREQ
BD[31:0]
BA[31:0]
BWRTE
BPROT
BLOK
nmreq, seq
BTRAN[1:0]
BWAT
BERROR
BLAST
Control of test multiplexers
Test mode state machine
BCLK
BnRES
DSELARM
BWRITE
BCLK
BnRES
AGNT
BWAIT
Main state machine
AMBA ARM710a Interface Data Sheet
1-4 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
1.2 Hardware interface and signal description
Table 1-1 shows the top level connections to this block. These are the AMBA ASB
signals, and are described further in the AMBA Specification (ARM IHI 0001).
Figure 1-2 on page 1-8 gives the basic timing for these signals.
Table 1-1 Top level connections
Name Type Source/destination Description
AGNT In Arbiter This is a signal from the bus arbiter which
indicates that the bus master will be granted the
bus when BWAIT is LOW. This signal changes
during the LOW phase of BCLK and remains
valid through the HIGH phase.
AREQ Out Arbiter This signal indicates to the arbiter that this block
requires the bus. In this module, this signal is
permanently tied to Vdd by default, indicating
that the ARM CPU requires the bus at all times.
This signal must be set up to the falling edge of
BCLK.
ARMNFIQ In Interrupt controller This is the active LOW ARM Fast Interrupt
Request (nFIQ) signal. The interrupt controller
muxes several interrupt sources, and produces
ARMNFIQ. Typically there is only a single
nFIQ signal in a system, although this may be
disabled by the interrupt controller.
ARMNIRQ In Interrupt controller This is the active LOW ARM Interrupt Request
(nIRQ) signal. The interrupt controller muxes
several interrupt sources, and produces
ARMNIRQ.
BA Out Current bus master This is the system address bus, which is driven
by the current bus master. The address becomes
valid during the BCLK HIGH phase before the
transfer to which it refers, and remains valid
until the last BCLK HIGH phase of the transfer.
BWRITE Out Current bus master When HIGH this signal indicates a write cycle,
when LOW a read cycle. This signal has the
same timing as the address bus. It is driven by the
bus master and becomes valid during the BCLK
HIGH phase before the transfer to which it
refers. It remains valid until the last BCLK
HIGH phase of the transfer.
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-5
NonConfidential
BCLK In - System (bus) clock. This clock times all bus
transfers. The clock has two distinct phases:
phase one in which BCLK is LOW and phase
two in which BCLK is HIGH.
BD[31:0] In/Out Bus master This is the bidirectional system data bus. The
data bus is driven by the current bus master
during write transfers, and by this block during
read transfers.
BWAIT In System decoder and current bus master This signal is driven by the selected bus slave to
indicate if the current transfer may complete. If
BWAIT is HIGH, a further bus cycle is required.
If BWAIT is LOW the transfer may complete in
the current bus cycle. When no bus transfer is
taking place, this signal is driven by the system
decoder. The selected bus slave drives this signal
in the LOW phase of BCLK and is valid set up
to the rising edge of BCLK.
BERROR In System decoder and current bus master A transfer error is indicated by the selected bus
slave using the BERROR signal. When
BERROR is HIGH a transfer error has
occurred, when BERROR is LOW, then the
transfer is successful. This signal is also used in
combination with the BLAST signal to indicate
a bus retract operation. When no bus transfer is
taking place, this signal is driven by the system
decoder. The selected bus slave drives this signal
in the LOW phase of BCLK and is valid set up
to the rising edge of BCLK.
Table 1-1 Top level connections (continued)
Name Type Source/destination Description
AMBA ARM710a Interface Data Sheet
1-6 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
BLAST In System decoder and current bus master This signal is driven by the selected bus slave to
indicate if the current transfer should be the last
of a burst sequence. When BLAST is HIGH the
next bus transfer must allow for sufficient time
for address decoding. When BLAST is LOW,
the next transfer may continue a burst sequence.
This signal is also used in combination with the
BERROR signal to indicate a bus retract
operation. When no bus transfer is taking place,
this signal is driven by the bus decoder. The
selected bus slave drives this signal in the LOW
phase of BCLK and is valid set up to the rising
edge of BCLK.
BLOK Out Arbiter When HIGH this signal indicates the following
transfers are to be indivisible and no other bus
master should be given access to the bus.This
signal is driven by this block when granted and
becomes valid during the BCLK HIGH phase
before the transfer to which it refers. It remains
valid until the last BCLK HIGH phase of the last
locked transfer.
BPROT[1:0] Out Decoder, slaves These signals provide additional information
about a bus access and are primarily intended for
use by a bus protection unit or by the system
decoder. The signals indicate if the transfer is an
opcode fetch or data access, as well as if the
transfer is a supervisor mode access or user
mode access. For the ARM710a this bus is fixed
to 01, indicating Supervisor data accesses.
These signals have the same timing as the
address bus. They are driven by the bus master
and become valid during the BCLK HIGH
phase before the transfer to which they refer,
remaining valid until the last BCLK HIGH
phase of the transfer.
BnRES In Reset controller This active LOW signal indicates the reset status
of the bus and are driven by the reset controller.
Table 1-1 Top level connections (continued)
Name Type Source/destination Description
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-7
NonConfidential
Figure 1-2 on page 1-8 shows the basic AMBA pipelined bus protocol, which is
described further in the AMBA Specification (ARM IHI 0001).
BSIZE[1:0] Out Current bus master These signals indicate the size of the transfer,
which may be byte or word. AMBA allows
halfword transfers, but the ARM710a does not
support them. These signals have the same
timing as the address bus. They are driven by this
block when granted and become valid during the
BCLK HIGH phase before the transfer to which
they refer, remaining valid until the last BCLK
HIGH phase of the transfer.
BTRAN[1:0] Out Bus master These signals indicate the type of the next
transaction, which may be address-only, or
sequential. AMBA supports non-sequential
accesses, but the ARM710a never requests
them.These signals are driven by the this block
when AGNT is asserted and are valid during the
BCLK HIGH phase before the transfer to which
they refer.
DSELARM In System decoder This is a signal from the bus decoder to a bus
slave indicating that the slave device is selected
and a data transfer is required. For this module,
this signal is used to put the ARM core into a test
mode so that vectors can be written in and out of
the core. This signal becomes valid during the
BCLK HIGH phase before the data transfer is
required, and remains active until the last BCLK
HIGH phase of the transfer.
Table 1-1 Top level connections (continued)
Name Type Source/destination Description
AMBA ARM710a Interface Data Sheet
1-8 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
Figure 1-2 Basic AMBA bus cycle
Data
Phase 1
Bus Cycle
Phase 2
Transfer Type
Response
BD[31:0]
BWAT
BLAST
BERROR
BA[31:0]
BTRAN[1:0]
AGNT
AREQ
BCLK
Address
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-9
NonConfidential
1.3 Function and operation block
This block contains two separate state machines, one to control the block when
operating as a master, and one to control the read/write sequencing when it is
functioning as a slave.
This block forces AREQ HIGH, so is continually requesting the busin normal
operation this block would be the master controlling the bus.
To test this block, the test interface controller must obtain the bus and then address the
block as a slave. The system decoder decodes the single memory location that the block
occupies (using the DSELARM signal) and the block then appears as a single
memory-mapped register that can be written to and read from. This address is system
dependent, so only the decoder need be changed if the system memory map is altered.
The writes and reads to this block must be in a particular sequence, to allow the test
vectors to be applied correctly. Accessing the block in this way will destroy the ARM
state, unless action is taken to record the state and restore it after the test accesses.
1.3.1 Master operation
This is the normal mode of operation for this block.
The ARM710a is configured in fastbus mode. MCLK is used as the clock input.
Table 1-2 shows how the ARM710a signals are connected.
Table 1-2 Connections of ARM710a signals
Name Type Connected to
A[31:0]
Address bus
Out BA. Via a tristate buffer.
ABE
Address bus enable
In State machine, address enable control (Mabe).
ABORT
External abort
In Latched version of BERROR (latched in phase one).
ALE
Address latch enable
In Vdddo not latch addresses using the transparent latch
inside the core.
DBE
Data bus enable
In State machine, master data bus enable (Mdbe).
AMBA ARM710a Interface Data Sheet
1-10 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
DIN[31:0]
Data input bus
In BD.
DOUT[31:0]
Data output bus
Out BD via a tristate driver.
FCLK
Fast clock input
In Vss by default.
FASTBUS
Bus mode
selectsignal
In Vddenables fastbus mode.
LOCK
Locked operation
Out BLOKvia a tristate driver.
MCLK
Memory clock input
In BCLK.
MSEMemory
request/sequential
enable
In State Machine, address enable control (Mabe).
nBW
Not byte/word
Out BSIZE(1). BSIZE[0] is connected to Vss. Note that the
ARM710a supports only bytes and 32-bit words, so
BSIZE[0] should always be Vss.
nFIQ
Not fast
interruptrequest
In ARMNFIQ. This is the output from the interrupt
controller.
nIRQ
Not interrupt request
In ARMNIRQ. This is the output from the interrupt
controller.
nMREQ
Not memory request
Out State Machine. Used to produce BTRAN.
nRESET
Not reset
In BnRES.
nRW
Not read/write
Out BWRITE.
Table 1-2 Connections of ARM710a signals (continued)
Name Type Connected to
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-11
NonConfidential
1.3.2 Master state machine
The following paragraphs provide an overview of the state machine functionality, and a
description in terms of a state diagram.
The state machine provides the control for the interface between an AMBA system and
a processor. The inputs and outputs to the state machine are shown in Table 1-3.
nWAIT
Not wait
In This is an important signal. nWAIT can be forced by the
state machine so that the core waits (for instance when not
granted), or used in test mode to prevent the core from
advancing. Internally nWAIT stops the ARM710a clock,
so no power is consumed while it is waiting.
SEQ
Sequential address
Out State machine.
SnA
Synchronous/notasy
nchronous
In Vss. This input is ignored, as the device is used in fastbus
mode.
TESTIN[7:0]
Test bus input
In All signals connected to Vss Note that TESTIN[4] is not
used.
TESTOUT[2:0]
Test bus output
Out Not connected. This is a status output port for CPU testing.
Table 1-2 Connections of ARM710a signals (continued)
Name Type Connected to
Table 1-3 Master state machine input and outpout signals
Name Direction Description
BCLK In AMBA ASB clock.
BnRES In AMBA asynchronous reset. This signal is LOWactive.
BWAIT In AMBA ASB wait signal.
BLAST In AMBA ASB signal, indicating that next transactioncannot
be sequential.
BERROR In AMBA ASB signal, indicating that a fault has occurred in
the bus transaction. Note that if BWAIT,BLAST and
BERROR are all HIGH at once, then a retract operation is
being signalled.
AMBA ARM710a Interface Data Sheet
1-12 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
A state transition diagram for the state machine is shown in Figure 1-3 on page 1-14.
This state machine is clocked on the falling edge of BCLK. The purpose of each state
and the output action for each state is shown in the following paragraphs.
Note
This state machine has outputs that are dependent on combinatorial inputs.
On reset, the master state machine enters one of two states, depending on whether it was
granted the bus at the time. In most AMBA systems, the Test Interface Controller is the
default master, and is granted the bus during reset. The state machine will therefore
enter the IdleHld state. The cken signal is used to prevent the processor from clocking.
At some stage, the processor will be granted the bus, and its clock will be enabled. It
will therefore make memory requests, reaching the XferAct state. This is the state in
which a processor would expect to spend most of its time, where it controls the bus and
is using it.
AGNT In AMBA granted signal, indicating that the bus masterhas
been granted the bus for the next transaction.
nMREQ In not Memory Request signal from the processor. When
LOW, indicates that the processor requires the bus.
SEQ In Sequential signal from processor. Indicates (in
combination with nMREQ) that the next memory request
is sequential from the current one.
WRITE In BWRITE signalASB signal to distinguish between a
read and a write.
BTRAN[1:0] Out AMBA ASB transaction type.
cken Out Clock enable. Used to enable the processor clock. Usually
connected to nWAIT on the processor. When LOW, the
processor clock will be disabled.
Mdbe Out Master Data Bus Enable. Enables tristate drivers on the
processor to drive the data bus.
Mabe Out Master Address Bus Enable. Enables tristate drivers to
drive address and related signals on the processor.
Table 1-3 Master state machine input and outpout signals (continued)
Name Direction Description
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-13
NonConfidential
If the processor loses the bus during a sequence of memory transactions, the first
transaction after it regains the bus must be sequential, following the Address
transaction. This is handled by the XferHld and XfrGnt states.
Lastly, the XferRet state allows the master to recover from a memory transaction that
has not been completed. This is signalled by BWAIT, BLAST and BERROR all being
HIGH.
AMBA ARM710a Interface Data Sheet
1-14 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
Figure 1-3 State machine for AMBA bus master
IdleGnt Idle Granted state
The master has been granted the bus, but has no pending memory
transactions.
cken = HIGH
dleHld
dleGnt
XferHld
XferAct
XfeRet
XfeGnt
!BnRES & !AGNT
!Granted & nMREQ
Granted & !nMREQ
Granted
!Granted
!Granted
!Granted & !nMREQ
Granted
&
nMREQ
!Granted
Granted
Granted
Granted &
RETRACT
!Granted & nMREQ
!Granted
&
!nMREQ
!Granted
&
!nMREQ
Granted & !nMREQ
!Granted
&
nMREQ
Granted
&
nMREQ
!BnRES & AGNT
Granted & !LBWAT & nMREQ
Granted & (!RETRACT +
(!nMREQ & !LBWAT))
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-15
NonConfidential
Mdbe = LOW
Mabe = Granted
BTRAN = (!nMREQ, SEQ)
IdleHld Idle Held state
The master has not been granted the bus, and has no pending memory
requests.
cken = HIGH
Mdbe = LOW
Mabe = LOW
BTRAN = 00 (A-TRAN)
XferAct Transfer Active state
The master has been granted the bus, and has a memory request.
cken = !L_bwait
Mdbe = L_write & (BCLK + (!L_dbefix))
Mabe = Granted
BTRAN = (!nMREQ, SEQ)
dbefix = (!nMREQ & ! SEQ & !L_bwait)
XferHld Transfer Held state
The master has an outstanding memory request, but is not granted the bus.
cken = LOW
Mdbe = LOW
Mabe = LOW
BTRAN = 00 (A-TRAN)
XferGnt Transfer Grant state
The master had an outstanding memory request and has been granted the
bus. Note that if the transaction should have been sequential, it will now
be forced to be non-sequential, as the sequentiality of requests has been
broken by the change in bus ownership.
cken = LOW
Mdbe = LOW
Mabe = Granted
BTRAN = 11 (merged A-S TRAN
AMBA ARM710a Interface Data Sheet
1-16 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
XferRet Transfer Retract state
This state is entered when the bus transaction is retracteda slave has
been unable to complete its transaction so far.
cken = LOW
Mdbe = L_write
Mabe = Granted
BTRAN = 00 (A-TRAN)
In addition to the state machine logic, there is some extra logic. One important piece of
logic, the production of the internal Granted signal, is shown in Figure 1-4.
Note
The state machine is triggered off the rising edge of BCLK. The timing of this logic is
straightforward, that is, both AGNT and BWAIT must be set up to the rising edge of
BCLK.
Figure 1-4 AMBA bus master:granted state machine
There are also a number of latches within the state machine.
Phase one latches (transparent when BCLK is LOW):
L_bwait = BWAIT
L_blast = BLAST
L_berror = BERROR
Phase two latches (transparent when BCLK is HIGH:
L_dbefix = dbefix
NotGranted
!AGNT + BWAT
!BnRES & !AGNT
AGNT & !BWAT
!AGNT & !BWAT
Granted
!BnRES & AGNT
AGNT & BWAT
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-17
NonConfidential
dbefix is an internal signal, that is forced LOW in every state other than XferAct.
Figure 1-5 shows the main timing of the state machine.
Figure 1-5 Main state machine timing
1.3.3 Slave operation (test mode)
When the block is selected as a slave, it is possible to write and read test vectors to the
core using the AMBA test methodology. The master state machine described in the
previous section can also be tested using this method. The block must have been
deselected as a master (AGNT goes LOW). The Test Interface Controller would usually
be the bus master. Each vector can be tested on the core by the following sequence:
1. Write control information
2. Write data in value or read data out value
3. Read status (control outputs)
4. Read address
The state machine provides the correct sequencing of latches and multiplexers to ensure
that the test vectors are converted into the 32-bit words for the above sequence.
Figure 1-6 on page 1-18 shows the behavior of this state machine, which advances on
the falling edge of BCLK.
BTRAN[1:0]
nMREQ, SEQ
cken (nWAT)
BWAT
MDBE
State
BCLK
AMBA ARM710a Interface Data Sheet
1-18 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
Figure 1-6 State machine for AMBA master test mode
The only complication in the state machine is moving out of the DATA-IN state. This is
fully described at the end of this section, as it is important for testing the master state
machine.
Figure 1-7 on page 1-19 shows how this relates to a write test pattern and Figure 1-8 on
page 1-19 shows how this relates to a read test pattern.
One test
cycle
Ctrl in () Status ()
CTRL-N DATA-N STAT-OUT ADDR-OUT TURNAROUND
BCLK
BD[31:0]
Slave state
SM state
Error, Wait
Last
BERROR
etc
MclkEnable
SMClock
L_berror
etc
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-19
NonConfidential
Figure 1-7 Running a write data access test vector on the processor core
Figure 1-8 Running a read data access test vector on the processor core
One test
cycle
Ctrl in Data in Status Address Ctrl in
CTRL-N DATA-N STAT-OUT ADDR-OUT TURNAROUND CTRL-N
BCLK
TREQA
TREQB
BD[31:0]
Slave state
CTRL inputs
MclkEnable
ECLK
One test
cycle
Ctrl in Data in Status Address Ctrl in
CTRL-N DATA-N STAT-OUT ADDR-OUT TURNAROUND DATA-OUT
BCLK
TREQA
TREQB
BD[31:0]
Slave state
CTRL inputs
MclkEnable
ECLK
Data out
AMBA ARM710a Interface Data Sheet
1-20 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
Table 1-4 and Table 1-5 on page 1-21 show the bit positions in the AMBA test vector
that correspond to the ARM710a signals for control input and status output.
Some signals must be treated specially. Some input signals must only be active during
the data access cycle (MclkEnable used), and some output signals are only valid during
this time, so they must be latched.
Table 1-4 ARM10a control input bit positions
Signal Bit position Comments
SMTest
State machine test
20 When set, the master state machine can be tested
MCLK
Memory clock
19 When set, the clock is enabled for one pulseit cannot be
held high for the whole duration of a vector access
FCLK
Fast clock
18 -
TESTBUS[7:0]
Test inputs
[17:10] -
SnA
Synchronous/notAsynchr
onous
9 -
FASTBUS
FASTBUS mode use
MCLK as clock input
8 -
ABE
Address bus enable
7 This should normally be set HIGH, as if the address bus is
tristated (ABE LOW), then it will not be possible to read
address values.
ALE
Address latch enable
6 -
DBE
Data bus Enable
5 ANDed with MclkEnable.
nFIQ
Not fast interrupt request
4 -
nIRQ
Not interrupt request
3 -
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-21
NonConfidential
The testing of the master state machine follows a similar pattern, and uses the same
sequencing of vectors. The separation of the state machine inputs and outputs from the
AMBA bus for test purposes, however, needs to follow a slightly different method to
avoid lengthening critical paths. This is shown is Figure 1-9 on page 1-22.
ABORT
Memory abort
2 AMBA BERROR signal must be latched, as it is only
valid at the end of phase one.
nWAIT
Not wait
1 ANDed with MclkEnable, so that the core state can only
change during the data access cycle.
nRESET
Not reset
0 -
Table 1-4 ARM10a control input bit positions (continued)
Signal Bit position Comments
Table 1-5 ARM710a status bit positions
Signal Bit position
nBLS[3:0]
Byte lane strobe
[12:9]
TESTOUT[2:0]
Test out status
[8:6]
nENDOUT
not output ENable, can be used
to enable data bus drivers
5
LOCK
Locked operation
4
nBW
Not op-code fetch
3
nRW
Not read/write
2
nMREQ
Not memory request
1
SEQ
Sequential address
0
AMBA ARM710a Interface Data Sheet
1-22 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
Figure 1-9 State machine testing
The key critical paths are:
nMREQ, SEQ
These signals affect combinatorial outputs from the state machine,
so are taken directly from the core. To change them, the core is
advanced. When vectors are being applied to the master state
machine, the core is frozen using nWAIT.
BERROR, BWAIT, BLAST
These signals affect the Granted signal. By taking them directly
from the bus, no additional delays are incurred. When being
tested, this block acts as a slave and so drives responses. These
responses are normally all LOW, but for state machine test can be
driven to other values.
Figure 1-10 on page 1-23 shows the timing for state machine test.
BD
SMTest
DSEL &
!BCLK
BERROR
BWAIT
BLAST
Master
state
machine
Defaults
tmux
Defaults
tmux
Processor
core
nMREQ, SEQ
AGNT & BCLK
BTRAN
Test data enable & BCLK
BD
AMBA ARM710a Interface Data Sheet
ARM DDI 0068C Copyright 1996-1997 ARM Limited. All rights reserved. 1-23
NonConfidential
Figure 1-10 Timing for state machine test
One important function of the BWAIT, BLAST and BERROR signals is to force a bus
retract operation, so that this function can be tested in the master. This does, however,
mean that the test interface controller also sees the transaction as a retract, and follows
exactly the same sequence of states as any other master. This means that there is a delay
of several cycles, and the state machine must not leave test mode. This is the reason that
BWAIT and BWRITE are used to prevent leaving state DATA-IN.
One test
cycle
Ctrl in () Status ()
CTRL-N DATA-N STAT-OUT ADDR-OUT TURNAROUND
BCLK
BD[31:0]
Slave state
SM state
Error, Wait
Last
BERROR
etc
MclkEnable
SMClock
L_berror
etc
Table 1-6 State machine control inputs
Signal Bit position Comment
SMTest 20 When this bit is written HIGH, it enables testing of the
master state machine.
SMClock Uses SMTest and BCLK to provide a clock to the state
machine. Does not have a separate bit position, as it is
derived from SMTest and BCLK.
BLAST 15 As BERROR.
AMBA ARM710a Interface Data Sheet
1-24 Copyright 1996-1997 ARM Limited. All rights reserved. ARM DDI 0068C
NonConfidential
BWAIT 14 As BERROR.
BERROR 13 This signal is used to drive the BERROR line, using the
tristate driver that otherwise return a LOW response to the
TIC.
Grant 12 AGNT is always LOW during test, so an OR gate is used
instead of a multiplexer.
BWRITE 11 This is a simple multiplex of BWRITE signal.
BnRES 6 This multiplexes the state machine reset between BnRES
and bit 6, using tmux. tmux is set up by resetting the test
state machine, so the master state machine will be reset
without problems. During test of the processor core, bit 6
may change. This means that the state machine must be
explicitly reset at the start of its testing. It also means that
bit 6 must be connected to a core signal that does not
change too often. In most cases, the ALE signal is suitable.
Table 1-7 State machine control outputs
Signal Bit position Comment
BTRAN[1:0] [21:20] This is the signal before it is driven onto the BTRAN bus.
The BTRAN tristate driver is disabled during test mode,
so that it does not interfere with the test interface
controller.
Granted 19 Output of the logic shown in Figure 1-4 on page 1-16.
cken 18 Clock enable signal, connects to nWAIT on the core
during normal operation, but multiplexed out during test.
Mdbe 17 Master data bus enable.
Mabe 16 Master address bus enable.
SMState [15:13] State machine state.
Table 1-6 State machine control inputs (continued)
Signal Bit position Comment

You might also like