25 lines
1012 B
Python
25 lines
1012 B
Python
from graphlib import TopologicalSorter
|
|
|
|
# LIBRARY mapped_to LIBRARY DEPENDENCIES
|
|
data = {
|
|
'des_system_lib': set('std synopsys std_cell_lib des_system_lib dw02 dw01 ramlib ieee'.split()),
|
|
'dw01': set('ieee dw01 dware gtech'.split()),
|
|
'dw02': set('ieee dw02 dware'.split()),
|
|
'dw03': set('std synopsys dware dw03 dw02 dw01 ieee gtech'.split()),
|
|
'dw04': set('dw04 ieee dw01 dware gtech'.split()),
|
|
'dw05': set('dw05 ieee dware'.split()),
|
|
'dw06': set('dw06 ieee dware'.split()),
|
|
'dw07': set('ieee dware'.split()),
|
|
'dware': set('ieee dware'.split()),
|
|
'gtech': set('ieee gtech'.split()),
|
|
'ramlib': set('std ieee'.split()),
|
|
'std_cell_lib': set('ieee std_cell_lib'.split()),
|
|
'synopsys': set(),
|
|
}
|
|
# Ignore self dependencies
|
|
for k, v in data.items():
|
|
v.discard(k)
|
|
|
|
ts = TopologicalSorter(data)
|
|
print(tuple(ts.static_order()))
|