SDC设计约束(4)——其他SDC命令

SDC设计约束(4)——其他SDC命令

作者:夏风喃喃
参考:综合与时序分析的设计约束 —— Synopsys设计约束(SDC)实用指南

一. 工作条件

set_operating_conditions(指定工作条件)

set_operating_conditions
	[-library lib_name]		#指定工艺库
	[-analysis_type]		#应执行的分析类型,最慢,最快,基于芯片变异性的延迟
	[-max max_condition]	#该工作点应考虑执行最慢的分析,如-max WCMIL
	[-min min_condition]	#该工作点应考虑执行最快的分析,如-min BCIND
	[-max_library max_lib]	#指定最慢的库
	[-min_library min_lib]	#指定最快的库
	[-object_list objects]	#设计对象,通常为整个设计,故很少使用
	[condition]				#工作条件

二. 单位

set_units(指定单位标识)

该命令仅作为表示用户意图的文档,工具会检查正在使用的库中单位,并标记库中单位与命令指定单位是否存在不匹配。

set_units
	-capacitance cap_unit
	-resistance res_unit
	-time time_unit
	-voltage voltage_unit
	-current current_unit
	-power power_unit

三. 设计范围

current_instance(指定当前设计或实例)

设计范围更改为current_design中的实例,但返回名称是相对于current_design的。

current_instance [instance]

四. 导线载荷模型

set_wire_load_model(指定线负载模型)

set_wire_load_model
	-name model_name	#指定库中的模型,如WIRE_LOAD_70×70
	[-library lib_name]	#指定库名称
	[-min][-max]		#指定模型运用的条件,一般不用
	[object_list]		#一般不用,而用current_design指定范围

五. 面积约束

set_max_area(指定面积约束)

set_max_area area_value

六. 功率约束

6.1 set_voltage(指定电压约束)

set_voltage
	[-min min_case_value]				#指定最小延迟对应的最大电压
	[-object_list list_of_power_nets]	#指定电压下的电源网表
	max_case_voltage					#指定最大延迟对应的最小电压

6.2 creat_voltage_area(指定电压岛)

creat_voltage_area
	-name name							#电压岛名称
	[-coordinates coordinate_list]		#指定保持电压岛的矩形区域
	[-guard_band_x float]				#沿x轴距离,电压岛间缓冲区,不放单元
	[-guard_band_y float]				#沿y轴距离,电压岛间缓冲区,不放单元
	cell_list							#电压岛中单元列表

6.3 set_level_shifter_strategy/threshold(指定电平移位器)

#指定何时插入电平移位器的策略
set_level_shifter_strategy [-rule rule_type]
#指定插入电平移位器的最小电压差阈值
set_level_shifter_threshold [-voltage float][-percent float]

6.4 set_max_dynamic/leakage_power(指定动态、静态功耗)

#指定动态功耗最大值
set_max_dynamic_power power [unit]
#指定泄露功耗最大值
set_max_leakage_power power [unit]
  • 3
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
是的,SDC 约束文件中有 `get_clocks` 命令。 `get_clocks` 命令用于获取时钟对象,并将其添加到时钟域中。该命令的语法如下: ``` get_clocks [-of_objects <object_list>] [-include_generated_clocks] [-of [ports | nets | cells | pins | instances]] [-filter <filter_expression>] [-hierarchical] [-quiet] ``` 其中,`-of_objects` 选项指定对象列表,该命令将在这些对象中查找时钟对象。`-include_generated_clocks` 选项指示命令还包括自动生成的时钟。默认情况下,该选项为关闭状态,即不包括自动生成的时钟。`-of` 选项指定要查找的对象类型,可以是端口、网、单元格、引脚或实例。`-filter` 选项指定过滤表达式,用于进一步筛选对象。`-hierarchical` 选项指示命令对于每个匹配的对象,是否也应该查找其下层层次结构中的时钟。默认情况下,该选项为关闭状态,即不查找下层层次结构中的时钟。`-quiet` 选项指示命令在运行时不输出任何消息。 例如,以下命令获取名为 `sys_clk` 的时钟对象,并将其添加到时钟域 `my_domain` 中: ``` create_clock -name sys_clk -period 10.0 [get_clocks -of_objects [get_ports sys_clk]] set_clock_groups -name my_domain -asynchronous -group [get_clocks -of_objects [get_ports sys_clk]] ``` 在此示例中,`get_ports` 命令用于获取名为 `sys_clk` 的端口对象,`get_clocks` 命令用于获取与该端口相关联的时钟对象,`create_clock` 命令用于创建时钟,并将其添加到时钟域 `my_domain` 中,`set_clock_groups` 命令用于定义异步时钟域。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值