|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.& l. L' \" w2 q$ j' w
我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,4 f7 s" i8 [. L4 Z8 F x% ?( }
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
5 K& ? w& @1 g7 `) @# s: R) x* A到後來有需要的時候, 才把composer教給他們.4 ^. N, ^9 ~; ^
) R7 u2 l! m- s6 M" { l當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是,
3 O8 Q8 Y7 Q# M8 a1 B R i的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來,
: g$ Z" d! v: n% G我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩./ c3 p1 m5 g. i1 `
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,
& _& t' R& I U2 ^* l+ z- C你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.3 ~! `9 ~! F' c3 N
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter,
H1 i( E; U) ?- s# ]' \: n0 s若是沒有經驗的designers本身, 或是仍在學的學生都好,, n( j% e/ V3 u3 f1 F& q
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?. A+ }" }3 @# C3 i3 z
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
/ H( v. D) n3 @2 U& Z9 n你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,
M$ C& m) c% B# u/ q& M6 R最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??9 v) n+ `4 R) D, D0 Y: v
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
- s8 _6 L2 c0 l @- G' M而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
& s L% q1 |- T$ T: n因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
: a7 C9 \, n; e; l+ A
[ o2 X$ q/ p+ |5 U7 i, Z0 D您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
+ {* E, c2 b0 N: u1 u/ E2 C7 T$ U大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路,
6 l, S. L4 Y6 K m或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
0 @. ?7 |2 l0 x) y1 a& B a"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!
. I- p% N# Y2 \; H+ J6 d. Z. V5 e類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.
6 D/ C- R" s, H3 D所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.
4 C- V P1 w- p8 `: G- z4 M" r% s# W0 `& s
但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.( P8 h* C& I# A+ O4 j
我不知道您所謂的小公司是多少人叫做小公司,! V$ }+ ?7 ]# {3 w+ B! e
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.
3 _) ~6 Y5 m( A- T在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
H4 X4 W' v( R這個後果也必須是你自己要來承擔, 是吧??
) Y4 b5 r1 H: @1 M8 l學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, 8 u8 E5 R6 ], ^
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.
) f/ @, x. ]4 v: l" r但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
. S. Z1 \8 r6 @/ s然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,$ \' e1 X# Y6 H/ L5 T! f
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.! @" Q4 f( \" p2 M7 I
n; j) I2 @' P4 F9 P
當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
$ a2 t1 U+ Y* o) A& b5 r6 p所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.
: o5 k4 w4 C& }& r" g0 s0 s就算到目前為止, 許多理論和知識我也都還在學習的階段,
' h# c7 V( x$ h4 n9 p0 V而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.4 w( Q( E5 ?( ~" w% ?
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題,
! h( y9 p3 f( N- h* x) W以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,1 i y$ q" b! u. c7 O. i
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
" }: w5 X/ M( c到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.2 b, S1 a' e: I8 ]8 K. g5 `& q
簡單的說, 前面電路設計的部份, designers要怎麼做都好,
! e1 @* W& H. G* v# H" E但是今天一旦designers released circuit給layout,
( C7 Q! b! X" j! K+ ?0 d或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,$ P/ m+ J! Y: r* c
這個consisteny絕對是designer必須要去keep的關鍵所在,) |; a2 W2 d. N/ o- D7 ^
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, ' j1 T3 X( G: w% w0 _
但我知道他們會盡量去避免所謂"inconsistency"的發生,
( M }" }4 B: M* G% l- d' u/ q而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.0 C6 ?2 z% W1 E- D! g
+ `; A/ K ?7 }) d. Q2 n當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
7 R( q5 x; C& g4 [) _ P這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
( ?5 k, y4 n g* I+ s4 `也並不代表每個學校的每個實驗室都會有這樣的情況,
0 Q3 z7 l* b/ G9 j$ s0 i所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.( F" h! s! C5 o0 Q" B. W
/ \& s. p: l# P/ _4 B+ v
最後關於第5點, 我想您是誤解我的意思了.& [1 ]4 j& C" g) e
這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
7 K, ] ^$ F& Q, ~" o沒有實際的經驗, 恐怕它的確很抽象也難以體會.
& r6 {7 f* @& b但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,4 g: ~$ `9 [3 v6 {
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎?? A( ]* \2 e% O! }/ g- x
circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,
" E6 {. R$ X" [9 z- s$ \因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,) i+ h: p2 \' [0 a0 V# q h% @) [
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
, j8 R' A. G/ f6 d5 W因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.+ k# X3 j, @+ P/ E1 T& q
' y( P1 E. I- t" v最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,
: T2 O; q# F+ s' [+ H當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,) Y1 u0 T! t: ]4 u7 _# D
或許比您所想的要多得多了.+ L: d8 n4 x6 m' O2 k# ~
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.
) t& e+ v( m( G* `' x1 Z我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,; f1 m% m- W" f! A3 E
肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
$ C7 Y9 v9 }: h# s/ p( B3 g+ J1 \- Z" _* p
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
! R! N' s1 [& B/ k或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊. 1 L3 Z7 O/ N& M, p8 U
試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.$ z) k% ~& `; j' ^
" @9 D" W* ]/ P: l$ P( p; F
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|