Range Values
Range values used for constraints are as follows.
-
RangeValue
Specifies a range in the following formats: -
RangeArrayValue
Specifies a list ofRangeValuevalues.
For example,{ 0.1 0.2 ">= 0.35" }
specifies that values of 0.1, 0.2, and greater than or equal to 0.35 are permitted. -
RangeArray1DTblValue
Specifies a table of RangeArrayValue (as shown in Table 1-1) indexed by width. Each row contains a width, the count of RangeArrayValue for the given width, and the RangeArrayValue list.{
Tables must be specified in ascending index value order. Each table entry is read as greater or equal to the index value, but less than the next index value. For the following example,f_width1 i_count{s_range11… s_range1count} \ …f_widthN i_count{s_rangeN1… s_rangeNcount} }-RangeArray1DTblValue {0.3 2 0.3 0.4 \ 0.4 3 0.3 0.4 0.5 \ 0.5 2 0.4 ">= 0.5"}
- When the index value is greater than or equal to 0.3, but less than 0.4, the constraint value may be 0.3 or 0.4.
- When the index value is greater than or equal to 0.4, but less than 0.5, the constraint value may be 0.3, 0.4, or 0.5.
- When the index value is greater than or equal to 0.5, the constraint value may be 0.4 or greater than or equal to 0.5.
The first value in the table that matches a query of the lookup table is used. In this example, for an index value of 0.41, the constraint value may be 0.3, 0.4, or 0.5. -
RangeArray2DTblValue
Specifies a table of RangeArrayValue (as shown in Table 1-1) indexed by width and parallel run length. We first give –TblCols values for each column and then RangeArray2DTblValue where each ordered set includes a header (row) value followed by one RangeArray for each column value. Range Array is given within Curly brackets {}.
In the following example, –TblCols specifies 3 values which means there are 3 columns in the –RangeArray2DTblValue, each set has one value for row header and 3 separate Range arrays. Blank RangeArrays can also be given.set_layer_constraint -constraint oaAllowedSpacingRange -layer Metal1 \ -TblCols {0.0 0.2 0.4}\
Tables must be specified in ascending index value order. Each table entry is read as greater or equal to the index value, but less than the next index value. For the following example,-RangeArray2DTblValue \ {0.0 {"(0.1 0.2)" "[0.3 0.4]" ">=0.5"} {} {} \ 0.2 {} {"(0.1 0.3)" ">=0.5"} {"(0.1 0.4]" ">=0.6"} \ 0.4 {} {"(0.1 0.4]" ">=0.6"} {"(0.1 0.5]" ">=0.7"}}
- For (index1, index2) = (0.0, 0.0), the constraint value is (0.1, 0.2), or (0.3, 0.4), or greater than or equal to 0.5.
- For (index1, index2) = (0.2, 0.2), the constraint value is (0.1, 0.3), or greater than or equal to 0.5.
- For (index1, index2) = (0.4, 0.4), the constraint value is (0.1, 0.5), or greater than or equal to 0.7.
- For (index1, index2) = (0.2, 0.4) and (0.4, 0.2), the constraint value is (0.1, 0.4), or greater than or equal to 0.6.
- For (index1, index2) = (0.0, 0.2), (0.0, 0.4), (0.2, 0.0), (0.4, 0.0), the constraint values are not specified.
Related Topics
Return to top