在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4088|回复: 7

[求助] Hspice仿真中的蒙特卡罗分析和二分法优化中的问题——求助

[复制链接]
发表于 2019-10-24 11:35:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Iamliutt 于 2019-10-28 13:27 编辑

在对SA的失配电压做蒙特卡罗分析时,.sp文件中出现的部分命令语句如下,对其中的minq指代什么?很疑惑,望前辈们指点指点!!

.param Deltv = opt1 (-0.1,-0.1, 0.05)

vdr dr 0 vdd
vdr_ dr_ 0 "vdd+Delvt"

.tran 1p 500p sweep optimize = opt1 result =minq model = optmod monte =40
.model optmod opt method =bisection
.meas tran minq max v(qi) goal > "0.8*vdd"


 楼主| 发表于 2019-10-28 08:45:29 | 显示全部楼层
我的理解是在扫描过程中,判断每次仿真结果中的V(q)是否大于目标值——0.8vdd,若第i次仿真的V(qi)大于0.8*vdd,则将其中最大的v(qi)值赋给结果minq!不是很确定理解正确!
发表于 2019-11-27 11:22:55 | 显示全部楼层
先要理解什么是二分法,再去考虑这个meas
这个meas的minq的结果就是0.8*vdd
 楼主| 发表于 2019-12-2 14:47:42 | 显示全部楼层


chedanzhuzhu 发表于 2019-11-27 11:22
先要理解什么是二分法,再去考虑这个meas
这个meas的minq的结果就是0.8*vdd


二分法就是数学里的那个吧,例:在有序的有N个元素的数组中查找用户输进去的数据x。算法如下:
1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。
2.若a[mid]=x或front>=end,则结束查找;否则,向下继续。
3.若a[mid]<x,说明待查找的元素值只可能在比中项元素大的范围内,则把mid+1的值赋给front,并重新计算mid,转去执行步骤2;若a[mid]>x,说明待查找的元素值只可能在比中项元素小的范围内,则把mid-1的值赋给end,并重新计算mid,转去执行步骤2。



发表于 2019-12-4 16:27:31 | 显示全部楼层


Iamliutt 发表于 2019-12-2 14:47
二分法就是数学里的那个吧,例:在有序的有N个元素的数组中查找用户输进去的数据x。算法如下:
1.确定查 ...


额,差不多,但是少一个前提,需要检查front到end的区间内有解(是不是唯一解不确定),有解条件为f(front)*f(end)<0不考虑为零条件,解都出来了


meas tran minq max v(qi) goal > "0.8*vdd"
优化的目录是qi的最大值大于0.8*vdd,那么给的起点和终点就要满足有解条件,即一个能满足max v(qi) goal > "0.8*vdd"和不能满足max v(qi) goal > "0.8*vdd",二分到什么时候结束呢,恰好满足max v(qi) goal > "0.8*vdd",此时max v(qi) 略大于0.8*vdd可以认为是0.8*vdd,所以这里meas minq不是目的,是为了别的meas语句找到Deltv

发表于 2019-12-4 16:38:45 | 显示全部楼层
假设f(x)为实函数,f(x)在[a,b]内连续,如果f(x)在(a,b)有唯一解,那么存在f(a)f(b)<0
也不是很严谨
 楼主| 发表于 2019-12-12 16:42:18 | 显示全部楼层


chedanzhuzhu 发表于 2019-12-4 16:38
假设f(x)为实函数,f(x)在[a,b]内连续,如果f(x)在(a,b)有唯一解,那么存在f(a)f(b) ...


理解了,谢谢指导!
发表于 2022-12-15 15:14:32 | 显示全部楼层
楼主在吗,有个问题想请教一下。。。
我用同样的方法仿真SA的失调电压的时候出现了一些问题。
问题具体描述如下:
我在sp里的写了如下的measure 语句:
.meas tran minq min v(qi) goal < "0.01*vdd"
用一共蒙特卡洛仿真仿了500次,查看最后的输出结果后发现minq大部分的值也确实是小于0.01*vdd的,但还有大概100个值是接近vdd的。
楼主知道这个问题怎么解决吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 09:55 , Processed in 0.019496 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表