接上篇,运行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命令保存到文件中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。