SDC命令详解:使用current_design命令设置当前设计
相关阅读
SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
current_design命令用于设置当前设计,当前设计以及当前实例是许多命令的默认目标对象,关于当前实例,可以参考下面的博客。
SDC命令详解:使用相对路径访问设计对象(current_instance命令)https://chenzhang.blog.csdn.net/article/details/147156354本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。current_design命令的BNF范式(有关BNF范式,可以参考以往文章)为:
current_design [design]指定设计
指定一个已加载进内存的设计,可以使用list_designs命令列出内存中所有的可用设计。如果不指定该参数,则会列出当前设计而不是设置当前设计。
简单使用
在使用analyze+elaborate命令读取设计时,一般不会用到current_design命令,因为elaborate命令会自动将指定的设计设置为当前设计。
但在使用read类命令读取设计时,当前设计的自动设置情况就更加复杂了,下面给出几个例子进行说明。
1、当使用多条read类命令读取设计时,最后一个命令读取的文件将被自动设置为当前设计(每次使用read类命令都会重新设置当前设计),如下所示。
// A.v module A(); endmodule // B.v module B(); endmodule // TOP.v module TOP(); endmodule dc_shell> read_verilog A.v ***** Current design is 'A'. dc_shell> read_verilog B.v ***** Current design is 'B'. dc_shell> read_verilog TOP.v ***** Current design is 'TOP'.2、当使用一条read类命令读取多个设计时,列表中的第一个文件将被自动设置为当前设计,如下所示。
// A.v module A(); endmodule // B.v module B(); endmodule // TOP.v module TOP(); endmodule dc_shell> read_verilog {A.v B.v TOP.v} ***** Current design is 'A'.3、当一个文件中存在多个设计时, 文件中的第一个设计将被自动设置为当前设计,如下所示。
// TOP_hier.v module TOP(); endmodule module A(); endmodule module B(); endmodule dc_shell> read_verilog TOP_hier.v ***** Current design is 'TOP'.对于更复杂的情况,读者可以基于以上三例自行分析,如果不希望使用read类命令自动设置当前设计的行为,则可以使用current_design命令在读取设计后显式设置当前设计。
