查看原文
其他

EDA专栏:混合信号SOC设计验证方法学介绍(一)

邵亚利 IC人才港 2021-01-17

文章来源:电子报第7期



作者介绍

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



1、片上系统(SOC)混合信号含量越来越高  


集成电路从模拟电路开始,后来数字电路蓬勃发展,而今为了能够满足多种场合的不同复杂应用,例如高集成/低成本/可移动/多接口等要求,混合信号片上系统SOC(System On Chip)日益流行。SOC中的数模混合信号含量已经从10%~20%增加到50%或更高。


例如,在以数字为主的SOC中,离不开连接真实世界的ADC(Analog-to-Digital-Converter),DAC(Digital-To-Analog-Converter),还有提供高速时钟的PLL(Phase-Locked-Loop)以及射频收发器,存储器接口等。在以模拟为主的SOC中,也增加了Control/Trim/Calibration等数字逻辑,来补偿PVT(Process, Voltage, Temperature)的变化,提高性能指标和良率。数模电路甚至在不同层次中紧密结合。


本文就从混合SOC的设计,验证和实现的方法流程三方面做介绍,并重点介绍了验证所需要了解的仿真器原理,和行为级建模相关的知识。


1.1混合信号SOC典型框图

图1典型SOC框图


这张图是一颗混合SOC芯片,蓝色部分是数字部分,通常有微处理器、基带(BB)、总线、SRAM (缓存,或者叫内存)、有NVM(非易失性存储器),比如说像FLASH、EEPROM,或者OTP,还有Video, Audio, USB,以及外设的一些接口控制电路,像SPI、I2C、HDMI接口或者UART、GPIO、PWM控制等。


绿色部分是模拟或者模拟为主的混合模块,通常有OSC/PLL振荡器,有作为数字和外界的窗口ADC或者DAC,有逻辑控制的GPIO作为通用的I/O接口,为了给数字电路供电有LDO,因为数字电路需要比较稳定的电源。


右边第一个是PHY,是协议物理层,通常它本身也是一个数模混合的模块,它既有数字电路也有模拟电路,把它放在这里就表示需要模拟工程师对它进行重点的关注。还有作为对微弱信号处理的放大器和模拟前端AFE(Analog Front End),AFE将模拟信号经过放大处理,把它输入到ADC或者数字电路当中。Power Management是经常会用到的一个模块,包括BUCK,BOOST或Charge Pump等模块,另外就是传感器的控制电路。前面这几个模块每个芯片都不一样,有可能有,有可能没有。但是左边这一列,基本上每个SOC芯片都会有。


2.数模混合SOC设计常用流程与工具

既然数模混合SOC市场需求越来大,那么如何设计与实现一款混合SOC呢?本章节主要探讨数模集成电路设计常用的流程与工具。


2.1、以数字为主的SOC设计流程

常用文档编辑工具,从高级描述开始,采用Verilog, System Verilog或者C语言,去设计数字电路并制作Test Bench(TB)和层次化的模型,再用仿真工具去仿真模型,然后通过标准单元库,自动综合成门级电路,生成网表,再对网表进行布图并生成三个文件(GDS、Netlist和Timing信息的SDF),设计告一段落。


在验证阶段需要模拟的Model,供数字控制模拟或者模拟返回到数字的模拟验证。也需要固件的二进制码供给TB对SOC进行仿真。


2.2、以模拟为主的SOC设计流程

区别于写代码,模拟IC设计通常是以电路图来做设计,电路图中包括电阻电容/MOS管等基本元件,和相关拓扑连接关系。模拟工程师通常先设计子模块,电路图的顶层则是由一个模拟顶层的线路图和一个空的数字模块构成。


顶层仿真开始阶段用Digital的RTL的IP模块和Firmware组合,加之模拟电路,进行Analog On Top的仿真。仿真验证通过后,RTL进行PR,再由Schematic Verilog-in组成最终顶层的线路图,结合数字的SDF的Timing约束,完成PR后的仿真。


从后端看,顶层仿真后进行Analog layout将等在Digital PR完成,然后Stream-in进来一起形成TOP的Layout,即使有些IP可能不会给底层的GDS,通过Phantom View形成TOP的Layout,再对它进行LVS。


2.3、数模集成电路设计的常见工具

图2 数模混合设计与实现的常见工具


数模混合验证需要在顶层同时整合两套设计流程。模拟工程师熟悉的流程是Schematic Based,数字设计师使用RTL module。


通常熟悉Cadence Virtuoso schematic + Spectre的是模拟设计者。数字设计工具Synopsys用VCS+Verdi,Cadence用的是Xrun+Simvison,此外还要搭建Firmware的设计环境。当然,写程序和编译还要用到ARM CC或者像GCC之类的工具。


后端设计,模拟往往用Virtuoso Layout,再加上Calibre,做LVS和DRC;数字设计要用DC综合,时序分析PT(Prime Time),布图用ICC(或Encounter),还有FM(形式验证),Patten(测试矢量的自动生成)工具。


2.4、数模混合SOC并行协同设计流程


公开的/工业标准的数据库的出现,例如Open Access(OA),对数模混合SOC方法学的开发与应用做出了重要贡献。OA是一种层次化的数据库,能同时存储数字和模拟,从而不需要将数据从一种格式转换到另外一种格式。公共数据库是同步混合信号设计的基本要求,否则在以前单独的模拟或者数字方法学中,每个区域对对方而言都是黑盒子,就非常容易出错,甚至是低级错误,因为复杂的功能,不同的Background, 模糊的“Common Sense”,都增加了芯片出bug的风险,一些简单错误可能会导致很严重的后果,例如功能不正常,过长的流片后的debug时间,昂贵的再流片成本,更重要的是Delay的研发周期,错失的市场窗口。


通过OA数据库的支持,数字和模拟之间完全透明,从而诞生了数模混合并行协同设计的流程,它可以同时汲取数模流程中的优点,回避其缺点,从而最高效率地设计混合SOC。


以下表格对比和总结了以上三种数模混合IC的设计验证与实现流程。

表1 数模混合IC的设计/验证/实现流程


3.混合SOC验证的挑战与方法介绍


验证是在流片前,保证芯片的设计满足客户应用的指标要求。数模混合SOC的验证面临很多挑战,Time To Market的压力,芯片的研发周期Schedule在不断被压缩,成本也越来越低,且IC人才又相对有限。验证更需要一些对应的技巧与流程规范来达到验证目的。


一个好的验证,需要达到什么目的呢?首先是最起码保证芯片的质量,以便First Silicon Sample。在保证质量的基础上,需要提高效率。主要有三个维度:首先是Automatic,如何让验证环境自动化产生,Test Bench自动产生,甚至Model自动产生等;其次是Reusable,例如Stimulus,Checker等,又或是DV/AE(Application Engineer)和TE(Test Engineer)之间的Reuse。第三是Scalable,高度集成的数模混合验证,通常需要很多人参与。如何让新资源快速的Ramp Up起来缩短适应时间;这么多人工作在同一个项目上,且做到彼此不相互影响,不Block Other’s work, 那就更需要验证环境和整个流程的分配协调,从而保证大家能够“各自为战”。

未完待续...



阅读推荐

【名企招聘】

1、集成电路企业岗位招聘第三波

2、集成电路企业岗位招聘第二波

3、宅家找工作,so easy!集成电路企业岗位招聘第一波

4、等你来创芯,南京创芯慧联技术有限公司招聘岗位发布

5、2020年南京天悦电子科技有限公司招聘岗位

【EDA专栏】

1、我国EDA人才培养的新启航与新趋势(二)

2、我国EDA人才培养的新启航与新趋势(一)

3、《电子报》EDA专栏上线,诚邀业界专家来稿

4、人工智能赋能半导体制造业——从OPC说开去(一)

5、周祖成:为自主可控的国产EDA软件而努力

【干货分享】

1、IC 精品课程推荐,助力在线学习

2、高校“空招”通道锦集

3、空中课堂:数字集成电路与系统设计课程上线啦

4、疫情之下招聘攻略:企业篇

5、收藏贴|这22家在线课程平台免费提供2.4万余门课程


更多精彩活动

请关注

“IC人才港”


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存