新浪博客


2.编写map file
map file 是cdl netlist 与reference lib 里的device之间的映射关系。
---------------------------------------------------------------
-- Device Mapping file generated from SpiceIn GUI
devMap := nfet nmos_3p33
propMap := w fw l l
addProp := model nmos_3p3
devMap := pfet pmos_3p33
propMap := w fw l l
addProp := model pmos_3p3
---------------------------------------------------------------
需要注意的是,
map file 不要写的太复杂,容易出问题,类似 Terminal D NOT found之类的错误。
另外要w fw映射,否则网表导入后,器件的WL参数并不是netlist设定的参数。
3.修改netlist网表
----------------------------------------------------------------------------
.SUBCKT inv0d0 ZN I VDD VSS
*.PININFO ZN:O I:I VDD:B VSS:B
M1 ZN I VDD VDD pmos_3p3 L=0.35U W=2.00U
M2 ZN I VSS VSS nmos_3p3 L=0.35U W=1.50U
.ENDS inv0d0t
----------------------------------------------------------------------------
如果.subckt一行中没有VDD VSS,这个要加上。处理大的netlist,用sed行处理命令如下
sed '/^\.SUBCKT/s/$/ VDD VSS/g' cdl_netlist > cdl_netlist_1
或者直接修改源文件
sed -i '/^\.SUBCKT/s/$/ VDD VSS/g' cdl_netlist
关于端口的方向问题,系统自动匹配的不那么准确,最好自己把端口信息写到cdl_netlist当中去。
格式是
*.PININFO ZN:O I:I VDD:B VSS:B
netlist 文件大时,一个个添加不现实,最好写一个脚本,自动搜索端口名称,分析输入输出关系,自动加上去。这个目前还做不到。
注意这几项,CDL就可以导入成功了。

我的更多文章

下载客户端阅读体验更佳

APP专享