CMOS模拟集成电路EDA设计技术(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-14 23:13:45

点击下载

作者:戴澜等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

CMOS模拟集成电路EDA设计技术

CMOS模拟集成电路EDA设计技术试读:

前言

随着信息产业的迅猛发展,进入21世纪以来,人类社会在信息领域正面临着一场巨大的变革,其先导因素和决定性力量正是微电子集成电路技术。集成电路(Integrated Circuit,IC)作为当今信息时代的核心技术产品,在国民经济建设、国防建设及人民日常生活中发挥着越来越重要的作用。

随着CMOS集成电路技术的日益进步,计算机辅助设计工具—电子设计自动化(Electronic Design Automation,EDA)工具也日趋成熟。各类电路、版图设计、物理验证EDA工具的推出,有效提高了电路设计效率,缩短了产品设计周期。依据CMOS模拟集成电路设计、验证的基本流程,编者结合实例详细介绍了电路设计工具Cadence Spectre、Synopsys Hspice、版图设计工具Cadence Virtuoso和物理验证工具Mentor Calibre四大类EDA工具,以供学习CMOS模拟集成电路设计与仿真的读者参考讨论之用。

本书分章介绍了目前广泛应用的CMOS模拟集成电路设计EDA工具,共7章。

第1章 主要介绍CMOS模拟集成电路EDA技术的基本概况,包括发展历史、特点、现状及未来趋势,使读者对该领域有一个概括性的了解。同时分步骤介绍了CMOS模拟集成电路的基本设计流程,并依据该流程中最重要的三个部分——电路设计及仿真模拟、版图实现、版图物理验证及参数提取后仿真,分类讨论了目前主流的EDA设计工具。

第2章~第3章 通过实例介绍利用Cadence Spectre进行CMOS模拟集成电路设计的仿真方法。

第2章首先对Spectre仿真环境进行了总体说明,包括Spectre软件的基本介绍和特点,以及Spectre的仿真设计方法、与其他EDA软件的连接;然后介绍了Spectre启动的配置和几个主要窗口,包括主窗口、设计库管理窗口、电路图编辑器窗口、模拟设计环境窗口、波形显示窗口和波形计算器;最后详细介绍了analogLib库中的基本器件和激励源,作为读者学习Spectre的知识储备。

第3章通过两个电路实例——与非门电路和两级密勒补偿运算放大器电路来讨论利用Spectre进行CMOS模拟集成电路设计的方法和仿真技巧。

第4章~第5章 通过实例介绍利用Synopsys Hspice进行CMOS模拟集成电路设计的仿真方法。

第4章首先对Hspice进行了概括性介绍,包括基本介绍、特点、仿真方法等,之后对Hspice操作的主要窗口——主窗口、波形显示窗口和Result Brower窗口进行了详细介绍,尤其是这些窗口中的一些重要菜单项和工具栏项;然后讨论了Hspice中电路描述的相关语句,包括元件描述语句、激励源描述语句、元件模型描述语句、子电路描述语句和库文件描述语句几大类;最后对电路结果输出语句、电路控制仿真语句和三类仿真分析语句进行了描述。

第5章同样通过与非门电路和两级密勒补偿运算放大器电路来讨论利用Hspice进行CMOS模拟集成电路设计的方法和仿真技巧。

第6章~第7章 通过两级密勒补偿运算放大器的版图设计和物理验证,介绍物理版图设计工具Cadence Virtuoso Layout Editor和版图验证与参数反提工具Mentor Calibre的基础知识和操作技巧。

本书内容丰富,具有很强的实用性。

本书由北方工业大学微电子系副教授戴澜主持编写,陈铖颖、尹飞飞、范军和刘海南一同参与完成。其中,戴澜完成了第1章和第2章的编写,陈铖颖完成第3章的编写,尹飞飞完成第4章和第5章的编写,第6章由范军编写,刘海南副研究员完成第7章的编写。其余参加编写的还有胡晓宇、辛卫华、蒋见花、王晶、周璇、王海欣、王洪祥、余嘉晗、荆有波、王鑫、石宇。中国科学院微电子研究所胡晓宇副研究员、辛卫华高级工程师、蒋见花副研究员参与了全书的策划和审定。同时,感谢北京立博信荣科技有限公司高级工程师王晶,北京诺基亚移动通信高级工程师周璇,三星电子高级工程师王海欣、余嘉晗、王洪祥、荆有波、石宇、王鑫等在文稿审校、章节架构确定、资料查找和文档整理方面付出的辛勤劳动,正是有了大家的共同努力,才使本书得以顺利完成。

由于本书涉及知识面较广,时间和编者水平有限,书中难免存在不足和局限,恳请读者批评指正。编者

第1章 CMOS模拟集成电路EDA技术

随着信息产业的迅猛发展,进入21世纪以来,人类社会在信息领域正面临着一场巨大的变革,其先导因素和决定性力量正是微电子集成电路技术。自微电子集成电路诞生之日起,其发展经历了若干阶段。首先是20世纪50年代末发展起来的小规模集成电路(Small Scale Integrated circuits,SSI),集成度仅上百个元件;之后,是60年代发展起来的中规模集成电路(Medium Scale Integrated circuits,MSI),集成度上升至约1000个元件;70年代发展的大规模集成电路(Large Scale Integrated circuits,LSI),集成度已达数千个元件;70年代末进一步发展为超大规模集成电路(Very Large Scale 5Integrated circuits,VLSI),集成度达到10个元件;80年代更是发展了特大规模集成电路(Ultra Large Scale Integrated circuits,ULSI),6集成度比VLSI又提高了一个数量级,达到10个元件以上。

在集成电路工艺领域,历史上陆续出现了p沟硅栅金属-氧化物半导体(MOS)工艺、p沟铝栅金属-氧化物半导体工艺、n沟硅栅金属-氧化物半导体工艺、高性能短沟道金属-氧化物半导体(HMOS)工艺等,它们各具优劣势,在不同时期、不同领域得到了应用。随着集成电路集成度的日益提高,普通MOS工艺已不能满足大规模和超大规模集成系统制造的需要,于是互补金属-氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)工艺应运而生,在数字LSI和VLSI集成电路的制造中首先得到广泛应用,并得到快速发展。特别是自20世纪80年代以来,CMOS工艺更是成为了CPU、RAM、ROM等VLSI的主导制造工艺。

伴随着CMOS集成电路工艺的不断成熟和进步,CMOS集成电路设计方法也发生了巨大的转变,从最初的手工设计到现在的电子设计自动化(Electronic Design Automation,EDA)。目前,EDA技术已经成为微电子集成电路设计的基本途径,广泛应用于CMOS模拟、数字、混合信号及射频集成电路、系统设计中。本书重点关注EDA技术在CMOS模拟集成电路领域的应用和方法,依据设计流程详细介绍几大类CMOS模拟集成电路设计EDA工具,为初学CMOS模拟集成电路设计的高等院校学生和工程师提供参考。

本章主要介绍CMOS模拟集成电路EDA技术的基本概况、特点、发展趋势和主流工具,为之后的层次化学习打下基础。

1.1 CMOS模拟集成电路EDA技术概述

微电子集成电路产业是一个集工艺制造、电路/系统设计、市场营销、消费应用为一体的复杂系统工程。其中,电路/系统设计是连接集成电路工艺制造和市场、应用的桥梁,是集成电路芯片产品开发的决定性一步。一款成功的集成电路芯片源于无数工程师成功的设计,而成功的设计在很大程度上又取决于有效、成熟的集成电路EDA设计工具。

集成电路EDA设计工具主要是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子辅助软件包。该软件包可以使设计者在虚拟的计算机环境中进行早期的设计验证,有效缩短了电路实体迭代验证的时间、提高了集成电路芯片设计的成功率。迄今为止,应用于集成电路设计的EDA工具从诞生到现在,经历了三个主要的发展阶段。

第一阶段:在20世纪70年代的集成电路产业发展初期,人们开始使用计算机辅助进行集成电路版图编辑,取代了以往的手工设计操作,产生了计算机辅助设计的概念。该阶段称为CAD(Computer Aided Design)阶段。

第二阶段:20世纪80年代初,除了版图编辑和验证功能,出现了以Mentor、Daisy、Valid为代表的CAE(Computer Aided Engineering)系统,为工程师提供了较为便捷的电路原理图输入、功能模拟、分析验证功能,标志着集成电路EDA工具发展进入正轨,成为集成电路产业链中重要的一环。因此该阶段称为CAE阶段。

第三阶段:20世纪90年代进入ESDA(Electronic System Design Automation)阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把工程师从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA工具界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求能够贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化,其中的代表是Cadence、Synopsys、Avanti等公司推出的EDA工具。

进入21世纪以来,第四代EAD工具正沿着ESDA的途径继续演进。由于集成电路的工艺水平已经进入深亚微米(<20nm),短沟道效应、连线延迟成为制约集成电路发展的重要瓶颈,因此必须大幅度提高EDA工具的设计能力,才能适应集成电路工艺的快速发展。

利用EDA技术进行集成电路设计主要具有以下几方面特点:(1)采用计算机软件平台完成虚拟的电路、系统设计。(2)用软件方式设计的电路、系统到硬件电路、系统的转换是由相应开发软件来自动完成的。(3)设计过程可使用EDA软件对电路、系统进行功能及性能仿真,即虚拟测试,提前修改电路、系统中的错误和不足,优化电路。EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解电路、系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。(4)采用EDA技术的设计方法,可将一个庞大的系统设计在一块芯片上完成,即通称的SoC(System on Chip),使系统具有体积小、集成度高的优势。

