华大九天EDA中构建自己的元器件并进行仿真

本节介绍的是如何构建自己所需要的元器件并用于MDE仿真,但是要提前声明的是——自己构建的元器件无法投入生产制造,只可用于仿真、学习、测试。
由于华大九天所提供的元器件PDK主要用于集成电路的设计制造,分立的元器件较少,Multisim和Cadence OrCAD Capture能提供较多元器件,因此可以通过一定方法导入元器件的SPICE模型,然后通过MDE进行仿真。整体的工作流程较为麻烦,因此在此进行步骤演示。

仿真环境:Win10电脑(运行Multisim和浏览器),EDA2云服务器(运行Aether)。
本节需要仿真分压式偏置共射放大器的幅频响应和相频响应,原理图如下:
在这里插入图片描述

关键元器件:NPN三极管2N2222

1 绘制Symbol View元器件模型

1.1 建立元件库Library

在Aether Desgin Manager界面,新建Library,命名为component,Technology选择Do Not Need,点击OK。

在这里插入图片描述

1.2 建立元器件Cell Symbol

点击New Cell/View,Cell Name命名为2N2222,View Type选择Symbol,View Name设置为symbol,点击OK。

在这里插入图片描述

1.3 绘制元器件模型

上一步完成后,会弹出Symbol Editing界面,接下来开始绘制NPN三极管符号。

1.3.1 元器件边框

点击Line,绘制三极管图像。

在这里插入图片描述

1.3.2 元器件引脚(大小写)

使用快捷键P设置元器件引脚(C、B、E),设置为InputOutput。然后输入回车,将引脚放置在绘图区。

在这里插入图片描述
在这里插入图片描述

1.3.3 元器件选择框

点击快捷工具栏Auto Create Seection Box,为元器件设置选择框。

在这里插入图片描述

1.3.4 元器件标签

输入快捷键Ctrl+L为元器件设置标签,Label下拉框可以设置多种类型,这里建议设置[@instanceName][@cellName],在Schematic原理图中使用的时候就会显示对应的信息。

在这里插入图片描述
在这里插入图片描述

1.3.5 设置器件原点

这一步是为了Schematic视图下方便放置元器件。
点击菜单栏EditSet Origin,然后点击元器件的引脚,就可以移动坐标轴将该引脚的位置设置为(0,0)。

在这里插入图片描述
在这里插入图片描述

2 仿真参数预设

为了后期需要进行的仿真,我们需要获取NPN三极管2N2222的相关仿真参数,一般采用SPICE模型建立网表Netlist仿真,目前市面上有多种仿真器,包括HSpice、PSpice、LTSpice、Spectre、Multisim、Matlab/Simulink等。华大九天支持HSpice和Spectre,我们采用HSpice进行仿真。

2.1 获取SPICE模型

一般IC公司都会在其网站上公布元器件和芯片的SPICE模型,可以在官网上下载然后在相关仿真器上仿真,其次是Multisim也可以方便的获取元器件的SPICE模型。
1、自己的电脑上打开Multisim,选择元器件:
也可以搜索元器件2N2222。

在这里插入图片描述

2、查看模型:在这里插入图片描述

3、复制模型参数到.txt文档,我们需要的参数为以下部分:

.MODEL 2N2222 npn
+IS=1.87573e-15 BF=153.575 NF=0.897646 VAF=10
+IKF=0.410821 ISE=3.0484e-09 NE=4 BR=0.1
+NR=1.00903 VAR=1.92063 IKR=4.10821 ISC=1.94183e-12
+NC=3.92423 RB=8.70248 IRB=0.1 RBM=0.1
+RE=0.111394 RC=0.556972 XTB=1.76761 XTI=1
+EG=1.05 CJE=1.67272e-11 VJE=0.83191 MJE=0.23
+TF=3.573e-10 XTF=0.941617 VTF=9.22508 ITF=0.0107017
+CJC=9.98785e-12 VJC=0.760687 MJC=0.345235 XCJC=0.9
+FC=0.49264 CJS=0 VJS=0.75 MJS=0.5
+TR=3.55487e-06 PTF=0 KF=0 AF=1

4、将.txt文件上传到虚拟机(如果想手打也可以哈):

在这里插入图片描述

2.2 新建以及编写元器件模型文件

2.2.1 新建模型文件

由于我们新建了一个component库,因此在库文件夹下新建一个Models文件夹,新建库文件为component.lib

2.2.2 编辑模型文件

代码可以不用缩进,这里是为了方便读者看清文件结构。

  • *表示注释。
  • .lib和.endl一头一尾将device子库内容包起来,以便仿真时进行设置,这样一个lib文件内能包含工艺角(包含集成电路制造中衡量MOS管速度快慢的参数)的多方面参数和子库。
  • .subckt和.ends一头一尾包起来的是子电路(subckt,也就是cubcircuit),2N2222为子电路名,后面的c、b、e为模型引脚,后面还可以添加输入参数,这里不进行设置。
  • q1这一行为网表信息,q1表示元器件cell名称,c、b、e表示该元器件cell的三个引脚,npn_2n2222表示下方的模型名。
  • .model引用了一个npn的模型,下方的+XX=XXXX就是相关参数,包括增益因数、饱和电流等。
