0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

仿真器与Model的本质区别

lhl545545 来源:模拟混合信号设计验证 作者:邵亚利 2020-06-08 17:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

“工欲善其事必先利其器”,做好数模混合验证必须了解EDA工具工作原理EDA仿真器是在干两件事情(时间和数值),即在什么样的时间,该出什么样的数值(表现);数字和模拟的差别在要解的方程组是完全不同的。

1.数字仿真器

Event Driven的逻辑方程是顺序和并发执行的,有很清晰的信号流和事件发生顺序,可以同一个时刻多个Event并发执行,但是不会回头计算,所以它快。由于时间和数值都是离散的,所以不容易出现不收敛性的问题。完成代码编程后,应该知道有哪些Event要发生,等待那个时刻的反馈,如果没有其他事情抵消掉(就不发生了),就只和逻辑方程打交道。问题是现实世界(对象是Transistor),并非是非黑即白的0,1世界,所以它的精度会低些;只要做好协议和纠错功能,倒是不会出错的。所以 SOC的顶层,如果用数字仿真器,也是因为它快。

2.模拟仿真

需要解决模拟大环境、大矩阵( System Matrix),而且要在仿真的每一步都站在全局的角度,看各种需求是否被满足。模拟仿真器考虑的是真实的信号(电压和电流)与系统。KCL、KVL,节点电流为0,回路电压为0,往往用简单逻辑方程理不清楚,必须建立大型的矩阵。任何一个Analog环境里的元素/器件(Element)都直接影响到其他元件,正所谓的“牵一发而动全身”。即使EDA工具可以对Analog电路做分割(Partition),以减小矩阵的规模。

Analog仿真器每往下走一步,都先试一试是否满足Tolerance要求,满足则往下继续;不符合,修改后再试,直到最终各种要求满足;但是想满足所有限制,有时候是比较困难的,所以大规模模拟仿真会经常出现Convergence Issue,即仿真不收敛,这就需要考虑是否需要修改仿真设置与参数,或者考虑电路哪里有薄弱点,再进行反复迭代。由于时间和数值都是连续量且相互影响,所以Analog仿真很慢,但比较精确,故高性能的Analog IC,都离不开Analog仿真器。

SPICE是一个解非线性常微分方程的工具,其快速仿真(Fast Spice,XPS)可以将整个电路分成几个独立的小块单独求解矩阵,然后再把各块联接起来。这样速度比原来Spice快上几十倍,而精度差别在Spice的5%-10%之内。

3.数模混合仿真

当DUT同时包含模拟电路(schematic)和数字电路(RTL)或者模拟模型(Verilog-AMS,SystemVerilog)的时候,仿真会同时使用模拟仿真器和数字仿真器,进行数模混合仿真。模拟电路和Verilog-AMS模型中的Analog Statement部分,会由模拟仿真器进行矩阵计算,有较高的精度。数字电路和模拟模型中的离散部分,则有数字仿真器进行Event-Driven的逻辑方程计算。最终模拟和数字仿真器相互协调完成对DUT的整体仿真。。当信号需要在模拟(连续时间域)和数字(离散时间域)进行穿梭时,则需要通过Connect Module(CM)。对于从数字到模拟的转换,CM定义了信号的具体电特性,例如:阻抗,上升沿下降沿速率,电压钳位等等。对于从模拟到数字的转换,CM决定了量化精度和采样率。由此可见,Connect Module的设置对混合仿真的速度和准确性都有很大的影响。

典型的混合信号交互过程融合了包含迭代算法和后向步长功能的模拟求解器和沿前向计算的数字求解器。这种功能组合定义了模拟的即时方程求解和数字的事件驱动求解,必须在系统的DC工作点和瞬态Trans分析中协同工作。

A、DC 工作点分析

模拟的静态工作点和数字在零时刻的初始化工作。在数模混仿工具上的顺序是:

1)运行所有离散的初始化

2)在零时刻执行所有离散initial模块

3)在零时刻执行所有离散always模块

4)模拟迭代得到所有电压电流结果

