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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3572|回复: 15

[求助] 请问怎样用ADE仿真带有trim电阻阵列的LDO,算出在各个corner或者montecarlo分析时最佳的trim字?

[复制链接]
发表于 2021-6-23 17:17:12 | 显示全部楼层 |阅读模式

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

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

x
rt。

montecarlo直接仿真模拟电路输出的分布大家肯定都会。
但如果我想知道我给的trim阵列覆盖范围够不够大,步长够不够细,需要怎么仿真?
是不是仿真器能算出某个corner,或者某次montecarlo下最佳的trim字,以及在这个trim字下的输出?

多谢~

发表于 2021-6-23 17:33:59 | 显示全部楼层
什么指标最佳?一般LDO的指标包括PSRR,GAIN/PHASE Margain,MAX Iload,还有输出纹波等等,它们互相影响,怎么可能全部最佳
 楼主| 发表于 2021-6-23 18:06:08 | 显示全部楼层


不负时光 发表于 2021-6-23 17:33
什么指标最佳?一般LDO的指标包括PSRR,GAIN/PHASE Margain,MAX Iload,还有输出纹波等等,它们互相影响, ...


就比如是输出电压的绝对值吧。
ADE xL里设个spec范围应该挺方便的吧。就是这个仿真方法不知道怎么做。
发表于 2021-6-23 18:08:27 | 显示全部楼层
那就是纹波,这个参数理论上和反馈电阻无关,是负载电容、驱动管、带宽决定的
 楼主| 发表于 2021-6-23 18:20:41 | 显示全部楼层


不负时光 发表于 2021-6-23 18:08
那就是纹波,这个参数理论上和反馈电阻无关,是负载电容、驱动管、带宽决定的 ...


您误解了我的问题。

我是想知道,带有trim网络的电路,如果希望得到在所有corner下,比如输出电压最接近设定值的指标,怎么可以仿真得到对应的最佳trim字。当然特定corner下的最佳trim字是可以锁定corner、扫描trim字的变化范围来得到。那么第一个问题,我怎么把得到的trim字自动填回parameter,再做一次仿真,得到trim好的输出电压。第二个问题,如果我不锁定corner,怎么让仿真器在每个corner下都重复前两个步骤,而且把每个corner下的最佳trim字和trim后的最佳输出都存下来。第三个问题是如果我再引入mismatch呢,怎么在某一组随机变量取值下也能找到最佳trim字

看起来总是可以存一个基础的ocean文本,然后自己去套循环实现的,但这不是懒吗?

刚在ade xl里找了找,特定corner下用local optimization应该可以找到最佳trim字,但不知道怎么扫全corner下的最佳trim字。
mismatch反正现在看是蒙特卡洛根本不支持variable里有给出变化范围不是固定值的仿真。
 楼主| 发表于 2021-6-24 08:31:33 | 显示全部楼层
上班自顶。
发表于 2021-6-24 08:50:35 | 显示全部楼层
本帖最后由 david_reg 于 2021-6-24 09:45 编辑

或许可以这样试试
1. 在一个corner下扫描所有trim code,计算每一个code下Vout与校正目标值Vout_targ之间的绝对误差,即Verr(code)=abs(Vout(code)-Vout_targ),
然后用min函数得到该Corder下最佳trim code的误差,即
Verr_min = min(Verr(code))
再用xmin函数找到最小trim误差对应的code值, 即 Code_opt=xmin(Verr(code))
2. 做corner仿真,得到所有corner下的Verr_min(corner)及对应的Code_opt(corner), 然后找出其中最worst的err,即
Verr_min_worstcase = max(Verr_min(corner))

再找出最大和最小的最佳code_opt,即
code_opt_max = max(code_opt(corner))
code_opt_min = min(code_opt(corner))
确认code_opt_max,min值离trim code设计范围的最大最小值还有多少余量;

这样可以评估出没有mismatch时最坏情况下trim设计是否满足精度要求;

3. 在第2步的Verr_min_worstcase, code_opt_max, code_opt_min分别对应的worst corner下,加入mismatch做MC分析,可以得到Verr_min_worstcase,code_opt_max ,code_opt_min  在失配下是否依然满足需求。


方法2 :
a)       在一个corner下扫描所有trim code, 计算最大step及trim范围
trim_step(i) = vout(i+1)-vout(i)
trim_step_max = max(trim_step(i))
vout_max = max(vout(i))
vout_min = min(vout(i))
b)      仿真所有corner, 找到trim_step_max, vout_max, vout_min分别对应的worst corner ;
trim_step_max_worst = max(trim_step_max(corner))
vout_max_worst = min(vout_max(corner))
vout_min_wrost = max(vout_min(corner))
c)       在上一步的worst corner下加入mismatch, 仿真trim_step_max, vout_max, vout_min的3-sigma variation, 确认
trim_step_max + variation @worst_corner
vout_max - variation @worst_corner
vout_min + variation @worst_corner
都满足Spec.




发表于 2021-6-24 09:16:51 | 显示全部楼层
看一下看一下
 楼主| 发表于 2021-6-24 11:33:49 | 显示全部楼层


david_reg 发表于 2021-6-24 08:50
或许可以这样试试
1. 在一个corner下扫描所有trim code,计算每一个code下Vout与校正目标值Vout_targ之间的 ...


有点晕,待我看看。多谢~
 楼主| 发表于 2021-6-24 11:39:19 | 显示全部楼层


david_reg 发表于 2021-6-24 08:50
或许可以这样试试
1. 在一个corner下扫描所有trim code,计算每一个code下Vout与校正目标值Vout_targ之间的 ...


是不是可以理解,第一种思路是看trim做完后能做到全corner什么spec,在极端情况下加入 local mismatch。
第二种思路是看trim网络在全corner能覆盖什么范围,然后在极端情况下加入mismatch?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-28 06:33 , Processed in 0.071494 second(s), 7 queries , Gzip On, Redis On.

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