作为EDA技术的一个主要分支,CMOS模拟集成电路EDA技术在硬件方面融合了大规模集成电路制造技术,模拟集成电路、版图设计技术,专用集成电路测试和封装技术等;在计算机辅助工程方面融合了计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助测试CAT技术及多种计算机语言的设计概念;而在现代电子学方面则容纳了模拟、数字集成电路设计理论、数字信号处理技术、系统建模和优化技术等。

CMOS模拟集成电路EDA技术的核心是利用计算机实现CMOS模拟集成电路设计的自动化,因此基于计算机环境下的EDA工具软件的支持是必不可少的。CMOS模拟集成电路EDA软件经历了20年的发展,目前广泛应用的主要有Cadence、Mentor、Synopsys三家公司的EDA软件。这些软件功能很强,可以进行电路设计与仿真,输出多种网表文件(Netlist),与其他厂商的软件共享数据等。

目前CMOS模拟集成电路EDA软件开发方面,主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有自主开发的专用集成电路设计工具,但不对外开放。中国华大集成电路设计中心,也提供设计软件,但性能不是很强。

总之,CMOS模拟集成电路EDA技术为现代模拟集成电路理论和设计的表达与应用提供了可能性,它已不是某一学科的分支,而是一门综合性学科,打破了计算机软件与硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了模拟集成电路设计技术和应用技术的发展方向。

1.2 CMOS模拟集成电路设计流程

CMOS模拟电路设计技术作为工程技术中最为经典和传统的艺术形式,仍然是许多复杂高性能系统中不可替代的设计方法。CMOS模拟集成电路设计与传统分立元件模拟电路设计最大的不同在于,所有的有源和无源器件都是制作在同一块硅衬底上,尺寸极其微小,无法再用电路板进行设计验证。因此,设计者必须采用EDA软件仿真和模拟的方法来验证电路功能及性能。模拟集成电路设计包括若干阶段,图1.1表示的是CMOS模拟集成电路设计的一般的流程。图1.1 CMOS模拟集成电路设计流程(1)系统规格定义;(2)电路设计;(3)电路仿真模拟;(4)版图实现;(5)物理验证;(6)参数提取后仿真;(7)导出设计文件,流片;(8)芯片制造;(9)测试和验证。

一个设计流程是从系统规格定义开始的,设计者在这个阶段就要明确设计的具体要求和性能参数。下一步就是对电路应用模拟仿真的方法评估电路性能。这时可能要根据仿真结果对电路做进一步改进,反复进行仿真。一旦电路性能的仿真结果满足设计要求,就需要进行另一项主要设计工作——电路的版图设计。版图完成并经过物理验证后需要将布局、布线形成的寄生效应考虑进去,再次进行计算机仿真。如果仿真结果也满足设计要求,就可以进行制造了。

与用分立器件设计模拟电路不同,集成化的模拟电路设计不能用搭建线路板的方式进行。随着现在发展起来的EDA技术,以上的设计步骤都是通过计算机辅助进行的。通过计算机模拟,可在线路中的任何节点监测信号;可将反馈回路打开;可比较容易地修改线路。但是计算机模拟也存在一些限制。例如,模型的不完善,程序求解由于不收敛而得不到结果等。下面将详细讲述设计流程中的各个阶段。

1)系统规格定义 这个阶段系统工程师把整个系统和其子系统看成是一个个只有输入输出关系的“黑盒子”,不仅要对其中每一个进行功能定义,而且还要提出时序、功耗、面积、信噪比等性能参数的范围要求。

2)电路设计 设计者根据设计要求,首先要选择合适的工艺库,然后合理地构架系统。由于CMOS模拟集成电路的复杂性和多样性,目前还没有EDA厂商能够提供完全解决CMOS模拟集成电路设计自动化的工具,因此所有的模拟电路基本上仍然通过手工设计来完成。

3)电路仿真 设计工程师必须确认设计是正确的,为此要基于晶体管模型,借助EDA工具进行电路性能的评估、分析。在这个阶段要依据电路仿真结果来修改晶体管参数,依据工艺库中参数的变化来确定电路工作的区间和限制、验证环境因素的变化对电路性能的影响,最后还要通过仿真结果指导下一步的版图实现。

4)版图实现 电路的设计与仿真决定电路的组成及相关参数,但并不能直接送往晶圆代工厂进行制作。设计工程师需提供集成电路的物理几何描述,即通常说的“版图”。这个环节就是要把设计的电路转换为图形描述格式。CMOS模拟集成电路通常是以全定制方法进行手工的版图设计。在设计过程中需要考虑设计规则、匹配性、噪声、串扰、寄生效应等对电路性能和可制造性的影响。虽然现在出现了许多高级的全定制辅助设计方法,但仍然无法保证手工设计对版图布局和各种效应的考虑全面性。

5)版图物理验证 版图的设计是否满足晶圆代工厂的制造可靠性需求?从电路转换到版图是否引入了新的错误?物理验证阶段将通过设计规则检查(Design Rule Check,DRC)和版图网表与电路原理图的比对(Layout Versus Schematics,LVS)解决上述两类验证问题。几何规则检查用于保证版图在工艺上的可实现性。它以给定的设计规则为标准,对最小线宽、最小图形间距、孔尺寸、栅和源漏区的最小交叠面积等工艺限制进行检查。版图网表与电路原理图的比对用来保证版图的设计与其电路设计的匹配。LVS工具从版图中提取包含电气连接属性和尺寸大小的电路网表,然后与原理图得到的电路网表进行比较,检查两者是否一致。

6)参数提取后仿真 在版图完成之前的电路模拟都是比较理想的仿真,不包含来自版图中的寄生参数,被称为“前仿真”;加入版图中的寄生信息进行的仿真被称为“后仿真”。CMOS模拟集成电路相对数字集成电路来说对寄生参数更加敏感,前仿真的结果满足设计要求并不代表后仿真也能满足。在深亚微米阶段,寄生效应愈加明显,后仿真分析将显得尤为重要。与前仿真一样,当结果不满足要求时需要修改晶体管参数,甚至某些地方的结构。对于高性能的设计,这个过程是需要多次反复的,直至后仿真满足系统的设计要求。

7)导出流片数据 通过后仿真后,设计的最后一步就是导出版图数据(GDSII)文件,将该文件提交给晶圆厂,就可以进行芯片的制造了。

1.3 CMOS模拟集成电路EDA工具分类

从1.2节中可以知道,在CMOS模拟集成电路设计中,电路设计及仿真模拟、版图实现、版图物理验证及参数提取后仿真是工程师需要完成的最重要的三个步骤。本节就依据该设计流程介绍目前广泛应用的几类EDA设计工具。1.电路设计及仿真模拟工具

电路设计及仿真模拟的传统工具主要有Cadence公司的Spectre、Synopsys公司的Hspice和Mentor公司的Eldo三大类。此外,基于上述工具,为了满足大规模、快速仿真的需求,三大公司又分别开发了相应的快速电路仿真工具,分别是Cadence的Spectre ultrasim、Synopsys的 hsim和Mentor的Premier。

1)Spectre Spectre是美国Cadence公司开发的用于模拟集成电路、混合信号电路设计和仿真的EDA软件,功能强大,仿真功能多样,包含有直流仿真(DC Analysis)、瞬态仿真(Transient Analysis)、交流小信号仿真(AC Analysis)、零极点分析(PZ Analysis)、噪声分析(Noise Analysis)、周期稳定性分析(Periodic Steady-state Analysis)和蒙特卡罗分析(Mento Carlo Analysis)等,并可对设计仿真结果进行成品率分析和优化,大大提高了复杂集成电路的设计效率。尤其是其具有图形界面的电路图输入方式,使其成为目前最为常用的CMOS模拟集成电路设计工具。

Cadence公司还与全球各大半导体晶圆厂家合作建立了仿真工艺库文件PDK(Process Design Kit),设计者可以很方便地使用不同尺寸的PDK进行CMOS模拟集成电路设计和仿真。除了上述仿真功能外,Spectre还提供与其他EDA仿真工具,如Synopsys公司的Hspice、安捷伦的ADS、Mathworks的Matlab等进行协同仿真的功能,再加上自带的丰富的元件应用模型库,大大增加了模拟集成电路设计的便捷性、快速性和精确性。

2)Hspice Hspice是原Meta-Software(现属于Synopsys公司)研发的模拟及混合信号集成电路设计工具。与Cadence公司的Spectre图形界面输入不同,Hspice通过读取电路网表及电路控制语句的方式进行仿真,是目前公认仿真精度最高的模拟集成电路设计工具。

与Spectre类似,Hspice也包含直流仿真、瞬态仿真、交流小信号仿真、零极点分析、噪声分析、傅里叶分析、最坏情况分析和蒙特卡罗分析等功能。早期的Hspice存在电路规模较大或比较复杂时,仿真矩阵不收敛的情况,在被Synopsys收购后,通过多个版本的升级,这个问题逐渐得到改善。到了2007sp1版本后,Hspice已经有了质的飞跃,仿真收敛问题也基本得到解决。

3)Eldo Eldo是Mentor公司开发的模拟集成电路EDA设计工具,Eldo可以使用与Hspice相同的命令行方式进行仿真,也可以集成到电路图编辑工具环境中,如Mentor的DA_IC,或者Cadence的Spectre中。Eldo的输入文件格式可以是标准的spice,也可以是Hspice的格式。

Eldo通过基尔霍夫电流约束进行全局检查,对收敛严格控制,保证了与Hspice相同的精度。且与早期的Hspice相比,仿真速度较快。在仿真收敛性方面,Eldo采用分割概念,在不收敛时对电路自动进行分割再组合,更改了仿真矩阵,使得电路收敛性大大提升。

