ADS 中的 Ethernet Designer
ADS 中的 Ethernet Designer
—— 快速入门 System Designer for Ethernet
前言
近年来,随着人工智能对算力与带宽需求的持续提升,数据中心内部的互连架构正逐渐从传统中心化交换模式向更高带宽密度、更低延迟的点对点互连模式演进。以 NVLink、NVSwitch 为代表的新型高速互连技术,正在推动 ASIC 芯片之间形成更加紧密的协同计算网络。与此同时,工程领域对于链路信号完整性(SI)的关注也不断提升,人们更加关注眼图、BER、SNR 等关键指标在高速链路中的演化规律,并基于系统级仿真结果对器件与链路结构进行联合优化。
为了进一步提高服务器之间的信息传输效率,业界开始尝试以光互连替代传统铜缆互连,在数据中心层级构建高带宽、低功耗的光通信网络。目前广泛采用的方案通常通过可插拔光模块完成电口到光口的转换,但信号在 ASIC、封装基板与光模块之间的长距离电互连过程中会引入额外损耗与功耗,限制系统整体性能。因此,人们希望实现"光 I/O"架构,使信号从 ASIC 输出后即可直接完成光调制,并通过光纤进行高速信息交互,由此催生了 ...
MZM EOE 仿真
MZM EOE 仿真
今天研究一下 ADS 中的 EOE 链路仿真案例
前言
根据前面的了解,对于一个 EOE 链路而言,最基础的链路构成包含:
电信号源
载波光源
电光调制器
光纤
光电探测器
Tx 和 Rx 就不细说了,里面可能包含 Driver,TIA,VGA 以及各种 DSP 电路,这些都是 EOE 前后的组件。
以前我们在 VPI 中对 EOE 链路进行了仿真计算,但自从 ADS 出来 Photonics Designer Suite 后,可以考虑在 ADS 中对该链路直接计算了。
我们接下来以MZM_EOE_Simulation案例为例,详细分析 ADS 中的 EOE 链路仿真。
仿真器
首先分析该仿真案例的全局情况
包络仿真器具体工作原理和机制已经在前面的博客ADS 中的包络仿真器中介绍过了,这里仅针对当前仿真案例的情况进行描述。首先用一个变量与方程组件来集中管理包络仿真器里的参数,包括信号的波特率 15e9,仿真符号数 10000,环境带宽为 5 倍波特率。同时定义了载波频率 Freq[1] 与载波波长 lambda。仿真时间根据带宽和符号数来确定。
信源
...
离散时间PRBS源
离散时间PRBS源
前言
在进行链路仿真中会经常遇到各种 PRBS7、PRBS13、SSPRQ 等码型。这些码型在仿真中通常用算法来生成,而非直接存储调用。针对 ADS 中的 PRBS 码型生成器 VtLFSR_DT,我们大致了解一下码型的生成原理与设置指标。
信源生成器
VtLFSR_DT 是一个信源生成器组件,全名是 Vt(Voltage source in time domain)、LFSR(Linear Feedback Shift Register)、DT(Discrete Time)。这是一个离散时间数字源,需要输入的主要参数为 Vlow、Vhigh、Rate、Delay、Taps 和 Seed。
Vlow、Vhigh、Rate、Delay 不需要多说,无非就是高低电平,符号率与时延,决定了输出序列的大小、速率和相位。
问题主要集中在 Taps 和 Seed,这俩是啥?
为了彻底搞清楚这俩到底是什么,我们得从一个最基本的数学概念开始讲起,伽罗瓦域
群论与伽罗瓦域
伽罗瓦域的概念源自于群论,想必大家都听说过法国数学家伽罗瓦的故事,在他还只有十几岁的时候,他就发现了 n 次多项 ...
ADS 中的包络仿真器
ADS 中的包络仿真器
仿真器工作原理
仿真器是ENVELOPE,具体原理与 VPI 中保持一致,即慢变振幅近似下的等效基带变换。主要分析载波的时变振幅,因此得名包络仿真器。
包络仿真器的处理对象是时域调制信号,下面概述电路包络仿真过程的基本概念:
输入信号变换:
每个调制信号都可以表示为一个载波由一个包络调制而成,即 A(t)ejf(t)A(t)e^{jf(t)}A(t)ejf(t)。采样包络的幅值和相位用作谐波平衡分析的输入信号。
含时变包络的谐波平衡分析:
在每个时间步都会进行谐波平衡分析,该分析既包含基本的谐波平衡方程,也考虑时变包络的影响。此过程会生成一系列频谱用以表征不同时间步下电路的响应。电路包络通过具有时变系数的傅里叶级数提供电路的完整非稳态解。
这里需要详细说一下背后的原理
什么是谐波分析,谐波分析 = 用傅里叶分析专门研究“谐波”这一类频率成分,如果基波频率是 f0f_0f0,2f02f_02f0 就是二次谐波,3f03f_03f0 就是三次谐波,特别关注这一类整数倍频的方法就叫谐波分析。谐波平衡,就是在谐波分析的基础上,让电路满足 ...
求解器中的预处理器
求解器中的预处理器
Krylov 算法中的预处理器 Preconditioner
前言
Newton-Krylov 迭代法已经能求解绝大多数非线性电路方程组了,但遇到一些刚性电路(特征值量级差异巨大的电路,雅可比矩阵病态),一个器件时间常数纳秒级,一个器件时间常数毫秒级,且带有严重非线性,收敛还是会变得非常困难。
人们为了解决上述情况,提出了预处理器(Preconditioner)这个概念。预处理的本质定义就是
把原问题 Ax=bAx=bAx=b 变成一个更容易被 Krylov 收敛的问题。
数学原理
当求解器拿到一个大型方程组 Ax=bAx=bAx=b 的时候,它通常不会直接开解,而会先对方程组进行预处理
左预处理(常见)
M−1Ax=M−1bM^{-1}Ax=M^{-1}b
M−1Ax=M−1b
右预处理
AM−1y=b,x=M−1yAM^{-1}y=b,\quad x=M^{-1}y
AM−1y=b,x=M−1y
通过上述处理,能够使 M−1AM^{-1}AM−1A 的谱性质更好,从而更容易收敛。预处理之所以能够加速收敛,是因为
Krylov 迭代的收敛速度,近似取决于其 ...
非线性方程组求解器算法
非线性方程组求解器算法
总结一下电路仿真器中的非线性方程组求解器算法,即 Newton-Krylov 方法
算法概述
外层循环:非线性泰勒展开(牛顿法)
动作:面对复杂的非线性方程 F(x)=0F(x)=0F(x)=0,牛顿法确实是在当前点进行一阶泰勒展开。
结果:它丢掉了高阶项,将原本"弯曲"的非线性问题变成了"笔直"的线性方程 J⋅Δx=−F(x)J\cdot \Delta x=-F(x)J⋅Δx=−F(x)
内层计算:线性方程组求解(Krylov 迭代)
动作:现在我们手里有一个巨大的线性方程组。如果电路很大,我们不用"暴力"的高斯消元,而是用 Krylov 子空间迭代(如 GMRES)。
结果:它不存完整的 JJJ 矩阵,而是通过不断的"向量乘法"试探,快速求出 Δx\Delta xΔx
约束导向:弧长法加持(弧长约束)
动作:如果此时电路处于极端非线性区(比如增益压缩的拐点),直接按牛顿法的 Δx\Delta xΔx 跳过去可能会"脱轨" ...
ADS 中的光 S 参数
ADS 中的光 S 参数
前言
最近 ADS 新出了 Photonics Designer Suite,试用了一下,整体知识图谱与 VPIphotonics 一模一样,无非就是基于慢变振幅近似下等效基带变换的数学原理。因此,ADS 给这个仿真器起了个很直白的名字,叫做ENVELOPE,即波包仿真器(这个仿真器很早就有了)。
最有趣的还是 Photonics Designer 中引入了几个新的仿真器和模块,是专门针对光信号的,例如OPTICAL S-PARAMETERS和Optical Simulation Block。
其中Optical Simulation Block的作用是针对光信号偏振而来的,我们知道 VPIphotonics 中的光信号基本模式有两种,一种是Sample,一种是Block,分别对应不同边界条件。前者非周期双向交互,后者往往是周期单向,且传输延迟远大于数据块持续时间。ADS 里的Block对应含义与 VPI 中保持一致。
最有意思的还是OPTICAL S-PARAMETERS这个仿真器,因为据我所用的 VPI 11.1 版本中还没有这个东西,而它又是非常重要的网 ...
SerDes 信号是如何恢复出来的
SerDes 信号是如何恢复出来的
搞了快两年的信号处理,知识碎片零零散散,趁这个机会总结提炼一下。
SerDes 信号与系统
所谓 SerDes,就是 Serializer-Deserializer 的简写,指代发射端并行信号先通过串化器转成串行信号,通常以差分信号的形式传输,并在接收端解串还原成并行信号的系统。
因此发射端输出的信号是一串速率极高的振荡波形,从一G到百G量级的电磁信号。如果信号是以光载波的形式传输,整个系统可以看成强度调制-直接探测(IM-DD)系统,不同的幅值对应不同的比特序列。最常见的 NRZ 信号一个符号对应一个比特,也就是 PAM2 信号,有两个电平 level。PAM4 信号有四个电平 level,一个符号对应俩比特,因为俩比特的状态有四种。
我们真正想要的,是发射端输出的比特能尽可能正确的在接收端拿到。即便拿到的比特序列误码率很高,也要想办法尽可能恢复出最真实的结果。这个过程中主要存在三个主体:
发射端 Tx
信道 Channel
接收端 Rx
我们的目的是保证 Tx 送到 Rx 的信息尽可能正确传达,Rx 的波形形貌还是不是 Tx 送出的样子,并不 ...
ADS 中的 AMI 构建器
ADS 中的 AMI 构建器
ADS 中有两套 AMI Builder,一个是 Memory Interface AMI Builder,一个是 SerDes AMI Builder。它们分别是两套 AMI 体系:
12Memory Interface AMI Builder = 偏DDR/内存接口(模拟+系统联合)SerDes AMI Builder = 偏高速串行链路(PCIe/USB/以太网标准)
两套 AMI 体系的设计哲学
Memory Interface Toolkit(DDR世界)
Memory Interface AMI Model Builder
主要服务对象:
DDR4 / DDR5 / LPDDR
DQ / DQS / CA bus
特点:
更偏 并行总线
强调:
时序(timing closure)
ODT / driver impedance
反射 / 拓扑(fly-by / T-topology)
SerDes Toolkit(高速串行世界)
PCIe AMI Model Builder
USB AMI Model Builder
E ...
WaveFormEye使用流程
自制软件 WaveFormEye 使用流程
从畸变波形到均衡恢复
这款软件到底在解决什么问题
高速链路测试里,我们拿到的往往不是“理想数字信号”,而是一条已经被信道损耗、带宽限制、码间干扰、抖动和噪声污染过的实测波形。
WaveFormEye 的核心目标,就是把这条实测波形重新拉回到一个可分析、可验证、可恢复的状态。它围绕下面这条主线展开:
原始波形 -> 眼图分析 -> 码型对齐 -> 脉冲响应提取 -> AMI 均衡 -> BER 验证
如果用一句更通俗的话概括,这个软件做的是:
“从接收到的畸变波形中,恢复出更接近理想判决状态的信号,并量化它到底恢复得怎么样。”
软件适合什么场景
这个项目是一个基于 PySide6 + Qt Widgets + Matplotlib + NumPy/SciPy 的桌面信号分析工具,适合以下场景:
查看示波器导出的两列波形数据
对 NRZ 或 PAM4 波形绘制眼图
从训练码型和实测波形中完成相位对齐
提取通道的脉冲响应、冲激响应和频响
调用 IBIS-AMI 模型对波形进行均衡
对均衡结果做判决、对齐和 BER 验 ...














