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

Hspice学习帖

    [复制链接]

该用户从未签到

76#
 楼主| 发表于 2012-1-18 11:01 | 只看该作者
进论坛FTP里。1 K4 u, ~+ C; t' c6 M5 d

该用户从未签到

77#
发表于 2012-2-23 11:24 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:26 编辑 . E4 b% V+ [1 Q. T

6 x  I) s, m( [* R, u楼主 想问个问题哈 还是之前那个毕业设计哈 。
$ p, C  S* j/ q/ f: u想问一下hspice里面 门逻辑 (与门 ,与非门 ,或门之类的)语法怎么用的。
% K# K: j4 R0 V( q* A之前在hspice的manual里面找到个关于multi-input gate的语法:  O$ \9 _6 Q7 l5 Z0 f7 J; j
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... inj+ inj-
6 h! `9 y- C) \- ?, B' v+ <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>
5 s  v6 `& W2 }, [+ t/ o+ x1,y1 ... x100,y100 <IC=val>
1 U: k; b& K6 a; ^" K' e8 k1 o/ z& w' j
2 M7 Q- |) i; W1 n# B- B8 |* x由于才疏学浅没看懂就随便写了几句,  j- j8 z% t$ _; v  b/ m4 i
主体语句如下:5 V) b+ n. ^! r; {$ S$ y) |+ [
vi1 1 0 pulse 0 1 0 0 0 10u 20u
1 B, A8 H& H0 C. T2 p! Q) Bvi2 2 0 pulse 0 1 0 0 0 5u 10u
- s& A* x/ m* ~- X' I0 `2 cEand(2) 3 0 1 0 2 0
8 Y; Y2 w5 D& S, @结果出来的图变成这样子了,完全很纠结啊,
3 ?. z$ ]  c) |. R1 C  E

该用户从未签到

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

该用户从未签到

79#
发表于 2012-2-23 13:21 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-23 13:22 编辑 ' V9 p5 D1 ~( m% j  l
6 z+ x$ }' o+ n* U: p9 E
76楼的图挂了 555555555  我再重发一张 不好意思" t& A4 N) F  c

该用户从未签到

80#
 楼主| 发表于 2012-2-23 13:45 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:48 编辑
" b0 g* W: b) z  t  A. r! r  N( N  h0 R0 j$ U8 ^$ t
你的语句选错了,试试下面的语法:5 d) c2 x4 X. d

# C& A) V* A6 p' a4 G: [Gxxx n+ n- <VCCS> gatetype(k) in1+ in1- ...  , P2 X; _& a2 R: j" q8 P5 J
+ ink+ ink- <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>  
0 W9 ?6 J4 `2 n" h+ <M=val> x1,y1 ... x100,y100<IC=val>   E# z6 T' z7 w. U& F/ J* x
2 r2 k1 S; `; W- t& {
In this syntax, gatetype(k) can be AND, NAND, OR, or NOR gates. For a description of the G-element parameters
# x& J: r. S4 k4 q8 l7 @9 G" j
+ }6 B( z! Q% `) y% C

该用户从未签到

81#
发表于 2012-2-23 17:08 | 只看该作者
shark4685 发表于 2012-2-23 13:45 & g! e% c+ {3 W4 [5 O) v- J7 \
你的语句选错了,试试下面的语法:
$ I! v' ~- @; K4 s% Y, {7 e
! g2 O2 A$ U9 ]/ WGxxx n+ n-  gatetype(k) in1+ in1- ...  
2 e7 l- V3 x9 P6 t" F
shark楼主 你说的这个语句怎么用的,我按照我的理解写了个网表 v(1)还好,v(2) v(3)直接 都变成 直流 0电平了啊 。9 I+ ]$ R: n) z, z( Y$ J
我就只是想把两个方波进行逻辑与或之类的,怎么波形都这么奇怪。
4 c& c! A* S# d2 g. c  J
# e, u6 C3 e2 t% I: Y0 i! |语句就是直接换了个字母:
" c! X: {* i7 H% k4 e9 G* A6 Jvi1 1 0 pulse 0 1 0 0 0 10u 20u
2 g: M8 C# ?5 Z5 ]6 zvi2 2 0 pulse 0 1 0 0 0 5u 10u% T( U! G, j4 P, ?
Gand(2) 3 0 1 0 2 0
( Q5 l( u$ I( J$ F7 i* B
, w: A7 r3 K( P这类门逻辑语句太让我纠结了 用起来好艰难。后面那啥x1,y1什么的,我看了几遍解释也没理解它想说什么,所以也没写。      o(╯□╰)o  

该用户从未签到

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

该用户从未签到

83#
 楼主| 发表于 2012-2-24 09:46 | 只看该作者
GXXX --- 电压控制电流源# u  ]8 R! [; U5 R7 J5 o8 c+ }- i. F
FXXX --- 电流控制电流源0 F* t6 P3 Q3 s' T" f/ Z
EXXX --- 电压控制电压源 * h! [" {, L+ e" `; I5 B7 c
HXXX --- 电流控制电压源
& k' l. b% z/ @  e6 [( t--------------------------------先搞清楚你是那种电源。
  g) ?3 I$ X' k) [* K: E8 i. s8 y. w
