混合信号仿真技术综述
郑 赟
北京中电华大电子设计有限责任公司
摘要:
随着集成电路加工工艺技术的继续发展,
在单个芯片上实现整个复杂电子系统已成为可
½。这样的系统通常包括数字信号和模拟信号处理。在设计早期仿真这样的
IC
设计来发现
错误已显得非常必要。
本文将回顾仿真混合信号集成电路所用的技术和方法,
比较它们的优
缺点,指出它们的适用范围,最后展望混合信号仿真技术的发展方向。
1
电路仿真的背景
所谓电路仿真,就是建立信号在电路中的传播模型,由此来模拟实际电路的功½。在七
十年代早期,
仿真技术已广泛用来在制造之前验证集成电路的行为。
它通过围绕晶½管建立
电流和电压变量来仿真电路的行为。
这通常叫做模拟仿真或电路级仿真。
早期的仿真器只½
模拟几百个晶½管的电路。随着数学方法的发展,仿真器已½处理更大的电路。最有名的是
由
Berkeley
大学开发的
spice
仿真器。它有几个版本。Spice1 和
spice2
是用
Fortron
语言写
的。spice3 是用
C
语言编写的。所有的
spice
仿真器½已公开源代码。spice2 和
spice3
已经
成为½前正½用的许多商用仿真器的基础。
Spice
仿真器采用修改的节点分析法来建立电路方程组。它提供非线性直流分析,非线
性瞬态分析(实域分析)和线性小信号分析(频域分析)
。瞬态分析是最重要的验证方法,
½也是最费时的验证方法。它通常利用数值积分方法把非线性微分方程变成一组代数方程
组,然后用高斯消去法来求解线性方程组。这些线性方程仅仅在积分时刻点是有效的。随着
仿真器进展到下一个积分步长,
积分方法必须重复来得到新的线性方程组。
如果信号变化得
特别快,
积分步长应该取得非常小以便积分方法½收敛到正确的解。
因此瞬态分析需要大量
的数学操½。
随着
IC
集成度的增加,
利用电路级仿真器来仿真整个
IC
芯片的行为已不再可行。
因此,
必须寻找新的技术和方法。由于大部分
IC
设计仅仅包含数字功½,因此可以把整个芯片建
模为互连的逻辑门集合。由此产生相应的仿真方法,叫做门级仿真或逻辑仿真。每个逻辑门
的输入被假设仅仅认识两个状态:逻辑
1
和逻辑
0。另一个附加状态通常用来建模开路输入
和迷惑的短路输出的½响:中间状态‘X’
。第四个状态‘Z’用来表示高阻的三态输出。通
过模型的这种假设,已½得仿真器½处理数千个晶½管的电路,而只损失小量的信号精度。
这样每个模型的输出只需要通过输入状态的布尔运算就½得到。
这些运算大大½于电路级仿
真的算术运算。门的输出状态赋一个值之后,它将一直保持不变直到它收到新的输入状态。
因此门级仿真器仅仅只在输入状态发生改变的时刻才去评估门的模型。
这意味着每个模型只
在离散的多个时间步被要求激活,
而电路级仿真则要求在每个时间步½进行评估。
用在数字
仿真器中的方法叫做事件驱动法,
而模拟仿真器叫做连续的方法。
采用离散方法的数字仿真
器比模拟仿真器快数百倍。
有些数字仿真器还引入驱动½力的概念。
½前典型的数字仿真器
½处理
28
个状态逻辑:4 个逻辑状态,每个状态有
7
个不同的驱动½力,表示不同类型的
技术和连接。门级仿真通过建模每个状态的传输延迟,½提供有限的时序信息。这可用来侦
察某些例外,假信号和竞争条件。
由于
MOS
技术的采用,在逻辑门建模
MOS
为电压控制开关成为可½。产生的逻辑门
模型几乎与电路级仿真器中基于晶½管的模型一样的精确。
控制端口的节点电压决定开关的
状态。这个方法的效率½于门级仿真,½高于电路级仿真。通常称之为开关级仿真,已经成
为
MOS
数字
IC
设计的推荐½式。½是它不适合双向传输晶½管工艺,因为双向传输晶½
管不½精确地建模为电压控制开关。
它也不适合仿真模拟功½,
因为开关模型只处理两个不
同状态:开和关。
随着
IC
设计½象度的进一步提高,适合更高½象级的仿真器已经开发出来。这通常叫
做行为级仿真器,
因为系统通常建模为功½模块集合。
行为级的仿真器支持组合和时序数字
逻辑,有些也支持模拟功½。
2
混合信号仿真的必要性
随着集成电路加工工艺技术的继续发展,
在单个芯片上实现整个复杂电子系统已成为可
½。这样的系统通常包括数字信号和模拟信号处理。在设计早期仿真这样的
IC
设计来发现
错误已显得非常必要。½是上面描述的仿真器没有一个½同时实现复杂
VLSI
仿真所要求的
效率和½级模拟功½仿真所要求的精度。因此应该开发出一类新的仿真器来解决这个问题。
这些仿真器叫做混合信号仿真器。它们尝试把数字和模拟仿真集成到到单一进程中。
它们通常组合已有仿真器中的两个或
目前出现了大量的实验和商用的混合信号仿真器。
多个方法,
对数字和模拟仿真在精度和效率方面达到最½的权衡。
½是目前还没有广泛接受
的权衡解决方案。
商用的混合信号仿真器致力于组合已有的数字和模拟仿真器,
而研究者却
在探索新的算法和技术去开发实验型仿真器。随着混合信号
IC
设计的快速增长,对混合信
号仿真的需求也越来越多。
因此混合信号仿真器的研究和开发显得越来越重要。
下面我们将
仔细分析目前已有的仿真技术,为新方法的研究提供必要的参考。
3
商用混合信号仿真技术和方法
目前存在的混合信号仿真器基本上可以按结构和组合方法进行分类。
如果以模拟和数字
仿真方法组合的方式来划分的话,可以分为四类:手工型,偶合型,扩展型和集成型。如果
以组合的数字和模拟仿真器的结构来划分的话,可以分为五类:顺序型,配对型,单模式,
巢套型和基于框架型。这些划分会相互重叠。例如偶合型仿真器可½有配对型,巢套型或基
于框架型的结构。扩展型和集成型仿真器可以有单模式结构。
3.1
手工型
手工型的混合信号仿真器采用分开的模拟和数字仿真器。
数字仿真器从电路的数字部分
产生输出波½。
这些波½被用来产生模拟部分的输入信号。
模拟部分的输出信号也用来为接
下来的数字部分产生输入信号。
数字仿真器然后又利用这些信号进行运算。
这种手工方式是
繁琐的,并且不可靠。因为信号的½换和仿真器的控制½是靠手工来完成。如果数字和模拟
部分存在反馈路径,情况将会更加糟糕。这种方法几乎不被采用,除了某些尝试级的设计工
具。例如
MCE
的
Bx
设计系统。它采用
HSPICE
和自己的逻辑仿真器来分别仿真
MCE
混合
信号门阵列的模拟和数字部分。
3.2
偶合型
偶合型的混合信号仿真器是把电路级仿真器与逻辑仿真器连接在一起。
根据偶合的强度
和本质,通常又½分成几类。
偶合½式最弱的是顺序仿真器。
它与手工型的仿真器类似,
只是模拟与数字部分之间的
数据½换是自动的。每个仿真器仅仅考虑一个向前的电路路径。一系列的输入向量被处理,
产生出一系列的输出结果。
这些结果又½为接下来的电路模块的输入向量。
这种仿真器不适
合数字和模拟部分有反馈的电路。目前很少被½用,因为大部分混合信号
IC
在数字与模拟
部分½有反馈路径。Daisy 公司曾经开发过这样一个仿真器,叫做‘A/D
Lab’
,现在已不再
½用。
配对型的方法是把模拟和数字仿真器偶合得更紧密一些,
以致它½处理反馈情况。
它与
顺序型方法的主要区别是数字和模拟仿真器是并行运行的。这要求计算环境½支持并行处
理。
由于数字和模拟仿真器是同时运行的,
½它们需要从一个往另一个传输数据时必须保持
同步。
在目前的商用混合信号仿真器中,
主要有两种同步机制。
一种叫做
“锁步”
(lock-step)
同步法。
它把数字和模拟仿真器的时间基底紧紧地锁在一起,
以致没有谁½运行到另一个前
面很远。
这种方法非常适合数字与模拟部分存在大量的相互½用。
采用这种方法的混合信号
仿 真 器 有
Cadence
的
(Verilog+Cadnece’s SPICE)
,
Viewlogic
的
(ViewSim+PSPICE)
和
Genrad(SHADO:System Hilo+Eldo)。另一个同步方法是“跳蛙”法。它允许每个仿真器更加
独立的运行,
直到它碰到一个来自另一个仿真器的事件。
这种松散的偶合非常适合数字与模
拟部分只有少量的相互½用。
它也简化了数字和模拟仿真器集成到一个进程中的操½。
½用
这种技术的最有名的例子就是专利算法“Calaveras”
。Saber 模拟仿真器就是采用这种技术。
巢套型的方法是在单个管理进程的控制下偶合两个或更多的仿真器机制。
这些仿真器机
制每个½实现不同的算法,
以致混合信号系统的各个部分½½用最合适的方法进行分析。
它
与配对型方法的主要区别是仿真管理器仅仅在需要的时候才处理电路描述和波½,
并且激活
最合适的仿真机制。
仿真管理器因此½以相同的方式来控制仿真,
在不同算法之间传递和接
受数据。一个巢套仿真器可以用自包含的程序来实现,把程序和数据传输完全掩藏。也可以
采用
UNIX
的
socket
来进行数据传输。采用
socket
将产生非常有弹性的巢套仿真器,因为
它½比较容易地增加,删除或更新仿真机制。如果采用½格计算将会提高仿真速度。主要不
足之处在于数据传输时的时间开销。
因此它非常适合不同模块数据传输非常少的电路。
这种
巢套仿真器的一个例子就是
Meta-Software
的
HSPICE
与
Silicon Compiler System
的
LSIM
的
组合。
基于框架的方法是最近才出现的新的技术。框架的概念就是对于设计所需的所有
CAD
工具½集成到一个单一环境中,
并且访问公共数据库。
理想的框架应该允许终端用户用一致
的方法来选择来自不同供应商的工具,
并把它们集成到一个定制的设计环境中。
这个概念类
似于计算机的操½系统。
一个框架管理器进程来管理数据库的访问和工具的控制。
这可以看
½是巢套仿真器的仿真管理器进程的扩展。一个½的框架应该支持各种各样的仿真器的集
成。框架管理器½自动选择最合适的机制来仿真特别的设计。每个
CAD
工具必须½处理标
准的控制和数据界面。不幸的是目前没有完善的框架标准。CFI 组织正在建立
EDA
工具框
架½系和标准,希望½对此有帮助。目前
Cadence
和
Mentor
½已有自己的框架。½是只有
少数第三方的工具½与它们兼容。
3.3
扩展型
扩展型的混合信号仿真器主要是针对数字或模拟占优的电路。
这儿已经有一些数字或模
拟仿真器通过扩展½处理另一个领域的仿真问题。
模拟占优的电路通常通过扩展模拟仿真器
来进行有效地仿真。Saber 就是一个扩展模拟核的仿真器。Saber ½在行为级和
SPICE
兼容
级上操½。Saber ½为混合信号仿真器的性½更靠近于偶合仿真器。Saber 的模型由微分方
程组和
SPICE
中的半导½模型组成。模型是采用
MAST
语言描述。PSPICE 是另一个基于
SPICE
的扩展仿真器。最近
Dolphin Integration
公司发布了一个
SMASH
仿真器。它也是一
个扩展模拟核的仿真器。它采用一个基于
C
语言的硬件描述语言,支持模拟行为级模型和
标准的
SPICE
模型。数字仿真工½在开关级或行为级模型。Dolphin
Integration
已经宣布在
下一个版本中将支持
Verilog
写的数字模型。
LSIM
是一个扩展数字核的混合信号仿真器。
它包含一个叫做“Adept”的电路级仿真算法。
“Adept”与
SPICE
的精度相½,½速度得到
了很大改善。
Sierra Semiconductor
公司已经决定采用
LSIM
½为他们的
Montage
仿真器的基
础。
3.4
集成型
一个理想的集成型混合信号仿真器应该是处理单一电路描述,并且产生单一输出文件。
所有的处理过程½在一个单一程序中进行,
以致没有时间浪费在分开的模拟与数字仿真进程
或程序的同步过程中。这是最有效的混合信号仿真器。目前还没有这样的仿真器出现,实现
的技术还在研究中。
主要问题在于模拟与数字模型的本质不同。
由于模型必须采用一个集成
数据格式,
来自存在的仿真器中的模型不½兼容。
这意味着要花大量的努力来创建部件模型
库。80 年代中期,Silvar-Lisco 公司发布了一个混合信号仿真器:ANDI。½时它的性½和容
量已经超过偶合型仿真器。½结果是没有得到广泛½用。主要是
CAD
厂商为了降½开发成
本而把精力放到已有的偶合仿真器上。
4
实验混合信号仿真技术和方法
70
年代以来,在大学和研究实验室里,许多研究人员对混合信号仿真技术进行了大量
的研究工½。
这也导致了大量新的仿真方法和混合信号仿真器的出现。
有些已经合并到商用
的仿真器之中。这方面的研究进展主要½现在如下几个方面。
第一,
有些研究者通过扩展标准的
SPICE
仿真器来尝试产生一个集成的混合信号
仿真器。这里有两个比较有名的例子。Allen 与
Zuberek
扩充了一个
SPICE
兼容的电路仿真器。
它包括一个门级的事件驱动数字仿真算法。
电路可以用
扩展版本的
SPICE
½表来描述。与传统的电路级仿真器相比,速度有很大
程度的提高。½由于
SPICE
算法的本质限制,它不适合于大的混合信号电
路。Chain 把类
SPICE
仿真器与一个开关电容仿真器集成起来,叫做
SPICE-SCAN。它的性½也有很大的提高。Chain
宣称正准备与
Cadence
的
Verilog
数字仿真器集成起来提供一个完整的混合信号仿真器。
第二,
有些研究者致力于利用松弛法代替
SPICE
的节点分析法。松弛技术克服了
SPICE
中直接法的缺点,
允许把大电路划分成½分开处理的小模块。
每个分
开块的矩阵½更有效地求解。
积分步长也不用所有模块保持相同。
每个模块
½½选择自己最优化的时间步长。这½得松弛技术在仿真大电路比
SPICE
更有效率。第一个采用松弛技术的电路仿真器是
Chawla,Gummel
和
Kozah
开发的
MOTIS
仿真器。它采用一个可查的表格来实现晶½管模型,比类
SPICE
仿真器快两个数量级以上。
它也采用了选择路径算法来自动叉开没激
活的电路节点。Eldo 采用的是一步松弛技术,已经成为一个有名的模拟仿
真器。RELAX2 采用的是波½松弛技术。基于松弛的技术非常适合并行处
理,因为分开的块不是紧偶合的,可以独立处理。
第三,
有些研究者致力于研究时序仿真器。
时序仿真器是利用比开关级仿真器更精
第四,
第五,
确的模型来为数字电路提供精确的仿真。
他们充分利用数字电路事件驱动的
本质来增强类
SPICE
电路仿真器的性½。前面提到的‘Adept’算法就是属
于这一类。MOTIS 时序仿真器经历了两个版本
MOTIS2
和
MOTIS3。每个
版本½改善算法来提高性½和扩大仿真电路的范围。
Chadha
等基于
MOTIS3
开发了多级混合信号仿真器:M3。它被设计用来在行为级建模模拟电路。
Ackland
和
Clark
开发了一个实验型时序仿真器:Event-EMU。它利用事件
驱动和松弛技术,提供了更高的性½,而精度却没有什么损失。Event-EMU
不直接支持模拟部分,
½它½适应做这些,
因为它包含
MOS
晶½管,
电阻,
电容和电流源的模型。
有些研究者致力于改变信号的表示方法来改善仿真器的性½。
通常人们½采
用分段线性波½(PWL)表示法来½为信号的表示。PWL 是建模电子部件
通用的和功½强大的方式。
所有的部件和信号½½以统一的方式建模。
它½
支持宏模型和混合级½象,并且有很½的收敛特性。IDSIM2 是
Overhauser
开发的一个时序仿真器。它采用波½的斜坡(ramp)表示和分段线性表示。
ILLIADS
类似于
IDSIM2,
也采用了
PWL
表示,
½½用了新的
MOS
电路模
型和改善的波½松弛技术。它们½采用了动态窗口技术来处理反馈问题。
PLATO
也是一个采用
PWL
表示的混合信号仿真器。
它利用事件驱动算法来
进行瞬态分析。事件包含两类:PL 事件和动态事件。PL 事件发生在向量到
达
PWL
片段的终端,而动态事件发生在特定模型的积分步长变得无效时。
PLANET
与
PLATO
类似,
只是采用了层次算法½得效率更高。
Visweswariah
和
Rohrer
在
SPECS
中利用分段线性和分段常数波½。这个仿真器利用
I-V
特性的实验表模型来表示电子器件。
电压½用
PWL
波½,
而电流½用
PWL
常数波½。
还有一些研究者研究模拟功½的行为级模型。
行为级模型的仿真速度会大大
超过类
SPICE
和基于松弛技术仿真器的晶½管模型。创建与晶½管模型保
持类似精度的行为级模型是可行的,
并且它有广泛的应用领域。
例如在自顶
向下的系统设计和
ASIC
设计½用的
Cell
库。
Rumsey
和
Sackett
开发了一个
混合信号行为仿真器:AMP。它是基于
Lapace
变换,采用了黑盒模型。
5
总结和展望
在混合信号仿真器的领域中,
已经有大量的研究和开发活动。
随着计算机技术和编程技
术的发展,
已经有一些复杂的仿真方法和工具产生出来,
½是适合大规模混合信号电路的集
成混合信号仿真器还是没有发布出来。商业
CAD
开发商已经尝试利用各种方法来偶合存在
的数字和模拟仿真器。他们½够利用已有的部件模型,½并没有产生最有效的仿真器。实验
型的仿真器½然采用了新的技术,
并且在某些应用领域取得了希望的结果,
½并不是一个通
用的仿真器。
要想开发出适合大规模混合信号电路的集成混合信号仿真器,
必须清楚地知道½响仿真
器效率的本质因素。任½仿真器的效率½依赖仿真模型的本质和它们之间传递信息的信号。
数字仿真器关心的是离散电压值,
而模拟仿真器则关心连续电压变化。
因此理想的混合信号
仿真器应该与数字仿真器一样有效地表示模拟电压和电流。PWL 波½表示法应该是很有前
途的方法。对于仿真模型的发展方向,应该½快建立完善的行为级模型。只有在最高½象级
才½取得最½的效率。期待真正的集成混合信号仿真器的早日出现。
评论