大数跨境

EOE光电仿真实战手记|04. 搭建EOE链路并实现系统仿真

EOE光电仿真实战手记|04. 搭建EOE链路并实现系统仿真 KEYSIGHT设计工程软件
2026-07-17
18
导读:系列收官篇:从光子链路到系统级仿真,终于合体了!



不知不觉,「EOE光电仿真实战手记」已经来到第 4 篇,也是这个系列的最后一篇了。

前面几篇,我们一起从光 S 参数看到 MZM EOE 仿真,再走到 ADS 中的高速链路搭建。到了这一篇,前面铺垫的内容终于要“合体”了:把 EOE 光链路接入系统链路中,真正跑一次系统级仿真。

如果说前几篇是在认识零件、熟悉工具,那么这一篇更像是一次完整的小实战——看看电信号如何进入光链路,又如何回到系统仿真结果中。

相关阅读:

EOE光电仿真实战手记|01. 光S参数揭秘

EOE光电仿真实战手记|02. 光是怎么被“写进数据”的?

EOE光电仿真实战手记|03. 搭建一条高速链路

本文转载自“雪萌阁”,已获得原作者授权。文末阅读原文可查阅作者博客原文。



前言:

前面已经分别对 MZM EOE 仿真 和 ADS 中的 Ethernet Designer  做了简单介绍和入门,现在可以将两者融会起来,完成阶段性目标:

EOE链路的引入并完成系统仿真


搭建 EOE 链路


创建项目

新建一个项目 Workspace

创建新的项目并添加 Photonics Designer 工具包

为了省事儿,我们可以直接将案例搭建的 lib 直接调过来,这样很多基础组件和公用模块就不用从头开始了。

在DesignKits中添加Lib

利用 MZM_behavioural_lib 构建好的模块

添加案例中构架的 lib

项目中可以看到之前 MZM EOE 链路的原理图和模块了。

需要注意的是,你对调用过来的 lib 进行的修改,是会同步到原项目的!也就是说,它不是复制,而是共享读写,修改前最好做个备份,免得把原 lib 给改坏了。

接着,我们需要对项目中引入的 lib 和原理图进行整理,要养成好习惯,将自己的项目整理的井然有序

右键点击项目根文件夹,新建几个 Folder,用来分类 Ethernet lib 和 MZM lib ,并建立一个 bak 文件夹将刚引入的一堆 cell 备份进去

整理项目

这个时候 bak 文件夹里就是最初引进来的 lib,需要修改的文件根据类型复制到 EthernetDesigners 或 OpticalLinks 文件夹里,不需要修改的例如 PAM4_Source 不用管即可

文件分类



创建 EOE 原理图

我们先从单向 MZM EOE 入手,首先复制 MZM EOE 原理图到 OpticalLinks 文件夹

复制Cell文件

复制光链路

打开这个 schematic,对原理图进行修改:

1

将光源optical_source_env换成 optical_source,这个极其重要,否则会吃大亏!因为系统链路调用 EOE 子链路会存在光源不兼容导致计算失败!

2

信源需要进行差分调整,原链路信源是通过反接 MZM 正负极实现差分输入,但后面 AMI 通过 Port 进来就已经是差分信号了,因此需要将反接正负极改回来,并将底部 PAM4 的 DC 偏置改为负值!

3

将接收电路改成差分输出,原 PIN 很复杂,我们这里为了快速走流程,直接用 PIN Behav 行为器件等效,跨阻设为 500,并接 balun 转成差分信号。

4

接端口 P1-P4,并将仿真器和变量禁用。

修改后的子原理图如下

修改后的光链路子原理图

创建 Symbol,供后续 Ethernet Designer 调用

为光子链路创建符号

创建符号引脚


搭建系统链路


创建 System Designer 原理图

前面已经将光的子链路创建好了,现在要将其整合在博文ADS 中的 Ethernet Designer中的系统链路中。我们直接复制之前的系统链路到 EthernetDesigners 文件夹中

复制前面搭建好的系统链路

复制到EthernetDesign

