MATLAB 和 Simulink 在混合信号系统中的应用

分析、设计并验证模拟系统和混合信号系统

使用 MATLAB® 和 Simulink® 实现混合信号系统的行为建模、快速设计开发、设计前分析和验证。

要开始设计混合信号集成电路 (IC),您可以使用 PLL 和 ADC 的 Mixed-Signal Blockset™ 模型。构建模块具有数据表规范,并且包含模拟损伤。 内置分析工具和测量测试平台有助于减少您的验证工作。

对于 PCI Express®、USB、DDR 和以太网等高速链路的设计和分析,您可以使用 SerDes Toolbox™ 构建和评估您的信道均衡方案,并自动生成 IBIS-AMI 模型进行信道仿真。

借助 MATLAB 和 Simulink,您能够:

  • 创建 PLL、DAC、ADC、SerDes、SMPS 和其他混合信号系统的行为模型。
  • 按照自上而下的方法评估模数设计权衡
  • 通过协同仿真或创建 SystemVerilog 模块和 IBIS-AMI 模型,将系统级模型关联到 EDA 工具
  • 在生产测试样片之前,验证包括模拟/数字硬件和控制逻辑在内的设计。

“电路级仿真之前需要三天的时间。使用 MATLAB 和 Simulink,我们将仿真时间缩短到只需一分钟。”

Jun Uehara, Epson Toyocom

使用 MATLAB 进行混合信号系统设计

混合信号分析

在最高抽象等级,您可以使用 MATLAB 分析基本系统架构;例如,哪一个架构更好一些:二阶还是三阶 sigma-delta 调制器?哪种类型的 PLL 最好?波特图是如何展示系统稳定性的?

使用 MATLAB 和 Simulink 中的分析工具,探索设计空间并为您的设计找到最佳起点。例如,Mixed-Signal Blockset 使用 MATLAB 功能执行 PLL 的闭环和开环静态分析,并快速设计环路滤波器。

与电子表格或 C/C++ 等传统编程语言相比,MATLAB 可提供更进一步的分析和可视化功能。而且,您不必放弃您的现有投资;MATLAB 可与 Microsoft® Excel® 和 C/C++ 协同工作。


混合信号的自上而下设计

使用并细化行为模型和测量测试平台,以实现更快的设计和验证。在 Simulink 中,您可以在不同抽象等级对模拟电路、控制逻辑和数字硬件进行协同仿真。

通过在“传递函数”抽象等级使用连续时间信号或使用 Simscape Electrical™ 对电压、电流和组件(例如,RLC 元件、运算放大器和开关等)进行建模,来描述模拟电子元件。

使用浮点精度在算法级别描述数字电子元件,或使用任意长度的定点数据类型执行位准确度仿真,包括量化和饱和效应。最后,为目标ASIC 和 FPGA 生成可综合的 HDL 代码。

使用 MATLAB 函数或 Stateflow® 在算法级别描述控制逻辑和状态机。您可以使用定点数据类型,并确定是以微型控制器为目标使用嵌入式 C/C++ 代码生成,还是为目标 ASIC 和 FPGA 生成可综合的 HDL 代码。


混合信号验证

在设计流程中,必须将系统级模型关联至下一阶段。您可通过不同的方式将 MATLAB 和 Simulink 模型用作 SPICE 模型、HDL 代码或硬件的测试框架。

协同仿真是不同工具间的运行时连接;在每个仿真时间步长,可在工具间交换数据,从而让它们能够协同运行以仿真模型。在模拟域中,Cadence® Virtuoso® AMS Designer 提供指向 Simulink 的协同仿真连接。在数字域中,HDL Verifier™ 提供到第三方 HDL 仿真器和 FPGA 电路板的连接,以进行在环测试。

为了在功能验证环境中进行回归测试和重复使用,您可以利用 DPI-C 接口将 MATLAB 算法和 Simulink 模型导出成 SystemVerilog 模块。

您可以使用 MATLAB 分析 IC 仿真结果,以更有效地实现数据可视化,并使用优化、机器学习或深度学习技术进一步优化行为模型。

最后一级的混合信号验证是设备测试。在此阶段,MATLAB 和 Simulink 与各种测试设备集成,从而让您能够构建测试系统,该系统通过模型创建测试向量、控制测试设备和分析结果。


锁相环 (PLL)

晶体管级别的模型很准确,但用于锁相环 (PLL) 设计时速度极慢。反馈环路通常需要长时间仿真用于捕获锁定时间,需要小的仿真时间步长,以准确预测相位噪声效应。Simulink 和 Mixed-Signal Blockset 使用一个变步长求解器,它可以实现非常快速的 PLL 仿真且无需过采样。

借助其控制设计方面的技术,Simulink 拥有一个仿真引擎,该引擎在具有反馈回路的仿真系统中极其高效。通过将行为建模与更快的仿真方法相结合,工程师们能够将 PLL设计的仿真时间从数天缩短到数小时甚至数分钟。


数模/模数转换器(ADC/DAC)

快速对连续时间信号和离散时间信号进行仿真的能力是设计和验证模-数转换器 (ADC) 的关键。由于 Simulink 允许在相同环境中对模拟和数字硬件进行建模,因此您可以设计一个 ADC,所需时间只是 SPICE 工具所需时间的一小部分。

使用 Simulink 进行快速的 ADC 设计可加快参数扫描速度,从而允许工程师在较短时间内进行详细验证。通过使用 Mixed-Signal Blockset 测试平台,您可以快速评估积分和微分非线性度以及噪声性能。


SerDes 和高速链路

对以较高数据速率运行的 SerDes 串行和 DDR 并行均衡系统进行分析和仿真,会使仿真的速度慢得像爬一样,这会威胁到项目交付时间,同时也会限制设计研究的范围。

通过 SerDes Designer 应用程序,您只需几分钟即可分析任意高速信道均衡方案,包括使用 NRZ 或 PAM4 信号实现预加重和均衡的不同架构。通过此应用程序,您可以自动生成 Simulink 模型,用于进一步改进自适应均衡算法,也可以从自己的模型开始并添加您的专有算法。对于系统集成和信道验证,您可以使用 SerDes Toolbox 自动生成双 IBIS-AMI 模型。


射频功率放大器的数字预失真 (DPD)

数字预失真在理论上很简单,实践起来却很难。MATLAB 为控制测试设备、分析复杂数据和为 DSP 或 FPGA 构建算法提供了统一的环境,同时对射频功率放大器 (PA) 引入的效应有更深的了解。

在 MATLAB 中,您可以基于修改后的 Volterra 系列轻松地构建一个 PA 模型,包括记忆效应和非线性,并使用 RF Blockset™ 电路包络对该模型进行仿真。通过在闭环中使用您自己的 DPD 算法对射频功率放大器进行仿真,您可以在进入试验之前预估定时、量化和其他射频效应。