[ibis-macro] Re: AMI model for adaptive TX - query

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: akshaye.sama@xxxxxx
  • Date: Thu, 03 Apr 2008 10:03:53 -0500

Akshaye-

Fun question. Thanks for asking it.

Here are  some thoughts.

First of all, there are several observations to be made about the problem itself. 1. There is no standard definition for a backchannel, much less an algorithm that uses one. Therefore, interoperability of models from multiple vendors is a non-starter. 2. Since the control loop will necessarily include two or more models (at least a transmitter and a receiver), any solution will necessarily require cooperation between the two models and the EDA environment they run in. 3. The control loop bandwidth will necessarily be several orders of magnitude lower than the data rate. Therefore, one must consider the level of abstraction to be adopted in the analysis and simulation. You sure wouldn't want to simulate this system at the transistor level, but you should also consider just how simulation you want to do at the bit level.

Based on these observations, I have two recommendations:
1. Run a series of simulations with a range of static equalization settings. Derive the (possibly nonlinear) control loop parameters from those simulations, and use those parameters to perform analyses and simulations using time steps and frequency resolution appropriate to the control loop itself. This is where you do the real engineering. 2. Once you have a design you like, you could run some time domain simulations to demonstrate that the design works. This would be primarily for its entertainment value, but some managers find this kind of stuff entertaining, and part of our job is to entertain managers.

For the time domain simulations, I've been holding back a back door that I might as well make public. Note that the memory for the clock_ticks argument to GetWave is allocated by the EDA environment, and not by the model. This is something I disagreed with Kumar on, but decided I could live with his way of doing things, even if it wouldn't have been my choice, However, if the EDA environment is to allocate the memory for clock_ticks anyway, what's to prevent it from setting the values in that memory before calling GetWave? And what's to prevent a specific implementation of GetWave from interpreting whatever values the EDA environment put in that memory? Furthermore, suppose that on output, the GetWave function terminated the list of clock tick values in the clock_ticks array, as required by the BIRD, and then put some additional information? Seems like I should get myself a "Kumar was right" T shirt.

Hope this helps.
Mike S.

Akshaye Sama wrote:

Serdes designs can have mechanisms to adapt the TX based on RX information from a 'backchannel'. This means that during a simulation, the TX could be changing filter taps. Could the experts here give their opinion on how(/if) this could be modeled in AMI?

1-If the TX filter is implemented in the AMI_Init(), would this mean a re-start of the simulation on every change in TX filter? 2-If the TX filter is implemented in the AMI_GetWave(), how would this change in parameters be communicated to AMI_Getwave()? as it has no input parameter set. 3-Is there a defined way in which such(or any) RX information can be passed to the TX at run time(in an AMI environment)?

Thanks,
Akshaye

---------------------------------------------------------------------
IBIS Macro website  :  http://www.eda.org/pub/ibis/macromodel_wip/
IBIS Macro reflector:  http://www.freelists.org/list/ibis-macro
To unsubscribe send an email:
 To: ibis-macro-request@xxxxxxxxxxxxx
 Subject: unsubscribe


---------------------------------------------------------------------
IBIS Macro website  :  http://www.eda.org/pub/ibis/macromodel_wip/
IBIS Macro reflector:  http://www.freelists.org/list/ibis-macro
To unsubscribe send an email:
 To: ibis-macro-request@xxxxxxxxxxxxx
 Subject: unsubscribe

Other related posts: