近年来,移动通信的市场需求增长迅速,当前的移动通信系统已经可以使用成熟的信号处理技术来获取更高的信息传输速率。下一代无线系统的设计难度将增大,主要体现在对多标准和可重配置性的支持。不同的通信标准在中心频率、信号带宽、信噪比和线性度等方面差异很大。这对所有的射频(RF)前端构建模块的设计有很重要的影响,必须进行全面的权衡分析以选择最佳的架构,并为单独的电路模块选择合适设计规范。
RFIC设计挑战
数字信号处理的复杂度正在稳步上升。数字模块能够部分补偿由模拟前端模块带来的信号损害。为了充分验证复杂的数字补偿算法以及由相位噪声、非线性和失配等模拟非理想特性所带来的影响,数字和模拟模块必须协同验证。实现RF/基带协同设计的瓶颈是在RF前端出现的频率高达GHz的RF载波信号。为了在晶体管级对一个完整的通信链路的误码率(BER)和误包率(PER)进行仿真,必须将已调信号运行数千个周期,这种做法成本很高甚至无法实现。
除了对实际设计进行设计规范确认的性能验证外,另一个关键要求是对整个芯片的功能验证。在数字控制电路(负责各种操作模式的使能,如上电、断电、接收、发射和频带选择等)和模拟前端之间的接口的实现错误是导致设计返工的重要原因。
IC设计工程师通常会恪守由系统设计师制定的预算要求。他们也许能证明更宽松的IC设计规范也能达到系统级设计要求,但是在缺乏理论验证的情况下,花费大量时间用于优化电路并不必要。由于需要不同的专业知识和工具,通常基带和模拟/RF这两部分是分开进行设计、仿真和验证。系统级设计的主要目标是找到一种合适的算法和架构,以便以最低的成本实现需要的功能和性能。
但是在实际物理实现阶段,RFIC设计工程师仍然要面对很多严峻的挑战。以无线收发器这种大型IC为例,较高的信号传输速率使电路对寄生效应(包括寄生电感和噪声)非常敏感等。因此RFIC设计流程的实质是管理、复制和控制版图后仿真及其效果,并在整个设计过程中高效地使用这些信息。
RFIC设计还要求设计工程师具有RF领域专业的和独特的分析技术,这些跨越频域和时域的分析方法,其选择决定于电路类型、设计工程师技术水平、电路尺寸或设计风格。为了方便选择,就需要用仿真的方法提供一个无缝的集成环境。
在RFIC设计领域,集成化也是大势所趋。过去,RFIC被看作一个相对独立的设计领域,现在,很多RFIC包含了ADC、DAC和PLL功能,以及在数字设计环境中创建并集成到芯片中的数字合成器。另一方面,RF模块也正在被添加进大型SoC中以实现单芯片解决方案。采用系统级封装(SiP)还可以集成其它功能,与RFIC和SoC设计方法一样,采用SiP技术也会面临相似的验证问题。
一个全面的设计解决方案必须能够解决这些挑战,包括:
1. 为系统级设计和IC实现提供全面的链接;
2. 在一个系统级环境下进行IC验证,以充分利用现有的无线单元库、模型和测试基准(TEST bench);
3. 支持在不同抽象级的全芯片混合级仿真;
4. 在经过优化的仿真时间内,在芯片级和模块级进行详细的分析;
5. 可管理和仿真全部寄生效应;
6. 在适当的设计点,提供版图自动化功能;
7. 支持在整个设计过程中多个层次的无源器件建模(passive modeling)。
必须在单一设计环境中满足以上所有要求,这不仅有助于RFIC设计工作,而且有助于与模拟/AMS和数字设计的集成。在多个抽象级(包括芯片级和模块级)情况下,设计可以独立于物理实现策略而被往复迭代以方便验证/实现。
无线RFIC设计流程
无线RFIC设计流程如图1所示。该流程覆盖了自系统设计到物理实现的全部过程,符合前面谈到的“从两端到中间”的设计方法。
1. 使用系统级资源
来自系统设计流程的保证是第一位的,而且是最高的抽象层次,系统级设计描述可作为顶层芯片的可执行测试环境。周边系统的模型可与芯片的高级模型结合起来生成一个可执行的设计规范。系统设计要求可作为最早的设计规范来驱动芯片级的设计要求,并最终成为可复用的测试基准和回归仿真模型。部分系统级的IP资源也可用来确定系统的性能参数(如EVM、BER和PER)。
混合级仿真有助于系统和模块设计工程师之间共享信息。为了保证系统环境和IC环境之间的接口,多模式仿真解决方案必须适合任何语言(包括C/C++、SystemC、SystemVerilog、数字/混合信号/模拟行为级 HDL语言以及SPICE),并能为跨多模的电路设计提供不同专用的引擎和算法。
2. 设计规划和仿真策略
一个复杂设计能否成功很大程度上取决于预先规划的彻底性。如果在设计初期就对设计的顶层要求、模块级要求和混合级策略有一个清晰的规划的话,“从两端到中间”的设计方式能够保证所有的模块都能满足主要的设计规范要求,并允许更为灵活的进度安排。因此,全面的仿真策略和建模规划非常关键。在成功实现了高级的可执行规范后,设计过程将深入到设计中某些特定的感兴趣区域,并制定感兴趣区域的验证计划。验证计划会规定测试如何执行,并确定哪些模块在测试中处于晶体管级。工程师要注意在建立和编写模型代码时不要过分复杂化,在开始时只需要简单的模型和必需的模型特性。
正式的规划过程是实现高效、全面验证的前提,有助于在设计初期捕获更多的设计错误并减少设计迭代次数。可以在最初对高级的系统描述采用仿真和测试计划,这样能快速实现调试。经验证有效后,它们会被用于模块的混合级仿真,以减少在设计周期后期出错的风险。
3. 多模式仿真环境
对加入系统级测试基准的RFIC进行 HDL建模是自上向下设计过程的开始。这包括全部RF模块,以及所有的模拟部分和/或数字模块。第一步是在一个顶层测试基准中对全芯片进行行为级建模,并进行一些系统测试(如EVM和BER)。这会对IC设计的模块分割、模块功能和理想的性能特性进行验证。这种行为模型可作为混合级仿真的基础,任何模块都可以以晶体管级的形式插入进来并在顶层环境下进行验证。此外,全芯片和系统级的设定可作为一种回归模板(regression template),随着模块逐步成熟而不断用于验证,这也为整个设计过程提供了一种不断演进的设计方法。借助这种方法,在设计初期能够发现大量的问题,并能够保证充足的时间来解决这些问题。同时,不同的模块也能以各自的进度并行开发。
在整个仿真环境中,同一电路有不同的分析视图,其中可能包括行为级视图、版图前晶体管级视图和有关寄生效应的多种视图。随着模块的逐渐成熟,需要增加更多的晶体管级信息以测试 RF/模拟接口和RF/数字接口。同时还需要使用混合信号仿真器来处理模拟、数字和RF描述,并将行为级和晶体管级抽象混合起来。为每一个模块或子模块选择合适的视图,管理运行时间和精确度,并在二者之间进行权衡,这可以通过仿真选项来实现,例如将晶体管导入快速Spice仿真器中,或将晶体管保持在全Spice模式下。这种配置对电路和接口的敏感度有很高的依赖性。由于需要重复利用这些配置,对这些配置进行高效的管理显得很重要。这也提供了一种非常有效的机制来建立支持ACD的持续回归验证。
4. 模块电路设计
接下来开始电路的初步设计,首先进行电路研究并了解性能规范要求。这种早期研究有助于形成顶层的版图规划,对于 RFIC来说顶层版图规划对噪声和模块级互连非常敏感。在该阶段,可尝试对螺旋电感等无源器件进行综合以满足规范要求,并在芯片上进行最初的布局。这个阶段可进行两项重要的工作:为螺旋电感创建早期的模型,并在模块级版图完成前用于仿真;对螺旋电感之间的互感进行初始分析。可在该阶段为所有的电感创建器件模型以用于仿真。
可以按照设计工程师偏好的方法进行仿真,频域或者时域仿真均可,设计工程师要综合考虑电路特点、仿真类型和仿真量等因素后再决定。一个单一的工艺设计套件和配套的设计环境可帮助设计工程师选择合适的仿真算法。可根据仿真类型以合适的方式显示结果。当模块级的电路完成后,设计工程师可以在顶层环境下使用行为激励和对外围芯片的描述来验证这些电路。
5. 物理实现
版图设计自动化功能(自动布线、连通性驱动和设计规则驱动的版图设计和布局等)是非常高效的。由于紧密地结合了原理图和设计约束规则,版图设计自动化能够极大地提升工作效率。布线器能够解决差分对、屏蔽线的布线问题,并支持手动设置每一根走线的布线约束。这就使物理设计过程像前端设计过程一样具有可重复性。虽然在初期要投入一些时间来建立这些工具,但它们在以后的设计过程中都是可复用的。
6. 寄生参数提取
在版图完成后,电磁场仿真(EM)可为无源器件生成高精度的模型。例如,可选择几个螺旋电感作为EM仿真的关键对象,具体做法是:用螺旋电感替换在设计过程中已经创建的一些模型,混合并匹配现有的模型。设计工程师需要全面监控螺旋电感的建模过程,并对运行时间和精确度进行权衡。
基于网络的寄生提取是随着版图出现后在整个设计过程中最重要的一个环节。 RF设计对于寄生效应非常的敏感。由于设计工程师能够掌握任何区域、走线或模块的相关寄生信息,因此管理不同层次的寄生参数的信息就变得更为重要。不敏感的走线只需要RC参数,而敏感走线则需要RLC参数。带有螺旋电感的走线可以以RLC和电感参数的形式提取出来,甚至可对最敏感的走线添加衬底效应。同时,这些走线可以与无源器件的器件模型混合匹配。
当顶层版图实现后,噪声分析(特别是衬底噪声分析)可以保证有噪电路(如数字逻辑和PLL)不会影响到高度敏感的RF电路。设计工程师可以对此进行检查,如果关注的电路区域被影响到,设计工程师可以修改版图规划或在有噪电路周围增加保护带。然而,想在晶体管级对整个电路进行仿真或包含所有的寄生信息往往是不现实的。一种解决方法是提取行为模型,但这会忽略不同模块间连线的寄生效应,因此必须支持层次化的提取能力和设计模块间连线的寄生参数提取。
7. 校准HDL模型
在模块开发完成后,可以根据关键的电路性能参数对最初的行为模型进行反标注,这样可实现更为精确的 HDL级仿真。虽然并不适用于所有效应,但是这种方法能够以更少的运行时间成本获得更为精确的性能信息,并能加速验证,减少全晶体管级验证的工作量。
用混合级仿真对模块进行验证有三个步骤。首先,在对模块功能进行验证时,要在系统级仿真中包含一个理想化的模块模型;然后,用这个模块的网表替换理想化模型来验证模块的功能。这样就能检测出模块缺陷给系统性能带来的影响。
最后,用一个提取模型代替模块的网表。通过对网表和提取模型的仿真结果进行比较分析,可以对提取模型的功能性和精确度进行验证。在以后对其他模块进行混合级仿真时使用经过验证的提取模型而不是理想模型能有效提高其有效性。
如果操作合理,自下而上的验证方式能够对大型系统实现更为详细的验证。由于去掉了物理实现的细节而仅保留行为细节,行为仿真的执行速度非常快。随着模块逐渐成熟,由自下而上验证过程生成的行为模型越来越有用,并可用于第三方IP验证和复用。
对于包括射频前端的无线系统来说,自下而上的验证过程是验证大型系统性能的必然方法。如前所述,晶体管级的RF系统验证需要将调制信号运行数千个周期,这往往是不现实的。用先进的包络分析技术替代传统的瞬态仿真只能将仿真速度提高10~20倍。即使将传统的通带模型用于自下而上的提取技术,由于RF载频仍然存在,也无法将仿真速度提高到令人满意的程度。只有将自下而上的模型提取技术和复杂的基带或低通等效模型结合起来,载波信号才会被有效抑止,其仿真时间才足以实现全芯片级的误包率分析。
为所有模块都生成行为模型是一件耗时费力的工作,而且只有极少的设计工程师具有这种专业技术。而自动化的工具和方法学能够根据特定应用和技术需要,借助经过验证的精度和开放API来修改现有模板生成详细的行为模型。