Match and Fix Rule Definition
In addition to carrying a layout pattern definition, the rule deck carries associated Match and Fix rule definitions. If the target search layout is not found to match the defined pattern, the layout pattern is fixed according to the associated fixing rules defined in the rule deck.
A single match rule is often associated with several fixing rules. If a match rule does not have an associated fixing rule, the fixing engine uses the default fixing flow.
A sample Match and Fix rule definition for a single-layer layout pattern is given below:
1 <MatchAndFixRule name="Match&Fix Rule 1 on M2">
2 <MatchRule>
3 <Pattern name=" single_pattern1" />
4 <Layer>M2</Layer>
5 </MatchRule>
6 <FixRule name="moveEdges">
7 <Move unit="nm">194 156 194 208 WEST 130</Move>
8 </FixRule>
9 <FixRule name="fixFilteringRule" />
10 <FixRule name="decongest">
11 <Option name="ripupEngine">detail</Option>
12 </FixRule>
13 </MatchAndFixRule
The description of each line in the Match and Fix rule definition is given in the table below.
| Line # | Description |
|
Target layout layer (or layers) on which to search for the pattern (mandatory). |
|
|
Parameter for the first fixing rule (specification of an edge to be moved). |
|
Currently, Virtuoso supports the following fixing strategies:
-
fixFilteringRule
Apply internal heuristics, such as moving the shapes, to fix the pattern by using the filtering rule. To be usable, either the pattern or the match rule should have a filtering rule. -
decongest
Use the rerouting engine to decongest the area where the pattern has been found. -
moveEdges
Use the move engine to move one or several edges.
Let us now consider a Match and Fix rule definition for a multi-layer layout pattern as given below:
1 <MatchAndFixRule name="Multi-layer rule on M2-M3">
2 <MatchRule>
3 <Pattern name=" multi_pattern2" />
4 <PatternLayerMap name="custom_M02">M2</PatternLayerMap>
5 <PatternLayerMap name="custom_M03">M3</PatternLayerMap>
6 </MatchRule>
7 </MatchAndFixRule>
The individual layers specified in the pattern are mapped to search layers in the target layout. Lines 4 and 5 aim at mapping the pattern layers, custom_M02 and custom_M03 to the layout layers M2 and M3.
To run the Match and Fix flow, choose Optimize – Match and Fix Flow.
Related Topics
Return to top