1、网表的概念
综合后或实现过程中各个子步骤所生成的DCP文件。
2、网表的对象
网表中有5类重要的对象,分别为模块(cell)、引脚(pin)、网线(net)、端口(port)和时钟(clock)。如下图所示,这里注意pin和port的区别。这5类对象构成了网表中的基本对象,也是在描述约束以及编辑网表时不可避免地会查找或引用的对象。
图1 网表中的5类对象
3、获取网表对象的Tcl命令
get_cells、get_pins、get_nets、get_ports和get_clocks。
4、网表对象说明
4.1 port
port属性如下图所示。get_ports命令用于获取目标端口。
图2 port属性
4.2 cell
cell属性如下图所示。这里注意模块的NAME和REF_NAME的区别。其中REF_NAME对应Vrilog的module名或者VHDL的entity名,而NAME则是该模块的实例化名称。get_cells命令可以用于获取目标cell。
图3 cell的属性
4.3 pin
pin的属性如下图所示,同样注意NAME与REF_PIN_NAME的区别。通过get_pins命令可以获取目标pin。
图4 pin的属性
4.4 net
net的属性如下图所示,这里分别列出了Scalar net(位宽为1)和总线型net(位宽大于1)的属性。对于Scalar net,BUS_NAME的属性值为空。通过get_nets可以获取目标net。
图5 net属性
5 Tcl命令与网表视图的交互使用
如下图所示,在netlist窗口中选中模块clk_gen_i0,按下F4键即可显示该模块的网表视图;或者在Tcl console中输入Tcl命令get_selected_objects,则输出clk_gen_i0,即选中对象的名字。这种方法对于获取对象名称很有帮助。
图6 显示对象的网表视图
摘自:《Vivado从此开始》高亚军
————————————————
版权声明:本文为CSDN博主「yundanfengqing_nuc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yundanfengqing_nuc/article/details/115346426