Example #1
0
 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
Example #3
0
 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
Example #5
0
    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)
Example #6
0
    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)