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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21308|回复: 30

使用spice explorer把ac分析和pz分析的结果显示在同一窗口(零极点与ac分析一一对应)

[复制链接]
发表于 2009-3-21 20:06:56 | 显示全部楼层 |阅读模式

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

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

x
spice explorer可以说是使用最方便功能最强大的波形分析工具。 支持多达几十中波形格式(唯一的遗憾是还不支持cadence的sst2),速度快,多标签窗口显示,史密斯图,柱图,3D显示`````,还有强大的量测/计算工具(数学,ad/da、动态测量````) ,此外可以和cadence方便的集成在一起,实现corss probe。

下面给出我这两天的一个简单研究结果: 把hspice的ac分析和pz分析在同一窗口显示,把零极点和ac曲线一一对应。也就是把ac频率响应和零极点所在的S平面放在一起查看,从而得到清晰的结果。
先使用hspice进行ac和pz分析。 pz分析结果如下:

**********************************************************************
    real            imag            real            imag
    0.              0.              0.              0.         
   -7.2669          0.             -1.1566          0.         
-118.3744k         0.            -18.8399k         0.         
   -1.5929x         0.           -253.5203k         0.         
   -2.0468x         0.           -325.7631k         0.         
   -5.9619x         0.           -948.8660k         0.         
   -7.6490x         0.             -1.2174x         0.         
  -19.1067x         0.             -3.0409x         0.         
  -44.0687x         0.             -7.0138x         0.         
-185.3646x         0.            -29.5017x         0.         
-236.5546x         0.            -37.6488x         0.         
-243.5865x         0.            -38.7680x         0.         
-320.9037x         0.            -51.0734x         0.         
   -2.3096g         0.           -367.5855x         0.         
  -26.6049g         0.             -4.2343g         0.         
-125.0115g         0.            -19.8962g         0.         
-196.9350g         0.            -31.3432g         0.         
      zeros (rad/sec)                 zeros ( hertz)
**********************************************************************
    real            imag            real            imag
-719.8027k         0.           -114.5602k         0.         
   -6.0405x         0.           -961.3807k         0.         
   -7.5889x         0.             -1.2078x         0.         
  -14.7338x         0.             -2.3450x         0.         
  -24.6845x       -80.3620x        -3.9287x       -12.7900x     
  -24.6845x        80.3620x        -3.9287x        12.7900x     
  -32.5689x         0.             -5.1835x         0.         
  -99.9999x         0.            -15.9155x         0.         
-112.7977x         0.            -17.9523x         0.         
-237.3037x         0.            -37.7681x         0.         
-275.7424x         0.            -43.8858x         0.         
   -2.3023g         0.           -366.4242x         0.         
    3.7769g         0.            601.1190x         0.         
  -18.5761g         0.             -2.9565g         0.         
-123.6236g         0.            -19.6753g         0.         
  159.0198g         0.             25.3088g         0.         
-196.9570g         0.            -31.3467g         0.         

***** constant factor =  4.428e-20      *****

对上述文本进行处理得到以下四个文件:
file1: pole_left.tab
------------------------------
#format table ##
pole_left_real  pole_left_img
1.1566         0.
18.8399k     0.
253.5203k     0.
325.7631k     0.
948.8660k     0.
1.2174x     0.
3.0409x     0.
7.0138x     0.
29.5017x     0.
37.6488x     0.
38.7680x     0.
51.0734x     0.
367.5855x    0.
4.2343g     0.
19.8962g     0.
31.3432g     0.



file2: pole_right.tab
--------------------------------
#format table ##
pole_right_real  pole_right_img
0. 0.


file3: zero_left.tab
-----------------------------

#format table ##
zero_left_real  zero_left_img
114.5602k     0.
961.3807k     0.
1.2078x     0.
2.3450x     0.
3.9287x     -12.7900x
3.9287x     12.7900x
5.1835x     0.
15.9155x     0.
17.9523x     0.
37.7681x     0.
43.8858x     0.
366.4242x     0.
2.9565g     0.
19.6753g     0.
31.3467g     0.


file4 : zero_right.tab
----------------------------
#format table ##
zero_right_real  zero_right_img
601.1190x     0.
25.3088g       0.



    上述4个文件分别是左右平面极点和左右平面零点,每个文件包含每个pole/zero的实部(以hz为单位的频率)和虚部(删除了以角频率为单位的pole/zero的数据),同时把所有左平面的数据负号“-”删除(这样使得其与ac一一对应)而使用不同文件和名称来区别左右平面的数据。
    为了方便,上述处理是我写了个shell脚本文件自动处理的(脚本文件及用法后面给出)。
    好了,假如你仿真得到的ac数据是sim.ac0,使用spice explorer打开包括上述4个及sim.ac0共5个文件(可以使用sx sim.ac0 *.tab),得到如下波形图
    可以看到左平面极点文件pole_left.tab显示其第一个左平面极点在1.16692Hz,而其虚部为0, 同时对应的ac波形上,相位刚好是-45度,增益下降了-3db.
而其他极点和零点也于ac曲线一一对应。以上的pz分析结果并无右平面极点,当在下图中却出现了一个右平面极点“0”,这是由于使用脚本处理把0既当作左平面又但右平面的缘故,可以修改脚本来修正这一问题。

3.png

[ 本帖最后由 lsh0211 于 2009-3-21 20:39 编辑 ]
 楼主| 发表于 2009-3-21 20:32:07 | 显示全部楼层
处理pz分析结果的脚本:
####-----------------------------------------------

#!/bin/sh
echo "use:pz.sh in-file out-file.left/right.tab"
tmp0=$1
awk '{print $3,$4}'  $tmp0 >tmp1
grep "^-" tmp1 >tmp2

echo "#format table ##
$2_left_real  $2_left_img" >$2_left.tab
sed 's/^-//g'  tmp2 >>$2_left.tab

echo "#format table ##
$2_right_real  $2_right_img" >$2_right.tab
grep "^[0-9]"  tmp1 >>$2_right.tab
echo "finished!"

###--------------------------------------------------

把以上文件保存为文本文件,例如pz.sh,修改使其具有可执行权限(chmod u+x pz.sh), 即得到脚本程序。
使用方法,先把pz分析结果的pole和zero分别保存到两个文件:


file1:  pole.txt
-------------------------
**********************************************************************
    real            imag            real            imag
    0.              0.              0.              0.         
   -7.2669          0.             -1.1566          0.         
-118.3744k         0.            -18.8399k         0.         
   -1.5929x         0.           -253.5203k         0.         
   -2.0468x         0.           -325.7631k         0.         
   -5.9619x         0.           -948.8660k         0.         
   -7.6490x         0.             -1.2174x         0.         
  -19.1067x         0.             -3.0409x         0.         
  -44.0687x         0.             -7.0138x         0.         
-185.3646x         0.            -29.5017x         0.         
-236.5546x         0.            -37.6488x         0.         
-243.5865x         0.            -38.7680x         0.         
-320.9037x         0.            -51.0734x         0.         
   -2.3096g         0.           -367.5855x         0.         
  -26.6049g         0.             -4.2343g         0.         
-125.0115g         0.            -19.8962g         0.         
-196.9350g         0.            -31.3432g         0.        


file2:  zero.txt
-----------------------------------
zeros (rad/sec)                 zeros ( hertz)
**********************************************************************
    real            imag            real            imag
-719.8027k         0.           -114.5602k         0.         
   -6.0405x         0.           -961.3807k         0.         
   -7.5889x         0.             -1.2078x         0.         
  -14.7338x         0.             -2.3450x         0.         
  -24.6845x       -80.3620x        -3.9287x       -12.7900x     
  -24.6845x        80.3620x        -3.9287x        12.7900x     
  -32.5689x         0.             -5.1835x         0.         
  -99.9999x         0.            -15.9155x         0.         
-112.7977x         0.            -17.9523x         0.         
-237.3037x         0.            -37.7681x         0.         
-275.7424x         0.            -43.8858x         0.         
   -2.3023g         0.           -366.4242x         0.         
    3.7769g         0.            601.1190x         0.         
  -18.5761g         0.             -2.9565g         0.         
-123.6236g         0.            -19.6753g         0.         
  159.0198g         0.             25.3088g         0.         
-196.9570g         0.            -31.3467g         0.         

***** constant factor =  4.428e-20      *****



使用方法: pz.sh  input-file   output-file,第一个参数是输入原始的pole/zero数据,第二个参数是输出文件名称,例如第二个参数是123abc,则处理结果得到123abc_left.tab和123abc_right.tab两个文件,分别是左右平面的数据.
好了, 执行  
./pz.sh   pole.txt   pole
得到pole_left.tab  pole_right.tab两个文件
执行
./pz.sh   zero.txt   zero
得到zero_left.tab  zero_right.tab两个文件

使用spice explorer打开ac分析结果与上述4个文件就可以得到想要的波形图了。


[ 本帖最后由 lsh0211 于 2009-3-21 20:38 编辑 ]
 楼主| 发表于 2009-7-12 15:07:38 | 显示全部楼层
要问问题,先要把问题说明白,否则怎么回答你?
not work? 提示什么错误? 怎么执行的?
前提是要使其具有可执行权限
发表于 2009-7-18 21:33:30 | 显示全部楼层
謝謝囉...來試看看^^
发表于 2009-7-31 11:27:23 | 显示全部楼层

请教

请问楼主用spectre做过pz和ac分析没有,我对一运放做pz和ac分析,发现pz算出的零极点和ac图上找到的零极点不一样大?请问楼主可有遇到这样的情况?
 楼主| 发表于 2009-8-1 02:54:21 | 显示全部楼层
pz分析异常是正常的事情
spectre确实会出现分析后没结果,或者有结果,不正确(和ac分析不一致), 尤其在对op进行环路分析时(使用大电感和大电容端口环路)
发表于 2009-9-4 19:43:45 | 显示全部楼层
很不錯的講解,感謝樓主熱心分享。
发表于 2009-9-4 23:49:11 | 显示全部楼层
这个脚本处理好像是linux平台下的做法,不知道在windows下有没有类似比较可行的办法呢?
发表于 2010-4-8 16:47:26 | 显示全部楼层
楼主很强大啊
发表于 2010-7-12 15:13:49 | 显示全部楼层
真好用得上,谢谢~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-13 11:31 , Processed in 0.032160 second(s), 9 queries , Gzip On, Redis On.

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