Very Advanced Usage

The following instructions indicate how to reprogram the SERENITY Carrier Card for different FPGA Daughter Card configurations. It is imperative that this is done reponsibly as choosing the wrong voltage configurations could cause catastrophic failure of the FPGA. SMASH is used to control and configure the hardware. Basic commands are covered within Useful Commands and Advanced Usage.

In the following the SMASH commands are given for interactive usage (smash -i) then can be included in the command-line with the addition of double quotes - see the introductory SMASH documentation for more details.

Set the Core (NDM) Voltages:

First determine what the voltages are from the core NDM regulators:

Foreach type NDM.* Measure .*

The U0:8 and U1:8 are for the Fireflys and should be set to 3.3V. The U0:11 and U1:11 correspond to the Daughter Card sites X0 and X1. For the KU115 the voltages should look like:

Main NDM Voltages for the KU115 FPGA

These correspond to the recommended values from the Xilinx data-sheet:

Recommended voltages for the KU115 FPGA (datasheet)

For the KU15P the main FPGA voltage should be 0.85V, as stated here:

Main voltages for the KU15P FPGA

If the voltage is incorrect then these can be set (e.g. for the X1 site) and then stored:

U1:11 Vout 0.95V
U1:11 "Store to NVM"

Failure to execute the last command will lose the adjusted value if the board is power cycled (independent of DC power cycle).

Set the LTM Voltages:

First again determine what the voltages are currently set to:

Foreach type LTM.* Measure .*

The correct voltage configuration for a KU115 FPGA should look like the following (if the X1 site is powered on):

Full LTM for the KU115 FPGA

Note that these values should not be set manually if it is different to the above (and you have a KU115). Instead a full configuration file should be used.

The LTM configuration files can be created using analog’s ltpower-play software (windows only):

Already created files can be found below:

The configuration file can be loaded for a single daughter site (X0, DC0, IC0, South) with the following SMASH interactive command:

X0:LTgroup Configure /path/to/LTM4677-KU115-V1.txt

Equally both daughter card sites can be programmed together:

Foreach type LTgroup Configure [filename]

If the wrong configuration file type is being loaded (either a proj file or an incompatible text file) then the error will indicate that I2C has failed and no acknowledge is received with something like:

Error message if wrong LTM configuration file is being loaded

Finally the LTM values should be stored to NVM in order to make them persistent during power cycling of the carrier card (independent of the DC site):

Foreach type LTM.* "Store to NVM"