Discovery AMS 在混合信号设计中的应用


徐学迅
中颖电子(上海)有限公司
xuexun.xu@sinowealth.com

摘要

随着芯片设计复杂度的提高,出现了越来越多的混合信号设计,而且数字和模拟部分的规模都是相当大(“Big D,Big A”),数字/模拟之间的接口也越来越复杂,对混合信号设计的全芯片验证的完整性和时效性成为困扰工程师的一个常见问题。本文以一个成功的混合信号设计为例,介绍了一种基Synopsys Discovery AMS的全芯片混合信号验证方案,在验证的完整性、精度、速度上都得到了较好的综合结果,在验证方法学上具有一定的通用性。

引言

本项目是一个典型的混合信号设计,线路类型复杂、设计形式多样、设计有相当规模,而且验证时间紧迫,在设计验证上引入Synopsys Discovery AMS的解决方案之后,提高了验证效率,在短时间内就做到了全芯片验证,及时完成了验证任务,项目获得了成功。

1.1项目概述

该项目主要用于便携式设备的显示模块控制,是一颗专用集成电路。

系统大致结构如下:

芯片主要接受外界指令以一定的显示模式驱动显示驱动通道。

其中:

数字接口主要承担和外界的指令/数据交换功能,主要的接口控制由MCU接口实现;

显示指令模块主要接收显示控制的指令;

显示数据存储器主要存储外界需要显示的数据,并且在现实模式控制模块的控制下输出需要显示的数据;

显示模式控制模块根据显示指令控制模拟电路的工作,如:基准电压建立、高压电路建立、电流源建立、振荡器起振;对显示数据存储器的输出数据进行变换处理,最终生成对显示通道的直接控制信号;

模拟接口外接模拟电路相关的外围应用器件(电感、电阻、电容、二极管、晶体管),主要负责:内部高精度基准电压产生、12伏高压产生、高精度电流源产生、震荡频率时钟产生;

显示驱动通道负责驱动显示模块上的各个像素。

1.2项目分析及验证需求

考虑到项目需要及公司实际的状况:

(a)电路类型多样性

从电路类型来看,有数字电路,有模拟电路;

从设计层次来看,有基于自定向下流程设计的VERILOG代码、有全定制设计的数字电路、有模拟电路(晶体管、电阻、电容、电感);

从系统电源分布来看,有普通3.3伏低压电路,也有10伏以上的高压电路。

(b)验证任务重,时间紧迫。

验证在各种显示模式下系统的功能是否正确,每一种显示模式都是在若干个帧之后才能得到到验证,这样就需要很长的时间才能对设计进行完整的验证。由于显示模式复杂,不可能针对数字和模拟分开验证,再做线路整合。由于时间紧迫,不可能在晶体管级进行所有的验证。

由此,希望EDA工具能够满足以下几方面的要求:

(a)需要支持各种电路层次结构的验证方法

支持RTL-晶体管的协同仿真

支持顶层为VERILOG的验证方式

支持顶层为SPICE的验证方式

(b)对不同电路进行不同要求的分析

对于模拟电路的精度较高而数字电路精度较低以节省时间;在晶体管级验证时要对AC 时序、功耗等作分析

(c)对以往验证工具的兼容性

我公司以往都是使用Timemill和Powermill做全芯片验证,在引入新的验证方案时,考虑到尽量减少工程师在学习工具方面的时间。  NanoSim的命令行选项和配置文件对Timemill和Powermill完全兼容。

2.0Discovery AMS概述

2.1Discovery AMS的含义

针对模拟和数字电路混合的设计,用晶体管仿真器和数字仿真器同时对两部分电路进行仿真,以快速完成混合信号集成电路的全芯片验证。

2.2NanoSim-VCS协同仿真的运行机制

(a)工具说明

NanoSim是Synopsys的快速SPICE 仿真器,可以对晶体管级设计、ADFMI、VERILOG-A的设计进行仿真,主要面对模拟电路和全定制的数字电路;NanoSim采用了一种“分割解决”的方法,设计过程根据不同的通道连接,自动分割为较小的模块(图2)。因此,任何给定的模块或分区只有在输入控制节点被触发时才能进行模拟,所以并不是所有的模块均能在每一个时间点得到模拟。对这些较小的模块进行独立的模拟也有助于直流和瞬态的收敛。

|

