ARM DDI 0068C NonConfidential AMBA ARM710a interface Data Sheet ii copyright (c) 1996-1997 ARM Limited. All rights reserved. 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.
ARM DDI 0068C NonConfidential AMBA ARM710a interface Data Sheet ii copyright (c) 1996-1997 ARM Limited. All rights reserved. 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.
ARM DDI 0068C NonConfidential AMBA ARM710a interface Data Sheet ii copyright (c) 1996-1997 ARM Limited. All rights reserved. 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.
ARM DDI 0068C NonConfidential AMBA ARM710a interface Data Sheet ii copyright (c) 1996-1997 ARM Limited. All rights reserved. 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.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online from Scribd
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