网站怎么加留言,建设银行在网站上开通短信提醒,wordpress 插件 查看,做不锈钢管网站今天吾爱IC社区小编给大家分享下数字IC后端设计实现innovus中关于update_names和changeInstName在PR中的具体使用方法。
update_names
1#xff09;为了避免和verilog语法保留的一些关键词#xff0c;比如input#xff0c;output这些#xff0c;是不允许存在叫这类名字的…今天吾爱IC社区小编给大家分享下数字IC后端设计实现innovus中关于update_names和changeInstName在PR中的具体使用方法。
update_names
1为了避免和verilog语法保留的一些关键词比如inputoutput这些是不允许存在叫这类名字的wire等。如果有这样的input那么通过下面的命令会自动把input改成input_1。
innovus update_names -verilog
这个类似写tcl脚本你如果定义一个变量叫for ,whilebreak那么就会有冲突认错的情况。
批量把设计中[ ] 全部替换成_ (比如有时候LVS要用)
innovus update_names -restricted {[ ]} -replace_str “_”
自动修改设计中存在同名的net和instance (默认不区分大小写)
innovus update_names -nocase -net innovus update_names -nocase -inst
比如两条net分别是NET_ABC 和net_abc这个在RC抽取会报它们是同一条net。通过上面的命令后工具会自动给这两条net加上一个数字后缀比如_1 和_2。
同理instance工具也是这么处理的。
4修改design名字
innovus update_names -design -map {abcreg xyzreg}
修改后我们可以通过下面的命令来确认是否更改成功。
innovus dbGet top.name innovus get_db designs .name #In CUI
5更改设计中子模块module的名字
innovus update_names -change_modules design_dual_rank_synchronizer_9 -local -map {design_dual_rank_synchronizer_9 new}
通过上述命令工具会把原来的design_dual_rank_synchronizer_9这个module名改成 new。这里需要改的名字写在map选项即可。
changeInstName
语法 changeInstName -inst instName -newBasename baseName
innovus changeInstName -inst ff12 -newBaseName ff123
innovus changeInstName -inst Top/subtop/ff12 -newBaseName ff123
思考题上次命令执行后新的instance名字full_name叫什么
最后分享一个把设计中instance名字带“”符号的instance进行重命名的小脚本。
通过这个脚本大家又可以来练习foreachdbGetlindexsplit这些tcl脚本的基本使用方法。对于数字IC后端工程师需要慢慢学会看懂脚本学会抄脚本最后会自己改脚本写一些小脚本。
foreach i [dbGet top.insts.name :] { set newInst “[lindex [split [lindex [split $i “/”] end] “:”] 0][lindex [split [lindex [split $i “/”] end] “:”] 1]”; changeInstName -inst $i -newBaseName $newInst #Puts $newInst; }