How to Program Victim Mode/Victim Select/Victim Aggressor Delay - 1.0 English

Versal Adaptive SoC Soft DDR4 SDRAM Memory Controller LogiCORE IP Product Guide (PG353)

Document ID
PG353
Release Date
2023-10-18
Version
1.0 English

Basic cross-coupling patterns are supported in the victim mode. In a given Victim mode, the victim and aggressor behaviors are controlled by the Victim Select and the Victim Aggressor Delay.

First, program Victim mode to choose victim/aggressor relationship.

Held1
All aggressors held at 1.
Held0
All aggressors held at 0.
NONINV_AGGR
All aggressors signals are same as victim pattern.
INV_AGGR
All aggressor signals are inversion of victim pattern.
DELAYED_AGGR
All aggressors are presented as delayed version of victim pattern. Delay is programmable (vio_tg_victim_aggr_delay).
DELAYED_VICTIM
Victim is presented as delayed version of aggressor pattern. Delay is programmable (vio_tg_victim_aggr_delay).
CAL_CPLX
Both victim and aggressor are defined as calibration complex pattern. Both Data Mode and Victim Mode have to be programmed to CAL_CPLX.

After a Victim mode is selected, program the victim/aggressor select.

  • Use the external VIO signal to choose victim bit (vio_tg_glb_victim_bit).
  • Rotate victim per nibble (from Bits[3:0]) for every nibble.
  • Rotate victim per byte (from Bits[7:0]) for every byte.
  • Rotate victim in the whole memory interface.

If you selected Victim mode as DELAYED_AGGR or DELAYED_VICTIM, the number of UI cycle shifted is programmed in vio_tg_victim_aggr_delay (where 0 ≤ N ≤ 24).

Note: CAL_CPLX is a AMD internal mode that is used for the Calibration Complex Pattern.