找回密码
 注册
关于网站域名变更的通知
楼主: shark4685
打印 上一主题 下一主题

Hspice学习帖

    [复制链接]

该用户从未签到

76#
 楼主| 发表于 2012-1-18 11:01 | 只看该作者
进论坛FTP里。
+ V. m; Y+ B; D* i+ B% {

该用户从未签到

77#
发表于 2012-2-23 11:24 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:26 编辑 0 h3 y, c/ A* Z2 V3 @" ~7 m

0 W8 J7 S( }0 V& B" q! _楼主 想问个问题哈 还是之前那个毕业设计哈 。
9 D- _' Q# h2 f想问一下hspice里面 门逻辑 (与门 ,与非门 ,或门之类的)语法怎么用的。
  N7 Y2 Y: f) \1 i0 x( Q之前在hspice的manual里面找到个关于multi-input gate的语法:$ Q1 A' i5 ?8 V6 [: Z4 g5 ^
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... inj+ inj-
& i' j3 q0 Z. p! P4 w& ]+ <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>2 g' E, f: ~( U  S. A0 L
+ x1,y1 ... x100,y100 <IC=val>( ~( H, T* k+ y& {3 ]* V

- A7 e1 ^2 l6 @6 T9 A4 l' K  [由于才疏学浅没看懂就随便写了几句,) V: t- C. c" B' P5 @( v* y
主体语句如下:2 S4 q" y3 V1 [) x/ s6 v. U( y2 s2 I
vi1 1 0 pulse 0 1 0 0 0 10u 20u
) J! x2 A* H3 Nvi2 2 0 pulse 0 1 0 0 0 5u 10u
2 k3 j2 j) ^1 x, }; T, }: AEand(2) 3 0 1 0 2 0
, U8 \2 a2 w! v) @! u1 G结果出来的图变成这样子了,完全很纠结啊,
* X5 ~7 k/ t, H. b2 B) b

该用户从未签到

78#
发表于 2012-2-23 11:38 | 只看该作者
我就是想请教一下 hspice 里面 这种门逻辑语法该怎么用哈 我想要的效果是输出为0 1 这样子的 最后怎么成了上面那幅图v(3)的样子。楼主能不能就这种门电路的语句给个例子,让我参考参考哈。  s9 X! J" ?0 W: w% G8 a; s/ \. ^
或者大神给点指导哈,hspice里面还有没有其他门逻辑的语句?(我最近在做一个ADC电路的行为级仿真,里面的电路模块都只是用理想的,很少涉及实际仿真的电路元件组成的电路,包括之前跟你提的乘法器,我直接用poly(2)语句代替了,以后再换其他的电路哈,o(╯□╰)o){:soso__8961432591078930798_3:}

该用户从未签到

79#
发表于 2012-2-23 13:21 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-23 13:22 编辑
: d' q" n# x" h4 R& K$ f+ n! M' B8 z% P3 K
76楼的图挂了 555555555  我再重发一张 不好意思+ w  n1 p! ~0 ], N2 H5 J+ ^0 X- ~

该用户从未签到

