之前用过N种方法解决过verilog netlist转CDL的大小写重名的问题。
脚本方法
Perl脚本直接正则查找替换,Python脚本根据calibre v2lvs的log warning来缩小查找替换的范围,也用过GOF的rename_net。
用Python解决Verilog网表转CDL大小写重名的问题
笨方法
但我一直相信innovus自己应该也能搞定。innovus没有rename net的命令,那么有一种复杂的方法,先查找出net的所有terminal,用eco命令来手动替换。
addNet n100_new
attachTerm inst term1 n100_new
attachTerm inst term2 n100_new
attachTerm inst term3 n100_new
deleteNet n100
当这只是改的连接关系,已经routed的连线和via的名字也要改:
editSelect -nets n100
editSelectVia -nets n100
editChangeNet -to n100_new
可以倒是可以,但太繁琐了。
终极方法
其实innovus也有一个命令类似dc的change_names,叫update_names。用法如下:
update_names -net -nocase
效果如下图:
是不是很方便?