|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
. o% z2 k1 C! B- L d/ {+ j我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,
* H _* z; q& t& c, _: ^1 l6 k手key電路加上需要的分析指令, 一剛開始的確是這麼做的,/ y4 @& p- n5 h
到後來有需要的時候, 才把composer教給他們.1 M3 M% |7 @& q6 q+ {; U9 `
' y1 W$ F1 h; I# z% z1 \9 L
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是,
; u( p, C6 H0 ~6 ~% y" \+ U的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, ( Y& |, F/ B+ i! P3 G" t. V8 g
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.
3 c; W2 o; p; c; A; ~9 h4 C舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,8 _9 L X7 E" ?. r' b
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.
" o: b+ `* h' Q V9 f重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, ; K6 O, T5 } V r& ^/ ]8 z
若是沒有經驗的designers本身, 或是仍在學的學生都好,4 x1 h. Y5 q0 {) p8 Q6 d, [
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?
5 }6 d, N8 ?6 I' X5 e/ T你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
" Q5 Y+ g8 W/ R A$ G- `* }& ~$ }你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,2 |7 {4 h6 H; b6 G- m( _; Y
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??) F( [1 U2 [" A3 C. z8 {- e7 J8 f
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
; t7 Y8 g) m1 [- ~; G而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
1 b: [2 R# {/ Y, G# f因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
9 @" n( L4 x! L$ U1 i
R! y4 k: v, ^& B; D1 Q1 u) E您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?( n7 Q/ v& u# l8 k
大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路,
: e- K6 c( X: `/ O或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
, Z5 [( q: @8 u) M; S. |"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!; G: `. u) [ u7 f& Q) c. ?
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.; W/ Q8 `3 I% b$ {1 P% d0 R
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.% _2 Y" C! G. ]+ D! Q O& a
: C% n& E6 |- G& E
但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.
. h) w; L) ^" q3 ~% [9 D7 C我不知道您所謂的小公司是多少人叫做小公司, P# W( a q" A9 I; L2 ~" u
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.
" a6 f, A, K; }7 L, N' ]8 k在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現, y# B$ l6 n- O3 E6 |3 }
這個後果也必須是你自己要來承擔, 是吧??; n2 r7 A" S: k5 z# G$ U+ z' k/ j2 N$ S
學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out,
9 [1 J/ b) [: G7 n小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.# U5 b% P7 `3 d9 ^4 c
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,; C8 _/ D ^& P
然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,! u& z- A6 q# [% ^# e1 Z# ]
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.: Q1 j N$ T: E0 R" ?$ v1 ^3 w* e
1 z# o. t. m6 N5 M$ c當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
! L& Q; B5 h4 Q所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.
* i6 Z3 l. Z" T8 `4 ?4 a# r3 T7 |就算到目前為止, 許多理論和知識我也都還在學習的階段,. B8 N# g# D9 [% V6 x1 Y
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.
* Y* L5 k- X, K4 f1 l/ r9 t但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題,
* S, v1 T( T' O/ }' j以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,4 H5 Q. J6 ]* @8 j: Z9 ?
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,( T' n; j2 q5 A# |6 N9 ]
到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.; q9 r) f" |$ Q2 X
簡單的說, 前面電路設計的部份, designers要怎麼做都好,
! l. R7 i& u1 H1 T) r/ R# J但是今天一旦designers released circuit給layout, 8 d% C2 f/ K7 _$ k& u& a9 N( T
或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
% b* `& G8 e) u這個consisteny絕對是designer必須要去keep的關鍵所在,
4 j& I! T$ I8 k" B對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, , Z' u5 _2 a9 \) p9 u
但我知道他們會盡量去避免所謂"inconsistency"的發生,
1 h' R0 Q- y V而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.& x J( j" f/ @" l5 H1 Z
' L" w- H) Z, q b+ O( r0 o
當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
! M) w2 G# y3 ^: | e) y1 I. a% I這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
3 |8 \( Y) j Z; s" |' T也並不代表每個學校的每個實驗室都會有這樣的情況,
8 y0 Z' \# g* G( i( g U7 \所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
5 M% u" G* C3 i7 j$ R) `$ Z3 t3 t$ _- D1 V8 m3 v
最後關於第5點, 我想您是誤解我的意思了.
( V/ b3 |, b$ m; u) r這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.5 H* |, D% y; Q ~4 u
沒有實際的經驗, 恐怕它的確很抽象也難以體會.1 W+ @9 m/ m/ E* f# O; N1 o$ a* @
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,: m" i; B. e6 S. N
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
$ P4 ?. m. b Z8 {circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,6 L! e C `$ n) y9 R
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,- n# k, C+ |, [' v `; w
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
4 Q$ [" `+ p: u# c因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
0 r# S" i! o% ~/ B" r+ r+ \/ _
! L' W* }: P5 e8 @+ L) D最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,: Z, p, t) X. F! Q/ j
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,
( p! i5 O: O. ?1 c* M或許比您所想的要多得多了., _5 E3 n' n+ _0 A% @/ \
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的." S. |$ }8 `* V* b, @) z
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
; v9 `* F: b$ l" T2 F2 O" p" {; ?肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.' ?$ e7 u6 ]# k/ H
$ }% n( y( @( U! ?( S3 d以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
$ C6 E& W! ]0 N2 a或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
$ }1 y4 m2 j# Z9 O! [. u試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.4 {* ?- Y, `$ e# }
& l2 B9 M' [0 O3 e0 {
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|