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

Hspice学习帖

    [复制链接]

该用户从未签到

76#
发表于 2012-2-23 11:24 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:26 编辑 . s: @7 @8 q8 l. B  f; X1 {

2 n0 H7 h& x( D4 [2 p! ?! F楼主 想问个问题哈 还是之前那个毕业设计哈 。
$ [2 l8 e( o1 H3 |9 h/ z想问一下hspice里面 门逻辑 (与门 ,与非门 ,或门之类的)语法怎么用的。$ `) i5 C1 z0 H' y7 z
之前在hspice的manual里面找到个关于multi-input gate的语法:% P8 H+ u! ~: Z; b1 h8 f4 I$ c
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... inj+ inj-8 G. b% U1 ]- F  G8 j- K8 y) h! k
+ <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>7 Z- L) ]3 ^2 \+ r' H+ r) ^! Y9 B: D2 G
+ x1,y1 ... x100,y100 <IC=val>
* H3 j$ g1 B7 ~# {, }* x# A  B. a& n: Z2 B; V& C
由于才疏学浅没看懂就随便写了几句,# H3 C& @# M1 N
主体语句如下:
4 u) c) j8 J3 g, t/ E9 \vi1 1 0 pulse 0 1 0 0 0 10u 20u2 d- C( R$ j6 l* o
vi2 2 0 pulse 0 1 0 0 0 5u 10u4 i1 _! O3 F5 e+ c/ ?  d
Eand(2) 3 0 1 0 2 0 ! F8 Y( S' C. x
结果出来的图变成这样子了,完全很纠结啊,
1 ?1 l' N  v: ~& ?; F/ F

该用户从未签到

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

该用户从未签到

78#
发表于 2012-2-23 13:21 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-23 13:22 编辑 4 [" ]6 {! i6 N% ?4 D$ b0 F
0 k/ \' Z% f  t$ Y8 @
76楼的图挂了 555555555  我再重发一张 不好意思
$ C- l, o8 T' z" d9 y0 G# m

该用户从未签到

79#
 楼主| 发表于 2012-2-23 13:45 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:48 编辑
7 Y6 d7 J, [$ \6 L- G# v
2 k2 j$ T! e7 j你的语句选错了,试试下面的语法:
( o9 D, o- ^7 b4 \" f/ f0 U0 F( E7 |& D: `( ?
Gxxx n+ n- <VCCS> gatetype(k) in1+ in1- ...  
' N" x" p* D6 h8 X3 q+ ink+ ink- <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>  % ?/ a' b/ |) i# r" k: l' Q
+ <M=val> x1,y1 ... x100,y100<IC=val> 8 p! a5 m% k+ X2 @4 n0 m# ?; N
; N) w# A3 s2 \
In this syntax, gatetype(k) can be AND, NAND, OR, or NOR gates. For a description of the G-element parameters
: S; P: x9 q0 n9 b' m" _+ r7 a, \( _( p1 b8 _9 a! ?/ P, q

该用户从未签到

80#
发表于 2012-2-23 17:08 | 只看该作者
shark4685 发表于 2012-2-23 13:45 ( g' _5 T" [! |
你的语句选错了,试试下面的语法:
8 D, C) J) z3 u2 h
* X% F$ i9 Q5 Y7 I; V8 \Gxxx n+ n-  gatetype(k) in1+ in1- ...  
: q1 O' W+ D# x9 m- Z1 o7 g
shark楼主 你说的这个语句怎么用的,我按照我的理解写了个网表 v(1)还好,v(2) v(3)直接 都变成 直流 0电平了啊 。7 N; I( Y* w# J
我就只是想把两个方波进行逻辑与或之类的,怎么波形都这么奇怪。
2 E; K( L  w9 x5 Q6 ^' c
$ j! Q) z: u# h' B语句就是直接换了个字母:
' I- w5 A/ \" U( k4 \1 ivi1 1 0 pulse 0 1 0 0 0 10u 20u
; F0 V0 O6 t) |, nvi2 2 0 pulse 0 1 0 0 0 5u 10u
# I' y& S8 v0 _+ AGand(2) 3 0 1 0 2 0 / B- }1 b9 I  ^' ^' t4 ~
* y9 S7 M3 s& G. _$ |: ]9 w
这类门逻辑语句太让我纠结了 用起来好艰难。后面那啥x1,y1什么的,我看了几遍解释也没理解它想说什么,所以也没写。      o(╯□╰)o  

该用户从未签到

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

该用户从未签到

82#
 楼主| 发表于 2012-2-24 09:46 | 只看该作者
GXXX --- 电压控制电流源0 }% m9 ~6 ~" ^- l9 J* A/ H% i
FXXX --- 电流控制电流源
' Z% ^2 V, F+ ?% XEXXX --- 电压控制电压源
. \4 W6 E1 s% a& i7 J3 e5 r0 AHXXX --- 电流控制电压源
/ m9 d% j/ H6 E/ K--------------------------------先搞清楚你是那种电源。- z) \: ?8 }' x' P
) N) h( }8 F4 ?& Z; o- g
gatetype(k)  逻辑门的类型可以是AND,NAND,OR 或 NOR 中的一种,参数" H) N5 M/ c2 [+ R
(k)代表逻辑门的输入端数目,”x”,”y”表示作为输入函数的输出分段线性变量。3 Q) Q2 D: b5 L/ n+ [3 F# G6 g4 p% r
, L" t9 q' d4 ?- x& s# f
x1...  在 VCCS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 + i: w- F, P) L
      在 CCCS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  ; j% ^. S) }5 z6 i, I
      在 VCVS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 8 i  w( T" W% \) u; s( ^7 F- [
      在 CCVS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  
  d- M7 p3 ^% C& G) `  fy1...  在 VCCS 中是:  与 x 相应的元件数值
  _  u% ^1 Z& t$ o8 U# G      在 CCCS 中是:  与 x 相应的输出电流值 , E( j0 g3 T! I) V$ v1 g( y1 ~
      在 VCVS 中是:  与 x 相应的元件数值 $ {2 m" b  W6 s, D" k+ I  ^
      在 CCVS 中是:  与 x 相应的输出电压值

该用户从未签到

83#
发表于 2012-2-24 11:15 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-29 16:38 编辑 + G1 u5 {- o* t8 o2 }  M  l
shark4685 发表于 2012-2-24 09:46
7 r, J9 `3 v: J, \0 n0 BGXXX --- 电压控制电流源
* q' @2 |) h1 `3 ]FXXX --- 电流控制电流源
. G" k/ l$ P0 K5 |  t1 MEXXX --- 电压控制电压源

) d$ a. y) }& M0 Z0 I+ ]% y4 X2 p
& E  v+ G/ m1 X& f/ l2 }我看了你说的,我又试试,感觉最初用的VCVS还是对的。不过我一直想不清一个问题哈。
  ^; L* F0 s) J3 [ . J6 ~  a$ X% q$ f$ w& h8 L
我的目标是 与的效果 ,也就是真值表那种: 4 e, }8 X# c- O) J# D1 B4 R
1  1  1
( r; g9 l+ f/ V( n1  0  00 A/ H1 L' P" h. Z/ p/ ^0 ?
0  1  03 I# b) x, A3 N" o; ]* J
0  0  07 j  m$ M: m0 T( P( B! a, B" l
但是时间上V(3)的效果更像是一种编码:% H$ y7 [8 ], {5 S
1  1  3
' Q0 x! X0 r4 S1  0  2: |8 v  S9 K' y
0  1  1  D+ l& D, d/ R. D: }! P
0  0  0! L6 g6 M# r, f6 Y/ D

: ?) k+ G, K1 x3 y" z  n难道我少设置了什么参数???$ G2 T6 @) @$ j1 u& t1 C

9 S  v0 `7 u& ?, i9 V  X全部网标内容如下:2 s" K' d' ~. c( y( D& r0 D
circuit of test2
7 n6 X, n  {) P/ a- e.options post
6 s: r3 `* x2 ~+ N0 I0 g; S* j2 ?9 m7 N
*main circuit8 n+ i; J7 P1 c5 l; b( f& h
vi1 1 0 pulse 0 1 0 0 0 15u 30u' F# \6 c3 e9 S( x
vi2 2 0 pulse 0 1 0 0 0 5u 10u, s  H* O8 _, ^1 T- N
Eand(2) 3 0 1 0 2 0  % 这EXXX的语句肿么写的 纠结
1 y, Y4 n0 H7 k: g$ \( w- H
. U" I+ ?( m4 g' S.tran 2n 60u0 {4 o& h. d, T& q
.probe v(1) v(2) v(3)
. q4 T/ M4 T  Z7 K& f$ N4 Z) Q7 y.end6 ?& r: G( [' m! |8 B( b

该用户从未签到

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

该用户从未签到

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

该用户从未签到

86#
发表于 2012-3-1 10:44 | 只看该作者
shark大神 在不在 问你个问题:$ \$ p, c% [/ X8 |7 B# ]
怎样给一个子电路添加延时啊,
( R* e5 Q' n) E  c8 {, o' q) |0 S9 \比如说,我想应用某个子电路的时候,我希望这个子电路是存在延时的,怎么添加这个延时啊 !!!) O8 H9 x, H- C  s9 m% j
求指导啊 !!!

该用户从未签到

87#
发表于 2012-3-1 16:08 | 只看该作者
雁过泪留痕 发表于 2012-3-1 10:44 2 C3 R, j% R) R
shark大神 在不在 问你个问题:1 `+ z& Z8 h/ J' b: X4 c
怎样给一个子电路添加延时啊,0 `, B# p8 R$ q" U8 d
比如说,我想应用某个子电路的时候,我希望 ...
$ ~& h4 V% {5 N2 H
用这类语句 # z6 Q+ n) H) P2 Y
Exxx n+ n- <VCVS> DELAY in+ in- TD=val <SCALE=val> <TC1=val> <TC2=val>
, o4 n4 G) S$ y3 }) b$ |% o& y+ <NPDELAY=val>
: [; F7 t7 `8 V# f无意中看到了。。。。。。。。o(╯□╰)o
1 p" M1 @3 k/ d  G麻烦大家了。。。。。。。。。

点评

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

评分

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

查看全部评分

该用户从未签到

88#
发表于 2012-3-2 09:50 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:23 编辑
+ H+ t, m% v/ N) k+ _5 Z2 D+ n5 _
8 U. V9 \4 p- i) t, I& b之前遇到的Exxx(VCVS非独立源)中multi-input gate 语句的用法,我在其他论坛上找到了一些提示,在这里讲一下(纯个人理解,错了希望大家指点一下哈)。
/ _7 P4 s, k  \! \首先参考网址列下:& d3 `( a& n  y' a6 o. p9 g* u: F7 S
http://www.edaboard.com/thread98195.html   (提到了一些关于三输入语句的用法)
+ e- p, m" U5 U- f( j4 r! l还有一个是逻辑门的spice语句:3 d6 y& x5 c- O/ o! w
http://www.ecircuitcenter.com/circuits/logic_sw/logic_sw.htm
& d3 k! y: ^6 M* N
0 l; n: f# @& rmanual上原语句如下(VCVS下的多输入门):; k8 t9 q$ w1 @7 _
多输入门7 G1 A: ^; [: Z1 t
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... ink+ ink- <DELTA=val> <TC1=val>) _* E2 e$ X7 z
+ <TC2=val> <SCALE=val> x1y1 ... x100y100 <IC=val>
+ k; P  a5 O0 n: e4 Z5 c
% x0 j4 K: E. P8 h0 `语句相关解释如下:# |  U8 X! W+ l/ X$ u8 E- g
①Exxx          电压控的制元件名。此参数必须以一个“E”且后面紧跟最长至1023个数字字母顺序的字符开始。# p" o( U' g. V& B4 v3 L& J& ]
②gateype(k)  可以是AND,NAND,OR或NOR。(k)代表输入的门的数目。x’s和y’s,作为输入函数,代表输出的分段线性变量。在多输入门中,仅仅有一个输入决定输出的状态。以上的关键字字不应该用作节点名。+ g' }, `7 F3 B. ~# N5 w4 @
③n+/-          控制元件的正或负节点。! O' p' y0 Z8 X& Y8 E
④VCVS 电压控制的电压源的关键字。VCVS是一个保留的关键字且不应该用作节点名。
2 c' Y( l* Z# j$ K) E⑤x1…           通过in+和in-节点的控制电压,x的值必须是递增的顺序
  b: e& T" H4 D1 }⑥y1…           x的相应的输出电流值。! R( `: L+ e: _* ~  W, G( f
⑦in+/-         正或负控制节点。规定每维一对。
. w  c' w9 a4 C0 B- U) W& K% L2 H6 L1 N
其中我一直纠结的就是x1,y1的用法,参考国外论坛的大神们的指导,我理解为这里是规定门逻辑电路的真值表的。; s/ g9 h4 `3 P9 W; x9 _
我写了两个网表如下:, [: g2 ?; ~! I8 n: r7 Y; ]! F1 v
先来一个或非门的
6 |/ M( [2 [1 \3 }circuit of test26 L4 F  j; i# L# X
.options post
& I) g4 a" z  P( `- Z: U5 f2 b% \3 u8 Z$ Q: c$ Y$ \
*main circuit
& [1 l2 t* o! `2 q5 L- V; Kvi1 1 0 pulse(0 1 0 0 0 50n 100n)
7 U/ E" E% n# C1 Y% D* ivi3 2 0 pulse(0 1 0 0 0 75n 150n)
% [2 i! W6 c9 a; L' _8 f! Qe 3 0 nor(2) 1 0 2 0
8 [6 D. m/ C: ~5 i/ T5 g% X+0.0 1.0v* _. h8 z# n4 b% }8 \
+1.0 0.0v! T/ [, R2 Q9 B8 b
       
2 U, g' M) G3 F; u.tran 2n 1u' f8 I( s6 i- l6 o
.probe v(1) v(2) v(3)
: y& ?( M* c  R$ e6 j.end
. y. Q" O4 G" z) D8 k  I" p效果如下:
* p5 I- M# Q  M0 j+ s- Y) l
% s# H3 z6 [5 ?6 c
) d% Z; h  k; w. m' U+ _再来一个与门的
) b( h  E! n1 t( J, j8 gcircuit of test2$ f: E, J1 W( I+ e" @
.options post
  y1 J, }: M5 g2 O9 n& C' ]% c - y$ a+ \3 @. u- ]- Y
*main circuit
% m0 V5 j" Z4 D" b  x5 bvi1 1 0 pulse(0 1 0 0 0 50n 100n), z% K- F2 K5 C  ^( u
vi3 2 0 pulse(0 1 0 0 0 75n 150n)) u( m7 `) `: _. y+ W
e 3 0 and(2) 1 0 2 0: B1 L3 O, X0 L; A- e! i9 B8 R
+0.0 0.0v
4 g) f' Z1 ~) {' J+1.0 1.0v
9 {8 y& j% C6 z2 t5 n8 F  Q- s       
4 J/ ~6 C+ v! G* ?. j6 y.tran 2n 1u
# a) C2 t! F( R.probe v(1) v(2) v(3)
2 y9 [$ m# D+ X/ W$ m8 d.end
* F; o9 g" U' @: }  e效果如下:; s, H7 n- e6 ~

8 b) R7 g' X  E, q$ O* U5 D3 \& \+ R- `  z
有什么错误希望大家指出来(有种不祥的预感) ,好学习一下!!!

该用户从未签到

89#
发表于 2012-3-2 09:58 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:04 编辑
( T) d. p. C3 z$ v: t0 x
8 x9 u: b7 m/ z% x% e虽然可能这个问题就我反应迟钝,不过我补充一下:7 {" h; H3 q! b: }& \$ W6 x7 H
在这个语句中,and/nand 是输入中较小的一个影响输出状态,而 or/nor是输入中较大的一个影响输出状态(和我们所理解的门电路逻辑一样)。这里的x可能就是对应着系统判断之后输入中较大的或者是较小的一个值,y就是对应着这种判断结果应该输出什么值,(不知道我是不是理解偏了)。所以,按照门电路的逻辑,我们只需要在,x1,y1,x2,y2,.........中注意设置x,y对应的逻辑关系。
8 M5 r" _( |4 i2 k8 r) }( B4 \& M$ u+ v+ O: Y8 d

8 M$ v2 l; a( q9 {, r# {' e; W顺便在此 大力感谢一下shark楼主给我的指导,有不会的我会再回来的(这么说肯定会回来的,o(╯□╰)o),希望大家继续指导啊 !!!
* s* ]- D* u- i* U1 N, @. z/ N6 U; \1 m( _& h* _" Z

该用户从未签到

90#
发表于 2012-3-2 10:08 | 只看该作者
要翻页了么 好吧 90楼我要了 # E8 c- w* t- N. O1 d
真心觉得89l的东西写得连我自己也看不懂啊 纠结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-2 00:36 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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