magic 8.3.546 text with a trailing ! is extracted as is, but the ! is dropped during netlisting.
Siemens Calibre uses a trailing ! to indicate virtually connected nets. However, I'm not sure if the Calibre compare routine matches all combinations of foo and foo!.
Many tools use the trailing ! to indicate a global net (which might imply a virtual net). (Calibre can use net names with a trailing : and the VIRTUAL CONNECT COLON YES directive to connect virtual nets. @H-Ojiro thanks for the correction.)
netgen reads the net name as is and keeps the !
Test case is a simple ihp13g2 process inverter.
There are 2 layouts and 2 netlists: one of each with VDD, VSS and one of each with VDD! and VSS!.
The test program compares the 4 combinations.
Expected result (with no special handling for !):
| layout |
netlist |
result |
| VDD |
VDD |
match |
| VDD! |
VDD |
unmatch |
| VDD |
VDD! |
unmatch |
| VDD! |
VDD! |
match |
Actual result:
| layout |
netlist |
result |
| VDD |
VDD |
match |
| VDD! |
VDD |
match |
| VDD |
VDD! |
unmatch |
| VDD! |
VDD! |
unmatch |
testcase_magic_netgen_pgnet_notation.tgz
tar zxf testcase_magic_netgen_pgnet_notation.tgz
cd testcase_magic_netgen_pgnet_notation
./run_lvs_test.sh
Note: most of the test case development was done by @H-Ojiro
Do we want to match Calibre?
magic would need to virtually connect nets ending in ! and netgen would need to ignore ! when comparing nets.
In that case the expected result would be:
Expected result (with special handling for !):
| layout |
netlist |
result |
| VDD |
VDD |
match |
| VDD! |
VDD |
match |
| VDD |
VDD! |
match |
| VDD! |
VDD! |
match |
magic
8.3.546text with a trailing!is extracted as is, but the!is dropped during netlisting.Siemens Calibre uses a trailing!to indicate virtually connected nets. However, I'm not sure if the Calibre compare routine matches all combinations offooandfoo!.Many tools use the trailing
!to indicate a global net (which might imply a virtual net). (Calibre can use net names with a trailing:and theVIRTUAL CONNECT COLON YESdirective to connect virtual nets. @H-Ojiro thanks for the correction.)netgen reads the net name as is and keeps the
!Test case is a simple ihp13g2 process inverter.
There are 2 layouts and 2 netlists: one of each with
VDD,VSSand one of each withVDD!andVSS!.The test program compares the 4 combinations.
Expected result (with no special handling for
!):Actual result:
testcase_magic_netgen_pgnet_notation.tgz
Note: most of the test case development was done by @H-Ojiro
Do we want to match Calibre?magic would need to virtually connect nets ending in!and netgen would need to ignore!when comparing nets.In that case the expected result would be:Expected result (with special handling for
!):