* component.lib
.lib device

**********************************************
* NPN三极管2N2222的spice模型
**********************************************
.subckt 2N2222 c b e
q1 c b e npn_2n2222
.MODEL npn_2n2222 npn
+IS=1.87573e-15 BF=153.575 NF=0.897646 VAF=10
+IKF=0.410821 ISE=3.0484e-09 NE=4 BR=0.1
+NR=1.00903 VAR=1.92063 IKR=4.10821 ISC=1.94183e-12
+NC=3.92423 RB=8.70248 IRB=0.1 RBM=0.1
+RE=0.111394 RC=0.556972 XTB=1.76761 XTI=1
+EG=1.05 CJE=1.67272e-11 VJE=0.83191 MJE=0.23
+TF=3.573e-10 XTF=0.941617 VTF=9.22508 ITF=0.0107017
+CJC=9.98785e-12 VJC=0.760687 MJC=0.345235 XCJC=0.9
+FC=0.49264 CJS=0 VJS=0.75 MJS=0.5
+TR=3.55487e-06 PTF=0 KF=0 AF=1
.ends 2N2222

**********************************************
* 其他元器件的spice模型
**********************************************
.subckt xxxx x x x
******
.ends xxxx

.endl device

2.3 CDF Editor设置

接下来开始设置Circuit Description File,Symbol View下点击ToolsCDF Editor。包括三个部分:Component Parameter、Simulation Information、Interpreted Labels。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Component Parameter:设置元器件的参数,在Schematic下查看元器件的Property,就可以在窗口下方看到。该选项卡能添加、修改、删除参数,设置参数类型、参数名、参数提示词、参数默认值、是否展示、是否可编辑、是否解析为数字(Parser As Number,参数类型设置为string时有效)、是否解析为电路表达式语言(Parser As CEL,参数类型设置为string时有效)等等。

  • Simulation Infomation:本选项卡较为重要,首先可以选择仿真器类型(这里选择hspiceD),然后可以设置前缀名(namePrefix)、元件名(componentName)、引脚顺序(termOrder)、引脚映射(termMapping)、实例参数(instParameters)等等信息。

  • Interpreted Labels:这部分主要对元器件在原理图Schematic上的显示有影响,对仿真无影响,因此不进行介绍,如果想了解细节,建议查看《Aether_Maunual.pdf》。

2.3.1 设置元器件参数Component Parameter

点击Add,设置Name为model,提示词Prompt设置为Model Name,默认值设置为2N2222,编辑状态Editable Condition设置为nil(nil为不可编辑,t为可编辑),这样的话后面在Schematic View下查看该元件的Property,Model Name参数是灰色不可更改的。点击Modify然后点击Apply进行保存。

在这里插入图片描述

2.3.2 设置仿真信息 Simulation Infomation

选择hsipceD仿真器,设置componentName为2N2222,设置namePrefix为X,设置引脚顺序termOrder为c b e,设置引脚映射termMapping为nil C “(FUNCTION mappedRoot(\”^c,isub\”))” B “(FUNCTION mappedRoot(\”^b,isub\”))” E “(FUNCTION mappedRoot(\”^e,isub\”))”

在这里插入图片描述

2.4 设备定义Device Define

Symbol View点击ToolsDevice Define,定义三极管设备类型、仿真代码和端口。
Device Type选择X(subckt),Definition Type选择HSPICE,并在下方X?后添加端口名和模型名<c> <b> <e> [@model]。问号?代表instance Name,在Schematic View中放置元器件后能够看到。这里的model与2.3为相同的参数,值为2N2222

在这里插入图片描述

3 试验验证

3.1 搭建Schematic电路

1、新建Library为component_test测试库,新建Cell为2N2222_test,选择Schematic。

在这里插入图片描述

1、搭建原理图:
放置元件、连接走线、设置参数。

在这里插入图片描述

此时查看三极管的参数如下:

在这里插入图片描述

3.2 MDE仿真设置

点击顶部菜单栏ToolsMDE进入混合仿真。

3.2.1 选择Model Setup模型库文件

选择2.1所设置的.lib文件,设置device子库。

3.2.2 添加Analysis

由于本实验要进行幅频响应和相频响应分析,因此选择AC,扫描范围从1到1G Hz,每十倍频设置100个点。

在这里插入图片描述

3.2.3 设置Outputs信号

首先可以为线路添加Labels(out),然后再选择out为输出。

在这里插入图片描述

3.3 生成网表Netlist并运行

3.3.1 网表文件

在ZTerm中观察,首先会生成网表文件:

在这里插入图片描述

打开simulation下对应仿真工程文件夹,打开.netlist文件:

在这里插入图片描述

可以观察到XX0 net2 net4 net10 2N2222就是Device Define内设置的格式。

3.3.2 运行

在ZTerm内观察,Alps会自动运行仿真。

在这里插入图片描述

3.4 iWave波形

在iWave内打开仿真工程内*.sp.ac0文件。

华大九天及Multisim幅频响应仿真波形对比如下:
在这里插入图片描述
在这里插入图片描述

华大九天与Multisim相频响应仿真波形对比如下:
在这里插入图片描述

在这里插入图片描述


参考文档:
Aether_Manual.pdf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值