Eldo可以方便地嵌入到目前其他的模拟集成电路设计环境中,并可以扩展到混合仿真平台ADMS,进行数字、模拟混合仿真。Eldo的输出文件可以被其他多种波形观察工具查看和计算,Eldo自身提供的Xelga和EZWave更是功能齐全和强大的两个波形观察与处理工具。

由于大规模混合信号电路、SoC的出现,使得传统的模拟集成电路仿真工具出现瓶颈:主要表现为速度慢、容量有限(一般最大支持50~100kb/s的器件)。因此各大公司相继开发了新一代的快速仿真工具。通常这类仿真工具为了提高仿真速度主要采用的技术有:模型线性化、模型表格化、多速率仿真、矩阵分割、事件驱动技术等。Cadence的Spectre ultrasim、Synopsys的 hsim及Mentor的Premier就是其中的佼佼者。限于篇幅,本书不再展开介绍。2.版图实现工具

版图实现工具方面目前是Cadence公司的Virtuoso Layout Editor一家独大的局面,唯有Synopsys公司旗下的Laker工具具有一定的竞争力。

1)Virtuoso Layout Editor 作为Cadence公司在物理版图工具方面的重要产品,Virtuoso Layout Editor是目前应用最为广泛的版图实现工具。它与各大晶圆厂商合作,可以识别不同的工艺层信息,支持定制专用集成电路、单元与模块级数字、混合信号与模拟设计。并采用Cadence公司的空间型布线技术,与其他软件组件配合,快速而精确地完成版图设计工作。

Virtuoso Layout Editor主要具有以下几方面特点: 在器件、单元及模块级加快定制的模拟集成电路设计版图布局; 支持约束与电路原理图驱动的物理版图实现; 在设计者提交原理图或者需要对标准单元进行评估、改动等活动

时,快速标准单元功能可以将布局性能提高10倍; 提供高级节点工艺与设计规则的约束驱动执行。

2)Laker Laker是原台湾SprintSoft公司开发的新一代版图编辑工具,在2012年被Synopsys公司收购,如今成为Synopsys旗下的EDA版图工具。相比传统的Virtuoso版图工具,Laker最大的亮点在于创造性地引入电路图驱动版图技术(Schematic Driven Layout),即实现了与印制电路板EDA工具类似的电路图转换版图功能。设计者可以通过电路图直接导入,形成版图,并得到器件之间互连的预拉线,大幅度减少了人为进行版图连线造成的错误,提高了版图编辑效率。此外,Laker还具有以下特点: 电路图窗口和版图窗口同时显示,方便设计者实时查看器件和连

接关系; 自动版图布局模式,将电路图中的器件快速布置到较为合适的位

置; 实时的电气规则检查、高亮正在操作的版图元件,避免了常见的

短路和断路错误。3.版图物理验证及参数提取后仿真工具

版图物理验证主要包含三部分的工作,即DRC(Design Rule Check)、LVS(Layout Versus Schematics)和PEX(Parasitic Extraction)。DRC主要进行版图设计规则检查,也可以进行部分DFM(Design For Manufacture)的检查(如金属密度、天线效应),确保工艺加工的需求;LVS主要进行版图和原理图的比较,确保后端设计同前端设计的一致性;PEX则主要进行寄生参数的提取,由于在前端设计时并没有或者未充分地考虑金属连线及器件的寄生信息,而这些在设计中(特别是对于深亚微米设计)会严重影响设计的时序、功能,现在要把这些因素考虑进来,用仿真工具进行后仿真,确保设计的成功。

与电路设计及仿真模拟工具类似,版图物理验证及参数提取后仿真工具也出现了Cadence、Synopsys和Mentor三家公司分庭抗礼的局面。Assura、Hercules和Calibre分别是Cadence、Synopsys和Mentor旗下用于版图物理验证和参数反提的模拟集成电路EDA工具。在早期工艺中,Cadence公司还有另一款命令行版图物理验证工具Dradula,目前已基本淘汰;而且相比Assura和Calibre,Hercules在CMOS模拟集成电路版图验证中的应用不是十分广泛,在此也不做介绍。

1)Assura Assura可以看作是Spectre中自带版图物理验证工具Diva的升级版,通过设定一组规则文件,支持较大规模电路的版图物理验证、交互式和批处理模式。但在进行验证前,设计者需要手动导出电路图和版图的网表文件。新版本的Assura环境可以在同一界面中打开电路图和版图界面,极大地方便了设计者定位、修改版图中的DRC和LVS错误。参数反提支持Spectre、Hspice和Eldo环境中的网表格式,由设计者自行选择仿真工具进行仿真。

2)Calibre Calibre是目前应用最为广泛的深亚微米及纳米设计和半导体生产制造中版图物理验证的EDA工具,可以很方便地嵌入到版图实现工具Virtuoso和Laker中。Calibre采用图形化的可视界面,并提供了快速准确的设计规则检查(DRC)、电气规则检查(ERC)及版图与原理图对照(LVS)功能。

Calibre中的层次化架构有效简化了复杂ASIC/SoC设计物理验证的难度。设计者不需要针对芯片设计的类型进行特殊设置。同时也可以根据直观、方便的物理验证结果浏览环境,迅速而准确地定位错误,并且与版图设计工具之间紧密集成,实现交互式修改、验证和查错。Calibre的并行处理能力支持多核CPU运算,能够显著缩短复杂设计验证的时间。

1.4 CMOS晶体管EDA仿真模型

在利用CMOS模拟集成电路EDA工具进行设计时,需要调用精确的CMOS晶体管计算机模型才能完成设计任务。作为计算机仿真模型发展和模拟应用领域的领导者,加州大学伯克利分校于1984年开发出了BSIM1模型,基本满足了亚微米MOS管模型的需要。BSIM1模型以多参数曲线拟合实验的方式研究建模问题。模型用60个参数描述MOS管的直流性能。1991年,经过改进的BSIM2模型,主要考虑了输出电阻与热电子效应、源漏寄生电阻和反型层电容的关系,该模型有99个直流参数。1994年,BSIM3模型推出,这个模型使用简单,只有40个直流参数,但却可以对模拟电路实现很好的仿真性能。目前,第三版BSIM3V3已经成为工业界标准的MOS管计算机仿真模型。下面对BSIM和BSIM3V3模型进行简要介绍。1.BSIM模型

该模型的建立是以小几何构型MOS晶体管物理特性为基础,它同时兼顾了弱反型和强反型两种状态。BSIM有60多个参数,其主要特性如下: 载流子迁移率与垂直电场的关联; 源极和漏极的电荷共享; 沟道变窄; 亚阈值导电; 离子注入器件的非均匀掺杂; 几何构型关联。

BSIM模型以数量较少的一些参数为基础,其数值均从具体的加工特征中获取。2.BSIM3V3模型(Level 49模型)

BSIM3V3模型(在Spice工具中为Level 49模型)的一个显著提高是建立了统一的I/V模型,该模型可以描述从亚阈值直到强反型区的各个工作区域内,以及线性到饱和的各个状态下的电流和输出电导特性,这一增强确保了电流电导率及它们的导数在所有过渡区域内均能保持连续。并且BSIM3V3更加关注深亚微米MOS管在工作状态中才可能出现的重要影响,主要包括以下9个方面: 阈值电压下降; 非均匀掺杂效应; 垂直电场引起的迁移率退化; 载流子极限漂移速度引起的沟道电流饱和影响; 漏极感应势垒降低; 沟道长度调制; 亚阈值导通; 漏区和源区的寄生电阻效应; 输出电阻的热电子效应。

1.5 小结

本章首先介绍了CMOS模拟集成电路EDA技术的基本概况,包括发展历史、特点、现状及未来趋势,使读者对该领域有一个概括性的了解。然后分步骤介绍了CMOS模拟集成电路的基本设计流程,并依据该流程中最重要的三个部分——电路设计及仿真模拟、版图实现、版图物理验证及参数提取后仿真,分类讨论了目前主流的EDA设计工具。

最后分析了CMOS模拟集成电路EDA工具中所需要的计算机仿真模型—BSIM系列模型,因为该模型是进行CMOS模拟集成电路设计的重要基础,这一点读者在之后的仿真介绍中可有所体会。

第2章 电路设计及仿真工具Cadence Spectre

Spectre是美国Cadence公司开发的模拟、混合信号及射频集成电路设计自动化仿真软件,功能强大,仿真功能多样,包含直流仿真(DC Analysis)、瞬态仿真(Transient Analysis)、交流小信号仿真(AC Analysis)、零极点分析(PZ Analysis)、噪声分析(Noise Analysis)、周期稳定性分析(Periodic Steady-state Analysis)和蒙特卡罗分析(Mento Carlo Analysis)等多种仿真功能。

Cadence公司还与全球各大半导体晶圆厂家合作,建立了适用于Spectre的仿真工艺库文件PDK(Process Design Kit),设计者可以很方便地使用不同工艺尺寸的PDK进行CMOS模拟集成电路设计和仿真。除了上述仿真功能外,Spectre还可以与其他EDA仿真工具,如Synopsys公司的Hspice、安捷伦的ADS、Mathworks的Matlab等进行协同仿真,再加上自带的丰富的元件应用模型库,大大增加了集成电路设计的便捷性、快速性和精确性。

2.1 Spectre的特点

1.简洁易用的仿真环境和界面

Spectre提供的仿真功能可以让所有电路设计者快速完成模拟设定、环境建立与模拟结果分析,环境中包含了Virtuoso Spectre Circuit Simulator、Virtuoso Ultrasim Full-chip Simulator及其他业界标准的仿真器,如图2.1所示。设计者在设计流程中可以快速且容易地通过视觉化的图形界面了解模拟集成电路中特定参数对电路产生的影响,内建OCEAN程序语言更加速了bash运算,而通过OASIS(Open Artwork System Interchange Standard)整合套件,Spectre可轻松地与Cadence或业界使用的其他仿真器整合使用,加速电路设计。图2.1 Spectre中包含的各种仿真器2.内建的波形显示和信号分析能力

