コード例 #1
0
 def visit_GenerateFor(self, node):
     genfor_visitor = VerilogBlockingVisitor()
     pre = genfor_visitor.visit(node.pre)
     cond = genfor_visitor.visit(node.cond)
     post = genfor_visitor.visit(node.post)
     items = self._visit_Generate(node)
     block = vast.Block(items, scope=node.scope)
     _for = vast.ForStatement(pre, cond, post, block)
     return vast.GenerateStatement(tuple([_for]))
コード例 #2
0
 def visit_GenerateIf(self, node):
     genif_visitor = VerilogBlockingVisitor()
     cond = genif_visitor.visit(node.cond)
     true_items = self._visit_Generate(node)
     true_block = vast.Block(true_items, scope=node.true_scope)
     false_items = self._visit_Generate(node.Else)
     false_block = (vast.Block(false_items, scope=node.Else.false_scope)
                    if false_items else None)
     _if = vast.IfStatement(cond, true_block, false_block)
     return vast.GenerateStatement(tuple([_if]))