virtuoso617仿真(1)初识工具

1.我是在学习模拟集成电路设计。第一次接触这个软件,很迷茫,跟windows的第应用天差地别,不用慌张,都是给用户使用的,学会了的话也就是个软件。建议新手直接找一个装好软件的虚拟机,傻瓜式使用。

2.我用的是一个装好的,在工程文件夹里,右击空白处,点击在终端中打开。 

 在终端输入virtuoso进入eda工具

我是谁?我在哪?我的电路呢?为什么都是英文字母?这是DOS系统吗?

作为现今最复杂的EDA软件之一,我们的Virtuoso自然不会开门见山。

不过别担心,从这里开始,笔者将一步步解开它神秘的面纱,带领小伙伴们一窥这样一款“大师级”的EDA工具。

本小节会着重介绍Virtuoso软件的基本环境,但笔者只会浅尝辄止。可以说,无论是最有经验的模拟工程师,还是Cadence公司的设计者,都不敢说完全掌握Virtuoso软件的所有功能。

Virtuoso功能之多,是众多EDA工程师数十年的劳动成果,显然不是初窥门径的小伙伴们可以完全掌握的。

然而作为(未来的)模拟工程师,事实上,我们只需要掌握其中最基本,也是最关键的冰山一角,就完全足以应对大部分所需的仿真、验证。

因此,本小节将重点放在最基本的操作上,而不顾及全面性,旨在帮助同学们以最快的速度上手Virtuoso。

那么,千里之行始于足下,我们将目光拉回刚刚的窗口吧!

首先映入眼帘的是CIW窗口,即启动Virtuoso首先弹出的窗口,也是主窗口。

该窗口最基本的用途有二:

a)查看各种Warning与Error的信息(本小节不涉及,可以暂时忽略。然而对于有经验的工程师来说,这里的日志信息对各种仿真报错很有用哦!)

b)点击【Tools——Library Manager ...】启动Library Manager

 Library Manager

Library Manager,即库管理器。这里是重点了,敲黑板!

该窗口的基本作用为浏览、管理Virtuoso软件中的库,相当于Virtuoso软件的目录,可以从中找到各种工艺库的器件,也可以管理自己的电路、版图等等。

不难想象,它会是同学们在未来的工作中,最常用的窗口之一哦,相信它不久之后就会成为同学们的好朋友~

继续,跟上笔者的操作!

点击右上角的【Show Categories】,并依次单击【analogLib——Passives——res——symbol】(分别在Library、Category、Cell以及View下),即可在右下角的预览图中看到一个电阻符号。

那么,笔者刚刚的操作是在做什么呢?其实啊,这里涉及到了Library Manager这一“目录”的4个层次,它们是Library、Category、Cell与View:

a)Library作为最高层次,用于分类各个器件库(如理想元件库、180nm工艺库),也可以自己新建库,用于分类电路/版图设计。

b)Category用于对同一个Library内的Cell进行整理,通常用于方便在器件库中查找器件,一般不会自建Category。

c)Cell是最常用的层次,通常代表元件库中的一个器件,或者一个电路设计。

d)View是最低层次,代表具体的电路设计/版图等等。View是有类型的,常用的有schematic、layout、symbol以及state。

双击某一个view,即可打开,如双击上述的【symbol】,打开后如图:

 3.建立自己的工程

那么,我们应该如何新建自己的设计,又应该将它放在“目录”的哪一页呢?

显然,首先我们需要有自己的工作库,于是,我们的一步就是:新建Library

a)新建Library

Step1

打开Library Manager,点击【File——New——Library...】,有些Virtuoso版本,弹窗需要手动在任务栏点出,请小伙伴们注意哦!

Step2

在【Name】中输入新建库的名字,如“study”,当然同学们也可以取自己喜欢的名字啦,不知道同学们第一次建库的名字是什么呢?欢迎在评论区分享~

在【Directory】中选择新建库的路径,示例此处默认,也推荐第一次接触Virtuoso的小伙伴保持默认,点击下方【OK】。

Step3

新建的库需要关联到已存在的工艺库,因此选择【Attach to an existing technology library】,点击【OK】。

擅长“新建套娃文件夹”的同学,可能唯独对这一步有些疑惑,为什么新建的库要关联工艺库呢?

这是由于,一个芯片,只能有一个确定的工艺,因此一个设计,也必须指定唯一确定的工艺库,让我们的Virtuoso知道,你的设计用的是TSMC180nm呢?还是SMIC65nm呢?

Step4

选择希望关联的工艺库,在本示例中为【tsmc18rf】,点击【OK】。

Step5

此时可以看到,Library下,已经出现了新的study库。

至此,同学们已经完成了属于自己的第一个库的创建!不知道数年后,作为资深工程师的大家,是否还能记得它呢?

b)新建schematic

有了自己的工作路径(也就是库),接下来,我们来新建我们的第一个设计~

相信同学们还记得,我们的Library Manager一共有4个层次,那是否需要逐一新建,才能拥有属于自己的设计呢?

