Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 31102|回復: 12
打印 上一主題 下一主題

[問題求助] Monte Carlo analysis 是什麼?

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2006-11-12 16:24:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
[轉貼]想請教一下:蒙特卡羅分析Monte Carlo analysis 是什麼?應該怎麼做?以下答案是嗎?0 {* W0 g5 P( m- n: ~" v) S

* i' S6 V' T2 d# z0 [; LIt is compute simulated random possibility analyze.
1 m3 `$ P8 f9 Y1 S" n; T+ @- o- qEX: you can generator a random input within your dynamic range and observe the output distribution.
" ^6 I1 k% O& X1 K* S
* Q$ G9 b! `8 @; S$ `4 b0 JMatlab and spice should be able to do this in my opinion, sorry I have no idea of smart-spice, but since Monte Carlo analysis is one of basic computer simulation algorithm, I think most modern CAD/EDA tool should support this.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 頂15 踩 分享分享
推薦
發表於 2006-11-16 09:42:48 | 只看該作者

回復 #2 andy2000a 的帖子

了解这些泊来的东西可以从它的名字说起,为什么叫Mente Carlo Analysis?Mente Carlo原来是欧洲的一个著名的赌城,所以Mente Carlo Analysis分析的意思大致就是说每次随机指定不同的参数组合,看电路performance的分布情况。Mente Carlo分析中一次模拟的情形大致是这样的:电路有这么几个工艺参数,A的分布为a,B的分布为b,...先随机选择参数A的值,我掷一颗骰子,喔,掷到0.3了,好,这次A就用0.3,然后是B,再掷一次骰子,哦,0.2...OK!直到全部工艺参数都确定下来,然后照此仿真,得到一个仿真结果I。重复以上过程,可以得到不同参数组合下的仿真结果II,III。。。从而得到仿真结果的分布。在各工艺参数独立分布的情况下,以上分析还是合理的。从我个人有限的工作经历来说,不要说Mente Carlo Analysis,就是一般的Corner分析我也很少去做,因为个人认为只要设计时给各方面留下足够的裕量,Corner分析不管做不做都不会出现什么大的纰漏,起码对一般精度要求不高的电路而言。1 G# J4 V1 j6 t# O8 y1 r
    3年前曾经有一位同事也算老师,关于要不要做corner分析或Mente Carlo分析,怎样做,他讲了他的一些经历。此人在工研员读的硕士,以后又到可能是纽约大学还是伯克力哪处分校念的博士,以后又在超微(AMD)做flash memory,也有在国半(NS)工作的经历。交待这些背景很有必要,因为这或许代表了一个在大公司工作十几年的老engineer考虑问题的态度方法。就我现在还能记起来的说一说:
) L2 U" ~9 r1 Y0 f# I. S4 p0 k/ C    要不要做Monte Carlo分析?我在AMD做了10年,针对工艺的分析基本上都只要做corner分析,做4个corner,也就是ff、fs、sf、ss,tt就不算了。做归做,可是心里总是有点,怎么说。。。惴惴不安的感觉:是不是只要4个corner通过了,电路就一定能工作?可能基本上是如此,但是也不能排除performance在p管-n管速度平面上存在着这样的分布,就是在4个corner上它都是work的,但在四个corner构成的矩形区域内,并不能保证它就能work(在X-Y平面上画一个不规则封闭曲线,曲线通过4个corner,曲线包围的区域为电路可以工作的区域)。反过来讲,是不是4个corner只要有一个没有通过,电路就不能正常工作了?当然,4个corner都通过当然也没有什么坏处。可是有时出现过这样的情况,一个电路做了8个月9个月完成后,发现某个corner没有通过,就想难道要重新修改整个设计去满足它吗?万一修改以后满足了这个corner,却丢掉了另一个corner怎么办? 但是,有些corner实际上是根本不会出现的,这个时候,即使仿真的结果说明在这个corner上没有通过,也不一定就说明电路有问题。因为事实上,一些工艺参数是相关的,比如oxide厚度对Vthn就有影响,oxide越薄,Vthn就越小,而monte carlo分析却不管这个基本原理,它甚至会去考虑oxide小而Vtn大的情况,显然是不合理的,得到的分布自然也是不可信的。我如果用monte carlo分析,我一般会自己考虑各个工艺参数之间的关系并把它们代儒到仿真条件中去,是n-reality的,假设管子速度分布在X-Y平面上是一个圆,经过分析发现电路的工作区域可能是个不规则的图形,老板一看可能说,咦,怎么有一个corner没有包含进来呢,还有这个工作区域太小或者形状和位置看起来不太舒服,也可能说给你还得给我来点裕量(你要把这个圆完全包含到工作区域中去!) 你不能对老板说,有一个corner没通过,但是估计没有什么问题,老板会说流片前总得给我点信心呀。这时你就可以充分利用Monte Carlo分析这个工具,告诉老板,喏,根据工艺提供的数据,A参数是这个分布,B参数是那个分布,经过Monte Carlo分析,说明大概有90%的情况是work的,这样就说服了老板。在XXX做事的时候,基本上都是用Corner分析,后来因为工艺变化太大(几u到.18u),需要Monte Carlo工具进行分析。这种分析要进行很多计算,电路扔进去往往要两三天才出来,所以很多engineer,觉得这个好玩。Engineers们就说,好,老子上班就玩这玩意儿了。碰到什么问题搞不清楚,就把东西扔进去,说让你去掷骰子吧。。。# A5 `/ \; B3 k$ Y. ]+ L
你说这样的分析会有什么意义?总而言之,在做这个分析之前,自己先要分析一下,这些变化参数之间以及和结果之间到底是什么关系,结果应该会是什么样子的,然后我才会去用它。就是说你不要在那里瞎搞!你在使用这些分析工具之前,必须知道它到底是怎么回事,要弄清他的来龙去脉,这样才是有用的,不能说:管他呢,让它(分析软件)去扔骰子好了!总之,进去什么出来什么(指如果你连Monte Carlo分析的机制算法搞什么事情都搞不清,你就不能指望它帮你解决什么问题,扔进去是一团乱麻,出来还是一团乱麻),英文里叫GIGO(Garbage In Garbage Out),垃圾进垃圾出。
- @/ l0 ~1 ~; N  A9 ~* e% v2 G      他的观点也许有点偏颇,例如有些论点的前提不太准确,例如Mento Carlo分析在保证各输入参数的独立性上面还是有所考虑的,但他的一个关于软体分析的基本观点我是十分赞同的就是:IC设计工程师在simulation之前一定要弄清楚自己在干什么,希望验证什么以及如何验证,电路模拟软体只能当作一个验证的工具,永远不能指望电脑代替你来做思考。年轻的工程师往往过分依赖电路分析软体,这一点提醒特别需要注意。
* u  e  R2 l! r4 o2 e: l  C2 f5 E. ]4 N/ R/ a
[ 本帖最後由 eland 於 2006-11-16 09:43 AM 編輯 ]

