|
<h3 id='___change_gate'>change_gate</h3> |
|
<pre>ECO command. Modify an instance in ECO |
|
Two types of usages |
|
<b>Usage1:</b> change_gate($instance, $new_reference, $pin_mapping); |
|
$instance: The instance under ECO. Support hierarchical name, "u_abc/U123" |
|
$new_reference: The new reference name which the instance changes to, E.G. 'AND3X1'. |
|
If no reference is present, the ECO operation is assumed to |
|
change the instance's pin connections. |
|
$pin_mapping: Input pins mapping, ".new(old)", E.G. ".A1(A),.B1(B)" |
|
if two references have same input pins. The option can be empty |
|
<b>Usage2:</b> change_gate($instance, $pin_connections); |
|
$pin_connections: New pin connections, ".A(n242)". |
|
The unspecified pins keeps the original connection. |
|
E.G. pin 'B' connection is unchanged. |
|
|
|
<b>Examples:</b> |
|
|
|
#1. U123 has reference OR3X1 with input pins, A,B,C originally |
|
# change U123 to AND3X1, all input pins are the same. |
|
change_gate('U123', 'AND3X1', ""); |
|
|
|
#2. A and B keep the connections, discard C |
|
change_gate('U123', 'AND2X1', ""); |
|
|
|
#3. A keeps the connections, B connects to what the old C connects. And discard old B |
|
change_gate('U123', 'AND2X1', ".B(C)"); |
|
|
|
#4. A,B,C keep the same, and new D pin connects to net n123 |
|
change_gate('U123', 'AND4X1', ".D(n123)"); |
|
|
|
#5. AO21X1 has input pins, A0, A1 and B0 |
|
change_gate('U123', 'AO21X1', ".A0(A),.A1(B),.B0(C)"); |
|
|
|
#6. change U123 A to n123, B to n124, keep C connection. |
|
change_gate("U123", ".A(n123),.B(n124)"); |
|
|
|
#7. Rotating A/B/C connections. |
|
change_gate("U123", ".A(B),.B(C),.C(A)"); |
|
</pre> |