《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 数字为主的混合信号设计的验证方法学
数字为主的混合信号设计的验证方法学
2017年电子技术应用第8期
梁 超1,2
1.哈尔滨工业大学 航天学院,黑龙江 哈尔滨150001;2.恩智浦半导体苏州研发中心,江苏 苏州215011
摘要: 混合信号验证在当前SoC设计中的作用越来越重要, 被称为芯片流片以前的健康体检, 可以有效避免芯片二次流片。结果证实大部分芯片的问题可以通过合适的混合信号验证方法发现。当前混合信号验证的主要挑战包括行为级模型建模、晶体管级仿真速度、低功耗验证等,介绍了微控制器芯片KW41中使用的一整套混合信号验证方法, 包括使用电路模型产生器生成wreal模型, 混合模式数模混合信号仿真,模拟电路断言和电路检测帮助实现自动化检验,模拟电路检测发现模拟电路潜在问题,用XPS MS做全芯片晶体管级仿真。该方法适用于所有数字设计为主的芯片。
中图分类号: TN45
文献标识码: A
DOI:10.16157/j.issn.0258-7998.179007
中文引用格式: 梁超. 数字为主的混合信号设计的验证方法学[J].电子技术应用,2017,43(8):37-39,42.
英文引用格式: Liang Chao. Low power and mixed signal verification method for digital centric mixed signal designs[J].Application of Electronic Technique,2017,43(8):37-39,42.
Low power and mixed signal verification method for digital centric mixed signal designs
Liang Chao1,2
1.School of Astronautics,Harbin Insitute of Technology,Harbin 150001,China; 2.Suzhou Design Center of NXP Semiconductor,Suzhou 215011,China
Abstract: The mixed signal verification becomes more and more important in current SoC design,it is regarded as physical examination of chip before tape out, it will avoid silicon respin. The result shows most of silicon issues could be found out with proper mixed signal verification methodology. Current mixed signal verification challenges includes behavior modeling, transistor level simulation speed not fast enough, low power verification etc. The overall mixed signal verification methodology that is used in KW41 MCU is introduced, which includes using model schematic generator to generate wreal models, mixed mode AMS simulation, analog assertion and circuit check that will help achieve automatic check thus find out possible issues in analog design, using XPS MS for full chip transistor level simulation. The AMS verification method adopts all the digital centric design.
Key words : analog mixed signal verification;wreal model;schematic model generator;XPS;full chip spice simulation;analog assertion

0 引言

    目前大部分的SoC是混合信号设计,混合信号验证成为了SoC成功的重要一环。混合信号验证的挑战主要包括:产生和验证行为级模型、晶体管级仿真速度不够快、缺少混合信号VIP、验证功耗目标等。本文将分别介绍行为模型产生和数字为主的混合信号验证方法学[1]

1 KW41设计

    KW41是一款超低功耗、高集成度的单芯片多协议无线通信MCU, 它集成了2.4 GHz收发器,同时具备BlueTooth Low Energy(BLE) V4.2 和IEEE 802.15.4射频连接功能,内核采用ARM Coretex M0+,Flash容量高达512 KB,SRAM容量128 KB,具备硬件加密模块,拥有丰富的外设接口。KW41 主要的应用包括:安保和近距离、医疗、智能家居、遥控无钥门禁、远程遥控、信标等。KW41是有NXP苏州研发中心独立完成的项目,包括顶层设计、验证、后端、测试设计。KW41获得了NXP 2016年度第四季度产品奖, 该奖项在NXP全球每季度只有一个。图1为KW41的设计图。KW41为NXP吸引了众多客户,创造了巨大的效益。KW41项目使用了先进的混合信号验证方法,在项目流片之前能够及时发现设计的问题, 流片前提供了信心,充分保证了KW41能够一次流片成功。

wdz4-t1.gif

2 用Schematic Model Generator创建行为级模型

    在传统验证流程中,模拟设计是由行为级模型来表征的,行为级模型包括:传统数字模型、VerilogAMS模型、wreal模型、Verilog、SV nettype模型等[2-3]。模型的创建者需要有一定的语言基础,建模工作对模拟设计师提出了挑战。一直以来,模拟设计师都期待一款图形化的建模工具,Cadence schematic model generator(简称SMG)就是一款这样的工具。SMG是基于virtuoso界面,通过创建模型电路图, 一键自动生成行为级模型。行为级模型包括Verilog模型、VerilogAMS模型、wreal模型等,模型电路图需要使用building blocks(简称BBT)来构建,类似搭积木的概念。SMG针对的用户是缺少建模语言的模拟设计师。SMG提供了基本和高级的BBT,帮助用户构建模型电路图,模型电路图在不同设计之间可以复用。SMG生成的模型是完全开放的,可以使用第三方的仿真器仿真。SMG提供了160种BBT, 包括模拟功能、数字功能、算数功能、信号转换功能等。wreal模型的双向传输门可实现双向通信功能。wreal模型是最适合数字为主的微控制器的模型,KW41设计中大量使用了wreal模型。

    建模的第一步就是端口类型的声明,连接到数字模块的端口应该声明成logic类型,连接到模拟模块的端口应该声明成wreal类型或者electrical类型,这样可以避免插入互联模块。图2为SMG的工作流程。