3 K* f# M5 w' z. zgatetype(k)  逻辑门的类型可以是AND,NAND,OR 或 NOR 中的一种,参数: @$ g& L; N; z7 |2 `4 Q
(k)代表逻辑门的输入端数目,”x”,”y”表示作为输入函数的输出分段线性变量。
) B0 ~) |; B3 N, @* t# [5 R/ [6 ]' S2 F4 B8 W7 A9 l
x1...  在 VCCS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。
9 X- x. J4 {: {  S, ^. N      在 CCCS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  
3 I" Y* W+ `1 |4 [$ m) l+ N      在 VCVS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 ( J6 K( r! [9 ~. E7 d" W$ p2 k
      在 CCVS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  ! f+ |7 l% j' S/ g6 f3 n
y1...  在 VCCS 中是:  与 x 相应的元件数值
" o4 ]5 r/ m& w' W* @7 l      在 CCCS 中是:  与 x 相应的输出电流值
; t# X: f1 Z9 }( L; H& p& O0 I4 h      在 VCVS 中是:  与 x 相应的元件数值
' p; c1 x2 m; k8 x+ S# t$ C      在 CCVS 中是:  与 x 相应的输出电压值

该用户从未签到

84#
发表于 2012-2-24 11:15 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-29 16:38 编辑 # W8 v/ m9 B! a4 I
shark4685 发表于 2012-2-24 09:46
! ?9 u0 V6 y4 m% l0 @% S0 _GXXX --- 电压控制电流源
0 w0 R" j3 I( GFXXX --- 电流控制电流源6 d$ Y. m5 ]+ `9 P" B4 K: z
EXXX --- 电压控制电压源
- d, s1 _8 K2 Z4 `3 i' @

: J& W- D& O. U5 {  @我看了你说的,我又试试,感觉最初用的VCVS还是对的。不过我一直想不清一个问题哈。
! m: ?2 c9 Q$ h( O0 [' ~2 j
) `0 \0 X  I8 ^3 y我的目标是 与的效果 ,也就是真值表那种: ! w4 g) p3 u/ o, C& B
1  1  13 d( r9 m% t3 X4 q$ V
1  0  02 c- m! ~$ {6 `6 s6 }
0  1  0. I. `/ N% M6 R( P: R1 @
0  0  0! @" K! `9 P6 r
但是时间上V(3)的效果更像是一种编码:
) `0 a9 b6 v3 v+ h( G. d1  1  3, b' ~, X( F- r* {1 Y% O
1  0  2. f% j  T- o% g6 V: ~4 a7 V
0  1  1
, ]  c5 Y$ i3 D* b0  0  0
) {" |3 z( p3 w; M
% ?; @  q/ r, X; z/ W4 n' j9 h- r难道我少设置了什么参数???! `) X0 {8 I8 C  \9 s

/ ?8 [( a5 ]) f$ L* d全部网标内容如下:0 q7 B( Y; K' u6 Y+ g
circuit of test20 Z: s6 g; y3 @! ]7 k( i+ P
.options post
# j. q8 e( p9 n# W2 |% \1 |
3 j4 H8 ^) T- V! f$ V! P" _*main circuit/ a; o/ S' i/ ?/ t3 [
vi1 1 0 pulse 0 1 0 0 0 15u 30u$ E% H& q- Y! x
vi2 2 0 pulse 0 1 0 0 0 5u 10u
& x% n8 ]. R. T  M; J" TEand(2) 3 0 1 0 2 0  % 这EXXX的语句肿么写的 纠结# D/ {7 n, Q- V* D) S- y

2 z% E. @7 q9 W, c1 t' a.tran 2n 60u
' c/ e% d  A1 W6 I5 h) ^.probe v(1) v(2) v(3)/ i) p" w. a* g* j
.end
% v1 Z) [4 f4 m! \

该用户从未签到

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

该用户从未签到

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

该用户从未签到

87#
发表于 2012-3-1 10:44 | 只看该作者
shark大神 在不在 问你个问题:5 W0 K2 g% A' _" {0 x% ?
怎样给一个子电路添加延时啊,
, N$ O$ N- J8 ]) \% w. d比如说,我想应用某个子电路的时候,我希望这个子电路是存在延时的,怎么添加这个延时啊 !!!5 K& c: c' j* b7 ?2 P
求指导啊 !!!

