|
本帖最后由 恒裕 于 2023-8-3 13:41 编辑
本文目的在于将工艺厂提供标准单元库的cdl网表转成对应的原理图。通常cdl网表中器件参数如下。如果直接使用原始网表,转成原理图后器件的symbol参数和器件的属性参数不对应。因此需要使用程序在原始网表后面添加一项参数fw,添加后的网表如下。
MM41 net115 xo net78 VPW N15LL W=200.00n L=130.00n(原始参数)
MM41 net115 xo net78 VPW N15LL W=200.00n L=130.00n fw=200.00n(添加后)
需要将整个原始的cdl网表都做转换,新建个空白文件,命名change_cdl,转换程序如下:
%%工艺厂提供的标准单元库中,电源和地使用了全局变量使用程序如下
- $read_in = "./origin.cdl"; #原始网表
- $write_out = "./output.cdl"; #生成网表
- open (IN, "< $read_in") or die "Can't open original file: $!\n";
- open (OUT, "> $write_out") or die "Can't open output file: $!\n";
- while (<IN>) {
- if (/^\.subckt/) {
- chomp;
- $_ .= " VDD VSS"; #VDD和VSS为电源和地名
- print OUT "$_\n";}
- elsif (/^M.*W=(\S+)/) { chomp;
- $_ .= " fw=$1";
- print OUT "$_\n";
- }
- else {
- print OUT $_;
- }
- }
- close IN;
- close OUT;
- open (TEST, "<$write_out") or die "can not open the file: $!\n";
- while ( <TEST> ) {
- print;
- }
- close TEST;
复制代码
打开终端,输入 ./change_cdl,就生成了可以转换的cdl网表。之后
cadence主界面 file—import—spice
1、第一个界面有四个位置修改
(1)新生成的cdl库位置
(2)选择cdl
(3)参考库选择pdk对应的基本库
(4)将device mapping 打对号
2、第二个界面有一个位置要修改
(1)添加输出库,其余默认。
3、第三个界面默认
4、第四个界面
(1)file导入写好的映射文件如下,因为我们不要使用二极管和电阻,因此此处没有研究二极管和电阻写法。将新生成的output.cdl 网表中的 NMOS名字(N15LL)替换成nfet,PMOS名字(P15LL)替换成pfet。
devSelect := nfet n15ll (n15ll是PDK库中对应的器件名称)
propMatch := subtype N
propMap := L l W w Fw fw M m (参数对应,如果顺序有问题去查cdf文件
中的promap,主界面tools—cdf--edit)
addProp := model n15ll
devSelect := pfet p15ll (n15ll是PDK库中对应的器件名称)
propMatch := subtype P
propMap := L l W w Fw fw M m
addProp := model p15ll
(2)可以通过面板修改参数
(3)实在不懂,可以help文件。
5、第五个界面默认。之后OK开始转换,一定注意报告的log文件
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
EDA1024论坛免责声明
请勿上传侵权资料及软件!
如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。
|