|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.( b& h! F% d* [9 a
我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,3 L4 R* l3 b# P! x4 X ?1 \. {
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,' _9 g4 C, P% N B- _
到後來有需要的時候, 才把composer教給他們.. t# S" K9 \7 |; ~! c1 ^
3 h6 v0 F% W6 i- l- Y% Z
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, * `3 I- b2 }2 Y7 K
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來, % m( B' m- Y% a. s6 {: a
我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.) O% s2 @& T. ~0 u+ z& C
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候, T; k" T4 A5 E1 N
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.* z4 G6 R) P. R$ K
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter,
2 e, u+ ^3 e5 g" e. I0 Y2 [若是沒有經驗的designers本身, 或是仍在學的學生都好,4 ?; Z& o8 j' ^2 h3 |
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?. J f8 E" D8 `4 S
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
' R; k( W% _4 o你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,6 ], y% W( h" Z B6 {, v- Z" P
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??0 n. p% k3 T' [) {
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
}$ I8 {( u) w+ F/ ]( s5 T2 ~而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,6 I+ `7 q" w7 l+ J& V9 W
因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
# K& e* m( Q5 S. y# e+ P# y
- q! {8 T- t _( g8 j您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?* O. x2 t& Y9 z; ~5 M
大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, ; l* B6 W) ^2 g0 D& ?' L- U- ^3 L1 E
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
2 l) Z! {4 T v' s* W- z) ?"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!( N. }3 B. \1 D1 P
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易. r7 E8 B6 \) W$ t7 o: Y1 Y
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩. \6 U8 T: \* `$ N
3 N- v4 B6 g5 C/ g* T但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.1 P" W/ I) X8 U8 V$ c
我不知道您所謂的小公司是多少人叫做小公司,
, }, L# p0 q o9 n0 F" U; \* k. F我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.; @( L! I) `* m
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現," `" {0 [# S1 b! m
這個後果也必須是你自己要來承擔, 是吧??
* w3 M W: J0 M9 D0 r學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out,
! R5 g4 ~2 z1 l6 P* G3 [. t小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.
6 L0 h; a) [" J9 I: x1 \: Z但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,# d$ F$ h2 N5 p6 ~, j5 X0 |$ E
然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,8 [! t2 Q! t0 F
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.8 Y- F# n7 i, J$ \5 F
% v9 w" Z* M; o當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,- M* ^4 b; ^/ G; w& K
所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.' ?3 j# M; r: ?+ F& P- ~
就算到目前為止, 許多理論和知識我也都還在學習的階段,+ B1 N P+ U& f3 O7 ]9 k8 F
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校./ f! F( T9 k9 H1 Q% c. P
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, ' v% I* U; q7 d# d" j
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,# ~2 v. ~8 w" e3 ^6 N
要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
5 B( S4 e& m1 l到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.
& x8 J# ~. R" }: G( s1 o5 ?. Q2 B簡單的說, 前面電路設計的部份, designers要怎麼做都好,
' C; l) m1 T- c; R0 @% \- }% `但是今天一旦designers released circuit給layout, 5 ]. U# `. D+ x! g3 l
或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
) t- {8 M' Q, r$ l* s- O0 R7 o9 v' W+ ^這個consisteny絕對是designer必須要去keep的關鍵所在,. X. W2 ?5 z4 W1 O
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生,
9 j# W( {; L# e但我知道他們會盡量去避免所謂"inconsistency"的發生,1 D' J# k4 ]4 r( D6 R
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
, f7 B. p, E9 f$ R' h9 `* k, Y
, U4 n; p9 @8 \( \& Y當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
; U9 r, l4 V. H( e; \& T這可以解釋成我們實驗室本身的design flow之建構並未完全所導致," Y X4 O+ o! [- ] G& v( T
也並不代表每個學校的每個實驗室都會有這樣的情況,
5 B& Q, P' V' o! z' _; K所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已." i) ]6 m+ P3 ?$ m
! a7 |# S( P4 K( h- {6 s$ p' M
最後關於第5點, 我想您是誤解我的意思了.
4 E* C& }5 l5 I: r; c9 R這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.7 S2 o9 I' d _' v5 n
沒有實際的經驗, 恐怕它的確很抽象也難以體會.
4 t- x' a) s: [7 c+ a# Y* `7 m但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,
; M7 q' U" y/ m3 @% [同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
$ R: u& m7 n3 r- h$ Vcircuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,! u* b! D5 ~5 N4 n/ q
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,' M5 |( i" y+ X' d/ T0 R
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".1 z* L: @2 E+ R7 N& f% j* y4 B
因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.& p: s+ v. B5 S" O
! E6 O) i, E/ u4 i7 U; m/ l7 q5 l
最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,
; m& x2 L) {4 Q/ u; T, G6 u當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,! H% I" N3 e- N" x, ^, ^3 w Y. m
或許比您所想的要多得多了.
+ W' Y0 a+ u) ^3 B相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.
, e6 \; J2 r, Z' s/ f# J我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況," }7 |3 x( \! g
肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
) t4 n3 q$ V5 X; ~' c/ H4 [+ g& f6 l3 \
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.
; J3 \2 k3 z/ m( ~1 o! l' |. i或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
% \! [5 \6 o) A' J/ b試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.! M7 ^8 k; M! H; ~& j
8 Q8 C# ~9 t1 n q個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|