Skip to content

Improve CTLE simulation speed #10

@savob

Description

@savob

The vast majority of simulation times come from the simulation of the CTLE for the receiver, specifically lsim is responsible for 90% of run time during adaption. Each call to lsim takes approximately two seconds. Some proposed solutions:

  • Attempt to parallelize its operation across all channels in a given link configuration. Currently the RX CTLE is applied to each of the combined channels (THRU, NEXT, FEXT) sequentially. With proper parallelization, this could cut the execution time for simulations that consider all these by 66%.
  • Consider replacing lsim with a convolution operation like what is done for pulse response generation. This is probably what goes on inside lsim but we could avoid repeatedly calculating this response by recording it the first time for a given CTLE. Then whenever the response is needed, read it from memory and convolve which is much faster than recalculating the impulse response repeatedly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions