I. Bugs to fix 1. The "extresist" code needs to extract substrate networks. Moreover, the "extresist" code really needs to have the dependence on ext2sim removed, and instead read directly from .ext files. The .sim format has no substrate connections, so this cannot be properly represented. Also, there is nothing that is read from the .sim file that is not already present in the .ext file. 2. "plow" should derive its rules from the DRC decks (using the new routines that are meant for just that sort of thing). 3. It is possible to trick the net selection into an infinite loop in unusual geometry situations. That these situations would be DRC errors does not excuse the infinite loop behavior. The geometry required is unusual enough that this is not a high priority item. 4. The LEF read/write should operate from the GDS rules and layers, not the magic database layers. LEF setup should be put in the cifinput and cifoutput sections in the techfile, not in its own section. 5. Implement a CRC checksum to replace (or complement) timestamps. Cells are marked as invalid only if the checksum fails to match, not if the timestamp is outdated. This helps with two problems: (1) PDKs which are reinstalled but not changed, and (2) libraries which are copied from one place to another but not changed. 6. Implement tile planes that can be defined as either maximum horizontal stripes (default) or maximum vertical stripes. The latter, if applied to vertically oriented route layers, vastly speeds up searches on those layers. The code for manipulating tile planes with maximum vertical stripes exists but is used only in by the maze router.