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

Hspice学习帖

    [复制链接]

该用户从未签到

76#
发表于 2012-2-23 11:24 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:26 编辑
+ z, f) g9 ]7 K0 l$ q! m
( V4 j6 o3 B: l6 ~8 s1 F5 S( H楼主 想问个问题哈 还是之前那个毕业设计哈 。
0 r( b. C! O, W想问一下hspice里面 门逻辑 (与门 ,与非门 ,或门之类的)语法怎么用的。
  K' m! B! b2 s  V/ y' t" ^7 ^3 x之前在hspice的manual里面找到个关于multi-input gate的语法:
/ n5 o7 E0 ~3 a8 hExxx n+ n- <VCVS> gatetype(k) in1+ in1- ... inj+ inj-
/ E' |0 }6 D* T4 K6 [" l  m+ <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>
  D1 I1 [4 c0 H- h$ e+ x1,y1 ... x100,y100 <IC=val>( o3 S4 \1 [/ m8 ?  r5 }+ q  l2 Y

+ E2 L/ R2 v/ h8 P' E3 F2 f由于才疏学浅没看懂就随便写了几句,
: s+ B) Q# _. _主体语句如下:6 }# f+ g7 c; F) T7 d7 e
vi1 1 0 pulse 0 1 0 0 0 10u 20u' h$ t- E. I9 b% w# Y
vi2 2 0 pulse 0 1 0 0 0 5u 10u* K' C% o8 b5 O1 K( M, w% l- G
Eand(2) 3 0 1 0 2 0
0 h5 S5 ?# J3 h2 ~+ H) i4 A结果出来的图变成这样子了,完全很纠结啊,
) p5 V" e+ r( M1 @/ c& D: P! W

该用户从未签到

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

该用户从未签到

78#
发表于 2012-2-23 13:21 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-23 13:22 编辑 1 g/ {9 r# a% F4 {& _2 A  u
; b6 h  k6 ~+ a; Q% L1 x2 f, D9 G
76楼的图挂了 555555555  我再重发一张 不好意思
  x. L3 M8 b& q# s% b# y( y

该用户从未签到

79#
 楼主| 发表于 2012-2-23 13:45 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:48 编辑 - c& a. J; x7 C: z+ b2 Z9 o

8 r/ N5 `# g7 w, ^- y你的语句选错了,试试下面的语法:
4 H1 o. i, k1 a6 Y
/ G* o  c2 g: w8 [Gxxx n+ n- <VCCS> gatetype(k) in1+ in1- ...  
' m4 p1 V' j; L* U6 S) |* s0 _- m+ ink+ ink- <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>  0 f! r$ A* W5 O( J1 E; u
+ <M=val> x1,y1 ... x100,y100<IC=val>
( P9 t" }3 S9 S8 x, m$ q% |& U2 S/ d# q* c
In this syntax, gatetype(k) can be AND, NAND, OR, or NOR gates. For a description of the G-element parameters
/ e( \9 S! |* P2 l( ^, S: F! X& d1 |% k

该用户从未签到

80#
发表于 2012-2-23 17:08 | 只看该作者
shark4685 发表于 2012-2-23 13:45
7 k2 `3 `( ?8 a! U- _' s你的语句选错了,试试下面的语法:
. H+ F& T( V1 a% Z% h- P
' H; D: m4 z9 N6 t2 b0 y* hGxxx n+ n-  gatetype(k) in1+ in1- ...  
* I, T6 Q6 V) h1 u
shark楼主 你说的这个语句怎么用的,我按照我的理解写了个网表 v(1)还好,v(2) v(3)直接 都变成 直流 0电平了啊 。: c! k5 r0 J6 A8 X
我就只是想把两个方波进行逻辑与或之类的,怎么波形都这么奇怪。3 x  ?4 ~$ _" z
2 ]) k3 Q3 v! Q
语句就是直接换了个字母:
4 s) C0 c" g' j9 j+ k0 @3 \vi1 1 0 pulse 0 1 0 0 0 10u 20u
; [& z6 @& A9 l/ bvi2 2 0 pulse 0 1 0 0 0 5u 10u3 ~9 N& k) d$ |  k5 ~
Gand(2) 3 0 1 0 2 0
+ u/ ?$ K* v+ h. M5 Y7 K8 a9 y. r4 F$ I4 C5 s
这类门逻辑语句太让我纠结了 用起来好艰难。后面那啥x1,y1什么的,我看了几遍解释也没理解它想说什么,所以也没写。      o(╯□╰)o  

该用户从未签到

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

该用户从未签到

82#
 楼主| 发表于 2012-2-24 09:46 | 只看该作者
GXXX --- 电压控制电流源. Z- u2 G# c+ F7 b, m
FXXX --- 电流控制电流源6 ?' o0 t! i8 D" f- |) w
EXXX --- 电压控制电压源 1 g' v1 z$ O2 ~$ |% Y$ S1 P
HXXX --- 电流控制电压源2 z+ n2 l- ?% i& ]
--------------------------------先搞清楚你是那种电源。
0 n: L" ~5 ?1 O% {" m+ l! c1 Z  z0 F1 `' ?% `+ @
gatetype(k)  逻辑门的类型可以是AND,NAND,OR 或 NOR 中的一种,参数6 b& R( @6 C8 ]" `( S
(k)代表逻辑门的输入端数目,”x”,”y”表示作为输入函数的输出分段线性变量。6 _! l) I' `6 l% L$ }

$ O+ U# K+ m# L$ }' K5 ax1...  在 VCCS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。
2 y# N+ K; E$ @. s4 m- ?5 D      在 CCCS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  # u% k( C! J6 G# y! y) Y
      在 VCVS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 , X# I$ r. a& d/ b* J3 m
      在 CCVS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  5 x+ J) X9 C) M7 F1 d8 r
y1...  在 VCCS 中是:  与 x 相应的元件数值 ) \  \6 ?7 I! v0 m
      在 CCCS 中是:  与 x 相应的输出电流值 $ P# n6 I% t& g, a( b
      在 VCVS 中是:  与 x 相应的元件数值 ; D7 ^2 N9 u5 b! t/ _6 I( X+ |
      在 CCVS 中是:  与 x 相应的输出电压值

该用户从未签到

83#
发表于 2012-2-24 11:15 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-29 16:38 编辑 7 \4 O6 H# N8 u) @1 I' v6 _
shark4685 发表于 2012-2-24 09:46   b5 Q( b$ |+ _1 P6 V* Q' k# i
GXXX --- 电压控制电流源
6 L9 b% ]7 m+ w; G/ s  VFXXX --- 电流控制电流源( o, E1 L* u/ `$ l/ K
EXXX --- 电压控制电压源

7 v- Z3 b5 L5 A: R) t( n
# f0 h$ {1 B5 T% b我看了你说的,我又试试,感觉最初用的VCVS还是对的。不过我一直想不清一个问题哈。
+ H3 D: C" w2 ]$ m. Z 7 I" t9 M/ l' q) u3 M$ v6 Q0 T
我的目标是 与的效果 ,也就是真值表那种: % k3 p- b( `" k/ v) }0 R
1  1  1
2 c5 Z" I9 v, P" f$ d3 e1  0  0
9 R6 C0 h  S4 d: X0  1  0+ s2 n3 g0 r+ J$ n$ t. _1 U
0  0  0' d1 A- O. n2 l) v" k
但是时间上V(3)的效果更像是一种编码:
+ J, h5 ?0 u2 C: D5 `1  1  3' {$ M4 D- m( P! ?! S
1  0  2: A) m' X* w- I" B1 F0 b. ]; \: j
0  1  1
+ \, l8 R- t1 ~0  0  0: ^5 y2 q0 n0 K

- ~6 B7 o: u1 Q难道我少设置了什么参数???
2 ~, l% E+ a. G7 ?  }. h+ |0 m) f% T: u- Y" f- C5 o. N
全部网标内容如下:
# R/ A5 E5 E! {circuit of test2+ x! {6 |# [$ n. p
.options post
& R2 {2 c/ @: V1 b8 R& r4 o9 E0 g- ?2 s
*main circuit4 B8 F4 K5 \1 U( n
vi1 1 0 pulse 0 1 0 0 0 15u 30u' d( z& l* B2 b& S1 B- C
vi2 2 0 pulse 0 1 0 0 0 5u 10u* ^! @+ |$ ~0 `5 P9 [/ Y
Eand(2) 3 0 1 0 2 0  % 这EXXX的语句肿么写的 纠结
  F$ [1 w+ h. @4 A
! y( B9 ~4 E. c0 G.tran 2n 60u
1 J3 N- X' |, `( y9 f! v# E.probe v(1) v(2) v(3)3 E" ^6 ~* G- L2 K# r- O$ S$ t
.end" w8 D! j5 B2 v& z2 I

该用户从未签到

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

该用户从未签到

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

该用户从未签到

86#
发表于 2012-3-1 10:44 | 只看该作者
shark大神 在不在 问你个问题:3 y2 O( Y# f4 p' f: {; r# R% ~
怎样给一个子电路添加延时啊,
' x2 e. I5 D' N2 J( w比如说,我想应用某个子电路的时候,我希望这个子电路是存在延时的,怎么添加这个延时啊 !!!& H1 s1 {" G6 c. J" h7 d2 D1 I7 c0 F
求指导啊 !!!

该用户从未签到

87#
发表于 2012-3-1 16:08 | 只看该作者
雁过泪留痕 发表于 2012-3-1 10:44 : C* c- ]- p" c& z0 N3 a9 E3 H
shark大神 在不在 问你个问题:: |* t; |2 d% }
怎样给一个子电路添加延时啊,
% R' L% s# V- M  ?7 B  w( m比如说,我想应用某个子电路的时候,我希望 ...
9 w2 p' P# e& ~* V
用这类语句 0 D1 H$ x& \7 K. l* u# ~& d5 _* N
Exxx n+ n- <VCVS> DELAY in+ in- TD=val <SCALE=val> <TC1=val> <TC2=val>
) v- q$ M" ^$ m$ k0 b5 q1 d9 P( \+ <NPDELAY=val>
7 b" B1 `* i& M无意中看到了。。。。。。。。o(╯□╰)o* i" W3 I9 s) a8 z
麻烦大家了。。。。。。。。。

点评

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

评分

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

查看全部评分

该用户从未签到

88#
发表于 2012-3-2 09:50 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:23 编辑
3 K6 j9 L9 ^  u  R- v9 C1 G7 k" B
7 V' f, R( B/ c! L7 V* Q! ~( w之前遇到的Exxx(VCVS非独立源)中multi-input gate 语句的用法,我在其他论坛上找到了一些提示,在这里讲一下(纯个人理解,错了希望大家指点一下哈)。
! P- K. y/ }2 D# n/ b! q+ d首先参考网址列下:  B1 t9 x0 h8 T' M
http://www.edaboard.com/thread98195.html   (提到了一些关于三输入语句的用法)8 P+ v# d. ?& |4 r" x, B% g
还有一个是逻辑门的spice语句:
! V( O  O, I! B  ]http://www.ecircuitcenter.com/circuits/logic_sw/logic_sw.htm: m' H* U% v) S/ }- X0 M) Z
: K4 v& |4 M, W' ~; [" ?) N7 }# j5 g
manual上原语句如下(VCVS下的多输入门):
7 @0 }$ ?1 B# a, t4 W& @! Y; ~多输入门
1 ^2 N8 F+ o0 b  q1 IExxx n+ n- <VCVS> gatetype(k) in1+ in1- ... ink+ ink- <DELTA=val> <TC1=val># o- D2 v1 P7 A1 A4 I% V
+ <TC2=val> <SCALE=val> x1y1 ... x100y100 <IC=val>
1 l; W" I7 s* t4 x, n# @
: c. Q" d1 y( ~- ^6 `" y- F$ t语句相关解释如下:
" ^' {2 K8 {9 c) L6 P①Exxx          电压控的制元件名。此参数必须以一个“E”且后面紧跟最长至1023个数字字母顺序的字符开始。6 {/ e' B. X; Z/ c1 n4 g0 l
②gateype(k)  可以是AND,NAND,OR或NOR。(k)代表输入的门的数目。x’s和y’s,作为输入函数,代表输出的分段线性变量。在多输入门中,仅仅有一个输入决定输出的状态。以上的关键字字不应该用作节点名。
$ h- z5 O/ B: @- ?( a8 X6 r6 C  b! B③n+/-          控制元件的正或负节点。/ z) M- b/ s7 ^* T" i' W
④VCVS 电压控制的电压源的关键字。VCVS是一个保留的关键字且不应该用作节点名。! I. ]2 y6 }( I" _% B3 F' ], X
⑤x1…           通过in+和in-节点的控制电压,x的值必须是递增的顺序5 K1 r  t* I% W( m. Y1 n: S
⑥y1…           x的相应的输出电流值。
7 y7 D, r+ ^/ D% J: D8 U3 J/ ~⑦in+/-         正或负控制节点。规定每维一对。
! X  A( s& ^6 W8 r0 w
4 }; u$ b  m( S3 q; \7 _其中我一直纠结的就是x1,y1的用法,参考国外论坛的大神们的指导,我理解为这里是规定门逻辑电路的真值表的。& h% G' O5 C  @( Q0 A" ?
我写了两个网表如下:
3 ^$ N/ I) e, M! S9 V9 l0 j( T先来一个或非门的
8 \! p4 ~) S: Y, |/ F  \2 Lcircuit of test2" q- |  k1 j; u
.options post
: z2 B; [4 \8 X2 |6 m& S* a6 a% [) U) ?: @8 b* E0 O. @* E  v7 i1 K
*main circuit5 ?+ v8 r' C& Y6 w5 k
vi1 1 0 pulse(0 1 0 0 0 50n 100n)
' y7 g* j1 l$ _0 `& |6 ivi3 2 0 pulse(0 1 0 0 0 75n 150n)- k. N7 L/ [' T7 |
e 3 0 nor(2) 1 0 2 0
# O- V9 K" V7 w. Y. ~, k: D+0.0 1.0v
/ K2 F! [! {' g0 h+ g9 Z, t+ ^+1.0 0.0v! `3 G( ^& j) B& V
       
# s. Y& r8 ?+ K( |* F7 M& e9 c# `+ y.tran 2n 1u
5 _( P" s* L# y) u* j5 I' M: u.probe v(1) v(2) v(3)
( b- ]! J+ Q* q% i.end
& V0 r# Q3 D/ Z; W3 [效果如下:# ?( j. X+ n: a  q- W3 t

' Q5 ]# S, x- X- Z" l* }& d2 U2 X: [+ s
再来一个与门的
( J% r  F2 Z% Z4 L6 u4 _circuit of test2
3 W( A, [3 j- |- Y( l! }+ b; y.options post8 E3 a: C) l# c3 [

/ F# N% L* R1 T# F+ @9 T* [; I*main circuit+ \5 p5 s# U" \2 k
vi1 1 0 pulse(0 1 0 0 0 50n 100n)
4 k: z& W/ c  ~vi3 2 0 pulse(0 1 0 0 0 75n 150n)" Q# g9 ~* Q2 f% t. j+ n
e 3 0 and(2) 1 0 2 0
1 T, W9 }" H; t8 y) z! I+0.0 0.0v
8 _. J# z- @3 V  i0 I$ Y+1.0 1.0v4 Q% R" V  y* e; g5 x
        ( o& w9 j+ i4 x5 Z
.tran 2n 1u
  W: g" L- D7 n) \.probe v(1) v(2) v(3)5 e) ]7 ?2 f7 H. Q
.end
# U! Y% p' u+ w! o2 Z% \+ ]) g4 ]效果如下:
8 D$ c/ [4 [# o- B2 r. y" ?( v
2 r, V! a0 K) o4 ^2 p! u& X( g+ }! D) n+ v- ]' U6 x- y" B! v" A- n
有什么错误希望大家指出来(有种不祥的预感) ,好学习一下!!!

该用户从未签到

89#
发表于 2012-3-2 09:58 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:04 编辑 % t( o/ h% L2 E% W. G& v2 m

( W% ~$ N, M- j5 S- w' {3 a$ L虽然可能这个问题就我反应迟钝,不过我补充一下:# w2 {+ S7 v7 |, @$ S
在这个语句中,and/nand 是输入中较小的一个影响输出状态,而 or/nor是输入中较大的一个影响输出状态(和我们所理解的门电路逻辑一样)。这里的x可能就是对应着系统判断之后输入中较大的或者是较小的一个值,y就是对应着这种判断结果应该输出什么值,(不知道我是不是理解偏了)。所以,按照门电路的逻辑,我们只需要在,x1,y1,x2,y2,.........中注意设置x,y对应的逻辑关系。
4 k' j0 t/ n8 p7 [6 h' u' D; g4 V7 n' a9 q: w' K8 Q  ~
# a* ^8 D7 b/ W1 q8 O
顺便在此 大力感谢一下shark楼主给我的指导,有不会的我会再回来的(这么说肯定会回来的,o(╯□╰)o),希望大家继续指导啊 !!!$ D, B& m% p! k
; F' n+ ^& w& q9 }, _

该用户从未签到

90#
发表于 2012-3-2 10:08 | 只看该作者
要翻页了么 好吧 90楼我要了
0 H" k$ B  k; A# F# m真心觉得89l的东西写得连我自己也看不懂啊 纠结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-26 06:14 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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