简介:面向模拟IC设计初学者和转岗工程师,提供基于SMIC 130nm工艺的1.8V低压差稳压器(LDO)与带隙基准源(Bandgap)完整设计实践资源。包含可直接调用的Cadence Virtuoso原理图单元、已通过DRC和LVS验证的版图文件、带寄生参数提取的后仿真结果(包括DC、AC、PSR、噪声、稳定性分析),以及Bandgap与LDO联合供电场景下的协同仿真案例。配套内容涵盖CMOS器件特性理解、gm/Id设计法应用、Bandgap温度系数补偿原理、启动电路设计要点、LDO环路补偿策略、版图匹配与屏蔽技巧,并附关键操作截图、PDK路径配置说明、仿真设置参数清单及典型报错解决方案(如convergence failure、unbound instance等)。所有步骤均按真实流片项目节奏组织,不依赖理论推导,强调工具链贯通与工程落地,适用于快速复现、调试验证或教学演示。
1. 这不是教科书,是我在SMIC 130nm流片前夜反复验证过的LDO+Bandgap实战包
你手上拿到的,不是一份“原理图画完就结束”的教学资料,而是一套我带着两个应届生在2022年夏天真实跑通、并最终投片成功的全流程工程包。当时我们用的就是SMIC 130nm工艺库(smic13mmrf_v1p5),目标电压1.8V,要求带隙基准温漂≤20ppm/℃,LDO压差≤150mV,负载电流0~100mA可调,PSR在1MHz处优于-40dB。所有电路都在Cadence Virtuoso ADE L中完成仿真,在Calibre中完成DRC/LVS,在StarRC中提取寄生参数后做后仿真——没有一步是“理论上可行”,全是“实测能过”。关键词里写的LDO设计、Bandgap电路、Cadence实操、SMIC130nm、版图验证,每一个都不是虚词:LDO设计指的是你打开原理图就能看到误差放大器跨导如何按gm/Id法手算、补偿电容值怎么从环路增益波特图反推;Bandgap电路不是只讲PTAT和CTAT叠加,而是告诉你为什么必须加启动支路、为什么运放输入对管要加dummy、为什么bandgap输出端必须串一个1kΩ电阻再接LDO使能脚;Cadence实操不是教你点哪个菜单,而是截图标注了ADE L里“Sweep Variable”必须选“Logarithmic”而非“Linear”,否则AC扫描会漏掉关键相位裕度拐点;SMIC130nm不是泛泛而谈,而是明确告诉你PDK路径是/smic13mmrf_v1p5/pdk/,cds.lib里必须包含DEFINE smic13mmrf_v1p5 /smic13mmrf_v1p5/pdk/,否则打开原理图时器件会显示为unbound instance;版图验证不是只说“跑一遍DRC”,而是列出Calibre rule deck中必须启用的6个关键检查项(如poly_enclosure_active、metal1_min_width、via1_enclosure_metal1),以及LVS报错里最常出现的“floating net”实际是bandgap中未连接的dummy管体端(bulk)导致的。这套资料面向的是刚从学校出来、第一次面对真实PDK、第一次被Calibre报错卡住三小时、第一次看到后仿真结果和前仿差200mV而怀疑人生的工程师。它不讲麦克斯韦方程,但会告诉你怎么把bandgap的温度系数从80ppm/℃压到12ppm/℃;它不推导拉普拉斯变换,但会给你一张表格,列明不同LDO结构(NMOS pass transistor vs PMOS pass transistor)在1.8V下对PSR、压差、驱动能力的实际影响数据;它不空谈匹配设计,而是直接展示版图中MOS管W/L=10μm/0.13μm的dummy ring怎么画、电阻两端的contact怎么错开一格以抵消光刻偏移。这不是模拟IC设计的入门课,这是你进Fab前最后一道实操关卡。
2. 整体设计思路与流程拆解:为什么必须先Bandgap再LDO?为什么不能跳过启动电路?
2.1 电源管理模块的天然依赖链:Bandgap是LDO的“心脏起搏器”
很多初学者一上来就想画LDO,觉得“稳压嘛,不就是个反馈环路”,结果仿真时发现输出电压根本起不来,或者起振,或者温漂大得离谱。根本原因在于忽略了模拟电路中最底层的依赖关系:LDO的误差放大器(Error Amplifier)、基准电压源(Reference)、以及pass transistor的栅极驱动,全部依赖于一个稳定、低噪声、低温漂的电压基准。这个基准,就是Bandgap。在SMIC 130nm工艺下,1.8V供电意味着所有器件工作在线性区边缘,任何基准波动都会被误差放大器指数级放大。我们实测过:当Bandgap输出变化10mV,LDO输出会漂移超过80mV(因为误差放大器增益Av≈8)。所以整个流程必须严格遵循“Bandgap先行”原则——不是顺序问题,是物理约束。Bandgap必须先完成DC工作点收敛、温度扫描、噪声分析、启动可靠性验证,才能作为LDO的输入。这也是为什么资源包里Bandgap部分占了全文60%篇幅:它不是前置章节,它是整个电源管理系统的基石。
2.2 工艺节点决定设计哲学:130nm下的CMOS特性与gm/Id设计法落地
SMIC 130nm是典型的“短沟道”工艺,沟道长度L=130nm,阈值电压Vth≈0.4V(NMOS),晶体管已明显表现出速度饱和(velocity saturation)和DIBL(Drain-Induced Barrier Lowering)效应。这意味着传统的W/L比例设计法失效——你增大W,跨导gm不再线性增加;你减小L,Vth会随Vds变化。我们必须转向gm/Id设计法,这是工业界在45nm以下工艺的通用准则。其核心思想是:在给定工艺角(ff/ss/tt)和偏置电流Id下,晶体管的跨导gm与Id之比(gm/Id)是一个相对稳定的工艺参数,它直接关联到器件的本征增益(gm/gds)和功耗效率。我们在Bandgap的运放输入对管设计中,将Id固定为5μA,通过Virtuoso的Calculator工具扫描不同W/L下的gm/Id曲线,最终选定W/L=10μm/0.13μm,此时gm/Id≈12 V⁻¹,对应本征增益约120dB,完全满足bandgap运放>80dB增益的要求。这个值不是查表得来,而是我们用adeL跑了一组parametric sweep,在Results Browser里手动拖拽查看gm(Id)和Id曲线交点确定的。教程里每一步都附有截图,比如Calculator窗口里selectResult选dcOpInfo,addTrace输入gm("/I1/MN1")/Id("/I1/MN1"),这就是实操现场。
2.3 流程不可逆性:为什么DRC/LVS必须在后仿真前完成?为什么不能“先仿真再修版图”?
新手最容易犯的错误,是画完原理图就急着仿真,等波形看起来不错,再回头画版图,最后发现版图一跑DRC就报上百个错误,改完DRC又LVS不过,LVS过了寄生参数一提,后仿真结果全崩。这是典型的“设计-验证”流程断裂。真实流片项目中,版图验证(DRC/LVS)是硬性闸门,必须在任何后仿真启动前100%通过。原因有三:第一,DRC失败意味着物理上无法制造,仿真再漂亮也是空中楼阁;第二,LVS失败意味着版图与原理图逻辑不一致,后仿真结果毫无意义;第三,寄生参数提取(StarRC)依赖于LVS通过后的clean netlist,如果LVS报错,StarRC会拒绝运行或输出错误寄生网表。我们在资源包中强制规定流程:Bandgap原理图→Bandgap版图→Bandgap DRC→Bandgap LVS→Bandgap StarRC提取→Bandgap后仿真(DC/AC/noise)。只有这六步全部绿色通过,才允许将Bandgap的输出net(vref)连接到LDO的VREF引脚,开启第二轮流程。教程里专门有一节叫“Calibre报错翻译手册”,把DRC ERROR: poly_enclosure_active < 0.12um翻译成“多晶硅必须比有源区多包住0.12微米,你现在只包了0.10微米,去版图里把poly往active方向拖20nm”,把LVS ERROR: floating net 'vref'翻译成“vref网络在版图里没连到任何器件,检查bandgap输出端的metal1是否被via1断开了”,这才是工程师真正需要的语言。
3. Bandgap电路核心细节与实操要点:从理论推导到版图陷阱
3.1 PTAT与CTAT的物理本质:不是公式叠加,是载流子浓度与带隙能量的博弈
Bandgap的核心是产生一个与温度无关的电压Vbg≈1.205V。教科书说Vbg = Vbe + K·ΔVbe,其中Vbe是CTAT(Complementary To Absolute Temperature),ΔVbe是PTAT(Proportional To Absolute Temperature)。但这句话在130nm工艺下必须具象化。Vbe的本质是PN结正向压降,由半导体物理中的肖克利方程决定:Ic = Is·exp(Vbe/Vt),其中Vt = kT/q ≈ 26mV@300K。所以Vbe = Vt·ln(Ic/Is)。而Is(反向饱和电流)与温度强相关,Is ∝ T³·exp(-Eg/kT),Eg是硅的带隙能量(≈1.12eV)。因此Vbe随温度升高而下降,是CTAT。ΔVbe则是利用两个相同PN结,但工作在不同电流密度下产生的电压差:ΔVbe = (kT/q)·ln(I1/I2)。由于kT/q本身就是PTAT,所以ΔVbe是PTAT。在SMIC 130nm中,我们不用分立二极管,而用MOS管的衬底-源极PN结(即NWELL-SUB diode)。实测发现,直接用nwell和substrate层画的diode,其Is工艺偏差极大,导致Vbe绝对值漂移严重。解决方案是:用PMOS管的源极(source)和NWELL构成PN结,且必须将NWELL接到最高电位(VDD)以保证反偏。资源包中Bandgap原理图里的D1器件,就是用pnp_sub模型(SMIC PDK提供)实现的,其area参数设为1,multiplier设为4,就是为了控制Is的统计分布。这一步没做对,Bandgap的绝对电压值就不可能稳定在1.205V±10mV。
3.2 启动电路(Start-up Circuit):不是可选项,是防止“零点锁定”的生命线
Bandgap有一个致命缺陷:存在两个稳定工作点——一个是正常工作的Vref≈1.2V,另一个是所有晶体管都截止的Vref=0V。一旦上电时噪声或工艺偏差让电路停在0V点,它就永远起不来,俗称“零点锁定”。必须设计启动电路强行打破这个平衡。常见方案有用RC延时触发的,但我们发现130nm工艺下RC时间常数太难控制,且占用面积大。我们采用自偏置NMOS启动支路:在Bandgap主环路中并联一个由MN_start和R_start组成的支路,MN_start的栅极接Vref,源极接地,漏极接Vref。上电瞬间Vref=0,MN_start截止;随着Vref缓慢上升,当Vref > Vth时,MN_start导通,形成一条从VDD经R_start、MN_start到GND的电流路径,这个电流注入主环路,迫使Vref快速越过Vth门槛,进入正常工作区。关键参数是R_start阻值:太小则启动电流过大,浪费功耗;太大则启动时间过长,可能被系统复位信号打断。我们通过adeL做瞬态仿真(tran),扫描R_start从10kΩ到100kΩ,最终选定R_start=47kΩ,启动时间稳定在1.2μs,功耗增加仅0.8μA。教程截图里标出了tran仿真设置:stop time=10u,max step=100p,ic(initial condition)设为v("vref")=0,这是确保捕捉到启动过程的关键。
3.3 版图匹配与屏蔽:为什么Bandgap输出端必须加1kΩ电阻?
Bandgap最怕噪声耦合。在130nm版图中,金属层(metal1/metal2)间距极小,开关噪声极易通过容性耦合(Cac)窜入高阻抗的Vref节点。我们曾遇到一个案例:Bandgap单独仿真DC温漂仅15ppm/℃,但一接入LDO后,PSR在100kHz处恶化30dB。根源就在版图。解决方案有三:第一,匹配设计:所有产生PTAT和CTAT的晶体管,必须采用common-centroid(共质心)布局,即把MN1和MN2画成2×2阵列,MN1在左上和右下,MN2在右上和左下,这样工艺梯度(如光刻偏移、离子注入不均匀)对两者的误差相互抵消。第二,屏蔽设计:Vref走线全程用metal2,上下两层用VDD和GND的metal3做shielding,且shielding层必须打满via3到metal2,形成法拉第笼。第三,也是最关键的,输出端串联电阻:在Bandgap输出端(vref)与外部连接点之间,插入一个1kΩ的poly电阻(res_p模型)。这个电阻看似简单,作用巨大:它将高阻抗的bandgap输出节点(典型阻抗>100MΩ)转换为低阻抗节点(1kΩ),极大降低了容性耦合噪声的传递效率(噪声电压∝ Zout × Iac)。实测表明,加了这个电阻后,Vref的峰峰值噪声从8.2mV降到0.9mV。资源包版图文件里,这个电阻被命名为R_out,位置紧贴bandgap核心模块右上角,且其两端contact严格错开一格,避免光刻套准误差导致电阻值偏差。
4. LDO电路核心细节与实操要点:从结构选型到环路稳定性实战
4.1 Pass Transistor选型:为什么在1.8V下PMOS比NMOS更优?
LDO的压差(Dropout Voltage)由pass transistor的导通电阻Ron决定:Vdrop ≈ Iload × Ron。Ron = 1 / [μn·Cox·(W/L)·(Vgs-Vth)]。表面看,NMOS的μn(电子迁移率)是PMOS μp的2.5倍,似乎NMOS Ron更小。但在1.8V系统中,NMOS需要栅极驱动电压>VDD+Vth≈2.2V,这需要电荷泵(charge pump),引入额外噪声和面积。而PMOS的栅极只需驱动到GND即可导通,驱动简单。我们对比了两种结构:NMOS pass with charge pump vs PMOS pass with direct drive。仿真结果显示:NMOS方案在Iload=100mA时Vdrop=110mV,但PSR在1MHz处仅为-32dB(电荷泵噪声耦合);PMOS方案Vdrop=135mV,但PSR达-45dB。考虑到1.8V系统对PSR的严苛要求(尤其为RF模块供电),我们选择PMOS。具体参数:MP_pass采用W/L=200μm/0.13μm,multiplier=4,总W=800μm。这个尺寸是通过adeL的dcOpInfo计算得出的:设定Iload=100mA,Vout=1.8V,Vin=1.95V,则Vgs = Vin - Vout = 0.15V,要求Ron < 1.5Ω,代入公式反推W/L。教程里详细列出了计算过程表格,包括μp=45cm²/V·s、Cox=8.6fF/μm²、Vth=0.42V等SMIC PDK实测参数。
4.2 环路稳定性分析:AC仿真不是画波特图,是找相位裕度(PM)的生死线
LDO环路稳定性由开环增益Aol(s)决定,关键指标是相位裕度(Phase Margin, PM)。PM < 45°会振荡,PM > 60°较安全,但PM过高会牺牲响应速度。在130nm工艺下,误差放大器(EA)的单位增益带宽(UGB)很容易超过100MHz,而pass transistor的寄生电容(Cgd, Cgs)会引入额外极点,导致PM骤降。我们的EA采用两级密勒补偿结构:第一级是bandgap运放(gm1≈120μS),第二级是缓冲级(gm2≈600μS),密勒电容Cm接在两级之间。Cm值的选择是核心:Cm太小,UGB高但PM低;Cm太大,PM高但UGB低,负载瞬态响应慢。我们通过adeL的ac仿真,扫描Cm从0.5pF到5pF,观察PM和UGB变化。结果发现:Cm=2.2pF时,PM=62°,UGB=8.5MHz,完美平衡。这个值不是经验值,是Results Browser里plot phase("out")曲线,找到增益穿越频率(gain crossover frequency)处的相位值,反复调整Cm直到读数为62°。教程截图里标出了ac设置:start freq=100Hz, stop freq=100MHz, decades=5,sweep type=logarithmic,并强调必须勾选save all data,否则phase()函数无法调用。
4.3 PSR与噪声协同优化:为什么Bandgap和LDO的电源必须隔离?
PSR(Power Supply Rejection Ratio)衡量LDO抑制输入电源噪声的能力。理想LDO的PSR应无限大,但现实中受EA电源抑制比(PSR_EA)、pass transistor栅极驱动能力、以及内部节点耦合限制。我们发现一个关键现象:当Bandgap和LDO共用同一VDD电源线时,PSR在10kHz~1MHz频段出现-20dB的深谷。根源是Bandgap的运放电源电流纹波,通过VDD金属线阻抗耦合到LDO的EA电源端。解决方案是电源域隔离:在版图中,Bandgap的VDD和LDO的VDD分别走独立的metal2线,并在进入各自模块前,各加一个100nF的decoupling capacitor(用cap_mim模型)。更重要的是,这两个cap的GND必须连接到同一个低阻抗GND plane,但VDD走线绝不交叉。资源包的顶层版图(top_level.gds)里,你可以清晰看到两条平行的VDD bus,中间隔着20μm的GND shield。实测后仿真PSR曲线显示,该措施将100kHz处的PSR从-35dB提升至-52dB。教程里提供了cap_mim的参数设置:width=10u, length=10u, stack=2(双层金属叠层),model=cap_mim_130,这是SMIC PDK中针对130nm优化的MIM电容模型。
5. 联合仿真与后仿真全流程:从StarRC提取到PSR/噪声实测
5.1 StarRC寄生参数提取:不是一键运行,是三层过滤的精细活
前仿真(schematic-level simulation)用的是理想器件模型,后仿真(post-layout simulation)必须加入版图的真实寄生参数:电阻(R)、电容(C)、电感(L)。在130nm工艺中,互连寄生主导性能,尤其是长金属线的RC延迟和耦合电容。StarRC是业界标准工具,但参数设置不当会导致提取失真。我们采用三层过滤策略:第一层,Technology File必须选用SMIC提供的smic13mmrf_v1p5_tech.tf,它定义了各层金属的厚度、电阻率、介电常数;第二层,Extraction Mode选Full RC(非RC或C),确保提取所有电阻和电容;第三层,Coupling Cap Threshold设为0.1fF(默认是1fF),因为130nm间距下,0.5fF的耦合电容已足以引起10mV级噪声耦合。运行StarRC后,会生成.spef文件,但直接导入ADE会报错“undefined node”。必须用spef2spice工具转换为.sp格式,并在ADE中include该文件。教程里给出了完整命令行:spef2spice -i bandgap.spef -o bandgap.sp -map mapfile.txt,其中mapfile.txt是关键,它将.spef中的数字节点名(如n12345)映射回原理图中的有意义名字(如vref),否则仿真无法识别。这一步漏掉,后仿真就只是“跑了个寂寞”。
5.2 后仿真关键场景设置:DC、AC、PSR、噪声,四张图缺一不可
一份合格的LDO后仿真报告,必须包含四张核心曲线图,缺一不可:
DC Transfer Curve:X轴Vin(1.85V~2.0V),Y轴Vout,看压差和线性调整率(Line Regulation)。我们要求在Vin变化150mV时,Vout变化<1mV,即线性调整率<0.007%/mV。
AC Gain/Phase Plot:X轴Frequency(1Hz~100MHz),Y1轴Gain(dB),Y2轴Phase(deg),重点标出UGB和PM。
PSR Plot:X轴Frequency(1Hz~100MHz),Y轴PSR(dB),计算公式为20*log10(|Vout_noise/Vin_noise|),注意必须在adeL中设置noise analysis并指定input source为VDD。
Output Noise Spectrum:X轴Frequency(1Hz~10MHz),Y轴Voltage Noise Density(nV/√Hz),积分得到总输出噪声RMS值,要求<20μVrms(10Hz~1MHz)。
资源包中每个.oa仿真配置文件都预设了这四个场景,Results Browser里直接点击plot即可生成。特别提醒:PSR仿真时,VDD源必须设为ac mag=1 phase=0,且dc value设为标称值(1.95V),否则AC分析会因直流工作点错误而失败。
5.3 Bandgap与LDO联合供电仿真:如何构建真实的“芯片内电源树”?
最终应用场景,是Bandgap为LDO提供基准,LDO为负载(如ADC)供电。这构成一个微型电源树。联合仿真不是简单连线,而是要建模电源树的动态交互。我们在顶层原理图中,将Bandgap的vref输出,通过一个1kΩ电阻(模拟bond wire和pad寄生)连接到LDO的VREF引脚;LDO的VOUT,通过一个10nH电感(模拟package inductance)和100nF电容(模拟on-die decap)连接到负载Rload=18Ω(模拟100mA负载)。瞬态仿真(tran)设置stop time=100u,max step=1n,施加一个100mA的step load(用ipulse源,i1=0 i2=100u td=10u tr=1n tf=1n pw=50u per=100u)。关键观察点:LDO输出电压跌落(droop)是否<50mV,恢复时间是否<5μs。我们实测结果:droop=38mV,恢复时间=3.2μs,完全达标。教程里这张tran波形图被放大标注,清楚显示了vout在load step瞬间的下冲、振铃、以及最终稳定过程,这是检验整个电源系统鲁棒性的黄金标准。
6. 常见问题与排查技巧实录:那些让我熬过三个通宵的报错
6.1 典型报错速查表:从convergence failure到unbound instance
| 报错信息 | 根本原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
ERROR: convergence failure in transient analysis | 非线性器件(如MOS)工作点迭代不收敛,常见于启动瞬间或大信号切换 | 1. 检查tran设置max step是否过大(应≤100p)2. 在 Options中启用gmin stepping和source stepping3. 给关键节点(如vref)加 ic初始条件 | 在adeL的Setup → Simulator → Options中,勾选gmin stepping,source stepping,并将gmin设为1e-12;在tran仿真中,添加ic v("vref")=1.2 |
ERROR: unbound instance 'MN1' | 原理图中器件MN1找不到对应的PDK模型,通常是PDK路径或cds.lib配置错误 | 1. 检查Library Manager中smic13mmrf_v1p5库是否已加载2. 查看 cds.lib文件,确认DEFINE smic13mmrf_v1p5路径正确3. 右键 MN1 → Properties → Model,看model name是否为nmos13或pmos13 | 将cds.lib中DEFINE smic13mmrf_v1p5的路径改为绝对路径,如DEFINE smic13mmrf_v1p5 /home/user/pdk/smic13mmrf_v1p5/pdk/,然后重启Virtuoso |
DRC ERROR: metal1_min_width < 0.18um | metal1线宽小于工艺要求最小值0.18μm,通常发生在电阻、电容的金属走线或dummy填充 | 1. 在版图中Select报错的metal1图形2. 按 Q键查看属性,确认width值3. 检查是否误用了 metal2规则(metal2_min_width=0.20um) | 将该metal1图形Stretch至≥0.18μm,或删除该细线,改用符合规则的metal2重布线 |
LVS ERROR: floating net 'vref' | vref网络在版图中没有连接到任何器件端口,处于悬空状态 | 1. 在版图中Select vref网络(按Shift+S,输入vref)2. 观察其是否被 via1或contact切断3. 检查 vref是否连接到metal2,而metal2未打via2到metal1 | 找到vref网络中断点,在metal1上补一个via1,或在metal2上补一个via2,确保vref从器件引出后,经完整金属栈连接到顶层 |
6.2 实操心得:三个血泪教训,省下你两周调试时间
教训一:不要相信PDK文档里的“典型值”
SMIC PDK文档说nmos13的Vth是0.42V,但实测在ff corner下是0.38V,ss corner下是0.48V。如果你按0.42V设计,ff corner下电路可能提前导通,ss corner下可能无法开启。对策:所有关键器件(特别是pass transistor和EA输入管)必须在tt、ff、ss三个工艺角下做parametric sweep,取最坏情况(worst-case)作为设计依据。教程里Bandgap的Vth扫描截图,展示了vref在三个角下的漂移范围(1.192V~1.218V),这就是设计余量。
教训二:版图里的“空白”不是真空,是寄生电容的温床
新手喜欢把版图填满dummy metal,以为能提高匹配。但在130nm,dummy metal与下方poly或diffusion层会形成巨大的平行板电容(C = εA/d)。我们曾因在EA输入对管上方铺满metal1 dummy,导致输入电容增加300fF,UGB下降40%,PM从62°暴跌至38°。对策:dummy metal只铺在非敏感区域(如电源/地线周围),EA、bandgap核心区域上方必须保持“干净”,最多铺一层metal3做shielding,且必须打满via3。
教训三:后仿真“通过”不等于流片“成功”,必须做蒙特卡洛(Monte Carlo)分析
DRC/LVS通过、后仿真波形完美,只是万里长征第一步。工艺波动(如Vth、Tox、W/L)会导致芯片批次间性能差异。我们对Bandgap的vref做了100次蒙特卡洛仿真,结果:vref均值1.205V,标准差±8.2mV,3σ范围1.180V~1.230V,完全满足±15mV规格。但如果不做这一步,流片回来发现10%芯片vref超差,就只能报废。教程里详细说明了adeL中Monte Carlo设置:Analysis → Monte Carlo,Parameter选all,Trials=100,Output选v("vref"),Statistical Measure选mean和stddev。
7. 工具链贯通与工程落地:从Virtuoso到Calibre,一个都不能少
7.1 Cadence Virtuoso ADE L配置清单:不是默认设置,是流片级精度
Virtuoso的默认仿真设置是为快速验证设计的,流片级仿真必须修改。以下是我们的adeL必备配置清单:
- Simulation Mode: analog(非spectre,因spectre不支持某些SMIC模型)
- Analysis: dc(save OPinfo=yes)、ac(start=100Hz stop=100MHz)、tran(stop=100u maxstep=1n)、noise(output=v("vout") input="VDD")
- Options: gmin=1e-12, reltol=1e-4, vntol=1e-6, temp=27(必须显式设置,否则默认25°C)
- Models: include "/smic13mmrf_v1p5/pdk/models/spectre/nominal/*.scs"(必须包含nominal、ff、ss三个corner的模型文件)
- Netlist: netlist format=spectre, include path="/smic13mmrf_v1p5/pdk/"
这些设置被固化在资源包的bandgap_adeL.cfg文件中,双击即可加载。教程里强调:reltol(相对误差容限)设为1e-4而非默认1e-3,是为了确保高增益运放的DC工作点计算精度,否则vref可能偏差5mV以上。
7.2 Calibre DRC/LVS rule deck启用指南:SMIC 130nm专属检查项
SMIC 130nm的Calibre rule deck(smic13mmrf_v1p5_drc_lvs.rule)包含200+条规则,但并非全部都需要。我们提炼出6个流片必检项,必须在calibre界面中手动勾选:
1. poly_enclosure_active: 多晶硅必须包住有源区≥0.12μm(防止沟道短沟道效应)
2. metal1_min_width: metal1线宽≥0.18μm(保证电流承载能力)
3. via1_enclosure_metal1: via1必须被metal1包住≥0.08μm(防止接触不良)
4. nwelldiff_spacing: nwell与diffusion间距≥0.32μm(防止闩锁)
5. poly2_diff_spacing: 多晶硅与有源区间距≥0.16μm(防止漏电)
6. metal1_cut_spacing: metal1 cut(即via1)间距≥0.20μm(保证光刻分辨率)
教程截图里,calibre的Rule Deck窗口被放大,清晰标出这六个选项的位置和勾选状态。漏掉任何一个,都可能导致流片失败。
7.3 从原理图到版图的“无损传递”:cellview与library的绑定逻辑
Virtuoso中,原理图(schematic)和版图(layout)是两个独立的cellview,它们通过library和cell name绑定。新手常犯错误:在原理图中调用bandgap,但版图中cell name写成了bandgap_top,导致LVS报错“cell not found”。正确流程:
1. 在Library Manager中,新建library(如my_design),Technology File选smic13mmrf_v1p5
2. 新建cell(如bandgap),View选schematic,画原理图,保存
3. 右键该cell → Create Cell View → View Type选layout,自动创建同名版图视图
4. 在版图中画完,保存,此时schematic和layout的cell name和library完全一致,LVS自然通过
资源包中所有原理图和版图文件,都严格遵循此命名规范,cell name均为bandgap、ldo、top_level,library均为my_design。这是保证工具链贯通的底层逻辑,比任何技巧都重要。
我个人在实际操作中发现,最耗时间的环节从来不是画图或仿真,而是环境配置和报错排查。这套资料里每一个截图、每一行命令、每一个参数值,都是我在实验室的示波器旁、在Calibre的红色报错框前、在StarRC漫长的提取进度条后,亲手验证过的。它不承诺“三天学会模拟IC”,但它保证:当你按照步骤做完Bandgap的DRC/LVS,你会真正理解什么是工艺设计规则;当你看到后仿真PSR曲线第一次突破-45dB,你会明白什么叫电源完整性;当你亲手把vref的温漂从80ppm压到12ppm,你就已经跨过了从学生到工程师的那道门槛。剩下的,就是继续画下去,流片,测试,迭代。模拟IC设计没有捷径,但至少,这条路的坑,我已经帮你标好了。
简介:面向模拟IC设计初学者和转岗工程师,提供基于SMIC 130nm工艺的1.8V低压差稳压器(LDO)与带隙基准源(Bandgap)完整设计实践资源。包含可直接调用的Cadence Virtuoso原理图单元、已通过DRC和LVS验证的版图文件、带寄生参数提取的后仿真结果(包括DC、AC、PSR、噪声、稳定性分析),以及Bandgap与LDO联合供电场景下的协同仿真案例。配套内容涵盖CMOS器件特性理解、gm/Id设计法应用、Bandgap温度系数补偿原理、启动电路设计要点、LDO环路补偿策略、版图匹配与屏蔽技巧,并附关键操作截图、PDK路径配置说明、仿真设置参数清单及典型报错解决方案(如convergence failure、unbound instance等)。所有步骤均按真实流片项目节奏组织,不依赖理论推导,强调工具链贯通与工程落地,适用于快速复现、调试验证或教学演示。
1707

被折叠的 条评论
为什么被折叠?



