|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
; i6 e# f$ b% U9 i s我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,
) a9 S3 {+ `) ]9 K, n& t- h手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
~ n1 ?# R1 r3 H6 |到後來有需要的時候, 才把composer教給他們.2 @/ L: B, D3 k) p
+ c3 M1 Y' v/ ~6 r9 b
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, , w; a, Q) M) p8 z, Z! r% `
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, 4 ]5 @) ?7 @' `
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩." T$ e: D9 ~: R- P2 i: @
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,
. v% t3 V# w6 s9 g( y你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.
# R0 D0 d+ @% {1 b重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, ' M- z( r2 ?8 }2 [% q, |
若是沒有經驗的designers本身, 或是仍在學的學生都好,) C8 l% F( M" S" V: p7 [& q
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?
8 U( @0 l) @0 T6 H6 O你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
' [7 [, F2 f$ k$ X你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,, _, s! `' ]1 o
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??
0 u! }& c! r& H! ~% d, q* }6 ?* A+ ]很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,9 @5 [+ I, Y( k# I- b+ p
而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
9 T4 F2 X: x# Q7 c因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?7 l/ w9 `* {; k3 ?3 {! S
$ R+ I4 l# {3 ^+ M
您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?9 I0 E! m, e3 M0 A' R8 q7 t
大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, - {6 K7 x; Z4 h) L
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路, 0 s, j* B/ Q6 o( A5 g) K
"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!& @. V- p# ?0 \5 v: _$ O6 [* v
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.! F) E, M2 f8 U, ~' G _
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.
( O# J7 _' f$ r4 N& D7 J
4 H. F' o! ?, p6 H- X1 J F }但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.6 \( A# S4 ~' F- z/ _# |. L( `
我不知道您所謂的小公司是多少人叫做小公司,
: @2 `: \% E; ]我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.5 w1 u! m+ i2 {2 q* c
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,. Z/ ~* R6 y5 v( {: y4 g
這個後果也必須是你自己要來承擔, 是吧??
- Y8 ^% }+ z6 t學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out,
* K' t- Z* i* S( m0 m2 v) |" w小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.7 \! j; Z9 E$ ~, s! B7 a
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
; H; P/ P+ W" L9 B然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,8 W& g {- P( q1 s+ ^5 p6 K
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.
: _9 f) P. c- [5 C) K# N& ^
0 A$ V6 Q' ?1 H3 i& ?+ T當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,% ?' {" w7 q7 D/ h S3 ~
所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然." f5 q" `) {& H. s% `
就算到目前為止, 許多理論和知識我也都還在學習的階段,1 k$ w8 A; p0 A* U2 v; g5 W
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校. U' U- X' C0 @8 m( J; i: i# p; N
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, . h" r) u) ~/ F! R# u
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,& R! ]' p. M) l' `2 E" n( e
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
3 S% ^2 t2 P6 J7 V5 v# n到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.9 E; [' v( s, z [7 |
簡單的說, 前面電路設計的部份, designers要怎麼做都好, 4 I% d9 u3 U$ G# n% Q# ^( y
但是今天一旦designers released circuit給layout,
+ @( |( g# i* ~! Q. n或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
" [( N2 G# ~/ F( i, N/ ?這個consisteny絕對是designer必須要去keep的關鍵所在,0 ~* `: q# v5 b9 ~
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生,
8 d$ y1 t! m5 \8 ^但我知道他們會盡量去避免所謂"inconsistency"的發生,
' z) m2 X9 c; K( o; ~而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
2 f& P2 I: _2 ]* a. B" | o" D
9 S( Z% g9 s Z6 `當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
! a# f7 P, f4 i9 W) S. `0 K這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,- {( j0 \. U6 v9 s
也並不代表每個學校的每個實驗室都會有這樣的情況,6 z c- ~" k K" K' |/ `' R o
所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
8 r' {, h" R4 z5 ^8 y9 |* G# v8 _3 ~+ Q9 Z, R
最後關於第5點, 我想您是誤解我的意思了.
, |( g! u. M+ e8 J9 b% W F這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.- X0 W: |! B2 P) \6 `
沒有實際的經驗, 恐怕它的確很抽象也難以體會./ Z# o8 c1 ]- m7 g
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關, @. H: `; j5 ^
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??6 F3 Q+ t% {( T$ i& n1 g- m
circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,. O2 K9 h7 ^$ M4 S5 r, j
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,# P+ V2 R+ d# K: W9 @
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".7 L4 C7 \! N7 H: D
因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.( J" s K/ x* |
3 g8 Z8 A7 O. U" G9 t/ q
最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,8 C* J1 A& K) a$ _
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,( L& i" f5 d/ I2 X
或許比您所想的要多得多了./ u0 ]: X3 F7 U# y1 ~ ]4 R
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.
+ N7 B0 n' ?2 W. P& C! u我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
0 o8 D! w! Z- W# D+ }" c肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去. }1 z- W& Q: w$ Z
8 b- z& M7 m% E$ i K5 G. w/ Q* K
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
5 M& m0 Z% t/ }或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
4 x& s' P! ]9 L+ W1 N試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.
7 Z+ S# d0 [# Q
* x/ s/ F3 o& G0 v4 R0 U0 \7 |個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|