相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定文件名指定不换行指定SDC版本注意事项Multicorner-Multimode支持简单使用write_sdc命令用于将当前设计中的约束以Synopsys Design Constraints(SDC)格式输出为脚本文件其实它并不是一个SDC命令归为此类只是为了方便管理在某些情况下需要以文本形式导出一个设计的SDC约束比如当Design Compiler配合非Synopsys的后端工具时。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。write_sdc命令的BNF范式有关BNF范式可以参考以往文章为write_sdc file_name [-nosplit] [-version sdc_version] //注该命令的选项和参数顺序任意指定文件名必须指定输出SDC文件的名称。指定不换行-nosplit选项指定当字段长度超出列宽时不进行换行适合用diff比较或后处理。指定SDC版本-version选项可以指定SDC版本可以从1.2到目前最新的2.2一条set sdc_version命令会被写入脚本文件中。注意事项1、该命令只能输出SDC命令下面的博客给出了这些命令的集合对于非SDC命令例如set_dont_touch不会包含在脚本文件中。SDC命令详解SDC命令大全持续更新https://chenzhang.blog.csdn.net/article/details/134188262?spm1001.2014.3001.55022、如果使用了新版本的SDC命令但使用-version选项指定了老版本则这些命令不会包含在脚本文件中。3、对于Design Compiler而言输出的SDC命令可能与执行时不完全一样这是因为综合过程中Design Compiler可能对设计进行解组、唯一化、重命名等优化操作严格意义说此时的SDC命令指的是应用于综合后设计的约束而不是综合前的并且SDC命令应该是参数展开的形式。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文件进行约束但不进行综合。create_clock -period 10 [get_ports clk] set_clock_latency -source 0.5 [get_clocks clk] set_dont_touch [get_ports clk] // 非SDC命令 set_load [expr 0.50.5] out1 // 输出时是以展开的形式 set_input_delay 0.5 -clock [get_clocks clk] [get_ports in*] // 输出时是以展开的形式使用write_sdc命令后输出的SDC文件内容如下所示。dcnxt_shell write_sdc ################################################################### # Created by write_sdc on Wed Jun 25 21:07:40 2025 ################################################################### set sdc_version 2.1 set_load -pin_load 1 [get_ports out1] create_clock -name clk -period 10 -waveform {0 5} set_clock_latency -source 0.5 [get_clocks clk] set_input_delay -clock clk 0.5 [get_ports in1] set_input_delay -clock clk 0.5 [get_ports in2] set_input_delay -clock clk 0.5 [get_ports in3]
SDC命令详解:使用write_sdc命令进行输出
相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定文件名指定不换行指定SDC版本注意事项Multicorner-Multimode支持简单使用write_sdc命令用于将当前设计中的约束以Synopsys Design Constraints(SDC)格式输出为脚本文件其实它并不是一个SDC命令归为此类只是为了方便管理在某些情况下需要以文本形式导出一个设计的SDC约束比如当Design Compiler配合非Synopsys的后端工具时。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。write_sdc命令的BNF范式有关BNF范式可以参考以往文章为write_sdc file_name [-nosplit] [-version sdc_version] //注该命令的选项和参数顺序任意指定文件名必须指定输出SDC文件的名称。指定不换行-nosplit选项指定当字段长度超出列宽时不进行换行适合用diff比较或后处理。指定SDC版本-version选项可以指定SDC版本可以从1.2到目前最新的2.2一条set sdc_version命令会被写入脚本文件中。注意事项1、该命令只能输出SDC命令下面的博客给出了这些命令的集合对于非SDC命令例如set_dont_touch不会包含在脚本文件中。SDC命令详解SDC命令大全持续更新https://chenzhang.blog.csdn.net/article/details/134188262?spm1001.2014.3001.55022、如果使用了新版本的SDC命令但使用-version选项指定了老版本则这些命令不会包含在脚本文件中。3、对于Design Compiler而言输出的SDC命令可能与执行时不完全一样这是因为综合过程中Design Compiler可能对设计进行解组、唯一化、重命名等优化操作严格意义说此时的SDC命令指的是应用于综合后设计的约束而不是综合前的并且SDC命令应该是参数展开的形式。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文件进行约束但不进行综合。create_clock -period 10 [get_ports clk] set_clock_latency -source 0.5 [get_clocks clk] set_dont_touch [get_ports clk] // 非SDC命令 set_load [expr 0.50.5] out1 // 输出时是以展开的形式 set_input_delay 0.5 -clock [get_clocks clk] [get_ports in*] // 输出时是以展开的形式使用write_sdc命令后输出的SDC文件内容如下所示。dcnxt_shell write_sdc ################################################################### # Created by write_sdc on Wed Jun 25 21:07:40 2025 ################################################################### set sdc_version 2.1 set_load -pin_load 1 [get_ports out1] create_clock -name clk -period 10 -waveform {0 5} set_clock_latency -source 0.5 [get_clocks clk] set_input_delay -clock clk 0.5 [get_ports in1] set_input_delay -clock clk 0.5 [get_ports in2] set_input_delay -clock clk 0.5 [get_ports in3]