|
回復 #20 ianme 的帖子
ianme版主說的大部份上沒有錯, 而我也認同spice的"奧義"的確就在手寫的部份.
+ \; q6 S, t& N3 g) Z# e我必須說, 在我們剛開始帶實驗課的時候, 也不會直接就把composer教給大家,! Z6 G6 w4 ^$ S ~9 b, K
手key電路加上需要的分析指令, 一剛開始的確是這麼做的,
( p1 m+ p$ H1 l! T到後來有需要的時候, 才把composer教給他們.
2 p( e1 Q. H& w2 Y( v" [, q. a; z3 I! o7 _
當然大部份的designers...我想在學校的時候大家都不想這麼做...我的意思是, $ S: H1 A- a; R# i: L2 p$ @# t
的確每當改一次電路, 就要在composer裡做修改, 再轉出需要的netlist出來,
) F: ~& n" {' x0 f1 A3 P我也不否認這是一件麻煩的事情...even我自己也都嫌這個procedure麻煩.! O( i& P3 E0 r# o2 r( Y
舉個例子來說好了, 一顆op的電晶體可能沒有幾顆, 當你自己在設計的時候,9 c! a/ n3 c& Y" k( p
你當然有權利可以手key你需要的電路, 再上分析再來跑模擬, 因為的確這樣子比較方便比較快, 也能給自己省下很多時間.' Z" s4 e6 M! |' g) |) K* h
重點是, 電路一大, 好比說一個高階的sigma-delta analog-to-digital converter, 8 v; ?5 I* H# ?* S/ L
若是沒有經驗的designers本身, 或是仍在學的學生都好,
: c& M$ R2 R+ K2 d$ ?能真正確保電路的hierarchy架構一層層做起來都是很正確的嗎? B# [" C5 y/ Q2 l' x8 K6 ]
你曾經因為遇過大電路hierarchy架構混亂, 在佈局驗證之後所產生的麻煩嗎?
' _/ y: O7 P8 o4 u你曾經因為自己的大電路裡面某個小地方節點名字打錯了一個字母, 導致做LVS驗證時花上好幾天時間來debug,
' | R5 L8 [6 ?3 @1 `最後才發現原來是某某小地方的節點名稱"就錯那一個字母"嗎??
3 z# h$ c$ [" K( T8 u) I很遺憾的, 這些麻煩, 正是designers本身在release電路出來給layout之前就應該要謹慎take care的地方,
/ f) G+ H; V8 K- N而因為這樣的問題而產生出來的LVS debug時間, 我只能說都是浪費掉了,. ]" [8 C- z5 L" ~. H) s
因為這樣的問題根本上它就不應該存在的. 不知道您能認同嗎?9 r# S; \- E9 Q! c- `
( h, j8 p; Q$ q2 d- W
您說"沒有那個必要把spice分成區塊"...不知您所指的意思是不需要有subckt的存在嗎?
* |3 C$ i5 q \! i大概是您做的電路較小所以不需要吧, 就算是純粹類比這種比較小型的電路, ! x# R. j# Q% P; d
或even是混合訊號電路, 沒有subckt存在的話......我只能說是自找死路,
6 q6 B5 j3 f8 C: Q"照看spice其實就能夠轉出電路", 照您這麼說也沒有錯, 不過看看是要花多少時間呢!!
; h7 u) [- ?! C$ n類比或混合訊號電路可能並不適用gate count來算它們的transistors數量, 但這並不代表它們的佈局很容易.
/ r/ T, K. w& A# x( G* U% N% e所以, 恕我直言, 您可能真的沒有tape out過晶片的經驗, 當然, 若是如此, 您也遇不到這樣的麻煩.6 n* X7 `) I0 x/ t p }0 H
! k5 Y+ J; F. A) D$ O# Q/ k! O但是今天我們必須要知道是, 學校的情況和公司裡的情況的確會有很大的不同.
; A" r( p7 k8 z+ b: V我不知道您所謂的小公司是多少人叫做小公司,3 s# h3 c" J; o4 B/ y
我待過的公司都是小公司, 有五十人以內的公司, 有三百人以內的公司, 這些都被稱為是小公司.% R& p, i+ M; d+ `/ M, G$ p
在學校裡面, 你自己是designer兼layout, 你的電路哪裡key錯, 就算你到做LVS驗證時才發現,* i9 u% t. z# V9 w9 t/ r- w1 B' t
這個後果也必須是你自己要來承擔, 是吧??
2 q, S7 ^8 J# d3 U學校晶片通常是搭CIC的shuttle, 若是因此來不及tape out, 7 l& i1 j. W7 N6 u
小則等到下一個梯次再tape out就行, 萬一遇到畢業晶片潮, 則這個來不及tape out的後果就會是比較嚴重的了.
( D# d3 c1 ]% w' Y3 O6 R但在公司裡面, 大部份的晶片tape out是自己公司負責費用, 當然有時候也會搭foundry的shuttle,
% R. X2 ]- y, Q9 |然而若是因為designers release出來給layout的電路圖之版本差異而導致chip tape out delay的話,% M. T0 h& h! y4 u! J. k8 h- N# l
公司上面的大頭追究下來, 這個責任歸屬的問題, 可就是很麻煩且傷感情的一件事了.7 ~- D1 _- g" d2 e* z% ]
; e% K; u4 P s" X& S3 a# a當然我今天在業界服務過的時間僅只幾年而已並不長, 而我也必須承認, EE並不是我到業界服務之前所讀的科系,
2 G) d: J0 s# R2 a2 a% d4 M& d2 e1 B& U所以很多東西我也都是在原本的學校畢業之後才學的, 包括要到業界服務之前的相關知識亦然.
. J' K! h! x' w& ^! `4 i! N; T4 E就算到目前為止, 許多理論和知識我也都還在學習的階段,, [# D% i% P6 O( e F/ w2 W8 Q) Y J
而我現在唸的學校當然也絕不是如您所在的"雖然哪裡都給去"的學校.9 {0 x. k8 u- n8 U) Y; M/ a, Z* l
但是就任何一個在公司上過班的人來說,責任歸屬我想它真的是相當重要的一個問題, * m, s4 i7 a* k. v P% Q2 u! E+ D
以layout engineer來說好了, 因為這個佈局驗證的時間可是算在layout身上,
% E) f' t4 O: H+ P9 i" I8 `要說我是自私也好, 怎麼樣都好, 我可不希望自己花了好幾天在LVS debug上面,! O, k, G& P8 A. S6 [" v( j4 I
到頭來卻發現原來是自己同學或同事設計好電路之後release出來的netlist裡有typo的問題.
. c8 r$ j8 _) D6 E6 p8 Q/ E7 \6 y; k1 W% C簡單的說, 前面電路設計的部份, designers要怎麼做都好, - Z4 g! X. U% y. R6 {
但是今天一旦designers released circuit給layout,
1 [7 y9 K1 `# ^# J4 l1 v, N或是已經released之後的circuit, 要再做修改, 再released一次新版circuit給layout,
' {) T% J- {1 [- E* G% T6 Z這個consisteny絕對是designer必須要去keep的關鍵所在,5 P' h: r; r `; Y- T; _
對於有經驗的designers來說, 我不敢保證他們都不會有這樣的問題產生,
$ B3 z$ w& Q1 a) i/ o$ ]: K但我知道他們會盡量去避免所謂"inconsistency"的發生,! L! n# }; T. K/ P6 f2 b
而我想這與公司的scale大小並不相關吧, 這是flow本質上的問題.
2 f4 \# m. t( t; O. j
$ s! [1 R& {- B; V! Z當然, 之所以會有這樣的意見, 實在因為是我自己其實是太多次這種情況之下的victim.% N- E3 M/ o' @* k0 D8 t
這可以解釋成我們實驗室本身的design flow之建構並未完全所導致,
^2 h( _- k$ z+ x, H+ L也並不代表每個學校的每個實驗室都會有這樣的情況,
9 i Z+ p7 C! K; t! f所以我只是想提醒一下, 要注意這樣的情況產生, 如此而已.
" L9 P1 n: a( c! L# p% ^4 A* {3 h8 ?, E0 _6 M6 A0 u
最後關於第5點, 我想您是誤解我的意思了.
+ d# q+ w3 g! |4 D0 a這個hierarchy架構的建立...如我所說, 它很難解釋, 但絕對很重要.
4 e8 t/ a3 E; y1 ?沒有實際的經驗, 恐怕它的確很抽象也難以體會.
- u" w6 Y! d C; U但這與"整個設計的流程是以designer為主導,designer如果願意盡量配合layout者那是一種體諒,絕非義務"完全無關,2 U' g. _: Z/ u; R" T5 `
同樣的, 這是designer flow本質的問題, 難道您覺得一個ADC或DAC, 能一次做完整個chip的模擬嗎??, K# ~/ P8 k8 ]$ L, v9 p( ]0 G
circuit simulation和layout designer一樣, bottom-up的circuit/layout construction絕對是一個requirement,0 |$ l. J9 }- _' U8 O
因此circuit designe及layout design的hierarchy架構兩者同樣重要, 而且必須相輔相成,# q; \6 u$ w* E4 E6 K
絕對不是如您所謂"能做到是最好,可是不能一廂情願的希望別人如何做如何做,這不是好現象".
6 _) W5 Z! B( [2 b- U因為這肯定不僅僅是一個"一廂情願"的想法或做法而已...這是本來designers和layout engineers都應該要知道的常識吧.
0 b0 Q% P5 s$ o) e
4 ?: |" I- X$ c8 j: j! L最後, 當然, postsim本身抽出phsical design後的parasitic RC來, 再取代原始presim的circuit來做接近exact situation做模擬,
' \6 }& Z2 R+ a! `' A! g當然設計的時候就能夠考慮到process variation的情況, 但一個考慮夠完全的layout masterpiece能做到的,
7 c2 d3 Y' a, I或許比您所想的要多得多了.
2 {4 { r, ^$ f; d/ x! Z2 L相對的, 不好的layout, 其parasitic effect便會增加許多, 因此我也並不覺得什麼東西一定是要在什麼階段來考慮的.
8 J" N" O& k1 A我的意思是說, 若layout考慮得夠周全, 如process variation和parasitic effect...etc的情況,; P: p/ z2 J- ^* z; O
肯定都還能在layout中再做補強...無論在design的時候, designers是否有將類似的factors考慮進去.
8 H( i8 a' C D0 N' K. g- k" v( B# D+ F- E, J( Q
以上所言, 皆無任何冒犯之意, 若讓您覺得有挑釁的感覺, 那麼或許我的語氣字句表達不當, 請見諒海涵.2 C; D {5 V& [' a" n2 ?! c
或許您還年輕, 感覺您的想法有點主觀, 且格局有點不夠開闊.
: i4 ]" d9 C5 o& V1 f1 f試著跳脫純粹學術界的領域來思考或加以瞭解看看, 或許您能體會我想要表達的感覺., d: i2 Z' z `
% S8 C8 t5 n8 x個人淺見, 請路過先進指導, 感激不盡!! |
評分
-
查看全部評分
|