模拟集成电路设计流程之:HSPICE仿真电路的方法

EETOP 2021-01-21 00:00

来源:IC技能搬运工

上一次和大家一起学习了原理图设计与仿真的基础内容,其中原理图绘制还有少量的内容没有完成,今天会加以补充。另外,一般工艺会同时提供spectre和spice仿真模型,前面已经学习了采用spectre仿真电路的方法,今天再介绍一下采用HSPICE仿真电路的方法。

为原理图建立symbol

上一次的电路仿真是在原理图的基础上直接添加激励进行的,在实际中,电路设计完成之后可能会被多次调用,比如设计的反相器可能在很多其它电路中会被调用,如果每次使用反相器都需要重新画一遍原理图,未免太繁杂,Cadence工具提供了一个方法,可以让用户为电路原理图建立symbol并调用,让原理图调用更加简便。


原理图的symbol是什么?之前说过一个cell可以有不同的表达方式,对于不同的view, 原理图版图、原理图symbol都是不同的表现方式,甚至有些会直接用电路网表来描述一个电路


打开上次画好的原理图,从原理图中删除电压源、地和负载电容,仅仅留下MOS管和端口,因为建立symbol只想纯粹表示反相器电路,而不希望把仿真用到的激励和负载电容包含进去。


在原理图界面:Create->Cellview->From Cellview,打开新建symbol窗口,一路确认,直到弹出框关闭,这时候就完成了电路原理图的symbol建立。其中symbol的信息和形状都由系统根据原理图中的信息自动生成,为了辨识,最好根据原理图功能对默认的symbol稍加修改

从原理图新建symbol
编辑引脚信息
软件生成symbol
上下滑动可以查看更多内容哦!

比如反相器的symbol一般习惯用三角形加一个空心圆圈表示,这样在其它电路中看到这个符号就知道是反相器。在刚刚生成的symbol基础上按照自己的需求改动,工具栏的使用基本和原理图编辑器一致,编辑完成后同原理图一样需要检查并保存,如果出错或者同原理图有不一致的地方软件会报错,按下快捷键g, 查看具体报错信息。

在建立symbol的过程中可以发现,系统生成的symbol中的引脚与原理图中的端口一一对应,这一点在原理图绘制的时候有提到过,原理图中的端口可以实现不同层次之间电路的连接。另外,symbol中的红色框selection box展示的是在选择symbol的时候所选中的区域,绿色线条显示symbol的形状。

由于编辑过程中可能会移动图形,所以建议symbol修改之后,使用工具栏:Edit->Origin功能选择symbol的原点,在器件调用的时候鼠标所在的点就是symbol的原点,如果原点选择不合适在器件调用时会不方便,大家可以随意选择几处原点观察一下调用效果。
在仿真电路中调用symbol

为电路建立symbol之后,调用电路就会容易很多,下面我们用新建的symbol重新仿真反相器电路。


新建电路原理图,比如:inv_sim, 表示该原理图是用来做反相器仿真的。按照之前添加器件的方法,按下快捷键i, 添加器件。不过这次选择的库为自己的设计库,小目同学这里库名是:ICSkillSharing, 选择Cell为反相器:inv, 选择View为刚刚建立的symbol, 放置在合适的地方,然后像之前一样添加激励源,如下图所示。

剩下的仿真设置与之前完全一致。另外,在原理图界面,选择反相器symbol, 鼠标右键选择:Descend Read/Edit或者选中symbol, 使用快捷键e, 可以进入symbol所对应的原理图。

在电路设计时,可以使用symbol划分电路功能,有助于原理图的阅读和整理,在大型仿真中或者版图后仿过程中还可以根据需要设置不同的symbol对应电路版图或者原理图,提高仿真效率。
使用HSPICE仿真电路

目前常用的集成电路仿真工具是Cadence公司的spectre仿真器或者Synopsys公司的HSPICE仿真器。两者各有优缺点,普遍地认为spectre可以更加细腻地反映电路特性,而HSPICE可以获得更快的仿真速度,对于普通应用,两者仿真体验基本无差别。


