You copied the Doc URL to your clipboard.

ARM1136CT component

This section describes the ARM1136CT component.

ARM1136CT - about

This C++ component is a model of r1p1 of an ARM1136JF-S™ processor.

ARM1136CT - ports

This section describes the ports.

Table 3-153 ARM1136CT ports

Name Protocol Type Description
clk_in ClockSignal Slave Clock input
pvbus_m PVBus Master Master port for all memory accesses
reset Signal Slave Asynchronous reset signal input
irq Signal Slave Asynchronous IRQ signal input
fiq Signal Slave Asynchronous FIQ signal input
pmuirq Signal Master Performance monitoring unit IRQ output
dmasirqa Signal Master Normal DMA interrupt output
vic_addr ValueState Slave Address input for connection to PL192 VIC
vic_ack Signal Master Acknowledge signal output for PL192 VIC
ticks InstructionCount Master Output that can be connected to a visualization component

ARM1136CT - parameters

This section describes the parameters.

Table 3-154 ARM1136CT parameters

Name Type Allowed values Default value Description
BIGENDINIT Boolean true, false false Initialize to ARMv5 big endian mode.
INITRAM Boolean true, false false Initialize with ITCM0 enabled at address 0x0.
UBITINIT Boolean true, false false Initialize to ARMv6 unaligned behavior.
VINITHI Boolean true, false false Initialize with high vectors enabled.
itcm0_size Integer 0x00-0x40 0x10 Size of ITCM in KB.
dtcm0_size Integer 0x00-0x40 0x10 Size of DTCM in KB.
device-accurate-tlb Boolean true, false falseb Specify whether all TLBs are modeled.
semihosting-cmd_linec String No limit except memory [Empty string] Command line available to semihosting SVC calls.
semihosting-enable Boolean true, false true Enable semihosting SVC traps. Caution: applications that do not use semihosting must set this parameter to false.
semihosting-ARM_SVC Integer uint24_t 0x123456 A32 SVC number for semihosting.
semihosting-Thumb_SVC Integer uint8_t 0xAB T32 SVC number for semihosting.
semihosting-heap_base Integer 0x00000000-0xFFFFFFFF 0x0 Virtual address of heap base.
semihosting-heap_limit Integer 0x00000000-0xFFFFFFFF 0x0F000000 Virtual address of top of heap.
semihosting-stack_base Integer 0x00000000-0xFFFFFFFF 0x10000000 Virtual address of base of descending stack.
semihosting-stack_limit Integer 0x00000000-0xFFFFFFFF 0x0F0000000 Virtual address of stack limit.
vfp-enable_at_resetd Boolean true, false false Enable coprocessor access and VFP at reset.
vfp-present Boolean true, false true Configure processor as VFP enabled.e
cpi_mul Integer 1-0x7FFFFFFF 1 Multiplier for calculating Cycles Per Instruction (CPI).
cpi_div Integer 1-0x7FFFFFFF 1 Divider for calculating CPI.

ARM1136CT - registers

This component provides the registers that the Technical Reference Manual (TRM) specifies except for the coprocessor 14 registers and the integration and test registers.

This PV model does not model Level 1 or Level 2 caches. The system coprocessor registers related to cache operations permit cache aware software to work, but in most cases they only check register access permissions:

  • Cache Dirty Status.
  • Data Memory Barrier.
  • Data Write Barrier.
  • Data/Instruction Debug Cache.
  • ICache/DCache lockdown.
  • ICache/DCache master valid.
  • Invalidate and/or Clean Both Caches.
  • Invalidate and/or Clean Entire ICache/DCache.
  • Invalidate and/or Clean ICache/DCache by Index.
  • Invalidate and/or Clean ICache/DCache by MVA.
  • Level 1 System Debug registers.
  • Prefetch ICache Line.
  • Read Block Transfer Status Register.
  • Stop Prefetch Range.


This component does not implement device accurate MicroTLBs, or system coprocessor registers related to MicroTLB state. The registers affected are:

  • Data/Instruction MicroTlb Attr.
  • Data/Instruction MicroTLB Index.
  • Data/Instruction MicroTLB PA.
  • Data/Instruction MicroTLB VA.


These TLB registers do not have working implementations:

  • Data memory remap register.
  • DMA memory remap register.
  • Instruction memory remap register.
  • Main TLB Master Valid.
  • Normal memory remap register.
  • Primary memory remap register.
  • Read Main TLB Attr.
  • Read Main TLB Entry.
  • Read Main TLB PA.
  • Read Main TLB VA.
  • TLB Debug Control.

In addition, the simulation does not distinguish peripheral accesses from data accesses, so it ignores configuration of the peripheral port memory remap register.

ARM1136CT - debug features

This component exports a CADI debug interface.

ARM1136CT - debug - registers

All core, VFP, and CP15 registers are visible in the debugger.

The CP14 DSCR register is visible for compatibility with some debuggers. This register has no defined behavior.

ARM1136CT - debug - breakpoints

This component directly supports single address unconditional instruction breakpoints, unconditional instruction address range breakpoints, and single address unconditional data breakpoints.

The debugger might augment these with more complex combinations of breakpoints.

The model does not support CADI exception breakpoints. Instead, it implements exception breakpoints as register breakpoints on pseudoregisters, named after the exceptions, in the Vectors register group.

ARM1136CT - debug - memory

This component presents a single flat 4GB view of virtual memory as seen by the processor.

ARM1136CT - verification and testing

This component passes tests by using the architecture validation suite tests and booting of Linux and other operating systems on an example system.

ARM1136CT - differences between the CT model and RTL implementations

This component differs from the corresponding revision of the RTL implementation.

There is a single memory port combining instruction, data, and peripheral access.


This signal is currently misnamed and is to be named dmairq.


Specifying false models enables modeling a different number of TLBs if this improves simulation performance. The simulation is architecturally accurate, but not device accurate. Architectural accuracy is almost always sufficient. Specify true if device accuracy is required.


The value of argv[0] points to the first command line argument, not to the name of an image.


This is model specific behavior with no hardware equivalent.


This parameter lets you disable the VFP features of the model. However the model has not been validated as a true ARM1136J-S processor.