Spectre内建的WaveScan Waveform Display Tool包含波形计算功能,针对各种设计结果如电压、电流、模拟参数、工作点做代数方程式运算,并提供更完善的后仿真分析(Post-Layout Simulation)环境,在模拟和混合信号分析上支持更高阶的波形分析模式,如噪声、工艺角、统计性和射频分析等,同时支持PNG、TIFF、BMP等文本或图形格式,提高了跨平台的可携带性。3.有力衔接了Virtuoso版图设计平台

对于完整的Virtuoso版图设计平台而言,Spectre是不可或缺的重要环节,它能方便地利用提取的寄生元件参数来快速完成后仿真(Post-Layout Simulation)的模拟,并与前仿真(Pre-Layout Simulation)的模拟结果做比较,紧密地连接了电路(Schematic)和版图(Layout)的设计。4.交互的仿真模式

设计者可以在仿真过程中快速地改变参数,并在不断调整参数和模拟的过程中找到最佳的电路设计结果,减少电路设计者模拟所花费的时间。5.支持先进的分析工具

Spectre支持跟踪电路分析和模拟,通过简单的界面化电路模拟操作,可以让设计者快速掌握电路设计,节约大量学习和设计仿真参数的时间。Spectre还提供多种高阶的电路模拟工具,如Parametric Analysis(参数分析)、Corner Analysis(工艺角分析)、Monte Carlo Analysis(蒙特卡罗分析)、RF Analysis(射频分析)。

1)Parametric Analysis Parametric Analysis可以帮助设计者针对半导体元件或电路参数的特定范围来进行扫描,并可借由扫描多重参数的分析比较来修正最佳的参数值,而搭配内建波形窗口可快速地在波形群组间进行搜索比较,找到最佳的结果。

2)Corner Analysis Corner Analysis提供一个方便的方法来做工艺角模拟分析,针对特定的工艺角组合电压、温度及其他参数状况,并经过简单的界面操作,可以容易地加入新的工艺角,达到一次设定即可自动完成多重模拟的目标,通过Corner Analysis分析找出问题参数值的范围,提高工艺良率。

3)MonteCarlo Analysis MonteCarlo Analysis可以帮助设计者针对多种参数以概率分布的方式随机抽样来做模拟,并以统计图表的方式呈现。设计者可以利用MonteCarlo Analysis的分析结果,以其统计的角度预先做良率分析,优化设计,以提高生产良率。

2.2 Spectre的仿真设计方法

Spectre可以帮助设计者进行模拟、射频和混合信号等电路的设计和仿真,其仿真方法大致可分为瞬态仿真、直流仿真、交流小信号分析、零极点分析、噪声分析和周期稳定性分析。

1)瞬态仿真 瞬态仿真是Spectre最基本,也是最直观的仿真方法。该仿真功能在一定程度上类似于一个虚拟的“示波器”,设计者通过设定仿真时间,可以对各种线性和非线性电路进行功能和性能模拟,并且在波形输出窗口中观测电路的时域波形,分析电路功能。

2)直流仿真 直流仿真的主要目的是为了得到电路中各元件及电路节点的直流工作点。在该仿真中,所有独立和相依的电源都是直流形态,而且将电感短路及电容断路。利用直流仿真中的扫描参数功能,还可实现电路参数与温度、输入信号、工艺参数的扫描分析。

3)交流小信号仿真 交流小信号仿真是Spectre的另一项重要功能,主要用于计算电路在某一频率范围内的频率响应。交流小信号仿真首先计算出电路的直流工作点,然后计算出电路中所有非线性元件的等效线性小信号电路,进而借助这些线性化的小信号等效电路在某一频率中进行频率响应分析。该仿真的主要目的是要得到电路指定输出端点的幅度或相位变化。因此,交流仿真的输出变量带有正弦波性质。

4)零极点分析 零极点分析对于网络分析和模拟电路如放大器、滤波器的设计尤其重要。利用该分析可得到网络或系统的零极点分布情况,进而分析系统的稳定性。或者利用分析结果配合电路补偿技术,如改变频宽或增益,从而达到设计的要求。

5)噪声分析 噪声分析是基于电流直流工作点的条件下,用来计算交流节点电压的复数值。仿真中认为噪声源与其他的电路噪声源相对独立,总输出噪声是各噪声源贡献的均方根之和。利用噪声分析可以对电路的等效输出噪声、等效输入噪声、噪声系数等进行仿真分析。

6)周期稳定性分析 周期稳定性分析采用大信号分析的仿真方法,来计算电路的周期稳定性响应。在周期稳定性分析中,仿真时间独立于电路的时间常数,因此该分析能快速地计算如高Q值滤波器、振荡器等电路的稳定性响应。在应用了周期稳定性分析之后,Spectre仿真器还可以通过附加其他周期小信号分析来为频率转换效应建立模型,特别是在诸如混频器转换增益、振荡器噪声和开关电容滤波器等电路的仿真中尤其重要。

2.3 Spectre与其他EDA软件的连接

由于当今模拟集成电路设计规模日益庞大,每个EDA软件在整个系统中都扮演着不同的角色,其主要功能和侧重点各不相同。因此,软件和软件之间、软件和工艺模型厂商之间的合作也成为设计中重要的组成部分。

1)SPICE电路转换器 电路转换器可以将由PSPICE、HSPICE、ADS等所产生的电路图转换成Spectre能读取的电路图形式进行仿真分析;同时也可以将Spectre生成的电路图转换成其他SPICE格式的电路图,通过其他EDA软件进行仿真验证。

2)电路格式转换器 电路格式转换器是设计者与其他EDA软件进行沟通和联合仿真的桥梁,可以将不同EDA软件,如ADS、Modelsim等所产生的文件格式转换成Spectre可以使用的文件格式。

3)版图布局接口 Spectre软件还可与Cadence公司自身的版图设计环境Virtuoso、Synopsys的Laker工具方便地相连接,设计者可对照Spectre中的电路图进行版图物理设计。

2.4 Spectre的基本操作

本节对Cadence Spectre的启动设置、命令行窗口(Command Interpreter Window,CIW)、设计库管理器(Library Manager)、电路图编辑器(Schematic Editor)和模拟设计环境(Analog Design Environment,ADE)做一个详细介绍。1.Cadence Spectre启动设置

首先,保证Cadence Spectre已由管理员正确地安装在UNIX/Linux环境下。

1)启动配置文件(.cdsinit) .cdsinit文件是在Cadence Spectre中启动时运行的SKILL脚本文件。该文件配置了很多Cadence Spectre的环境配置,包括使用的文本编辑器、热键设置、仿真器的默认配置等。如果 Cadence Spectre没有找到.cdsinit文件,软件中的快捷键等功能都不能适用。Cadence Spectre搜索.cdsinit文件时,首先会搜索程序的启动路径,然后搜索的是用户的主目录。

默认配置文件路径如下:/tools/dfII/samples/local/cdsinit

2)其他配置文件 如果需要,在程序的运行目录建立其他的启动配置文件,如.cdsenv、.cdsplotinit、display.drf等。这些配置文件分别有自己的用途,如下所示。

.cdsenv:用于设置启动时的环境变量。

.cdsplotinit:包含Cadence Spectre打印和输出图形的设置。

display.drf:版图编辑器中显示颜色等的配置。

这些配置文件的搜索路径首先是程序启动目录,其次是用户的主目录。这些配置文件的样本位置如下。

.cdsenv:/tools/dfII/samples/.cdsenv

.cdsplotint:/tools/plot/samples/cdsplotinit.sample

display.drf:/share/cdssetup/ dfII/default.drf

3)设置设计库配置文件(cds.lib) 设计库(library)配置文件放置在Cadence Spectre程序的运行路径下,例如,要在~/project目录下运行Cadence Spectre,则需要在该目录下建立 cds.lib文件。这个文件设置的是 Cadence Spectre中的设计库的路径。

常用命令格式如下。DEFINE格式:DEFINE<库名> <库路径>INCLUDE格式:INCLUDE <另外一个cds.lib的全路径>#行注释符,在行首加入则该行无效。

如果cds.lib文件是空文件,则Cadence Spectre的设计库中就是空的。为了添加基本元件库,需要一些基本元件。可以在cds.lib文件中加入一行:INCLUDE /share/cdssetup/cds.lib2.Spectre主窗口和选项介绍

完成上面的设置之后,就可以在命令行运行Cadence Spectre软件了,通过键盘输入命令“icfb &”,此时Cadence Spectre的命令行窗口(Command Interpreter Window,CIW)会自动弹出,如图2.2所示。图2.2 Cadence Spectre的命令行窗口

该窗口主要包括菜单栏、输出窗口、命令行、鼠标命令、提示栏。菜单栏中又包括“File”、“Tools”和“Options”三个主选项,对应每个选项下还有一些子选项,如图2.3所示。下面对一些重要的子选项做介绍。图2.3 “File”、“Tools”和“Options”三个主选项及相应子选项

1)“File”菜单选项 New:建立新的设计库(Design Library)或者设计的电路单元(CellView)。 Open:打开已经建立的设计库(Design Library)或者设计的电

路单元(CellView)。 Import:导入文件,可以导入包括GDS版图、电路图、cdl网表、

模型库、VerilogA及Verilog代码等不同的文件。 Export:与导入文件相反,导出文件可以将Cadence设计库中的

电路或者版图导出成需要的文件类型。 Exit:退出icfb工作环境。

