许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  模拟集成电路设计流程(1):熟悉Cadence环境,开启设计之旅

模拟集成电路设计流程(1):熟悉Cadence环境,开启设计之旅

阅读数 3
点赞 0
article_banner

最近小目同学遇到了一些软件的使用问题,翻了几天软件手册、淘遍网络资源终于迎来一点点曙光。回头反思自己的学习过程,大把时间竟然浪费在流程化的工具使用问题上,实在是可惜。

流程化的工具使用问题本身没有什么技术难度,但是如果不了解又无下手之处。小目想到自己初学模拟IC设计的时候,情景竟然似曾相识,希望之后初学模拟IC设计的同学可以不必为这些无脑的流程化问题再浪费时间,所以这里整理了以前的笔记,供初学者参考,助模拟IC的萌新们一臂之力。

这一次的分享打算分成若干次,从最基本的软件使用开始,一直到整个芯片后端设计,完成模拟IC设计的全部流程,主要适用于模拟IC设计的初学者,各位看官可以根据自己的实际需求选择内容查看。

Cadence IC设计平台初始配置

Cadence作为全球三大EDA厂商之一,旗下有很多EDA及其相关产品,比如很多人熟悉的Allegro、OrCAD等。目前主流的模拟IC设计平台是Cadence公司的一套EDA,这里统称为Cadence IC设计平台。包括原理图输入界面、仿真软件、版图设计软件、后端验证软件等,下面带领大家了解一下Cadence IC软件的环境配置使用方法

获取软件:Cadence IC设计平台目前只能运行在Linux系统,大部分进入实验室开始熟悉设计的同学应该已经了解,对于不在实验室的学习者可以在各大网站找到一些软件的安装教程或者已经安装完成的虚拟机 ,具体如何获得软件不便详述,后续内容都认为大家已经具备软件使用条件,并且软件能正常启动,本教程内容以Cadence IC617软件版本为例(其余版本操作大同小异,不必纠结软件版本问题)。

创建工作目录:进入Linux系统之后,可以根据自己的喜好创建一个文件夹,作为以后模拟IC设计的工作目录,当然这个不是必须的,因为无论用户在哪个目录启动软件,只要用户对该目录有写入权限,那么软件都可以正常工作。

创建一个工作目录的目的是可以使设计文件整洁,随着对软件使用的深入,大家会发现每次创建工程,软件都会自动生成相关文件夹,所以在工作目录内操作可以保证即使工程项目 很多,工程文件也不至于很乱。

小目同学在桌面创建一个文件夹:workspace作为以后的工作目录,并在这个文件夹下创建了:analog_ic文件夹,顾名思义,所有与模拟IC设计相关的内容都在这个文件夹内,每次在终端启动Cadence IC软件的时候也都需要将工作目录切换到analog_ic文件夹。

配置Cadence工作文件:为了方便,Cadence IC软件在后面的文章里都简称为Cadence软件。现在从Linux桌面启动终端,并切换到analog_ic文件夹(Linux基础命令不熟悉可以从网上简单学习一下),在终端输入:

virtuoso &

然后回车,等待软件完成启动即可,Cadence IC51版本的启动命令是:

icfb &

第一次启动软件只是告诉大家要在自己建立的工作目录启动软件和启动软件的命令,并不着急讲解软件的使用,现在先关闭刚刚启动的软件,准备好后面的工作。

Cadence软件的使用涉及到一部分文件配置问题,首先跟大家介绍以下三个文件:

  • cds.lib文件:该文件是设计库管理文件,包含一些基础设计库定义和用户自定义工程库。
  • .cdsinit文件:包含Cadence的一些初始化设置信息,以及软件的快捷键设置,部分功能和.cdsenv文件重叠。
  • .cdsenv文件:包含Cadence各种工具的初始化设置,部分功能和.cdsinit文件重叠。

需要注意的是在Linux系统中,以"."开头的文件是隐藏文件,所以正常在工作目录下是看不到.cdsinit和.cdsenv文件的,需要显示隐藏文件才可以看到,在设置相关文件的时候需要留意一下。

