This can be done dynamically using LMMI (Lattice Memory Mapped Interface).
The user just has to write the register address value (‘d217) to the lmmi_offset_i (address/offset) to access that PMA register.
The needed information are shown below:
Register address: 'D217
Register Name: REG217- Equalization Register
Default values: 'h7C
rxeq_enable[2:0] of REG217[2:0]: This register enables to perform adaptive equalization in each data rate:
- rxeq_enable[0]: gen1 data rate
- rxeq_enable[1]: gen2 data rate
- rxeq_enable[2]: gen3 data rate
rxeq_algo[2:0] of REG217[6:4]: This register defines which equalization algorithm to apply in each data rate:
- 000: SS_LMS
- 001:RL2plus
for example:
If RL2plus is desire & gen1 data rate:
lmmi_offset_i = 217
lmmi_wdata_i = 16'h1C
Then to change it to SS_LMS dynamically, provide another write to the register:
lmmi_offset_i = 217
lmmi_wdata_i = 16'h0C