电子书

第 5 章

模拟/混合信号验证


通过模拟/混合信号 (AMS) 验证,您可以证明设计的模拟和数字部分得到了正确实现,尤其是验证二者之间的交互。

有多种方法可以结合使用,以满足不同的设计和验证要求:

  • AMS 系统设计师可以遵循自上而下的方法,将 Simulink 参考模型作为组件级设计的框架。
  • 模拟设计师可以将 Simulink 模型导入电路级仿真器,以便设计和验证模拟设计组件。
  • 混合信号 IC 设计师可以在 MATLAB 中导入电路级仿真数据,用于分析、可视化和报告。
  • 设计团队可以通过协同仿真,使用 Simulink 和电路级仿真器对 AMS 设计进行交互式调试。
  • 数字硬件设计师可以导入从 Simulink 生成的 C 代码,从而分析其设计如何与设计的模拟部分交互。
模拟/混合信号验证
节

将组件从 Simulink 模型导出到 AMS 电路级仿真器

借助 SystemVerilog DPI-C 接口,您可以将 Simulink 中的混合信号模型导入 AMS 仿真器中,如 Cadence Virtuoso® AMS Designer。

您可以在 Simulink 中生成 C 代码以及支持 AMS 仿真器集成的 SystemVerilog 封装。编译后,生成的模型在电路仿真器中以本机方式运行。这种方式不具备协同仿真那样的可见性,但其仿真速度更快,因为不需要同步两个不同仿真器。

将模型从 Simulink 导出到电路仿真器中可以节省工程师开发电路级测试平台和实数行为模型的时间。

AMS 电路级仿真

导出用于 AMS 电路级仿真的 Simulink 行为模型。

节

分析 AMS 电路仿真结果

混合信号分析器支持 IC 设计师直接从 Cadence ADE Explorer 和 Virtuoso ADE Assembler 导入包含电路仿真结果的数据库。在数据导入后,设计师可以可视化波形、识别趋势并生成报告。

MATLAB 为用户提供了 40 多个内置函数,可用于分析结果。要实现更灵活的分析,用户还可使用专有 MATLAB 函数。

混合信号分析器

混合信号分析器中的趋势图。

用户可以自动导入数据库,而无需操作大量大型文件,从而能够在更短的时间内比较结果、隔离特定区域并深入了解电路实现。分析完成后,设计师可以生成报告以在全公司共享。

节

交互式调试模拟/混合信号设计

在 AMS 协同仿真中,设计分为两部分,分别位于 Simulink 和电路级仿真器(如 Cadence Virtuoso AMS Designer)中。Simulink 行为模型可以与 AMS 设计的电路实现一起仿真。Coupler 模块提供 Simulink 和 Cadence Virtuoso AMS Designer 之间的接口。

在协同仿真期间,工程师可以同时利用 Simulink 和电路级仿真器的调试功能。这种可见性有助于设计、调试和验证混合信号系统。

不过,协同仿真的速度可能较慢,因为要在两个变步长仿真器之间进行同步,而且电路级实现本身较为复杂。

Simulink 与 Cadence Virtuoso AMS Designer 的混合信号协同仿真。

Simulink 与 Cadence Virtuoso AMS Designer 的混合信号协同仿真。

节

将组件从 Simulink 模型导出到数字仿真器

硬件设计师在 RTL 级开发混合信号设计的数字组件,在设计和验证数字组件时,如果能够仿真与数字组件交互的模拟部分,将会很有帮助。

您可以从高级 Simulink 模型中对应受测设计 (DUT) 的部分生成 C 代码。生成的 C 代码带有 SystemVerilog 封装,以便进行编译并通过 DPI 集成到 HDL 仿真器。在代码生成之前,应根据准确度和仿真性能要求对表示模拟行为的 Simulink 模型进行离散化,以便在数字仿真器中使用。

用于汽车传感器的基于模型的混合信号设计流程

Allegro MicroSystems 的一名高级工程总监介绍了他们如何一步步形成基于模型的混合信号 ASIC 设计流程,用于开发高完整性汽车传感器 IC。Allegro 的经验涵盖了混合信号传感器 IC 开发的多个方面,包括基于 UVM 的精简化验证、快速原型和自动 RTL 代码生成。