Cadence VirtusoDracula入门手册
eetopcn_Cadence_使用参考手册ch1--ch7
eetopcn_Cadence_使用参考手册ch1--ch7Cadence 使用参考手册目录第一章概述 (1)1.1 Cadence 概述 (1)1.2 ASIC 设计流程 (1)第二章Cadence 使用基础 (5)2.1 Cadence 软件的环境设置 (5)2.2 Cadence 软件的启动方法 (10)2.3 库文件的管理 (12)2.4 文件格式的转化 (13)2.5 怎样使用在线帮助 (13)2.6 本手册的组成 (14)第三章Verilog-XL 的介绍 (15)3. 1 环境设置 (15)3.2 Verilog-XL 的启动 (15)3.3 Verilog XL 的界面 (17)3.4 Verilog-XL 的使用示例 (18)3.5 Verilog-XL 的有关帮助文件 (19)第四章电路图设计及电路模拟 (21)4.1 电路图设计工具Composer (21)4.1.1 设置 (21)4.1.2 启动 (22)4.1.3 用户界面及使用方法 (22)4.1.4 使用示例 (24)4.1.5 相关在线帮助文档 (24)4.2 电路模拟工具Analog Artist (24)4.2.1 设置 (24)4.2.2 启动 (25)4.2.3 用户界面及使用方法 (25)4.2.5 相关在线帮助文档 (25)第五章自动布局布线 (27)5.1 Cadence 中的自动布局布线流程 (27)5.2 用AutoAbgen 进行自动布局布线库设计 (28)第六章版图设计及其验证 (30)6.1 版图设计大师Virtuoso Layout Editor (30)6.1.1 设置 (30)6.1.2 启动 (30)6.1.3 用户界面及使用方法 (31)6.1.4 使用示例 (31)6.1.5 相关在线帮助文档 (32)6.2 版图验证工具Dracula (32)6.2.1 Dracula 使用介绍 (32)6.2.2 相关在线帮助文档 (33)第七章skill 语言程序设计 (34)7.1 skill 语言概述 (34)7.2 skill 语言的基本语法 (34)7.3 Skill 语言的编程环境 (34)7.4 面向工具的skill 语言编程 (35)附录1 技术文件及显示文件示例 (60)附录2 Verilog-XL 实例文件 (72)1 Test_memory.v (72)2 SRAM256X8.v (73)3 ram_sy1s_8052 (79)4 TSMC 库文件 (84)附录3 Dracula 命令文件 (359)Cadence 使用说明第1 页共388页概述作为流行的EDA 工具之一Cadence 一直以来都受到了广大EDA 工程师的青睐然而Cadence 的使用之繁琐又给广大初学者带来了不少麻烦作为一位过来人本人对此深有体会本着为初学者抛砖引玉的目的本人特意编写了这本小册子将自己数年来使用Cadence 的经验加以总结但愿会对各位同行有所帮助本册子的本意在于为初学者指路故不会对个别工具进行很详细的介绍只是对初学者可能经常使用的一些工具加以粗略的介绍其中可能还请各位同行加以指正1.1 Cadence 概述Cadence 是一个大型的EDA 软件它几乎可以完成电子设计的方方面面包括ASIC 设计FPGA 设计和PCB 板设计与众所周知的EDA 软件Synopsys相比Cadence 的综合工具略为逊色然而Cadence 在仿真电路图设计自动布局布线版图设计及验证等方面却有着绝对的优势Cadence 与Synopsys的结合可以说是EDA 设计领域的黄金搭档此外Cadence 公司还开发了自己的编程语言skill,并为其编写了编译器由于skill 语言提供编程接口甚至与C 语言的接口所以可以以Cadence 为平台进行扩展用户还可以开发自己的基于Cadence 的工具实际上整个Cadence 软件可以理解为一个搭建在skill语言平台上的可执行文件集所有的Cadence 工具都是用Skill 语言编写的但同时由于Cadence 的工具太多使得Cadence 显得有点凌乱这给初学者带来了更多的麻烦Cadence 包含的工具较多几乎包括了EDA 设计的方方面面本小册子旨在向初学者介绍Cadence 的入门知识所以不可能面面具到只能根据ASIC设计流程介绍一些ASIC 设计者常用的工具例如仿真工具Verilog-xl,布局布线工具Preview 和Silicon Ensemble,电路图设计工具Composer,电路模拟工具Analog Artist,版图设计工具Virtuoso Layout Editor,版图验证工具Dracula最后介绍一下Skill 语言的编程1.2 ASIC 设计流程设计流程是规范设计活动的准则好的设计流程对于产品的成功至关重要本节将通过与具体的EDA 工具Synopsys 和Cadence 相结合概括出Cadence 使用说明第2 页共388页一个实际可行的ASIC 设计的设计流程图1 1 是实际设计过程中较常用的一个流程接下一页Cadence 使用说明第3 页共388页图1 1 ASIC 设计流程图这是深亚微米设计中较常用的设计流程在该设计流程中高层次综合和底层的布局布线之间没有明显的界线高层设计时必须考虑底层的物理实现Cadence 使用说明第4 页共388页高层的划分与布局规划同时由于内核Core 的行为级模型有其物理实现的精确的延时信息使得设计者可在设计的早期兼顾芯片的物理实现从而可以较精确的估计互连的延时以达到关键路径的延时要求同时布局布线后提取的SDF 文件将被反标到综合后的门级网表中以验证其功能和时序是否正确从该流程中可看出在实际设计中较常用到的Cadence 的工具有VerilogHDL 仿真工具Verilog-XL,电路设计工具Composer 电路模拟工具Analog Artist, 版图设计工具Virtuoso Layout Editor,版图验证工具Dracula 和Diva 以及自动布局布线工具Preview 和Silicon Ensemble 本册子将对这些工具作一个初步介绍如果读者想进一步了解某个软件的使用可参考本册子提供的相关在线文档以进一步熟练Cadence 使用手册第二章 Cadence 使用基础第一章Cadence 使用基础2.1 Cadence 软件的环境设置要使用Cadence,必须在自己的计算机上作一些相应的设置这些设置包括很多方面而且不同的工具可能都需要进行各自的设置读者如果遇到这方面的问题可以参考一下openbook 中的Configuration Guides 及各工具的user guide 或者reference,其访问的方法是main menu-> System Administration-> Configuration Guides 但作为初学者只需进行以下几项设置1. .cshrc 文件的设置首先要在自己的.cshrc 文件中设置Cadence 软件所在的路径所使用的licence 文件等下面的代码为.cshrc 中设置的一个简单示例其中Cadence 所在的目录为/EDA04/cds97a/Cadencesetenv CDS_ROOT /EDA04/cds97asetenv CDS_INST_DIR /EDA04/cds97aset path = ($path $CDS_INST_DIR/tools/dfII/bin$CDS_INST_DIR/tools/bin)setenv LM_LICENSE_FILE /EDA04/cds97a/share/license/license.dat 对于某些Cadence 中的工具也必须在.cshrc 中进行一些设置2. .cdsenv 文件设置.cdsenv 文件中包含了Cadence 软件的一些初始设置该文件是用Skill语言写成的Cadence 可直接执行3. .cdsinit 设置与.cdsenv 一样.cdsinit 中也包含了Cadence 软件的一些初始化设置该文件是用Skill 语言写成的在Cadence 启动时会首先自动调用这Cadence 使用手册第二章 Cadence 使用基础两个文件并执行其中的语句若仅为初学可以不编写这两个文件Cadence 会自动调用隐含的设置若想更改设置可参考一些模板文件进行编写在install_dir/tools/dfII/cdsuser 目录下有一些隐含的模板文件下面是一个简单的.cdsinit 文件;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Tutorial .cdsinit file; By: Cris Reeser/Diane Goldberg; Created: October 10, 1995;; This initialization file contains the settings necessary to ; successfully run the Cell Design tutorial. Some of these may ; be redundant, if your site uses a site initialization file. ; For further information on initialization files, read the; comments in the /samples/local/cdsinit file.; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Human Interface Environment SettingshiiSetFont("text" "-adobe-courier-bold-r-*-*-12-*") hiSetFormPosition(603:500)hinestLimit = 5hiSetUndoLimit(10)hiExpertMode(nil)window(1)->useScrollbars = twindow(1)->backingStore = tenvSetVal("layout" "xSnapSpacing" 'float 0.5)envSetVal("layout" "ySnapSpacing" 'float 0.5)envSetVal("layout" "segSnapMode" 'string "anyAngle") envSetVal("layout" "stopLevel" 'int 20)envLoadFile("./.cdsenv") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Cadence 使用手册第二章 Cadence 使用基础;;; Bindkey Settingsload(prependInstallPath("samples/local/schBindKeys.il")) load(prependInstallPath("samples/local/leBindKeys.il")) ;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; RESIZE CIW; CIW; Note, hiFlush() is used as a workaround to display problem with; resizing windows in SKILL.hiFlush()hiResizeWindow(window(1) list(3:3 750:200)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Tutorial Customization ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;setSkillPath(". techFiles"); Welcome the userfprintf(poport"************************************************\n")fprintf(poport "Welcome to the SRAM Compiler... %s\n" getShellEnvVar("USER"))printf( " \n" )printf( "Done with initialization.\n" )printf("************************************************\n ")printf( " \n" )printf( " \n" )从中可看出Skill 语言的语法与C 语言的较为类似经过一定的学习后Cadence 使用手册第二章 Cadence 使用基础就很容易掌握4. cds.lib 文件的设置如果用户需要加入自己的库则可以修改自己的库管理文件cds.lib 对于初次使用Cadence 的用户Cadence 会在用户的当前目录下生成一个cds.lib 文件用户通过CIW 生成一个库时Cadence 会自动将其加入cds.lib 文件中下面是一个简单的Cadence 库管理文件cds.lib 的示例DEFINE ourTechLib/EDAHOME01/students/dhf/sram/dual/ourTechLibDEFINE sram /EDAHOME01/students/dhf/sram/dual/sram DEFINE basic ${CDS_INST_DIR}/tools/dfII/etc/cdslib/basic DEFINE sample${CDS_INST_DIR}/tools/dfII/samples/cdslib/sampleDEFINE analogLib/EDA04/cds97a/tools/dfII/etc/cdslib/artist/analogLib DEFINE pCells /EDAHOME01/students/dhf/sram/dual/pCells DEFINE hhh /EDAHOME01/students/dhf/sram/dual/hhh 其中DEFINE 为库定义的保留字,ourTechLib sram 等为所定义的库的名字最后的字符串为保存库的实际的物理目录5. 技术库的生成技术文件库对于IC 设计而言是非常重要的其中包含了很多设计中所必需的信息对于版图设计者而言技术库就显得更为重要了要生成技术文件库必须先编写技术文件技术文件主要包括层的定义符号化器件的定义层物理以及电学规则和一些针对特定的Cadence工具的规则的定义例如自动布局布线的一些规则版图转换成GDSII时所用到的层号的定义技术文件的编写可参考openbook 中有关技术文件的介绍并参考相应的模板来进行其访问顺序为Main Menu->IC Tools->Design FramWork II->Technology File Help 附录1 中有一个简单的技术文件示例技术文件编好以后就可以按照以下几步生成技术库1 点击CIW 中的File 菜单选择其中的New 项中的Library 项如图2 1 所示弹出图2 2 所示的表格Cadence 使用手册第二章 Cadence 使用基础2 在Name 项中输入所需的名字如myTecLib 保持如图所示的设置点击ok 弹出如图2 3 所示的对话框3 在对话框中输入编好的技术文件名如my.tf 这时技术文件必须在启动Cadence 的当前目录点击ok4 经过一段时间后在CIW 的显示区会出现一个提示Library myTecLib is created successfully.对于非工艺库的生成与工艺库大体相同只是在2 2 中选择attach to exited technology file,并在接下来的过程中选择相应的工艺库图2 1图2 2Cadence 使用手册第二章 Cadence 使用基础图2 36. 显示文件display.drf 的设置display.drf 文件控制Cadence 的显示其基本语法可参考openbook 中的相应的介绍附录1 中包含了一个display.drf 的示例2.2 Cadence 软件的启动方法完成了一些必要的设置对初学者只需设置.cshrc 文件即可其他设置都用隐含设置等熟练了一些之后再进一步优化自己的使用环境就可以启动Cadence 软件启动Cadence 软件的命令有很多不同的启动命令可以启动不同的工具集常用的启动命令有icfb,icca 等也可以单独启动单个工具例如启动Viruoso Layout Editor 可以用layoutPlus 来启动Silicon Ensemble 可以用sedsm 来启动以icfb 为例先在UNIX 提示符下输入icfb& 再按回车经过一段时间就会出现如图 2 4 所示的CIW Command Interpreter Window窗口从CIW 窗口就可以调用许多工具并完成许多任务CIW 窗口是使用Cadence 时遇到的第一个窗口是Cadence 主要的用户界面它主要包括以下几个部分1 Title Bar 显示使用的软件名及log 文件目录如图2 4 中的最上一行icfb-log:/ EDAHOME01/students/dhf/CDS.log2 Menu Banner3 Output Area 输出Cadence 对用户命令的反应4 Input Line 可用来输入Skill 命令5 Mouse Bindings Line 显示捆绑在鼠标左中右三键上的快捷键6 Scrolling bar to Scroll Through the Log FileCadence 将许多常用工具集成在一块以完成一些典型的任务图2 5 总结了一些常用的启动命令及其可使用的工具用户可根据自己的需要选择最少的命令集Cadence 使用手册第二章 Cadence 使用基础图2 4 CIW 窗口图2 5 Cadence 启动命令Cadence 使用手册第二章 Cadence 使用基础2.3 库文件的管理启动了Cadence 后就可以利用File 菜单建立自己的工作库点击CIW窗口上的File 菜单选定其中的New lib 项弹出如图2 2 所示的对话框输入库名并选择相应的工艺库然后选择ok,这时在CIW 的显示区会出现如下提示The lib is created successfully!新建的库是一个空的库里面什么也没有用户可在库中生成自己所需的单元例如可以生成一个反相器单元并为其生成一个电路及一个版图视图其流程如下1 选择File 菜单中的New 项并选择Cellview 项则弹出如图2-6 所示的对话框选择所需的库并输入单元名inv 并选择视图类型Schematic 再点击ok 按钮则弹出如图2 7 所示的窗口2 用Add 菜单中的Component 命令调用analogLib 中的单元输入PMOS 和NMOS 管以及电源和地如图2 8 所示3 点击Check and save 命令保存用同样的流程可生成inv 的版图视图利用T ools 中的library manager 可以对库进行管理图2 6Cadence 使用手册第二章 Cadence 使用基础图2 7图2 82.4 文件格式的转化Cadence 有自己的内部数据格式为了与其他EDA 软件之间进行数据交换Cadence 提供内部数据与标准数据格式之间的转换点击CIW 的File 菜单中的Import 可将各种外部数据格式转换成Cadence 内部数据格式利用CIW 的File 菜单中的Export 可将各种Cadence 内部数据格式转换成外部标准数据格式2.5 怎样使用在线帮助学习Cadence 的最好教材是使用在线帮助Cadence 的在线帮助是用openbook 命令来启动的在UNIX 提示符下输入openbook&并回车就可以启动在线帮助要拷贝在线帮助中的文件可以先按下control 键并用左键进行选择然后用copy 进行拷贝如果想要知道一些关于如何使用openbook 的技巧可在系统提示符下输入Cadence 使用手册第二章 Cadence 使用基础openbook help &即可2.6 本手册的组成在本手册中将按照ASIC 设计流程分别在第三章介绍高层的HDL 工具例如Verilog 仿真工具Verilog-xl 第四章介绍电路图设计工具Composer 及电路模拟工具Analog Artist 第五章介绍自动布局布线Preview 和Silicon Ensemble 第六章介绍版图设计工具Virtuoso Layout Editor 和验证工具Dracula 和Diva 第七章将介绍Skill 语言的编程Cadence 使用手册第三章Verilog-XL 的介绍第二章Verilog-XL的介绍人们在进行电子设计时较常用的输入方法有两种一种为硬件描述语言一种为电路图输入随着ASIC 设计技术的发展以HDL 作为输入的设计方法已成为ASIC 设计的主流目前较常用的硬件描述语言有VHDL 和Verilog两种相对而言Verilog 在工业上用的较为平常故本小册子的讨论集中在Verilog 上作为EDA 设计的主流软件之一Cadence 提供了对Verilog 及VHDL 的强大支持尤其是Verilog,Cadence 很早就引入了Verilog,并为其开发了一整套工具而其中最出色的当数Verilog 的仿真工具Verilog-XL Verilog-XL 一直以其友好的用户界面及强大的功能而受到广大Verilog 用户的青睐本章将分五个方面一一对对其进行一个较为详尽的介绍3. 1 环境设置对于一般的Cadence 的用户而言可能不需要进行任何设置就可启动Verilog-XL 用户可输入下列命令看自己是否可访问Verilog-XL which verilog如果可以访问Verilog-XL,会有类似如下的反应/EDA04/cds97a/ tools/bin/verilog否则必须在.cshrc 中用set path 命令加入以上路径3.2 Verilog-XL 的启动Verilog-XL 的启动命令为verilog,它可以附带很多可选项下面是其各选项及其意义Valid host command options for verilog:-f read host command arguments from file-v specify library file-y specify library directory-c compile only-s enter interactive mode immediately-i input from command fileCadence 使用手册第三章Verilog-XL 的介绍-r restart from a saved data structure-l set log file name-k set key file name-u convert identifiers to upper case-t set full trace-q quiet-d decompile data structureSpecial behavioral performance options (if licensed):+turbo speed up behavioral simulation.+turbo+2 +turbo with second level optimizations.+turbo+3 +turbo+2 with third level optimizations.+listcounts generate code for maintaining information for $listcounts+no_turbo don't use a VXL-TURBO license.+noxl disable XL acceleration of gates in all modulesSpecial environment invocation options (if licensed):+gui invoke the verilog graphical environment下面是几个简单的使用示例在UNIX 提示符下输入这些命令即可启动Verilog-XLExample host commands to run VERILOG:verilog sio85.vverilog f1 f2 f3verilog -s sio85.vverilog -r save.dat -l run2.log -k run2.keyverilog -r save.dat -si commands.vicverilog -dqcr save.dat一般较常用的启动方法是verilog –s +gui –v libname –f scriptFile sourcefilename & 其中libname 为所使用的库的名字scriptFile 为用可选项编Cadence 使用手册第三章Verilog-XL 的介绍写的命令文件3.3 Verilog XL 的界面运行以上的启动命令后如果未发生什么错误就会弹出下图所示的用户界面这就是Verilog-XL 的SimControl 窗口,从该图形界面中可控制仿真的执行图3 1 Verilog-XL 的图形界面Verilog-XL 的图形界面主要有以下几个窗口1 SimControlSimControl 窗口是主要的仿真控制窗口当用带有gui 选项的verilog 命令启动Verilog-XL 时就会弹出这个窗口通过这个窗口用户可以显示设计的模块结构运行Verilog-XL 命令设置及显示断点强行给变量赋值等等通过这个窗口可以实现用户与仿真的交互从而达到对仿真的控制2 Navigator通过点击SimControl 窗口右上角的星形图标即可激活Navigator 窗口该窗口可用来图形化显示设计的层次设计中的实体及其变量3 Signal Flow BrowserCadence 使用手册第三章Verilog-XL 的介绍4 Watch Objects Window5 SimWaveSimWave 窗口可以用来显示已经选择并跟踪了的信号的波形3.4 Verilog-XL 的使用示例介绍了Verilog-XL 的启动和用户界面后下面我们将通过一个具体的实例来演示Verilog-XL 的使用在附录2 中有本示例所需的文件在本示例中将对一个SRAM 模块SRAM256X8.v 进行仿真在这个SRAM 模块中又包含了一个子模块ram_sy1s_8052.v 所调用的为TSMC 的0.35um 的库test_bench 为test_memory.v 在该test_bench 中首先对SRAM 进行写然后进行读下面按照一个简单的流程来对这个SRAM 进行模拟1 在UNIX 提示符下输入verilog -c -v tcb773s.v test_memory.v &来对源文件进行调试如果没有错误会显示0 Simulation events2 没有错误之后就可以启动Verilog-XL 的图形界面verilog –s +gui –v tcb773s.v test_memory.v &则会弹出如图3 2 所示的窗口3 跟踪自己所需要的波形信号4 按运行按钮或在命令行输入原点并回车即可运行按停止按钮即可停止停止后波形会自动更新Cadence 使用手册第三章Verilog-XL 的介绍图3 23.5 Verilog-XL 的有关帮助文件与Verilog-XL 有关的帮助文件主要有以下一些Verilog-XL ReferenceVerilog-XL User GuideVerilog-XL TutorialSimCompare User GuideSimWave User GuideVPI User Guide and Reference (formerly PLI 2.0)PLI 1.0 User Guide and ReferencePLI Application Note: Back Annotation and Delay CalculationPLI Application Note: Using the Value Change LinkLMC Hardware Modeling Interface Reference and User Guide Graphical Output for the Verilog Product Family Reference SDF Annotator User GuideCentral Delay Calculator Algorithm GuideCadence 使用手册第三章Verilog-XL 的介绍Timing Library Format ReferenceVerilog Language Sensitive Editor User Guide可通过如下顺序对这些文档进行访问Main menu->HDL Tools >Verilog-XLCadence 使用手册第四章电路图设计及电路模拟第四章电路图设计及电路模拟设计的输入除了可以用硬件描述语言如VHDL 及Verilog 外还可以用电路图输入在早期的ASIC 设计中电路图起着更为重要的作用作为流行的EDA 软件,Cadence 提供了一个优秀的电路图编辑工具Composer Composer 不但界面友好操作方便而且功能非常强大电路图设计好后其功能是否正确性能是否优越必须通过电路模拟才能进行验证Cadence 同样提供了一个优秀的电路模拟软件Analog Artist由于Analog Artist 通过Cadence 与Hspice 的接口调用Hspice 对电路进行模拟本章将介绍电路图设计工具Composer 和电路模拟软件Analog Artist 的设置启动界面及使用方法简单的示例以及相关的辅助文件以便读者能对这两种工具有一个初步的理解4.1 电路图设计工具ComposerComposer 是一种设计输入的工具逻辑或者电路设计工程师物理设计工程师甚至PCB 板设计工程师可以用它来支持自己的工作4.1.1 设置对于一般的Cadence 的用户而言可能不需要进行任何设置就可启动Composer 但有时必须设置快捷键否则所有的快捷键就会失灵给使用带来一些不便在设计时快捷键往往会有很大的作用此外在电路设计中可能需要用到一些符号库例如sample 库basic 库analogLib 库只需在cds.lib 文件中加入以下一段代码DEFINE basic ${CDS_INST_DIR}/tools/dfII/etc/cdslib/basicDEFINE sample${CDS_INST_DIR}/tools/dfII/samples/cdslib/sampleDEFINE analogLib/EDA04/cds97a/tools/dfII/etc/cdslib/artist/analogLibCadence 使用手册第四章电路图设计及电路模拟4.1.2 启动Composer 的启动很简单在启动Cadence 后从CIW 窗口中打开或新建一个单元的Schematic 视图就会自动启动Composer 的用户界面用户即可在其中放入单元及连线以构成电路图4.1.3 用户界面及使用方法图4 1 是Composer 的图形界面在该用户界面中大部分面积是右下角的显示区左边的图标是一些常用的工具读者可以自己启动Composer然后熟悉一下Composer 的用户界面下面将简单介绍一下电路图设计及符号Symbol 设计的简单流程图4 1 Composer 的用户界面图4 2 是编辑电路图的一般流程为1 首先用Component 命令调用符号库中的元件来添加元件如图的nand32 添加完所有的元件后就可以加入pin,可通过add 菜单中的pin 项来进行添加3 布线及标线名可通过wire 命令布线通过更改其属性标上线名Cadence 使用手册第四章电路图设计及电路模拟4 添加节点5 加注释6 加整体属性如一些自动布局布线属性图4 2 电路图设计的简单流程符号是用来代表元件的简单符号如反相器用一个三角形代替在Cadence 中当上层调用下层单元和进行上下级映射时通常调用其符号所以符号在电路设计中起着很重要的作用与启动Schematic Editor 类似通过在CIW 窗口中新建或打开一个单元的symbol 视图就可启动Symbol Editor 图4 3 是编辑符号的一般流程主要包括以下几步1 在编辑区加入一些基本的图形2 加入符号的pin3 加入连接基本图形与pin 的线4 加入符号的标记如inv5 加入选择外框6 加入文本注释7 更改整体属性Cadence 使用手册第四章电路图设计及电路模拟图4 3 符号设计的简单流程4.1.4 使用示例在openbook 中有一个关于Composer 的教程如果读者需要经常用到电路图本人建议你不妨去走一遍那个教程对你一定会有帮助的该教程可安如下顺序进行访问Main Menu-> IC Tools->Tutorials-> Composer4.1.5 相关在线帮助文档Composer: Design Entry help4.2 电路模拟工具Analog ArtistCadence 提供进行电路模拟的工具Analog Artist Anglog Artist 通过调用Hspice 进行电路模拟然后进行各种后续处理并显示结果4.2.1 设置在运行Analog Artist 之前必须在.cshrc 中设置以下语句setenv CDS_Netlisting_Mode Analog此外最好能从Cadence 的安装目录的Analog Artist 中拷贝与模拟器相应的初始化文件Cadence 使用手册第四章电路图设计及电路模拟4.2.2 启动Analog Artist 的启动方法有很多种可以从Composer 的Tools 菜单中执行也可以从CIW 的Tools 菜单中执行4.2.3 用户界面及使用方法图4 4 是Analog Artist 的用户界面关于具体的使用方法请参考openbook中的相应手册但有一点想提醒大家大家使用的licence 可能不允许使用Analog Artist 如果在微所使用Analog Artist 且用Hspice 为模拟器似乎激励文件用cdsspice 格式才可调通有兴趣的读者可以一试4.2.5 相关在线帮助文档与Analog artist 相关的在线文档有Analog Artist Simulation HelpCadence 使用手册第四章电路图设计及电路模拟Analog Artist Microwave Design HelpAnalog Artist Mixed-Signal Simulation HelpAnalog Artist Parametric Analysis HelpAnalog Artist Substrate Coupling Analysis (SCA) HelpAnalog Artist SKILL Functions ReferenceAnalog Expression Language ReferenceCadence SPICE ReferenceComponent Description Format User GuideFunctional Block Library ReferenceHSPICE/SPICE Interface and SPICE 2G.6 ReferenceSpectre ReferenceSpectre User GuideSpectreHDL ReferenceSpectreRF HelpSwitched Capacitor Design System HelpAnalog Artist Tutorial: Switched Capacitor DesignVerilog-A Reference通过顺序 Main Menu-> IC Tools->Analog and Mixed Signal Simulation 可以访问Cadence 使用手册第五章自动布局布线第五章自动布局布线5.1 Cadence 中的自动布局布线流程从第一章的ASIC 设计流程中可看到设计输入经过综合和优化后就该对所生成的门级网表进行自动布局布线自动布局布线是连接逻辑设计和物理设计之间的纽带在自动布局布线前必须进行布局规划floorplan ,在Cadence 中进行布局规划的工具为Preview 进行自动布局布线的引擎有四种Block Ensemble Cell Ensemble Gate Ensemble 和Silicon Ensemble 其中Block Ensemble 适用于宏单元的自动布局布线Cell Ensemble 适用于标准单元或标准单元与宏单元相混合的布局布线Gate Ensemble 适合于门阵列的布局布线Silicon Ensemble 主要用在标准单元的布局布线中将Preview 与四种引擎相结合可产生四种不同的自动布局布线环境和流程由于Silicon Ensemble(DSM)的功能很完全几乎可以完成所有复杂的自动布局布线的任务在考虑自动布局布线引擎时我们采用了Silicon Ensemble SRAM 编译器所生成的用于自动布局布线的端口模型为Silicon Ensemble 所要求的格式图5 1 为采用Preview 和Silicon Ensemble 进行自动布局布线的流程图该流程主要由以下几个主要步骤组成1 准备自动布局布线库在进行自动布局布线之前必须准备好相应的库该库中含有工艺数据自动布局布线用的库单元及显示信息库的格式必须为Design Framework II 的数据库格式可以由用户利用版图生成工具Virtuoso Layout Editor 设计产生也可以来自一个由芯片制造厂家和EDA 公司提供的LEF(Library Exchange Format)文件或者从GDSII 生成2 准备用来进行自动布局布线的网表用来进行布局布线的网表可以由硬件描述语言经过综合优化或由电路提取而来所有网表在进行自动布局布线前都必须首先生成对应的autoLayout 视图view3 用Preview 进行布局规划Cadence 使用手册第五章自动布局布线Preview 是 Cadence 的布局规划器它可以用来规划物理设计从而在自动布局布线前预估物理实现的影响在Cadence 中使用Preview 与自动布局布线引擎相结合来进行自动布局布线4 用Silicon Ensemble 进行自动布局布线5 对完成布局布线的版图进行验证生成的版图其连接性是否正确是否符合设计规则是否符合时序要求等等必须通过验证才能确定通过点击Verify&Report 菜单中的相应项可对版图进行连接性设计规则验证并可生成SDFStandard Delay Format 文件通过反标SDF 文件可对原来的门级网表进行仿真从而确定其功能和时序是否正确图5 1 用Preview 和Silicon Ensemble 进行自动布局布线的流程5.2 用AutoAbgen 进行自动布局布线库设计对于不同的自动布局布线引擎,对应的库的数据格式有所不同,用来生成库的工具也不同本SRAM 编译器选择Silicon Ensemble 作为布局布线引擎其对应的库生成工具为AutoAbgen AutoAbgen 可以用来生成与用户设计的版图或版图库所对应的Abstract(即用于自动布局布线的端口模型)可以用AutoAbgen 的AutoAbgen Flow Sequencer form 来生成Abstract 对于单个版图和LEF 文件对于整个物理库其基本流程如下Cadence 使用手册第五章自动布局布线(1) 首先在局部.cdsinit 中设置好AutoAbgen 运行的环境即在.cdsinit 中加入以下语句aabsInstallPath=“/tools/autoAbgen/etc/autoAbgen”load(buildstring(list(aabsInstallPath “aaicca.ile”) “/”))(2) 将AutoAbgen 的初始化文件.autoAbgen 拷入运行目录并用icfb&启动Cadence(3) 点击CIW 窗口中的AutoAbgen 菜单下的AutoAbgen Flow。
cadence教程
cadence教程Cadence 是一款流行的电路设计和仿真工具。
它广泛应用于电子工程领域,可以帮助工程师进行电路设计、布局、仿真和验证。
以下是一个简单的 Cadence 教程,帮助你快速入门使用该软件。
第一步: 下载和安装 Cadence首先,你需要从 Cadence 官方网站下载适用于你操作系统的Cadence 软件安装包。
在下载完成后,双击安装包文件并按照安装向导的指示进行安装。
第二步: 创建新项目打开 Cadence 软件后,你将看到一个初始界面。
点击“File”菜单,然后选择“New”来创建一个新的项目。
第三步: 添加电路元件在新项目中,你可以开始添加电路元件。
点击菜单栏上的“Library”按钮,然后选择“Add Library”来添加一个元件库。
接下来,使用菜单栏上的“Place”按钮来添加所需的电路元件。
第四步: 连接电路元件一旦添加了电路元件,你需要使用连线工具来连接它们。
点击菜单栏上的“Place Wire”按钮,然后将鼠标指针移到一个元件的引脚上。
点击引脚,然后按照电路的设计布局开始连接其他元件。
第五步: 设置仿真参数在完成电路布局后,你需要设置仿真参数。
点击菜单栏上的“Simulate”按钮,然后选择“Configure”来设置仿真器类型、仿真时间等参数。
第六步: 运行仿真设置完成后,你可以点击菜单栏上的“Simulate”按钮,然后选择“Run”来运行仿真。
仿真过程会模拟电路的运行情况,并生成相应的结果。
总结通过这个简单的 Cadence 教程,你了解了如何下载安装Cadence 软件、创建新项目、添加电路元件、连接元件、设置仿真参数和运行仿真。
掌握了这些基本操作后,你可以进一步学习和探索 Cadence 的更多功能和高级技巧。
祝你在使用Cadence 中取得成功!。
cadence入门教程
Cadence 系列软件从schematic到layout入门一.客户端软件使用及icfb启动要使用工作站上的软件,我们必须在PC中使用xwinpro等工具连接到工作站上。
从开始菜单中,运行xwinpro的xSettings,按照下图设置:点击上图的Settings在出现的窗口中按如下设置(connect host选择为192.168.1.137):设置完后,从开始菜单中运行xwinpro的xsessions,应该就可以进入登陆界面,用户名为user1,密码为root。
二、SchematicCadence系列软件包含了电路图工具Schematic,晶体管级电路仿真工具Spectre,以及版图工具Virtuoso等。
一般来说,我们先用Schematic画好电路原理图然后进行仿真,最后用Virtuoso手动画版图或者直接进行版图综合,最后对版图进行L VS,DRC等验证。
在登陆进工作站后,点击鼠标右键,选择tools——>terminal,在弹出的terminal窗口中敲入命令icfb&就可以启动cadence了。
图1 icfb的主界面我们以建立一个反相器电路为例子:在icfb中,任何一个电路,不论是已经存在的可以引用的库,还是用户新建立的一个电路,都是一个library. 一个library一般有若干个Cell(单元电路),每个cell有若干个schematic(电路原理)和若干个layout(版图)。
所以,我们要做的第一步,就是先创建一个自己的“库”,File菜单->new->library图2 新建一个库的界面从这个新建一个library的界面,我们必须输入新建立的库的名称,并且选择好这个库应该存放的目录,然后注意看右边的三个选项,关于新建立的库是否需要链接到Technology File 的问题。
首先,这个Technology File一般是指工艺库,由Foundry提供。
CADENCE工具VIRTUSO-DRACULA入门介绍
CADENCE工具VIRTUSO/DRACULA入门介绍 (2)1.使用V IRTUSO/D IV A/D RACULA之前的准备 (2)1.1.找一台装有IC工具的服务器 (2)1.2.连接到这台计算机上 (2)2.IC工具的软件环境配置 (3)2.1.创建IC工具的启动目录,即工作目录。
(3)2.2.将配置文件拷贝到IC工具的启动目录 (3)2.3.将工艺文件和显示文件拷贝至工作目录 (3)2.4.启动IC工具,命令为icfb& (3)3.IC工具的使用 (4)3.1.新建一个设计库 (4)3.2.Compile一个工艺文件 (5)3.3.创建新设计 (5)3.4.编辑电路图 (5)3.5.编辑版图 (6)3.6.根据习惯改变版图层次的显示特性 (7)3.7.完成版图编辑之后保存,退出 (8)4.版图的DRC检查 (8)4.1.基于Diva的方式(不推荐) (8)4.2.基于Dracula的方式(推荐) (8)5.LVS (10)5.1.准备版图的GDS文件 (10)5.2.准备电路网表 (10)5.3.用LOGLVS转换电路网表成LVS要求格式 (11)5.4.修改lvs的命令文件 (12)5.5.运行PDRACULA来生成lvs任务的可执行文件 (12)5.6.在控制台下,运行文件 (12)5.7.查看错误 (12)5.8.修正版图或网表错误 (13)6.一些小经验 (13)7.附件清单 (14)Cadence工具Virtuso/Dracula入门介绍(以上华0.6um DPDM工艺设计库为例)Cadence 是一套功能强大的EDA软件,包含有诸如IC、SE等常用芯片设计工具。
其中IC是针对全定制芯片设计应用的,IC本身仍是一套工具集。
本手册主要讨论其中的全定制版图设计工具Virtuso和验证工具Diva/Dracula之使用方法。
其中Diva是基于Xwindow 的方式,而Dracula是基于命令行的方式;Virtuso中提供这两者的相关接口。
Cadence-virtuoso的使用简介(版图绘制)
第二章Virtuoso Editing的使用简介全文将用一个贯穿始终的例子来说明如何绘制版图这个例子绘制的是一个最简单的非门的版图§ 2 1 建立版图文件使用library manager首先建立一个新的库myLib关于建立库的步骤在前文介绍cdsSpice时已经说得很清楚了就不再赘述与前面有些不同的地方是由于我们要建立的是一个版图文件因此我们在technology file选项中必须选择compile a new tech file,或是attach to an exsiting tech file这里由于我们要新建一个tech file因此选择前者这时会弹出load tech file的对话框如图2-1-1所示图2-1-1在ASCII Technology File中填入csmc1o0.tf即可接着就可以建立名为inv的cell了为了完备起见读者可以先建立inv的schematic view和symbol view具体步骤前面已经介绍其中pmos长6u宽为0.6u nmos长为3u宽为0.6u model 仍然选择hj3p和hj3n 然后建立其layout view其步骤为在tool中选择virtuoso layout然后点击ok§ 22绘制inverter掩膜版图的一些准备工作首先在library manager中打开inv这个cell的layout view即打开了virtuoso editing窗图2-2-1 virtuoso editing窗口口如图2-2-1所示版图视窗打开后掩模版图窗口显现视窗由三部分组成Icon menu , menu banner ,status banner.Icon menu(图标菜单)缺省时位于版图图框的左边列出了一些最常用的命令的图标,要查看图标所代表的指令只需要将鼠标滑动到想要查看的图标上图标下方即会显示出相应的指令menu banner菜单栏,包含了编辑版图所需要的各项指令并按相应的类别分组几个常用的指令及相应的快捷键列举如下Zoom In -------放大 (z)Zoom out by 2------- 缩小2倍(Z)Save ------- 保存编辑(f2) Delete ------- 删除编辑(Del)Undo ------- 取消编辑(u)Redo -------恢复编辑 (U)Move ------- 移动(m)Stretch ------- 伸缩(s)Rectangle -------编辑矩形图形(r)Polygon ------- 编辑多边形图形(P)Path ------- 编辑布线路径(p) Copy -------复制编辑 (c) status banner状态显示栏位于menu banner的上方显示的是坐标当前编辑指令等状态信息在版图视窗外的左侧还有一个层选择窗口Layer and Selection Window LSWLSW视图的功能1可选择所编辑图形所在的层2可选择哪些层可供编辑3可选择哪些层可以看到由于我们所需的部分版图层次在初始LSW中并不存在因此下一步要做的是建立我们自己的工艺库所需的版图层次及其显示属性为了简单起见以下仅列出绘制我们这个版图所需的最少版图层次层次名称说明Nwell N阱Active 有源区Pselect P型注入掩膜Nselect N型注入掩膜Contact 引线孔连接金属与多晶硅/有源区Metal1 第一层金属用于水平布线如电源和地Via 通孔连接metal1和metal2Metal2 第二层金属用于垂直布线如信号源的I/O口Text 标签Poly 多晶硅做mos的栅下图是修改后的LSW图2-2-2 LSW如何来修改LSW中的层次呢以下就是步骤1切换至CIW窗口在technology file的下拉菜单中选择最后一项edit layers出现如图窗口图2-2-3 edit layers2在technology library中选择库mylib先使用delete 功能去除不需要的层次然后点击add添加必需的层次add打开如下图的窗口图2-2-4其中layer name中填入所需添加的层的名称Abbv是层次名称缩写Number是系统给层次的内部编号系统保留128256的数字作为其默认层次的编号而将1127留给开发者创造新层次Purpose是所添加层次的功用如果是绘图层次一般选择drawing Priority是层次在LSW中的排序位置其余的选项一般保持默认值在右边是图层的显示属性可以直接套用其中某些层次的显示属性也可以点击edit resources自己编辑显示属性如图2-2-5所示这个窗口还可以在LSW中调出编辑方法很简单读者可以自己推敲就不再赘述上述工作完毕后就得到我们所需的层次接着我们就可以开始绘制版图了§ 2 3 绘制版图一画pmos的版图新建一个名为pmos的cell1画出有源区在LSW中点击active dg注意这时LSW顶部显示active字样说明active层为当前所选层次然后点击icon menu中的rectangle icon在vituoso editing窗口中画一个宽为 3.6u长为6u的矩形这里我们为了定标必须得用到标尺点击misc/ruler即可得到清除标尺点击misc/clear ruler如果你在绘制时出错点击需要去除的部分然后点击delete icon2画栅在LSW中点击poly dg画矩形与有源区的位置关系如下图0.6u6u(gate width)1.5u3.6u图2-2-5 display resource editor3画整个pmos为了表明我们画的是pmos管我们必须在刚才图形的基础上添加一个pselect层这一层将覆盖整个有源区0.6u接着我们还要在整个管子外围画上nwell它覆盖有源区1.8u 如下图所示pselect1.8unwell4衬底连接pmos的衬底nwell必须连接到vdd首先画一个1.2u乘1.2u的active矩形然后在这个矩形的边上包围一层nselect层覆盖active06u最后将nwell的矩形拉长完成后如下图所示nselectactivepselect这样一个pmos的版图就大致完成了接着我们要给这个管子布线二布线pmos管必须连接到输入信号源和电源上因此我们必须在原图基础上布金属线1首先我们要完成有源区源区和漏区的连接在源区和漏区上用contact dg层分别画三个矩形尺寸为0.6乘0.6注意contact间距为1.5u2用metal1dg层画两个矩形他们分别覆盖源区和漏区上的contact覆盖长度为0.3u3为完成衬底连接我们必须在衬底的有源区中间添加一个contact这个contact每边都被active覆盖0.3u4画用于电源的金属连线宽度为3u将其放置在pmos版图的最上方布线完毕后的版图如下图所示图2-3-1 pmos版图通过以上步骤我们完成了pmos的版图绘制接下来我们将绘制出nmos的版图三画nmos的版图绘制nmos管的步骤同pmos管基本相同新建一个名为nmos的cell无非是某些参数变化一下下面给出nmos管的图形及一些参数具体绘制步骤就不再赘述图2-3-2nmos四完成整个非门的绘制及绘制输入输出1新建一个cell inv将上面完成的两个版图拷贝到其中并以多晶硅为基准将两图对齐然后我们可以将任意一个版图的多晶硅延长和另外一个的多晶硅相交2输入为了与外部电路连接我们需要用到metal2但poly和metal2不能直接相连因此我们必须得借助metal1完成连接具体步骤是a在两mos管之间画一个0.6乘0.6的contactb在这个contact上覆盖poly过覆盖0.3uc在这个contact的左边画一个0.6乘0.6的via然后在其上覆盖metal2dg过覆盖0.3ud用metal1连接via和contact过覆盖为0.3u从下图中可以看得更清楚metal13输出连起来任意延长一个的metal1与另一个相交然后在其上放置一个via接着在via上放置metal2五作标签1在LSW中选择层次text d3点击create/label在弹出窗口中的label name中填入vdd并将它放置在版图中相应的位置上2按同样的方法创制gnd A和Out的标签完成后整个的版图如下图2-3-4 非门的版图至此我们已经完成了整个非门的版图的绘制下一步将进行DRC检查以检查版图在绘制时是否有同设计规则不符的地方第三章 Diva验证工具使用说明 版图绘制要根据一定的设计规则来进行也就是说一定要通过DRC Design RuleChecker检查编辑好的版图通过了设计规则的检查后有可能还有错误这些错误不是由于违反了设计规则而是可能与实际线路图不一致造成版图中少连了一根铝线这样的小毛病对整个芯片来说都是致命的所以编辑好的版图还要通过LVS Layout VersusSchematic验证同时编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数电路仿真程序可以调用这个数据来进行后模拟下面的框图可以更好的理解这个流程图 3-0-1 IC后端工作流程验证工具有很多我们采用的是Cadence环境下集成的验证工具集DIV A下面先对DIV A作一个简单介绍DIV A是Cadence软件中的验证工具集用它可以找出并纠正设计中的错误它除了可以处理物理版图和准备好的电气数据从而进行版图和线路图的对查LVS外还可以在设计的初期就进行版图检查尽早发现错误并互动地把错误显示出来有利于及时发现错误所在易于纠正DIV A工具集包括以下部分1设计规则检查iDRC2版图寄生参数提取iLPE3寄生电阻提取iPRECadence cdsSPICE 使用说明资料收藏 PCB 收藏天地4 5电气规则检查 iERC 版图与线路图比较程序 iLVS 需要提到的是 Diva 中各个组件之间是互相联系的 有时候一个组件的执行要依赖另 一个组件先执行 例如 要执行 LVS 就先要执行 DRC 在 Cadence 系统中 Diva 集成在版 图编辑程序 Virtuoso 和线路图编辑程序 Composer 中 在这两各环境中都可以激活 Diva 要 运行 Diva 前 还要准备好规则验证的文件 可以把这个文件放在任何目录下 这些规则文 件的写法下面专门会进行说明 也会给出例子 这些文件有各自的默认名称 如 做 DRC 时的文件应以 divaDRC.rul 命名 版图提取文件以 divaEXT.rul 命名 做 LVS 时规则文件应 以 divaLVS.rul 命名§31DRC 规则文件的编写我们制定了以下规则 n 阱的最小宽度 阱与阱之间的最小间距 ndiff 到 nwell 的最小间距 pdiff 到 nwell 的最小间距 p mos 器件必须在 nwell 内 有源区的最小宽度 有源区之间的最小间距 多晶硅的最小宽度 多晶硅间的最小宽度 多晶硅与有源区的最小间距 多晶硅栅在场区上的最小露头 源 漏与栅的最小间距 引线孔的最小宽度 引线孔间的最小间距 多晶硅覆盖引线孔的最小间距 metal1 覆盖引线孔的最小间距 金属 1 的最小宽度 金属 1 间的最小间距 金属 2 的最小宽度 金属 2 间的最小间距 金属 2 的最小挖槽深度 通孔的最小宽度 通孔间的最小间距 通孔与引线孔间的最小间距 metal1 覆盖通孔的最小间距 4.8u 1.8u 0.6u 1.8u仍旧以前面的非门为例 1.a n 阱(well) 1.b 1.c 1.d 1.e 2.a 2.b 3.a 3.b 3.c 3.d 3.e 4.a 4.b 4.c 4.d 5.a 5.b 6.a 6.b 6.c 7.a 7.b 7.c 7.d 有源区 active1.2u 1.2u 0.6u 0.6u 0.6u 0.6u 0.6u 0.6u 0.9u 0.3u 0.3u 1.2u 0.9u 1.2u 1.2u 1.2u 0.6u 0.9u 0.6u 0.3u第 11 页 共 11 页多晶硅poly引线孔 contact金属 1metal1金属 2metal2通孔 viaCadence cdsSPICE 使用说明资料收藏 PCB 收藏天地7.e metal2 覆盖通孔的最小间距 0.3u 7.f 通孔与多晶硅的最小间距 0.3u 结合上述规则 我们就可以编写出相应的 DRC 规则检查文件 见附录 1 取名为 divaDRC.rul 这个文件的第一部分是层次处理 用于生成规则文件中所要应用到的层 次 可以是原始层或是衍生层 例如 nwell=geomOr("nwell") 在文件中引用到的所 有原始物理层次都要用双引号括起来 这一句的目的是在后面应用到 nwell 这个原始物 理层次时 不需要再用引号括起来 前面几句都是这个意思 后面四句则生成版图验证 中必须的一些层次 有一点需要注意的是 在 geomOr 的关键字和 ( 之间不能出现 空格 nwell=geomOr (“nwell”)的写法系统在编译时会报错 下面这个语句相当于一个条件转移语句 当有drc命令时 执行下面的规则 否则跳 转到下一个命令 ivIf( switch( "drc?" ) then 在设计规则检查中 主要的语句就是drc 了 先简单介绍一下这个语句的语法 [outlayer]=drc(inlayer1 [inlayer2] function [modifiers] ) outlayer表示输出层 如果定义 给出 输出层 则通过drc检查的出错图形就可以保 存在该输出层中 此时 如果没有modifiers选项 则保存的是原始的图形 如果在modifiers 选项中定义了修改方式 那么就把修改后的结果保存在输出层中 如果没有定义outlayer 层 出错的信息将直接显示在出错的原来层次上 Inlayer1和inlayer2代表要处理的版图层次 有些规则规定的是只对单一层次的要求 比如接触孔的宽度 那么可以只有inlayer1 而有些规则定义的是两个层次之间的关系 如 接触孔和铝线的距离 那么要注明两个层次 Function中定义的是实际检查的规则 关键字有sep 不同图形之间的间距 , width 图形的宽度 , enc 露头 , ovlp(过覆盖), area 图形面积 , notch 挖槽的宽度 等 关系有>, <, >=, <=, ==等 结合起来就是 sep<3, width<4, 1<enc<5 这些关系式 例如 drc(nwell width < 4.8 "Minimum nwell width =4.8") 在此例中 没有outlayer 的定义 也没有modifiers的定义 所以发现的错误都直接显示在nwell层上 例子中 inlayer 就是nwell 检查的只是n阱层的规则 function是width<4.8 表示n阱宽度小于4.8微米 所以上面这句的执行结果就是把n阱层中宽度小于4.8u的图形当做错误输出 后面引号中的 信息起到说明提示作用 需要时可以查询 对查错没有实际意义 同样需要注意的是 在drc 和 之间同样不能有空格 否则系统会提示没有drc语句 从上面讨论不难看出 DIVA 规则文件的编写对格式有一定要求 在规则文件中我们还可以看到saveDerived语句 如 saveDerived(geomAndNot(pgate nwell) "p mos device must in nwell") 这一句将输出不在nwell内部的pgate pmos 这种写法在规则文件的编写中经常碰到 要熟练掌握 另外 在DRC文件中 引号引出的行是注释行 以上就是对DRC文件编写的一些简单介绍 对于其中使用的关键字 作者有专门的说明 文章 同时在本文后面作者还会给出一个完整的DRC校检文件并给出详细说明 读者可以参 照它 以加深对文件编写的理解§32 版图提取文件的介绍上面已经提到 通过DRC验证的版图还需要进行LVS也就是版图和线路图对查比较 实际 上就是从版图中提取出电路的网表来 再与线路图的网表比较 那么如何提取版图网表呢 这里我们就要使用到DIVA的extract文件 下面是它的简单介绍 首先 同DRC一样 extract文件的最开始同样是这样一条语句第 12 页 共 12 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地ivIf switch extract then 它相当于一个条件转移语句 当有extract这个命令时 执行下面的规则 否则跳转到另外 的循环 接着 extract文件中要进行的是层次定义 它一般分为三个步骤 1 识别层定义 recognition layer 2 终端层定义 terminal layer 3 伪接触层定义 psuedo_contact layer 然后是定义层次间的连接关系 使用geomConnect语句将版图间的不同层次连接起来 一个 extract文件只能有一个geomConnect语句 构成完整的网表 例如句子 geomConnect via contact psd nsd poly metal1 via via metal1 metal2 其中 via语句的作用是使用连接层连接任意数目的层次 但要注意的是 一个via语句中只 能出现一个连接层 但在geomConnect语句中via语句可以出现的次数不限 以上语句表示 在有contact的地方 psd nsd poly metal1 是相互连接的 在有via 的地方metal1和metal2 相连 注意后一个via和前一个的意义不同 上述工作完成之后 我们接着要进行的工作是器件的提取 device extraction 使 用extractDevice语句 extractDevice 语句定义电路中用到的元器件 这是提取文件中的 关键语句 语法说明如下 extractDevice( reclayer termlayer model physical ) 其中reclayer是识别层 它应该是后来通过逻辑关系生成的提取层 这个层上的每一个图形 都会被当作是一个元器件 Termlayer是端口层 它表示的是元器件的端口 一定要是可以连接的层次 具体的端口定 义因元器件而异 Model指的是元器件的类型 与端口要对应 例如下两句 extractDevice( pgate (GT "G")(psd "S" "D")(NT "B")"pfet ivpcell" ) extractDevice( ngate (GT "G")(nsd "S" "D")(pwell "B")"nfet ivpcell" ) 分别提取出pmos管和nmos管 接着很重要的一步是器件尺寸测量 使用measureParameter语句 例如 w1 measureParameter length ngate butting nsd .5 这一句测量的是nmos的沟道宽度 注意后面的.5必须加上 否则测出的将是两倍的沟道宽度 下面使用saveInterconnect 这个命令把连接的层次写到提取出来的网表中 以便在做 LVS时 可以与线路图中的网表互相对比 saveInterconnect( nsd psd poly contact metal1 ) saveRecognition 这个命令将提取产生的可以识别的图形保存下来 通常和 extractDevice语句中的识别层一致 saveRecognition( ngate "ngate" ) saveRecognition( pgate "pgate" ) 以上就是对extract文件的一个简要介绍 读者可以参看附录中完整的例子 以加深对它的 理解§3接下来 就是LVS检查了3LVS文件的介绍LVS文件在diva中 由于版图提取在extract中就已经完成第 13 页 共 13 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地中的逻辑结构相对就比较简单 只需进行网表比较 参数比较 以及把一些 并联或串联 的元器件归并等即可 所以这一部分文件不会因为工艺层次不同而有很大不同 可以根据范 本做少许改动 以下只介绍一下LVS的基本结构 lvsRules procedure(mosCombine(value1,value2) ……. ) Procedure(mosCompare(lay,sch) ……. ) permuteDevice(parallel “pmos” mosCombine) compareDeviceProperty(“pmos” mosCompare) ) 至于例子 读者可以参考附录§3一 DRC 的说明4Diva 的用法编 辑 好 的 验 证 文 件 都 存 在 ..\export\home\wmy\myLib\ 下 文件名分别是 divaDRC.rul divaEXT.rul divaLVS.rul 有了这三个文件就可以进行版图验证了 下面 将以一个非门为例子来进行说明 在编辑版图文件的同时就可以进行DRC检查 在virtuoso版图编辑环境中 单击Verify 菜单 上面提到的DIVA工具都集成在这个菜单下 先介绍设计规则检查DRC 单击第一个子 菜单DRC就会弹出DRC的对话框 如下图 3-4-1 DRC 菜单窗口第 14 页 共 14 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地Checking Method 指的是要检查的版图的类型 Flat 表示检查版图中所有的图形 对子版图块不检查 与电路图中类似 最上层电路 由模块组成 而模块由小电路构成 有些复杂的版图也是如此 Hierarchical 利用层次之间的结构关系和模式识别优化 检查电路中每个单元块内部是 否正确 hier w/o optimization 利用层次之间的结构关系而不用模式识别优化 来检查电路中每 个单元块 Checking Limit 可以选择检查哪一部分的版图 Full 表示查整个版图 Incremental 查自从上一次 DRC 检查以来 改变的版图 by area 是指在指定区域进行 DRC 检查 一般版图较大时 可以分块检查 如果选择这种方式后 Coordinate 这个输入框就变为可输入 可以在这个框内输入坐标 用矩形的左下角和右上角的坐标来表示 格式为 12599:98991 115682:194485 或者先单击 Sel by Cursor,然后用鼠标在版图上选中一个矩形 这个输入框也会出现相应 的坐标 如果不出现可以多选几次 Switch Names 在DRC文件中 我们设置的switch在这里都会出现 这个选项可以方便我们对版图文件进行 分类检查 这在大规模的电路检查中非常重要 Run-Specific Command FileInclusion Limit上面的两项并不是必需的 可以根据默认设定 Echo Commands 选上时在执行DRC的同时在CIW窗口中显示DRC文件 Rules File 指明DRC规则文件的名称 默认为divaDRC.rul Rules Library 这里选定规则文件在哪个库里 Machine 指明在哪台机器上运行DRC命令 local 表示在本机上运行 对于我们来说 是在本机运行的 选local remote 表示在远程机器上运行 Remote Machine Name 远程机器的名字 在填好规则文件的库和文件名后 根据实际情况填好 Checking Method 和 Checking Limit就可以单击OK运行 这时可以在CIW窗口看到运行的信息 同时在版图上也会出现发 亮的区域 如果有错误 错误在版图文件中可以看到 另外也可以选择Verify-Markers-Find菜单来帮助找错 单 击菜单后会弹出一个窗口 在这个窗口中单击apply就可以显示第一个错误 这个窗口较简 单 大家看一下 再试几次就可以了 同样 可以选择Verify-Markers-Explain来看错误的原因提示 选中该菜单后 用鼠标 在版图上出错了的地方单击就可以了 也可以选择Verify-Markers-Delete把这些错误提示删 除 Virtuoso版图编辑环境下的菜单见图3-4-2第 15 页 共 15 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地图 3 –4-2Virtuoso 菜单二版图提取Extractor说明为了进行版图提取 还要给版图文件标上端口 这是LVS的一个比较的开始点 在LSW 窗口中 选中 metal1 pn 层 然后在 Virtuoso 环境菜单中选择 pn 指得是引脚 pin Create-Pin 这时会出来一个窗口 如下图 3-2-3 创建版图端口窗口 填上端口的名称 Terminal Names 和Schematic中的名字一样 模式 Mode 一般选 rectangle 输入输出类型 I/O Type 等 至于Create Label属于可选择项 选上后 端口 的名称可以在版图中显示 填好可以直接在版图中画上端口 往往有好几个端口 可以都画好在单击Hide 这 些端口仅表示连接关系 并不生成加工用的掩模板 只要求与实际版图上铝线接触即可 也没有规则可言第 16 页 共 16 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地版图的完成后 就可以提取了 在版图编辑环境下选择Verify –extractor 下弹出菜单如图 3-2-4Extractor 窗口图 3-2-5 提取出的文件 填好提取文件库和文件名后 单击OK就可以了 然后打开Library Manager 在库myLib下 nmos单元中增加了一个文件类型叫extracted的文件 可以用打开版图文件同样的方式打开 它 图3-2-5就是提取出来的版图 可以看到提取出来的器件和端口 要看连接关系的话 可以选择Verify-probe菜单 在弹出窗口中选择查看连接关系 版图的准备工作基本上就完成了 接下来是线路图的准备工作 线路图的准备工作相第 17 页 共 17 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地对较简单 有几个要注意的地方 首先 在库的选用上 要用Sample库中的元件 其次 线 路图的端口名称要与版图中的端口名称一致 最后 在线路编辑完成后要进行检查 可以直 接单击左边第一个快捷键 也可以选择菜单Check--Current Cellview 在版图和线路图的准备工作完成后就可以进行LVS了图3-2-6 LVS 参照图3-2-6的弹出菜单 填好规则文件的库和文件名 要进行LVS的两个网表 其实 在LVS中比较的是两个网表 一个是schematic中 另一个是extracted 所以两个schematic文 件也可以比较 只是一般没这个必要 设置完以后单击RUN 片刻后就回弹出一个窗口表 示LVS完成或者失败 失败时可以在上面的菜单中单击Info看运行的信息再进行处理 LVS 完成后 可以在上面的弹出菜单中单击Output 这时会弹出LVS的结果 当然 LVS完成并不是说LVS通过了 可能会有很多地方不匹配 这时要查看错误可以 在LVS窗口中单击Error Display 即可在Extracted和Schematic 中查看错误第 18 页 共 18 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地第四章 Cadence 中 Verilog 的一些使用方法§41Verilog 的文本编辑器随着电路规模的增大和复杂 传统的图形输入模式已不可行 语言描述电路 成为潮流 它的方便性和好的更改性 维护性在实践中得到很好的体现 尤其现 在强大的综合工具 和系统集成对核的需求性使 Verilog 更有用武之地 每个硬 件工程师应该学习掌握它 在进入 Cadence 后在命令行中键入 textedit *.v↙ (此处*为文件名 在 textedit 命令后应带上文件名) 键入上述命令后进入文本编辑框 和 Windows 中常用的文本编辑框很象图 4-1-1textedit 文本编辑框界面 图中的主菜单 File View Edit Find 及各自底下的子菜单和 Windws 中的 文本编辑器差不多 使用方法相似 这里就不多说了 编好程序保存可以进 行后续工作了§4一2Verilog 的模拟仿真命令的选择 在命令行中键入 verilog↙ 会出现关于此命令的一些介绍 如下 -f <filename> read host command arguments from file. -v <filename> specify library file -y <filename> specify library directory -c compile only -s enter interactive mode immediately第 19 页 共 19 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地-k <filename> set key file name -u convert identifiers to upper case -t set full trace -q quiet -d decompile data structure Special behavioral performance options (if licensed): +turbo speed up behavioral simulation. +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license. +noxl disable XL acceleration of gates in all modules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 在上面的参数选择中 简单介绍几个常用的: (1)-c 首先应该保证所编程序的语法正确性 先进行语法的检查 选择参数- c 键入 如下命令 verilog –c *.v↙ 根据 Cadence 的报告 查找错误信息的性质和位置 然后进入文本编辑器进 行修改 再编译 这是个反复的过程 直到没有语法错误为止 (2)-s 进入交互式的环境 人机交互运行和下面的参数联合使用 (3)+gui & verilog 仿真有命令和图形界面两种方式 图形界面友好和 windows 使用很 象 很好掌握 一般都使用图形方式 &”符号是后台操作的意思 不影响 前台工作 如此时你可以在命令行输入其它的命令 其它的命令参数选择比较复杂 这里就不介绍了 故我们这里常用的命令是 verilog –s *.v +gui &↙ (*代表文件名) 进入图形交互界面 $附 命令行输入 !!↙ 是执行上一条命令 命令行输入 !* ↙ (*代表字母) 是执行最近的以*开头的命令 上述附注对命令输入速度提高有所帮助 二 SimVision 图形环境 SimVision 是 Verilog-XL 的图形环境 主要有 SimControl Navigator Signal Flow Browswer Wactch Objects Window SimWave 等窗口第 20 页 共 20 页。
Cadence TOOL入门
CADENCE工具VIRTUSO/DRACULA入門介紹........................................................................- 2 -1.使用V IRTUSO/D IV A/D RACULA之前的準備 (2)1.1.找一台裝有IC工具的伺服器..........................................................................................- 2 -1.2.連接到這台電腦上............................................................................................................- 2 -2.IC工具的軟體環境配置.. (3)2.1.創建IC工具的啟動目錄,即工作目錄。
......................................................................- 3 -2.2.將配置檔拷貝到IC工具的啟動目錄..............................................................................- 3 -2.3.將工藝檔和顯示檔拷貝至工作目錄................................................................................- 3 -2.4.啟動IC工具,命令為icfb&...............................................................................................- 3 -3.IC工具的使用 (4)3.1.新建一個設計庫................................................................................................................- 4 -3.2.Compile一個工藝檔.........................................................................................................- 4 -3.3.創建新設計........................................................................................................................- 5 -3.4.編輯電路圖........................................................................................................................- 5 -3.5.編輯版圖............................................................................................................................- 6 -3.6.根據習慣改變版圖層次的顯示特性................................................................................- 7 -3.7.完成版圖編輯之後保存,退出...........................................................................................- 8 -4.版圖的DRC檢查. (8)4.1.基於Diva的方式(不推薦)................................................................................................- 8 -4.2.基於Dracula的方式(推薦).............................................................................................- 8 -5.LVS. (10)5.1.準備版圖的GDS檔........................................................................................................- 10 -5.2.準備電路網表..................................................................................................................- 10 -5.3.用LOGLVS轉換電路網表成LVS要求格式.................................................................- 11 -5.4.修改lvs的命令文件........................................................................................................- 12 -5.5.運行PDRACULA來生成lvs任務的可執行檔.............................................................- 12 -5.6.在控制臺下,運行文件................................................................................- 12 -5.7.查看錯誤..........................................................................................................................- 12 -5.8.修正版圖或網表錯誤......................................................................................................- 13 -6.一些小經驗 (13)7.附件清單 (14)Cadence工具Virtuso/Dracula入門介紹Cadence 是一套功能強大的EDA軟體,包含有諸如IC、SE等常用晶片設計工具。
cadence入门指导
Cadence基本操作--Carfic文介绍C adence软件的入门学习,原理图的创建过程,本教程适合与初学着,讲得尽量的详细和简单,按照给出的步骤可以完全的从头到尾走一遍,本教程以最简单的共源放大器为例。
打开终端,进入文件夹目录,输入icfb &或者virtuoso&启动软件。
1.原理图绘制1.点击Tools的Library Manager,如图1图12.下一步,建立新的库File-New-Library,在name处取新库的名字(图2),并关联相应的工艺库,这次关联的工艺库是tsmc18rf(见图3,4)。
图2图3 图43.接下来在,新建库(CS)下面建立原理图,在manager中点击新建的库,再点击File-New-Cell View,并取名字,此处仍取名cs(图5)。
出现原理图(图6)图5 图6接下来可以进行原理图绘制,首先介绍几个快捷键:F:调节界面至最全最合适模式M:移动器件I:加入器件Q:调整器件参数W:连线C:复制器件R:旋转器件,在移动,复制和加器件的时候可以使用X:保存电路并且检查是否有error和warningL:给线标注名字,名字相同即相连,尽量不要取关键字的名字,如vdd!,gnd!等P:加pin脚,在做symbol的时候使用,pin的名字和线的名字一样的时候,默认相连接。
E:进入symbol下一层电路shift+M:移动器件不会影响线shift+W:粗线shift+R:镜像器件ctrl + E:返回上一层电路图4.第一步,先按I(图7),再选择tsmc18rf库,在cell找nmos2v(在此工艺下的器件名,有些工艺是nch),并在view选择symbol,即可添加(图8)。
图7图8同样,可以加入此工艺库下的pmos,电阻和电容等,在简单仿真的时候,除晶体管外的元件(电压源,电流源)可以使用虚拟模拟元件,都在在analogLib下面。
以添加DC电压源步骤为例,按I,再选择analogLib库,在cell中找到vdc,并在view选择symbol(图9)。
【简单易懂,图文并茂】教你如何上手Cadence
Cadence使用初步简介在早期的ASIC 设计中电路图起着更为重要的作用作为流行的CAD软件Cadence 提供了一个优秀的电路图编辑工具Composer。
Composer不但界面友好操作方便而且功能非常强大电路图设计好后其功能是否正确性能是否优越必须通过电路模拟才能进行验证Cadence 同样提供了一个优秀的电路模拟软件Analog Artist由于Analog Artist 通过Cadence 与Hspice 的接口调用Hspice 对电路进行模拟。
但是我们的虚拟机中并没有安装Hspice软件,所以我们使用Cadence自带的仿真软件进行仿真。
本章将介绍电路图设计工具Composer 和电路模拟软件Analog Artist 的设置启动界面及使用方法简单的示例以及相关的辅助文件以便大家能对这两种工具有一个初步的理解。
一、Cadence平台的启动:①右击桌面,在弹出菜单中单击open Terminal②在弹出的终端中输入icfb&然后按回车启动Cadence③Cadence启动过程④Cadence启动完成后,关闭提示信息二、设计项目的建立①点击Tools—Library Manager…启动设计库管理软件②启动设计库管理软件③点击File—New--Library新建设计库文件④在弹出的菜单项中输入你的设计的库的名称,比如MyDesign,点击OK⑤选择关联的工艺库文件,我们选择关联已有的工艺库文件,点击OK⑥在弹出菜单中的Technology Library下拉菜单中选择我们需要的TSMC35mm 工艺库,然后点击OK。
⑦设计的项目库文件建立完成,然后我们在这个项目库的基础上建立其子项目。
点击选择mydesign,然后点击File-New-Cell View…⑧输入子项目的名称及子项目的类型,多种类型,目前课程设计中用到的主要是电路图编辑和版图编辑。
在设计版图之前我们假定先设计原理图:所以我们选择,然后点击OK。
Cadence IC版图工具Virtuso的使用简介
建立一个库(续)
3.在CIW窗口中点击file/ new/ library….. 给库任意取名字(如:lib_1),在右侧选 compile a new techfile. (如图) 点击OK,填入工艺文件的路径和名称。
DRC检查(续)
DRC检查(续)
• 在CIW窗口中查找错误
• 回到layout中改正错误,并重新做DRC。反复修改,直到所 有错误都被修改。
LVS检查
• DRC保证了版图能够在流片中没有违规 • LVS则保证了流片出来逻辑功能的正确性。 • LVS=layout versus schematic • 步骤:
建立一个库(续)
4.在CIW窗口中点击tools/ library manager 我们就看到了新建的库lib_1 在下拉菜单中选择new/ cell view,取一个cell name:INV。 在该窗口中点击tool选择Virtuoso。 OK!这样就建立了一个画版图的平台。
如何调入版图的层
• N-Well
N-Well的规则(续)
Island and Poly
Island and Poly(续)
Poly
PLUS
PLUS(续)
Contact and Metal-1
Contact
Metal-1
Via-1
Metal-2 and Via
Metal-3
Cadence 版图工具Virtuoso简介
作者:卢俊 2006-7-5
内容安排
• 本次上机实验的任务 • 使用Virtuoso设计版图的步骤简介 • 电子58所0.5um工艺设计规则介绍
Cadence中文简明手册
CADENCE芯片版图设计工具VIRTUSO/DIV A/DRACULA入门手册 (2)1、使用V IRTUSO/D IV A/D RACULA之前的准备 (2)1.1、要找一台装有工具IC的计算机 (2)1.2、要能连接到该计算机上 (2)2、工具IC的软件环境配置 (3)2.1、创建工具IC的启动目录,即工作目录。
(3)2.3、将(.cdsinit和.cdsenv)拷贝到工具IC的启动目录 (3)2.4、在工作目录下创建工艺库文件 (3)2.5、启动工具IC,命令为icfb& (3)2.6、配置工艺库路径 (4)2.7、添加工艺提供的一些辅助库............................................................ 错误!未定义书签。
2.8、添加Multipart Path ........................................................................... 错误!未定义书签。
2.9、安装PCELL ....................................................................................... 错误!未定义书签。
3、开始一个新的设计---编辑电路图与版图 (5)3.1、新建一个设计库 (5)3.2、Attach库 (6)3.3、创建新设计 (6)3.4、编辑电路图 (7)3.5 编辑版图 (8)3.6 可以根据习惯改变版图的层次显示特性 (9)3.7、完成版图编辑之后先保存再退出 (10)4版图的DRC检查 (10)4.1、基于Diva的方式 (10)4.2、基于Dracula的方式 (10)5、LVS (12)5.1、准备版图的GDS文件 (12)5.2、准备电路网表 (12)5.3、用LOGLVS转换电路网表成LVS要求格式 (14)5.4、修改lvs的命令文件 (14)5.6、运行dracula来生成lvs任务的可执行文件 (14)5.7、在控制台下,运行文件 (14)5.8、查看错误 (14)5.9、修改 (15)6、PAD相关 (15)6.1、准备pad库 (15)6.2、导入pad版图的GDS文件 (15)6.3、更新gds和cdl (16)6.4、修改cdl (16)7、一些小经验 (17)8、附件清单 (18)9、后记 (18)Cadence芯片版图设计工具Virtuso/Diva/Dracula入门手册(以上华0.6um DPDM工艺设计库为例)Cadence 是一套功能强大的EDA软件,包含有诸如IC、SE等常用芯片设计工具。
cadence入门教程PPT课件
IC设计基础
• 集成电路制造过程示意图:
第2页/共163页
IC设计基础
• 集成电路设计域主要包括三个方面: 行为设计(集成电路的功能设计) 结构设计(逻辑和电路设计) 物理设计(光刻掩模版的几何特性和物 理特性的具体实现)
第3页/共163页
IC设计基础
• 集成电路设计层次主要包括五个层次:
(1)系统级 (2)算法级 (3)寄存器传输级(RTL级) (4)逻辑级 (5)电路级
物理工具主要实现物理布局布线。 逻辑工具基于网表、布尔逻辑、传输时序等概念。 该两部分由不同工具承担,利用标准化的网表文件进行数据交换。
第21页/共163页
EDA概述
• EDA应用于三方面: 印制电路板的设计(PCB) 可编程数字系统设计(CPLD、 FPGA、SOPC) IC设计(ASIC, Soc)
EDA概述
• Synopsys公司简介:
是为全球集成电路设计提供电子设计自动化 (EDA)软件工具的主导企业。为全球电子市场提供技 术先进的IC设计与验证平台,致力于复杂的芯片上系 统(SoCs)的开发。总部设在美国加利福尼亚州 Mountain View,有超过60家分公司分布在北美、 欧洲、日本与亚洲。
合设计,嵌入式系统设计,软硬件系统协同设计,系统芯片设计,可编程逻辑器件和可编程系统芯片设计, 专用集成电路设计等
第13页/共163页
EDA概述 • 高级硬件描述语言的完善和IP(Intellectual Property)芯核被广泛使
用,使得电子系统和设计方式发生了根本性的转变。 • IP是集成电路知识产权模块的简称,定义为:经过预先设计、预先验证,
EDA概述
3、全定制IC设计工具
Virtuos Schematic Composer Analog Design Environment Virtuos Layout Editor Spectra Virtuoso Layout Synthesizer Assura dracula Diva
cadence使用教程
p+ implant
Thin oxide
contact
Metal1
n+ implant poly
PMOS layout view
n-well
p+ implant
n+ implant
12
Start schematic
一. 建立 Schematc view:跟建立 layout view 方法一樣(請參考 Start Cadence 的第 五大點的第二小點),先點選要 LM 視窗預定的 library,再點選 LM 視窗的 File→New→Cell view,按 OK 之後,即可建立 Schematic View
1.數字應該是 4.4.5 2.若不是 4.4.5,代表使用到舊版 的 cadence 了,請從第一點重新 開始
CIW(command Interpreter window)
三.點選在 CIW 視窗的上面工具列 Tools→Library Manager, 會出現 LM 視窗 LM(Library Manager)
1. 桌面改為 1024*768*256 色 2. 執行 xwin 程式 3. Netterm telnet 140.116.164.112~141 (CIC 電腦教室) 4. e2486***@eesol08:~> who
e2486*** pts/2 Dec 28 11:43 (.tw) 5. e2486***@eesol08:~> setenv DISPLAY .tw:0.0 6. 完成上述五個步驟後,Start Cadence 的方法,請參閱使用手冊第六頁。
10
四.當在畫的途中,可以使用 on-line drc(DIVA)來檢查是否違反 design rule 1. 點選 Layout 視窗上面的指令 Verify→DRC 2. 出現 DRC 視窗
Cadence 手册详细图解 英文版
Cadence IC Design ManualFor EE5518ZHENG Huan QunLin Long YangRevised onMay 2017Department of Electrical & Computer EngineeringNational University of SingaporeContents1 INTRODUCTION (4)1.1 Overview of Design Flow (4)1.2 Getting Started with Cadence (6)1.3 Using Online Help (8)1.4 Exit Cadence (8)2 SCHEMATIC ENTRY (9)2.1 Creating a New Design Library (9)2.2 Creating a Schematic Cellview (10)2.3 Adding Components to Schematic (11)2.4 Adding Pins to Schematic (12)2.5 Adding Wires to Schematic (13)2.6 Saving Your Design (14)3 SYMBOL AND TEST CIRCUIT CREATION (15)3.1 Creating Symbol (15)3.2 Editing Symbol (16)3.3 Building Test Bench (18)4 SIMULATING YOUR CIRCUIT (21)4.1 Start the Simulation Environment (21)4.2 Selecting Project Directory (21)4.3 Setup Model Library (22)4.4 Choosing the Desired Analysis (22)4.5 Setup Variables (23)4.6 Saving Simulation Data (24)4.7 Saving Output for Plotting (24)4.8 Viewing the Netlists (25)4.9 Running the Simulation (25)5 PHYSICAL LAYOUT (28)5.1 Layout vs Symbol of CMOS Devices (28)5.2 Starting Layout Editor (29)5.3 Vias (31)5.4 Changing the Grid (33)5.5 Inserting and Editing Instances (34)5.6 Drawing Shapes / Paths (35)5.7 Creating Pins (36)6 DESIGN VERIFICATION: DRC AND LVS (38)6.1 Performing DRC (38)6.2 Performing LVS (40)6.3 Performing PEX (41)7 POST‐LAYOUT SIMULATION (45)7.1 Simulation the Extracted Cell View (45)8 CONCLUSION (46)1INTRODUCTIONThis manual describes how to use Cadence IC design tools. It covers the whole design cycle, from the front-end to the back-end, i.e., from the pre-layout design to the post-layout design.The manual aims to provide a guide for fresh users. Following the manual, users can start doing analog IC design even though the users don’t have any knowledge of the tools.An inverter is used to illustrate the whole cycle of analog IC design, and Cadence Generic 45nm (cg45nm) kit is the technology library used for implementing the inverter. The method stated in the manual can be applied to other type of analog circuit design.1.1Overview of Design FlowFigure 1 shows a typical analog IC design flow.The design flow starts from schematic entry with the Cadence schematic capture tool –Schematic Editor. Devices or cells from the cg45nm or other libraries are used to build your circuit. Your design is hierarchical; therefore higher level schematics also incorporate cells which you have already developed. The schematics which you enter at this stage therefore typically consist of a number of base library cells and also lower level cells designed yourself.These are described in Sections 2 and 3 of the manual.When you have finished designing a particular circuit, you need to simulate it to ensure that it works as expected. It would be unlikely that your circuit works as expected at the first time so you have to repeat the cycle to improve the circuit, as shown in Figure 1, until the circuit works satisfactorily. This must be done for each sub-circuit of your design and then for the top level design. How to simulate and view the performance of simulation results are presented in Sections 4 of the manual.When the performance of the circuit is satisfactory, it is ready to start the physical design or layout of the circuit. The layout starts with the cell or device placement. Once the cells have been placed, routing can be carried out. Routing connects the cells/device of the design.After finishing placement and routing, the layout has to go through the Design Rule Check (DRC) with rule decks provided by PDK provider, to ensure that there is no design rule violation in the layout. The layout has to be rectified accordingly to the rules’ requirement till it passes DRC.Upon a successful DRC, it is Layout-versus-Schematic (LVS) check, to assure that all connections in the layout are correct. The layout has to be amended accordingly to the schematic If LVS doesn’t pass. DRC has to be done whenever layout is changed. The process is repeated until the LVS passes.Figure 1. Analog IC Design FlowThe next step is parasitic extraction (PEX) to get the extracted view of the circuit, which is used for post–layout simulation. The extracted view includes the parasitic effects in both the instances/devices and the required wiring interconnects of the circuit.Following DRC, LVS and PEX, it is post-layout simulation. The post-layout simulation is essential to make sure that the circuit with the extra parasitic parameters functions well and still meet the design specifications. If the performance of the post-layout simulation is not acceptable, back to the stage of schematic entry to check the circuit. Basically, re-design the circuit is necessary. Repeat the whole flow until the results of the post-layout simulation meet the design specifications.If everything is satisfactory, the next stage is GDSII Generation. It generates a file which depicts the low level geometry of layout. GDSII format is industry standard format suitable fora semiconductor company to fabricate and manufacture the chip of layout. This is briefed inthe last section of the manual.1.2Getting Started with CadenceUpon logging into your account, you will be brought to the Linux Desktop Environment.Right click on the desktop and click Open Terminal to open a “window” on the desktop. This window is the Linux command line prompt at which you can run Linux commands. After running a Linux command, this window also shows the output of the command.The following steps show how to start Cadence with cg45nm kit.A.Create a working directory - project (it can be any name as you like) with thecommand:mkdir projectwhere mkdir is Linux command and the project is the directory name;B.Enter the working directory with the command:cd projectwhere the cd is the Linux command;C.Type the followings commands to do the environment setup for using Cadence Generic45nm PDK.cp /app11/cg45nm/USERS/cds.lib .cp /app11/cg45nm/USERS/assura_tech.lib .cp /app11/cg45nm/USERS/pvtech.lib .D.Start cadence in the working directory – project with the following command:virtuoso &where virtuoso is the command to start Cadence IC design tool.Now, Cadence tools are successfully started. Keeps only the Command Input Window (CIW) which is shown in Figure 2.Figure 2. CIW WindowDo not close this CIW and try to keep it in view whenever you are using Cadence. Error messages and output from some of the tools are always sent to the CIW. If something doesn't appear to be working, always check the CIW for error messages. In addition, the CIW allows the user great control over Cadence by interpreting skill commands which are typed into it.E.In the CIW, select Tools Library Manager. The Library Manager pop up as inFigure 3. The Library Manager is where you create, add, copy, delete and organizeyour libraries and cell views.Figure 3. Library Manager WindowYou can see that the library gpdk045 appears in the Library column of the librarymanager.Now, you have started Cadence tool and loaded the cg45nm kit successfully. There are some documents in /app11/cg45nm/ gpdk045_v4_0/docs, and you can always refer to these documents for the information such as devices, device models, DRC rules and others related to cg45nm kit.Next time, you need only to repeat the steps B and D, for launching Cadence virtuoso and doing your project.1.3Using Online HelpCadence provides a comprehensive online manuals for all Cadence tools. You can launch the online help by typing the following command at the Linux prompt.cdnshelpThis invokes the online software manuals. Alternately, there is a help menu on each Cadence window. Manual which is related to that window related will pop-up once clicking on the help button.1.4Exit CadenceTo exit Cadence, just click on the cross sign X or File Exit in CIW. It is necessary to exit Cadence when it is not in use. Your library file would be locked or cannot edited next time if Cadence was not exited properly.2SCHEMATIC ENTRYNow that Cadence is running, you are almost ready to start entering schematics. However, you must first create a library which will be used to store all the parts of your design. Then, schematic can be created in the library.2.1Creating a New Design LibraryA.In the Library Manager window, select File→New→Library. New Library formpops up as shown in Figure 4.B.In the New Library form referring to Figure 4, key in your design library name(example: test) in the field of Name, and then click Ok.C.Click Ok in the pop-up window - the Technology File for New Library, referring toFigure 5.D.Choose gpdk045 in the Attach Library to Technology Library form, referring toFigure 6, and then click Ok.Figure 4. New Library FormFigure 5. Technology File for New Library FormFigure 6. Attach Library to Technology File FormA new library, named test, should appear in your Library Manager window.2.2 Creating a Schematic CellviewA.In Library Manager, select the Library where you would like to create a schematic. Then,select File→New→Cell View.B.Set up the New File form as Figure 7Figure 7. Create CellViewC.Click OK when done. A blank schematic window for the "inv" (your cell name)schematic appears.Explore the functions available by putting your mouse over the toolbar and fixed menu icons.In addition, note that some of the menu selections have alphabets listed to the right of them. These are bind-key or shortcut-key definitions which are very useful in the long run.Test them out during the schematic drawing in subsequent steps.2.3Adding Components to SchematicFigure 8 shows the schematic which you are going to patch, and the property of each component is listed in Table 1.Figure 8. Inverter CircuitTabel 1. Component Properties of Figure 8: Inverter CircuitComponents Library Name Cell Name PropertiesPMOS gpdk045 pmos1v l:45nm w:120nm (default size)NMOS gpdk045 nmos1v l:45nm w:120nm (default size)Here is the example on how to add component instances by placing cell views from libraries. Type “i” bind-key or select Create Instance in the schematic window or click on the menu bar to display Add Instance form. Then in the Add Instance window, select gpdk045as Library, choose the NMOS transistor by selecting nmos1v in Cell and also choose symbol as View, as shown in Figure 9.Figure 9. Add Instance FormSimilarly, add the pmos1v into the schematic. As an example, here we just keep all theparameters as default.If you place a component with the wrong parameter values, select the component and type “q” bindkey or use the Edit→Properties→Objects command to change the parameters. Use the Edit→Move command or type “m” if you place components in the wrong location.2.4Adding Pins to SchematicYou must place I/O pins in your schematic to identify the inputs and the outputs. A pin can be an input, output or an input-output (bi-directional) pin.Type “p” or select Add →Pin from inv Schematic Window or click the Pin fixed menuicon in the schematic window. The Add Pin form appears as Figure 10.Figure 10. Add Pin FormClick Hide and move you cursor to the Schematic Window. Place pins at the correct places and click right mouse key to rotate the pin if necessary.Add pins according to Table 2, paying attention to the direction.Table 2. Pin Names and Direction of invPin Names DirectionVin InputVout OutputVDD, GND Input-OutputCaution: Do not use the add component form to place schematic pins.2.5 Adding Wires to SchematicAdd wires to connect the components and pins in the design.A.Type “w” or select Add →Wire (narrow) in Schematic Window or click (narrow)fixed menu icon.B.In the schematic window, click on a pin of one of your components as the first pointfor your wiring. A diamond shape appears over the starting point of this wire.C.Follow the prompts at the bottom of the design window and click left mouse key onthe destination point for your wire.D.Continue wiring the schematic. When done wiring, press Esc with your cursor in theschematic window to cancel wiring.2.6Saving Your DesignCheck the design to ensure that it is correct and save the design.A.Click the Check and Save icon in the schematic window.B.Observe the CIW output area, for the information of the check and save action.3SYMBOL AND TEST CIRCUIT CREATIONSymbols are useful when creating designs as it is impractical to show every transistor on the top level schematic. Instead, the symbols of cells are created in order to instantiate them in the higher level schematics and make them more readable (i.e. hierarchical designs). Create a symbol for your design so you can place it in a test circuit for simulation.3.1Creating SymbolA.In the inv schematic window, select Create → Cellview → From Cellview. CellviewFrom Cellview pops up as shown in Figure 11.Figure 11. Cellview From Cellview FormB.Click OK in the Cellview From Cellview form. The Symbol Generation Options formappears as Figure 12. Enter the information listed in Table 3 for the symbol.Table 3: Pin SpectificationsLeft Pins : VinRight Pins : VoutTop Pins: VDDBottom Pins: GNDFigure 12. Symbol Generation Options FormC.Click OK in the Symbol Generation Options form. A window with a symbol createdautomatically by the tools pops up, referring to Figure 13.Figure 13. Symbol Generated AutomaticallyD.Observe the CIW output pane and note the messages stating Adding ‘CDFinformation ...’.3.2Editing SymbolYou can modify the symbol to have a more meaningful shape for easy recognition.A.Move your cursor over the symbol, until the entire green rectangle is highlighted. Clickleft to select it.B.Click Delete icon in the symbol window to delete the green rectangle.C.Select Create→Shape→Polygon. Follow the prompts at the bottom of the symbol, anddraw the triangle shown in Figure 14.D.Type “m” or click Move icon in the symbol window, move the pins to the finaldestination.E.Select [@partName], and use Edit→Properties→Object to change it to inverter asshown in Figure 14.Figure 14. Edit Object Properties FormF.Save your edited symbol view. The final symbol is shown in Figure 15.Figure 15. Symbol of inv3.3Building Test BenchTo test the inverter that you have just built, you need to create a test bench. This test bench will also be used during the post-layout simulation.Creating an inv_test schematic cellview with the below information, following the steps listed in Section 2 – SCHEMATIC ENTRY. The test bench is as shown in Figure 17.Library Name : testCell Name : inv_testView Name : schematicLibrary Name Cell Name Propertiestest inv_testanalogLib Vdc VDDanalogLib vpulse Referring to Figure 16analogLib gnd GNDanalogLib cap 1f FFigure 16. Vpulse FormFigure 17. Test Bench – inv_test for inv CircuitNote:There are wire names Vin and Vout in Figure 17. These can be created by clicking on Create Wire Name on the inv_test schematic window. Key in Vin Vout in the Names field of the Add Wire Name form, and then click Hide. Moving your mouse to the schematic window, click the wire where you want it to be named in the same sequence as typing the names in the Names field.4SIMULATING YOUR CIRCUITBefore starting the simulation, make sure that the schematic (inv_test) is open, then perform the following steps.4.1Start the Simulation EnvironmentIn your schematic window, select Launch →ADE L. The Analog Design Environment (ADE) window appears as shown in Figure 18.Figure 18. ADE Window4.2Selecting Project DirectoryIn the ADE window, select Setup→Simulator/ Directory/ Host. A Choosing Simulator form appears as Figure 19. In the Project Directory blank, type in /var/tmp/(desired folder name) to save your simulation files in the /var/tmp directory on the local server. Click OK to confirm.Figure 19. Choosing Simulator/Directory/Host FormAs each user account has a limited quota, this helps to conserve memory space in your account and prevents you from exceeding your account quota. However, note that contents in this folder is deleted periodically every 30 days automatically.4.3Setup Model LibraryIn the ADE window, select Setup Model Libraries. The Model Library setup form appears. Double click the column of section, and then click the down arrow to choose tt which is typical N and P model parameters. The model library setup for the inv_test circuit is shown in Figure 20. Click ok on the setup form to finish the settings.The information of models can be found in/app11/cg45nm/gpdk045_v4_0/docs/gpdk045_pdk_referenceManual.pdf.Figure 20. Model Library Setup for inv_test4.4Choosing the Desired AnalysisIn the ADE window, click the Choose Analyses icon . The Choosing Analyses form appears. Cadence ADE is able to run several types of simulations consecutively. You are then able to view the signals from different simulations at the same time. In this example, we will do transient analysis, so we shall setup transient analyses through the ADE as Figure 21.Figure 21. Setup for Transient Analyses4.5Setup VariablesThere is a variable, VDD, in the inv_test circuit. We need to set a value to it before starting simulation.In the ADE window, click Variables. Enter the name as the variable name VDD, then set the valueas 1.1, and finally click Ok. Please take note that 1.1v is the nominal voltage for this technology.Figure 22. Editing Design Variables4.6Saving Simulation DataThe simulation environment is configured to save all node voltages in the design by default. In larger designs, where saving all of the data requires too much disk space, you can select a specific set of node to save. Following steps show you how to select terminals to save.A.In the ADE window, select Outputs→Save All.B.The Keep Options form appears. Do not modify the form at this time. However, if youneed to save less data, under the first option “Select signals to output”, Click “selected”.4.7Saving Output for PlottingSelect the signals that you would like to observe.A.Select Outputs→To Be Plotted→Select On Design.B.Note that if you click on wires / nets, voltage signals are selected. If you click onconnection nodes, currents flowing through that note and into the component are saved.C.Follow the prompts at the bottom of the schematic window. Click on the output wireslabeled with Vout and Vin (select the wire that you want to monitor).D.Press Esc with your cursor in the schematic window when finished.Now you have set up the simulation environment which as shown in Figure 23. You can save the simulation state. This saves all the information such as the Model Path, outputs, analyses, environment options, and variables so that you do not need to set these parameters the next time again.Figure 23. ADE window with completed settingsIn the ADE window, select Session→Save State. Tick Cellview and then click OK. You can recall your settings by selecting Session→Load State.4.8Viewing the NetlistsSometimes, you need to view the netlist of your circuit or design. You can do so through the ADE, select Simulation→Netlist→Create / Display / Recreate.If there are any errors encountered during this step, check the messages in the CIW and retrace your steps to see that all data was entered properly.4.9Running the SimulationSelect Simulation→Netlist and Run to start the simulation or click on the Run Simulation icon in the Simulation Window. After the simulation is done, a waveform window will pop up showing the simulation results as Figure 24.Click on the waveform window to separate Vin and Vout.You can create a horizontal or vertical marker by clicking Marker on the waveform window. For example, creating a horizontal marker on Figure 24 with put Y Postion at 0.5*VDD=550mV, and then zoom in. The waveform window will look like Figure 25. Delays of the inverter could be found from the reading on the marker.Figure 24. Output of SimulationFigure 25. Waveform with Marker.Explore the icons on the toolbar as well as the various items on the menu. Try to add markers as that is something that will be used often during your simulations. You can also update the titles and labels on your plot to make them easy to read or more meaningful, if necessary.*Quick Tip : Shortcuts “a” and “b” to place a delta marker where you observe the difference between two points. What does shortcuts “v” and “h” do?There are many other functions available in the calculator tool, explore and play around with them.By now, you have finished pre-layout simulation (schematic level simulation). Next, you need to draw the layout of the inverter circuit and then do post-layout simulation to check your circuitperformance.5 PHYSICAL LAYOUTBy now, you should know how to create and simulate your circuit. Once the performance of your design is satisfactory, the next step in the process of making an integrated circuit chip is to create a layout. What is a layout? A layout is basically a drawing of the masks from which your design will be fabricated. Therefore, layout is just as critical as specifying the parameters of your devices.Before we get into the layout, first you need to understand the design rules for layout. Design rules give guidelines for generating layouts. They dictate spaces between wells, sizes of contacts, minimum spacing between a poly and a metal, and many other similar rules.Design rules are essential to any successful layout design, since they account for the various allowances that need to be given during actual fabrication and to account for the sizes and the steps involved in generating masks for the final layout. Note that the layout is very much process dependent, since every process has a certain fixed number of available masks for layout and fabrication.You may find more details on the Design Rules Manual (DRM):/app11/cg45nm/gpdk045_v_4_0/docs/gpdk045_drc.pdf5.1 Layout vs Symbol of CMOS DevicesIn this section, we look at only three devices: nmos1v and pmos1v. Check the process document, you can find the information for other devices.Figure 26 shows the nmos1v device. From layout view, you can see that the terminal B is the black background of the layout window.Figure 26. Layout vs Symbol of NMOSFigure 27 shows the pmos1v device, which looks similar to NMOS device but with P type implant (orange-stripe layer) and N-well (purple surrounding layer). G D SBFigure 27. Layout vs Symbol of PMOS5.2Starting Layout EditorNow we are going to create a new layout in the cell “inv” in “test” library.A.In Library Manager, select File→New→Cellview ... A Create New File form pops up.B.Select "test" as Library Name; enter "inv" as Cell Name, "layout" as View Name.C.Choose Open with Layout XL, and then click OK.Figure 28. Create Cellview – LayoutUseful layerselectionfeatureFigure 29. Layout WindowCell "inv" with "layout" view in library "test" will be created. It is opened up automatically, followed by inv schematic window, as shown in Figure 29. The layout editor contains two main sub-windows, namely the Layers sub-window on the left and Layout Editing window on the right. Notice the Layers sub-window on the left side of the layout view. This sub-window displays the fabrication layers defined in the technology. You can find the cross sectional profile in the process documents.Each layer is represented by a different color and pattern for easier differentiation. The black background on the right can be interpreted as the p-substrate of the wafer.To hide a layer, use the middle scroll button to click on a layer. To disable a layer from use, use the right mouse button.You might notice that some layer names appear more than once in the Layers sub-window. For example, Metal1 appears two times: one as Metal1 drawing, the other as Metal1 pin. Metal1 drawing is a layer with drawing purpose, and such layers with drawing purposes will be fabricated in the mask. The pin layers are symbolic layers and serve to indicate position of I/O pins and define net names. Such layers are not part of the mask layout and will not be fabricated.5.3ViasVias are used to connect between layers, much like those used in PCB design.There are different types of vias for different layer pairs. Normally a via is only for connecting two successive layers, e.g., Metal 1 and Metal 2. In case there is a metal jump between more than two layers, via stacking is required.In the layout window, click Create→Via or type “o” to bring up the via menu. Place the vias on the layout editing window, you can observe the layers that are involved in each type of via. Experiment with the different modes and configurations in the via menu to create arrays and stacks of vias as well. For example,A.Click on Create→Via, the Create Via window pops up as figure 30 shows.B.Choose M1_PO under Via Definition, and click on the layout window to place it andthen press Esc button to stop the placing. You can change the number of Rows and Columns on the Create Via form.C.To view the layers of M1_PO, click to select it first and then press Shift + f key. Observethe via appears different.D.To check the layers used in via M1_PO, select it and then click Edit→Hierarchy→Flatten as shown in figure 31. Click OK on the pop-up form shown in Figure 32.E.Now, you can separate the layers and check layers’ property to find out the layers’ name.Via M1_PO connects layers Metal 1 and Poly as shown in Figure 33.Try to explore different options (Rows, Columns, Stack, etc.) under via menu by yourself, this will be very helpful for layout drawing.Figure 30. Create Via windowsFigure 31. Edit ViaFigure 32. Flatten FormFigure 33. Via M1_POThe M1_PSUB and M1_NWELL contacts are substrate and n-well contacts that are used to connect the bulks of the NMOS and PMOS respectively. For the inverter circuit used in this manual, the bulks of the NMOS and PMOS need to be connected to ground (GND) and VDD respectively.5.4Changing the GridIn Figure 29, the black window on the right is the layout editing window. The position of the cursor in layout editing window is indicated by the coordinate showed on the top right corner of the window after X: and Y:. The unit here is "µm". Move your cursor around the editing window and see the X: Y: values change with step size 0.1. Change the step size to 0.005 as that is the minimum step size for this technology.From Layout Editing window pull down menu, select Options →Display... change "X Snap Spacing" and "Y Snap Spacing" to 0.005 then click on "OK". Now move the cursor around the editing window again, you will see the X: Y: values change with step size 0.005.There are raw grid and fine grid (as small dots) on the window background. If you cannot clearly see the raw grids, from pull down menu select Window →Zoom out by 2In addition to pull down menu and bind key "z", "Zoom Out" is also listed in the picture tool bar to the left of the window. Find it and try it out.Also you may use up, down, left, and right arrows to move around the design window. You will need to use "Zoom in" and "Zoom out" and those arrows many times throughout your design process. So it's not a bad idea to practice them a little bit now.To save and close the cell view, from Virtuoso Editing window, Select Design →Save.。
cadence指导详细版_3
一、cadence软件及安装指导1、安装虚拟机,安装过程中需要添加vmware7.0sn.txt中的Serial(注意:一旦安装成功不要轻易卸载,否则重装很费劲)2、在windows下解压cadence文件夹下压缩包3、双击桌面虚拟机图标,打开虚拟机,点击界面左上角FILE》》open》》在弹出的对话框内找到刚刚解压的cadence文件夹下的cadenceEDA.vmx文件,点击“打开”4、点击power on this virtual machine ,输入用户名zyx,密码1234565、我们进入到了linux系统。
二、NCSU TSMC0.25um库的加载及cadecne的环境配置1、直接将文件夹ncsu-cdk-1.5.1拷贝到linux系统桌面。
(若直接复制不成功,可通过U盘将其导入。
)2、打开桌面zyx’ Home目录(即文件夹),在里面新建目录VLSI,将桌面ncsu-cdk-1.5.1剪切至VLSI目录下。
3、在桌面空白处单击鼠标右键,点击open Teminal4、在终端内输入以下命令。
1、su root -------进入到超级用户2、sunface8211200 (不可见,直接输入即可)3、chmod a+w cds.lib ------修改cds.lib权限后,可以对其进行编写4、vi cds.lib --------进入到vi 编辑器,单击键盘“i ”进入到插入模式,在第一行我们添加一行语句。
INCLUDE /home/zyx/VLSI/ncsu-cdk-1.5.1/cdssetup/cds.lib输入完之后,单击键盘“esc”键退出插入模式,再点击键盘“:wq ”退出vi编辑器5、cd VLSI/ncsu-cdk-1.5.1/cdssetup ---------进入到cdssetup目录6、vi cds.lib --------做如下图修改后,点击esc键并输入“:wq ”退出7、csh -------进入到c shell命令8、vi /home/zyx/.cshrc ------进入到用户目录下的.cshrc的编写,并添加如下语句setenv CDK_DIR /home/zyx/VLSI/ncsu-cdk-1.5.1 ,添加后“:wq ”保存退出9、cp cdsinit /home/zyx/.cdsinit10、cp display.drf /home/zyx/display.drf11、至此,ncsu-tsmc0.25um工艺库安装完毕,cadence环境配置也已经结束。
Virtuoso cadence 教程轻松学
IC设计基础
CADENCE
• 集成电路制造过程示意图:
3
IC设计基础
CADENCE
• 集成电路设计域主要包括三个方面: 行为设计(集成电路的功能设计) 结构设计(逻辑和电路设计) 物理设计(光刻掩模版的几何特性和物 理特性的具体实现)
4
IC设计基础
CADENCE
• 集成电路设计层次主要包括五个层次:
19
EDA概述
CADENCE
• EDA与传统CAD主要区别:
(1)DEA提供的电路图形背后依靠标准的程序化模型或 模型库的支持,使得设计的电路具有仿真和分析的基 本条件,传统CAD仅仅是辅助作图工具,图形背后没 有深层次的物理含义。
(2)EDA自动化、智能化程度更高,功能丰富完善。 (3)EDA的开放性和数据交换性更好。 (4)EDA技术面向设计对象,更贴近实践。
6
IC设计基础
CADENCE
• 避免集成电路设计中出现错误措施有:
(1)在芯片中设置容错电路,使芯片具有一定的修正功 能。
(2)借助计算机辅助设计工具(EDA工具)对设计的每 个阶段进行反复验证和检查,并对物理因素与电学性 能的交织问题进行考虑,以保证设计的正确性。
7
IC设计基础
CADENCE
• 设计信息描述:
集成电路设计信息描述主要有设计图和语言描述方式。 与设计层次相对应的设计描述主要有功能描述、逻辑描 述、电路描述、版图描述。
功能和逻辑描述可用设计图和语言实现。 逻辑描述用逻辑图和逻辑语言实现。 电路描述用电路图实现。 版图描述采版图实现
8
IC设计基础
CADENCE
• IC设计流程:
9
IC设计基础
波形输入 PCB设计:原理图输入
cadence入门指导
Cadence基本操作--Carfic文介绍C adence软件的入门学习,原理图的创建过程,本教程适合与初学着,讲得尽量的详细和简单,按照给出的步骤可以完全的从头到尾走一遍,本教程以最简单的共源放大器为例。
打开终端,进入文件夹目录,输入icfb &或者virtuoso&启动软件。
1.原理图绘制1.点击Tools的Library Manager,如图1图12.下一步,建立新的库File-New-Library,在name处取新库的名字(图2),并关联相应的工艺库,这次关联的工艺库是tsmc18rf(见图3,4)。
图2图3 图43.接下来在,新建库(CS)下面建立原理图,在manager中点击新建的库,再点击File-New-Cell View,并取名字,此处仍取名cs(图5)。
出现原理图(图6)图5 图6接下来可以进行原理图绘制,首先介绍几个快捷键:F:调节界面至最全最合适模式M:移动器件I:加入器件Q:调整器件参数W:连线C:复制器件R:旋转器件,在移动,复制和加器件的时候可以使用X:保存电路并且检查是否有error和warningL:给线标注名字,名字相同即相连,尽量不要取关键字的名字,如vdd!,gnd!等P:加pin脚,在做symbol的时候使用,pin的名字和线的名字一样的时候,默认相连接。
E:进入symbol下一层电路shift+M:移动器件不会影响线shift+W:粗线shift+R:镜像器件ctrl + E:返回上一层电路图4.第一步,先按I(图7),再选择tsmc18rf库,在cell找nmos2v(在此工艺下的器件名,有些工艺是nch),并在view选择symbol,即可添加(图8)。
图7图8同样,可以加入此工艺库下的pmos,电阻和电容等,在简单仿真的时候,除晶体管外的元件(电压源,电流源)可以使用虚拟模拟元件,都在在analogLib下面。
以添加DC电压源步骤为例,按I,再选择analogLib库,在cell中找到vdc,并在view选择symbol(图9)。
最新文档-cadence精简教程-PPT精品文档
CADENCE
Command Interpreter Window(CIW)
输出域
菜单栏
Log 文件
窗口号
命令提示行 输入域
鼠标按钮提示
1
帮助系统
CADENCE
两种方式寻求帮助 1 openbook
在UNIX提示符下输入命令 openbook: host >openbook &
2 工具在线帮助
22
版图设计工具-Virtuoso LE
CADENCE
主要创建命令
Rectangle-矩形 Polygon-多边形 Path-互联 Label-标签 Instance-例元 Contact-通孔
现在LSW中选中层,然后点击 创建命令,在画相应图形
23
绘制反相器版图
CADENCE
8
Virtuoso LE 使用介绍
CADENCE
第三步:建立版图单元
执行:LM->File->New->Cell View…
9
Virtuoso LE 使用介绍
CADENCE
第四步:打开版图单元
执行:CIW->File->Open…
选择库 选择视图
10
选择单元
版图设计工具-Virtuoso LE
46
版图验证
CADENCE
IC 后端流程图:
47
Cadence 版图验证工具
CADENCE
Diva
Diva 是 Cadence 的版图编辑大师Virtuoso集成 的交互式版图验证工具,具有使用方便、操作 快捷的特点,非常适合中小规模单元的版图验 证。
Dracula
Cadence 使用参考手册
Cadence 使用参考手册邓海飞微电子学研究所设计室2000年7月目录概述 (1)1.1 Cadence概述 (1)1.2 ASIC设计流程 (1)第一章Cadence 使用基础 (5)2.1 Cadence 软件的环境设置 (5)2.2 Cadence软件的启动方法 (10)2.3库文件的管理 (12)2.4文件格式的转化 (14)2.5 怎样使用在线帮助 (14)2.6 本手册的组成 (15)第二章Verilog-XL 的介绍 (16)3. 1 环境设置 (16)3.2 Verilog-XL的启动 (16)3.3 Verilog-XL的界面 (18)3.4 Verilog-XL的使用示例 (19)3.5 Verilog-XL的有关帮助文件 (20)第四章电路图设计及电路模拟 (22)4.1 电路图设计工具Composer (22)4.1.1 设置 (22)4.1.2 启动 (23)4.1.3 用户界面及使用方法 (23)4.1.4 使用示例 (25)4.1.5 相关在线帮助文档 (25)4.2 电路模拟工具Analog Artist (25)4.2.1 设置 (25)4.2.2 启动 (26)4.2.3 用户界面及使用方法 (26)4.2.5 相关在线帮助文档 (26)第五章自动布局布线 (28)5.1 Cadence中的自动布局布线流程 (28)5.2 用AutoAbgen进行自动布局布线库设计 (29)第六章版图设计及其验证 (31)6.1 版图设计大师Virtuoso Layout Editor (31)6.1.1 设置 (31)6.1.2 启动 (31)6.1.3 用户界面及使用方法 (31)6.1.4 使用示例 (32)6.1.5 相关在线帮助文档 (32)6.2 版图验证工具Dracula (32)6.2.1 Dracula使用介绍 (32)6.2.2 相关在线帮助文档 (33)第七章skill语言程序设计.................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这样,在原理图和版图界面中就可以使用快捷键了
3.在工 Path Editor中指定工艺库路径。该步的操作结果将保存到工作目录下的cds.lib文件中。
『注意1』:所有的库或其他任何一个设计目录要被下面即将启动的CIW所使用,都必须于使用前在工作目录下的cds.lib文件作定义,指明其引用名称(在cadence环境中的标识名)及绝对路径。
[例]在服务器iclinux命令行窗口下输入instdir可得到:/usr/cadence/ic5033/tools.lnx86/dfII,则工具IC的安装目录为/usr/cadence/ic5033/,需要在工作目录下的cds.lib文件中添加的内容为”INCLUDE/usr/cadence/ic5033/share/cdssetup/cds.lib”
采用Virtuso/Diva/Dracula进行芯片的设计和验证大致有如下几步:准备schmematic(电路)、画layout(版图)、作版图设计规则检查(DRC)、做电路与版图的一致性检查(LVS)、导出最终版图的gds文件。
缩写术语:
ERC: Electrical Rule Check
DRC: Design Rule Check
(以上华0.6um DPDM工艺设计库为例)
Cadence是一套功能强大的EDA软件,包含有诸如IC、SE等常用芯片设计工具。其中IC是针对全定制芯片设计应用的,IC本身仍是一套工具集。本手册主要讨论其中的全定制版图设计工具Virtuso和验证工具Diva/Dracula之使用方法。其中Diva是基于Xwindow的方式,而Dracula是基于命令行的方式;Virtuso中提供这两者的相关接口。
并将KEEPDATA = SMART改为KEEPDATA = YES(已经修改)
e.控制台下,cd ~/project/verify/drc敲入:PDRACULA(一定要大写),启动命令行界面;
f.该界面下,敲入/g空格csmc06.drc
g.如果编译无误,敲入/f,退出PDRACULA界面。察看是否生成文件,此即真正用来进行DRC检查的命令文件;
OUTDISK = out.sf
;……………………………………………………………TOP CELL NAME
PRIMARY =inverter(顶层元件)(需修改)
;---------------------------------------------------------------------------
图9 gds的导出
导出成功后,会出现对话框显示
PIPO STRMOUT (PID=ipc:1) completed successfully, see log file './PIPO.LOG' for more details.
d.修改DRC的规则文件
[例]修改DRC的命令文件(如csmc06.drc)的前几行输入输出,指明要检查的GDS文件的路径名称:
图1 CIW窗口
3.IC工具的使用
3
在CIW窗口,点击File→New→Library弹出New Library窗口.在Name输入框中输入设计库名字,在右边Technology File处选择Attach to an existing techfile。点击 OK。一般每个芯片设计都采用一个对应的设计库。然后在这个设计库下面创建各个子模块。
『注意2』为了能使用Cadence自带的一些库(如画电路图时的Basic symbols),需要添加一些IC自带的常用库。一种方法是在cds.lib文件的开头部分添加“INCLUDE<IC的安装目录>/share/cdssetup/cds.lib”.在命令行中输入instdir可查看工具IC的可执行程序所在目录。
[例]:如图所示,创建clock设计库。
图4New Library
3
在弹出的LoadTechnology File窗口中,填上TechnologyFile的路径名,点击OK。编译通过之后,会弹出一个对话框,告知编译通过。
[例]:如图5所示。将新建的设计库clock与工艺库techfile.tf相关联。
操作步骤:
a.在~/project/目录下创建verify目录,并在verify目录中分别为DRC和LVS创建目录drc以及目录lvs
b.准备DRC和LVS命令文件:
[例]上华提供的DRC和LVS文件为csmc06.drc和csmc06.lvs,将它们分别上传至verify中的目录drc以及目录lvs中
[例]如图8所示
图8Display Resource Editor
3
4
有两种方式:基于Diva和基于Dracula。
4
基于Diva的DRC检查,操作比较简单,但效率不高,不推荐使用。这里只作简单说明。
将DRC命令文件放在工作目录,然后打开需要做DRC的Layout View,在弹出窗口中选Verify->DRC.在弹出的DRC对话框中单击Set Switches,在Set Switches对话框中选择all,单击OK;在Drc Rules框中填DRC命令文件名,单击DRC对话框中的OK。
另一种方法是直接将通过上述方法找到的cds.lib拷贝到工作目录。
2
工艺文件:techfile.tf
显示文件:display.drf
用自己的用户名和密码通过FTP上传到目录: ~/project 中
2
[例]:cd~/project/
icfb &↙
出现CIW窗口,如图1所示。以后大部分操作都是从这个窗口开始的。
[例]:如图5所示。Library Name 选为clock;Cell Name输入inverter.
图6、NewCellview
3
用3.3的方法为cell创建一个的schematic view。用Composer-Schematic编辑电路图。编辑原理图时可使用cadence自带的analogLib库中的model。
c.准备版图的GDS文件:CIW窗口FileExportStream…
[例]CIW窗口FileExportStream…,在弹出的窗口中用Library Browser选择clock库中的Inverter(view选择layout)做如图9设置(注意Run Directory设置为verify/drc),然后点击OK;
j.修改完毕,重新输出GDS文件,再次检查,直至无误,点击DRC->quit退出DRC检查。
5
也有两种方式:基于Diva的方式和基于Dracula的方式。基于Diva的方式在LVS之前要做Extrated(版图网表提取)。提取和LVS的操作类似DRC,这里不再细述。
『注意』如不能找到analogLib库则根据2.6中『注意2』进行设置。
编辑完之后,选Design->Design and Save,如果有错则改正;没有错误后便可保存电路图,退出编辑。
常使用的快捷键说明:
i:添加新元件;
q:元器件属性
p:添加输入输出pin
l:添加wire name
w:添加连接线
W:添加总线
Shift+x:存盘并进行ERC check
[例]如图6所示。大部分菜单项上都有相应的快捷健定义。
图6、电路图编辑环境
3
用3.3的方法为一个cell创建一个Layout view。用Virtuoso编辑版图。
打开Vituoso编辑窗口的同时,会弹出一个细长型的窗口,其名称为LSW,该窗口定义了版图各层的显示特性。LSW=Layer Select Window
c.完成登录。
采用其它方式比如vnc、xWin、SSH Secure Shell Client等远程终端方法登录。
『注意』使用不同的远程登陆软件连接服务器;不同的服务器所需的软件设置均有所不同,配置细节请咨询曾经使用过该登陆软件的师兄师姐或同学。
2
2
[例]:mkdir project↙
『注意』建了此目录之后,此后尽量在此目录下启动IC工具。
;---------------------------------------------------------------------------
;……………………………………………………………INPUT GDS2
INDISK =inverter.gds(需修改)
;……………………………………………………………ERROR GDS2
h.在控制台下,执行如下命令./
i.检查完毕,在版图窗口,打开inverter的layout,选择Tools->Dracula Interactive,出现DRC菜单选项,选择其下的setup,对检查过后得到的数据文件路径进行设置(如下图所示),如果有DRC错误,则跳出几个显示窗口,可以通过它们观察并定位错误;点击view DRC Error窗口上的Fit Current Error可定位当前错误;Rules Layer Window显示该错误违反了哪条设计规则,可根据该规则去Design Rule中去查询错误的改正方法。
画版图的基本操作步骤为:在LSW中选定相应层,然后在版图编辑窗口的Create下选要画的几何形状,再在可编辑区域完成绘图。而且可以调用前面创建的csmc06库中的pcell。
版图编辑有很多快捷键可用。它们的定义都可以在相应的菜单项上找到。
[例]如图7所示,编辑inverter的layout view。
LVS: Layout Versus Schematic
LPE: Layout Parameter Extraction
PRE: Parasitic Resistor Extraction
1
1
Virtuso不能单独安装,所以只有在安装了IC工具的计算机上才能使用。