26 lines
874 B
Text
26 lines
874 B
Text
(define dependencies
|
|
'((des_system_lib std synopsys std_cell_lib des_system_lib dw02 dw01 ramlib ieee)
|
|
(dw01 ieee dw01 dware gtech) ;; bad graph add dw04
|
|
(dw02 ieee dw02 dware )
|
|
(dw03 std synopsys dware dw03 dw02 dw01 ieee gtech)
|
|
(dw04 dw04 ieee dw01 dware gtech)
|
|
(dw05 dw05 ieee dware)
|
|
(dw06 dw06 ieee dware)
|
|
(dw07 ieee dware)
|
|
(dware ieee dware)
|
|
(gtech ieee gtech)
|
|
(ramlib std ieee )
|
|
(std_cell_lib ieee std_cell_lib)
|
|
(synopsys )))
|
|
|
|
|
|
;; build dependency graph
|
|
;; a depends on b
|
|
;; add arc (arrow) a --> b
|
|
(lib 'graph.lib)
|
|
(define (a->b g a b)
|
|
(unless (equal? a b)
|
|
(graph-make-arc g (graph-make-vertex g a) (graph-make-vertex g b))))
|
|
|
|
(define (add-dependencies g dep-list)
|
|
(for* ((dep dep-list) (b (rest dep))) (a->b g b (first dep))))
|