Linux系统中HSPICE仿真器没有图形化界面,所以对于习惯了spectre图形界面仿真的同学需要一段时间适应。


获取电路网表:HSPICE仿真中电路原理图是以网表的形式表示的,不再是图形输入界面,用户可以自己写电路网表,也可以在Cadence原理图的基础上获取电路的CDL网表,这里从上面建好的的仿真原理图中抽取电路CDL.

在Cadence CIW界面,选择:File->Export->CDL,然后在弹出的对话框内选择本文上面使用Cadence仿真时建立的仿真原理图,选择输出文件名和输出路径,确定之后等待操作过程结束,抽取网表结束后会有提示,现在可以打开网表文件,查看输出的内容。

1************************************************************************
2 * auCdl Netlist:
3 * 
4 * Library Name:  ICSkillSharing
5 * Top Cell Name: inv_sim
6 * View Name:     schematic
7 * Netlisted on:  Feb 29 11:47:02 2020
8 ************************************************************************
9
10*.BIPOLAR
11*.RESI = 2000 
12*.RESVAL
13*.CAPVAL
14*.DIOPERI
15*.DIOAREA
16*.EQUATION
17*.SCALE METER
18*.MEGA
19.PARAM
20
21*.GLOBAL gnd!
22
23*.PIN gnd!
24
25************************************************************************
26* Library Name: ICSkillSharing
27* Cell Name:    inv
28* View Name:    schematic
29************************************************************************
30
31.SUBCKT inv A AVDD AVSS Y
32*.PININFO A:I Y:O AVDD:B AVSS:B
33MM0 Y A AVDD AVDD p33 W=15u L=1u m=1
34MM1 Y A AVSS AVSS n33 W=5u L=1u m=1
35.ENDS
36
37************************************************************************
38* Library Name: ICSkillSharing
39* Cell Name:    inv_sim
40* View Name:    schematic
41************************************************************************
42
43.SUBCKT inv_sim
44*.PININFO
45XI0 A AVDD AVSS net14 / inv
46CC0 net14 AVSS 100.0f $[CP]
47.ENDS

左右滑动可以查看更多内容哦!

修改电路网表:从网表中可以看到,其实网表只是原理图的另一种表现形式,细心的同学会发现,生成的网表中并没有激励电压源相关的内容,这是因为使用的电压源的CDF文件中并没有定义抽取网表时的输出信息,所以自然不会有输出,不过我们可以自己动手把激励加进去,同时还需要添加仿真模型、一些HSPICE的仿真设置内容等,如下面实例所示,更详细的语法可以参考HSPICE手册。
           