2)“Tools”菜单选项 Library Manager:图形化的设计库浏览器,界面如图2.4所示,

其中可以看到cds.lib文件添加的工艺库和设计库。图2.4 “Library Manager”窗口 Library Path Editor:可以用来修改设计库配置文件(cds.lib),

如图2.5所示。在这个界面中可以直观地对cds.lib文件进行修改和

添加。图2.5 “Library Path Editor”窗口 Analog Environment:该子选项用于模拟电路仿真,里面的选项

如下。 Simulation:打开Virtuoso® Analog Design Environment(ADE)

仿真环境。 Calculator:用于对仿真结果进行公式计算的计算器工具。 Result Browser:仿真结果浏览器。 Waveform:仿真结果绘图程序。 Technology File Manager:用于管理设计库所采用的工艺库文件,

包括版图设计时所需要的技术文件和显示文件等。 CIW窗口中的其他部分。 输出窗口:主要显示一些操作的输出信息和提示,包括一些状态

信息和警告信息、错误提示。这些提示有助于分析操作中的问题。 命令行:在这一栏中可以运行 SKILL语言的命令,利用命令可以

对界面中的任何项目进行控制,从电路编辑到仿真过程,都可以

用SKILL语言控制。

CIW中的输出窗口和命令行合在一起实际上就是一个命令界面。命令语言是SKILL语言。图形界面只是在命令行基础上的扩展。在图形界面上的任何操作或者快捷键都是通过命令行来最终实现的。命令行的好处是可以采用语言控制复杂的操作,并且可以进行二次开发,将命令与界面整合起来,有效提高了整个软件的可扩展性和易用性。 鼠标命令:这一栏显示的是鼠标单击左、中、右键分别执行的

SKILL命令。 提示栏:这一栏显示的是当前Cadence Spectre程序运行中的功

能提示。3.设计库管理器(Library Manager)介绍

设计库管理器的窗口如图2.6所示,包括“Library”、“Category”、“Cell”、“View”四栏,在平时的应用中“Category”一般收起来,不予显示。以下对这四栏的含义做简要介绍。图2.6 设计库管理器窗口 Library:即设计库,该设计库中存在的库是在cds.lib文件中定义

的,包含我们设计时所需要的工艺厂提供的工艺库及设计时建立

的设计库。一个设计库中可以含有多个子库单元。通常在做不同

的设计时,建立不同的设计库,可以有效地对电路进行修改和管

理。 Category:类别是将一个设计库中的单元分为更加详细的子类,

以便在调用时进行查找。当一个设计库的规模比较大的时候,可

以用分类的方式管理设计库中单元的组织。在小规模的设计中分

析往往不必要,这时可以在面板显示选项栏取消显示分类(Show Category)选项,分类就会被跳过。如图2.6中,在“analogLib”中对库中的子单元进行分类,可以看到有“Actives”(有源器件)、“Passives”(无源器件)、“Sources”(激励源)等。 Cell:单元可以是一个器件,也可以是一个电路模块或者一个组

成的系统顶层模块。 View:一个“Cell”在电路设计中,需要用不同的方法进行显示。

例如,一个模拟电路模块,在设计内部结构的时候可能需要将它

表示为电路图;而在引用该模块的时候则需要将其表示为一个器

件符号;在绘制版图的时候可能需要将该模块表示为版图的一部

分。又如,一个VerilogA数字代码生成的电路,可以显示为代码

形式,或者电路符号形式以方便调用。因此一个单元必须有多种

表示方式,称为“Views”。上面的模拟模块有电路图(schematic)、器件符号(symbol)、版图(layout)三个

View,而数字模块有电路符号(symbol)、代码(VerilogA)两

个View。

下面介绍一些在设计库管理器菜单中的命令选项。 File菜单 New→Library/Cell View/Category:该命令与CIW中的选项完全相

同,可以通过这个命令新建设计库、电路单元或者分类。 Save Defaults/Load Defaults:将设计库中的库信息设置保存

在.cdsenv文件中。 Open Shell Window:打开Shell命令行窗口,在命令行中进行文

件操作。 Edit菜单 Copy:设计复制,如图2.7所示。通过选择来源库和目标库,可

以很方便地将子单元电路复制到目标库中。选中“Copy

Hierarchical”选项,复制一个顶层单元时,就将该顶层单元下所

有的子电路一起复制到目标库中。“Update Instances”选项保证

在对来源库中的子单元电路进行修改时,目标库中被复制的子单

元电路也同时被更新。图2.7 Copy窗口 Copy Wizard:高级设计复制向导。如图2.8所示,这个向导支持

多个模式,可以在界面第一行的复选框选择简单模式(Simple)。

在这个模式下的“Add To Category”栏可以指定复制过去的单

元或设计库被自动加入某个分类。“Destination Library”下拉菜

单指定了复制的目标设计库。图2.8 高级设计复制向导窗口 层次复制“Hierarchical”通过指定顶层单元,将一个顶层文件单

元连同其中直接或间接引用的所有单元一起复制。精确层次复制“Exact Hierarchical”和层次复制“Hierarchical”的功能基本相

同。唯一不同的是,层次复制时将包括这些单元中的所有“View”;而精确层次复制中只有指定单元的“View”会被复

制。“ By View”复制,将按照指定的过滤(Filter)选项复制某些设计

单元。“ By Configuration”复制,将根据“config view”中的配置来选

择需要复制的单元和View。 Rename:对设计库重新命名。 Rename Reference Library:在对设计库进行重新命名的同时,

还可以用于批量修改设计中单元之间的引用。 Delete:删除设计库管理器中的设计库。 Delete by View:在删除设计库管理器中的设计库的同时,这个

菜单命令还提供了一个过滤器用于删除设计库中指定的“View”。 Properites:显示当前选中电路的基本属性,如电路类型、所属

库名和修改权限等。 Access Permission:用来修改设计单元或者设计库的所有权和权

限。 Catagories:包括了对分类进行建立、修改、删除的命令。 Library Paths:调用Library Path Editor,在Library Path Editor中

可以删除、添加或者对现有设计库进行属性修改。 View菜单 Filter:显示视图的过滤。 Refresh:刷新显示。4.电路图编辑器(Schematic Editor)介绍

模拟电路的设计主要是依靠电路图编辑器(Schematic Editor)来完成的。电路图编辑器是一个图形化的界面,设计者可以很方便地在窗口中添加器件、激励源等来完成电路的构建。电路图编辑器可以通过在CIW或者设计库管理器中新建或打开单元的电路图(Schematic)“View”打开。其基本界面如图2.9所示。下面介绍电路图编辑器的使用方法。图2.9 电路图编辑器窗口

电路图编辑器界面主要包括状态栏、菜单栏、工具栏、工作区、鼠标命令栏、提示栏。 状态栏:内容包括正在运行的命令、选定的器件数、运行状态、

仿真温度和仿真器类型。 菜单栏、工具栏:分别位于状态栏下方和屏幕的左边缘,里面的

选项是电路设计中的命令。 工作区:就是图2.9中黑色的部分,是用来绘制电路图的部分,

其中有网格显示坐标。 鼠标命令栏:提示鼠标的左、中、右键分别对应的命令。 提示栏:显示的是当前命令的提示信息。

下面重点介绍一下工具栏中的操作,我们在设计中主要通过这些操作来实现电路图的绘制。这些操作也可以通过键盘快捷键来实现,首先要保证快捷键文件已经包含在.cdsinit文件中。 保存 、分别是检查完整性并保存(Check&Save)、保

存(Save)。 键盘:X和S键分别是保存、检查并保存。 菜单命令:“Design”→“Save”/“Check and Save”实现保

存、检查并保存。通常在绘制电路图时会出现一些连接错误,如

短路、断路的情况。这时候就需要依靠电路图编辑器的检查功能

查找一些明显的错误,所以一般应该使用检查并保存选项,而不

要强行保存。 放大,缩小 、分别是放大和缩小命令。 键盘:[键、]键、f键分别表示缩小、放大、适合屏幕。 菜单命令:“Window”→“Zoom”→“Zoom out by 2”或“Zoom in by 2”缩小或放大,“Window”→“Fit”适合屏幕。 拖动、复制 、分别是拖动和复制命令。 键盘:c、m、M分别表示复制、拖动、移动。 菜单栏:“Edit”→“Copy”/“Stretch”/“Move”分别是复

制、拖动、移动。

这三个命令的操作基本相同:首先选定需要操作的电路部分,包括器件、连线、标签、端口等;然后调用命令;单击鼠标左键确定基准点;这时移动鼠标发现选定部分随鼠标指针移动,移动量相当于基准点到现在指针所在点之间的距离;再次单击鼠标左键放下选定的电路或者按Esc键取消。当确定基准点之后,在拖动的过程中,可以按F3键选择详细属性。在3个命令中都有旋转、镜像、锁定移动方向的选项;另外,在复制的Array选项中可以设定为将选定部分复制为阵列形式;而在拖动的选项中可以选择选定部分与其他部分的连接线的走线方式。注意:可以用鼠标在工作区框选电路的一部分;按住Shift键框选表示追加部分;按住Ctrl键框选表示排除部分;可在同一个icfb中打开的不同电路图之间使用复制和移动命令;拖动命令只能在当前电路中使用。 删除、撤销 、分别是删除和撤销命令。 键盘:删除和撤销分别是Del键和u键。 菜单栏:“Edit”→“Delete”、“Edit”→“Undo”。

删除操作的顺序是:首先选择电路的一部分然后调用删除命令,选定部分将被删除。或者先调用删除命令,然后连续选中要删除的器件,则选中的器件将被连续删除。 查看或修改器件属性 键盘:q键。 菜单:“Edit”→“Properties”→“Objects”。

