|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份. p" E9 T3 G! O9 I6 ]
我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,
2 I5 }. [; K6 p3 R- Z) F% ~+ e1 P手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
$ H4 W% q$ `5 N" _9 v到後來有需要的時候, 才把composer教給他們.& q) _5 N& ]( x* r
$ A7 W* c3 ~+ L. c' I9 }0 ^當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, 4 _2 l' M/ Q* J# A
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, 4 e5 D5 Q+ R) ]2 A: j2 }/ W6 r
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩. D' W8 W- S/ L O! t; ~2 L
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,7 [, n4 h' `/ O+ ~* z0 q
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.
( A: W2 L' f9 z8 n& ]0 ~, n" Y重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, ' B* j- h, {: u( d2 }$ c9 G) r# v j
若是沒有經驗的designers本身, 或是仍在學的學生都好,
# r; B; P7 s/ z5 p6 {3 g5 m( y能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?
{' J& B' ~2 @+ M+ X4 |你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?9 P& Y( Z* s! A6 G% G
你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,( e6 h/ u, A! _8 u) M( M+ V ?
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??
% R& j) S6 A3 c# j2 y+ @很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
- S) [, R* v; Z1 \: ]$ L而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
$ {8 f7 o$ a2 c因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
+ J$ u' K- N- S6 a" ?' B4 G; i2 ~: z' [
您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
, t( d5 y* W. J/ V大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路,
/ [$ b% S b& s或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
5 q; D+ u) E7 O0 \2 V"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!
" ~ L" x& x( _; ]* g類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.! y% G y" B$ L' Q1 ]
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.
5 E# I' ]; O6 H3 D7 @# D1 {6 N. [+ n: v5 J, I; G# @) a* O$ Z
但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.$ {( {+ Y- K( r g5 T s$ l
我不知道您所謂的小公司是多少人叫做小公司,
1 O* i, G5 s# f+ B我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.6 A% G7 @7 P6 ?; F' _2 O4 }- I0 R
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
7 {. D& m/ J# ^' ~; w7 ]這個後果也必須是你自己要來承擔, 是吧??
8 O; A$ h" y$ G: h6 \學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, " l6 a- k* e3 C* e4 _5 P- I+ R
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.
( g- W! c5 X# N2 {但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
; S; N& Y2 v$ D6 a8 N然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,
9 J t/ k1 f- B4 E( T公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.
4 r/ Z. L( J5 R1 E7 c' f. F" R& F# h# G/ ^
當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,3 k" ?+ {8 f1 u9 p! b
所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.0 q* l* ~" ^! K
就算到目前為止, 許多理論和知識我也都還在學習的階段,
5 T9 O5 [1 m! ]4 h" S7 e而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.1 f9 f& j }; `; `3 `
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題,
$ ]6 H8 W7 A. O4 t& M& m. H; J' l- G3 A以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,) E" }9 k: E( g* \! [* a0 L
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
' {+ R. \( p2 c. Y3 d. y: F! C到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.
9 a4 {* |$ l: p4 H; h) W% n簡單的說, 前面電路設計的部份, designers要怎麼做都好,
- `/ i5 D0 l: r! r4 @' w5 P/ p但是今天一旦designers released circuit給layout, 8 ?0 A! h. r# j( Q' l
或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,% a& u {% c* \9 \" G
這個consisteny絕對是designer必須要去keep的關鍵所在,
5 l# f- l! h: |' d) {, P對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生,
" M/ B5 f$ _! Z3 p& k但我知道他們會盡量去避免所謂"inconsistency"的發生,
+ ?4 B2 c: ~2 j1 O `$ Z: G4 J" @而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
$ r: y; s- Q6 f* m, r9 a! U. j
) a% T: F9 q$ z9 C$ a當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.1 U3 q! s, x/ C# j: y8 N5 ~5 R- p
這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
+ s0 s/ y6 X/ p也並不代表每個學校的每個實驗室都會有這樣的情況,
: \! |) u2 ]/ d# V* v' i所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
# h. Y; K) E% y: C$ u# B+ o2 V
最後關於第5點, 我想您是誤解我的意思了.
& O, s; F- M6 X, W; J這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
! Z: u4 e H8 m$ ]( L ]( J$ `沒有實際的經驗, 恐怕它的確很抽象也難以體會." ^; `, A# B+ X9 ~) M, X1 l
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,
' Z0 d3 K1 I! Q! K" a同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
+ E( y; s) \7 Kcircuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,, P- {) y; d$ l+ Y& b2 W
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,
1 v( w/ v2 ^+ Y" d6 d0 `絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".3 L4 h9 z+ q$ B3 i$ I: v7 s
因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
7 o U4 B: E0 _) k1 p* Z c- O$ ]) k' x1 p: ~ z. L
最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,6 m% I' c. A. Y" @7 e8 n# x% T
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,; v/ ~' I( N4 b* o7 _! X8 j
或許比您所想的要多得多了.+ N: h, l& ~. ^- [. C9 o
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.# z2 | R3 W4 k1 A9 W
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
4 `* P( {5 b1 x肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
: T$ c. g9 V/ e- y" V; N p( \( e8 I* ^& T/ c S3 A4 d; t/ E
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
B3 p6 u/ w( s4 m9 n+ D; `6 R, D" d或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊. - r6 o9 r4 O4 h5 @ M
試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.* G3 K; x2 @" Q5 H) N
1 |0 W/ p& D3 N: r: c. N
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|