其实不然,到这里,我们距离新建自己的设计只差新建schematic了哦!

这也不奇怪,因为首先Category并非必须的层次,而新建Cell与View是可以同时进行的!

Step1

选中刚刚新建的库(示例为study),点击【File——New——Cell View...】,注意有些Virtuoso版本,弹窗需要手动在任务栏点出。

Step2

在【Library】栏中选择新建的Cell View属于哪一个库,由于刚刚点击了库study,此处默认即为study。

在【Cell】栏中填入新建View所属的Cell名字,如果库中没有该名字的Cell,则会同时新建Cell以及View,示例此处填入“test”。

在【Type】栏中选择新建的View的类型,示例此处选择【schematic】,代表电路原理图。

在【View】栏中填入新建View的名字,示例此处默认为schematic。

其他选项保持默认,点击【OK】,如下图:

Step3

新建好的schematic会自动弹出,但需要点击其左上角的【Check and Save】才会保存到库中,如下图:

这里其实点击旁边的【Save】也可以保存到库中,那么,我们为什么通常使用【Check and Save】呢?

原因很简单,因为【Check and Save】不仅可以保存电路,还可以检查电路的基本连接关系(如开路、短路、非法命名、非法连接等),可以帮助工程师们规避许多低级错误哦!

当然啦,对于我们现在空白的设计来说,【Check and Save】和【Save】是一样的功能~

于是,至此我们完成第一个电路原理图的新建。

c)删除

嘿嘿,辛苦完成新建schematic(电路原理图),马上就教同学们如何删除它。

不必心疼,有舍才有得,不是吗?

事实上,建立的各种Library、Category、Cell以及View,均可以通过【右键——Delete】删除。

这里和我们常用的Window是一样的,而不一样的是,“贴心”的Virtuoso会要我们确认,以防止我们误删。

下笔之前,先认识一下Schematic这个新朋友吧!

在前面的章节中,笔者介绍了如何新建schematic,忘记的小伙伴记得先复习哦!

那么从这一chapter开始,我们开始详细介绍schematic的绘制方法,但在开始绘制之前,先让我们对这个界面有一个简单的认识吧~

首先映入眼帘的,一定是一大片“黑乎乎”的区域,这里就是我们绘制电路图的区域啦。

同学们或许已经忍不住,想要在这块画布上下笔生花了,但还是容笔者先介绍另一个常用的部分——菜单栏。

就如同windows系统一样,我们可以通过菜单栏实现几乎所有对电路图的操作。然而,由于我们通常选用快捷键的方式来实现各种操作,因此这里不逐一介绍菜单栏的功能。

作为初学者,不用快捷键,而是通过菜单栏操作的,通常只有两个——打开ADE,以及生成symbol,这两个操作都将在后续的chapter中具体介绍。

现在,小伙伴们只需要知道,它是一个万能的工具箱即可。

说完菜单栏,让我们把目光下移,会发现这里有许许多多的按钮,如下图区域所示。

别怕,我们不讲这许多,嘿嘿。作为初学者,我们只需要了解两个按钮即可——“save”和“check and save”。

事实上,笔者曾在上一chapter中简单介绍过这一对按钮,即:不带对号的为“save”,用于保存电路图;带绿色对号的为“check and save”,在保存电路的同时,还会先检查基本的电路连接关系。

这里看似简单,但事实上有几点需要同学们注意:

(1)我们通常不使用单纯的“save”,而是在save的同时检查电路有没有明显的误连,因此我们通常使用“check and save”;

(2)如果电路没有任何未保存的更改,“check and save”依然为绿色,因为我们仍然可以检查电路;但“save”将为灰色,不可使用;

(3)所谓检查电路连接关系,这里作为初学者,我们简单理解为“检查是否有开路/短路”即可,但事实上这个功能可能比小伙伴们想象的更为全面哦;

(4)“check and save”的快捷键为“shift + x”,熟练的工程师通常采用这种方式;

(5)“check and save”过程中,报出的warning或error,可以在CIW窗口中查看具体说明。

接下来,笔者将用此chapter的剩余部分,简单介绍最基本的界面查看方法,跟上!

首先,我们可以通过滚动鼠标滑轮,来对“画图区”进行缩放。这里不通过图例展示,而是放在本chapter末尾的视频中统一演示。

如果想要放大指定的区域,我们可以采用快捷键“z”,即“zoom to area”。

点击“z”后,鼠标的右下角会出现一个小小的放大镜,此时我们可以通过单击鼠标左键,来选定想要放大的区域,如下图所示。

在大多数virtuoso环境配置中,我们也可以通过按住鼠标右键,框选想要放大的区域,来实现。

如果想上下左右移动界面区域,我们可以用键盘上的“↑、↓、←、→”按键。

最后,笔者在这里还要介绍一个最常用的快捷键——“f”,它的功能是“zoom to fit”,简单说就是适应窗口大小。通过这一快捷键,我们可以将电路的所有部分映入眼帘,且正好占据窗口大小!嘿嘿,是不是很方便啊?

