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

Hspice学习帖

    [复制链接]

该用户从未签到

76#
发表于 2012-2-23 11:24 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:26 编辑
! W8 e; S! H4 `4 R% M. W# X9 a) j, Z2 R! k( j
楼主 想问个问题哈 还是之前那个毕业设计哈 。
/ _0 G( S$ ~5 V$ K/ A想问一下hspice里面 门逻辑 (与门 ,与非门 ,或门之类的)语法怎么用的。
; L  Z' e8 w3 Z( F" K' ~' ~: r' q. w之前在hspice的manual里面找到个关于multi-input gate的语法:
2 \& h' L3 x( H8 ]. j6 j3 T4 oExxx n+ n- <VCVS> gatetype(k) in1+ in1- ... inj+ inj-
; |4 v/ R( X( L  E! {+ <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>5 r9 d1 k$ ~) o6 n) q* r
+ x1,y1 ... x100,y100 <IC=val>% g7 n0 f, j8 j  ?  K. W

& J/ i5 }( j- G, T5 ^由于才疏学浅没看懂就随便写了几句,
' v- f" M% f+ A9 k$ A) c- ]% b主体语句如下:
! T/ [/ o% r1 j" N* l2 ?7 S. Gvi1 1 0 pulse 0 1 0 0 0 10u 20u) V" E, ~0 }: j0 S4 z
vi2 2 0 pulse 0 1 0 0 0 5u 10u
3 A/ i; a4 [# J4 B& a6 y% q4 KEand(2) 3 0 1 0 2 0
) n- _3 U0 a; s9 @8 F( q1 s% i' A结果出来的图变成这样子了,完全很纠结啊,
6 }4 g8 f6 s2 B. {9 I) \

该用户从未签到

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

该用户从未签到

78#
发表于 2012-2-23 13:21 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-23 13:22 编辑
4 e6 p1 z; ^9 S  m+ Z6 A' o! G4 u, g5 P$ [# D& m/ `
76楼的图挂了 555555555  我再重发一张 不好意思. O/ J, M8 H- c$ L' v5 s* j+ {

该用户从未签到

79#
 楼主| 发表于 2012-2-23 13:45 | 只看该作者
本帖最后由 shark4685 于 2012-2-23 13:48 编辑 , T" I9 w) _3 a, N5 @! v  d# `4 f* G' l

