模拟和数字电路在单个芯片上的交互,通常称为混合信号。近年来,混合信号设计已成为主导技术。混合信号设计具有许多优势,包括提高性能、降低功耗和提高可靠性。随着科技行业不断突破极限,混合信号仿真变得至关重要。
本文介绍了一种方法,使数字工程师能够有效地对数字域中的模拟和混合信号进行建模和仿真。
介绍
随着模拟和数字电路的日益紧密交织,对混合信号集成和有效验证的需求越来越多。
在 IC 设计过程中,数字和模拟由独立的模拟和数字工程师团队实施,以单独验证模拟和数字模块的功能。在某个阶段,有必要对芯片进行整体验证,以确保芯片的模拟和数字功能按预期协同工作。将模拟和数字仿真器耦合在一起,以提供称为模拟混合信号 (AMS) 的解决方案。
即使是以数字为主的芯片,也总是包含模拟元件,如片上传感器。这些传感器为数字控制功能提供数据。例如用于连接外部系统的 PHY 和存储器接口,进一步模糊了数字和模拟之间的界限。结果是,当今的复杂IC融合了模拟、数字和混合信号电路,每个电路元件都起着至关重要的作用。
不执行完整的芯片级混合信号仿真的后果可能涉及重新流片,这既昂贵又耗时。问题在于,数字验证 (DV) 工程师在创建模拟模型、运行模拟仿真器以及理解和调试模拟仿真运行结果方面经验不足。解决方案是使用数字混合信号 (digital mixed-signal,DMS) 方法。在保持相当高的精度的同时,DMS 仿真的运行速度比 AMS 仿真快几个数量级。DMS仿真允许DV工程师以他们理解的形式创建模拟功能模型,然后使用他们熟悉的现有数字环境在数字域中执行混合信号仿真。
模拟、数字和混合信号仿真
analog仿真器适用于晶体管、电阻器、电容器和电感器级别的电路,电路表示为微分方程矩阵。仿真器求解方程,同时尝试找到给定刺激的解。
模拟仿真的优点是它提供了最高水平的精度,并且最接近于验证的保真度。但是,这种方法有几个缺点。其中包括创建组件模型所需的复杂性和专业知识。运行仿真和调试结果需要具备模拟设计知识。此外,与数字仿真器相比,模拟仿真器的性能往往相对有限。其他问题包括缺乏数字领域工具提供的功能覆盖能力,以及无法采用全套数字验证技术。
最常见的数字逻辑仿真形式是事件驱动型,其中仿真器将世界视为一系列离散事件,以及基于周期,其中计算每个时钟周期的电路稳态值。虽然这是一种简化,但数字仿真器主要只使用四个逻辑值:0、1、X(未知)和 Z(高阻抗)。在事件驱动的仿真器中,当数字函数的输入值发生变化时,仿真器会评估该函数以确定它是否会导致输出发生变化。
与模拟仿真相比,数字仿真的优点包括极高的性能。此外,数字仿真器支持完整的验证流程,提供可重复性和可预测性。仿真器与自动生成验证刺激、评估覆盖率结果和执行回归测试的工具配合得很好。说数字仿真器不如模拟仿真器准确是不公平的,因为它们在自己的领域非常准确。默认情况下,它们可能不会对模拟行为进行建模和仿真,但对于设计的数字部分的功能验证来说已经绰绰有余了。
为确保跨所有域的无缝操作,可能需要验证整个混合信号芯片,确保模拟和数字功能按计划协同工作。模拟和数字仿真器的集成以建立AMS解决方案通常推迟到开发过程结束时的专门专家团队。挑战在于 DV 工程师还需要执行大量的仿真运行和回归。然而,除了模拟仿真器固有的繁重计算要求外,AMS 实现还涉及耗时的进程间通信。
由于IC中数字功能占主导地位,大部分完整的芯片级验证都落在了DV工程师的肩上,他们很少考虑模拟。作为一种解决方法,许多工程师通过创建简单的模型来表示模拟电路来解决这个问题。然而,所有这些模型所做的只是监控或生成 0 和 1 值,而没有真正了解模拟域中发生的事情。因此,许多设计故障是由可预防的错误引起的,例如引脚连接。如果没有简单的检查,此类错误通常只会在冗长的 AMS 仿真运行中发现。
数字验证工程师需要一种DMS解决方案,该解决方案能够以熟悉的格式轻松创建模拟功能模型,并在其现有的数字环境中进行整个混合信号仿真。除了DMS仿真的运行速度比AMS快几个数量级之外,DMS方法还允许DV工程师充分利用其现有环境和工具来验证和调试设计中混合信号部分的相互作用。
建模语言、工具和技术
纯模拟仿真依赖于SPICE或Spectre FX FastSPICE仿真器,主要利用SPICE。SPICE因其高精度而在晶体管级模拟IP验证方面表现出色。尽管如此,对于全芯片仿真来说,它仍然不切实际,因为它构建了一个大型矩阵,用于求解随时间变化的电流和电压值。相比之下,FastSPICE在使用晶体管级网表时,将其划分为更小的段,每个段都有其小矩阵,从而通过求解多个较小的矩阵而不是一个大矩阵来加快计算速度。
用于纯数字仿真的模型使用 Verilog、SystemVerilog、SystemC 和 VHDL 等 HDL ,其中 SystemVerilog 是 Verilog 的超集。许多数字仿真器可以接受多个 HDL。此外,由于 IC 设计可能包含来自多个供应商的 IP,每个供应商可能都支持不同的 HDL,因此数字仿真器通常支持混合使用 HDL 的设计。
支持混合信号仿真的早期步骤之一是以 Verilog 和 VHDL 的形式创建传统数字 HDL 的语言扩展。这些语言扩展,Verilog-AMS(包含早期的Verilog-A)和VHDL-AMS,可用于创建模拟部分的行为模型。
Verilog-AMS 和 VHDL-AMS 的一个问题是大多数 DV 工程师不熟悉它们。此外,他们认为它们难以学习且难以使用。另一个问题是,这些模型在SPICE或FastSPICE仿真器下运行,这意味着DV工程师仍然需要采用完整的AMS仿真环境。
混合信号仿真的模型和仿真精度与性能和容量
如上图所示,DV 工程师抽象模拟和混合信号功能以用于全芯片仿真的最有效方法是使用一种称为实数建模的技术来创建real number models(RNM)。如果使用 SystemVerilog 创建,则这些模型可能称为 SV-RNM。这些模型还允许使用数字仿真器执行整个全芯片仿真,并具有所需的性能和容量优势。
RNMs
Real number modeling,也称为 wreal(有线-实数)建模,借鉴了模拟和数字仿真领域的概念。对于 DV 工程师来说,最重要的一点是 RNM 是用他们已经知道的语言创建的,在 SV-RNM 的情况下是 SystemVerilog。
考虑这个问题的最简单方法如下:RNM 允许 DV 工程师编写涉及复杂数学方程的模型,这些模型适用于 3.142 或 16.893 等实数值,而不是编写仅接受、操作和生成 0 和 1 的数字模型。DV 工程师可能希望创建的更简单的 RNM 之一的一个例子是模数转换器 (ADC)。在这种情况下,建模者无需担心电压和电流,只需担心实数输入和整数输出即可。
需要注意的是,RNM 不仅限于对电路进行建模。取而代之的是,他们可以对带有触觉和触摸屏的用户界面进行建模,以建模检测旋转和振动的传感器。
EEnet 和表模型
在某些情况下,DV工程师可能希望在仿真中加入与特定模拟和混合信号功能相关的额外真实水平。但是,这些函数可能不容易用方程来描述。通常,最好用模拟电路来表示这些功能。
由于DV工程师在模拟领域的专业知识通常有限,包括在组件级别创建模拟模型,因此最初的解决方案涉及与模拟设计工程师合作。然而,由于大多数模拟工程师不熟悉数字领域,包括数字HDL,因此出现了新的挑战。
为了解决这种情况,Cadence 开发了 EEnet,其中包含参数化 RNM,分别代表电阻器、电感器、电容器、二极管、晶体管和运算放大器。模拟工程师可以使用他们喜欢的原理图工具,使用EEnet的相关符号快速轻松地创建图表。然后,原理图工具可以生成一个网表,引用这些基于EEnet(或开发的)模型。DV 工程师在使用 Xcelium 逻辑仿真器时,可以利用此 RNM 网表来表示其 DMS 仿真中的模拟和混合信号功能。
此外,模拟工程师或DV工程师可能拥有从示波器、逻辑或频谱分析仪等测试设备获得的真实数据,而不是为模拟模块(如传感器)编写模型。在这种情况下,当使用 Xcelium 逻辑仿真器时,可以使用此数据来构造一种称为table model表模型的 RNM,其时间值数据以标准 CSV 格式构建。
UVM、SVA 和 UPF 中的 RNM
UVM 是一种用于创建测试平台的标准化结构化方法,其中包括编码指南,并用于开发可重用的验证 IP,包括agents, monitors和drivers。使用 UVM 的一个显著优势是代码重用。
SystemVerilog 断言 (SVA) 对于通过基于断言的验证来验证 IP 的行为至关重要。除了 HDL 中 IP 的功能定义外,断言还指定了预期的 IP 行为。这些断言涵盖 IP 接口上的信号以及 IP 本身内部的信号和寄存器。例如,一个简单的断言可能会声明,“信号 A 和 B 永远不应该同时处于活动状态(低电平)。更复杂的断言可能涉及事务级条件,例如,“收到 PCI 写入命令后,必须在 5 到 36 个时钟周期内发出 xxxx 类型的内存写入命令。这些断言可以在仿真过程中动态检查,从而在将测试平台应用于设计时提供有价值的功能覆盖率。
DV 工程师习惯于在仿真和仿真中使用 UVM、SVA 和 UPF。由于 RNM(包括 EEnet 和table model表模型)完全在数字域中工作,因此 DV 工程师可以继续在其全芯片 DMS 仿真中利用 UVM、SVA 和 UPF 的各个方面。实数建模的这一方面非常重要,因为 RNM 将 UVM、SVA 和 UPF 的功能扩展到混合信号领域,这在纯模拟仿真中可能难以实现。
MDV 和 MS-MDV 背景下的 RNM
Metric-driven verification(MDV) 是一种通过将测试覆盖率与预定义目标进行比较来自动执行验证过程的方法。这包括在可执行验证计划中定义标准,在运行测试后收集指标,然后将这些指标集成回验证计划中。
RNM 包括 EEnet 和table model表模型,仅在数字域内运行,使 DV 工程师能够扩展传统 MDV,以包含 DMS 仿真中使用 RNM 建模的模拟和混合信号组件。这种扩展方法称为mixed-signal MDV(MS-MDV)。
扩展指标驱动的验证,包括通过 RNM 表示的数字、模拟和混合信号功能,从而提高了验证的可预测性。它提供自动化的数据收集和报告,以及从回归到错误分类和设计调试的更快周转时间,以及明确的sign-off签核标准,确保质量一致,并具有可追溯的基于指标的结果。
越来越多的 Cadence 客户已经从传统的 AMS 仿真转向使用 RNM 的 DMS 仿真,包括EEnet 和table model表模型。这种转变在速度、性能和调试能力方面大幅提高了生产力。
以下是 Cadence 客户最近的一些用例:
一家IC芯片公司设计了包含大量模拟和数字功能的图像处理器,但遇到了差异。直到设计周期结束,当集成发生时,模拟和数字规格之间的错误才被发现。为了解决这个问题,他们采用SV-RNM进行精确的模拟设计仿真,并结合断言在未来的设计中自动进行行为验证。因此,AMS 和 DMS 仿真时间从两天缩短到仅 20 分钟,从而检测到 38 个错误以及模拟和数字规格之间的 4 个差异。
结论
混合信号设计中模拟和数字技术的融合继续重塑芯片开发格局。混合信号设计会给设计过程带来额外的复杂性,因此彻底验证至关重要。本文介绍了一种解决方案,旨在使数字工程师能够在他们熟悉的数字域内熟练地建模和仿真模拟和混合信号元件,从而缩短工程周期时间。