B、Trans工作点分析

模拟部分从0时刻工作点计算出发,按时间步长重复计算。模拟仿真器用Spice,由牛顿-拉夫逊迭代技术反复迭代;数字求解逻辑方程。如果他们两个各自运行/没有数据交换,那就在下一个步长重复。一般而言,每次模拟求解器的时间轴先向前移动,数字仿真器在后面跟上,这是因为数字仿真器只能向前,而模拟仿真器允许退回操作(重新计算之前时间点的数值)。因此如果数字在追赶的过程中,有离散数据或者事件变化了,模拟仿真器需要退回到数字改变数据的时间点,重新和数字同步。

总之,无论是DC还是Trans瞬态工作点分析,混合信号的同步过程都可以概括为防止任意一个仿真器计算出另外一个仿真器不能够接受的敏感数据。

Model介绍

“对于先进的数模混合验证而言,行为建模对模拟设计的高级抽象起到了至关重要的作用。”-Alberto Sangiovanni-Vincentelli,美国工程院院士。

基于模型的模拟验证方法,是唯一能够验证复杂模拟设计的验证方法,可以帮助模拟设计工程师进行模拟集成电路设计验证。----Ken Kundert博士,Spectre的发明者。

可见Model是非常重要的。在这里,我们以独特的视角、丰富的设计经验,做数模混合信号里面Model的全面剖析。做Model的目的是什么?Model有哪些级别?与Model相关的概念有哪些?现有EDA工具中有哪些和Model相关的产品?这些都是我们应该关注的。

1.Model的本质目的

Model的本质目的是为了“洞见”(就是明察),清楚的看到、而且提前看到。“明察、清楚”是对“精度”的要求;“提前”是对时间的要求。所以做Model的本质目标就是“时间和精度”。谁在控制“时间”和“精度”?显然是仿真器。所以搞清楚仿真器之后,通常事半功倍。

2.Model的级别

仿真器所需的“时间”和“精度”怎么协调?想快就向Digital仿真器靠拢;想准就向Analog靠拢。做Model不是做加法、就是做减法。做Analog出身的熟悉Schematic,对Schematic的加法得到:Critical Part Model、BA Model;对Schematic的减法得到:VerilogA;VerilogAMS;Real Number Model(RNM);Verilog;Reference Model等。

图1 Model的等级

仿真器与Model的本质区别

图2 Schematic

工艺给出PDK,用EDA工具直接仿真,这不也是Model嘛!它通过EDA工具把环境和数据设置好,Schematic直接用就行了。所以划分Model等级的时候它可以作为Golden标准。

1) 对schematic的加法

PDK总能cover到我们想要的么?什么情况下Schematic Model做加法呢?

仿真器与Model的本质区别

图3 Critical Part Model

A、Critical Part Model

工艺PDK也是一种Model,它是经Fab验证的较精准的Model。PDK上给出常用的范围内的数据是比较准确的,当超出时,例如电流太小时,PDK曲线上的数据)会导致Model和实际的silicon之间不吻合。当Analog要求处理的数据是连续的,即各种大小的电流、尺寸都满足时,对数学表达式的要求就比较复杂,导致仿真器会更慢。当要求低功耗减小电流的时,必须考虑PDK建Model时数据的真实性;而不是表达式外推憶断(extrapolate)的虚假数值而已。相反,对大管子,(powerFET)本身的走线电阻电容形成的网络,对其Model也要相应调整。

又例如,对于器件的噪声,Cadence的仿真工具有trans noise,ac noise等模型,但trans noise 一开启,仿真时间就上涨了。所以仿真器有Option可以设置某个时间点turn on,还是turn off噪声,来分析电路中关键的、敏感的节点。到那时整体速度还是慢。为了能够快速的得到噪声的影响结果,可以用VerilogA/VerilogAMS去写一个随机变化的噪声源的Model,而不用打开trans noise,就可以得到有noise时候芯片的一个预判。这就是所谓的Critical Part Model。

仿真器与Model的本质区别

图4 后仿真Model

B、BA Model