该用户从未签到

88#
发表于 2012-3-1 16:08 | 只看该作者
雁过泪留痕 发表于 2012-3-1 10:44 4 ~( C: B7 q/ l1 _5 X/ _
shark大神 在不在 问你个问题:% _% p: h3 U% |; C
怎样给一个子电路添加延时啊,
! x% a. s: u0 a1 ?比如说,我想应用某个子电路的时候,我希望 ...

! v2 n8 r4 p2 H/ h用这类语句 , i! j' }) v( N4 w7 ]% [
Exxx n+ n- <VCVS> DELAY in+ in- TD=val <SCALE=val> <TC1=val> <TC2=val>% }$ {( x* p8 q
+ <NPDELAY=val>  w/ O3 f6 ?+ O% d
无意中看到了。。。。。。。。o(╯□╰)o
" x6 v& R; R3 b' |# p3 a/ S麻烦大家了。。。。。。。。。

点评

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

评分

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

查看全部评分

该用户从未签到

89#
发表于 2012-3-2 09:50 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:23 编辑
4 @+ \( p9 |0 `/ T( F1 H6 B% \9 F% y
之前遇到的Exxx(VCVS非独立源)中multi-input gate 语句的用法,我在其他论坛上找到了一些提示,在这里讲一下(纯个人理解,错了希望大家指点一下哈)。6 H- ^( v; V" Z+ e: C
首先参考网址列下:+ Q% I/ N4 G6 N7 ^- s" x
http://www.edaboard.com/thread98195.html   (提到了一些关于三输入语句的用法)* c$ R( E3 K; q7 I( v+ }' F
还有一个是逻辑门的spice语句:
5 W' M5 `1 B2 V! }' i3 Fhttp://www.ecircuitcenter.com/circuits/logic_sw/logic_sw.htm
1 H4 B* L% @4 G& S
0 @2 I8 [6 w! l  K; @! R+ U$ E# d/ jmanual上原语句如下(VCVS下的多输入门):
) l5 b4 ~' u# N: J2 o) h# W- M多输入门  ^5 t0 a" u. d4 ]! Z; E
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... ink+ ink- <DELTA=val> <TC1=val>% r# j$ G+ y+ C2 r. x3 J
+ <TC2=val> <SCALE=val> x1y1 ... x100y100 <IC=val>
2 {/ [- T& X, u! k9 [+ w+ T7 D' M# E! P! x* Z2 n) h; |
语句相关解释如下:- U9 E% _1 J9 S' I8 [& Y- b7 c
①Exxx          电压控的制元件名。此参数必须以一个“E”且后面紧跟最长至1023个数字字母顺序的字符开始。( }- t, D1 U; I/ b
②gateype(k)  可以是AND,NAND,OR或NOR。(k)代表输入的门的数目。x’s和y’s,作为输入函数,代表输出的分段线性变量。在多输入门中,仅仅有一个输入决定输出的状态。以上的关键字字不应该用作节点名。- D( _4 O/ M5 `# `/ _  c9 a
③n+/-          控制元件的正或负节点。# t' Q* `& P! X) z
④VCVS 电压控制的电压源的关键字。VCVS是一个保留的关键字且不应该用作节点名。5 ]% c0 b9 q  o  [& S' E6 w2 A# B
⑤x1…           通过in+和in-节点的控制电压,x的值必须是递增的顺序# r& z2 {9 L; f' |  A# ~2 D
⑥y1…           x的相应的输出电流值。, T# o( H2 h2 M; L
⑦in+/-         正或负控制节点。规定每维一对。
* y6 {0 D% U& b% A2 s* X( o+ B
5 U4 k/ K  r9 ~1 e8 }其中我一直纠结的就是x1,y1的用法,参考国外论坛的大神们的指导,我理解为这里是规定门逻辑电路的真值表的。
9 U6 o( s6 g" m& i1 Y6 O我写了两个网表如下:
. z5 M& _5 b' z( U% F, o6 R+ `先来一个或非门的8 l8 f: Z, Q) J; |& y7 B! z
circuit of test28 P2 j4 }( p5 T( M9 ^. ~0 P$ A
.options post
  ]/ [2 C4 B+ ]' K5 U1 F2 h& U) ^" A0 @( B) l! U8 ]
*main circuit4 t" v5 v: m' S% q
vi1 1 0 pulse(0 1 0 0 0 50n 100n)" |  ~5 {$ a7 W7 c# b# p3 H4 s
vi3 2 0 pulse(0 1 0 0 0 75n 150n)
+ ^- h- q, m; H; g+ z/ V+ }+ Ce 3 0 nor(2) 1 0 2 01 N) b' x/ ~% t+ [3 J  a# G8 u/ ~  S
+0.0 1.0v
2 N6 n  W2 P. T- A( \+1.0 0.0v
$ \: c1 ^/ Q/ x. s. x1 b7 t       
5 H. X/ Z+ v1 C7 W.tran 2n 1u& a# R; m  ]- w6 ^2 Q9 N8 |
.probe v(1) v(2) v(3)% }, f# C3 ]- h' z! O
.end
' W- I, S" E0 \" F效果如下:$ ^# P  o5 I$ p$ L; J: H9 a

$ H8 S8 `7 s( C4 J0 \3 i/ ~) F8 H" w" B. J
再来一个与门的
" e2 x  r. x- E$ U6 k; `circuit of test2/ R, Y8 a! u# A- X1 {
.options post7 U, e) ~* T! b+ {: s* y2 ^# T/ b

, Y6 L& p/ c; X5 G6 d' g+ s6 k6 W*main circuit
. A& u" a" l: l4 Xvi1 1 0 pulse(0 1 0 0 0 50n 100n)/ t+ l; f) j5 K! |) v
vi3 2 0 pulse(0 1 0 0 0 75n 150n)4 ?) q0 ^4 m" t; B
e 3 0 and(2) 1 0 2 0
* ~# ~' ]3 k: O& E2 R: \: f* ]+0.0 0.0v
& i, V. V9 F& ~; T# @+1.0 1.0v
% N6 [. I$ m0 {$ L" J: E0 i. ]        8 Q* t( `8 H4 v7 o- g1 V1 h. l
.tran 2n 1u
$ \& S1 H" a8 p" X.probe v(1) v(2) v(3)* }  }: V( w! }; O' N
.end
1 D& D1 a( L( d, [, A: L效果如下:
5 Q) F5 J. i) r, G" g8 X
2 [! B6 \( K% D% ~
0 {8 H% |% G: @* t; D: c: h8 F9 y有什么错误希望大家指出来(有种不祥的预感) ,好学习一下!!!

该用户从未签到

90#
发表于 2012-3-2 09:58 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:04 编辑
6 `! ]. E. G0 D6 N. b' o2 I
! @6 [0 T1 s; i( P, B5 }虽然可能这个问题就我反应迟钝,不过我补充一下:
' {+ c! F) u" b) B- `在这个语句中,and/nand 是输入中较小的一个影响输出状态,而 or/nor是输入中较大的一个影响输出状态(和我们所理解的门电路逻辑一样)。这里的x可能就是对应着系统判断之后输入中较大的或者是较小的一个值,y就是对应着这种判断结果应该输出什么值,(不知道我是不是理解偏了)。所以,按照门电路的逻辑,我们只需要在,x1,y1,x2,y2,.........中注意设置x,y对应的逻辑关系。
, ]" V4 [  u0 w  r) a+ E
2 y! N1 E: F6 z) ~: _  U" G5 S9 h% M
5 M% e  i+ _' p, ?顺便在此 大力感谢一下shark楼主给我的指导,有不会的我会再回来的(这么说肯定会回来的,o(╯□╰)o),希望大家继续指导啊 !!!
! ~' O7 T9 W9 _3 _( I5 d
; W" B9 @* o0 K) S7 ^# q7 ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-4 19:27 , Processed in 0.140625 second(s), 25 queries , Gzip On.

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

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

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