wdz4-t2.gif

    多层次建模是建模中一个重要的方面,全部打平的一层建模很难保证模型和电路图的一致性,电路图更新以后,模型维护难度增大。图3是多层设计理念。在模拟设计中需要提出多层次设计的要求,自上而下分别是L2层、L1层和L0层,只有L0层允许有基本的单元,L1、L2都是symbol和symbol的互联。SMG支持多层次建模。

wdz4-t3.gif

    模型需要对电压进行检测,成为功率感知建模。比如对于时钟模块,当输入电压低于0.6 V时,时钟输出0;当输入电压大于0.6 V且小于0.9 V时,时钟输出x;当输入电压大于0.9 V且小于1.3 V时,时钟输出是一个周期性的时钟信号。对于输入电压的检测,可以满足实现低功耗验证的需要。

    模型内建自测试需求。对于模拟设计来说,可能对于输入信号有具体的要求,比如2个输入信号同时为高是不允许的,内建的自测试可以帮助验证工程师发现来自数字部分的错误设计。

3 数字为主的混合信号设计验证流程

    微控制器是典型的数字为主的混合信号设计,包括混合信号设计,如ADC、DAC、时钟、射频模块、电源管理模块等。微控制器的混合信号验证流程包括基于wreal模型的数字仿真、混合模式的数模混合仿真、全芯片的晶体管级仿真。