1************************************************************************
2* auCdl Netlist:
3
4* Library Name:  ICSkillSharing
5* Top Cell Name: inv_sim
6* View Name:     schematic
7* Netlisted on:  Feb 25 22:27:25 2020
8************************************************************************
9
10*.BIPOLAR
11*.RESI = 2000 
12*.RESVAL
13*.CAPVAL
14*.DIOPERI
15*.DIOAREA
16*.EQUATION
17*.SCALE METER
18*.MEGA
19.PARAM
20
21*.GLOBAL gnd!
22
23*.PIN gnd!
24
25************************************************************************
26* Library Name: ICSkillSharing
27* Cell Name:    inv
28* View Name:    schematic
29************************************************************************
30
31.SUBCKT inv A AVDD AVSS Y
32*.PININFO A:I Y:O AVDD:B AVSS:B
33MM0 Y A AVDD AVDD p33 W=15u L=1u m=1
34MM1 Y A AVSS AVSS n33 W=5u L=1u m=1
35.ENDS
36
37************************************************************************
38* Library Name: ICSkillSharing
39* Cell Name:    inv_sim
40* View Name:    schematic
41************************************************************************
42
43*.SUBCKT inv_sim  $comment out
44*.PININFO
45XI0 A AVDD AVSS net14 / inv
46CC0 net14 AVSS 100.0f $[CP]
47*.ENDS  $comment out
48
49*add voltage source
50VAGND AGND 0 dc=0  $add source for AGND
51VAVDD AVDD AGND dc=avdd  $add source for AVDD
52VAVSS AVSS AGND dc=0  $add source for AVSS
53VIN A AGND dc=vin  $add source for input A
54
55*****************  options & parameters *****************
56
57.LIB "/home/IC/Desktop/workspace/pdks/smic18mmrf/models/hspice/ms018_v1p9.lib" tt  $spice model
58
59.OPTION CAPTAB  $for capacitance
60.OPTION PROBE  $save selected nets info
61.OPTION POST  $ save simulation results for viewing by an interactive waveform viewer
62.OPTION RUNLVL=6  $simulation accuracy
63
64.PARAM avdd=3  vin=1.5  $design variable
65.TEMP '25'  $simulation temperature
66
67************************ analyse ************************
68
69.OP  $operating point
70.DC vin 0 3 0.1  $dc sweep
71*.TRAN 1n 1m  $transient simulation
72
73********************** measurement **********************
74
75*.PROBE TRAN V(*)  $save transient voltage for all nets
76.PROBE DC V(*)  $save dc voltage for all nets
77
78.END  $end of simulation

左右滑动可以查看更多内容哦!

在网表修改过程中有一项需要注意,使用Cadence软件抽取的CDL网表中,把仿真原理图当成一个子电路来处理,如生成的CDL网表中第37-47行内容:

            
37************************************************************************
38* Library Name: ICSkillSharing
39* Cell Name:    inv_sim
40* View Name:    schematic
41************************************************************************
42
43.SUBCKT inv_sim
44*.PININFO
45XI0 A AVDD AVSS net14 / inv
46CC0 net14 AVSS 100.0f $[CP]
47.ENDS

左右滑动可以查看更多内容哦!
但是,实际上这个原理图是仿真电路的顶层模块,所以应该把子电路定义部分注释掉,让仿真器看到顶层电路,修改成如下所示:
            
37************************************************************************
38* Library Name: ICSkillSharing
39* Cell Name:    inv_sim
40* View Name:    schematic
41************************************************************************
42
43*.SUBCKT inv_sim  $comment out
44*.PININFO
45XI0 A AVDD AVSS net14 / inv
46CC0 net14 AVSS 100.0f $[CP]
47*.ENDS  $comment out

左右滑动可以查看更多内容哦!

然而,实际中有人会发现子电路定义的部分是否注释对仿真运行没有影响,但是如果仔细查看仿真结果会看到这时候仿真的结果已经与期望不一致,这个问题留给大家做验证。

激励文件:为了更好地配置仿真设置和仿真激励文件,往往把电路网表和激励源保存在不同的文件中,使用include语句将电路网表调入激励文件。

小目同学将反相器电路抽成CDL网表保存为:inv.cdl,而仿真激励和仿真器设置写在inv_sim.sp文件中,inv_sim.sp文件就好比图形界面仿真中的建立的仿真原理图,在其中调用被仿真电路的实例,如下面内容所示:

           
1************************************************************************
2* auCdl Netlist:
3
4* Library Name:  ICSkillSharing
5* Top Cell Name: inv
6* View Name:     schematic
7* Netlisted on:  Feb 29 12:42:59 2020
8************************************************************************
9
10*.BIPOLAR
11*.RESI = 2000 
12*.RESVAL
13*.CAPVAL
14*.DIOPERI
15*.DIOAREA
16*.EQUATION
17*.SCALE METER
18*.MEGA
19.PARAM avdd=3
20
21
22
23************************************************************************
24* Library Name: ICSkillSharing
25* Cell Name:    inv
26* View Name:    schematic
27************************************************************************
28
29.SUBCKT inv A AVDD AVSS Y
30*.PININFO A:I Y:O AVDD:B AVSS:B
31MM0 Y A AVDD AVDD p33 W=15u L=1u m=1
32MM1 Y A AVSS AVSS n33 W=5u L=1u m=1
33.ENDS