$ O  S  C4 N; A& N, p" W3 j" K' P  A你的语句选错了,试试下面的语法:
  \7 y6 G0 U/ l) P
  e& T6 j) [* ^5 @  a! r% i: A# WGxxx n+ n- <VCCS> gatetype(k) in1+ in1- ...  
; r/ [7 ~# Y" K& i- t' E5 N+ ink+ ink- <DELTA=val> <TC1=val> <TC2=val> <SCALE=val>  
8 V, I9 G/ R! y4 @6 _- v: P% r$ W+ <M=val> x1,y1 ... x100,y100<IC=val> / s# U  M& B7 N' w) ~% E( Y

8 H6 ?8 C& i/ E# t$ o% |In this syntax, gatetype(k) can be AND, NAND, OR, or NOR gates. For a description of the G-element parameters+ \6 m' n. L. g) ]) o% s# p! x

8 `+ y2 ]4 m+ C2 M6 Q" T/ o6 f0 C

该用户从未签到

80#
发表于 2012-2-23 17:08 | 只看该作者
shark4685 发表于 2012-2-23 13:45
/ Q5 z) h# G: g/ j' _" p你的语句选错了,试试下面的语法:
7 I% z  O, Y0 P3 [$ x1 J! b; W3 p2 Y
Gxxx n+ n-  gatetype(k) in1+ in1- ...  

  `7 Z- D$ }7 ~1 \  |" I# o; Ishark楼主 你说的这个语句怎么用的,我按照我的理解写了个网表 v(1)还好,v(2) v(3)直接 都变成 直流 0电平了啊 。4 A+ {9 e; ?' R* P. u! F! P
我就只是想把两个方波进行逻辑与或之类的,怎么波形都这么奇怪。
- [. z2 m% b+ Q0 s, N
5 r. O- I. @4 d5 n" j9 ~语句就是直接换了个字母:: @5 A  n& a, @# A
vi1 1 0 pulse 0 1 0 0 0 10u 20u" p/ [( ~. ~4 [; `, A
vi2 2 0 pulse 0 1 0 0 0 5u 10u
: w2 i$ T2 `; H# @6 d: J! ?' t( NGand(2) 3 0 1 0 2 0 & t1 i* r( P' [9 S
) C0 X1 Q2 `0 j1 y2 H$ f) b
这类门逻辑语句太让我纠结了 用起来好艰难。后面那啥x1,y1什么的,我看了几遍解释也没理解它想说什么,所以也没写。      o(╯□╰)o  

该用户从未签到

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

该用户从未签到

82#
 楼主| 发表于 2012-2-24 09:46 | 只看该作者
GXXX --- 电压控制电流源; [. m3 T: X2 G5 H% |' S
FXXX --- 电流控制电流源
( h9 K3 v: p1 y' T8 d) kEXXX --- 电压控制电压源 9 V6 |! d: q7 Q2 R  P- G8 R
HXXX --- 电流控制电压源
1 F, `, H0 s- j: a--------------------------------先搞清楚你是那种电源。( A: m. o6 s& _2 p

; K! o. w/ W) H, Qgatetype(k)  逻辑门的类型可以是AND,NAND,OR 或 NOR 中的一种,参数, r8 D8 K3 w' x: _9 l
(k)代表逻辑门的输入端数目,”x”,”y”表示作为输入函数的输出分段线性变量。
$ w7 k0 D! g$ b  X; }( V' k
5 n: `9 M; P- T: Px1...  在 VCCS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。
: v% w: `! Q1 V& w: l6 J, m      在 CCCS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  % r5 v. ]  U8 I
      在 VCVS 中是:  通过节点 in+和 in-的控制电压,x值必须是递增次序排列。 3 A9 y1 |% c' A
      在 CCVS 中是:  通过 vn1 源的控制电流,x 值必须是递增次序排列。  
" L5 P9 U5 ]' ?y1...  在 VCCS 中是:  与 x 相应的元件数值
/ r/ Y4 s& F, \      在 CCCS 中是:  与 x 相应的输出电流值 + F- b; q0 s1 n+ ^0 B" z6 E
      在 VCVS 中是:  与 x 相应的元件数值 % y* K4 N) p! ]2 Z7 s. @
      在 CCVS 中是:  与 x 相应的输出电压值

该用户从未签到

83#
发表于 2012-2-24 11:15 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-2-29 16:38 编辑
) Y, t) f! T$ s9 ]8 x$ J
shark4685 发表于 2012-2-24 09:46 2 v) r  S# U( N' W$ |
GXXX --- 电压控制电流源6 P9 E, r6 \0 W2 D3 W
FXXX --- 电流控制电流源, Y/ e1 x. G) p- v) ^. {5 c2 J
EXXX --- 电压控制电压源

& D1 R5 |* {3 p! Z2 {/ D
, W* m, K4 F# X8 k我看了你说的,我又试试,感觉最初用的VCVS还是对的。不过我一直想不清一个问题哈。0 _# |7 X9 `" ^* @3 Y. z. ^3 `

/ k: K* {- q! t# P我的目标是 与的效果 ,也就是真值表那种: 3 w! h4 G. {0 H5 M. h4 n; d; Z  E
1  1  1
3 j0 N9 U% y1 b5 b4 b1  0  0& w) `% Y- n+ W* M; v. C8 N3 y
0  1  0
9 d  e6 i8 H8 j5 \. D, @; w9 `' x0  0  0* T! H/ K# C; e! j
但是时间上V(3)的效果更像是一种编码:7 X$ c4 x* k( S+ }5 T7 ?1 x
1  1  3& j5 ?  Z# O1 J+ B& w3 e) ]8 p1 U( P
1  0  2
9 ~  w6 ?: G5 W5 @0  1  1% h; B- l& z* {" W# v
0  0  0
. c' }2 f, w( M" B- b5 S1 g# {4 I4 e/ k: b& j; U& C. Z  K
难道我少设置了什么参数???; t5 S+ Q0 k" h+ v

2 S, L0 U# J7 w8 X全部网标内容如下:
9 n6 c3 l. K) k, Q  `' X6 d9 C& Lcircuit of test22 H# R! x- j2 `0 W$ [/ G$ H6 w) h
.options post
& H; ~  ]  G4 S0 D% K# m6 {5 `- l! Q4 s3 W
*main circuit+ f( ?3 R1 C, q# g  _8 x
vi1 1 0 pulse 0 1 0 0 0 15u 30u
+ S$ a* O3 A' a" m! S: y' `vi2 2 0 pulse 0 1 0 0 0 5u 10u2 R+ G3 D4 z& g5 ~. r1 g' c
Eand(2) 3 0 1 0 2 0  % 这EXXX的语句肿么写的 纠结
* H% K8 q5 P3 e7 Z. [4 y; l0 d' Q: E! S9 [( L! t: h/ R
.tran 2n 60u: O' y! o* n# P6 T9 Q, D
.probe v(1) v(2) v(3)  f% T# {- Y3 z0 W4 y. e1 o8 |
.end
1 ^8 V1 F# w$ C- f  o3 ]

该用户从未签到

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

该用户从未签到

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

该用户从未签到

86#
发表于 2012-3-1 10:44 | 只看该作者
shark大神 在不在 问你个问题:# I& W+ p: p8 W6 X2 q7 O2 C
怎样给一个子电路添加延时啊,0 T* k3 r4 T* b
比如说,我想应用某个子电路的时候,我希望这个子电路是存在延时的,怎么添加这个延时啊 !!!
* V" b/ C! H3 a求指导啊 !!!

该用户从未签到

87#
发表于 2012-3-1 16:08 | 只看该作者
雁过泪留痕 发表于 2012-3-1 10:44 2 F$ a; ~0 ~& o6 I$ n4 s. X
shark大神 在不在 问你个问题:! ]3 q( F, R6 P8 B0 B6 d
怎样给一个子电路添加延时啊,6 g4 D9 C, G! {# H$ K4 h% C, [
比如说,我想应用某个子电路的时候,我希望 ...
' I6 i4 s$ G" e* N5 y: u) G
用这类语句 + `) \+ n7 L. n8 ~. }# o
Exxx n+ n- <VCVS> DELAY in+ in- TD=val <SCALE=val> <TC1=val> <TC2=val>% {. L8 r) d4 I
+ <NPDELAY=val>
$ F: C; h) L8 O无意中看到了。。。。。。。。o(╯□╰)o
* H8 p  e8 S7 H' d: Q( g; h0 W麻烦大家了。。。。。。。。。

