Fast Model Portfolio Reference Manual

Version 5.1


Table of Contents

Preface
About this book
Intended audience
Organization
Typographical conventions
Further reading
Feedback
Feedback on this product
Feedback on this book
1. Introduction
1.1. About the components
2. Accuracy and Functionality
2.1. Functional Caches in Fast Models
2.1.1. Configuring Functional Caches
2.1.2. Performance Effects of Enabling Functional Caches
2.2. How Accurate are Fast Models?
2.2.1. Timing
2.2.2. Bus traffic
2.2.3. Instruction prefetch
2.2.4. Out-of-order execution and write-buffers
2.2.5. Caches
3. Signaling and Clocking Protocols
3.1. About the framework and protocols
3.1.1. Signaling protocols
3.1.2. Clocking components and protocols
3.2. Signaling Protocols
3.2.1. Signal protocol
3.2.2. StateSignal protocol
3.2.3. Value protocol
3.2.4. ValueState protocol
3.3. Clocking Components and Protocols
3.3.1. MasterClock component
3.3.2. ClockDivider component
3.3.3. ClockTimer component
4. Peripheral and Interface Components
4.1. About the components
4.2. PV Bus Components
4.2.1. About the PVBus Components Model Library
4.2.2. PVBusDecoder component
4.2.3. PVBusMaster component
4.2.4. PVBusRange component
4.2.5. PVBusSlave component
4.2.6. TZSwitch component
4.2.7. C++ classes
4.3. AMBA-PV Components
4.3.1. About the AMBA-PV components
4.3.2. AMBA-PV component protocols
4.3.3. PVBus2AMBAPV component
4.3.4. AMBAPV2PVBus component
4.3.5. SGSignal2AMBAPVSignal component
4.3.6. AMBAPVSignal2SGSignal component
4.3.7. SGStateSignal2AMBAPVSignalState component
4.3.8. AMBAPVSignalState2SGStateSignal component
4.3.9. SGValue2AMBAPVValue component
4.3.10. SGValue2AMBAPVValue64 component
4.3.11. AMBAPVValue2SGValue component
4.3.12. AMBAPVValue2SGValue64 component
4.3.13. SGValueState2AMBAPVValueState component
4.3.14. SGValueState2AMBAPVValueState64 component
4.3.15. AMBAPVValueState2SGValueState component
4.3.16. AMBAPVValueState2SGValueState64 component
4.3.17. SystemC classes
4.4. Peripheral Components
4.4.1. About the Peripheral Components Model Library
4.4.2. PL011_Uart component
4.4.3. SerialCrossover component
4.4.4. TelnetTerminal component
4.4.5. PL022_SSP component
4.4.6. PL030_RTC component
4.4.7. PL031_RTC component
4.4.8. PL041_AACI component
4.4.9. AudioOut_File component
4.4.10. AudioOut_SDL component
4.4.11. PL050_KMI_component
4.4.12. PS2Keyboard component
4.4.13. PS2Mouse component
4.4.14. PL061_GPIO component
4.4.15. PL080_DMAC component
4.4.16. PL110_CLCD component
4.4.17. PL111_CLCD component
4.4.18. PL180_MCI component
4.4.19. MMC component
4.4.20. PL192_VIC component
4.4.21. PL310_L2CC component
4.4.22. PL340_DMC component
4.4.23. PL350_SMC component
4.4.24. PL350_SMC_NAND_FLASH component
4.4.25. PL390_GIC component
4.4.26. SP804_Timer component
4.4.27. SP805_Watchdog component
4.4.28. SP810_SysCtrl component
4.4.29. TZIC component
4.4.30. TZMPU component
4.4.31. RemapDecoder
4.4.32. BP135_AXI2APB component
4.4.33. BP141_TZMA component
4.4.34. BP147_TZPC component
4.4.35. AndGate component
4.4.36. OrGate component
4.4.37. ICS307 component
4.4.38. FlashLoader component
4.4.39. IntelStrataFlashJ3 component
4.4.40. VFS2 component
4.4.41. MessageBox component
4.4.42. RAMDevice component
4.4.43. SMSC_91C111 component
4.5. Legacy Components
4.5.1. IntC
4.5.2. CMRegisters component
4.5.3. CPTimers
4.6. Visualisation Library
4.6.1. About the Visualisation library
4.6.2. LCD protocol
4.6.3. Visualisation components
4.6.4. GUIPoll component
4.6.5. C++ classes
4.7. Using Component Features
4.7.1. Terminal
4.7.2. Ethernet
5. Core Components
5.1. About the Code Translation core components
5.2. ARMCortexA9MPxnCT
5.2.1. Ports
5.2.2. Additional Protocols
5.2.3. Parameters
5.2.4. Registers
5.2.5. Caches
5.2.6. Debug Features
5.2.7. Verification and Testing
5.2.8. Performance
5.2.9. Library dependencies
5.2.10. Differences between the CT model and RTL Implementations
5.3. ARMCortexA9UPCT
5.3.1. Ports
5.3.2. Additional Protocols
5.3.3. Parameters
5.3.4. Registers
5.3.5. Caches
5.3.6. Debug Features
5.3.7. Verification and Testing
5.3.8. Performance
5.3.9. Library dependencies
5.3.10. Differences between the CT model and RTL Implementations
5.4. ARMCortexA8CT
5.4.1. Ports
5.4.2. Additional Protocols
5.4.3. Parameters
5.4.4. Registers
5.4.5. Caches
5.4.6. Debug Features
5.4.7. Verification and Testing
5.4.8. Performance
5.4.9. Library dependencies
5.4.10. Differences between the CT model and RTL Implementations
5.5. ARMCortexR4CT
5.5.1. Ports
5.5.2. Additional Protocols
5.5.3. Parameters
5.5.4. Registers
5.5.5. Caches
5.5.6. Debug Features
5.5.7. Verification and Testing
5.5.8. Performance
5.5.9. Library dependencies
5.5.10. Differences between the CT model and RTL Implementations
5.6. ARMCortexM3
5.6.1. Ports
5.6.2. Additional Protocols
5.6.3. Parameters
5.6.4. Registers
5.6.5. Caches
5.6.6. Debug Features
5.6.7. Verification and Testing
5.6.8. Performance
5.6.9. Library dependencies
5.6.10. Differences between the CT model and RTL Implementations
5.7. ARM1176CT
5.7.1. Ports
5.7.2. Additional Protocols
5.7.3. Parameters
5.7.4. Registers
5.7.5. Debug Features
5.7.6. Verification and Testing
5.7.7. Performance
5.7.8. Library dependencies
5.7.9. Differences between the CT model and RTL Implementations
5.8. ARM1136CT
5.8.1. Ports
5.8.2. Additional Protocols
5.8.3. Parameters
5.8.4. Registers
5.8.5. Debug Features
5.8.6. Verification and Testing
5.8.7. Performance
5.8.8. Library dependencies
5.8.9. Differences between the CT model and RTL Implementations
5.9. ARM968CT
5.9.1. Ports
5.9.2. Additional Protocols
5.9.3. Parameters
5.9.4. Registers
5.9.5. Debug Features
5.9.6. Verification and Testing
5.9.7. Performance
5.9.8. Library dependencies
5.9.9. Differences between the CT model and RTL Implementations
5.9.10. DMA
5.10. ARM926CT
5.10.1. Ports
5.10.2. Additional Protocols
5.10.3. Parameters
5.10.4. Registers
5.10.5. Debug Features
5.10.6. Verification and Testing
5.10.7. Performance
5.10.8. Library dependencies
5.10.9. Differences between the CT model and RTL Implementations
5.11. Implementation differences
5.11.1. Caches
5.11.2. CP14 Debug coprocessor
5.11.3. MicroTLB
5.11.4. TLB
5.11.5. Memory Access
5.11.6. Timing
5.11.7. VIC Port
6. Emulation Baseboard Model: Platform and Components
6.1. About the Emulation Baseboard components
6.2. Emulation Baseboard memory map
6.3. Emulation Baseboard parameters
6.3.1. Switch S6
6.3.2. Switch S8
6.4. EBVisualisation component
6.4.1. Ports
6.4.2. Additional Protocols
6.4.3. Parameters
6.4.4. Registers
6.4.5. Debug Features
6.4.6. Verification and Testing
6.4.7. Performance
6.4.8. Library dependencies
6.5. EB_SysRegs component
6.5.1. Ports
6.5.2. Additional Protocols
6.5.3. Parameters
6.5.4. Registers
6.5.5. Debug Features
6.5.6. Verification and Testing
6.5.7. Performance
6.5.8. Library dependencies
6.6. TSC2200 component
6.6.1. Ports
6.6.2. Additional Protocols
6.6.3. Parameters
6.6.4. Registers
6.6.5. Debug Features
6.6.6. Verification and Testing
6.6.7. Performance
6.6.8. Library dependencies
6.6.9. Functionality
6.7. Other Emulation Baseboard components
6.7.1. EBConnector and EBSocket components
6.7.2. EBInterruptForwarder component
6.7.3. EBRemapper component
6.8. Differences between the EB hardware and the system model
6.8.1. Features not present in the model
6.8.2. Remapping and DRAM aliasing
6.8.3. Dynamic memory characteristics
6.8.4. Status and system control registers
6.8.5. Generic Interrupt Controller
6.8.6. GPIO2
6.8.7. Timing considerations
7. Microcontroller Prototyping System (MPS): Platform and Components
7.1. About the Microcontroller Prototyping System components
7.2. MPSVisualisation
7.2.1. Ports
7.2.2. Additional Protocols
7.2.3. Parameters
7.2.4. Registers
7.2.5. Debug Features
7.2.6. Verification and Testing
7.2.7. Performance
7.2.8. Library dependencies
7.3. MPS_CharacterLCD
7.3.1. Ports
7.3.2. Additional Protocols
7.3.3. Parameters
7.3.4. Registers
7.3.5. Debug Features
7.3.6. Verification and Testing
7.3.7. Performance
7.3.8. Library dependencies
7.4. MPS_DUTSysReg
7.4.1. Ports
7.4.2. Additional Protocols
7.4.3. Parameters
7.4.4. Registers
7.4.5. Debug Features
7.4.6. Verification and Testing
7.4.7. Performance
7.4.8. Library dependencies
7.5. Other MPS virtual platform components
7.5.1. MPSInterruptForwarder and MPSInterruptReceiver components
7.6. Differences between the MPS hardware and the system model
7.6.1. Features not present in the model
7.6.2. Timing considerations
Glossary

