|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
! R0 H; s t y2 X# \8 J6 d S我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,
8 m) H/ W% C+ G* b+ h手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
* t2 D* F$ r3 `& z% i1 ?! o+ ]" v到後來有需要的時候, 才把composer教給他們.0 v: o- W: G8 b: {' R- e' I
& A4 X+ i; r5 R+ m2 ?' `
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, ; i: j: ]( z1 i% @' u4 K% L; f7 K
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, . D- D% `- _ c, _5 m$ v: v5 @
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.1 s; R" q) j* F _6 I
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,6 S. k0 w, y6 t* x: h3 `3 E
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.! H/ b* L0 o1 L2 G5 j
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, : e$ s9 Y! q, d1 D: b( ~
若是沒有經驗的designers本身, 或是仍在學的學生都好,$ D4 G9 n( I! X
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?5 c0 } o( G6 w0 [
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
1 M) R0 U) t) w5 n$ O你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,9 A/ R# ]6 o1 i6 d6 t5 t
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??4 x t1 |1 m6 O' N1 ?
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,+ m) N3 H! b6 R4 e" _
而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
/ r. i1 r1 H- {8 R4 T8 ^ Z因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?% [" [! J: K- f5 F6 ^$ r- v
9 u5 u! Q4 W" N4 t" T4 z
您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
6 }" H8 R- _. q2 V3 N% U大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, ( X4 o7 M& l% b5 o2 r5 M
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路, , x% ]- \( [. U1 u
"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!
0 x/ i5 V) i4 m4 g* o: c; n0 {類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.
' Q( T1 o3 O6 O. X5 F, ]& d9 l所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.: I# L5 g; q$ B4 I& K X) ^
, \+ I2 U- `- Z e6 y+ {# v8 e/ V' Q3 I但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.
$ D$ ~1 C! @4 h% I! P2 l! U* {! m$ A我不知道您所謂的小公司是多少人叫做小公司,
3 D2 z' V/ f: }; t n. V0 Q6 N: Y, r我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.
% k- S& @4 K" F1 I b: H: e在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
1 _- z8 L2 L" H; N8 }這個後果也必須是你自己要來承擔, 是吧??
" m* E% }& s7 W6 a1 T學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, 1 q1 q- x) C; k# x: V* W6 W' [
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了. C+ [! m: V b) M/ h \
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
; ]1 g2 K" w& a8 l然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,
5 X9 d1 H- y4 Z2 [: @& O公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.4 o0 i1 U8 X, _ \. m* s
" a# b5 v- v+ b! j" J當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
- Z; v7 z2 s* v% n5 p所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.- L6 C7 B, h0 a0 o9 X/ t" Y
就算到目前為止, 許多理論和知識我也都還在學習的階段,+ u: R) ?- V4 l0 d+ _/ u) |# _
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.
+ A1 v( S% ^3 b2 W1 O1 Z但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, ! ?) u2 Z: I2 v% H
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,9 a" T2 d$ @# P7 T2 w4 q
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,: A6 s! L1 o( |1 i$ K
到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.$ x, F, y0 m6 Y; ~$ q
簡單的說, 前面電路設計的部份, designers要怎麼做都好,
4 G* b8 o/ L5 t1 L6 I$ n但是今天一旦designers released circuit給layout,
6 b) v, b! ~! y7 F或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
: `/ J ~' G- ^! @- x m$ D這個consisteny絕對是designer必須要去keep的關鍵所在,4 s. h# b& w& I2 {
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, # o1 x6 v" k1 m
但我知道他們會盡量去避免所謂"inconsistency"的發生,# P5 Q7 k9 l- Y( H2 q# H5 k) t
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.% x. `1 M5 w; }# _. m* K/ q6 l
( Z8 M7 c! N, g% V4 x; I5 q) e
當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
# }6 W3 x; o6 G這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,* h3 T( R( t c8 \3 g3 U
也並不代表每個學校的每個實驗室都會有這樣的情況,
H2 J7 g" G' b# d% Y& F所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
S/ L0 T* {/ V
- j* M- s0 V9 R+ ^, N最後關於第5點, 我想您是誤解我的意思了., i! Y6 T! _. z
這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
- e$ g5 w- y! S5 A* }3 g( U沒有實際的經驗, 恐怕它的確很抽象也難以體會.
$ B; Q3 K* g3 i5 ~" x+ n1 F但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,9 m9 k" V: g6 @% o
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
) |6 ]) \' Z" D3 {- E. l- Mcircuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,
5 W- c+ v( C4 j因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,7 }) R- D( m7 ?0 M
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".' {) f/ g) y% `: X
因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.8 a( K3 q R4 w# Y! |
9 n) f8 H& U5 k1 W( p最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,3 y6 T2 ~6 O% {, n
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,( m9 g1 Q! e2 ?% `
或許比您所想的要多得多了.: _( f0 Y4 p! E o9 i
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.7 Q$ S, H- I( t6 b. T% ?% ~; V4 E
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
# t2 ^0 W" g6 z9 I+ C0 i X肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
% Y( k9 E0 E) z: Q1 e8 m( r6 s" z7 v& @1 \/ I
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
% n# z2 K) E- M- K或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
2 r! T$ x g! V% l1 T4 o7 V試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.
( V) ?6 P! o1 i" Y8 _2 z3 y) N8 Q$ B- p1 R, A% `% M. C
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|