ngspice源码阅读笔记--仿真的步骤
Posted o_ra
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ngspice源码阅读笔记--仿真的步骤相关的知识,希望对你有一定的参考价值。
接上篇,运行control命令时候运行到run时候开始仿真
- 仿真运行模型的创建
仿真采用的节点分析法,会创建一个电路的导纳矩阵,例如在INPpas2
中识别出来是电阻会调用INP2R
,通过IFC newInstance
调用CKTcrtElt
创建并将电阻挂在到ckt->DEVnameHash
上,再通过IFC bindNode
在电阻中记录两端的网络号,在后续setup时候会将该电阻在导纳矩阵中的指针保存到实例电阻中,每次迭代将当前具体值更新上去。 - 运行run命令初始化仿真环境
调用到run时候会调用到dosim
函数,最终通过ft_sim
一个用户调用和仿真之间的中间层的doAnalyses
接口调用到CKTdoJob
,这这里初始化仿真的环境,并通过CKTsetup CKTtemp
根据温度 设备的参数实例化设备 - 一次瞬态分析仿真过程
通过an_func
接口调用到DCtran
函数,在仿真开始前通过OUTpBeginPlot
创建一个绘图,然后通过CKTop
初始化电路的初始状态,如果没有设置初始状态会通过NIiter迭代来确定每个网络的初始状态,然后再通过NIiter
迭代进行每一步仿真,每一步的仿真结果会通过CKTdump
放到申请好的绘图中,仿真结束通过接口OUTendPlot
调用OUTendPlot
将此次记录的数据放到全局的ft_curckt
中,后续调用write命令保存到文件中。
以上是关于ngspice源码阅读笔记--仿真的步骤的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu下安装运行电路仿真软件ngspice,打通KiCAD上手指南