標題: 3-to-7 Binary to Thermal Code Decoder 要怎麼解決這個問題 [打印本頁] 作者: stevenmike 時間: 2009-3-16 12:42 AM 標題: 3-to-7 Binary to Thermal Code Decoder 要怎麼解決這個問題 .subckt inv b a wdn=1u k=2.50 j, y5 ~ c6 c7 `8 C' s9 A* v
mp0 b a vdd! vdd! p_18 w="wdn*k" l=len% f @. F! b. N: X
mn0 b a gnd! gnd! n_18 w=wdn l=len # |- ~5 r( d% \.ends : d9 l3 \1 C- x! F- m: G % M& D% Z# Q6 x1 F6 F.subckt and3 a b c g wdn=1u k=2.5 * C5 V3 J5 F3 ~. X
mp0 d a vdd! vdd! p_18 w="wdn*k" l=len( U6 r' c0 B& V) Z
mp1 d b vdd! vdd! p_18 w="wdn*k" l=len ( r* s4 j$ [* u; M3 w. Pmp2 d c vdd! vdd! p_18 w="wdn*k" l=len+ {3 S# E0 k7 R+ j$ a
mn0 d a e gnd! n_18 w="wdn*3" l=len / S8 p+ G* D5 ^# N5 _5 Z8 l9 `# b: e- |8 `mn1 e b f gnd! n_18 w="wdn*3" l=len & Q/ }1 Z( A7 ?2 t) u( jmn2 f c gnd! gnd! n_18 w="wdn*3" l=len' p, v. }) b \
xinv d g inv C/ v! u# l6 v* l5 n) r.ends % `$ |' C! U$ j' N. l. M) n3 S; E: r/ ?6 @* q
.subckt and2 a b f wdn=1u k=2.5/ y0 p: ?* L! b5 g% H4 f
mp0 d a vdd! vdd! p_18 w="wdn*k" l=len 0 p z, D9 L, |' K% i/ Imp1 d b vdd! vdd! p_18 w="wdn*k" l=len / X0 ?' c2 n* ]* dmn0 d a e gnd! n_18 w="wdn*2" l=len7 @. H. G+ [& w: K/ R- T$ `) s
mn1 e b gnd! gnd! n_18 w="wdn*2" l=len" | P, U5 F1 O! @! ~* {& p ?* g
xinv d f inv 2 @/ y) K( m; k; g.ends6 h. ^* F4 n2 n7 H( l4 i
5 `- D, z* h! E6 U" s1 { i.subckt or2 a b f wdn=1u k=2.5 4 A0 l2 u7 a5 \6 |/ U: M; B3 ]mp0 e a vdd! vdd! p_18 w="wdn*k*2" l=len - ^$ l2 m9 R5 P, q6 X/ pmp1 d b e vdd! p_18 w="wdn*k*2" l=len0 k2 d4 P6 ]& y. w1 K' }: x" h
mn0 d a gnd! gnd! n_18 w=wdn l=len 1 L/ W6 b: m# {! w' hmn1 d b gnd! gnd! n_18 w=wdn l=len 4 _4 A F% @5 Pxinv d f inv . N. y4 e( g9 p! ^: y, `.ends 3 \' y, E+ r: t' Q& M1 T( B* D) v, A8 z; {3 E: I1 Q4 t- u! W
.subckt or3 a b c g wdn=1u k=2.5 3 q9 M" _- T% D% V. `0 T
mp0 d a e vdd! p_18 w="wdn*k*3" l=len' i4 f% S" }9 T3 \4 N, t" ^3 m4 S
mp1 e b f vdd! p_18 w="wdn*k*3" l=len + f4 m7 R9 c3 rmp2 f c vdd! vdd! p_18 w="wdn*k*3" l=len - Y9 a, g' v5 u L; `mn0 d a gnd! gnd! n_18 w=wdn l=len 8 L$ b: [& ?5 H7 ~0 D% @6 wmn1 d b gnd! gnd! n_18 w=wdn l=len0 I6 N# M5 P' ]8 ?$ [
mn2 d c gnd! gnd! n_18 w=wdn l=len; x) M' a7 S8 o! C2 X
xinv d g inv 2 d3 v- ~$ O1 a2 ^.ends 7 f! q) x0 [2 G# G* v : }0 e& n" F! v/ }5 X1 R; n.subckt buffer b a wdn=1u k=2.5 kb=1% E! \2 e% l8 v. @/ }
mp0 b a vdd! vdd! p_18 w="wdn*k*kb" l=len$ b" S5 D4 O" L
mn0 b a gnd! gnd! n_18 w=wdn l=len H( \3 z" t; \" c0 F4 v9 Q
.ends1 ]7 Z7 J' I g3 {# x4 ?) {7 J8 ] L
* i+ F" a, S- L' X* C% W: F. K3 Uxt1 b0 b1 b2 t1 or3# v7 P8 [# M$ }
xt2 b1 b2 t2 or2 ! s8 n& M* T/ Oxinv b1 b1b inv & U! Y ~" ]6 L- K# {' n6 sxt33 b0 b1b b2 t33 and3 . c( v/ p& e2 f& vxt3 b2 t33 t3 or2 8 Z5 Z# X; X; [' Yxt4b b2 t4b buffer kb=3( }' j: P* Q6 ]! E! s5 n
xt4 t4b t4 buffer kb=9- _2 t% l! b+ c! K4 G
xor5 b0 b1 tor5 or2 & {% v- B" g8 w% H# G F3 dxt5 tor5 b2 t5 and2 " \' y- a1 F) V( Qxt6 b1 b2 t6 and24 g& H' z7 I1 A, a% \. c6 R6 v
xt7 b0 b1 b2 t7 and3) ]% Z, R" e: A. n1 B; y$ [- n& i
vdd vdd! gnd! 3.3 7 m( x- A# w$ t" _+ O2 pvb0 b0 gnd! PULSE 3.3 0 0 0.5n 0.5n 4.5n 10n , A# V2 K8 D9 zvb1 b1 gnd! PULSE 3.3 0 0 0.5n 0.5n 9.5n 20n/ v3 x& A2 @* E; d1 k# Q, N# n# z
vb2 b2 gnd! PULSE 3.3 0 0 0.5n 0.5n 19.5n 40n 2 L- G) b9 A1 B, g.tran 0.1n 200n / i& u" m5 z& s; d( ^1 L e7 S5 ]CL1 t1 gnd! 5p & w; u- |+ U2 d+ P- |CL2 t2 gnd! 5p F" X: w3 n5 A' ?7 b9 h& |
CL3 t3 gnd! 5p. M5 _: t3 O, z4 x. H8 B
CL4 t4 gnd! 5p 9 ?2 C: U3 q N8 qCL5 t5 gnd! 5p, G" a/ G, _, {5 E1 g" q
CL6 t6 gnd! 5p! s: t# I2 ^8 t# v9 {. D
CL7 t7 gnd! 5p , L$ V* f+ r- B4 L: t/ A.end * W2 ^; M/ P* f f9 |6 p& |$ l4 P/ t% W* ]6 Z4 Q0 H3 {
**error** no dc path to ground from node 0:t1 defined in subckt 0 0 U% ]0 q" o7 Q
& {$ w9 E! A% X) z5 h7 a0 f. z
j6 t3 C+ b2 x
請問要怎麼解決這個問題作者: n3e050 時間: 2009-3-16 02:00 AM
你的SPICE電源設法是底下這行 0 V- ~9 e6 r3 k5 `% Jvdd vdd! gnd! 3.3 3 v' n7 _4 m' `9 E9 E你試看看加上下面這行看看( j7 `0 ^) L% }; F4 z0 q) s
vdd vdd! gnd! dc 3.3v : l5 n& r1 {5 C1 L/ V再試看看 應該OK I& V, z. K& R/ U
$ v2 F6 _3 K @, l9 ]
[ 本帖最後由 n3e050 於 2009-3-16 02:03 AM 編輯 ]作者: stevenmike 時間: 2009-3-16 11:59 AM 標題: 還是不行耶 我試了你的方法~~~可是還是一樣的錯誤作者: layoutarthur824 時間: 2009-3-16 04:44 PM 標題: 回復 1# 的帖子 **error** no dc path to ground from node 0:b1b defined in subckt 0 ( v# v5 Z7 ]! ]4 S **error** no dc path to ground from node 0:t1 defined in subckt 0 + J, c) W% x8 W" n
**error** no dc path to ground from node 0:t2 defined in subckt 0 * x* v5 d* i3 g5 @ **error** no dc path to ground from node 0:t3 defined in subckt 0 $ \( E& h- K$ D _1 B q
**error** no dc path to ground from node 0:t33 defined in subckt 0 5 S. o2 w+ G# l4 ~
**error** no dc path to ground from node 0:t4 defined in subckt 0 0 j- Y+ u7 }* t, M3 w **error** no dc path to ground from node 0:t5 defined in subckt 0 / p M N, M5 Q& z5 x$ x
**error** no dc path to ground from node 0:t6 defined in subckt 0 + z; P+ k7 T5 I" J8 i& ?, h* M
**error** no dc path to ground from node 0:t7 defined in subckt 0 8 R0 x" n0 s" i& k6 b
**error** no dc path to ground from node 0:tor5 defined in subckt 0 . `3 }' k0 D: P+ r' O( Z! J+ ~我幫你跑過還多了以上的錯誤 & R: n; Y1 {; j! y8 D& _) X看了你的邏輯閘發現都是輸入端8 b: C7 w F) N. _0 i5 o
輸入端是要給他電位的 0 ~4 I2 \9 I2 o4 j4 A2 d5 w你是不是忘了給他加CLK阿? ! M& `; ?) l0 q5 M8 w7 D我加上CLK後就都成功囉 # _" g. o$ J. s以下貼下去就會成功了 是我隨便寫的CLK / S/ r# V' B7 n7 h0 |vb11 b1b gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n ) 9 Q, Q4 p+ J& i" {vb12 t1 gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n ) ( d5 P# Q2 A' h, ?$ dvb137 t2 gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n ) c5 L* Z- m# x3 j3 rvb183 t3 gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n ) ; P0 ?% T2 X7 A3 y6 B, F5 J' L9 Hvb133 t33 gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n ) 5 L' p! M2 b$ A$ m0 G0 g. Vvb1d3 t4 gnd! PULSE( 3.3 0 0 0.5n 0.5n 4.5n 10n )6 _4 F2 @# @) N4 _4 Q! q/ ?
vb1773 t5 gnd! pulse( 3.3 0 0 0.5n 0.5n 4.5n 10n ) : z7 ]+ c3 c `3 g- svb17473 t7 gnd! pulse( 3.3 0 0 0.5n 0.5n 4.5n 10n )! e8 V" ^8 {) y7 \
vb174s73 tor5 gnd! pulse( 3.3 0 0 0.5n 0.5n 4.5n 10n ) * s2 r% s+ Q1 _- A- {* ^若不是加CLK就是還有外接別的電路或是接錯囉 & X# k" h6 S# m+ `) B" `% u0 q & w1 C: n+ s# o[ 本帖最後由 layoutarthur824 於 2009-3-16 05:07 PM 編輯 ]作者: stevenmike 時間: 2009-3-16 11:43 PM 標題: 應該是不可能接錯 我把我接的電路給我同學看~~他也找不出錯誤來 # T, z. q7 h8 z- I所以應該不是電路接錯....輸入的話題目只有給三個輸入~~~所以應該不需要打你的CLK就可以跑出來作者: n3e050 時間: 2009-3-17 12:12 AM
我在想...你的電路是不是用IC5141 USR3接出來的? 3 G: _4 r# Q0 ^1 B, b如果是的話,那個版本很容易出問題...' T2 p2 \2 f$ m! c. m. s
換成USR4的接看看吧...9 P6 Y& ?7 H4 ~4 p8 u
因為我同學之前用IC5141 USR3接電路,2 b5 v& ~' y! ]& k
轉NETLIST出來後,不管加什麼參數都ERROR... # k& {3 w, }7 @1 W可是同樣一個電路,從USR4轉出來就很正常# [4 x. G# y# x' E. c
供你參考^^作者: layoutarthur824 時間: 2009-3-17 03:13 AM 標題: 回復 1# 的帖子 sorry我第一次幫你看時沒看出來..... R* w% b& X2 F- o9 }
關鍵就在於你的INV的subckt+ A; q" R" R# C: r/ H8 [
.subckt inv b(輸出) a(輸入) wdn=1u k=2.54 T( f) k) t+ N
mp0 b a vdd! vdd! p_18 w="wdn*k" l=len8 X0 s* K% A* t& [' a$ Z
mn0 b a gnd! gnd! n_18 w=wdn l=len7 z. Z/ l1 m M, ~2 s7 ^
.ends 5 J7 q, _, s3 a3 W0 M6 a你的INV電路描述輸入為A 輸出為B9 H4 `: J/ ]3 ]6 q0 L
但是你在 and3輸出要 引用INV時卻反接了7 ~9 ?8 E2 v! j: k$ l4 \9 M
導致你的輸出端誤認為輸入端 所以才會有這個EOORE出現 - {4 v6 s7 X4 M3 \0 H# W同理你有引用到INV的全都是以上的錯誤唷) R# c& |4 r8 U! I& Q* m
.subckt and3 a b c g(INV輸入=AND3輸出) wdn=1u k=2.5 ( [# p u' @+ X' K: x5 I; l$ E6 H" Mmp0 d a vdd! vdd! p_18 w="wdn*k" l=len 3 j. i& b# Y! A- ?6 ~9 xmp1 d b vdd! vdd! p_18 w="wdn*k" l=len" F& E7 H0 O2 _) q9 s; w( g( p$ Z! {
mp2 d c vdd! vdd! p_18 w="wdn*k" l=len" T; a; @" E- B4 v; s% t* K: J
mn0 d a e gnd! n_18 w="wdn*3" l=len 1 n; |' P7 S) W5 K; ^mn1 e b f gnd! n_18 w="wdn*3" l=len . q0 U* ~+ r; B7 `2 z; dmn2 f c gnd! gnd! n_18 w="wdn*3" l=len / M: s0 Y8 |& `: A: L' h/ H(以上程式的"d"是要接INV的輸入才對可是下面你卻接成INV的輸出了) $ v* x1 i. u7 p2 P/ Y- |xinv d(輸出) g(輸入) inv$ Z/ W( N) h; Y' \$ z/ {
.ends & t2 u |- D- b4 q! w7 {你只要將INV的SUBCKT 中的a b互換就行了 q& c3 B8 m% P5 w- V* [
若電路還有問題可以再提出來我再幫你看看 . p( u" j/ }+ n$ y9 i( V9 ]# y . _" [4 }% k+ A) O1 K5 M# l[ 本帖最後由 layoutarthur824 於 2009-3-17 03:22 AM 編輯 ]作者: stevenmike 時間: 2009-3-17 05:39 PM 標題: 謝謝囉 謝謝喔~~~~真的是反相器的問題 / b8 Q* H0 x$ N) H5 a( G) i2 O0 B這個問題困擾了我真久 1 o7 q, F( \8 j E6 f2 ~~~~~那LAYOUT 要怎麼畫面積才會比較小呢~~~拆根數是多少長度以上才需要拆!!& H! x0 G+ H1 v @
因為每次都畫得很醜作者: CM168899 時間: 2009-3-25 11:39 AM
LAYOUT 要怎麼畫面積才會比較小 這要靠經驗啦 不是三言兩語就說完的......0 }0 j( i2 _" }* p/ T6 ?4 Y: k
拆根數則需考慮整體layout面積來決定 但是一定要猜拆成雙數 共用drain部份喔