左右滑动可以查看更多内容哦!

inv_sim.sp文件内包含所有激励源、反相器实例调用、仿真器设置、仿真模型文件等,如下面内容所示:

           
1********************** include **************************
2
3.INCLUDE "./inv.cdl"  $inv cdl file dir
4
5************************ lib ****************************
6
7.LIB "/home/IC/Desktop/workspace/pdks/smic18mmrf/models/hspice/ms018_v1p9.lib" tt  $device model
8
9*****************  options & parameters *****************
10
11.OPTION CAPTAB  $for capacitance
12.OPTION PROBE  $save selected nets info
13.OPTION POST  $ save simulation results for viewing by an interactive waveform viewer
14.OPTION RUNLVL=6  $simulation accuracy
15
16.PARAM avdd=3  vin=1.5  $design variable
17.TEMP '25'  $simulation temperature
18
19************************ instance ***********************
20
21XI0 A AVDD AVSS net14 / inv  $inv instance
22CC0 net14 AVSS 100.0f  $load capacitor
23
24************************ stimu **************************
25
26VAGND AGND 0 dc=0  $add source for AGND
27VAVDD AVDD AGND dc=avdd  $add source for AVDD
28VAVSS AVSS AGND dc=0  $add source for AVSS
29VIN A AGND dc=vin  $add source for input A
30
31************************ analyse ************************
32
33.OP  $operating point
34.DC vin 0 3 0.1  $dc sweep, 0.1 is step
35*.TRAN 1n 1m  $transient simulation
36
37********************** measurement **********************
38
39.PROBE TRAN V(*)  $save transient voltage for all nets
40.PROBE DC V(*)  $save dc voltage for all nets
41
42.END  $end of simulation

左右滑动可以查看更多内容哦!

运行仿真:准备好以上文件,并将文件放在同一目录下,在该目录下打开终端,使用如下命令(直接在CDL网表中添加激励源等设置):

           
hspice inv_sim.netlist > inv_sim.outlog
左右滑动可以查看更多内容哦!

或者使用如下命令(CDL网表与激励源在不同文件):

           
hspice inv_sim.sp > inv_sim.outlog
左右滑动可以查看更多内容哦!

其中前面的命令是运行HSPICE并仿真电路,后面的命令是将仿真信息保存到inv_sim.outlog文件中,这样用户可以通过查看该文件了解仿真过程仿真器的输出信息,以及电路的详细工作状态等。如果运行过程中出错,该文件会记录报错信息,供用户检查

查看仿真波形:HSPICE运行完仿真,使用Synopsys公司的Wave viewer查看波形文件,在终端中输入:wv,启动Wave viewer,然后在菜单栏选择:File->Import Waveform File,索引到仿真运行的文件夹内,选择仿真结果文件,就可以像其他波形查看软件一样操作波形,下图是小目同学的仿真波形和仿真结果文件。

WaveViewer查看仿真波形
仿真器输出仿真文件
上下滑动可以查看更多内容哦!
使用HSPICE实现电路仿真的内容小目同学无法详细介绍,如果有兴趣学习这方面的内容,可以参考软件使用手册,根据需要查找手册中的内容,或者在文章评论处提问,也可以私信小目同学哦!



欢迎加星标


由于微信公众号近期改变了推送规则,如果您想经常看到我们的文章,建议将EETOP设为星标。方法如下:进入公众号主页后点击右上角「三个小点」,点击「设为星标」,我们公众号名称旁边就会出现一个黄色的五角星。如下图:




微信加群

EETOP EETOP半导体社区-国内知名的半导体行业媒体、半导体论坛、IC论坛、集成电路论坛、电子工程师博客、工程师BBS。
评论
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 204浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 167浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 92浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 223浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 144浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 70浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 66浏览
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 61浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 124浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 117浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 108浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