仿真
信道与眼图
比特流通过带有 CTLE、DFE 以及 IBIS 驱动器和接收器的 S 参数路径,读取为眼图。
将比特流通过 FDTD 或级联结果中的路径,并绘制眼图。
name = "usb-eye"
kind = "channel"
board = "usb-link" # the sim with the S-parameters
through = ["J1", "J2"] # single ended FROM, TO
# pair = ["J1+", "J1-", "J2+", "J2-"] # or differential, uses Sdd21
bit_rate = "5Gbps"
rise = "40ps" # 10-90% edge, default 0.35 UI
swing = "0.8V" # peak to peak
prbs = 7 # 7, 9, 11 or 15
ctle = { dc_gain = -6.0, zero = "1GHz", poles = ["5GHz", "10GHz"] }
dfe_taps = 2 # ideal decision feedback on the first post cursors真实的驱动器和接收器来自其 IBIS 文件:
tx = { file = "models/sn74lvc1g04.ibs", model = "LVC1G04_OUT_33", component = "LVC1G04_DBV", pin = "4" }
rx = { file = "models/sn74lvc1g04.ibs", model = "LVC1G04_IN_33", component = "LVC1G04_DBV", pin = "2" }驱动器变为戴维南源:小信号输出电阻取自 [Pulldown] 和 [Pullup] 表中靠近电源轨的值,C_comp 位于芯片端,然后是引脚(或组件)封装的 R、L 和 C;其 [Ramp] 设置边沿(20-80% 转换为 10-90%),[Voltage Range] 设置摆幅,除非指定了 rise 或 swing。接收器用其封装和 C_comp 加载远端,眼图在芯片端读取。路径使用完整的双端口求解,因此高阻抗接收器会看到线路的反射。在 TI 的 SN74LVC1G04 模型上,ramp 和 V-I 表在 50 欧姆负载下的摆幅一致,误差在 2.5% 以内。目前 IBIS 仅支持单端路径。
脉冲响应来自路径的 S21(或 Sdd21)乘以 CTLE,具有高斯边沿,眼图是将 PRBS 以每单位间隔 64 个相位叠加其上。读数包括最佳相位下的眼高、眼宽、峰值失真最坏情况(主光标减去其他光标)、奈奎斯特频率处的损耗和光标计数。若边沿快于 S 参数可达范围,则减速至 1.3 / 最高频率,并附注。在 RC 通道上,最坏情况落在 1 - 2e^(-T/tau) 的 1.2% 误差范围内。