342 - Lattice Diamond: How can I edit the LatticeECP2/M PCS auto-configuration to support a SERDES clock multiplier that is not available in the IPexpress GUI?

342 - Lattice Diamond: How can I edit the LatticeECP2/M PCS auto-configuration to support a SERDES clock multiplier that is not available in the IPexpress GUI?

It is possible to manually edit the PCS auto-configuration file to support clock multipliers not available in the IPexpress session

It is recommended that you carefully read TN1124 before editing the auto-configuration file. Based on the Attribute Cross-Reference Table in TN1124, you can modify the clock multiplier (CH[0:3]_REFCK_MULT) in the auto-configuration file to obtain the desired multiplier factor.

The following steps show how to obtain a X25 clock multiplier at 2.5 Gbps (100 MHZ reference clock) in Generic 8b10b Mode since IPexpress does not provide X25 as an option in this mode:

  1. Generate the IPexpress model with data Rate =2.5Gbps and pick any available multiplier (example X20, 125 MHZ refclk )
  2. Modify the CH#_REFCK_MULT entries in the auto-configuration file.  Replace the '#' character with the appropriate channel number.  For example, to run Channel 1 at 25X: CH1_REFCK_MULT "25X". The reference clock is now 100 MHZ to maintain a 2.5 Gbps full data rate.

This will reprogram the channel Reference Clock multiplier so that it will multiply the 100MHz REFCLK input by 25.

Note that all channels you edit need to have the same multiplier number preceding "X". In the example above, that number is 25.

For example, other channels can have a CH#_REFCLK_MULT of either "25X" (full rate) or "25XH" (half rate).