先上结论 : 1. 同步时钟域: 不需要timing check 的 path 才用 set_false_path ,only disable timing analyze; 2. 异步时钟域: set_clock_group -async 同步时钟域和异步时钟域 的 Timing window: 如图,在cro…
physically_exclusive代表两个clock group在物理意义上相互排斥,比如在一个source pin上定义了两个时钟。 logically_exclusive代表两个clock group在逻辑上相互排斥,比如两个clock经过MUX选择器。一个简单的例子: ***set_clock_groups -physically_exclusive *** ***-group {CLK1 CLK2} ***-group {CLK3 CLK4} ...
set_input_delay-clockCLK1.2[get_ports{IO}] set_input_delay-max-add_delay-clock[get_clocks{CLK}]15[get_ports{IO}] set_input_delay-min-add_delay-clock[get_clocks{CLK}]15[get_ports{IO}] -add_delay:通知工具除了现存的约束外,这是一个额外的约束,不会覆盖前一个约束;如果没有-add_delay,那...
1.1. Set_operating_conditions 1.2. Set_wire_load_model 1.3. Set_driving_cell 1.4. Set_load 1.5. Set_fanout_load 1.6. Set_min_library 2. Set design constraints 2.1. Design rule constraints 2.2. Design optimization constraints 3. Other commands 3.1. set_clock_groups 3.2. set_false_path 3.3...
当然这里也可以直接使用set_clock_groups -asynchronous -group [get_clocks "$clk1_name $clk2_name $clk3_name"] -group [get_clocks $clk4_name]的方式。 后续发现会报告一个hold time的违例: Point Incr Path---clockclk_200 (rise edge)0.000.00u_clk_rst_gen/u_div_reg0/Q (DFCNQD0BWP7D5T...
set_clock_groups -asynchronous -group {ClkA} -group {ClkB} Logically Exclusive Clocks 如果两个时钟同时存在但是他们之间没有任何 path,则这两个时钟可以设置为 logically exclusive,典型的情况就是一个 MUX 选择两个或多个时钟。 set_clock_groups -logically_exclusive -group [get_clocks Clk1] -group [...
set_input_delay-max-add_delay-clock[get_clocks{CLK}]15[get_ports{IO}]set_input_delay-min-add_delay-clock[get_clocks{CLK}]15[get_ports{IO}] -add_delay:通知工具除了现存的约束外,这是一个额外的约束,不会覆盖前一个约束;如果没有-add_delay,那么后面的约束会覆盖前面的约束。
set_clock_groups 任何sdc首先定义的都是时钟,对于一个同步电路而言,缓存器和缓存器之间的路径延迟时间必须小于一个Clock 周期(Period),也就是说,当我们确认了Clock 规格,所有缓存器间的路径的Timing Constraint 就会自动给定了。Clock规格主要包含Waveform、Uncertainty和Clock group的定义。我们把它们称为时钟的三要素,...
settessent_tck_clocks_group_created1 # TCK from the BAP must only constrain the shift path, block false same-edge paths, they are constrained with functional clock set_false_path -rise_from [tessent_get_clocks$bap1_tck_name] -rise_to [tessent_get_clocks$bap1_interfaces_tck_name] ...
语法:set_clock_groups -group \<group>] [-group \<group>] [-asynchronous] 示例:set_clock_groups -group {clk1 clk2} -group {clk3 clk4} -asynchronous 解释:设置clk1和clk2为一组时钟群组,clk3和clk4为另一组时钟群组,并且两组时钟之间是异步关系。 9. set_case_analysis:设置时序分析中的case...