从HSPICE代码修改的PSPICE忆阻器仿真的一个简单实验

来源:互联网 发布:windows优化大师 win8 编辑:程序博客网 时间:2024/06/06 03:33

网上pspice的教程不少,可是数量多也真心让我头疼,总结了今天一下午弄的成果,希望后人不要再走弯路。


*****本实验原始HSPICE代码取自Yide Zhang(张以德),本实验代码为张先生代码修改所得,特此致谢张先生,转载请保留此行。*****


本实验使用PSPICE 10.5.0。

通过定义子电路memristor.subckt,并调用子电路进行忆阻器仿真。

最终实现了忆阻器的滞回效应。

首先需要定义忆阻器子电路memristor.subckt


*Single Memristor Property.SUBCKT memristor plus minus.PARAM +Ron=1MEG Roff=50MEG Rinit=44MEG +D=10N uv=1e-14 p=1 .FUNC f(x) {1-pwr(2*x-1,2*p)}Emem plus aux value={-I(Emem)*V(x)*(Roff-Ron)}Gx 0 x value={I(Emem)*uv*Ron/pwr(D,2)*f(V(x))}Cx x 0 1 IC={(Roff-Rinit)/(Roff-Ron)}Raux x 0 1TRoff aux minus {Roff}.ENDS memristor

以上语句的具体说明此处不再赘述,可以查看PSPICE官方的语法书。

需要注意的是hspice和pspice的幂函数不一样,pspice是pwr,hspice是pow;

另外pspice使用{}而hspice使用''来限定表达式,特别注意的是param里的常量表达式也必须加{};

随后定义仿真文件sim.cir。

*Memristor simulation.INC memristor.subcktXMEM 2 0 memristorVtemp 1 2 0Vapp 1 0 SIN(0 3.5 1 0 0 180).TRAN 0.1M 10 uic .Probe.END

Vtemp可以看做是一段导线。

最后点击Simulation->Run。

可以得到如下结果

这与忆阻器的滞回效应基本一致。

0 0
原创粉丝点击