3.1 混合模式的数模混合仿真

    基于wreal模型的数字仿真使用Metrix driven验证方法学,用wreal模型代表模拟设计,目标是发现数字设计的问题。模拟设计的仿真是在单独的模拟仿真环境中进行,端口加的是静态的激励,通过运行各种corner的仿真来发现模拟设计的问题。通常数字和模拟关系十分紧密,有反馈的环路,由于wreal模型的局限性,模型不是100%精准,基于wreal模型的数字仿真和模拟模块的晶体管级仿真都不能满足复杂SoC设计的要求。为实现既使用来自数字设计的激励,又能够达到晶体管级仿真的精度[4],就需要混合模式的数模混合仿真[5]

    KW41项目的混合模式的数模混合仿真是在SoC验证环境中完成的,是基于命令行方式的仿真。首先要制定详细的混合模式数模仿真计划,根据计划编写测试向量,对于仿真的结果,使用了自动化检测的方法,包括模拟断言、静态动态模拟检测等方法。这样可以在设计的不同阶段多次运行所有仿真激励,自动化得到仿真结果,不是依靠人工检测波形的方法。以上电序列验证为例,设计中包括3个关键电压输入,每个电压域的上电先后顺序和上电快慢都没有明确的要求。综合考虑各个电压的范围,上电先后快慢因素,3个电压域的上电关系有几十种组合情况,所有的模拟断言会在上电过程中检测所有模拟模块的行为,对于错误的行为会及时报错,有效地发现了模拟设计中相关的问题,这些问题在单模拟模块的晶体管级仿真中无法发现[6]

    alwas @(ref_clka)

    begin

        vdd_lv_core_out=$cgav("testbench.top.alwayson_

                domain.m4_core_driver.vddlv","potential");

            pmc_isnk_2u=$cgav("testbench.top.alwayson_

                domain.pmc_core_ln28fdsoi.REFBIAS.reg_isnk_2u_ztc_0","flow");

        core_vdddig_1p8_current = $cgav("testbench.top.

      alwayson_domain.pmc_core_ln28fdsoi.vdddig_1p8","flow");

    end

    average #(.id("core_vdddig"))  monitor_core_vdddig

                (.in(core_vdddig_1p8_current),.clka(`CLKA));

    这是模拟断言的一个例子,用$cgav可以拿到模拟电路内部截点电压和电流的值,可以用system verilog assertion来检测这些电压电流。Average函数可以算出电流的平均值。

    模拟assert是Cadence混合仿真中测模拟电路的一个重要特性。在图4的设计中,来自bandgap的vref连接给一个模拟开关。图5中pmos的衬底vdd来自adc regulator是关闭的,这违反了v(d,b)<0.3的规则,导致bandgap vref下降。Assertion 代码:

    assert_vds assert sub=psvt33 expr="(v(d,s)>0.3)"

    assert_vdb assert sub=psvt33 expr="(v(d,b)>0.3)"

wdz4-t4+t5.gif

    生成的log文件:

    Warning from aps at time=10.5469 us during transient analysis `tran'.

        WARNING (APS-4056): assert_vdb, Instance

    testbench.top.a_ip_2p4ghz_transceiver_c90tfs.IRF_

                ANATOP.Ilf_sys.IADC.IADCQ.dac.I17.I0.MP:

            Expression `(v(d,b)>0.3)' is getting true.

        WARNING (APS-4056): assert_vdb, Instance

    testbench.top.a_ip_2p4ghz_transceiver_c90tfs.IRF_

        ANATOP.Ilf_sys.IADC.IADCI.dac.I17.I0.MP:

        Expression `(v(d,b)>0.3)' is getting true.

    Circuit check也可以用来检测模拟电路,针对APS, XPS仿真器分别提供了不同的检测语法。Static check在仿真开始之前进行检测,dynamic check整个瞬态分析过程中持续检测,最终结果为XML格式文件,可用浏览器查看。目前常用的是high impedance node、高阻截点检查、leakage path检查、floating node induced leakage path。

3.2 用XPS MS做全芯片晶体管级仿真

    混合模式晶体管级仿真中,数字设计是由RTL代码来表征,由于使用了CPF流程,综合以后会插入level shifter、isolation等单元,这些在RTL阶段是不可见的。为了更精准仿真整个芯片的上电和进出低功耗模式的功能,需要在流片之前进行全芯片晶体管级仿真。使用Cadence XPS MS仿真工具。

    全芯片晶体管级仿真流程:产生全芯片网表,转换模拟CDL网表到spice网表格式,产生SRAM verilogA模型,把C代码转成hex文件加载进入SRAM模型,加模拟激励,用XPS仿真,存储波形,使用circuit check检测电路。

3.3 混合模式仿真发现问题分析

    图6是混合模式数模混合仿真中发现的问题。27%的数字控制问题是指由于数字控制错误导致的模拟设计的错误,例如当LDO和DCDC同时工作时,LDO输入应该比DCDC更低,由于数字的错误控制,出现了相反的情况。23%的模拟内部控制错误指的是模拟设计中的问题,如ADC外部参考电压选择电路错误,导致无法使用外部参考电压。18%模拟模块互联错误指的是单个模拟模块功能正确,但是互联以后功能不正确,例如LDO输出的参考电压连接给IO regulator,当IO regulator打开之后,LDO参考电压会出现上升,从而导致芯片产生低电复位。

wdz4-t6.gif

4 结论

    在本项目中,数字验证工程师基于SMG产生的wreal模型发现了大量数字设计的问题,wreal模型大大提高了仿真效率。混合模式的数模混合仿真发现了模拟模块互联、数字和模拟交互等方面的问题,以及多电压域、漏电等问题,全芯片晶体管级仿真保证芯片可以正常上电。混合信号验证方法学保证了芯片一次流片成功。

参考文献

[1] Liang Chao.Mixed-signal verification methods for multi-power mixed-signal System-on-Chip(SoC) design[C].IEEE 10th Int.Conf.on ASIC,Oct,2013:1102-1104.

[2] Wong Waisum,Gao Xiaofang,Wang Yang,et al.Overview of mixed signal methodology for digital full-chip design/verification[C].IEEE Proc.7th Int.Conf.on Solid-State and Integrated Circuits Technology,2004:1421-1424.

[3] CHEN J,HENRIE M,MAR M F,et al.Mixed-signal methodology guide[M].Copyrighted Material,2012.

[4] Liang Chao,Fang Zhou,CHEN C Z.Method for analog mixed signal design verification and model calibration[C].China Semiconductor Technology International Conference(CSTIC),2015:1340-1342.

[5] KUNDERT K.Principles of top-down mixed-signal design[EB/OL].The Designer′s Guide Community.(2003)[2017].http://www.designers-guide.org/Design.

[6] Liang Chao,Zhong Geng,Huang Song,et al.UVM-AMS based sub-system verification of wireless power receiver SoC[C].IEEE 12th Int.Conf.on Solid-State and Integrated Circuit Technology,2014:1108-1109.



作者信息:

梁  超1,2

(1.哈尔滨工业大学 航天学院,黑龙江 哈尔滨150001;2.恩智浦半导体苏州研发中心,江苏 苏州215011)