|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
o9 q+ D5 R* V我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,* b) \$ N z5 S9 q1 v# F
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,; s. W( F- J9 u+ V' d# h" m; W7 w
到後來有需要的時候, 才把composer教給他們.# p2 o4 O, s6 l" y* n' R
- M3 I U1 D/ \* P' H5 A
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是,
[9 o2 T% p: \7 W的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來,
9 _. F2 U- y0 w3 Z我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.
5 e; w X- X- A% ?5 N! t舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,
3 S: i. R) b+ L/ S+ D9 h1 {你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.( ~" S5 A# H# \$ ~; q
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, " N& E8 M K! q" G
若是沒有經驗的designers本身, 或是仍在學的學生都好,
" J! u! F* s0 m; a能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎?2 m) x1 j# k2 |; {/ V
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
0 z: Z5 u7 q w+ \你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,$ @( i6 I2 O0 [) K! ~
最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??
! a0 P: Z. X2 {* {, a# i很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
5 S1 G# b7 h7 N$ t8 E; c而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,
) \ T2 ]# a$ O( z因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?
# W$ j+ H' T+ p) E' Y
" m! p5 d5 k- p您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?( a: o7 O- P; ^/ P
大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, 3 w, f4 o! q6 _% c+ D& t6 ^
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
' c( o( ] P% W0 z* e# I' u"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!: C$ ]! _/ i' o. ` q; J# r
類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.! c4 ]5 O: z/ Y1 ^1 j6 i, J
所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.- @% F5 b) i: C! q
! m, U9 C6 k$ |" c+ [
但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.) o3 B5 \! Z O, q! b* H
我不知道您所謂的小公司是多少人叫做小公司,% p4 M* L4 v# }- X* R) C
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.
9 M5 d- u+ T2 G( |3 H在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,+ u. T$ A5 L) G; V) y
這個後果也必須是你自己要來承擔, 是吧??& A: Z8 e" L, O$ U' o+ Z
學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, Y* E% ~% X% J$ k* Q
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.6 H+ D2 } H2 ~& {8 g
但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
q" H" a, v: \( m% R* x4 K) e6 O然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,# U1 |5 |( U9 Q
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.- \* k% ~ A7 p2 w
3 z# P0 N- t7 B0 g; G' y/ f' ~! R! m
當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
d; K! j" c3 q- @4 J1 Q; K* U* o所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.4 O8 a: G' k" E/ b. K/ ]
就算到目前為止, 許多理論和知識我也都還在學習的階段,7 y A9 \% v+ {4 B) i& [
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.
) H; j/ A$ y. z但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, % |! C8 X, g9 {; q
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,
: P' }- m# V. Q: g要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,9 J A( G/ K: _: o* Z# v
到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.; y2 t0 W6 P5 G, P) @, j$ c9 G
簡單的說, 前面電路設計的部份, designers要怎麼做都好, ( J3 w4 H) b; I' g l2 p/ I
但是今天一旦designers released circuit給layout,
M3 k7 K1 G+ V或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
# P% c' O, x( `" W$ v這個consisteny絕對是designer必須要去keep的關鍵所在,; W; A9 A8 j& G6 w5 u l9 B5 H. Y
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生, 4 `; b% Y; o! R7 m: F( B$ i
但我知道他們會盡量去避免所謂"inconsistency"的發生,
$ Z7 f3 x2 r. D# y而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.$ G8 T7 x6 G1 r; o& ]2 i6 ^0 ?
1 G0 ^9 N E/ K8 i! z, y6 F
當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.
2 a& x) |$ x3 s' B; [5 U% l+ B! k這可以解釋成我們實驗室本身的design flow之建構並未完全所導致, X9 w# R9 G3 L: _8 G( b5 @, F7 o4 ]
也並不代表每個學校的每個實驗室都會有這樣的情況,
, o: h( g0 H: @( z" c- O2 D# |. j所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
* x z6 o. P+ i5 s7 k. s5 Z+ j* V/ B) H1 {! M3 N
最後關於第5點, 我想您是誤解我的意思了.
/ p8 k7 O+ ]% x9 g這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.2 s: T) X6 C- }3 \9 T% o+ d( p1 T
沒有實際的經驗, 恐怕它的確很抽象也難以體會.7 T f1 n6 t5 N, t3 G8 ^
但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,& D$ A1 z z& i
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??) K2 b9 P; r0 M' I c: A
circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement," D# S% V' J- j
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成, H' ^$ g# i7 Z, p' \
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象"., B9 ~7 R% k% S H- M& i
因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.9 A" J- x6 N; S. b
5 Y3 s2 i7 D, t P- J# d3 f" _! `
最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,
! G9 P0 S0 u+ W) F4 k; s+ m當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,7 M4 S( t$ c" c0 w j1 A
或許比您所想的要多得多了.
; {3 W& N& w+ x4 e( q相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.
# _; J' m' G+ P9 @4 C我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,/ e/ M' a$ M% L$ |4 {# x) @
肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
0 y* l* m' T3 h9 a
: V1 m1 r3 W* g8 T( @以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.# U, L1 D# j- i. ~; x* S+ E
或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊. 5 E$ K+ z5 {' n* \' p+ @
試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺." L- a8 {8 Z9 P0 p( M9 ^$ E; S& d
% ?4 X( Y. S. T4 k. y+ [ O
個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|