Layout后,EDA(LVS,DRC)工具帮你提取R、C和RC等寄生参数,做(av_extracted view)参数提取后仿真(BA sim),不过仿真就更慢了。而Layout都出来了,把一些不重要的block换成schematic甚至Model,这时只关心重要block的性能。如果只提取C,而不提取R的话,这时整个电路的仿真时间并不会增加多少。因为提取R,则大大的增加了求解矩阵的复杂程度,所以仿真时间也长了很多。

对Schematic做加法的目的在于提高精度。这是高性能的模拟IC、模拟IC占很大比重的混合IC所在乎的。如果再加上Thermal Model, Package Model, Board Model, Transmission Line Model 等,就是更精准的实际IC应用环境了。如果关心速度和时间,就需要对所设计的芯片一层层地对Schematic做各种减法。

2)对schematic的减法

显然对Schematic做加法的弊端就在于其速度。如果关心速度,就需要做减法的Model。

仿真器与Model的本质区别

图5 VerilogA Model

A、VerilogA

如果不涉及工艺PDK,VerilogA比Schematic要快。VerilogA Model和VerilogAMS相比,它是纯Analog仿真器,但引入digital时、接口处理不好会导致收敛性问题,缺点还是慢。习惯了Verilog的人,去看纯VerilogA的程序,当Control等信号太多的时候,有时候会觉得VerilogA太啰嗦。

仿真器与Model的本质区别

图6 VerilogAMS

B、VerilogAMS

VerilogA还是纯Spice的模拟仿真器,纯模拟仿真器的劣势是矩阵求解要多控制信号。这些控制信号又给Analog仿真器增加了负担,Analog最讨厌高频扰动信号,尤其是方波。所以AMS横空出世,于是高速Switching信号、控制信号、trim信号都Model化。于是像cross,above!,和Analog的transition,timer等关键字,把这A-2-D,D-2-A的事情做了。

为了把Analog和digital仿真器做成Mix-signal的仿真器,需要引入Connect Module,当然它提高了做Model人的经验要求。因为它和仿真器契合度太低,就不可能提高仿真的速度,即使降低了精度要求。有的时候A到D, D到A写不好会相互缠绕和给仿真器带来不收敛问题。

仿真器与Model的本质区别

图7 RNM--Wreal

C、Real Number Model(RNM)

Real Number Model(RNM)是解决混合仿真快和准的手段:用实数来表示电气信号,用离散Solver替代模拟Solver,在更抽象层级上端口间传送的电压/电流信号可以描述为单个实数。在VerilogAMS, System Verilog(SV) 和VHDL中RNM得到支持。

在VAMS中”wreal”的定义就是“A real valued wire”,言简意赅,一个能够做wire,又能连续变化的variable。作用是做model和用来做verification。

仿真器怎么处理一根wreal的线呢?因为wreal在时间上是离散的:它只根据离散的event来变化;故它用digital solver来解决问题。而同时又有Analog的痕迹的(它不是0,1,x,z时是一串串浮点数,和连续变化的模拟信号非常接近的)。用wreal做RNM(下表绿色填充色为优势点),它将Digital和Analog仿真器两者的优点给综合到了一起,并在仿真速度和精度之间取得了折中(Wreal的Analog痕迹保证了精度,它数字化处理的机会保证速度)。还可以把random,coverage、assertion-based verification等概念利用到Analog 信号上,集速度和精度于一身。

Wreal和electrical如何通信呢?由R2E (wreal to electrical), and E2R(Electrical to wreal)实现。他们转换关系总结如下表:

仿真器与Model的本质区别

表3 RNM--Connection Module 2

RNM的缺点是在离散域要定义一些基本模块。因为标准的模拟建模语言中的内嵌函数(上升时间/转换/积分/微分和模拟滤波)离散实数域没有,需要按时间步长格式去实现。

