-
Notifications
You must be signed in to change notification settings - Fork 130
Description
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 |