打开系统原理图,添加 OPTICAL LINK 模块至 Host 与 Module 之间,复制 Host 端的 S 参数模块到 Module 端,并修改各节点与端口参数。注意这里需要在仿真器中设置 EOE 仿真类型,并将前面 EOE 原理图中被禁用的变量复制过来

系统原理图

这里我选定 EOE 模块左节点 U100,右节点 U200,Module 端节点 U2。先定义 EOE 的节点设置

EOE节点设置

由于前面已经定义了光子链路的符号,这里下拉就能看到。根据引脚左 P1P3,引脚右 P2P4 的定义,分配好线路类型。


双击 Host 端的 PostLayout,设置端口与节点

Host端的PostLayout设置

Module端的PostLayout设置

双击 Host 和 Module 模块,设置端口与节点。注意这里要 Back 回来,确保 Host/Module 所接的模块没出错。

Host回退选择正确的接口

Host端节点设置

Module回退选择正确的接口

Module端节点设置

全都设置好了,就可以连线了。



检查仿真设置

仿真设置一定要仔细检查,不然很容易仿真失败。这里包络仿真要确定光链路谐波频率,并只计算一次谐波,因为光载波没有发生非线性过程。

设置仿真模式

包络仿真设置

Probe 的设置也要重新检查,尤其是 Signal Stream 这里,确保数据传播方向正确

检查 Probe 的 Stream Type

需要额外注意的一点是,Rx 的 AMI 可能会输出一些数据,需要双击 Module 模块,设置 Rx AMI 的 Save Out/InOut parameters 为 yes

Rx AMI 设置

需要注意 Rx AMI 中的 Ignore_Bits 参数,你要跑的 NumberOfBits 参数最好要大于这个数,否则 AMI 没有输出了。

做好全部这些,就可以开始运行仿真了。


仿真结果

仿真运行大概半分钟左右,结果如下

第一次仿真结果

这里的眼图结果从上往下的顺序是:U1——U100——U200——U2——Rx_AMI_out。


我们可以发现,第一张图 U1 很明显不正常,这是由于光子链路中 MZM 的反射导致的(我个人觉得奇怪的是 MZM 电极的 S 参数和阻抗没地方设置)。因此,我们回到 EOE 子链路中,在 P1P2 端口后加一个 Amplifier2 组件,并设置 S12 回损为 0,再来个 3 dB 放大,抵消 Tx 端输出阻抗的分压。

EOE中插入一个理想放大器

保存后,回头再跑一次系统仿真

第二次仿真结果

现在可以看到,U1 节点处的眼图变得正常了。


到这里,「EOE光电仿真实战手记」系列就正式收官了。


从光 S 参数,到 MZM 调制,再到高速链路和最终的 EOE 系统仿真,4 篇内容串起来,其实就是一条从“看懂光电模型”到“跑通系统链路”的学习路径。


对工程师来说,这个过程最有价值的地方,可能不只是“跑出结果”,而是更清楚地看到:电和光在系统里到底是怎么连接、怎么传递、怎么影响最终性能的。


感谢“雪萌阁”作者的真诚分享,也希望这个系列能成为大家理解 E-O-E 光电协同仿真的一个起点。系列到这里结束,但从电和光的故事,才刚开始讲述。


如果您对是德科技光电联合仿真解决方案感兴趣,或希望进一步了解从光器件、光电链路到系统级验证的一体化仿真流程,欢迎联系我们交流更多。


点击“阅读原文”,立即注册

【声明】内容源于网络
0
0
KEYSIGHT设计工程软件
Keysight EDA软件适用于微波,射频,高数数字,器件建模等应用领域,帮助工程师设计手机,无线网络,雷达,卫星通信系统和高速数字有线基础设施。
内容 56
粉丝 0
KEYSIGHT设计工程软件 Keysight EDA软件适用于微波,射频,高数数字,器件建模等应用领域,帮助工程师设计手机,无线网络,雷达,卫星通信系统和高速数字有线基础设施。
总阅读519
粉丝0
内容56