![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a ARM9TDMI ? (rev 3) technical reference manual
ii copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a ARM9TDMI technical reference manual copyright ? 2000 arm limited. all rights reserved. release information proprietary notice words and logos marked with ? or ? are registered trademarks or trad emarks owned by arm limited, except as otherwise stated below in this proprietary notice. other brands and names me ntioned herein may be the trademarks of their respective owners. neither the whole nor any part of the information cont ained in, or the product de scribed in, this document may be adapted or reproduced in any material form ex cept with the prior written permission of the copyright holder. the product described in this document is subject to continuous developmen ts 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 limit ed to implied warrantie s of merchantability, or fitness for purpose, are excluded. this document is intended only to a ssist the reader in the use of the pr oduct. 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 in correct use of the product. where the term arm is used it means ?arm or any of its subsidiaries as appropriate?. confidentiality status this document is non-confidential. the right to use, copy and disclose this document may be subject to license restrictions in acco rdance with the terms of th e agreement entered into by arm and the party that arm delivered this document to. product status the information in this do cument is final, that is for a developed product. web address http://www.arm.com change history date issue confidentiality change march 2000 a non-confidential first release arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. iii contents ARM9TDMI technical reference manual preface about this manual ............... .............. .............. .............. .............. .............. .... xii feedback ..................................................................................................... xvi chapter 1 introduction 1.1 about the ARM9TDMI ................................................................................. 1-2 1.2 processor block diagram ........................ ..................................................... 1-3 chapter 2 programmer?s model 2.1 about the programmer?s model ................................................................... 2-2 2.2 pipeline implementation and interlocks ........... .............. .............. .............. .. 2-4 chapter 3 ARM9TDMI processor core memory interface 3.1 about the memory interface ................... ..................................................... 3-2 3.2 instruction interface ..................................................................................... 3-5 3.3 endian effects for instruction fetches .......................................................... 3-7 3.4 data interface .............................................................................................. 3-8 3.5 unidirectional/bidirectional mode interfac e ............. .............. .............. ...... 3-11 3.6 endian effects for data transfers ......... ...................................................... 3-12 3.7 ARM9TDMI reset behavior ........................................................................ 3-13 contents iv copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a chapter 4 ARM9TDMI coprocessor interface 4.1 about the coprocessor interface ........... ...................................................... 4-2 4.2 ldc/stc .................................................................................................... 4-3 4.3 mcr/mrc .................................................................................................. 4-9 4.4 interlocked mcr ....................................................................................... 4-11 4.5 cdp .......................................................................................................... 4-13 4.6 privileged instructions ............................................................................... 4-15 4.7 busy-waiting and interrupts ...................................................................... 4-17 4.8 coprocessor 15 mcrs ............................................................................. 4-19 chapter 5 debug support 5.1 about debug .......... .............. .............. .............. .............. .............. ............ ... 5-2 5.2 debug systems ...... .............. .............. .............. .............. .............. ............ ... 5-3 5.3 debug interface signals .............................................................................. 5-5 5.4 scan chains and jtag interface .......... .................................................... 5-11 5.5 the jtag state machine .......................................................................... 5-12 5.6 test data registers .................................................................................... 5-18 5.7 ARM9TDMI core clocks ............................................................................ 5-24 5.8 clock switching during debug ............ .............. .............. ............ ............... 5-25 5.9 clock switching during test ....................................................................... 5-26 5.10 determining the core state and system st ate .............. .............. ............... 5-27 5.11 exit from debug state ................................................................................ 5-30 5.12 the behavior of the progr am counter during debug .... .............. ............... 5-33 5.13 embeddedice macrocell ..... .............. .............. .............. ............ ............... 5-36 5.14 vector catching ......................................................................................... 5-45 5.15 single stepping ......................................................................................... 5-46 5.16 debug communications channel .............................................................. 5-47 chapter 6 test issues 6.1 about testing ............................................................................................... 6-2 6.2 scan chain 0 bit order ................................................................................. 6-3 chapter 7 instruction cycle summary and interlocks 7.1 instruction cycle times ....... .............. .............. .............. .............. .............. ... 7-2 7.2 interlocks .................................................................................................... 7-5 chapter 8 ARM9TDMI ac characteristics 8.1 ARM9TDMI timing diagrams ...................................................................... 8-2 8.2 ARM9TDMI timing parameters ............. .................................................... 8-14 appendix a ARM9TDMI signal descriptions a.1 instruction memory interface signals .... ...................................................... a-2 a.2 data memory interface signals ............. ...................................................... a-3 a.3 coprocessor interface signal s .................................................................... a-5 a.4 jtag and tap controller signals ............................................................... a-6 a.5 debug signals ............................................................................................. a-8 contents arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. v a.6 miscellaneous signals ......... .............. .............. .............. .............. .............. a-10 contents vi copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. vii list of tables ARM9TDMI technical reference manual change history ............. .............. .............. .............. .............. ........... ........... ............ ...... ii table 2-1 ARM9TDMI implementation option ........................................................................... 2-2 table 3-1 inmreq and iseq encoding .................................................................................... 3-5 table 3-2 endian effect on instruction position ...... ................................................................... 3-7 table 3-3 dnmreq and dseq encoding ................................................................................. 3-8 table 3-4 dmas[1:0] encoding ................................................................................................. 3- 9 table 3-5 endian effects for 16-bit data fetches ..... ................................................................. 3-12 table 3-6 endian effects for 8-bit data fetches ....... ................................................................. 3-12 table 4-1 handshake signals ........... .............. .............. .............. .............. .............. ........... ........ 4-7 table 5-1 public instructions ............................. ...................................................................... 5-13 table 5-2 id code register ...................................................................................................... . 5-19 table 5-3 scan chain number allocation ................................................................................. 5-20 table 5-4 ARM9TDMI embeddedice macrocell register map .............. .............. .............. ...... 5-36 table 5-5 watchpoint control register for data comp arison bit functions ....... ............ .............. 5-39 table 5-6 watchpoint control register for instructio n comparison bit functions .............. ......... 5-41 table 6-1 scan chain 0 bit order ............................................................................................... 6-3 table 7-1 symbols used in tables .......................... ................................................................... 7- 2 table 7-2 instruction cycle bus times ............. .............. .............. .............. .............. .............. ..... 7- 2 table 7-3 data bus instruction times ......................................................................................... 7- 4 table 8-1 ARM9TDMI timing paramete rs ................................................................................ 8-14 table a-1 instruction memory interfac e signals ......................................................................... a-2 table a-2 data memory interface signals .................. ................................................................ a-3 table a-3 coprocessor interface signals ................... ................................................................ a-5 list of tables viii copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a table a-4 jtag and tap controller signals .............................................................................. a-6 table a-5 debug signals ......................................................................................................... .. a-8 table a-6 miscellaneous signals .......... .............. .............. .............. .............. ............ ........... .... a-1 0 arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. ix list of figures ARM9TDMI technical reference manual key to timing diagram conventions ................... ......................................................... xiii figure 1-1 ARM9TDMI processor block diagram ....................................................................... 1-3 figure 2-1 ARM9TDMI processor core instruction pipe line ........................................................ 2-4 figure 3-1 ARM9TDMI clock stalling using nwait ..................................................................... 3-4 figure 3-2 instruction fetch timing ............................................................................................. . 3-6 figure 3-3 data access timings ................................................................................................ 3 -10 figure 3-4 ARM9TDMI reset behavior ...................................................................................... 3-14 figure 4-1 ARM9TDMI ldc / stc cycle ti ming ............... .............. .............. .............. .............. .. 4-4 figure 4-2 ARM9TDMI coprocessor clo cking ............................................................................. 4-5 figure 4-3 ARM9TDMI mcr / mrc transfer timing ......... .......................................................... 4-9 figure 4-4 ARM9TDMI interlocked mcr .................................................................................. 4-12 figure 4-5 ARM9TDMI late cancelled cdp .............................................................................. 4-14 figure 4-6 ARM9TDMI privileged instructions ............ .............................................................. 4-15 figure 4-7 ARM9TDMI busy waiting and interrupts ....... ........................................................... 4-18 figure 4-8 ARM9TDMI coprocessor 15 mcrs .............. ........................................................... 4-19 figure 5-1 typical debug system ............................................................................................... 5 -3 figure 5-2 breakpoint timing .............................. ...................................................................... .. 5-6 figure 5-3 watchpoint entry with data processing instru ction .......... .............. .............. .............. 5-8 figure 5-4 watchpoint entry with branch .............. .............. .............. .............. .............. .............. 5-9 figure 5-5 test access port (tap) controller state tr ansitions .................................................. 5-12 figure 5-6 clock switching on entry to debug state .... .............. .............. .............. .............. ...... 5-25 figure 5-7 debug exit sequence ....... .............. .............. .............. .............. .............. .............. ... 5-3 1 figure 5-8 debug state entry .......... .............. .............. .............. .............. ........... ........... ............ 5-32 list of figures x copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a figure 5-9 ARM9TDMI embeddedice ma crocell overview .... .............. .............. .............. ....... 5-38 figure 5-10 watchpoint control register for data comp arison .................................................... 5-39 figure 5-11 watchpoint control regist er for instruction comparison ........................................... 5-41 figure 5-12 debug control register ............................................................................................ 5 -42 figure 5-13 debug status register .............................................................................................. 5-43 figure 5-14 vector catch register ............................................................................................... 5-44 figure 5-15 debug comms control register ................................................................................ 5-47 figure 7-1 single load interlock timing ...................... ................................................................. 7 -5 figure 7-2 two cycle load interlock ..... .............. .............. .............. .............. ........... ........... ......... 7-6 figure 7-3 ldm interlock ..................................... ................................................................... .... 7-7 figure 7-4 ldm dependent interlock ..... .............. .............. .............. .............. .............. ............ ... 7-8 figure 8-1 ARM9TDMI instruction me mory interface output timing ........................................... 8-2 figure 8-2 ARM9TDMI instruction address bus enable .. ........................................................... 8-2 figure 8-3 ARM9TDMI instruction memo ry interface input timing ............................................. 8-3 figure 8-4 ARM9TDMI data memory interface output ti ming ..................................................... 8-4 figure 8-5 ARM9TDMI data address bus timing ........................................................................ 8-5 figure 8-6 ARM9TDMI data abort and dnmreq timing ........................................................ 8-5 figure 8-7 ARM9TDMI data data bus timing .............................................................................. 8-5 figure 8-8 ARM9TDMI data bus enable .................................................................................... 8-6 figure 8-9 ARM9TDMI miscellaneous signal timing .... .............................................................. 8-6 figure 8-10 ARM9TDMI coprocessor interface signal timi ng ....................................................... 8-7 figure 8-11 ARM9TDMI jtag output signals .............................................................................. 8-8 figure 8-12 ARM9TDMI external boundary scan chain out put signals ...... .............. .............. ...... 8-9 figure 8-13 ARM9TDMI sdoutbs to tdo relationship .. ........................................................... 8-9 figure 8-14 ARM9TDMI ntrst to rstc lkbs relationship .... .............. .............. .............. ....... 8-10 figure 8-15 ARM9TDMI jtag input signal timing ..................................................................... 8-10 figure 8-16 ARM9TDMI gclk related debug output timings .................................................... 8-11 figure 8-17 ARM9TDMI tck related debug output timings ...................................................... 8-12 figure 8-18 ARM9TDMI ntrst to dbgrqi relationship .......................................................... 8-12 figure 8-19 ARM9TDMI edbgrq to dbgrqi relationsh ip ...................................................... 8-12 figure 8-20 ARM9TDMI dbgen to output effects ..................................................................... 8-13 arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. xi preface this preface introduces the ARM9TDMI (revision 3) technical reference manual . it contains the following sections: ? about this manual on page xii ? feedback on page xvi. preface xii copyright ? 2000 arm limited. all rights reserved. arm ddi 0180a about this manual this is the technical reference manual (trm) for the ARM9TDMI microprocessor. the ARM9TDMI includes the following features: ? the option, selectable using the unien signal, of using two unidirectional buses dd[31:0] and ddin[31:0] , instead of a single bidirectional data bus. this is described in unidirectional/bidirectional mode interface on page 3-11. ? the value returned by the jtag tap controller idcode instruction is the value present on the new tapid[31:0] input bus. this allows the id code to be easily changed for each chip design. intended audience this manual is written for experienced hardware and software engineers who might or might not have experience of arm products. conventions conventions that this manual can use are described in: ? typographical ? timing diagrams on page xiii ? signals on page xiii ? numbering on page xiv. typographical the typographical conventions are: italic highlights important notes, introduces special terminology, denotes internal cross-references, and citations. bold highlights interface elements, su ch as menu names. denotes signal names. also used for te rms in descriptive lists, where appropriate. monospace denotes text that you can enter at the keyboard, such as commands, file and program names, and source code. mono space denotes a permitted abbreviation for a command or option. you can enter the underlined text instead of the full command or option name. preface arm ddi 0180a copyright ? 2000 arm limited. all rights reserved. xiii monospace italic denotes arguments to monospace text where the argument is to be replaced by a specific value. monospace bold denotes language keywords when used outside example code. < and > angle brackets enclose replaceable terms for assembler syntax where they appear in code or c ode fragments. they appear in normal font in running text. for example: ? mrc p15, 0 |