1、4 4电路的计算机辅助分析就其内容上讲可以分成两个方面:一是电路模拟,二是电路优化。电路模拟是在给定电路结构和元器件参数的条件下,确定电路的性能指标。电路优化是在指定的性能指标及电路结构条件下,确定电路中指定元器件的参数最佳值。电路分析除了在版图设计以前进行外,在版图设计以后还要再次进行,这称为“后”仿真。它的目的是把实际版图中所引入的寄生效应考虑进去,以检验在版图设计前后电路性能上的差异。5 5图8-1给出了一个简化的IC设计流程。图8-2 示出功能设计、逻辑设计、电路设计和布图设计等各个阶段的设计图例。表8-1列出了IC的设计程序和各个程序中所使用的CAD技术的概要。各个设计阶段中所使用的
2、CAD技术又可细分成生成CAD技术和验证CAD技术。6 6图8-1 集成电路的简化设计流程7 7图8-2 各设计阶段及其图例8 8表8-1 设计集成电路时使用的主要CAD技术 9 98.2专用集成电路CAD工具简介8.2.1 Cadence1.Cadence 概述Cadence 是一个大型的EDA软件,它几乎可以完成电子设计的方方面面,包括ASIC 设计、FPGA 设计和PCB 板设计。与众所周知的EDA 软件Synopsys相比,Cadence 的综合工具略为逊色。然而Cadence 在仿真电路图设计自动布局布线、版图设计及验证等方面却有着绝对的优势。Cadence 与Synopsys的结合
3、可以说是EDA 设计领域的黄金搭档。此外,Cadence 公司还开发了自己的编程语言Skill,并为其编写了编译器。1010由于Skill 语言提供了编程接口,甚至与C 语言的接口,因此Skill可以以Cadence 为平台进行扩展,用户还可以开发自己的基于Cadence 的工具。实际上整个Cadence 软件可以理解为一个搭建在Skill语言平台上的可执行文件集,所有的Cadence工具都是用Skill 语言编写的,但同时由于Cadence 的工具太多,因而显得有点凌乱,这给初学者带来了更多的麻烦。1111本节旨在向初学者介绍Cadence 的入门知识,只能根据ASIC设计流程,简单介绍一些
4、ASIC 设计者常用的工具,例如仿真工具Verilog-xl、布局布线工具Preview和Silicon Ensemble、电路图设计工具Composer、电路模拟工具Analog Artist、版图设计工具Virtuoso Layout Editor、版图验证工具Dracula等。详细的解释可参看Cadence的帮助手册。12122.设计流程设计流程是规范设计活动的准则,好的设计流程对于产品的成功至关重要。本节将通过与具体的EDA工具Synopsys 和Cadence 相结合,概括出一个实际可行的ASIC设计流程。图8-3是实际设计过程中较常用的一个流程。图8-3所示是深亚微米设计中较常用的
5、设计流程。在该设计流程中,高层次综合和底层的布局布线之间没有明显的界线,高层设计必须考虑底层的物理实现(高层的划分与布局规划)。1313同时,由于内核(Core)的行为级模型有其物理实现的精确的延时信息,设计者可在设计的早期兼顾芯片的物理实现,从而可以较精确地估计互连的延时,以达到关键路径的延时要求。同时,布局布线后提取的SDF文件将被反标到综合后的门级网表中以验证其功能和时序是否正确。从该流程中可看出,在实际设计中较常用到的Cadence 的工具有VerilogHDL、仿真工具VerilogXL、电路设计工具Composer、电路模拟工具Analog Artist、版图设计工具Virtuos
6、o Layout Editor、版图验证工具Dracula和Diva以及自动布局布线工具Preview 和Silicon Ensemble。本节将对这些工具作一个初步介绍。1414图8-3 基于Synopsys 和Cadence 的ASIC设计流程15153.Cadence使用基础1)Cadence软件的环境设置要使用Cadence,必须在计算机上作一些相应的设置。这些设置包括很多方面,而且不同的工具可能需要进行各自的设置。作为初学者只需进行以下几项设置:.cshrc文件设置。首先要在自己的.cshrc文件中设置Cadence 软件所在的路径、所使用的licence文件等。.cdsenv文件设
7、置。.cdsenv文件中包含了Cadence软件的一些初始设置。该文件是用Skill语言写成的,Cadence可直接执行。1616.cdsinit文件设置。与.cdsenv 一样,.cdsinit中也包含了Cadence软件的一些初始化设置。该文件同样是用Skill语言写成的。Cadence启动时,会首先自动调用这两个文件并执行其中的语句。若仅为初学,可以不编写这两个文件,Cadence会自动调用隐含的设置。若想更改设置,可参考一些模板文件进行编写。cds.lib 文件设置。如果用户需要加入自己的库,则可以修改自己的库管理文件cds.lib。对于初次使用Cadence的用户,Cadence会在
8、用户的当前目录下生成一个cds.lib文件。用户通过CIW生成一个库时,Cadence会自动将其加入cds.lib文件中。1717 技术库的生成。技术文件库对于IC设计而言是非常重要的,其中包含了很多设计中所必需的信息。对于版图设计者而言,技术库就显得更为重要了。要生成技术文件库,必须先编写技术文件。技术文件主要包括层的定义,符号化器件的定义,层、物理以及电学规则和一些针对特定的Cadence工具的规则的定义。例如自动布局布线的一些规则、版图转换成GDS时所用到的层号的定义等。18182)Cadence软件的启动方法完成了一些必要的设置后(对初学者只需设置.cshrc文件,其他设置都用隐含设置
9、,等熟练了一些之后再进一步优化自己的使用环境),就可以启动Cadence软件。启动Cadence 软件的命令有很多,不同命令可以启动不同的工具集。常用的启动命令有icfb、icca等。也可以单独启动单个工具,例如Viruoso Layout Editor可以用layoutPlus来启动,Silicon Ensemble可以用sedsm来启动等。以icfb为例,先在UNIX提示符下输入icfb&,再按回车,经过一段时间就会出现如图8-4所示的CIW(Command Interpreter Window)窗口。从CIW窗口就可以调用许多工具并完成相应的任务。1919图8-4 CIW窗口2020CI
10、W窗口是使用Cadence时遇到的第一个窗口,是Cadence主要的用户界面。它主要包括以下几个部分:标题栏,显示使用的软件名及log文件目录,如图8-4中的最上面一行“icfbLog:/home/design/.cds/CDS.log.11859”。菜单栏。输出区,输出Cadence 对用户命令的反应。输入行,可用来输入Skill命令。鼠标捆绑行,显示捆绑在鼠标左中右三键上的快捷键。滚动条。Cadence将许多常用工具集成在一块,以完成一些典型的任务。表8-2总结了一些常用的启动命令及其可使用的工具,用户可根据自己的需要选择最少的命令集。2121表8-2 Cadence启动命令 22223)
11、库文件的管理启动了Cadence后,就可以利用File菜单建立自己的工作库。点击CIW窗口上的File菜单,选定其中的New lib项,输入库名并选择相应的工艺库,然后点击OK按钮,这时在CIW的显示区会出现如下提示:The lib is created successfully!2323新建的库是一个空的库,里面什么也没有。用户可在库中生成自己所需的单元,例如可以生成一个反相器单元,并为其生成一个电路及一个版图视图。其流程如下:选择File菜单中的New项,并选择Cellview项,则弹出如图8-5所示的对话框。选择所需的库并输入单元名inv,选择视图类型schematic,再点击OK按钮。
12、用Add菜单中的Component命令调用analogLib中的单元,输入PMOS和NMOS管以及电源和地,如图8-6 所示。点击Check and Save命令保存。2424图8-5 生成电路对话框2525图8-6 生成电路2626用同样的流程可生成inv的版图视图。利用Tools中的library manager可以对库进行管理。4)文件格式的转化Cadence有自己的内部数据格式,为了与其他EDA软件进行数据交换,Cadence提供了内部数据与标准数据格式之间的转换。点击CIW的File菜单中的Import,可将各种外部数据格式转换成Cadence内部数据格式;利用CIW的File菜单中
13、的Export,可将各种Cadence内部数据格式转换成外部标准数据格式。27274.Verilog XL的介绍人们在进行电子设计时较常用的输入方法有两种:硬件描述语言(HDL)和电路图输入。作为EDA设计的主流软件之一,Cadence提供了对两种主流HDL(Verilog及VHDL)的强大支持,尤其是对Verilog的支持。Cadence很早就引入了Verilog,并为其开发了一整套工具。而其中最出色的当数Verilog的仿真工具VerilogXL。它一直以其友好的用户界面及强大的功能而受到广大Verilog用户的青睐。关于Verilog语言在后面小节中有详细描述,这里先给出其在Cadenc
14、e中的应用。28281)Verilog-XL的启动Verilog-XL较常用的启动方法是:verilog-s+gui-v libname-f scriptFile sourcefilename&其中,libname为所使用的库的名字,scriptFile为用可选项编写的命令文件。2)Verilog-XL的界面运行以上的启动命令后,如果未发生什么错误,就会弹出如图8-7所示的用户界面。这就是Verilog-XL的SimControl窗口,通过该图形界面可控制仿真的执行。2929图8-7 Verilog-XL 的图形界面3030Verilog-XL的图形界面主要有以下几个窗口:SimControl
15、。SimControl窗口是主要的仿真控制窗口。当用带有gui选项的Verilog命令启动Verilog-XL时,就会弹出这个窗口。通过这个窗口,可以显示设计的模块结构、运行Verilog-XL命令、设置及显示断点、强行给变量赋值等。通过这个窗口还可以实现用户与仿真的交互,从而达到对仿真的控制。3131 Navigator。通过点击SimControl窗口上部工具栏中的星形图标即可激活Navigator窗口。该窗口可用来图形化显示设计的层次、设计中的实体及其变量。信号流浏览器。观察窗口。SimWave。SimWave窗口可以用来显示已经选择并跟踪了的信号波形。32325.电路图设计及电路模拟设计时除了可以用硬件描述语言如VHDL及Ve
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1