Non-Confidential | ![]() | 100964_1180_00_en | ||
| ||||
Home > Trace components > CCI550 - trace |
This section describes the trace sources.
The upstream system is known to be in reset but we are trying to enable snoops/DVM to the port. In a real system, this could deadlock as snoop transactions could get routed to the port unless there were absolutely no shared transactions in flight or made. In any event, it is highly unlikely that the programmer intended this. Fields:
is_dvm_enable
boolupstream_port_index
unsigned intAn error occurred in managing the reset of upstream systems whose entrance and exit of the coherency domain is managed by software. Fields:
why
stringACCHANNELENSx should tell us which upstream ports have a connected snoop and DVM channels. The model has detected that an enabled port does not have a snoop/DVM channel. This will be silently ignored in the model, but might have deadlocked the hardware. Fields:
acchannelensx
unsigned intupstream_port_index
unsigned intDESCRIPTION: The software tried to enable %{which} messages on port %{upstream_port_index} that is not capable of receiving these messages, for example by being disallowed by ACCHANNELENS%{upstream_port_index} or entirely disconnected. Fields:
acchannelensx
unsigned intbitmap_of_connected_upstream_ports
unsigned intbitmap_of_dvm_upstream_ports
unsigned intbitmap_of_full_ace_upstream_ports
unsigned intupstream_port_index
unsigned intwhich
enumAll signals should be driven at simulation reset so that both sides of the connection agree on the value of the wire. This trace source means that the driver of the signal did not do this. Fields:
upstream_port_index
unsigned intvalue
boolIf snoop change request is pending, and the upstream system is reset during that process then the system could deadlock if there is any possibility of a shared transaction being in flight at the time. The upstream port might have an outstanding snoop request when it is reset and the interconnect would wait indefinitely for the response. Fields:
upstream_port_index
unsigned intvalue
boolwhy
enumACCHANNELENSx tells the interconnect which upstream ports do not have connected snoop channels. This warns when a shared transaction is received from an upstream ACE port that doesn't have its snoop channel enabled by ACCHANNELENSx and there are other ports. This may be OK if the upstream system does not accept Snoop/DVM and so is purely an ACE-Lite system, or the upstream systems are truly separate shareability domains. However, this might also mean that you have completely forgotten to program the interconnect or use the parameter force_on_from_start. This will only be warned _once_ between resets of the interconnect. Fields:
upstream_port_index
unsigned intAn allowed register access to the register file. Fields:
data
unsigned intis_debug
boolis_read
boolns
boolregister
enumThis reports a bitmap of which ports are disabled to receive DVM messages. Fields:
new_bitmap
unsigned intnew_bitmap_list
unsigned intold_bitmap
unsigned intold_bitmap_list
unsigned intThis reports a bitmap of which upstream ports of the cache are _disabled_ and so we won't sends snoop requests to them. Fields:
new_bitmap
unsigned intnew_bitmap_list
unsigned intold_bitmap
unsigned intold_bitmap_list
unsigned intOne of the configuration pins changed. In the RTL these are sampled at reset, but in the model, we sample it at first transaction. If it occurs after this point then it is traced but the field 'ignored' will be true and the value reported will be what it wanted to change to rather than the value it actually is. Fields:
ignored
boolvalue
unsigned intwhich
enumThe signals/parameters that cause whether events are counted or not. Fields:
dbgen
boolniden
boolnon_secure_traceable
boolsecure_traceable
boolspiden
boolspniden
boolThis is the error interrupt signal that is generated when there are unacknowledged imprecise errors. Fields:
value
boolThe event counter overflow interrupt lines. Fields:
counter_id
unsigned intvalue
boolA commentary on what force_on_from_start is doing. Fields:
acchannelen_dvm
unsigned intacchannelen_snoop
unsigned intenable
boolreset_state_of_upstream_system
enumupstream_port_index
unsigned intwhy
enumThe register access is ignored for some reason. Fields:
address
enumis_debug
boolis_read
boolns
boolwhy
enumAn imprecise error was received for the specified transaction. Fields:
address
unsigned intdownstream_port_index
unsigned intns
boolThe performance monitor counter overflowed. Fields:
counter_id
unsigned intevent_counting
unsigned intnew_value
boolold_value
boolA programmed change to the performance monitor unit counter. Fields:
counter_id
unsigned intcurrent_count
unsigned intenabled
boolevent_counting
unsigned intwhy
enumRead/Write of the register file. Fields:
address
unsigned intdata
unsigned intis_debug
boolis_read
boolns
boolnumber_of_beats
unsigned intresult
enumwidth_in_bytes
unsigned intThe pins reset_state_of_upstream_port[N] are intended to be use as checks by the interconnect that the programmer has disabled snoops and DVMs to upstream ports whose systems are in reset. If you connect these ports to a signal that indicates if the upstream port is in reset then the interconnect can perform this check. This trace source is the trace of those reset state changes. Fields:
upstream_port_index
unsigned intvalue
boolWhen a change to whether to send snoop requests or DVM messages to a port is setup then it takes a finite period of time to take effect and the SW should poll for completion. This tells you when an upstream port has a snoop change pending on it that hasn't been polled for completion. Fields:
comment
enumpending
boolupstream_port_index
unsigned int