NanoSim能够自动检测出设计中的各种电路结构,例如模拟偏置电路和数字单元,然后针对这些电路结构使用适当的器件模型。这一点保证了设计中广泛的频率范围,即从较高的模拟锁相环、数字定制逻辑到混合信号电路,如数字信号处理器,均可进行准确的模拟。通过对深亚微米(DSM),如和电压相关的米勒效应、窜扰分析和地线反弹效应进行准确的建模来保证接近硅的工艺。

VCS是目前市场上占有率位居首位的Verilog模拟器,在寄存器传输级(RTL)的性能和能力方面处于领先地位,并为专用集成电路(ASIC)供货商认可。它还能通过混合硬件描述语言的扩展—即VCS-MX,来仿真包含Verilog和VHDL语言的设计。

(b)协同仿真中工具的关系

在运行协同仿真时,VCS为主仿真器,负责调用NanoSim;

两个工具之间通过高效的内部接口DKI(Direct Kernel Interface)交换数据而非PLI,访问同一块存储空间,大大提高了交换数据的效率,将内核同步对速度的影响降至最低。如图(3):

在进行协同仿真时,支持VERILOG、流行的各种SPICE网表的任意层次组合(图4)。只需在NanoSim图形界面中作简单设置即可在不同的设计视图中进行选择(图5):

(c)数字/模拟和模拟/数字接口的处理

在处理晶体管和数字电路接口时,采用了电阻映射表的方式来处理,当边界出现”0” ”1”信号的传递时,以一定大小的上/下拉电阻的方式做等效(图6),根据不同的VERILOG驱动强度,可用不同阻值的 电阻来等效信号(图7)。用户也可以根据自己的需要生成自己的电阻映射表。

(d)输出波形文件

混合信号协同仿真 过程中针对数字电路和晶体管部分分别生成VCD和.out格式的波形,用户可以选择把两个文件合并为一个单独的uod.out或者uod.out.fsbb(图8),生成fsdb可以节省硬盘空间。

3.0原有验证方案的问题及Discovery AMS的优势

3.1全芯片做验证的执行时间及效率

和引进Discovery AMS之前的验证方案做比较,在原有的验证流程中,RTL和晶体管部分分别设计,等到单独验证完成后再进行全芯片的前仿真和后仿真(图12);而引入Discovery AMS后,在模块设计阶段即可逐步进行全芯片的验证,前仿真和前期设计结合紧密,而后仿真由于采用了协同仿真,也得到了效率的提高(图13)。

前后两种验证方案比较,原有的验证方案存在以下问题:

(a)无法及早进行全芯片验证,发现系统设计错误,只能在设计全部完成之后才能发现设计错误,此时的设计变更会引起比较大的项目成本支出。

(b)只能在晶体管级进行全芯片验证,这样验证的效率就会变得很低,要发现一个设计错误可能要等到验证的最后阶段,而事实上数字电路一般不需要在晶体管级做完全验证。

这两点对于一个数字/模拟接口较为复杂,而验证时效要求很高的项目来说,是不能接受的。而引入了Discovery AMS之后,彻底解决以上两个问题。把全芯片验证的时间尽量提前,而且大大提高了效率,有利于及早发现设计错误。

3.2全芯片完全功能验证时间大大缩短

原有验证方案,由于只能在UNIX 平台使用Timemill、Powermill来验证,软件的运算速度和硬件的运行速度都是瓶颈,经常发生验证一个功能花4-5天的情况,速度慢得不能忍受;由于速度太慢,在短时间内进行全芯片功能验证几乎不可能实现。

引入了Discovery AMS之后,从软硬件两个方面缩短了全芯片功能验证的时间:

(a)软件方面:

NanoSim的运算速度比Timemill、Powermill有很大提高。

(b)硬件方面:

此次引入了NanoSim和VCS之后,验证的硬件平台转到了运行LINUX的PC平台,硬件的速度也得到了大大提高,而且成本不高。

3.3电路仿真规模的增加

当面对大规模的晶体管设计时,由于工具的容量有限,仿真的速度会因此而减慢。

采用原有的验证方案,由于只能在晶体管级进行全芯片仿真,当数字电路规模增大的时候,数字部分的晶体管不必要地占用了工具的容量资源,导致速度减慢。

而引入了Discovery之后,由于数字电路采用了RTL或者门级的验证方式,在同样的速度下,能进行全芯片验证的规模得到大大的提高。