选定电路的一部分,然后调用该命令,则会出现属性对话框,如图2.10所示。在应用栏的第一个下拉菜单中可以选择设置应用范围,可以只修改当前器件(only current)、应用于所有选定器件(all selected)或者所有的器件(all);第二个下拉菜单可以选定需要修改的元素类型,是设置器件实例(instance)还是连接线(wire segment)。不同的器件有不同的属性特征,在“Model name”以下的器件属性按需要进行修改即可。图2.10 器件属性对话框 调用器件 键盘:i键。 菜单栏:“Add”→“Instance”。

调用命令后,显示如图2.11所示的调用器件对话框。在“Library”和“Cell”栏输入需要引用的单元,也可以单击“Browse”按钮,打开一个设计库浏览器,从中选择希望引用的器件或者单元。输入器件类型之后,窗口中会出现一些器件的初始参数设置,可以在其中直接输入需要的器件参数。图2.11 调用器件对话框 添加连接线 、分别是添加细连线和粗连线命令。 键盘:w、W分别是细连线、粗连线。 菜单栏:细连线、粗连线分别是“Add”→“Wire (Narrow)”和“Add”→“Wire (Wide)”。

调用命令后,在工作区单击鼠标左键确定连线的第一个端点,然后拖动鼠标,将看到连线的走线方式。此时单击右键,可以在不同的走线方式之间切换;再次单击鼠标左键,确定第二个端点,连接线被确定。在确定第二个端点之前,如果按F3键会调出详细设置对话框,如图2.12所示。其中可以设置走线方式、锁定角度、线宽、颜色、线型这几个选项。图2.12 连线详细设置对话框 添加标签(Label) 键盘:l键。 菜单:“Add”→“Label”。

调用命令后,显示如图2.13 所示的添加标签对话框。输入标签名称后,再将鼠标指向电路图,则会出现随鼠标移动的标签;鼠标单击后标签位置被确定。图2.13 添加标签对话框 添加端口(Pin) 键盘:p键。 菜单栏:“Add”→“Pin”。

调用该命令后,将显示如图2.14 所示对话框。在该对话框中,可以输入端口的名称、输入输出类型、是否是总线。图2.14 添加端口对话框 重做 键盘:U键。 菜单栏:“Edit →Redo”,重做最近一次的操作。5.模拟设计环境(Analog Design Environment)介绍

Analog Design Environment(ADE)是Cadence Spectre的图形化仿真环境,电路图完成后,都要通过这个界面进行仿真参数设置,这也是Cadence Spectre最重要的功能。可以用以下两种方式打开ADE:在CIW窗口中选择菜单“Tools”→“Analog Environment”→“Simulation”,这样打开的 ADE窗口中没有指定进行仿真的电路;在电路编辑器中选择菜单“Tools”→“Analog Environment”,这时打开的ADE窗口中已经设置为仿真调用ADE的电路图。ADE的仿真界面如图2.15所示。图2.15 ADE的仿真界面

下面着重介绍采用ADE仿真的基本流程。(1)假设已经完成了电路图的绘制,并处于电路图编辑器窗口中,在菜单栏中选择“Tools”→“Analog Environment”命令,弹出“Analog Design Environment”对话框,如图2.15所示。(2)设置工艺库模型。在进行不同的设计时,会采用不同特征尺寸的工艺库。而且每个晶圆厂因为制造的工艺各不相同,因此器件模型参数也各有不同。设置工艺库模型库,可以在菜单中选择“Setup”→“Model Libraries”,然后有如图2.16 所示窗口出现。图2.16 设置工艺库模型对话框

在这个窗口中,可以在“Model Library File”栏输入需要使用的工艺库文件名,在“Section”栏输入该模型文件中需要的工艺角(Section),如TT、SS、FF等。也可以单击右下角的“Browse”按钮,打开文件浏览器查找需要的工艺库文件。在文件浏览器中选定需要的文件后单击“OK”按钮,文件的路径就会自动填在“Model Library File”栏,此时单击“Add”按钮,这个库文件就被加入到中间的列表中。这时,可以继续添加新的模型库文件,也可以在模型库文件列表中选择一个或几个对其做禁用、启用、修改或删除操作。(3)设置变量。在设计中经常会对一些电路参数或者器件进行扫描,以确定最优值。因此经常会在电路中定义一些变量作为参数。例如,可以将一个电阻值定义为R1,则R1就成为一个设计变量。这些设计变量在仿真中都需要赋值,否则仿真不能进行。设置方法是:在工具栏上选择“Variables”→“Copy from Cell View”,则电路图中的设计变量都自动出现在ADE设计变量框中。这时选择“Variables”→“Edit”或在ADE界面中双击任何一个变量或单击按钮,如图2.17所示的窗口就会出现。在该窗口中可以完成对设计变量的添加、修改、删除等操作。图2.17 设置变量对话框(4)设置仿真分析。在不同的设计中,根据不同的需要,可以对电路进行不同类型的分析。常用的有直流分析、交流小信号分析、瞬态分析、噪声分析、零极点分析等。设置仿真分析时,选择工具栏中的“Analyze”→“Choose”,如图2.18所示的仿真分析对话框就会打开。图2.18 仿真分析对话框(5)设置输出。输出控制的是仿真结束后需要用波形或者数值体现出来的结果,主要有以下两种方式进行设置。 执行菜单命令“Output”→“To be ploted”→“Select on the

Schematic”,电路图窗口自动弹出,用箭头在电路图中选择连线

会在输出中添加该线的电压;选择一个器件的端口则会添加这个

端口的电流作为输出;直接选择一个器件会把该器件的所有端口

电流都加入输出。 可以手动添加输出,执行菜单命令“Output”→“Edit”,打开如

图2.19所示窗口。图2.19 手动添加输出窗口

在该窗口中可以添加需要的输出表达式。如果表达式比较复杂,还可以单击“Calculator”栏的“Open”按钮,打开 Calculator,在其中编辑好表达式后,在图2.19所示窗口中单击“Calculator”栏的“Get Expression”按钮,表达式就会出现在“Expression”栏中。(6)仿真。以上设置完成后,执行菜单命令“Simulation”→“Netlist&Run”开始仿真。在仿真过程中,如果需要可以执行菜单命令“Simulation”→“Stop”中断仿真。仿真结束后,设置的输出会自动弹出波形文件。也可以通过菜单命令“Result”→“Plot Outputs”选择需要观测的节点或者参数。(7)保存和导入仿真状态。执行菜单命令“Session”→“Save State”可以保存当前的仿真分析配置。执行菜单命令“Session”→“Load State”可以导入之前保存的仿真分析配置。执行菜单命令“Session”→“Save Script”可以将现在的仿真分析设置保存成OCEAN脚本,利用该脚本,可以在命令行执行仿真分析。6.波形显示窗口(Waveform)介绍

仿真结束后,仿真结果的波形将在波形显示窗口“Waveform”中显示。在“Waveform”窗口中可以完成图形的缩放、坐标轴的调整、数据的读取和比对,还可以调用计算器对仿真结果进行处理,如进行FFT变换等。因此掌握“Waveform”窗口的使用,对仿真结果的分析有很大帮助。一个典型的波形显示窗口如图2.20所示。图2.20 波形显示窗口

下面对菜单栏中的选项功能进行具体说明,见表2.1~表2.10。表2.1 菜单选项File具体功能描述表2.2 菜单选项Edit具体功能描述表2.3 菜单选项Frame具体功能描述表2.4 菜单选项Graph具体功能描述表2.5 菜单选项Axis具体功能描述表2.6 菜单选项Trace具体功能描述表2.7 菜单选项Marker具体功能描述表2.8 菜单选项Zoom具体功能描述表2.9 菜单选项Tools具体功能描述表2.10 菜单选项Help具体功能描述7.波形计算器窗口(Waveform Calculator)介绍

波形计算器“Waveform Calculator”是Cadecnce Spectre中自带的一个科学计算器,通过波形计算器可以实现对输出波形的显示、计算、变换和管理。它主要具有以下功能: 可以通过波形计算器以文本或者波形的形式显示仿真输出结果; 可以在波形计算器中创建、打印和显示包含表达式的仿真输出数

据; 在缓存中输入包含节点电压、端口电流、直流工作点、模型参数、

噪声参数、设计变量、数学公式及算法控制变量的表达式; 把缓存中的内容保存到存储器中,并可以把存储器中保存的内容

重新读入到缓存中; 把存储器中的内容保存到文件中,并可以把文件中保存的内容重

新读入到存储器中。

典型的波形计算器窗口如图2.21所示。有以下三种方法可以启动波形计算器:图2.21 波形计算器窗口 在波形显示窗口选择“Tools”→“Calculator”; 在CIW窗口中选择“Tools”→“Analog Environment”→“Calculator”; 在“Analog Design Environment”窗口中选择“Tools”→“Calculator”。

波形计算器最基本的功能之一就是可以在多个仿真结束之后,分类显示仿真的输出结果。如图2.22显示了波形计算器中常用的电路图表达式按键,这些按键已经按照仿真类型进行了分类。例如,在运行了瞬态仿真后,需要从电路图中获得节点电压的仿真数据,则在电路图表达式按键中首先选中“tran”选项,之后从“tran”子选项里选择“vt”,然后在电路图中选择相应的节点,即可获得输出结果波形。表2.11为各个表达式按键子选项获取的数据类型。图2.22 波形计算器中常用的表达式按键表2.11 表达式按键子选项获取的数据类型

