# set_clock_uncertainty vs set_min_delay

Status
Not open for further replies.

#### sonofflynn

##### Junior Member level 2
I want to set a specific hold time for my design in SoC Encounter. Is there any difference between using" set_clock_uncertainty -hold" and "set_min_delay" to do this? If so, what is the difference between each command? And which is better to use?

#### sharted

##### Newbie level 6
I've never done what you're asking, but am interested in hearing about your reasons for doing this, and if possible what your experience with this is. I have several thoughts I'll share anyway:

$\to$ I've only ever used set_clock_uncertainty to add margin to the clock tree pre-CTS. I'm not sure how encounter treats this value once the clock tree is known (perhaps you know already?);
$\to$ it will be applied directly to the whole tree, i.e. you can specify the value once;
$\to$ set_min_delay will have to be applied to all logic paths by you, this might be irritating to do correctly;
$\to$ if you change the clock frequency, you may have to manually change these values.

It might be easier to use a non-zero target slack in the optimisation settings before the post-route hold optimisation, e.g.

Code:
# target hold slack set to 50 ps:
setOptMode -holdTargetSlack 0.05
optDesign -postRoute -hold -incr