4.0验证环境的建立説明

在前期验证的时候,以VERILOG给出激励,直接观察最终输出结果是否符合设计规格,采用顶层为VERILOG的验证方式;其中的VERILOG 测试平台为我公司自行开发的满足一定接口时序要求的、可执行一定指令的虛拟微控制器模块。

在后期验证时可以VECTOR形式给出激励,采用模型比较的方式确保最终和前期设计符合,采用顶层为SPICE的验证方式:

以上两种验证都是针对功能的验证,除此以外,在设计定型以后,我们还在完全的晶体管级进行功耗的分析,环境如下:

5.0仿真结果

5.1对于效率的提高

以下针对某一种显示模式的验证过程进行比较,可以看到,采用了Discovery AMS之后,节省了基于自顶向下设计的数字电路部分的模拟时间,使得整个设计的验证时间得到缩短。而节省的时间大致上和数字部分的验证形式有关,当采用RTL形式时最省时间,门级网表其次,晶体管级最慢。当采用原验证方案时,由于只能在UNIX 工作站以全部晶体管级做验证,所以验证的速度就成倍数的变慢。

5.2对于模拟电路的仿真结果

从结果看,对于模拟电路的仿真也达到了较高的精度,以下为在默认精度下NanoSim对部分电路模拟的仿真结果。当有电路需要更高精度时,可以根据实际需要提高仿真精度,只需在配置文件中加入相应指令即可得到接近HSPICE的精度。

带隙基准电压源:

可以看到,在使能信号有效之后,带隙基准电压源的输出建立一个1.29V的基准电平

外接电感的直流转换高压产生电路:

在使能信号有效之后,高压产生电路开始工作,建立过程略有过冲,最后稳定在12伏左右,由于有电流负载,电压有时候会低于12伏,通过电路检测,在低于12伏的时候,会启动充电控制时钟电路。

除了在功能验证上提供了强大的功能之外,对于电路中的一些异常情况的检查也提供了强大的功能,比如:悬浮栅、信号不确定状态、异常直流功耗、静态漏电、上升下降过于平缓等等。NanoSim提供相关的配置文件指令,而且可以根据不同时间不同电路做不同的设置。相关的异常情况在.err文件和.dcpath文件中会以文本形式报告出来。相关指令如下:

6.0对于验证方案改进的思考

6.1关于电路模型

由于这个项目的模拟电路设计规模不大,所以使用了VERILOG和晶体管进行协同仿真,而对于更大规模的模拟电路,这种验证方法就会降低效率。

对此,可以考虑进一步的验证方案:在前期及前仿真阶段,用VERILOG-A的模型取代晶体管级的电路,把真实的晶体管电路划分为小规模的电路模块,用NanoSim单独进行验证以确保接口、性能和VERILOG-A的模型相一致。(图17)

6.2关于环境一致性

由于工程师习惯和经验的关系,在前期验证和后期验证时使用了不同的验证环境结构,需要对环境做结构修改,还要准备VECTOR,耗费了一些时间。以后可以在验证环境加入CHECKER模块,这样就可以从前到后使用一套唯一的验证环境。

6.3关于工具的适用性

在这个项目中,晶体管部分的电路用Nanosim仿真的精度已经能够达到要求;而当有些模拟电路需要比NanoSim更高的精度时,也可以选择HSPICE-VCS的协同仿真方案,用法和NanoSim-VCS同样方便。

7.0总结

在当前的集成电路设计过程中,验证时间成为瓶颈已经成为普遍问题,而采用Synopsys Discovery AMS解决方案同时满足了以下几方面的要求:

a)验证完整性

对于全芯片完成各种模式的完全验证,包括正常工作模式下的各种显示方式,用于量产测试的测试模式。

(b)验证时效性

在完全验证的前提下,尽可能缩短验证时间,原有的验证方式不再能满足要求。

(c)工具易用性

由于时间紧迫,工程师不可能花时间去学习一个全新的工具,选用可以快速学会的工具可以减少在学习工具上花不必要的时间。

8.0参考资料

Synopsys Discovery AMS: Enhanced NanoSim-VCS User Guide
Synopsys Discovery AMS Full-Chip Verification of Mixed-Signal Designs
Geoffrey Ying 系统级芯片( SoC)设计的模拟/混合信号(AMS)验证