def walkBind(self, name, step=0): termname = util.toTermname(name) if not termname in self.terms: raise verror.DefinitionError('No such signals: %s' % str(name)) tree = self.getTree(termname) walked_tree = self.walkTree(tree, visited=set(), step=step) return replace.replaceUndefined(walked_tree, termname)
def makeTree(self, termname): tree = self.getTree(termname) tree = self.treewalker.walkTree(tree) tree = reorder.reorder(tree) tree = self.optimizer.optimize(tree) tree = replace.replaceUndefined(tree, termname) return tree
def walkBind(self, name, step=0): termname = util.toTermname(name) if not termname in self.terms: raise verror.DefinitionError("No such signals: %s" % str(name)) tree = self.getTree(termname) walked_tree = self.walkTree(tree, visited=set(), step=step) return replace.replaceUndefined(walked_tree, termname)
def generate(self, signalname, identical=False, walk=True, step=1, reorder=False, delay=False): termname = util.toTermname(signalname) tree = self.treewalker.getTree(termname) if tree is None: raise verror.DefinitionError('No such signals: %s' % str(signalname)) if walk: tree = self.treewalker.walkTree(tree, visited=set(), step=step, delay=delay) if reorder: tree = reorder.reorder(tree) tree = self.optimizer.optimize(tree) if reorder: tree = reorder.reorder(tree) tree = replace.replaceUndefined(tree, termname) name = self.rename(signalname) self.identical = identical self.add_node(name, label=signalname) self.visit(tree, name)