From 49ef182305ed75b514a506587d6823135dc13f1a Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Thu, 10 Sep 2015 20:33:10 -0700 Subject: [PATCH] fhdl/tools: add input lister --- migen/fhdl/tools.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/migen/fhdl/tools.py b/migen/fhdl/tools.py index 8be41e47..8ae03ced 100644 --- a/migen/fhdl/tools.py +++ b/migen/fhdl/tools.py @@ -32,6 +32,17 @@ class _TargetLister(NodeVisitor): self.visit(choice) +class _InputLister(NodeVisitor): + def __init__(self): + self.output_list = set() + + def visit_Signal(self, node): + self.output_list.add(node) + + def visit_Assign(self, node): + self.visit(node.r) + + def list_signals(node): lister = _SignalLister() lister.visit(node) @@ -44,6 +55,12 @@ def list_targets(node): return lister.output_list +def list_inputs(node): + lister = _InputLister() + lister.visit(node) + return lister.output_list + + def _resort_statements(ol): return [statement for i, statement in sorted(ol, key=lambda x: x[0])] -- 2.30.2