|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
/ R) X J, [: P) }7 d h& F我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,# g* r* g) B0 u8 m8 I5 u
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
; t6 i4 F7 P6 q到後來有需要的時候, 才把composer教給他們.5 [6 }9 F, O, J' Y
M5 T- T' _4 }! I. X
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, ' X+ y; t/ M' ^3 j
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, ) a. `5 Z0 j* E: g% |5 h
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.
8 _1 J' ]8 g2 E. b: l% a8 e* U2 O舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,+ g; S' r) Q; V% x I t& n
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.. _: W6 v& g* g( `& ~' P' w& Q0 ?+ {/ }
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter,
% P* e4 F& T4 S" ^+ @. t若是沒有經驗的designers本身, 或是仍在學的學生都好,+ c( I% A3 q, M1 ^7 G2 J
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?
* `8 Z8 e# [; C8 W6 w x你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
5 p5 Y) k/ L% }) I$ G: s你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,$ k' @+ X5 D$ s; B
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??3 @* [- ]9 P) X6 Z: R
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
8 y. d9 W8 s! e' E而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,1 H* t0 v9 m# Y) ^
因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
/ t2 G8 D/ M# F7 F' J4 @7 ]
* \" O+ Q$ ]9 p+ C9 v, ?您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
( e# W3 w& B" a( N5 ^大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路,
/ K' n) b9 B+ Q# z( S% A" B' r) x或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路, ' Y# J( g: w' l( w- E
"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!1 B2 K8 `; x3 I, Y. O% R+ f
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.9 ?% l; I5 H# l
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.
' c2 ^ F& u: P# a! t' h; M) }( j: L3 L& R7 w
但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.8 r) `: W( K/ U4 E0 r
我不知道您所謂的小公司是多少人叫做小公司," ~7 h2 w+ G. _4 S" t( ]
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.- P1 F& k: n# L, G+ A h
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
6 W5 r' K" L5 ]; S& u! X8 Z! z' U這個後果也必須是你自己要來承擔, 是吧??
' R( q: E/ y; T- s7 w' e7 q學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, $ h5 X% I6 K A+ _' h; v! ]: G
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.$ d! C- Q+ c0 z
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
6 |% q) H y! Z" l# i然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,
& L- W, X9 }7 T! s$ f公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.
. x9 v9 I* ]4 v3 S- e% H, ?. Z5 N' R& \% d) @
當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,! k: F( B# W7 |% v: `; Q! ~
所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.! P u0 e6 F3 P% j( b
就算到目前為止, 許多理論和知識我也都還在學習的階段,' x( Q" R2 m! L- t) U8 \5 t0 X8 y0 e
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.
# y# K; \$ |5 B+ i但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題,
. s8 {- d6 t7 ^以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,
- `4 [: h: y$ T2 K% ~) Z要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
1 V Y4 k2 y7 P' a9 g7 d! ~5 p到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.
# K# @) K( Y* g) Q+ l' }8 C& [簡單的說, 前面電路設計的部份, designers要怎麼做都好,
- }6 ^- Y5 ?, T+ v3 H但是今天一旦designers released circuit給layout,
/ _5 M; w$ J X4 P9 M; Y/ n* }或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,0 n: J8 B5 F6 r, ^$ v5 l- k
這個consisteny絕對是designer必須要去keep的關鍵所在,0 Q( r2 ^% y1 ~4 b; Q
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, " d8 s2 L C( b. s6 s1 s* c
但我知道他們會盡量去避免所謂"inconsistency"的發生,' l+ n6 k/ d7 {& p0 I4 z
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.- }0 W+ c% R- \! G) J1 N" R' T
) m4 A, U) |) S. U) z
當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
) C: r4 w& T) Z- X2 k0 Y這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
! k- O y% d* S, [/ V也並不代表每個學校的每個實驗室都會有這樣的情況,
9 f4 _. H! }3 o# A* b所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.+ [# i5 i. d- s0 f) _6 T3 o' j
# M2 H( O7 f( l5 L+ C最後關於第5點, 我想您是誤解我的意思了./ }3 l" p3 r* `: Y r$ b
這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
9 ^1 P6 k/ n6 P; I4 [沒有實際的經驗, 恐怕它的確很抽象也難以體會.- {+ o& Z& f$ w' E' T4 {
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,4 x9 n* I, j) s7 ~
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
4 x6 ?# @; t. ~circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,
+ m5 E x: A6 }& F1 }因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,
9 _' q/ n2 H9 i; [! A8 K- ?絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
5 a" d4 p1 K0 A' N3 d6 C+ r" J0 N0 [因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
2 m& M, C! Q) d0 @2 |6 ]* @) w
0 J* p4 u' K P1 l+ \9 o2 _' i最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,9 K! S) W8 b7 g! z1 z: |: T% x
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的, G G" _' [% g" C- M' B! ?
或許比您所想的要多得多了.% b* ^) V U$ x& _7 o7 i7 M* `
相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.0 l: g0 f. M& L* I# ]% t
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
6 d3 x, w1 f' S# G2 e8 F! t肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.8 }# [- z- F. V1 k# r+ [ b
9 D& G- z; L( }7 s" @以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.) o2 j& j( U% y8 n5 w3 S6 ^
或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊. ! D- `7 S8 t3 L0 b+ G3 e' `5 \
試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺., C1 s2 `* _" A8 q* ^1 S
# F: B6 m6 }3 t! H6 K6 ~
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|