点评

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

评分

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

查看全部评分

该用户从未签到

88#
发表于 2012-3-2 09:50 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:23 编辑
; c% ~% |" q. W* x" d$ |4 y- v4 b- l8 N& G* K
之前遇到的Exxx(VCVS非独立源)中multi-input gate 语句的用法,我在其他论坛上找到了一些提示,在这里讲一下(纯个人理解,错了希望大家指点一下哈)。+ \7 p+ N' h1 o; X6 {
首先参考网址列下:
6 F) o3 Q3 a* a& e+ a7 c$ vhttp://www.edaboard.com/thread98195.html   (提到了一些关于三输入语句的用法)
1 ?4 c8 [7 @' {# Z还有一个是逻辑门的spice语句:
8 ]( W: J, h! o% nhttp://www.ecircuitcenter.com/circuits/logic_sw/logic_sw.htm+ a# \; V, z( `# Q3 E* l3 u" {# N8 h
/ k$ r. o* {8 j  W+ Q
manual上原语句如下(VCVS下的多输入门):
2 g; E. t/ z' ?" r) w8 k多输入门" ~; }5 \) h  _
Exxx n+ n- <VCVS> gatetype(k) in1+ in1- ... ink+ ink- <DELTA=val> <TC1=val>
, ]0 i6 b. q: \: S$ @1 h+ <TC2=val> <SCALE=val> x1y1 ... x100y100 <IC=val>  k& [: o9 {8 N7 [

5 P5 a) l) E* W" L+ }( q4 Q语句相关解释如下:) L6 _7 b0 Y" W6 W0 b
①Exxx          电压控的制元件名。此参数必须以一个“E”且后面紧跟最长至1023个数字字母顺序的字符开始。+ O: ^" U/ r* T% q3 j+ b- O
②gateype(k)  可以是AND,NAND,OR或NOR。(k)代表输入的门的数目。x’s和y’s,作为输入函数,代表输出的分段线性变量。在多输入门中,仅仅有一个输入决定输出的状态。以上的关键字字不应该用作节点名。
# `/ Y  w& n  d8 v' O5 v2 K7 Q③n+/-          控制元件的正或负节点。
4 q6 X! e, p( e4 J3 q2 F) L% }2 }0 {4 o④VCVS 电压控制的电压源的关键字。VCVS是一个保留的关键字且不应该用作节点名。
0 ]9 X: r7 `5 c, X( v⑤x1…           通过in+和in-节点的控制电压,x的值必须是递增的顺序0 m6 D! o/ ?2 R) D
⑥y1…           x的相应的输出电流值。9 h! ?8 l0 j0 h# p% M+ N
⑦in+/-         正或负控制节点。规定每维一对。" U' U- O4 T  F8 Y' y! Y
4 `' ]3 [6 d: ]6 T' E# ~
其中我一直纠结的就是x1,y1的用法,参考国外论坛的大神们的指导,我理解为这里是规定门逻辑电路的真值表的。0 N6 s& e4 D7 _8 J3 y$ h/ T
我写了两个网表如下:
& v0 u! X' p% I% Q先来一个或非门的( D+ ?  `2 W2 C) |& K
circuit of test2& T& \: ~2 D& G0 p. \. E/ W
.options post
) u2 D6 p8 ^+ P. V! ~4 o8 i% Z9 ?: J, K' h. n# v2 Y% ?
*main circuit
$ K: h  ^2 ^$ S3 y' dvi1 1 0 pulse(0 1 0 0 0 50n 100n), V9 o. X. T. q) U
vi3 2 0 pulse(0 1 0 0 0 75n 150n)
: N  s6 r4 K- ^1 E7 W6 K" Be 3 0 nor(2) 1 0 2 0! X) a' x5 o8 e: w& |  s! _
+0.0 1.0v/ |" D3 s8 x0 ~  m3 b7 o0 n
+1.0 0.0v
/ b! E) P0 b6 d1 u  u- J: T        3 e9 J- B" ]+ t5 ?0 |" L4 j
.tran 2n 1u
  @$ z3 f! h, ?.probe v(1) v(2) v(3)* T, y; i0 u2 c+ _" g; ~( h
