Using Validation view

Validation tab has embedded multiple tabs, with different functionalities:
  • Init - offers possibility to initialize DDR subsystem without any additional memory tests.
  • Diags - offers TxEye and RxEye diagnostic tests. TxEye and RxEye will run Firmware Init automatically and will output eye diagrams. For more information please refer to Diag margin test
  • Operational - offers a suite of operational tests that will run Firmware Init and then perform basic operations like writing logical '1' and reading for given DDR memory ranges or stress testing a DDR region. For more information please refer to Operational Tests
  • Shmoo - contains a suite of tests designed to experiment with different Initial Board Setting values and display a map of the results. For more information please refer to Shmoo Tests

To begin testing please configure in DDR View the required settings, select and configure the test to be performed and configure the desired connection by choosing connection type and connection settings.

Connection type can be one of the following:
  • Serial connection – COM port must be specified. Note that it uses BootROM communication to upload DDR training data so make sure that serial boot is available. Clicking on the COM port scanning button populates the combo selection options with all the available COM ports while displaying live scanning process progress.
    Figure 1. COM port scanning
    Note: Serial download time can be improved by adjusting the driver settings on the COM port where the target is connected. Latency timer value should be set to 1ms. Depending on the OS, this can be achieved by:

    On Windows:

    In the Device Manager->COM Port->Properties->Port Settings->Advanced modify the Latency timer (msec) parameter from 16 to 1.

    On Linux:

    - Read the latency timer: cat /sys/bus/usb-serial/devices/USB_port_no/latency_timer

    - Set the latency timer: echo 1 > /sys/bus/usb-serial/devices/ USB_port_no /latency_timer

    - If admin rights are required: sudo bash -c "echo 1 > /sys/bus/usb-serial/devices/ USB_port_no /latency_timer"

    • Serial boot for secured application – this is a 2-step flow:
      • Exporting the non-secured binary image together with the RAM pointers information that are required for the signing process.
      • Selecting the signed application before running the DDR training, to be used in the serial boot process
    Figure 2. Secured Serial Connection
    Note: The non-secured application and RAM parameters export must be done after selecting the value of the XOSC source frequency.

  • S32 Debug Probe - USB device or IP/Hostname must be specified in order to connect, depending on the selected protocol

After configuring the connection, press Start Validation button and training will begin.

Current progress can be viewed in Summary tab. After test is finished Fail or Pass will be displayed in Result column. For Fail a status will be displayed in Fail reason column. For current progress and more details on execution of tests script consider opening Logs tab.

Figure 3. Validation View

For failing tests, Logs tab displays a Failed Test Report providing additional information about the failure like memory address, expected value, found value, etc. Please see below examples of failed reports for Write Read Compare and Stress tests.

Figure 4. Failed WRC Test Report
Figure 5. Failed Stress Test Report

Decode messages – allows the user to select and decode a binary dump file that contains debug messages logged during training. The decoded messages can be exported in a text file.

Note: The binary file used as input must result from dumping memory after executing DDR training using DDR Tool code generated with Save debug messages option enabled. User should create a memory dump of size PHY_LOG_SIZE (see ddr_utils.h), starting with the first selected address in DDR View.
Figure 6. PHY decode messages