80#
 楼主| 发表于 2012-2-23 13:45 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:48 编辑 9 Q! h8 ]7 `0 z! J

6 D) k5 X! k. b: H$ w% g你的语句选错了,试试下面的语法:
  O; ?% G6 o; U1 t) ]1 r5 C% Y2 i3 q( Y; Q" V. t: m( L
Gxxx n+ n- <VCCS> gatetype(k) in1+ in1- ...  + V( k' I$ q2 j5 M0 a# ]1 `8 d# x
+ ink+ ink- <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>  
) p1 p: K: o* l' Y  \% U+ <M=val> x1,y1 ... x100,y100<IC=val>
; S+ `' V& |# D6 F4 |/ d% z; _/ ?; w8 |; R: z! s+ P* @
In this syntax, gatetype(k) can be AND, NAND, OR, or NOR gates. For a description of the G-element parameters8 v, x$ L5 n  v7 v  }; S
+ B0 @% }7 b# s( y% l

该用户从未签到

81#
发表于 2012-2-23 17:08 | 只看该作者
shark4685 发表于 2012-2-23 13:45 % X- h( e8 C( H7 z) r
你的语句选错了,试试下面的语法:
5 q) l2 b- q9 v3 l- u/ w
" [8 s% b8 Q: xGxxx n+ n-  gatetype(k) in1+ in1- ...  
4 y4 F1 w5 |; P7 j) {' U
shark楼主 你说的这个语句怎么用的,我按照我的理解写了个网表 v(1)还好,v(2) v(3)直接 都变成 直流 0电平了啊 。9 a: B' ~6 H7 Q- G( x$ ]5 P
我就只是想把两个方波进行逻辑与或之类的,怎么波形都这么奇怪。0 f: L% z7 a$ U, i- b1 W
! Z5 y  ?* R! f/ }. q( A& q0 }' o
语句就是直接换了个字母:, S9 P; N) w8 [
vi1 1 0 pulse 0 1 0 0 0 10u 20u
) }4 f3 g# n1 s4 y6 L4 h6 dvi2 2 0 pulse 0 1 0 0 0 5u 10u9 \9 Z. k8 Y: x3 p* B
Gand(2) 3 0 1 0 2 0
3 |7 m% v5 u0 P) ^
& V+ i- R$ ]  B  s( U1 D: V这类门逻辑语句太让我纠结了 用起来好艰难。后面那啥x1,y1什么的,我看了几遍解释也没理解它想说什么,所以也没写。      o(╯□╰)o  

该用户从未签到

82#
发表于 2012-2-23 17:10 | 只看该作者
{:soso__8961432591078930798_3:}还请shark大神 指教12啊

该用户从未签到

83#
 楼主| 发表于 2012-2-24 09:46 | 只看该作者
GXXX --- 电压控制电流源
; W. H4 V# J$ T, L9 nFXXX --- 电流控制电流源: H1 r% q) D( ?: a
EXXX --- 电压控制电压源 " Z; g6 ~; m5 |- m$ Z8 }# R
HXXX --- 电流控制电压源
/ W# b/ @/ i. {' x, q( N( N$ d2 C--------------------------------先搞清楚你是那种电源。" U' |5 {1 z/ ~
5 g+ A9 n, g+ ]; k; o* i: i
gatetype(k)  逻辑门的类型可以是AND,NAND,OR 或 NOR 中的一种,参数
( f) `0 W5 c0 _6 L# A5 V/ s(k)代表逻辑门的输入端数目,”x”,”y”表示作为输入函数的输出分段线性变量。/ G- x& g; ]8 y+ `5 Z( C1 p& t

  B7 V: l: G. D3 w0 r$ Sx1...  在 VCCS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。
2 {. V/ G2 n2 J. h$ W      在 CCCS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  3 O# n. A) W$ V4 ~
      在 VCVS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 5 t5 [8 F) G- N2 v. N$ ]5 n
      在 CCVS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  
& K. z! s, n( Sy1...  在 VCCS 中是:  与 x 相应的元件数值
. d+ w8 P# x; {# b" o; I& b: l      在 CCCS 中是:  与 x 相应的输出电流值
1 p3 k' w$ n4 O- w# A      在 VCVS 中是:  与 x 相应的元件数值 % s7 ?& g3 M- V  I6 o4 K# U
      在 CCVS 中是:  与 x 相应的输出电压值

该用户从未签到

84#
发表于 2012-2-24 11:15 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-29 16:38 编辑
* }' v. Z/ U1 |2 x8 a1 r+ s
shark4685 发表于 2012-2-24 09:46 4 o8 o+ \. x1 x
GXXX --- 电压控制电流源' j8 o+ h0 a6 C5 z, p
FXXX --- 电流控制电流源- ?+ g& C$ y$ \5 w, K: C
EXXX --- 电压控制电压源
* V, j1 z8 t3 T+ J% V5 ?
2 E2 h9 y, i( w4 }! a9 o
我看了你说的,我又试试,感觉最初用的VCVS还是对的。不过我一直想不清一个问题哈。( D  h; H( }/ p& P5 s" w6 a: d0 u  H
6 h/ o, Q3 r1 {
我的目标是 与的效果 ,也就是真值表那种: " N' H' I$ S. n+ c$ P
1  1  1
$ I" x9 a; k' e# Z1 X& k( [1  0  0% O/ `7 U* _9 L: e; Q: }% j
0  1  0( m: G9 ^! l! ~9 j
0  0  0
& b- c9 E9 O1 n: W) E6 X但是时间上V(3)的效果更像是一种编码:6 G: {9 ~$ T2 i
1  1  3% T2 H$ H3 }) X% |, `! [0 E1 l+ v
1  0  2
, o* p- a" ]  x& K5 I0  1  1
- m& T; q0 C* b5 F4 Z% G' Z9 }0  0  00 }! i7 k( `/ N9 ]5 q

4 E, `  B/ S& \& l/ R难道我少设置了什么参数???# @, f0 Y' k+ z8 [& w3 P

; ?6 p+ m+ w& n0 o8 C, [全部网标内容如下:
, w% q0 V5 a) s* r0 S! {% C2 Q2 Gcircuit of test2
/ e7 A& t* _( \2 F0 Z.options post
+ B$ h7 e6 A2 O8 W* S6 l, p
1 P+ N9 @( L) P5 S, X, `, B" b( c: b1 \*main circuit4 |! V3 I! _) c
vi1 1 0 pulse 0 1 0 0 0 15u 30u! _7 k/ N$ O! M! q$ \3 s1 h0 H
vi2 2 0 pulse 0 1 0 0 0 5u 10u$ C3 }" Z; B: X! f( w) i
Eand(2) 3 0 1 0 2 0  % 这EXXX的语句肿么写的 纠结# c. ]0 N* S3 `5 L& V2 i

