在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2646|回复: 4

求助:关于HSPICE的程序,不知道问题出在哪里?

[复制链接]
发表于 2011-12-27 14:55:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如下的一段程序,是一个子电路的定义:
* 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.语句中可以用到{}这两个符号么,为什么必须将其替换成“”程序才可以通过。

  谢谢大虾赐教, 不胜感激,如果可以赠送信元,也可以。
发表于 2012-1-26 03:14:44 | 显示全部楼层
1 节点0是一个全局节点,这个会让Hspice认为是第三个端口。
2 函数DM需要先定义再引用,否则会出错 (我猜的)
3 可以查一下ELDO参考手册,看看{}是否可以这样用,或者换成()应该可以,但是“”就不应该了。通过了也不能说明是对的。
发表于 2012-2-7 15:33:41 | 显示全部楼层
TONGQIU
发表于 2012-4-25 11:08:48 | 显示全部楼层
回复 3# 扯扯29

    这个问题不知道你解决了没有,我也有关于.func的疑问。
发表于 2012-6-4 23:55:49 | 显示全部楼层
顶一个!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 16:19 , Processed in 0.035448 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表