西决1998的个人空间 https://blog.eetop.cn/1771086 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

关于通过修改网表进行Spectre的后仿的教程与注意事项

热度 45已有 6624 次阅读| 2022-9-26 09:58 |系统分类:芯片设计

后仿

1、抽寄生参数

                    image.png                         

在进行寄生参数抽取之前需要阅读后抽的文件并进行一定的调整,抽取的文件在工艺文件的LVS文件夹下面(提前拷贝到自己的目录下获得编辑权限),有typical、Cmax、Cmin三种,文件里边描述的是抽取的规则,在进行后抽之前需要阅读该文件并根据下方描述更改部分Environment Setting。

image.png

部分需要注意的设置有:

顶层金属类型

image.png

使用的高阻的电阻类型

image.png

后抽大小写敏感

 

image.png

建议选择CASE_SENSITIVITY TRUE;这样后抽出来的文件里边器件名为小写,就无需更改前仿真中的model lib文件了

后抽文件设置

image.png

后抽类型由文件中include的rule决定,根据需求去设置。

文件设置好后就可以进行后抽

image.png

抽取设置:先选择刚刚更改过的pex文件,设置输出路径

image.png

选择后抽的layout文件,可以直接选择Export from layout Viewer

image.png

在Netlist处除了设置电路还需要添加empty_subskt.sp文件做LVS(文件在工艺库的LVS文件夹下)

image.png

添加H-Cells文件(文件在工艺库的LVS文件夹的rulefiles目录下),该文件描述的是采用寄生作为设计参数的器件,比如mom电容,如果不添加该文件会出现后抽反复抽取的错误。

image.png

选择抽取的level,一般模拟设置为Transistor level,数字的才需要gate Level;但是有可能存在Transistor level抽取不成功的情况,所以根据需求去设置。

image.png

一般抽取C+CC,必要的时候才抽取R+C+CC,因为大规模抽取的话仿真时间会很长;No R/C的抽取可以用来验证后抽生成的网表是否正常,但是需要注意的是后抽的二极管仍然存在(删除pex文件里边的关于二极管的规则则可以实现无二极管)。

image.png

选择输出格式为spectre,如果选择spice还需要更改网表里的语句,会很麻烦;输出的net name选择Use Name From SCHMATIC;但是要注意电路中不能出现不符合后仿规则的net name,比如&、+、-、=号以及数字开头的,否则后抽网表会自己生成新的net name导致后防查错难定位。

image.png

PEX Option里边设置电源和地(所有的电源和地都可以加上去,主要做LVS用)

 

image.png

选择多线程可以加速抽取。

image.png

全部设置好后,可以开始后仿抽取,同时可以保存后抽设置,下次直接load Runset

image.png

2、后仿设置

找到此前设置的后抽文件路径,找到pex.netlist文件和pxi文件。

image.png

其中netlist文件是后抽的网表,里边是顶层的器件与连接关系,pxi文件为寄生参数文件,需要知道的是netlist文件最后include了另外一个pxi文件,如果文件名修改了的话,就缺少对应的文件了。

image.png

找到前仿产生的网表(Simulation文件夹里边的input.scs文件),搜索关于芯片的定义那一层,

image.png

修改netlist文件里边的子电路的顶层名字(使用find and replace全局替代,并注意修改对应的pxi文件名字)对应于前仿网表,修改端口顺序。

image.png

文件准备好之后,在ADEL里边添加netlist文件

image.png

重新生成网表,后仿文件会被include到input.scs文件里面

image.png

image.png

现在将前仿网表中关于芯片的定义部分全部删除(包含所有子电路),只保留顶层的测试电路的定义和test bench关于顶层测试电路与芯片的连接部分,删除之后记得保存文件。如果删除不测底则会在仿真的时候出现重复定义的错误。

image.png

网表修改好就可以仿真了,注意后仿使用Simulation—RUN去仿真,如果点击绿色按钮代表netlist and run会重新生成网表,那么刚刚配置好的网表就会被覆盖掉又要重新操作了.

image.png

3、后仿保存设置

后仿的时候,前仿关于芯片内部存储的结点不再有效,如果芯片不大,可以选择Save all,然后所有的内部结点可以通过在Result browser里边查看。

image.png

如果芯片太大,只能保存部分结点,那么只能在input.scs文件里边修改save语句,唯一需要注意的是同一net在前仿网表中的位置在后仿网表中的格式不一样.

例如--存储芯片I1内部某symbol(I337)内部net为Q666_F的电压

前仿语句:

save

I1.I337.Q666_F

saveOptions options save=selected currents=selected

而在后仿网表里边,该net所在位置不一样,后仿存储语句为:

save

I1.XI337\/Q666_F

saveOptions options save=selected currents=selected

 

例如--存储芯片I1内部流过某symbol(I337)内部电阻R1的电流

前仿语句:

save

I1.I337.R1:0

saveOptions options save=selected currents=selected

而在后仿网表里边,该net所在位置不一样,后仿存储语句为:

save

I1.XI337\/XIR1:0

saveOptions options save=selected currents=selected

*存储结点的具体位置可以参考Result Browser里边的定义

*如果电阻为m=10的电阻,后仿存储设置只会存储其中一个的电流,因为在后仿网表中每一个电阻都是单独定义的,对于m为多个的其他例如mos管的器件同样存在这个问题

*对于多端口器件,0、1、2、3、4对应于不同的端口的流入电流,具体对应关系需要查看网表中的连接关系。部分注意事项参考下一节。




45

点赞

刚表态过的朋友 (45 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 9

    粉丝
  • 0

    好友
  • 51

    获赞
  • 5

    评论
  • 158

    访问数
关闭

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

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

GMT+8, 2024-4-17 03:46 , Processed in 0.014215 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部