STDcell的仿真测试流程

创建STDcell的library

①根据fundry提供的PDK文件,先在cadence library manager中添加STDcell symbol library path(也可直接在cds.lib中直接添加symbol library的path)。完成这一步STDcell的symbol和schematic也应该同时也被导入了对应的STDcell cellview中。

②找到STDcell的GDS文件,将GDS stream In到STDcell symbol library中,合并成一个library。

创建STDcell library

创建STDcell的spectre

copyView.il

①上图中CellName.txt path处替换为当前STDcellName list的path。csm18ic处替换为当前STDcell library name。

STDcellName的list文档如下图格式:

CellName.txt

②在cadence CIW中load “********/copyView.il”。refresh library即可看到STDcell的cellView下生成了一个spectre 。

③给每个STDcell的spectre添加port信息。

fillPort.il
fillPort.il

上图中CellName.txt path处替换为当前STDcellName list的path。CellPort.txt path处替换为当前STDcellPort list的path。csm18ic处替换为当前STDcell library name。

CellPort.txt

④在cadence CIW中load “********/fillPort.il”。refresh library即可看到STDcell的cellView下每个spectre都有了port 信息 。

Run simulation

①修改STDcell的cdl中power和ground信息。有时候cdl中用1代表power,0代表ground,此时需要把1修改为vdd!,0修改为gnd!(电路中的名字要与cdl中大小写保持完全一致)。STDcell中的power和ground必须是global设置的。如下cdl实例:

STDcell.cdl

②创建一个反相器schematic测试。如下图:(设置电源电压)

INVX1

③在launch—>ADE L进入analog design environment,点击Setup—>Model libraries中设置需要用到的lib信息以及STDcell的cdl信息。点击OK运行仿真。设置如下图:

Model library设置


时间设置

④查看输出信号波形图,检查结果是否正确。在Results->Direct Polt->Main Form如下图为方波输出信号图:

方波信号


方波信号测试

小贴士:

①在STDcell.cdl中筛选出STDcellName.txt;

$grep 'SUBCKT' STDcell.cdl >test.txt

$cat test.txt| awk '{print $1}' >STDcellName.txt

②在STDcell.cdl中筛选出STDcellPort.txt;

$cat test.txt| awk '{print $1,$2,$3,$4……}'>STDcellPort.txt

(在cdl中最多pin个数的值作为print输出的最大$的值,“,“表示每个pin之间用空格分开,不能省略)。

③遇到cadence不同版本信息转换的问题时。此项目的symbol lib信息是CDB转OA的。

在cadence中创建一个文件夹,如CDB。把需要装换的lib放在这个文件夹中,创建一个cds.lib,把需要转换的lib全部添加在这个文件中,格式如下:

DEFINE  library_name  library_path

在cadence61版本CIW中,Tools->Conversion Tool Box->CDB to OpenAccess Translator

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • 动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过...
    小5筒阅读 10,896评论 0 3
  • 一直想系统地了解下linux下神奇的动态函数库,这在大型的工程里面非常常见。需要把一些代码编译成自己的库,然后划分...
    少阁主_enfj阅读 7,768评论 0 4
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 12,379评论 0 27