예제 #1
0
 def visit_Subst(self, node):
     left = self.visit(node.left)
     right = self.visit(node.right)
     ldelay = vast.DelayStatement(self.visit(
         node.ldelay)) if node.ldelay else None
     rdelay = vast.DelayStatement(self.visit(
         node.rdelay)) if node.rdelay else None
     lvalue = vast.Lvalue(left)
     rvalue = vast.Rvalue(right)
     return vast.BlockingSubstitution(lvalue, rvalue, ldelay, rdelay)
예제 #2
0
 def visit_Delay(self, node):
     delay = self.visit(node.value)
     return vast.SingleStatement(vast.DelayStatement(delay))
예제 #3
0
 def visit_Delay(self, node):
     if self.for_verilator:
         return vast.SingleStatement(vast.SystemCall('write', (vast.StringConst(''),)))
     delay = self.visit(node.value)
     return vast.SingleStatement(vast.DelayStatement(delay))