和lint check一样添加文件,goal 选择 cdc check
下面研究sdc书写
CDC setup 可以通过以下流程
建立SpyGlass CDC设置:
将时钟生成模块指定为black box
为设计指定时钟和复位
使用设置管理器 将时钟生成模块指定为black box
对时钟生成模块(比如PLL)的内部执行SpyGlass CDC分析非常复杂,而且对整体SpyGlass CDC分析几乎没有价值。将这些块标记为黑盒子,除非你有详细的SGDC约束来定义这些模块的时钟特性
标记PLL时钟生成模块为black boxes的方法是,在project file中设置如下命令: clock -name "clk_sys" reset -name "rst_n" -value 0 Timing Constrain
按照它们的用途,大致分为以下几类:
大致常用sdc如下:
clock相关:
系统接口相关:
时序特例相关:
逻辑赋值相关:
研究sdc书写转sgdc规律:
########################################################################
#Section 1: List of source clocks
#These clocks have set_false_path/set_clock_groups/set_clock_uncertainty associated with them
########################################################################
#Section 2: List of remaining source clocks
#These clocks do not have the set_false_path/set_clock_groups/set_clock_uncertainty constraints associated with them
########################################################################
#Section 3: List of generated clocks
#These clocks satisfy either of the following conditions
#a. Generated clocks have domains different than the domains of their source clocks
#b. Generated clocks are specified on the black-boxe
########################################################################
#Section 4: List of generated clocks which have same domain as that of their source clock
########################################################################
#Section 5: List of valid set_case_analyis constraint generated from set_case_analysis command.
########################################################################
#Section 6: List of valid abstract_port/input constraint generated from set_input_delay command.
########################################################################
#Section 7: List of valid output constraint generated from set_output_delay command.
########################################################################
#Section 8: List of valid clock_sense constraint generated from set_clock_sense command.
#These constraint are generated only for -stop_propagtion in set_clock_sense.
########################################################################
#Section 9: List of valid cdc false path constraint generated from sdc command.
#These constraint are generated only for real clocks.
三种类型set group 和set_false_path form**to**/set_false_
-----------------------------------------------------------------------------------------------------------------------------------
########################################################################
#Section 10: List of disable_timing constraint generated from set_disable_timing sdc command.
#These constraint are generated only for those sdc command which have object list as lib cells only.
########################################################################
#Section 11: List of valid false path constraint generated from sdc command.
#These constraint are generated only for real clocks.
#The type for constraint false_path is specified as below:
# - scg_logically_exclusive: When it is translated from set_clock_group -logically_exclusive
# - scg_physically_exclusive: When it is translated from set_clock_group -physically_exclusive
# - scg_asynchronous: When it is translated from set_clock_group -asynchronous
# - sfp: When it is translated from set_false_path
########################################################################
#Section 12: List of valid sg_multi_cycle constraint generated from sdc command.
########################################################################
#Section 13: List of valid set_lib_timing_mode constraint generated from set_mode sdc command.