I am running FastEye Channel Analyer, the resulted channel pulse response is shown below. I denote two pre-cusors (X-2, X-1), main cursor (X0) and two post-cursors (X1, X2) on the curve. The value is the difference between the corresponding point and the baseline at -480mV.
When I set Tx pre-emphasis Taps to 3, the synthesized optimal values is following:
When I set Tx pre-emphasis Taps to 5, the synthesized optimal values is following:
It seems to me that somehow the Tool got confused about Pre-Taps with Post-Taps and swapped them. My understanding is that, to first order, Pre-Taps are used to reduce/minimize the pre-cursor of the channel pulse response, and Post-Taps are used to reduce/minimize the post-cursor. The channel pulse response got a much bigger post-cusor than pre-cursor, so my naive thinking is the Post-Tap should have a much bigger absolute value than that of Pre-Tap.
In 3-Tap case, using ZFS (Zero Forcing Solution) method with following matrix,
[y(-1)] [X0 X-1 X-2] [C-1]
[ y(0)] = [X1 X0 X-1] * [C0]
[Y(1)] [X2 X1 X0] [C1]
Setting y(-1)=y(1)=0 and C0=1, we got C-1 = -0.11, C1=-0.4635. Compare these two values to those synthesized in 3-Tap case, they are close but swapped.
In 5-Tap case, the tool synthesized result gives 3 Pre-Taps and 1 Post_Tap, whereas the channel pulse response got a much longer post-cursor than pre-cursor. So this also suggests the Tool swapped Pre-Tap with Post-Tap.
To verify my suspicion, I set the Xilinx GTX Tx pre-emphasis settings (3-tap) according to the tool synthesized Tap values, the resulted eye is closed. If I set Xilinx GTX Tx pre-emphasis settings using swapped synthesized Tap values or my own calculations (C-1, C1 above), the resulted eye is open.
So my real questions are: a) Are those tool sysntesized Tap values just swapped or completely wrong? b) Am I wrong in above analysis?
My HyperLynx version is:
[V8.1 build 510(510,0)]
Jan 20 2011