Cadence软件在启动时首先会在启动目录搜索以上文件(.cdsenv文件根据设置而定),如果启动目录没有这些文件又会在用户主目录搜索以上文件,最后会在软件安装目录 下搜索以上文件,所以为了更好的使用软件最好在Cadence第一次启动前准备好以上文件。

  • cds.lib文件:可以在工作目录新建文本文件并输入:SOFTINCLUDE <Cadence install_dir>/share/cdssetup/cds.lib,文件名保存为: cds.lib.
  • .cdsinit文件:可以从以下路径:<Cadence install_dir>/tools/dfII/samples/local/cdsinit, 拷贝到自己的工作目录,并保存为.cdsinit文件。
  • .cdsenv文件:可以从以下路径:<Cadence install_dir>/tools/dfII/samples/.cdsenv, 拷贝到自己的工作目录,并保存为.cdsenv文件。

其中,<Cadence install_dir>指的是:Cadence软件的绝对安装路径。各位同学可以按照上面的说明准备好以上文件,暂时不必深究各个文件的具体内容,用到时自然会加以说明。

这里有一个地方需要特别注意,按照上面的方法把cdsinit文件拷贝到自己的工作目录并正确命名之后,有一步很关键的操作:打开新文件,定位到文件中:LOAD USER CUSTOMIZATION 之后的内容(行首没有分号的if...else...语句)在每一行行首添加一个";", 代表注释掉这部分内容,具体原因可以阅读if...else...上面的说明,实际上是为了防止软件对这个文件发生递归调用,导致系统死掉,这一点一定要留意,很多人因为这个原因导致软件启动不正常,查找原因浪费不少时间。

除了以上三个文件以外,正常还需要一个显示文件,这个文件跟设计时所采用的PDK(工艺设计 库)有关,里面定义了该工艺下的版图显示信息,不过这个文件与前端设计关系不大,可以等到后端设计的时候再跟大家具体说明,大家只需有个印象。

以上是软件启动前的准备工作,其实没有以上文件,软件也可以启动和工作,以上文件可以配合大家习惯,更方便的使用软件,同时希望大家可以从刚开始接触模拟IC的时候就养成一个好习惯,那样会为以后的工作节省不少力气。

认识Cadence IC设计平台

完成初始文件的准备,我们可以开始学习软件的使用了。按照上一节的说明,在终端输入软件启动命令,等待软件启动完毕。

进入软件首先看到的是如图所示的CIW界面(命令交互窗口),这个窗口显示Cadence软件命令的执行过程执行结果,用户可以在命令输入栏采用skill语言操作软件,理论上任何Cadence命令都可以通过skill语言实现,只是操作起来不方便,另外也是由于命令太多,采用图形界面容易学习。

CIW界面有一些菜单栏,我们需要关注的是:Tools一栏,这里有经常使用的工具,其它菜单栏的功能大家可以自己尝试一下,软件的学习大多在于实践,这里说明几个Tools菜单栏内的工具。

  • Library Manager: 是设计过程中频繁使用的库管理界面,可以在界面方遍地看到库名称,操作库内容。
  • Library Path Editor: 这个实际就是cds.lib文件的内容,有的用户不习惯操作文件,可以直接在这个界面内设置库的路径。
  • Technology File Manager: 上一节跟大家提到过不同设计可能采用不同的工艺设计库,这个工具可以用来实现把用户的不同设计对应到不同工艺库。

稍微熟悉一下之后大家可以打开:Library Manager, 如果cds.lib文件内容是按照前文正确输入,这时候可以看到如下图类似的界面。

Library一栏是库名称,可以认为是一个工程名称,以上库都是Cadence自带的基础设计库Cell一栏可以理解为对于某个工程内的多个子项目,比如某个库里面可能包含了反相器、与非门、或非门 等很多设计。View这一栏是对应某个子项目的具体设计,比如反相器的设计又包含原理图、版图等。

简单了解一下软件之后就可以直接开始尝试软件使用,软件的学习没有理论,只有实践,很多功能都是在实践中摸索来的。

原理图设计软件介绍

前面简单了解了软件的功能,下面通过具体的项目,学习软件的基本使用方法,在Library Manager界面:File->New->Library, 新建一个库,自己确定库的路径和名称,确定之后会弹出一个对话框:

这个对话框是什么意思呢?让我们选择新建库的Technology File, 这里所说的Technology File就是我们前面提到过几次的设计工艺,开始一个新设计之前希望我们确定本次设计使用什么工艺。现在我们没有拿到工艺,所以这里可以先选择:Do not need process information, 之后在需要的时候再解决这个问题。

现在我们新建了库,接下来要开始一个设计,在Library Manager界面:File->New->Cell, 新建一个设计,在弹出的对话框内,Library选择自己新建的库名称,Cell填写自己设计的名称,这里我们填:inv, 设计一个反相器,View一栏可以不用填写,软件会自动匹配,Type一栏有多个选项,不同的Type对应不同的View, 这里我们首先设计原理图,所以选择schematic, 确定之后软件会弹出原理图设计界面,在这个界面我们可以进行原理图设计。

原理图设计界面的内容不一一介绍,还是希望各位同学可以自己多多尝试,为了设计的方便,Cadence软件为常用的功能都提供了对应的快捷键,设计人员通过快捷键选择功能,下面介绍一下常用功能的快捷键。

  • 添加器件:快捷键i(instance), 按下快捷键之后会弹出一个对话框,在对话框内选择自己需要添加的器件所在的Library、Cell名称以及View名称,点击Hide, 可以看到想要添加的器件跟随鼠标移动,在合适的位置单击鼠标左键,即可实现器件添加
  • 实现连线:快捷键w(wire), 按下快捷键之后,光标会变成“折线”形状,从想要连线的地方开始单击鼠标左键,然后移动鼠标,在结束的地方再次单击鼠标左键并按下ESC键,结束连线。
  • 给线命名:快捷键l(lable), 按下快捷键之后,在弹出的对话框输出想使用的名字,然后点击Hide, 移动鼠标在某跟线上单击鼠标左键,就实现了给线命名,对于设计过程中关键的连线,建议都写上名字,否则系统会自动命名,对于大型工程不容易辨认。
  • 修改属性:快捷键q(property), 选中任意器件之后,按下快捷键,弹出的对话框内包含该器件对应的属性,可以按需要修改,在设计过程中修改MOS管的尺寸等都是通过这个功能实现。
  • 放置端口:快捷键p(pin), 按下快捷键之后,在弹出的对话框输入端口名,点击Hide, 在任意位置单击鼠标左键放置端口。端口是用来实现不同层次设计之间连接的,在同一层原理图中可以认为端口和线名实现一样的功能。
  • 移动命令:M(move), 按下快捷键之后,鼠标左键单击器件,实现对象移动;m(stretch), 按下快捷键之后,鼠标左键单击器件,实现对象拖拽(移动的时候保持连线关系不变)。
  • 文件命令:S(save), 按下快捷键保存原理图设计;x(check), 按下快捷键检查输入的原理图是否存在错误;X(check & save), 按下快捷键检查输入的原理图是否存在错误并保存设计。
  • 其他命令:c(copy), 按下快捷键之后,鼠标左键单击器件,实现复制功能;r(rotate), 按下快捷键之后,鼠标左键单击器件,实现对象旋转u(undo), 按下快捷键撤销上一个操作;U(redo), 按下快捷键撤销上一个撤销操作。

以上快捷键中大写字母表示大写输入,一般用shift和对应字母同时按下实现,如果使用过程遇到快捷键失效,首先考虑是否触发了键盘大写输入功能。

上面是对Cadence软件的简单介绍,有很多具体操作没有介绍,希望各位同学可以在实践中学习。

反相器原理图
两输入与非门原理图

按照上面的介绍试着实现如上图中两个原理图。其中用到的器件都在analogLib库中可以找到,要注意器件尺寸、器件模型、添加标注信息等细节内容,这些内容虽然没有细讲,但是很容易通过以上介绍的功能和用户的尝试实现,下一次会对原理图的建立过程详细描述。

简介

作者:小目(wx:student_xiaomu)

微信公众号:ICSkillSharing,是一个共同学习的平台,分享最新IT类资讯、原创内容、IC中脚本语言 的教程与使用心得、模拟IC新手在学习过程中遇到的问题等,与大家一起成长进步!


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空