仅对英特尔可见 — GUID: gmy1660745447238
Ixiasoft
1.1. 编译概述
1.2. 使用Compilation Dashboard
1.3. 设计网表基础设施
1.4. 使用Node Finder
1.5. Precompiled Component (PCC)生成流程
1.6. Analysis & Elaboration流程
1.7. 设计综合
1.8. 设计布局和布线
1.9. 增量式优化流程
1.10. 快进编译流程(Fast-Forward Compilation Flow)
1.11. 完整编译流程(Full Compilation Flow)
1.12. 编译监控模式
1.13. 导出编译结果
1.14. 集成其他EDA工具
1.15. Compiler优化技术
1.16. 综合语言支持
1.17. 综合设置参考
1.18. Fitter设置参考
1.19. 设计编译修订历史
仅对英特尔可见 — GUID: gmy1660745447238
Ixiasoft
1.6.2.1. 使用Tcl命令编写常规任务脚本
以下示例列举了如何使用get命令的不同功能轻松编写一些常规任务的脚本,例如基于属性的对象过滤、基于名称的搜索或遍历(traversing)对象关系:
检索顶层输入端口(在原理图中突出显示)
在某些情况下,您可能需要顶层端口列表。例如,为了确保所有输入端口都受到set_input_delay的约束,您必须检索设计中的所有端口并使用 dni::get_ports tcl命令,根据direction进行过滤,如下所示:
dni::get_ports -filter direction==input

tcl命令将输入端口集合返回设计中,例如PI_1,PI_2和PI_3。您可以使用返回的集合来传递或链接到其他get_object命令中。要访问集合的成员,请使用集合迭代器,例如,foreach_in_collection。例如:
foreach_in_collection p [dni::get_ports -filter direction=input] { puts $p } port::top::PI_1port::top::PI_2port::top::PI_3
检索inst_1实例
在您的设计中,可以按名称搜索特定对象(例如,实例)。要查找实例,请使用 dni::get_cells tcl命令,如下所示:
dni::get_cells inst_1

tcl命令将inst_1实例返回设计中。您可以使用返回的实例传递或链接到其他get_object命令中。例如:
foreach_in_collection p [dni::get_cells inst_1] { puts [dni::get_property -name name -object $p] } inst_1
检索inst_1的in_1实例端口
在连接遍历(traversal)期间,您可能希望找到某个实例的特定实例管脚。在这种情况下,请使用 dni::get_pins 命令的-of_object接口来遍历实例到实例的管脚关系,如下所示:
dni::get_pins -of_objects [dni::get_cells inst_1] -filter name==in_1

Tcl命令将inst_1实例的in_1实例端口返回到设计中。您可以使用返回的实例端口传递或链接到其他get_object命令中。例如inst_1实例的in_1实例端口返回到设计中。您可以使用返回的实例端口传递或链接到其他get_object命令中。例如:
foreach_in_collection p [dni::get_pins -of_objects [dni::get_cells inst_1] -filter name==in_1] { puts $p } inst_port::top::inst_1|in_1
检索inst_1|out1实例的网络
在连接追踪期间,您可能希望遍历连接到实例的所有网络。在这种情况下,请使用 dni::get_nets 命令的-of_objects接口 来遍历连接到实例的网络。例如:
dni::get_nets -of_objects [dni::get_cells inst_1|out_1]

tcl命令将inst_1|out1实例网络返回到设计中。您可以使用返回的实例端口集传递或链接到其他命令中。例如:
foreach_in_collection p [dni::get_nets -of_objects [dni::get_cells inst_1|out_1] ] { puts $p } inst_port::top::inst_1|out_1|Net_7inst_port::top::inst_1|out_1|Net_6inst_port::top::inst_1|out_1|Net_8
列出net对象类型上可用的属性
tcl接口允许您通过 dni::list_properties tcl命令访问对象原理图。您可以使用此命令列出任何对象类型的可访问属性,如下所示:
dni::list_properties -type net name parent_name number_of_ports ports net_bus_name source_file source_line is_user_declared