; Q' G+ V- D( e$ O1 T4 S.tran 2n 60u. ], J1 k$ f8 p
.probe v(1) v(2) v(3)
* w& d0 z4 |. C3 d" C! D.end7 P. m9 }0 D/ g* X3 \7 G. D

该用户从未签到

85#
发表于 2012-2-24 11:17 | 只看该作者
shark楼主每帖必回,悉心指导的精神太令小弟佩服了 。。。{:soso__16984349925490629196_1:}

该用户从未签到

86#
发表于 2012-2-29 16:38 | 只看该作者
静静地等待着 大神们来给我点提示 以后要坚持每天来这个帖子签个到啊

该用户从未签到

87#
发表于 2012-3-1 10:44 | 只看该作者
shark大神 在不在 问你个问题:2 r0 Y+ u; r6 Z) h: g  f" z7 K5 y
怎样给一个子电路添加延时啊,
: B5 v! V8 l, V8 {& A$ M/ v! `比如说,我想应用某个子电路的时候,我希望这个子电路是存在延时的,怎么添加这个延时啊 !!!
, R* d! d4 ^4 W6 _7 X8 @求指导啊 !!!

该用户从未签到

88#
发表于 2012-3-1 16:08 | 只看该作者
雁过泪留痕 发表于 2012-3-1 10:44
; s" Y0 f% \& G1 N! Q7 {8 K9 p1 W. `shark大神 在不在 问你个问题:
" V* Q$ V9 @6 {% E9 m' M  N3 M2 k4 {怎样给一个子电路添加延时啊,
. ~6 _6 i/ O; R比如说,我想应用某个子电路的时候,我希望 ...

& l4 n$ S& F$ Y用这类语句 . _- \( \6 t$ z8 n( {
Exxx n+ n- <VCVS> DELAY in+ in- TD=val <SCALE=val> <TC1=val> <TC2=val>
: Y+ k4 @1 v' T+ <NPDELAY=val>1 V$ b; P) X0 j- Y
无意中看到了。。。。。。。。o(╯□╰)o
1 Y7 r0 T8 `* \9 ?麻烦大家了。。。。。。。。。

点评

自学spice是需要极大的热情的!  发表于 2012-3-2 08:40

评分

参与人数 1贡献 +10 收起 理由
shark4685 + 10 鼓厉下!!!

查看全部评分

该用户从未签到

89#
发表于 2012-3-2 09:50 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:23 编辑
" X2 ?* J5 e' n8 {+ u/ R7 f
& Q3 u5 C  U$ N1 g之前遇到的Exxx(VCVS非独立源)中multi-input gate 语句的用法,我在其他论坛上找到了一些提示,在这里讲一下(纯个人理解,错了希望大家指点一下哈)。
0 w/ e, Y# R- q! G$ d- h首先参考网址列下:
6 }. {! n7 e) l1 s1 M# H! ?/ u, l2 @http://www.edaboard.com/thread98195.html   (提到了一些关于三输入语句的用法)
5 p+ ]4 n5 Y$ ]0 f- s9 Q还有一个是逻辑门的spice语句:) i6 x) l! z) K- }4 ]2 `5 C
http://www.ecircuitcenter.com/circuits/logic_sw/logic_sw.htm
8 x! e5 o+ N( K& w9 w! i0 z) W& x4 S, f2 k
manual上原语句如下(VCVS下的多输入门):  N( Z+ O! E+ D
多输入门
+ X4 n7 s' _8 `# j. x  b6 HExxx n+ n- <VCVS> gatetype(k) in1+ in1- ... ink+ ink- <DELTA=val> <TC1=val>; r; Q/ m* G. e; d2 V& n
+ <TC2=val> <SCALE=val> x1y1 ... x100y100 <IC=val>9 I8 k8 U( Z4 I* Q' E
1 i9 }* N7 @/ u
语句相关解释如下:
" G% a/ w+ O0 R①Exxx          电压控的制元件名。此参数必须以一个“E”且后面紧跟最长至1023个数字字母顺序的字符开始。
! X: {, Y$ w8 U! U②gateype(k)  可以是AND,NAND,OR或NOR。(k)代表输入的门的数目。x’s和y’s,作为输入函数,代表输出的分段线性变量。在多输入门中,仅仅有一个输入决定输出的状态。以上的关键字字不应该用作节点名。7 e/ v% a- y: ~, p: I- t5 N
③n+/-          控制元件的正或负节点。8 A1 J: x8 J0 i; T
④VCVS 电压控制的电压源的关键字。VCVS是一个保留的关键字且不应该用作节点名。. Z. L! H" b; I+ c
⑤x1…           通过in+和in-节点的控制电压,x的值必须是递增的顺序
  C1 o1 R- f6 e" _0 _5 d7 g( z! x1 d⑥y1…           x的相应的输出电流值。; @! [) M! s  S7 X; u% K
⑦in+/-         正或负控制节点。规定每维一对。
; ^8 E; }( _) b/ }
# l: l% C: d4 M6 R0 D/ B% Z; I其中我一直纠结的就是x1,y1的用法,参考国外论坛的大神们的指导,我理解为这里是规定门逻辑电路的真值表的。. i* [1 r$ A" I* a7 ~2 Y
我写了两个网表如下:
1 I$ F& f4 O  p, t! I先来一个或非门的% ]7 a7 A: G5 q7 z
circuit of test2/ |0 a6 D# h. P+ b* a2 S6 A: ^
.options post
6 Z) t" w3 y3 s+ {  P  M6 o( S' l8 D5 w# T, B$ D3 P; K" @
*main circuit1 _5 K) g9 b- B9 A" D
vi1 1 0 pulse(0 1 0 0 0 50n 100n)
9 s/ v" ?7 |6 h* ^9 |: fvi3 2 0 pulse(0 1 0 0 0 75n 150n)# z: P( X  H; j+ ]6 r) ^
e 3 0 nor(2) 1 0 2 0
; P- c8 T' \2 Q2 Z; q; A5 f+0.0 1.0v
- l8 v( o" h9 }+ y+ D+1.0 0.0v2 G* K) J6 e$ @% `
        9 E0 J2 n) k+ u; V0 n& B6 ]
