|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.# D/ A# \. v& L) U8 X' I( ]
我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,# [0 d2 g/ Z, o7 P& n3 V! C
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
. ?' J* W) G% E到後來有需要的時候, 才把composer教給他們.
_% `+ x* K1 a; Z" a3 w
" R0 y# J2 M2 d6 }當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, 5 p8 i6 q8 L# o" f; j' }, c% a
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, 3 r, s6 g+ m7 o# D5 w0 ~% w' N
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.* v2 R' l# ^0 M, ~. v- }# n& O2 @1 z; ^
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,- g" R' V! {( w4 W0 D- L" U. u
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.% v1 m/ Y _) j) i
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, / |; s/ f0 s6 J# W: R
若是沒有經驗的designers本身, 或是仍在學的學生都好,
7 m' V A0 `7 D# B! r能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?0 z$ e9 m+ R) d7 o* B7 R: C
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?- n4 a8 I7 S) e, Q1 {! V
你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,
" Q) D' J8 a9 Y6 Y- Z: M* @最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??5 t2 n" o- a. [ x: d3 ^+ I- Q! r
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
8 \: T( F' e; r7 Q而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
$ ^9 W8 I7 Y9 O5 g- m因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?+ C& ]7 b( K C; r; P* A' o
9 e1 X4 B$ e5 H; O% H- j/ \! a, Q您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
% h# `' H9 V1 J7 V2 w( V G7 L) [' L大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, . h2 P, \6 p1 G9 S8 B, F$ |
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
% {7 U4 H0 e3 w5 ^: X |8 A) S1 m4 w"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!) s5 ~1 x" Q7 } ` s- S( T8 ^
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.
& p4 o# z% o! o5 X: F$ t% z, `9 t( O; Q所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.
% y. e0 q0 k% n3 {$ ^5 x+ }6 k
& v4 o1 c1 @( D) r. u但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.
* m2 P6 W+ z3 ]) ~& a我不知道您所謂的小公司是多少人叫做小公司,8 e( n7 ?3 A, v, U r+ \3 k
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.
( F. h% j# H& ~( D! V# i在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
: z/ u% K( {) o; `! k. q這個後果也必須是你自己要來承擔, 是吧??
8 r) g) K# G# q& F! X學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, + I; }8 e+ l1 j: V1 K$ U/ |' y4 |- }
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.; i+ g0 U( ^+ v1 q" w
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
5 _0 V+ J6 |4 }然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,# [* @1 y5 M1 _$ o+ Q- v
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.8 N, i- e0 m4 t" x; L `4 z
. D, M; k0 k2 k! U' Z當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
( B* N# \+ Y' q& X3 J- g7 m2 ?所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.. |) p: c4 O- D$ w1 ~# f7 A
就算到目前為止, 許多理論和知識我也都還在學習的階段,2 V W1 s% }. O2 ]
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.
- l) d/ G b% d% t但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題,
3 V1 L) ^% _. g3 a0 w) `以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,
% o* c9 o6 Y9 B8 ^; B要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,3 g6 i6 U ^" u, O# w" s
到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.' m7 D& S' Y+ ?* w# n, G/ [
簡單的說, 前面電路設計的部份, designers要怎麼做都好,
* @& j { h" n# D! x3 @但是今天一旦designers released circuit給layout, 8 ^9 y# n' S/ Y' e$ @
或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout," Q9 u, Q3 c1 j. e
這個consisteny絕對是designer必須要去keep的關鍵所在,
+ Y+ d. C7 J7 Y2 j$ d對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生,
) Q; z) ?+ {0 A+ e但我知道他們會盡量去避免所謂"inconsistency"的發生,0 t) w2 J; ?3 Z+ O
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
( c R. n) T2 v; V! d, r8 g+ W4 W( Q. B/ ]& Y/ Z6 [6 _
當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim. ]2 T9 _1 }3 C& \, ^( C C; W8 s" ]
這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
6 H& x; D* K2 I也並不代表每個學校的每個實驗室都會有這樣的情況,
5 w0 n @) E0 e8 T" b- J所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
% x5 ~( Z+ u P2 }: X0 e( o# z' z3 C& }+ Z# G9 R7 ~! a. c
最後關於第5點, 我想您是誤解我的意思了.3 E/ y9 G3 V( V) D& q/ S) W! E
這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.* K' z. h; j# u7 t1 E' L. P8 C
沒有實際的經驗, 恐怕它的確很抽象也難以體會.# s. b: X: i9 ~( P3 X
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,
8 j0 |& l; P. q7 [8 e同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
( c. G0 _* L: Q! I# G, z+ ^circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,
7 \' d$ Q; S7 v6 y因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,
* |0 @4 q( f8 p% `% S1 M$ Q絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
* F) ^% Q: L( j. e9 O因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
, B# U! T1 f7 B) I% v4 i
, F7 t- K2 X: c( P最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,
& S4 |2 k" ]! h當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,
" n% ?0 G( |7 t" [. w或許比您所想的要多得多了.! }) Q# ^; z% Z! i5 e0 {4 b& K
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.- }1 c+ I+ |) G
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
- `- v e- o2 Q3 _/ N8 o! G肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.! v/ f# ~# T, {7 ?5 R- N) Z
8 ~3 @4 o/ b$ v8 T) A
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
, q& b$ X8 w- M$ B$ l- O1 D或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊. 1 k0 c. e" |! R
試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.
1 t# U: p: G1 Z! s7 K' W9 {% q! [, W1 X; P6 O0 c7 q, S* @
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|