|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
4 n) S E7 p. I, i& Q6 @我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,- G f( H# y- W6 ~% b
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,; m( k( @- E: r9 \
到後來有需要的時候, 才把composer教給他們.+ p( Y& X) d _: Y3 F; q
/ \% ^9 N: g6 t; c0 a
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是,
; w* C& t! ^/ ?. y" R: h9 Z的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來,
8 [, _- o i7 L, |) \4 ^我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.$ c8 I" `) Y1 Y
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,! f! }, ~) ~5 D9 z' w @
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.
" Y+ z; I' z' G/ U* b. J重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, * ]* F$ m3 L6 e! r
若是沒有經驗的designers本身, 或是仍在學的學生都好,% ^+ e& ^( b; e" A! K
能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?& \2 i4 ^ G# I6 C
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?; o. e# ~5 @3 |3 O; y; K5 V4 `9 a3 ?
你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,* w5 k& H# d/ [9 @, A) u% Q9 }! n C
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??4 d+ k) [4 L9 |0 q
很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,* W+ Q/ X/ {2 o/ w. M
而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
5 H' _9 r* T: e: M因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
7 D) p! e0 t8 F7 t3 Z' \/ m0 S
/ t4 Z$ v, P' Z7 @您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
: C% w2 d1 o3 Y大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, * H0 H, b: _ k4 C! g2 m9 x
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
7 p2 r- ]! u T1 |0 P4 p"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!
+ N( k0 m/ h r( ]4 p) X! Z0 N6 u( @類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.
/ d, O7 o$ T0 M8 f. B# H: d! ]所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.* _8 _' `' T( x: d9 d% j5 B
, N8 @3 W. t1 Q. ?; |但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.
& Z9 Z! L; T, [我不知道您所謂的小公司是多少人叫做小公司,
4 I4 C7 t! g, H, m1 {) w我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.4 G' r* g5 c q. v/ p) Q$ {
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,
- n3 B: p$ a: Y( r這個後果也必須是你自己要來承擔, 是吧??
. S* e5 p- F+ \* _學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out,
1 O7 e/ b8 g7 R) @; G小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.
4 A' |, }/ p; `# E; f. ~但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,. s1 i# `: a: L/ _* w- g
然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,
& z& J7 W! [% w2 g! P公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.3 F/ m# E3 J4 k/ ~/ K- s
2 ?' ^# ?8 n2 L3 m$ o
當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,) A5 g0 D2 H8 {! }
所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.5 \- p: Q4 F; ]. B4 K( b( i# [
就算到目前為止, 許多理論和知識我也都還在學習的階段,
9 W6 a3 N) `" ~& P3 [& x而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校./ W6 t8 i) {9 i- }! A/ {
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, " p5 Z9 b% |3 T0 n
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,
, u6 ?- A5 h8 p要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,
. z2 j9 i3 v+ ]2 }2 O' M" r到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.
" i1 V w) g ^: i. ?簡單的說, 前面電路設計的部份, designers要怎麼做都好, % q5 _4 c* a2 V+ d& V+ a
但是今天一旦designers released circuit給layout, % W) C5 E3 \- i5 `
或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
4 b5 @: `) {& T; U這個consisteny絕對是designer必須要去keep的關鍵所在,
3 u! ]! ]2 @( _7 w* e, G" }對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, $ W7 E' P0 K$ L9 j+ z+ K
但我知道他們會盡量去避免所謂"inconsistency"的發生,, i# v8 {$ h: T" K$ i0 H1 ]- p5 ^" l
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
2 Y; {1 I$ B! B
) I" }# ~; ~0 T& b i9 {當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.1 j, D% C7 y+ v' o" B. }+ d- B+ r
這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,) Q+ X$ }" C; H% L6 s" }
也並不代表每個學校的每個實驗室都會有這樣的情況,) q3 B' b4 |7 L% |
所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.% I% a5 T8 E+ r9 f8 @$ k
! u9 Z7 ?8 O! Z' Z4 b6 U
最後關於第5點, 我想您是誤解我的意思了.
+ Z8 N& W! Q# g這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
/ j( U* \3 V3 Y: I$ G4 m- H, c: w沒有實際的經驗, 恐怕它的確很抽象也難以體會.
3 @; ~1 Y* Z4 q* e7 N x但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,
9 _8 _3 P3 d+ D! ?: h+ w同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??
6 ]4 D8 `& |0 n& a8 E, Ucircuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,# x4 _& U( g2 F
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,
- G. {$ e* P" L5 G1 s6 W* p絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
3 f) S/ G3 |! e6 F8 Y% B& O因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
, ?7 Y/ C0 n. l0 D$ P; T7 ?1 b! [+ U2 j# N' D1 L% P1 F2 `
最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,+ u, x- r; A4 k8 @# O
當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,* o/ \6 b$ _2 M- ]( A
或許比您所想的要多得多了.
4 a/ D {: ?0 Z: N相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.2 E2 o+ r! b2 }, y0 M$ r
我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,
8 o! z* ]+ G' \% O, W# \肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
, ~9 Y! U" U5 |8 V
# d; \8 L4 X4 s* \2 E以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.4 k% ~1 q* p e# l9 P
或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
6 L: N' C! `3 x/ d5 K1 G6 n試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺.
6 [4 \. _1 K% E+ }& N
. P: s5 z' q d8 d9 |個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|