# Rapid Eye Analysis — SCPI 程控示例 / SCPI automation example
# 连接 / Connect: TCP 127.0.0.1:5025, 每条命令以 LF (\n) 结尾
# 以 # 开头的行是注释, 不要发送 / lines starting with # are comments
# <DEMO> 请替换为本 demo 文件夹的完整路径 / replace with this folder's full path

# --- 识别与复位 / identify & reset ---
*IDN?
*RST
*CLS

# --- 第一张 NRZ 眼图 / First NRZ eye (Quick Start Step 1) ---
# *RST does not switch operating mode; select Normal explicitly.
CONF:MODE NORMAL
CONF:FILE "<DEMO>\sparams\demo_channel_clean.s4p"
CONF:DIFF:ENAB ON
CONF:DIFF:PAIR 1
CONF:SIGN:TYPE NRZ
CONF:SIGN:RATE 28
CONF:SIGN:PATT PRBS7
CONF:SIGN:SPU 64
INIT
*OPC?
FETC:EYE:ALL?
FETC:EYE:COM?

# --- 手动流程: 高损通道 + PAM4 + 逐级均衡 ---
# --- manual flow: lossy channel + PAM4 + step-by-step EQ ---
*RST
*CLS
CONF:MODE NORMAL
CONF:FILE "<DEMO>\sparams\lossy_channel_10dB.s4p"
CONF:DIFF:ENAB ON
CONF:DIFF:PAIR 1
CONF:SIGN:TYPE PAM4
CONF:SIGN:RATE 53.125
INIT
*OPC?
FETC:EYE:ALL?

# 启用并优化 TX FFE / enable & optimize TX FFE
CONF:FFE:ENAB ON
CONF:FFE:OPT
*OPC?

# 启用并优化 CTLE / enable & optimize CTLE (blocking)
CONF:CTLE:PRESET "802.3ck-C2C"
CONF:CTLE:ENAB ON
CONF:CTLE:OPT
*OPC?
INIT
*OPC?
FETC:EYE:ALL?

# RX FFE+DFE 联合优化 / jointly optimize RX FFE+DFE
# Keep the DFE first-tap bounds imposed by the ck-C2C preset.
CONF:DFE:ENAB ON
CONF:RXFFE:ENAB ON
CONF:RXFFE:OPTJ
*OPC?
INIT
*OPC?
FETC:EYE:ALL?
FETC:EYE:COM?
FETC:EYE:VEO?

# --- COM 一键导入 (含自动基线眼图) / one-click COM import ---
*RST
CONF:MODE NORMAL
CONF:FILE "<DEMO>\com_import\120G_C2C_10dB\thru.s4p"
CONF:DIFF:ENAB ON
CONF:DIFF:PAIR 1
CONF:COM:IMPORT "<DEMO>\com_import\120G_C2C_10dB\C2C_eval_ ck--TestChannel_9p7dB_at_26p56GHz_case1_results.csv" "<DEMO>\com_import\120G_C2C_10dB\config.xlsx"
*OPC?
FETC:EYE:ALL?
FETC:EYE:COM?

# --- 专家模式 IBIS-AMI 器件模型 (IBIS 8.0 参考套件 demo\ibis) / Expert-mode IBIS-AMI device models ---
*RST
CONF:MODE EXPERT
CONF:PIPE:CLEAR
CONF:PIPE:NODE:ADD source,src
CONF:PIPE:NODE:ADD ibis,ib_tx
CONF:PIPE:NODE:ADD sparam,sp1
CONF:PIPE:NODE:ADD ibis,ib_rx
CONF:PIPE:NODE:ADD probe,pr1
CONF:PIPE:CONN src,ib_tx
CONF:PIPE:CONN ib_tx,sp1
CONF:PIPE:CONN sp1,ib_rx
CONF:PIPE:CONN ib_rx,pr1
CONF:PIPE:NODE:PAR src,signal_type,nrz
CONF:PIPE:NODE:PAR src,data_rate,53.125
CONF:PIPE:NODE:PAR src,pattern,PRBS13
CONF:PIPE:NODE:PAR src,input_type,DIFF
CONF:PIPE:NODE:PAR sp1,file_path,<DEMO>\sparams\lossy_channel_10dB.s4p
CONF:PIPE:NODE:PAR ib_tx,side,tx
CONF:PIPE:NODE:PAR ib_tx,file_path,<DEMO>\ibis\rea_ref.ibs
CONF:PIPE:NODE:PAR ib_rx,side,rx
CONF:PIPE:NODE:PAR ib_rx,file_path,<DEMO>\ibis\rea_ref.ibs
CONF:PIPE:NODE:PAR ib_rx,ami_params,{"ctle_gain_db": 6, "dfe_taps": 2}
FETC:PIPE:IBIS? ib_rx
CONF:PIPE:VAL?
CONF:PIPE:RUN
*OPC?
FETC:PIPE:EYE? pr1
FETC:PIPE:EYE:REP? pr1
# IBIS 8.0 变体 (Ts4file + AMI_Resolve + BCI 训练 + Adaptation_Valid) / IBIS 8.0 variants
CONF:PIPE:NODE:PAR ib_tx,pin,A1
CONF:PIPE:NODE:PAR ib_tx,ami_file_path,<DEMO>\ibis\rea_ref_tx_v8.ami
CONF:PIPE:NODE:PAR ib_rx,pin,B1
CONF:PIPE:NODE:PAR ib_rx,ami_file_path,<DEMO>\ibis\rea_ref_rx_v8.ami
CONF:PIPE:RUN
*OPC?
FETC:PIPE:EYE? pr1
# [AMI Test Configuration] golden 自检 / golden self-check
FETC:PIPE:IBIS:TEST? ib_tx,typ_statistical
# IBIS-ISS 子电路封装 (互连模型组) + §10.5 DLL_Path/DLL_ID / IBIS-ISS packages + data-management placeholders
CONF:PIPE:NODE:PAR ib_tx,package_source,interconnect
CONF:PIPE:NODE:PAR ib_tx,interconnect_group,REA_IC_GROUP_ISS
CONF:PIPE:NODE:PAR ib_rx,package_source,interconnect
CONF:PIPE:NODE:PAR ib_rx,interconnect_group,REA_IC_GROUP_ISS
FETC:PIPE:IBIS? ib_tx
CONF:PIPE:RUN
*OPC?
FETC:PIPE:EYE? pr1
# [C Comp Model] 裸片网络 (7.2 .ami, I-V 前端) / [C Comp Model] die networks on the I-V front end
CONF:PIPE:NODE:PAR ib_tx,ami_file_path,<DEMO>\ibis\rea_ref_tx.ami
CONF:PIPE:NODE:PAR ib_rx,ami_file_path,<DEMO>\ibis\rea_ref_rx.ami
CONF:PIPE:NODE:PAR ib_tx,c_comp_source,auto
CONF:PIPE:RUN
*OPC?
FETC:PIPE:EYE:REP? pr1
CONF:MODE NORMAL

# --- 错误队列检查 / drain error queue (0,"No error" = clean) ---
SYST:ERR?
