[1] 每两行合并在一起
<@dahu>awk 'ORS=NR%2?" ":"\n"{print}'
[2] 每三行合并在一起
<@dahu>awk 'ORS=NR%3?" ":"\n"{print}'
[3] 每四行合并在一起
<@dahu>awk 'ORS=NR%4?" ":"\n"{print}'
[4] 统计std cell和sRam占的面积
<@dahu>summaryReport
[5] 找出drc的port相关的数量
<@dahu>cat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-
[6] 获得选中的pin的名字
<@innovus>dbget selected.name
[7] 对一个文件,多目标删除
<@dahu>sed -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'
[8] 获得不规则fplan的坐标组
<@innovus>dbget top.fplan.boxes
[9] 在某个目录下找到带某个字符的文件[区分大小写]
<@dahu>find -iname "*tcic*"
[10] 在某个目录下,遍历所有文件内容,得到含有某个字符/字符串的行
<@dahu>grep -r 'insertion delay' ./
[11] 查看当前的INNOVUS版本号
<@dahu>echo $INVS_VER
[12] 替换某个目录下所有文件内容
<@dahu>sed -i"s/查找的内容/替换后的内容/g"`grep -rl"查找的内容"./`
[13] 在gui界面下highlight某条path
<@dahu> ctd_trace -from * -to * -color *
[14] 引用${REV},为什么采用大括号{}
为了防止引用造成后面错乱。
如:/fs/omp_com_03/RELEASE/top2hlb/R1/HLB_DEF/${REV}/${top}.def.gz
[15] 解压命令
gzip -d FileName.gz
[16] 换某个cell的坐标 {AAA, BBB}
<@innovus> dbset [dbget top.inst.name XXXXXXXX].pt_x AAA
<@innovus> dbset [dbget top.inst.name XXXXXXXX].pt_y BBB
<@innovus> zoomSelected
[17] 设置某一个cell不用
<@innovus> set_dont_touch BUFF false
<@innovus> set_dont_touch BUFF true
[18] 找某个性质
<@innovus> dbSet [].?h
[19] 删去空白行
vim 中:g/^s*$/d
简单解释一下:
g :全区命令
/ :分隔符
^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾。连起来就是匹配只有空字符的行,也就是空行。
/d :删除该行
[20] echo 写入带有双引号""的内容。
echo ‘ “AAAbbb” ’ >> 1.tcl
[21] echo 写入带有单引号‘’的内容。
echo “ ‘AAAbbb' ” >>1.tcl
[22] keep CPU 数目
<@innovus>setMultiCpuUsage -localCpu 16
<@innovus>history keep 999999
[23] 打开xlsm文件
openoffice.org 文件
[24] 显示clock path路径
<@innovus> report_timing -to XXX -path_type full_clock
[25]报出没有被约束到的path
<@innovus> report_timing -to XXX -uncounstrained
[26]报出穿过path中的某一点
<@innovus> report_timing -to XXX -view
view = MODE + corner
[27] vim全选(高亮显示):按esc后,然后ggvG或者ggVG
[28]
网友评论