.tran 2n 1u
- b* q" ?4 J6 V; T' r5 p  D.probe v(1) v(2) v(3)1 ^5 g; n0 ^; l3 X! t7 W5 N
.end1 G: C7 j4 F$ \0 c- G- M* ?( ]& k
效果如下:
! A4 v: x1 Q2 m- \ : S) t2 B6 q' _& Z( Y

( K7 D7 f4 @& ]再来一个与门的
0 m  Q5 A: ^& |$ wcircuit of test23 X! |1 D! Y/ m" `$ f* y/ O$ C
.options post( [; \  a. B' z/ S* N4 S! x) t' D

5 j6 S) ]9 o' V7 I& G/ o% l: S*main circuit: @5 n' M; j+ o/ j5 d5 N/ c
vi1 1 0 pulse(0 1 0 0 0 50n 100n)" W$ J0 }" Y+ p: Y& k5 a5 X- P
vi3 2 0 pulse(0 1 0 0 0 75n 150n)+ g; X$ p; S1 c  ]7 \
e 3 0 and(2) 1 0 2 0
* y% e1 E2 v) k" V( c! |0 e+0.0 0.0v, Y" c: X$ E! ~5 }0 e
+1.0 1.0v
/ T4 l2 L' r/ E3 W          D4 H) p- x  y& o0 W
.tran 2n 1u: i  j# z0 z0 |7 s- E
.probe v(1) v(2) v(3)2 b8 n3 h3 k# _* \7 t- @
.end
) b! v) B. q# Z0 ^5 E' Q2 B  K6 B效果如下:. X/ [) L' q2 N6 L* L+ M
) @8 a5 T) B% K/ m4 a5 I! ]
1 p5 D- Y, k6 W& L
有什么错误希望大家指出来(有种不祥的预感) ,好学习一下!!!

该用户从未签到

90#
发表于 2012-3-2 09:58 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:04 编辑
2 k. X% r5 b" f5 b! h; r2 F% f3 J2 ?$ X! d6 }4 C
虽然可能这个问题就我反应迟钝,不过我补充一下:
  p& U0 X* M5 D$ ^0 ~在这个语句中,and/nand 是输入中较小的一个影响输出状态,而 or/nor是输入中较大的一个影响输出状态(和我们所理解的门电路逻辑一样)。这里的x可能就是对应着系统判断之后输入中较大的或者是较小的一个值,y就是对应着这种判断结果应该输出什么值,(不知道我是不是理解偏了)。所以,按照门电路的逻辑,我们只需要在,x1,y1,x2,y2,.........中注意设置x,y对应的逻辑关系。" p5 Z5 I* t0 \% x
' t8 U, B% x: K* R0 c- p2 B! h- O
; ?: e2 D: x) l( z
顺便在此 大力感谢一下shark楼主给我的指导,有不会的我会再回来的(这么说肯定会回来的,o(╯□╰)o),希望大家继续指导啊 !!!
; ?$ t0 F4 S- I' `9 c* i
: y( j( I5 x; J  b( K4 H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 05:01 , Processed in 0.140625 second(s), 25 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表