SDC命令详解:使用read_sdc命令读取约束

📅 2026/7/6 20:13:04
SDC命令详解:使用read_sdc命令读取约束
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定文件名指定显示命令指定仅进行语法检查指定SDC版本Multicorner-Multimode支持简单使用注意事项在很长一段时间用户将所有的设计约束Synopsys Design Constraints(SDC)写在一个文件中并在脚本中使用source命令执行SDC文件。read_sdc命令的诞生让设置约束拥有了专用的命令功能也更加强大其实它并不是一个SDC命令归为此类只是为了方便管理。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。read_sdc命令的BNF范式有关BNF范式可以参考以往文章为read_sdc file_name [-echo] [-syntax_only] [-version sdc_version] //注该命令的选项和参数顺序任意指定文件名可以指定需要读取的SDC文件的名称文件类型可以是普通ASCII及其gzip压缩版本。指定显示命令-echo选项指定在执行每一条SDC命令时都显示出来。指定仅进行语法检查-syntax_only选项指定仅检查SDC文件语法和语义而不实际执行SDC命令。指定SDC版本-version选项可以指定SDC版本可以从1.0到目前最新的2.2如果文件中出现了版本不支持的SDC命令则会当做未知命令报错Error: unknown command ***** (CMD-005)。Multicorner-Multimode支持该命令仅对当前场景生效换句话说只能在当前场景设置约束。关于场景的更多介绍可以参考下面的博客。Design Compiler多工艺角和多工作模式(Multicorner-Multimode, MCMM)https://blog.csdn.net/weixin_45791458/article/details/149578771?ops_request_misc%257B%2522request%255Fid%2522%253A%2522e3267dcc7cc26380435f53994dc8b9b8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_ide3267dcc7cc26380435f53994dc8b9b8biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecaseutm_termMCMMspm1018.2226.3001.4450简单使用假设存在以下的SDC文件。# con.tcl create_clock -name clk -period 10.0 [get_ports clk] set_input_delay 2.0 -clock clk [get_ports data_in] set_output_delay 2.5 -clock clk [get_ports data_out] set_driving_cell -lib_cell INVX1 -library my_lib [get_ports data_in] set_load 0.05 [get_ports data_out] set_clock_uncertainty 0.2 [get_clocks clk]则可以在脚本中直接使用read_sdc命令进行读取并执行该文件。# dc.tcl read_file -format verilog {test.v} current_design test read_sdc con.tcl注意事项即使read_sdc命令是针对SDC命令的但部分非SDC命令比如set_app_var、puts、ehco也是支持的使用它们并不会报错而其他非SDC命令如set_dont_touch则不支持。如果使用read_sdc命令读取SDC文件则文件中的SDC命令名不能使用别名和简写而命令的选项可以继续使用简写如果使用source命令读取SDC文件则文件中的SDC命令名和选项都可以使用别名和简写就像在交互式命令行中那样不建议使用命令简写该默认行为可以被sh_command_abbrev_mode和sh_command_abbrev_options变量控制。