.end
% H5 U6 p# N4 W/ F7 g7 v9 Q效果如下:) R4 G, C7 N9 F0 K

6 f( \. i+ j: A2 j* N+ M- h
9 T3 G; F4 a4 f/ c, U* v- Z+ F9 Y) u再来一个与门的6 b, o# Y; R( d+ e$ y- k8 ?
circuit of test22 u. F3 R) u) H* L9 ]
.options post$ ^2 i; Q; m& z6 [2 e
3 i- a6 T; c  u4 ]/ t  D
*main circuit# l* d4 R# q- e: R: W5 \
vi1 1 0 pulse(0 1 0 0 0 50n 100n)4 q7 u! m) W% o& S1 ~, a  `! P
vi3 2 0 pulse(0 1 0 0 0 75n 150n)
* P( I+ F* J" e8 {e 3 0 and(2) 1 0 2 0
6 q/ U# {3 R/ X% v1 u3 h( }+0.0 0.0v
% e) I6 [2 e% c3 q+1.0 1.0v
% Q8 y' w, |2 i       
0 f" V& {- E. u& ?4 `4 v0 j5 Q.tran 2n 1u
) v- k3 E$ c- r, j& u.probe v(1) v(2) v(3): Y7 i) ^" a6 [3 Q) Y7 g
.end
5 P; I. ]( T; Q) C! C- W: Y' N+ Y效果如下:
$ D! K" }3 U% |# M* a& [ 7 h8 p% H+ ^/ y7 {

1 v; x+ T# _" K+ L; p6 _; n有什么错误希望大家指出来(有种不祥的预感) ,好学习一下!!!

该用户从未签到

89#
发表于 2012-3-2 09:58 | 只看该作者
本帖最后由 雁过泪留痕 于 2012-3-2 10:04 编辑
5 N3 o8 F) p7 ^# a2 O5 m
2 Z0 g- f& O2 ~; G" @+ [虽然可能这个问题就我反应迟钝,不过我补充一下:
( G6 Z  y( U5 R- h: w/ P  |9 X在这个语句中,and/nand 是输入中较小的一个影响输出状态,而 or/nor是输入中较大的一个影响输出状态(和我们所理解的门电路逻辑一样)。这里的x可能就是对应着系统判断之后输入中较大的或者是较小的一个值,y就是对应着这种判断结果应该输出什么值,(不知道我是不是理解偏了)。所以,按照门电路的逻辑,我们只需要在,x1,y1,x2,y2,.........中注意设置x,y对应的逻辑关系。( M- y& O* g; S

% a( t! `% U8 d& a; `; I; a9 n- o, B  d$ z
顺便在此 大力感谢一下shark楼主给我的指导,有不会的我会再回来的(这么说肯定会回来的,o(╯□╰)o),希望大家继续指导啊 !!!) ?( c1 z. ?) P

4 Z. x, t9 g9 N# i

该用户从未签到

90#
发表于 2012-3-2 10:08 | 只看该作者
要翻页了么 好吧 90楼我要了
; u, g: _8 L2 ~6 `7 W真心觉得89l的东西写得连我自己也看不懂啊 纠结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 12:56 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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