专业做网站建设制作服务,wordpress文件核对,wap网站和app开发,成都网站建设优秀公司一、概述 术语“Synopsys公司设计约束”#xff08;又名SDC#xff0c;Synopsys Design Constraints#xff09;用于描述对时序、功率和面积的设计要求#xff0c;是EDA工具中用于综合、STA和布局布线最常用的格式。本文介绍时序约束的历史概要和SDC的描述。
二、时序约束…一、概述 术语“Synopsys公司设计约束”又名SDCSynopsys Design Constraints用于描述对时序、功率和面积的设计要求是EDA工具中用于综合、STA和布局布线最常用的格式。本文介绍时序约束的历史概要和SDC的描述。
二、时序约束的历史 20世纪90年代初引人了时序约束。这些主要用于指定HDL 中无法捕获的设计特性和用于驱动综合。那时候它们是 DesignCompiler的命令为综合工具提供指导以优化设计的面积与性能曲线。当PrimeTime结合Tcl的概念时这些约束被修改为Tcl 格式的扩展。该集合称为SDC或Synopsys公司设计约束。多年来该集合也扩展用于获取电源的设计要求。 SDC命令基于Tcl语言。工具命令语言又称Tcl,Tool Command Language是一种非常流行的脚本语言是常用于开发用户接口和嵌入式系统平台的应用程序。通过使SDC 扩展到Tcl特定于工具的命令可以与原生的Tcl结构如变量、表达式、语句和子程序相混合使其成为实现工具非常强大的语言。现今大多数实现和STA工具使用SDC作为标准格式以捕获对面积、功率和性能的设计意图。然而特定的实现工具也可以使用该集合外的附加命令以便指导其特定的算法或功能。这些命令通常称为非SDC命令。例如Design Compiler和PrimeTime有许多非SDC命令它们与 SDC 结构一起使用。这些扩展中的一些有助于分析约束如集合collections)其提供了一种迭代设计对象列表的方式。尽管一些非SDC命令仍然用于获取设计目标但是根据其有用性和受欢迎程度它们会定期包含在SDC修订版中。例如set_clock_groups是表示时钟之间域关系的简洁方法是非SDC命令直到SDC标准1.7(2007年3月才被包括进去。
三、Tcl基础知识 关于Tcl基本知识可以阅读以下文章Tcl基础知识https://blog.csdn.net/apple_53311083/article/details/133979550?spm1001.2014.3001.5501
四、SDC综述 SDC格式的约束可以大致分成以下几种 时序约束面积和功率约束设计规范约束接口约束特定模式和配置约束设计要求的异常其他命令 一斯恶约束可能属于多个类别。
4.1 时序约束 时序约束为影响工作频率的设计参数提供指导。它包括指定时钟特性、端口延迟、引脚和路径的命令。
create_clockcreate_generated_clockset_clock_groupsset_clock_latencyset_clock_transitionset_clock_uncertaintyset_clock_senseset_propagated_clockset_input_delayset_output_delayset_clock_gating_checkset_ideal_latencyset_ideal_networkset_ideal_transitionset_max_time_borrowset_resistanceset_timing_derateset_data_checkgroup_pathset_driveset_loadset_input_transitionset_fanout_delay
4.2 面积和功率约束 面积与功率约束为面积和功率提供指导的命令其中设计必须适合面积和功率要求达到最优。下表给出了此类约束
set_max_areacreate_voltage_areaset_level_shifter_thresholdset_max_dynamic_powerset_level_shifter_strategyset_max_leakage_power
4.3 设计规则约束 设计规则约束包括为目标技术的某些要求 提供指导的命令下表列出了此类约束:
set_max_capacitanceset_min_capacitanceset_max_transitionset_max_fanout
4.4 接口约束 接口约束包括为假象设计提供指导的命令此设计需要构造电路单元同时这些电路单元和子系统、芯片或Soc相连或与之交互下表给出了此类约束
set_driveset_driving_cellset_input_transitionset_loadset_fanout_loadset_port_fanout_numberset_input_delayset_output_delay
4.5 特定模式和配置约束 假设分析的约束包括一些命令这些命令帮助设计人员对端口和引脚的允许值做出假设。通过在特定工作模式或任意工作模式下明确排除不可能出现的情况这些命令有助于对特定模式的设计进行更好地优化。下表给出了此类约束
set_case_analysisset_logic_dcset_logic_zeroset_logic_one
4.6 设计约束异常 该类别包括帮助设计人员放宽要求地命令此命令是由其他命令所规定的从而提供了约束放宽的适用范围下表给出了此类约束表格中标有星号的命令也可提供额外的收紧而不是放宽。
set_false_pathset_multi_cycle_pathset_disable_timingset_max_delay*set_min_delay*
4.7 其他命令 其余的SDC命令属于此类别。这些命令对工作条件、线负载模型、单位和时序约束版本提供指导。下表给出了这些命令
set_write_load_modelset_wire_load_modeset_wire_load_selection_groupset_wire_load_min_block_sizeset_unitsset_operating_conditionssdc_version
五、SDC中的设计查询 除了前述的类别之外SDC标准还提供了访问有关设计信息的一种方法以便于设计查询、遍历和浏览。将它们与SDC约束和Tcl脚本结合可以有效地将设计要求应用于设计中的正确位置。下表给出如下命令
命令描述get_cells返回设计或库元器件的实例get_ports返回设计的输入input、输入输出inout、输出output端口get_pins返回设计端口或元器件引脚的实例get_nets返回连接到端口或引脚的网络get_clocks返回设计中的时钟all_inputs返回设计中所有输入和输入输出理论上也是输入端口all_outputs返回设计中所有输出和输入输出理论上也是输出端口all_registers返回设计中的所有寄存器all_clocks返回设计中的所有时钟get_libs返回库列表get_lib_cells返回库中的元器件列表get_lib_pins返回库元器件中的引脚列表current_design 为后续的命令和查询设置设计范围 如果没有给出参数报告当前范围
六、小结 由于SDC符合Tcl标准所以大部分支持SDC的工具支持原生Tcl。用户可以将Tcl的编程功能和SDC相结合以更有效的方式指定设计要求。现在,SDC是行业标准格式这有助于推动设计实现工具以满足设计的时间、功率和面积要求。