set_max_time_borrow (::quartus::sdc)

The following table displays information for the set_max_time_borrow Tcl command:

Tcl Package and Version

Belongs to ::quartus::sdc 1.5

Syntax set_max_time_borrow [-h | -help] [-long_help] -exact <value> <targets>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-exact Forces the time borrowed to be the exact value provided (if physically possible)
<value> Time Value
<targets> Collection or list of latches
Description
	    Specifies the maximum borrowed time for level-sensitive latches (or, when
	    the -exact option is used, specifies the exact borrowed time for level-sensitive
	    latches. In the current version of Quartus, the -exact option is mandatory.)

	    Time borrowing is specified with respect to the earliest possible time a signal can be
	    clocked into the latch node. For example, for a positive latch, if the earliest possible
	    arrival time of the rising clock edge is 1.025ns, then a signal that has an arrival time
	    of 1.035ns (where this arrival time already includes the micro-setup time of the latch)
	    will require at least 0.010ns of time borrowing.

	    If you specify the -exact option but specify an amount of borrowing that exceeds the
	    maximum physically possible borrow amount, a warning will be issued and the physically
	    possible amount will be used instead. The maximum amount that can be borrowed is the
	    period of time when the latch is open (e.g. half the clock period if the clock has a
	    50% duty cycle), but this time is reduced by clock propagation time spread and clock
	    uncertainty between the latch-opening and latch-closing clock edges, and is further
	    reduced by the feedback loop delay of the latch. Some of these factors vary from corner
	    to corner, as well as from clock to clock (if multiple clocks drive the latch). In
	    this case, the smallest time borrowing window across all corners and clocks will restrict
	    the maximum amount that can be borrowed.

	    The targets of this command must be level-sensitive latches (all other targets will
	    be ignored).

	    The targets can be specified as either a collections or a Tcl list of wildcards
	    used to create collections of appropriate types. The values used must follow
	    standard Tcl or Timing Analyzer-extension substitution rules. See help for the
	    use_timing_analyzer_style_escaping command for details.
Example Usage
	    # Borrow exactly 3ns at all "lat*" latches, i.e.:
	    # - All paths leading TO latches "lat*" will borrow 3ns (i.e. will have an extra 3ns of slack)
	    # - All paths leading FROM latches "lat*" will assume 3ns borrowed (i.e. will have 3ns less slack)
	    set_max_time_borrow 3 [get_keepers lat*] -exact
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Option <string> has illegal value: <string>. Specify a legal option value.