design complier会将set_critical_range转换为什么sdc语句
时间: 2024-02-27 08:53:37 浏览: 172
Design Compiler 在进行时序优化时,会将 `set_critical_range` 命令转换为 `set_clock_uncertainty` 命令,以实现时序路径上的关键路径范围约束。具体而言,`set_critical_range` 命令会转换为两个 `set_clock_uncertainty` 命令,一个用于建立时间约束,一个用于保持时间约束。
以下是一个例子,假设有以下 `set_critical_range` 命令:
```
set_critical_range -rise_from <起始时钟边沿> -rise_to <到达时钟边沿> -end <时序路径结束点> <关键路径范围>
```
该命令可以转换为以下两个 `set_clock_uncertainty` 命令:
```
set_clock_uncertainty -setup -rise -from <起始时钟边沿> -to <到达时钟边沿> <关键路径范围>
set_clock_uncertainty -hold -rise -from <到达时钟边沿> -to <时序路径结束点> <关键路径范围>
```
其中,第一个 `set_clock_uncertainty` 命令用于设置建立时间约束,`-setup` 参数表示建立时间约束;`-rise` 参数表示上升沿;`-from` 参数表示起始时钟边沿;`-to` 参数表示到达时钟边沿。第二个 `set_clock_uncertainty` 命令用于设置保持时间约束,`-hold` 参数表示保持时间约束;其他参数的含义与第一个命令相同。这两个命令合在一起,就可以实现 `set_critical_range` 命令所描述的时序路径上的关键路径范围约束。
阅读全文