利用AMSVF进行混合信号SoC的全芯片验证

引言
近年来,消费电子和个人计算市场的发展增加了对于更强大且高度集成的芯片产品的需求。低成本、低功耗、复杂功能和缩短上市时间的需要,让越来越多的ic设计采用了soc技术。
在这些soc电路中,由于包含了数据转换器、功率管理及其它模拟电路,混合信号设计不可避免并且越来越多。在混合信号soc设计中,为了避免芯片重制,确保一次性流片成功,全芯片混合信号验证成为关键一环。传统上,在复杂的混合信号soc设计中,不同团队分别独立验证数字和模拟组件,并不进行全芯片综合验证,其主要原因是没有足够强大的eda工具能够完成这个重要任务。如果所有的集成和接口问题仅仅是在测试平台中进行解决,那么就很难保证混合信号的正确连接和时序匹配。随着高速spice模拟工具的出现,设计师可以在晶体管级执行整个芯片系统的验证,这是一种较为有效的验证方法。该方法具有很高的精确性,并能够进行全面的功能分析,但是,此类验证只能在设计周期的最后阶段进行,那时所有的单元和定制元件都已经设计完成。此外,这种方法的模拟速度有时非常缓慢,必须动用大量的硬件资源。对于包含微处理器、rom、ram、pll等的复杂系统,由于其元件数量实在过于庞大,高速spice模拟器几乎不可能执行全芯片晶体管级模拟。
然而,验证方法学应该贯穿于整个设计阶段,而不能仅局限于最终的验证阶段。同时,为了实现混合信号soc验证在精确性和速度之间的完美平衡,设计师可能想要保持某些重要的模拟模块(如adc、pll)作为spice网表,而其它部分为verilog行为级模块。这时,设计师可以选择使用晶体管级电路去替代特定的行为模块,并及时高效地继续设计验证过程。
为了实现精确而快速的全芯片验证,全新的模拟解决方案应运而生。
ams designer与amsvf
作为新一代的模拟器,ams designer基于virtuoso spectre和ultrasim simulator以及incisive unified simulator引擎的可靠技术,是一种单一核心(single kernel)的混合信号模拟器。它提供了两种模拟求解器——spectre和ultrasim,并支持几乎所有的语言和spice网表规格。ultrasim求解器性能较高,有着堪比spice的精确性,并且容量几乎无限,因此较适合大型全芯片设计。
虽然ams designer为dfii流程提供了友好的图形用户界面,然而对于混合信号验证,多数设计师更需要该应用在命令行模式下执行全芯片验证。其原因不仅是因为命令行模式提供了强大而方便的批量运行功能,还因为设计本身是基于没有原理图的文本文档,或没有gui环境。对于这种应用方式,amsvf(ams验证流程)更加适合。 amsvf的应用模式
继承了nc-verilog,amsvf的使用支持ncverilog单步模式,它主要面向verilog-xl用户;而3步模式会调用ncvlog剖析输入文件,调用ncelab构建电路结构,然后调用ncsim模拟器模拟电路。
目前,amsvf可以为数字测试平台提供支持,其应用模式如图1所示。
图1 amsvf的应用模式
verilog/vhdl顶层也可以例示spice subckt,对于vhdl测试平台来说,需要提供verilog wrapper。另外,顶层可以调用其它verilog/vhdl模块。这种应用模式被命名为“verilog on top”。中层spice subckt也可以例示最底层的verilog/vhdl模块,这种应用模式被命名为“sandwich”或“spice in middle”。另外,在一些复杂设计中,amsvf还支持多个“sandwich”应用模式,如“verilog - spice - verilog - spice - verilog”。
这两种应用模式对于用户的全芯片验证应用是非常方便的。对于一个纯粹的数字系统设计,为了获得精确的结果,用户可以用spice网表替代一些verilog模块,甚至使用寄生参数以获得更为精确的模拟结果。由于物理元件太多,模拟速度可能会变慢,这时,用户可以在spice网表中对基本门电路使用verilog/vhdl行为级模块。那么,“sandwich”应用模式就得以实现。这意味着用户可以自由而简单地切换应用模式。 function imgzoom(id)//重新设置图片大小 防止撑破表格 { var w = $(id).width; var m = 650; if(w< m){return;} else{ var h = $(id).height; $(id).height = parseint(h*m/w); $(id).width = m; } } window.onload = function() { var imgs = $(content).getelementsbytagname(img); var i=0; for(;i
amsvf的应用与重要功能
amsvf中有许多实用而重要的功能,其中某些功能可用于减少建立测试用例所需的手工时间,而另外一些功能可用于验证性能。
自动总线连接
在hdl语言中,总线信号的使用非常普遍且不可或缺。但spice中并没有类似的概念或定义,连接到spice支电路的verilog总线必须被分解到每一个单独的端口,而且必须按顺序连接。例如:
module verilog;
wire [0:5] v;
analog_top xana_top ( v[0], v[1], v[2], v[3], v[4], v[5] );
endmodule
.subckt analog_top p p p p p p
...
.ends
为了准确地连接verilog实例和spice subckt,总线信号v[0:5]必须被分离。通常,分离的过程需要极为耗时的手动编辑,尤其对于规模较大的总线更是如此。而在amsvf中,通过自动总线连接功能,用户可以轻松地将实例写为:
analog_top xana_top ( v );
用户可以在spice网表中设置总线界定符,告知amsvf哪个符号用于总线信号。这里符号 和[ ]为默认界定符,甚至也可以支持空总线界定符。
aicm与bdr
ams designer严格遵从verilog ams的规范确定(discipline resolution)过程,它让用户可以依靠工具确认信号间的连通性,并能实现连接模块的自动插入。
aicm(自动插入连接模块)算法判定通过未声明端口相连的线网规范,然后在模拟和数字域边界上插入连接模块。除了电气到逻辑(e2l)以及逻辑到电气(l2e)这两个普通的连接模块外,aicm还支持双向的连接模块,这对于不想明确指定线网端口方向的用户来说是非常方便的。
在验证大规模设计时,尤其是在ncelab阶段,新的bdr(锁定规范确定)功能能够让设计师应用他们的设计知识去控制并缩小规范确定的解析范围以提升性能。此外,如果通过amsvf验证的设计在数字和模拟之间有清晰的界限,或其所有线网都已被明确地声明,那么,利用“-disres none”选项甚至可以跳过规范确定过程,显著缩短运行时间。因此,这种新功能可以大幅提高amsvf在ncelab阶段的性能和效率。
此外,bdr对于多电源设计来说是非常实用的。例如,对于同时使用5v、3.3v和1.8v供应电源的电路来说,当数字模块用不同的供应电源连接模拟模块时,数字信号将会有不同的数字规范,如logic5v、logic33v 和logic18v,而对于单电源设计来说,仅用缺省的logic这一个数字规范即可。因此通过这种功能,用户可以为设计中的数字模块设定不同的数字规范,以便模拟器更加准确地插入连接模块。
stub view
stub view提供了从模拟中移除原理图或verilog ams模块的途径。通过移除不影响模拟结果或是没有使用到的模块,可以帮助用户加快模拟速度。另外,该功能可以用于确认哪个模块是造成模拟速度降低的主要原因。
比如,电路中包含有不同激励源的3个通道,每个通道彼此独立,利用stub view功能移除其中的一或两个通道,就可以大幅加快模拟速度。
ups求解器
一般来说,电源/地线网络中存在大量的寄生rc,在版图后仿真时,这些寄生rc将会大大降低性能,并侵占大量内存。对于这类模拟,amsvf中的ups求解器可被用于加速模拟速度,同时保持精确性。模拟器首先侦测电源网络,然后将整个设计分离为电源网络和信号网络两部分。电源网络部分由ups求解器处理,而信号网络部分则由ultrasim求解器处理。电源网络模拟的示意图如图2所示。
图2 电力网络模拟法示意图
使用传统的瞬态模拟和ups求解器分别进行电压降分析的性能对比如表1所示。
vr技术
由于芯片内电源电压不断降低,并开始采用多电源电压,因此,越来越多的混合信号/rf或数字电路均使用片上稳压器来产生内部供电电压。ultrasim求解器通过有效的分区技术实现模拟加速,但这只能应用在电路由理想电源电压驱动的情况下。使用传统的分区技术,所有连接到内部稳压源的模块都必须包含在单个分区内,严重影响了模拟速度。
vr(稳压)技术能够克服这种限制, 让用户能够方便地对由内部稳压器供电的电路模块进行模拟仿真。
快速包络分析
总的来说,当被调制电路采用传统的瞬态分析时,需要非常小的时间步长以适应高频载波信号,并且需要长时间的持续周期覆盖低频基带信号,这将使得模拟变得非常缓慢和困难。快速包络分析主要用于解决这个难题,这些电路类型通常出现在发射器、接收器等rf电路中。
amsvf的快速包络分析功能提供了对模拟/混合信号电路进行模拟和设计的有效方法。任何包含已调制信号的电路或rf部分都可以通过快速包络分析法进行模拟,而电路的其它部分则由数字求解器或传统的瞬态模拟法进行仿真。包括数字和模拟电路在内的所有仿真都在每个时间步长进行同步,它考虑了各仿真之间的耦合,并确保解决方案的精确性。快速包络分析可以跳过时钟周期中的很多时点,减少大量的时间步长数,简化计算量。
以图3中完整的rf电路为例,它包含了发射器、接收器和adc/dac verilog-ams模块。与瞬态分析相比,快速包络分析可以通过极小的精确性损失让性能提高7倍。两种方法的波形对比如图4所示,来自快速包络的最后一个波形跳过了很多周期。
图3 完整的rf电路和adc/dac行为模块
结语
amsvf已经被证明是一种针对复杂混合信号电路进行全芯片验证的有效而强大的工具。它不仅提供了灵活的应用模式,还包括更加先进而强大的功能,能够帮助更多的用户在设计的初期阶段发现设计错误,缩短设计周期,实现一次性流片成功。 function imgzoom(id)//重新设置图片大小 防止撑破表格 { var w = $(id).width; var m = 650; if(w < m){return;} else{ var h = $(id).height; $(id).height = parseint(h*m/w); $(id).width = m; } } window.onload = function() { var imgs = $(content).getelementsbytagname(img); var i=0; for(;i

魅族15上手评测:回归小而美
高精度抗冲击振动:有源晶振 YSO110TR在显卡中的重要性与可靠性突出
迈进汽车互联时代,华为车联网方案大放异彩
物联网企业争抢「两轮车换电」赛道
桥式整流电路为什么要用4个二极管
利用AMSVF进行混合信号SoC的全芯片验证
人工智能的“慧眼” 机器视觉技术
LinkedList的源码分析
FLIR对CVEDIAFLIR公司投资,将拓展AI技术
角度位移传感器的原理解析
东芝传感器新技术能让自动驾驶车看的更清晰
王成录:EMUI11充分借鉴了鸿蒙2.0的分布式技术
STM32G0开发笔记:用PWM来实现LED呼吸灯效果
又一中国制造被德国人抢购一空
解析AI创业三大模式,下个产业浪潮的“独角兽”
当你沉浸在AR技术的体验时,是否想过会侵犯你的隐私
电动汽车轻量化或将是增加续航里程的最有效途径
做好通话录音设备,要考量这几个方面
荧光定量PCR仪的产品特点是怎样的
则成电子:​线路板和智能模组相关技术研发取得阶段性成果