1、调用器件

首先,我们需要在一片空白的电路图中,调入我们需要用到的器件,那么我们应该如何操作呢?

我们可以通过快捷键“i”来“Add Instance”,即添加器件。

在“Add Instance”界面中,看上去有许许多多的“空白”需要我们去指定,嘿嘿,但不要怕,对初学者来说其中大部分都无需填,它们会自动保持默认值。

我们需要关注的,首先是最上面四行,也就是上图中用红色圈出的部分。

前三行顾名思义,我们需要指定想要添加器件的Library、Cell以及对应的View,笔者这里说明两点:

第一,在schematic中,我们通常添加的View都是器件的Symbol,即器件的符号;

第二,我们可以通过点击上图右上角的“Browse”来浏览“Library Browser”中的元器件,其操作方法与“Library Manager”一致。选中想要的View后,点击右上角将其关闭,“Add Instance”前三行中的内容将被自动填写。

在示例中,这三行我们分别填写analogLib、res、symbol,表示调用一个理想电阻。

第四行表示添加器件的名字,作为初学者,我们将其留白即可,virtuoso会自动为我们命名。

接下来,我们把目光下移,放在下面一大片“填空题”上。

与前四行不同,这些“填空题”会因器件而异,因为它们的含义是,调入的器件的具体参数。由于每个器件的参数含义不同,这里不做一一介绍,示例中保持默认。

细心的小伙伴可能已经发现了,使用快捷键“i”后,鼠标在电路绘制区域内时,右下角会有一个小小的MOS管,同时会生成一个随鼠标移动的,虚化的器件,这个器件就是我们准备添加的器件啦!

如果觉得此时的“Add Instance”界面有些“碍事”,挡住了我们想添加器件的位置,我们可以通过其底部的红色按钮“Hide”将其隐藏,当然,也可以通过它旁边的“Cancel”取消操作。

此时,我们单击想要添加的位置,就会在schematic中出现一个器件啦!(示例为一个电阻,如下图所示)

之后我们可以通过键盘上的“Esc”键来退出添加器件模式。事实上,几乎所有操作都可以通过“Esc”键来终止。

这时我们可以发现,这个器件已经被自动命名了,名字在其旁边由红色字体标出了,这就是virtuoso帮助我们自动给器件起的名字哦~

2、编辑器件

有的小伙伴可能已经想到了,如果我在添加器件时不小心参数写错了,必须删掉重新添加吗?

嘿嘿,virtuoso这么智能的软件肯定不会啦,我们可以通过先左键单击选中器件,然后使用快捷键“q”,来对已经存在的器件进行编辑。

是不是发现“Edit Object Properties”这个界面和“Add Instance”几乎一样啊?不满小伙伴们,它们的操作方法就是几乎一致的!

然而细心的同学会发现,它们还是略有出入,而这些区别中,我们只需关注上图中圈住的选项卡。

最重要的说在前面,它的作用的是:将修改应用于当前器件,所有选中的器件,还是所有同类器件。

为了说明这一点,我们首先退出“Edit Object Properties”界面(还记得“Esc”键吗),然后再添加两个相同的电阻,如下图所示。

此时,我们选中其中左边的两个,方法有两种:

(1)按住鼠标左键框选;

(2)按住键盘上的“Shift”键来逐个点击。

然后我们再次按下快捷键“q”,会发现两个器件一个有白色外框,另一个为紫色外框:

它们的含义为:

(1)白色外框为所有被选中的器件;

(2)紫色外框为被选中的器件中,当前编辑的那一个器件。

如果想在所有被选中的器件中,切换当前编辑的那一个,可以通过底部的“Previous”与“Next”实现。

细心的小伙伴已经发现,上图中圈出的“Instance Name”一栏,此时显示的是紫色外框的器件名字。

这个名字现在是可以被编辑的,这是因为在左上角的选项卡,我们此时处于“only current”,即只应用于当前编辑的器件。

现在,我们将选项卡改为“all selected”,如下图所示。

现在“Instance Name”一栏已经变为灰色了,这是由于此时我们的修改会应用于所有被选中的器件,而两个器件的名字不能相同。

通过“all selected”选项,我们可以快速编辑多个同类器件的同一个参数,或是改变它们对应的Library、Cell以及View。

这里需要注意的是,同时编辑多个器件时,只有被修改的参数,会被应用到所有的器件,没有被修改的,会各自保持原样。

最后,我们将选项卡改为“all”,如下图所示。

不难发现,原来没有被我们选中的器件,此时也有了白色外框!

这是因为,选项卡“all”的含义为,应用于所有同类器件,即所有Library、Cell以及View都相同的器件!

这个选项卡较为少用,只有改变电路中所有同类器件时,才会采用,而我们最常用的选项为“all selected”,如果使用过选项卡“all”,务必在下次使用时注意更改选项卡!

最后,我们可以通过底部的“Apply”按钮应用本次的更改,而无需退出“Edit Object Properties”界面。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值