Wreal由于忽略了阻抗效应的,只用于没有直接强反馈的模块的输入输出传输,所以在处理Inout端口时候比较吃力。所以在用SystemVerilog写的RNM中,支持用户自定义的Nettype (User Defined Nettype),Cadence利用这个标准引入了EEnet。在这个自定义的Nettype中,包含三个实数变量,分别用来表示电压,电阻和电流,进而实现戴维南或者诺顿等效。当多个EEnet连接到一起时,就形成了一个局域的电压源,电流源和电阻的网络。因为该网路只有有限节点,而且只求解当前状态,因此可以在一次运算中根据基尔霍夫电流和电压定律求解出连接点的电压,和流入/出各个模块的电流。由于求解EEnet构成的局域网络不需要进行迭代,因此可以有数字仿真器来进行数值求解。进而EEnet提供在离散模型中对loading effect的建模,从而在不牺牲速度的情况下提高模型精度。

D、Verilog

很多人都懂Verilog,不再详细介绍。

仿真器与Model的本质区别

图9 Reference Model

E 、Reference Model

对于模拟IC了解Verilog就够了,但做数字的对Verilog形成的Model仍不满意。如何打通软件和硬件之间的联系?让一个软件工程师去懂硬件描述语言,显然太苦了,对Verilog进行再抽象就很有必要,很多验证工程师熟悉UVM,搞出Reference Model,或者系统工程师的Virtual Prototype或算法模型Model就是进一步的做减法而得到的Model。System Verilog,System C,都有支持你需求的描述Model,实现硬、较件工程师的一次跨界。

仿真器与Model的本质区别

图10 不同建模类型的速度精度对比图

上述Model做减法(VerilogA、VerilogAMS、RVM、Verilog和Reference Model),一步步脱离Analog,一步步走进Digital,甚至硬件迈向软件,这就是Model做减法的魔力。可以参见图16经典的不同仿真模型的速度与精度对比图。

作者简介

邵亚利,模拟混合信号设计验证专家。浙江大学本硕,“模拟混合信号设计验证”公众号(yaliDV)创始人。曾就职于德州仪器(TI),现就职于亚德诺(ADI)半导体公司。ADI(Analog Devices) 是全球领先的高性能模拟技术公司,凭借杰出的检测、测量、电源、连接和解译技术,搭建连接现实模拟世界和数字世界的智能化桥梁。

