|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
如下的一段程序,是一个子电路的定义:
* charge controlled memrc implementation for ELDO
.SUBCKT memC Plus Minus PARAMS:
+ Cmin=10nF Cmax=10uF Cinit=100nF k=10meg p=1 IC=0
* Input port *
Emc Plus Minus value={DM(v(x))*(v(charge)+IC*Cinit)}
* Charge computation. Int1 from Fig. 1 is formed by Cq and Gq *
Gq 0 charge value={I(Emc)}
Cq charge 0 1
Rq charge 0 1G
* State-space equation (4). Int2 from Fig. 1 is formed by Cx and Gx *
.param xinit={(1/Cinit-1/Cmax)/(1/Cmin-1/Cmax)}
.func window(x,p)={1-(2*x-1)**(2*p)};
Gx 0 x value={v(charge)*k*window(v(x),p)};
Cx x 0 1 IC={xinit}
Rx x 0 1G
.func DM(x)={1/Cmax+(1/Cmin-1/Cmax)*x};
.ENDS
有三点疑问:
1.这个子电路明明是两个端口,可为什么运行的时候说是三端口的电路。
2.电路中函数定义后,为什么引用时总是报错。
3.语句中可以用到{}这两个符号么,为什么必须将其替换成“”程序才可以通过。
谢谢大虾赐教, 不胜感激,如果可以赠送信元,也可以。 |
|