snarled/examples/check.py

32 lines
650 B
Python
Raw Normal View History

2022-03-31 00:02:14 -07:00
"""
Example code for checking connectivity in a layout by using
2022-03-31 00:43:54 -07:00
`snarled` and `masque`.
2022-03-31 00:02:14 -07:00
"""
from pprint import pformat
2022-04-07 16:15:12 -07:00
import logging
2022-03-31 00:43:54 -07:00
import snarled
2022-03-27 23:43:52 -07:00
2022-04-07 16:15:12 -07:00
logging.basicConfig()
logging.getLogger('snarled').setLevel(logging.INFO)
connectivity = [
2022-03-27 23:43:52 -07:00
((1, 0), (1, 2), (2, 0)), #M1 to M2 (via V12)
((1, 0), (1, 3), (3, 0)), #M1 to M3 (via V13)
((2, 0), (2, 3), (3, 0)), #M2 to M3 (via V23)
]
2022-03-27 23:43:52 -07:00
labels_map = {
(1, 0): (1, 0),
(2, 0): (2, 0),
(3, 0): (3, 0),
}
2022-03-27 23:43:52 -07:00
filename = 'connectivity.oas'
result = snarled.trace_layout(filename, connectivity, topcell='top', labels_map=labels_map)
print('Result:\n', pformat(result))