责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真器
    +关注

    关注

    14

    文章

    1048

    浏览量

    86796
  • Model
    +关注

    关注

    0

    文章

    343

    浏览量

    26299
  • Schematic
    +关注

    关注

    1

    文章

    14

    浏览量

    11664
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在物联网设备面临的多种安全威胁中,数据传输安全威胁和设备身份安全威胁有何本质区别

    在物联网设备面临的多种安全威胁中,数据传输安全威胁和设备身份安全威胁有何本质区别,实际应用中哪一种更难防范?
    发表于 11-18 06:41

    SSH与Xshell的本质区别及功能对比

    SSH与Xshell在网络安全与远程管理领域紧密关联但分工不同,以下是具体介绍: 一、本质区别 SSH:是一种基于加密技术的网络安全协议。其核心目标是解决传统明文协议的安全缺陷。SSH协议本身不提
    发表于 11-07 06:40

    ISOM871x高速光学仿真器技术解析与应用指南

    Texas Instruments ISOM871x高速光学仿真器是具有二极管仿真器输入和数字输出的单通道光耦仿真器。该器件是许多传统光耦合的引脚兼容、可直接替换器件,无需重新设计P
    的头像 发表于 08-19 16:23 750次阅读
    ISOM871x高速光学<b class='flag-5'>仿真器</b>技术解析与应用指南

    Texas Instruments ISOM8610DFGEVM光仿真器评估模块数据手册

    Texas Instruments ISOM8610DFGEVM光仿真器评估模块(EVM)支持评估ISOM8610单通道光仿真器,集成了采用四引脚DFG SOIC封装的FET。Texas Instruments ISOM8610DFGEVM有助于设计人员评估器件性能,以便
    的头像 发表于 07-30 14:57 563次阅读
    Texas Instruments ISOM8610DFGEVM光<b class='flag-5'>仿真器</b>评估模块数据手册

    Texas Instruments ISOM8610光耦仿真器开关数据手册

    Texas Instruments ISOM8610光耦仿真器开关是一款80V单极常开开关,具有光耦仿真器输入。此光耦仿真器开关的输入可控制背对背MOSFET,在次级侧无需使用任何电源
    的头像 发表于 07-28 14:01 506次阅读
    Texas Instruments ISOM8610光耦<b class='flag-5'>仿真器</b>开关数据手册

    关于有源蜂鸣器及无源蜂鸣器的区别及驱动各类单片机案例

    本文主要介绍了有源无源蜂鸣器的本质区别,引脚判断和对应的驱动程序,对我们选用蜂鸣器元件指引了方向
    的头像 发表于 07-22 09:45 2022次阅读
    关于有源蜂鸣器及无源蜂鸣器的<b class='flag-5'>区别</b>及驱动各类单片机案例

    第三章 仿真器介绍

    本篇文章我们介绍了W55MH32板载的WIZ-Link仿真器的使用方法,让我们一起插上USB线开始下载、调试程序吧!
    的头像 发表于 05-21 11:54 736次阅读
    第三章 <b class='flag-5'>仿真器</b>介绍

    PROTUES仿真no model specified for adc0809,谁有ADC0809的model

    PROTUES仿真no model specified for adc0809,谁有ADC0809的model
    发表于 05-09 13:24

    FMD仿真器烧录说明

    FMD仿真器烧录,离线烧录说明
    发表于 04-30 17:27 2次下载

    概伦电子电路类型驱动SPICE仿真器NanoSpice X介绍

    NanoSpice X是概伦电子推出的高精度、大容量并行SPICE仿真器,旨在解决电路仿真中的最具挑战性任务。相较于上一代NanoSpice仿真器,NanoSpice X将平均仿真速度
    的头像 发表于 04-23 15:30 1017次阅读
    概伦电子电路类型驱动SPICE<b class='flag-5'>仿真器</b>NanoSpice X介绍

    概伦电子千兆级高精度电路仿真器NanoSpice Giga介绍

    NanoSpiceGiga是概伦电子自主研发的千兆级晶体管级SPICE电路仿真器,通过基于大数据的并行仿真引擎处理十亿以上单元的电路仿真,可以用于各类存储电路、定制数字电路和全芯片的
    的头像 发表于 04-23 15:21 901次阅读
    概伦电子千兆级高精度电路<b class='flag-5'>仿真器</b>NanoSpice Giga介绍

    概伦电子先进数字仿真器VeriSim介绍

    VeriSim是一款先进的逻辑仿真器,提供全面的数字设计验证解决方案,特别适用于大型SoC设计。它配备高性能的仿真引擎和约束求解,旨在提高编译时效率,并确保设计的正确性和稳定性。
    的头像 发表于 04-22 10:19 1049次阅读

    运放和电压比较本质区别

    运放和电压比较本质区别(1): 放大器与比较的主要区别是闭环特性! 放大器(如4558和5532)大都工作在闭环状态,所以要求闭环后不能自激.而比较
    发表于 03-13 13:42

    DLPC3478的Display模式和 Light Control模式,在DMD微镜的控制上的本质区别是什么呢?

    我们都知道,Display模式一般用于投影显示,Light Control 模式用来做3D打印或3D扫描。但是为什么会有这两种模式的区分?Display模式用于3D打印或3D扫描可行吗?在DMD微镜的控制上的本质区别是什么? 谢谢!
    发表于 02-20 07:38

    深度解析:M12 接头 A 与 D 在性能参数上的本质区别及选型要点

    了解 M12 接头 A 与 D 在性能参数上的本质区别,并结合实际应用场景和成本因素进行选型,能够确保电气连接系统高效、稳定运行,为工业生产和各类电气设备的正常运转提供有力保障。
    的头像 发表于 01-22 13:00 1562次阅读
    深度解析:M12 接头 A 与 D 在性能参数上的<b class='flag-5'>本质区别</b>及选型要点