評分

參與人數 6Chipcoin +18 +22 收起 理由
semico_ljj + 5 + 5 感谢
venven + 5 good answer
yhchang + 8 + 4 Good answer! 優質答案!
happybull + 5 Good answer!
laic1234 + 3 回答詳細,3Q!

查看全部評分

2#
發表於 2006-11-15 19:39:33 | 只看該作者
Monte Carlo  --> 買本 spice 書就知道  是 做  device worst case simulation
# h, Z4 h# d- [+ a3 D0 C一般來說 做 asic  只跑  SS/TT/FF  最多 高/ 常/低溫   *   電壓  3種   " ]6 S7 G8 S! u" \' p2 W) G
好點 跑  5 corner (但是 有些 resistor BJT 沒有其他 corner ). F: Q# b: D4 b9 P3 m% N# J+ C" H/ ]

5 _9 G0 p& K% M, @- w- O但是 ic 量產後  可能有 relibility 問題 這些會是 高斯分布  
" o6 g, A8 H0 S: Z( z應該  就是把 所有 device 都 simulation  
& I& B% n3 t2 L但是如此 跑會很久  
+ n0 f6 b7 A& N1 X& ]$ d6 S3 }- e7 B: Y5 }" ~4 N
好像不常 simulation .. 一般做多跑 corner model 就差不多  除非懷疑 process or spice model% S* K3 G& I3 }) Y  f3 `
別懷疑 ,    uxx 公司 spice model 濫透 ..  VXX  更濫 ..  有經驗的 rd 都能找出
- \$ c; h6 j' N" B1 Z' m spice model 不合理
4#
發表於 2007-3-23 19:01:09 | 只看該作者
簡單的說:
8 C; U# j0 m4 H6 e$ ]: N& ]# K- ^9 e就是數學的隨機問題?. O& d% t" S3 B
主要採用高思分配比較好' [; @; v& A  L/ F% b: l
舉例說:
& w6 o! \* a, s- M: ?/ p7 F用兩個10K電阻分壓
; w6 m% |, H) A. z若此電阻都有5%的誤差& e8 |' y: Q9 u2 S1 y% ~
那分壓出來的結果  將會如何?9 O2 I% T) S5 T" h, F& N
SPICE 可以將其分析出來0 O) L+ D: [, t& a" H9 h
如此  你可以預估一下你的良率
5#
發表於 2008-1-29 02:13:33 | 只看該作者

回復 1# 的帖子

蒙地卡羅分析     即為  Worst Case Analysis/ y7 q/ ?; B! \9 y- Q
在我們公司裡面的作法  就是去設不同的Corner
- W0 A- [! x7 r  N6 K& ^, |/ X
( o3 L6 x& V8 g6 y& `# L1 _; oDevice Model裡面會有  PMOS/ NMOS 的速度會有  Fast/Typical/Slow  三種情況  
/ M% a( x* j8 o+ t# u電壓部份    外部電壓與內部電壓  有可能會受到 Bounce與IR Drop的影響 使得電壓提高或降低+ S/ }: o6 b( x0 Y

; @8 y4 g$ n) r0 N% r/ [( d3 W這些電壓與MOS的效能加上溫度的高低溫與室溫就可以組成 十幾個Corner Case1 g. l1 M) X& T
如果你能夠讓全部的 Corner Case都通過你 Data Sheet 的 SPEC.( y3 r: |' I" p' d, m' I

* t/ s( I; ~1 d) ]/ hIC製造出來的良率 自然就會提高很多.7 T; m& w5 U2 J- u5 b) l
. d6 c. [, W; ]% c; f9 `
至於 Corner 的 Variation選定的 幅度   要取決於 FAB的量測資料- g. \8 h0 `0 `$ E
大致上把 Corner的範圍  設定為 比 FAB的量測資料的Window  略大一些 應該是較為合理的作法
0 r. d( t+ Q  O$ z6 J7 z在 RD與 Device Team 的好惡 取出一個平衡值6 m3 T  _! E, [# o1 G
(RD喜歡Range小 因為好設計, Device喜歡Range大 到時做出來的良率會比較好 也可以避免
  E; N, c: i1 M$ B7 q  下線回來之後要很痛苦的解 Low-Yield Issue)
" u+ V, p3 w) ~
  U' A  k( M3 ^& V4 O- }4 ?" z* ]範圍太大  設計者做進SPEC的難度大大提升
4 \7 O9 H, R3 ^( Y範圍太小  製作出來的WAFER的良率就會不好
6 t; w7 C2 O/ |0 p# E% ~# I2 p) j1 v' m3 i$ W' [' L
[ 本帖最後由 yhchang 於 2008-1-29 02:14 AM 編輯 ]
6#
發表於 2008-7-16 19:52:32 | 只看該作者

回復 3# 的帖子

前輩,我想請教你一個問題,在Spectre 跑Monte Carlo analysis 有分成only consider  process variation ,或是 only consider mismatch variation, 或者 consider both of process and mismatch variation at the same time. 既然Monte Carlo 是機率現象, 那它應該要考慮這兩種變動在隨機情形下同時相關的機率情形; 但在hspice 不曉得能做consider both of process and mismatch variation at the same time的模擬嗎?
# M+ [' p2 _8 m6 }. J$ o謝謝!
7#
發表於 2008-11-1 15:42:33 | 只看該作者
My boss   没要求过Monte Carlo analysis ,可能是简单小电路就不做了,很希望有机会学习一下怎么分析的!
8#
發表於 2010-1-29 21:27:40 | 只看該作者
感謝提供的意見
4 v8 L, U9 w9 R0 n' o% k# L5 M( O: r2 F因為最近可能會碰到這個相關的分析
$ c$ ~  q* [4 n9 `# K提供我在跑這個模擬前應該要有的概念
9#
發表於 2010-2-2 00:07:13 | 只看該作者
這篇的回覆內容很不錯5 {! i. S  a  [* Y3 F1 C" d) `! @: K
謝謝大家分享
10#
發表於 2010-2-3 11:44:38 | 只看該作者
介绍的很好。。
11#
發表於 2010-2-3 11:44:45 | 只看該作者
谢谢!
12#
發表於 2016-6-10 23:43:14 | 只看該作者
很清楚簡單的介紹,謝謝
13#
發表於 2021-10-11 20:54:22 | 只看該作者
很清楚簡單的介紹,謝謝
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-30 10:29 AM , Processed in 0.140518 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表