利用表达式按键在电路图中获得需要的数据的操作步骤如下:(1)仿真结束后,打开波形计算器窗口;(2)选择合适的电路表达式按键,并单击,使其保持选中状态;(3)从电路表达式按键中选择要进行观测的子选项,用箭头在电路图窗口中选择要观测的连线、节点或器件,显示仿真结果;(4)完成数据获得后,在电路图窗口保持激活的状态下,按“Esc”键,退出数据获取模式。

波形计算器还可以以文本的形式输出缓存中表达式的值。单击波形计算器中部的“”按键,可把缓存中表达式的值以列表的形式输出。

单击“”按键后,“Display Results”窗口将弹出,如图2.23所示。单击“OK”后将按照“Display Results”窗口中的设置,选择性地将缓存中表达式的值以列表的形式在“Results Display Window”窗口中输出。图2.23 文本显示“Display

Data选项的功能如下:Results”窗口 若在“Data”中选择“Value”,则

表示将缓存中表达式在横纵坐标轴上所有的值都显示。 若在“Data”中选择“Point”,则“Display Results”窗口中的“X Intercept”栏将被激活,输入要观测的横轴“X”轴点,将显

示缓存中表达式在该栏中所填入的坐标点上的数据值。 若在“Data”中选择“Range”,则“Display Results”窗口中的“Start/End”、“Step/Scale”和“Log”项目被激活。可在“Start/

End”栏输入坐标轴上的起始点和结束点,从而确定要观测的输

出范围。

波形计算器最重要的一个功能,就是可以通过调用波形计算器中的数学表达式对输出数据进行计算和输出。这里介绍一些基本函数。

1)简单函数(见表2.12)表2.12 简单函数列表

2)三角函数 函数列表中有完整的三角函数,包括sin、asin、cos、acos、tan、atan、sinh、asinh、cosh、acosh、tanh、atanh,这里不再赘述。

3)特殊函数 特殊函数对于分析仿真结果有很大的帮助。通过选择特殊函数,可以对输出信号进行取平均值、3dB带宽等计算,下面对这些函数分别进行介绍。 average函数:average函数用来计算整个仿真范围内波形的平均

值。average的定义是在范围x内对表达式f(x)进行积分,然后除

以范围x。例如,如果y=f(x),那么

其中b和a是窗口中设置的to和from,代表仿真范围起始和结束值。 bandwidth函数:bandwidth函数计算仿真输出信号的带宽。具体

操作步骤是:将要观测的节点电压表达式获取到缓存中,在函数

窗口中单击bandwidth函数,然后函数窗口将变为如图2.24所示

的bandwidth界面。图2.24 bandwidth界面

在bandwidth界面中,“Signal”栏输入的是需要处理的节点电压表达式;“Db”栏输入的是要观测增益下降多少dB时的电路带宽,数据采用“dB”模式;“Type”下拉列表中,有三个选项,“low”—计算低通模式下的带宽,“high”—计算高通模式下的带宽,“band”—计算带通模式下的带宽。

单击“OK”按钮,完成对bandwidth函数的设置。单击按钮,输出带宽值。 deriv函数:deriv函数用来对缓存中的表达式求微分。在函数窗

口中选择deriv函数,然后单击波形显示按钮输出微分后的表

达式波形。 gainBwProd函数:gainBwProd函数计算表达式的增益带宽积。

它要求Calculator缓存中的表达式是一个频率响应,并且拥有足

够大的频率扫描范围。增益带宽积通过如下的公式计算:1/2

其中,A是直流增益,f是增益大小为1/(2)时的最小频率。02 gainMargin函数:gainMargin函数给出缓存中的频率响应表达式

相移为180°时的增益大小(dB值)。 phaseMargin函数:phaseMargin函数可以计算缓存中表达式的相

位裕度,但是要求表达式是一个频率响应。 integ函数:integ函数对Calculator缓存中的表达式在X轴上的变量

进行定积分,积分结果是波形曲线在规定范围内和X轴所包围的

范围。在integ函数设置对话框中,“Initial Value”和“Final

Value”表示定积分的开始和结束值。上述两个值必须同时定义,

或者都不定义。当没有限定积分范围时,integ函数自动将积分

范围设置为整个扫描范围。 最大值、最小值函数:波形计算器中有求最大值和最小值的函数,

分别针对X轴、Y轴上的数据,这些函数为xmax、xmin、ymax、

ymin。

2.5 Spectre库中的基本器件

在绘制电路图时,会经常用到各种器件和信号源。通常我们在设计中用到的器件模型都是晶圆厂提供的工艺库模型,在Cadence Spectre自带的库中也提供了一些理想的器件和激励源。我们可以通过调用这些模型来进行初步的仿真设计,本节就分类介绍Cadence Spectre自带库analogLib中的各种器件和信号源。1.无源器件

无源器件包括电容、电感和电阻,进行电路设计时这些器件必不可少,它们也是非常重要的器件。如果进行简单仿真,analogLib中的这些器件参数设置中不需要指定模型名称,这时这些器件将表现为理想器件,直接在属性中对其进行赋值;如果需要根据具体工艺进行详细仿真,则可以在器件参数设置中,根据工艺库中的电阻、电容、电感模型定义这些器件。

无源器件如下所示:

电容;电感;电阻2.有源器件

analogLib中的有源器件主要包括PMOS、NMOS和PNP三类。这三类有源器件在仿真时需要在模型名称(Model Name)一栏根据不同工艺库模型中的定义来指定模型名称,并输入相应的宽长比。例如:在中芯国际0.18μm工艺时,将NMOS模型定名为n18,PMOS模型定名为p18,PNP三极管则定名为pnp18,电路中模型为空时不能进行仿真。

有源器件如下所示:

nmos;pmos;pnp3.信号源

analogLib中的激励源包括脉冲信号、分段信号、指数信号、正弦信号等。这些信号源都是以电压形式给出的,也可使用电流形式的激励源。 脉冲源vpulse:vpulse源用于产

生周期性方波。在CMOS模拟电路设计中,可用于MOS管开关的

控制信号,也可用来表示电源上电或者电源跳变过程等。打开“vpulse”的参数列表,如图2.25所示。该参数列表包括“Property”和“CDF Parameter”两部分。其中“Property”部

分在从analogLib中选择信号源后由系统自动填写。表2.13给出了

主要参数的名称、定义和单位。图2.25 “vpulse”的参数列表表2.13 脉冲源主要参数的名称、定义和单位 分段源vpwl:设计者常常需

要自己定义线性分段波形,分段源vpwl允许设计者定义任意分段

时刻和该时刻的电压值。该信号源的设置参数与vpulse信号基本

相同。表2.14给出了其主要参数的名称、定义和单位。vpulse最

多可设置50个转折点。表2.14 分段源主要参数的名称、定义和单位 正弦源vsin:正弦信号是瞬态仿真中

最常用的信号。在该信号的参数中,“Damping factor”的单位是“1/s”。正弦信号也是交流小信号分析(AC Analysis)中重要的

激励源。设计者需要区别的是瞬态信号激励和交流信号激励的不

同含义。表2.15给出了正弦源主要参数的名称、定义和单位。表2.15 正弦源主要参数的名称、定义和单位 信号源vsource:vsource激励源是一种通

用型电压源,可以完成上述所有激励源的功能。在图2.26中的“source type”列表中选择所需要的激励源即可,同时按前述的

方式填写各激励源的关键参数。图2.26 “vsource”的参数列表

2.6 小结

本章主要对Spectre仿真环境进行了总体说明,包括Spectre软件的基本介绍和特点,以及Spectre的仿真设计方法、与其他EDA软件的连接。之后介绍了Spectre启动的配置和几个主要窗口,包括主窗口、设计库管理器窗口、电路图编辑器窗口、模拟设计环境窗口、波形显示窗口和波形计算器,最后详细介绍了analogLib库中的基本器件和激励源,作为读者学习Cadence Spectre的知识储备。

第3章 Cadence Spectre设计应用

Cadence Spectre是一个图形化的模拟集成电路设计工具,在第2章中我们介绍了Spectre环境下各个设计窗口的基本功能和菜单选项。基于这些学习内容,本章主要介绍利用Spectre进行CMOS模拟集成电路设计的流程和方法。首先通过一个简单的与非门电路使读者了解Spectre的完整设计流程,然后通过一个两级运算放大器的仿真,详细讨论包括交流小信号仿真、瞬态仿真等在内的多种仿真方法和技巧,以达到熟练掌握Spectre工具的目的。

3.1 Spectre仿真基本流程

本节通过一个简单与非门电路向读者介绍运用Spectre进行CMOS模拟集成电路仿真的基本流程和方法。(1)在命令行输入“icfb &”,运行Cadence Spectre,弹出CIW主窗口,如图3.1所示。图3.1 弹出CIW主窗口(2)建立设计库。选择“File”→“New”→“Library”命令,弹出“New Library”对话框,输入“EDA_test”,并选择“Attach to an existing techfile”,单击“OK”按钮;在弹出的“Attach Design Library to Technology File”对话框中,选择并关联至SMIC18工艺库文件,如图3.2所示。图3.2 建立设计库(3)选择“File”→“New”→“Cellview”命令,弹出“Create New File”对话框,输入“NAND”,如图3.3所示,单击“OK”按钮,此时原理图设计窗口自动打开。图3.3 建立电路(4)选择左侧工具栏中的“Instance”或者单击键盘i键,从工艺库“simc18mmrf”中调用NMOS n18、分配宽长比2u/0.18u,如图3.4所示。重复上述操作调用PMOS p18,并分配宽长比4u/0.18u,如图3.5所示。图3.4 设置n18宽长比为2u/0.18u图3.5 设置p18宽长比为4u/0.18u(5)从工具栏选择“Pin”,设置电源引脚vdda,地引脚gnda,输入引脚A和B,输出引脚Z;再选择“Wire(narrow)”进行连接,其中PMOS的栅极可以通过设置label的方式进行连接。具体方法为先为PMOS PM0的栅极建立一条连线,之后单击键盘l键,弹出label设置窗口,在“Names”栏输入“A”,如图3.6所示,再单击“Hide”按钮,用鼠标单击将label关联至PMOS PM0栅极的连线上。用同样的方法设置PMOS PM1的栅极与“B”引脚连接。图3.6 在label设置窗口的“Names”栏输入“A”