List of Figures

3.1. MasterClock in System Canvas
3.2. ClockDivider in System Canvas
3.3. ClockTimer in System Canvas
4.1. Sample bus topology
4.2. PVBusDecoder in System Canvas
4.3. PVBusMaster in System Canvas
4.4. PVBusRange in System Canvas
4.5. PVBusSlave in System Canvas
4.6. TZSwitch in System Canvas
4.7. PVBus2AMBAPV in System Canvas
4.8. AMBAPV2PVBus in System Canvas
4.9. SGSignal2AMBAPVSignal in System Canvas
4.10. AMBAPVSignal2SGSignal in System Canvas
4.11. SGStateSignal2AMBAPVSignalState in System Canvas
4.12. AMBAPVSignalState2SGStateSignal in System Canvas
4.13. SGValue2AMBAPVValue in System Canvas
4.14. SGValue2AMBAPVValue64 in System Canvas
4.15. AMBAPVValue2SGValue in System Canvas
4.16. AMBAPVValue2SGValue64 in System Canvas
4.17. SGValueState2AMBAPVValueState in System Canvas
4.18. SGValueState2AMBAPVValueState64 in System Canvas
4.19. AMBAPVValue2SGValue in System Canvas
4.20. AMBAPVValue2SGValue64 in System Canvas
4.21. PL011_Uart in System Canvas
4.22. SerialCrossover in System Canvas
4.23. TelnetTerminal in System Canvas
4.24. PL022_SSP in System Canvas
4.25. PL030_RTC in System Canvas
4.26. PL031_RTC in System Canvas
4.27. PL041_AACI in System Canvas
4.28. AudioOut in System Canvas
4.29. AudioOut_SDL in System Canvas
4.30. Keyboard/Mouse controller in System Canvas
4.31. PS2Keyboard in System Canvas
4.32. PS2Mouse component in System Canvas
4.33. PL061_GPIO in System Canvas
4.34. PL080_DMAC in System Canvas
4.35. PL110_CLCD in System Canvas
4.36. PL111_CLCD in System Canvas
4.37. PL180_MCI in System Canvas
4.38. MMC in System Canvas
4.39. PL192_VIC in System Canvas
4.40. PL310_L2CC in System Canvas
4.41. PL310_L2CC in an example system
4.42. PL340_DMC in System Canvas
4.43. PL350_SMC in System Canvas
4.44. PL350_SMC_NAND_FLASH in System Canvas
4.45. PL 390_GIC in System Canvas
4.46. SP804_Timer in System Canvas
4.47. SP805_Watchdog in System Canvas
4.48. SP810_SysCtrl in System Canvas
4.49. TZIC in System Canvas
4.50. TZMPU in System Canvas
4.51. RemapDecoder in System Canvas
4.52. BP135_AXI2APB in System Canvas
4.53. BP141_TZMA in System Canvas
4.54. BP147_TZPC in System Canvas
4.55. AndGate in System Canvas
4.56. OrGate in System Canvas
4.57. ICS307 in System Canvas
4.58. FlashLoader in System Canvas
4.59. IntelStrataFlashJ3 in System Canvas
4.60. VFS2 in System Canvas
4.61. MessageBox component in System Canvas
4.62. RAMDevice in System Canvas
4.63. SMSC_91C111 in System Canvas
4.64. IntC in System Canvas
4.65. CMRegisters in System Canvas
4.66. CPTimers in System Canvas
4.67. GUIPoll in System Canvas
4.68. Terminal block diagram
4.69. Host transport block diagram
4.70. Pipe transport block diagram
5.1. ARMCortexA9MPxnCT in System Canvas
5.2. ARMCortexA9UPCT in System Canvas
5.3. ARMCortexA8CT in System Canvas
5.4. ARMCortexR4CT in System Canvas
5.5. ARMCortexM3CT in System Canvas
5.6. ARM1176CT in System Canvas
5.7. ARM1136CT in System Canvas
5.8. ARM968CT in System Canvas
5.9. ARM926CT in System Canvas
6.1. EB Real-Time System Model CLCD visualization window
6.2. EB RTSM CLCD with brot.axf image
6.3. EBVisualisation in System Canvas
6.4. EB_SysRegs in System Canvas
6.5. TSC2200 in System Canvas
7.1. MPSVirtualisation component in sgcanvas
7.2. Microprocessor Prototyping System Real-Time System Model CLCD
7.3. MPSVirtualisation component in sgcanvas
7.4. MPS_DUTSysReg component in sgcanvas

