嵌入式学习小组
直播中

蔡妮芩

8年用户 182经验值
私信 关注

请问如何利用tcl脚本在lc_shell中批量把.lib文件转化成.db文件?

如何利用tcl脚本在lc_shell中批量把.lib文件转化成.db文件?


回帖(1)

李芳

2021-1-4 15:41:11
环境:现有的lib的名称样式:TPSRAM1024X36_tt_***.lib    等
      生成对应的db名称样式:TPSRAM1024X36_tt_***.db   等



  • 在lib所在路径下gvim打开文件lib2db.tcl;
  • 在lib2db.tcl文件中写入以下脚本内容:

    for {set i [expr [llength [ls *.lib] ] -1] } { $i >= 0}  { incr  i -1} {                 
            set lib [lindex  [ls *.lib]  $i ]                                                               
            read_lib $lib                                                                                      
            set cell_name  [lindex [split $lib _]  0]                        
            set  lib_name1 [lindex [split $lib .]  0]                 
            set  lib_name2 [lindex [split $lib .]  1]                  
            set  lib_name [concat   $lib_name1.$lib_name2]   
            write_lib  $cell_name  -format  db  -output   $lib_name.db         

        }

##################对应上面每一行命令的注释如下########################
#初始i为.lib文件数量,循环一次减小1,直到0为止;
#设置变量$lib 为第i个.lib文件;
#读入$lib  ,即读入lib文件;
#用"_"切割$lib的内容,使$cell_name = TPSRAM1024X46;
#用"."切割$lib的内容,使$lib_name1 = TPSRAM1024X46_tt_1;
#用"."切割$lib的内容,使$lib_name2 = 0.5_85;
#用"."连接$lib_name1/2, $lib_name = TPSRAM1024X36_tt_***;
#写db文件,获得TPSRAM1024X36_tt_***.db 。
##########################end###################################

    3.不***在***上面带#后的注释,仅为理解脚本;
    4.在当前lib所在路径的终端输入>>lc_shell
                                                   >>source lib2db.tcl   
    5.开始运行脚本了,输入命令时不***输入“>>”;
    6. 因为lc_shell识别tcl语言,所以用它写脚本。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分