3.9.10 CCN512

CCN512 Interconnect Fast Model. This model is written in C++.

CCN512 contains the following CADI targets:

  • CCN5XX
  • CCNCache

CCN512 contains the following MTI components:

About CCN512

CCN512 has an L3 cache that can provide coherency between up to 12 fully coherent ACE clusters and 24 I/O coherent masters. It can connect up to four memory elements to drive transaction requests.

CCN512 has six downstream ports:

  • Four SNF ports for the memory controller
  • Two Acelite ports (HNI)

Some useful parameters are:

  • cache_state_modelled
  • cache_size_in_mbytes
  • systemaddrmap

The model has the following limitations:

  • No support for 3 SN striping.
  • If there are multiple SN-Fs, the distribution of addresses to each SN-F is not guaranteed to match the hardware.

Table 3-306 Ports

Name Protocol Type Description
pvbus_m_hni[2] PVBus Master HNI downstream ports.
pvbus_m_snf[4] PVBus Master SNF downstream ports.
pvbus_s_rnf[12] PVBus Slave RNF upstream ports.
pvbus_s_rni[24] PVBus Slave RNI upstream ports.
reset_in Signal Slave Reset signal.

Table 3-307 Parameters for CCNCache

Name Type Default value Description
ccn_cache.acchannelen_rnf int 0xf For each upstream port, determine if it is enabled or not w.r.t. snoop requests.
ccn_cache.acchannelen_rni int 0xfff For each upstream port, determine if it is enabled or not w.r.t. dvm requests.
ccn_cache.cache_size_kb int 0x2000 Number of kilo bytes in cache
ccn_cache.cache_state_modelled bool 0x1 Model the cache state.
ccn_cache.force_on_from_start bool 0x0 The CCI will normally start up with snooping disabled, however, using this then we allow the model to start up as enabled without having to program it. This is only setup at simulation reset and not at signal reset. If the upstreams can ever be held in reset then you *must* connect the reset_state_of_upstream_port_3 and reset_state_of_upstream_port_4 so that it knows when to disable snoops to the upstream systems. Otherwise, the upstream system will receive snoop messages whilst in reset and it will complain that it 'received a snoop request whilst it was in reset'.
ccn_cache.number_of_phantom_entries int 0x20 Number of phantom entries in the cache. Phantom entries are used by certain cache operations to hold temporary data. Usually this should be left at the default value which is safe for all systems containing up to 32 masters.
ccn_cache.periphbase int 0x2c000000 Value for PERIPHBASE. Only bits [43:24] are used
ccn_cache.reentrancy_support string "env" Must be one of: on/off/cacheglobal/env: 'on': hazard checking per cache line (normal mode), 'off': no hazard checking (use only for single master systems), 'cacheglobal': hazard checking globally for cache (not per cache line, testing feature, provokes more hazards than necessary), 'env' (or empty string): take value from FM_REENTRANCY_SUPPORT env var, if this is not set use 'on', default is 'env'
ccn_cache.sbas_bridge_present bool 0x1 For each upstream port, determine if it is enabled or not w.r.t. dvm requests.
ccn_cache.sbsx_bridge_present bool 0x1 For each upstream port, determine if it is enabled or not w.r.t. dvm requests.
Non-ConfidentialPDF file icon PDF version100964_1110_00_en
Copyright © 2014–2020 Arm Limited or its affiliates. All rights reserved.