最终建立与非门电路如图3.7所示。图3.7 与非门电路(6)完成电路图的建立后,在工具栏中选择“Check and Save”对电路进行检查和保存。再选择“Tools”→“Analog Environment”命令,弹出“Analog Design Environment”对话框,在工具栏中选择“Setup”→“Stimuli”,为电路设置输入激励,设置电源电压“vdda”为“1.8V”,地“gnda”为“0”,设置输入“A”为脉冲信号“pulse”,脉冲宽度为“5u”,周期为“10u”,延迟时间、上升时间和下降时间都为“0.1n”,如图3.8所示。同样,设置输入“B”为脉冲信号“pulse”,脉冲宽度为“7u”,周期为“14u”,延迟时间为“3u”,上升时间和下降时间都为“0.1n”,如图3.9所示。注意,这里每设置一个激励源,都需要勾选“Enabled”选项,并单击“Change”按钮进行更改,才能使激励源有效。图3.8 设置A端口为脉冲信号“pulse”图3.9 设置B端口为脉冲信号“pulse”(7)在工具栏中选择“Setup”→“Model Libraries”,设置工艺库模型信息和工艺角,如图3.10所示。具体方式为:通过“Browse”按键在“Model Library File”栏中选择工艺文件,在“Section(opt.)”栏中输入工艺角信息,如本例中晶体管工艺角为“tt”,电阻为“res_tt”等。每完成一个工艺文件添加,都需要单击下方的“Add”按钮完成操作。图3.10 设置工艺库模型信息和工艺角(8)选择“Analyses”→“Choose”命令,弹出对话框,选择“tran”进行瞬态仿真,在“Stop Time”栏中输入仿真时间“30u”,在“Accuracy Defaults”中选择仿真最高精度“conservative”,最后勾选“Enabled”选项,如图3.11所示,单击“OK”按钮,完成设置。图3.11 “tran”瞬态仿真设置(9)选择“Outputs”→“To Be Plotted”→“Select On Schematic”命令,在电路图上单击与非门输入和输出的连线,完成自动显示设置,如图3.12所示。图3.12 仿真设置(10)选择“Stimulation”→“Netlist and Run”命令,开始仿真。仿真结束后,自动弹出仿真结果,如图3.13所示。可见当两输入端口信号相同时,输出为低电平;两输入信号相异时,输出为高电平。这样就完成了运用Spectre进行与非门仿真的基本流程。图3.13 与非门瞬态特性仿真结果

3.2 运算放大器的设计与仿真

运算放大器(简称运放)作为模拟电路设计中应用最广、最重要的电路,在不同的电路和系统中都肩负着不可替代的重任。图3.14是一个典型两级差分输入单端输出运算放大器的结构框图,它描述了运放的5个重要组成部分:差分输入级、增益级、输出缓冲级、直流偏置电路和相位补偿电路。首先,差分输入级通常是一个差分跨导器,差分输入的优势在于它比单端输入具有更加优秀的共模抑制比。它将输入电压信号转换为电流,并提供一个差分到单端信号的转换。一个好的跨导器应具有良好的噪声和失调性能。增益级是运放的核心部分,起到一个信号放大的作用。在实际使用中,运放往往要驱动一个低阻抗的负载,因此需要一个输出缓冲级,将运放较大的输出阻抗调整下来,使信号得以顺利输出。直流偏置电路在运放正常工作时为晶体管提供合适的静态工作点,这样输出的交流信号就可以驮载在我们所需要的直流工作点上。相位补偿电路用来稳定运放的频率特性,反映在频域上就是有足够的相位裕度。图3.14 两级差分输入单端输出运算放大器结构框图1.运算放大器的性能参数

1)开环增益 运放的开环增益为输出电压变化与输入电压变化之比。该参数是在带或不带负载的条件下测得的。理想情况下,放大器的开环增益应该是无穷大,而事实上,开环增益要小于理想情况。在工作过程中,不同器件的开环增益之间的差异最高可达30% ,因此使用放大器时最好将其配置为闭环系统,这时开环增益就决定了运放反馈系统的精度。

2)小信号带宽 运放的高频特性在许多应用系统中起着决定性作用,因为当工作频率增加时,运放的开环增益开始下降,直接导致闭环系统产生更大的误差。小信号带宽通常表示为单位增益带宽,即运放开环增益下降到0dB时的信号带宽。

3)输入和输出电压范围 运放的两个输入端均有一定的输入摆幅限制,这些限制是由输入级设计导致的。运放的输出电压范围定义在规定的工作和负载条件下,能将运放的输出端驱动到接近正或负电源轨的程度。放大器的输出电压范围能力取决于输出级设计和输出级在测试环境下驱动电流的大小。

4)噪声和失调电压 包括热噪声、1/f噪声等晶体管噪声决定了运放能处理的最小信号电平。输入失调电压定义为在闭环电路中,运放工作在其线性区域时,使输出电压为零时的两个输入端的最大电压差。输入失调电压总是在室温条件下定义的,其单位为 µV或 mV。

5)共模抑制比 共模抑制比表征运放对两个输入端共模电压变化的敏感度。单电源运放的共模抑制比范围是45~90dB。通常情况下,当运放用在输入共模电压会随输入信号变化的电路中时,该参数就不能忽视。

6)电源抑制比 电源抑制比定义为运放从输入到输出增益与从电源(地)到输出增益的比值,电源抑制比量化了运放对电源或地变化的敏感度。理想情况下,电源抑制比应该是无穷大。运放电源抑制比的典型规格范围为60~100dB。与运放的开环增益特性一样,直流和低频时对电源噪声的抑制能力要高于高频时。

7)压摆率 压摆率也叫转换速率,表示运放对信号变化速度的反应能力,是衡量运放在大幅度信号作用时的工作速度的指标。只有当输入信号变化斜率的绝对值小于压摆率时,输出电压才能按线性规律变化。

在介绍了运放的基本知识之后,本节将采用一个两级密勒补偿运放电路作为实例,讨论利用Spectre进行运放设计和仿真的基本方法与技巧。2.交流小信号特性仿真(1)在命令行输入“icfb &”,运行Cadence Spectre,弹出CIW窗口。(2)建立设计库。选择“File”→“New”→“Library”命令,弹出“New Library”对话框,如图3.15所示,输入“OPA_EDA”,并选择“Attach to an existing techfile”,单击“OK”按钮;在弹出的“Attach Design Library to Technology File”对话框中,选择并关联至SMIC18工艺库文件。图3.15 建立设计库并关联至工艺库文件(3)选择“File”→“New”→“Cellview”命令,弹出“Create New File”对话框,输入“opa_two_stage_EDA”,如图3.16所示,单击“OK”按钮,此时原理图设计窗口自动打开。图3.16 建立原理图单元(4)选择左侧工具栏中的“Instance”,从工艺库“simc18mmrf”中调用NMOS n33、PMOS p33、电容“MIM”和电阻“rhrpo”,按键盘Q键,在属性对话框中为各个元件设置宽长比,再选择“Pin”和“Wire(narrow)”按钮将元件连接起来,如图3.17所示,建立两级运放电路。图3.17 两级运放电路(5)为方便对运放进行调用,还需要为运放建立一个Symbol。从工具栏中选择“Design”→“Create Cellview”→“From Cellview”命令,弹出“Cellview From Cellview”对话框,单击“OK”按钮,如图3.18所示;弹出“Symbol Generation Options”窗口,如图3.19所示,在各栏中分配端口后,单击“OK”按钮,完成Symbol的建立,如图3.20所示。图3.18 建立“Symbol”图3.19 分配“Symbol”端口图3.20 运放“Symbol”图(6)需要为运放建立一个交流小信号的测试电路。选择“File”→“New”→“Cellview”命令,弹出“Create New File”对话框,输入“opa_two_stage_ac_test”,单击“OK”按钮,此时原理图设计窗口自动打开。选择左侧工具栏中的“Instance”、“Pin”和“Wire(narrow)”,建立OPA测试电路如图3.21所示。其中,巴伦ideal_bulan和理想负载电容cap来自analogLib。图3.21 交流小信号仿真电路(7)在原理图工具栏中选择“Check and Save”对电路进行检查和保存。再选择“Tools”→“Analog Environment”命令,弹出“Analog Design Environment”对话框,在工具栏中选择“Setup”→“Stimuli”为该测试电路设置输入激励,设置电源电压“vdda”为“3.3V”,地“gnda”为“0”,共模电压“inc”为“1.65V”,偏置电流“Iin”为“-10uA”,其中负号表示电流是从电源流向节点。设置输入“in”为交流小信号,在“AC magnitude”栏中输入幅度为“1”,在“AC phase”栏中输入相位为“0”,幅度为“0.1mV”,频率为“10k”,如图3.22所示。之后在工具栏中选择“Setup”→“Model Libraries”,设置工艺库模型信息和工艺角,如图3.23所示。图3.22 设置激励源图3.23 设置工艺库模型信息和工艺角(8)选择“Analyses”→“Choose”命令,弹出对话框,选择“ac”进行交流小信号仿真,在“Start”和“Stop”栏中分别输入ac扫描开始频率“1”和结束频率“1G”,在“Sweep Type”中选择默认的“Automatic”,如图3.24所示,单击“OK”按钮,完成设置。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载