List of Tables

2.1. Parameters to control functional cache behavior
3.1. MasterClock ports
3.2. ClockDivider ports
3.3. ClockDivider configuration parameters
3.4. ClockTimer ports
4.1. PVBus examples
4.2. PVBusDecoder ports
4.3. PVBusMaster ports
4.4. PVBusRange ports
4.5. PVBus ports
4.6. PVBusSlave configuration parameters
4.7. TZSwitch ports
4.8. TZSwitch configuration parameters
4.9. PVBus2AMBAPV ports
4.10. PVBus2AMBAPV configuration parameters
4.11. AMBAPV2PVBus component ports
4.12. AMBAPV2PVBus configuration parameters
4.13. SGSignal2AMBAPVSignal ports
4.14. AMBAPVSignal2SGSignal component ports
4.15. SGStateSignal2AMBAPVSignalState ports
4.16. AMBAPVSignalState2SGStateSignal component ports
4.17. SGValue2AMBAPVValue ports
4.18. SGValue2AMBAPVValue64 ports
4.19. AMBAPVValue2SGValue component ports
4.20. AMBAPVValue2SGValue64 component ports
4.21. SGValueState2AMBAPVValueState ports
4.22. SGValueState2AMBAPVValueState64 ports
4.23. AMBAPVValueState2SGValueState component ports
4.24. AMBAPVValueState2SGValueState64 component ports
4.25. PL011_Uart ports
4.26. Bits for dataTransmit()
4.27. Bits for dataReceive()
4.28. Bits for signalsSet()
4.29. Bits for signalsGet()
4.30. PL011_Uart configuration parameters
4.31. PL011_Uart registers
4.32. SerialCrossover ports
4.33. TelnetTerminal ports
4.34. TelnetTerminal configuration parameters
4.35. PL022_SSP ports
4.36. PL022_SSP registers
4.37. PL030_RTC ports
4.38. PL030_RTC registers
4.39. PL031_RTC ports
4.40. PL031_RTC registers
4.41. PL041_AACI ports
4.42. PL041_AACI registers
4.43. AudioOut_File ports
4.44. AudioOut_File configuration parameters
4.45. AudioOut_SDL ports
4.46. PL050_KMI ports
4.47. PL050_KMI registers
4.48. PS2Keyboard ports
4.49. PS2Mouse ports
4.50. PL061_GPIO ports
4.51. PL061_GPIO registers
4.52. PL080_DMAC ports
4.53. PL080_DMAC configuration parameters
4.54. PL080_DMAC registers
4.55. PL110_CLCD ports
4.56. PL110_CLCD configuration parameters
4.57. PL110_CLCD registers
4.58. PL111_CLCD ports
4.59. PL111_CLCD configuration parameters
4.60. PL111_CLCD registers
4.61. PL180_MCI ports
4.62. PL180_MCI registers
4.63. MMC ports
4.64. MMC configuration parameters
4.65. MMC registers
4.66. PL192_VIC ports
4.67. PL192_VIC registers
4.68. PL310_L2CC ports
4.69. PL310_L2CC configuration parameters
4.70. PL310_L2CC registers
4.71. PL340_DMC ports
4.72. PL340_DMC configuration parameters
4.73. PL340_DMC registers
4.74. PL350_SMC ports
4.75. PL350_SMC configuration parameters
4.76. PL350_SMC registers
4.77. PL350_SMC_NAND_FLASH ports
4.78. PL350_SMC_NAND_FLASH configuration parameters
4.79. PL 390_GIC ports
4.80. PL390_GIC configuration parameters
4.81. PL 390_GIC registers: Distributor Interface
4.82. PL 390_GIC registers: CPU Interfaces
4.83. SP804_Timer ports
4.84. SP804_Timer registers
4.85. SP805_Watchdog ports
4.86. SP805_Watchdog configuration parameters
4.87. SP805_Watchdog registers
4.88. SP810_SysCtrl ports
4.89. SP810_SysCtrl configuration parameters
4.90. SP810_SysCtrl registers
4.91. TZIC ports
4.92. TZIC registers
4.93. TZMPU ports
4.94. TZMPU configuration parameters
4.95. TZMPU registers
4.96. RemapDecoder ports
4.97. BP135_AXI2APB ports
4.98. BP141_TZMA security control
4.99. BP141_TZMA ports
4.100. BP141_TZMA configuration parameters
4.101. BP147_TZPC ports
4.102. BP147_TZPC registers
4.103. AndGate ports
4.104. OrGate ports
4.105. od to scale conversion
4.106. ICS307 ports
4.107. ICS307 configuration parameters
4.108. FlashLoader ports
4.109. FlashLoader configuration parameters
4.110. IntelStrataFlashJ3 ports
4.111. IntelStrataFlashJ3 configuration parameters
4.112. VFS2 ports
4.113. VFS2 configuration parameters
4.114. MessageBox ports
4.115. MessageBox configuration parameters
4.116. MessageBox registers
4.117. RAMDevice ports
4.118. RAMDevice configuration parameters
4.119. SMSC_91C111 ports
4.120. SMSC_91C111 configuration parameters
4.121. SMSC_91C111 bank 0 registers
4.122. SMSC_91C111 bank 1 registers
4.123. SMSC_91C111 bank 2 registers
4.124. SMSC_91C111 bank 3 registers
4.125. IntC ports
4.126. IntC configuration parameters
4.127. IntC registers
4.128. CMRegisters ports
4.129. CMRegisters configuration parameters
4.130. CMRegisters registers
4.131. CPTimers ports
4.132. GUIPoll component ports
4.133. GUIPoll configuration parameters
5.1. ARMCortexA9MPxnCT ports
5.2. ARMCortexA9MPxnCT parameters
5.3. ARMCortexA9MPxnCT individual core parameters
5.4. ARMCortexA9UPCT ports
5.5. ARMCortexA9UPCT parameters
5.6. ARMCortexA9UPCT individual core parameters
5.7. ARMCortexA8CT ports
5.8. ARMCortexA8CT parameters
5.9. ARMCortexR4CT ports
5.10. ARMCortexR4CT parameters
5.11. ARMCortexM3CT ports
5.12. ARMCortexM3CT parameters
5.13. ARM1176CT ports
5.14. ARM1176CT parameters
5.15. ARM1136CT ports
5.16. ARM1136CT parameters
5.17. ARM968CT ports
5.18. ARM968CT parameters
5.19. ARM926CT ports
5.20. ARM926CT parameters
6.1. Memory map and interrupts for standard peripherals
6.2. EB Baseboard Model instantiation parameters
6.3. Default positions for EB System Model switch S6
6.4. STDIO redirection
6.5. EB System Model switch S8 settings
6.6. EBVisualisation component ports
6.7. EBVisualisation configuration parameters
6.8. EB_SysRegs ports
6.9. EB_SysRegs configuration parameters
6.10. EB_SysRegs registers
6.11. TSC2200 ports
6.12. TSC2200 configuration parameters
7.1. MPSVisualisation interactive controls
7.2. MPSVisualisation component ports
7.3. MPSVisualisation configuration parameters
7.4. MPS_CharacterLCD component ports
7.5. MPS_CharacterLCD registers
7.6. MPS_DUTSysReg ports
7.7. MPS_DUTSysReg configuration parameters
7.8. MPS_DUTSysReg registers

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.

Unrestricted Access is an ARM internal classification.

Product Status

The information in this document is final, that is for a developed product.

Revision History
Revision A15 February 2008New document, based on previous documentation.
Revision BJune 2008Update for System Generator 4.0.
Revision CAugust 2008Update for System Generator 4.0 SP1.
Revision DDecember 2008Update for Fast Models 4.1.
Revision EMarch 2009Update for Fast Models 4.2. Combined all Fast Model Portfolio components into one manual.
Revision FMay 2009Update for Fast Models 5.0.
Revision GSeptember 2009Update for Fast Models 5.1
Copyright © 2008-2009 ARM Limited. All rights reserved.DUI0423G
Non-Confidential