11#-------------------------------------------------------------------------------
22# dataflow.py
3- #
3+ #
44# Basic classes of Data flow nodes
55#
66# Copyright (C) 2013, Shinya Takamaeda-Yamazaki
7+ # modified by ryoduke fukatani
78# License: Apache 2.0
89#-------------------------------------------------------------------------------
910
@@ -47,7 +48,7 @@ def __repr__(self): pass
4748 def tostr (self ): pass
4849 def tocode (self , dest = 'dest' ): return self .__repr__ ()
4950 def tolabel (self ): return self .__repr__ ()
50- def children (self ):
51+ def children (self ):
5152 nodelist = []
5253 return tuple (nodelist )
5354 def __eq__ (self , other ):
@@ -69,8 +70,8 @@ def __repr__(self):
6970 return ret [:- 1 ]
7071 def tostr (self ):
7172 ret = '(Terminal '
72- for n in self .name :
73- ret += str (n ) + '.'
73+ for n in self .name :
74+ ret += str (n ) + '.'
7475 return ret [0 :- 1 ] + ')'
7576 def tocode (self , dest = 'dest' ):
7677 #ret = ''
@@ -207,7 +208,7 @@ def __eq__(self, other):
207208 return self .operator == other .operator and self .nextnodes == other .nextnodes
208209 def __hash__ (self ):
209210 return hash ((self .operator , tuple (self .nextnodes )))
210-
211+
211212class DFPartselect (DFNotTerminal ):
212213 attr_names = ()
213214 def __init__ (self , var , msb , lsb ):
@@ -312,8 +313,8 @@ def __repr__(self):
312313 return 'Branch'
313314 def tostr (self ):
314315 ret = '(Branch'
315- if self .condnode is not None : ret += ' Cond:' + self .condnode .tostr ()
316- if self .truenode is not None : ret += ' True:' + self .truenode .tostr ()
316+ if self .condnode is not None : ret += ' Cond:' + self .condnode .tostr ()
317+ if self .truenode is not None : ret += ' True:' + self .truenode .tostr ()
317318 if self .falsenode is not None : ret += ' False:' + self .falsenode .tostr ()
318319 ret += ')'
319320 return ret
@@ -334,15 +335,15 @@ def _tocode_always(self, dest='dest', always='clockedge'):
334335 ret = 'if('
335336 if self .condnode is not None : ret += self .condnode .tocode (dest )
336337 ret += ') begin\n '
337- if self .truenode is not None :
338+ if self .truenode is not None :
338339 if isinstance (self .truenode , DFBranch ):
339340 ret += self .truenode .tocode (dest , always = always )
340341 elif always == 'clockedge' :
341342 ret += dest + ' <= ' + self .truenode .tocode (dest ) + ';\n '
342343 elif always == 'combination' :
343344 ret += dest + ' = ' + self .truenode .tocode (dest ) + ';\n '
344345 ret += 'end\n '
345- if self .falsenode is not None :
346+ if self .falsenode is not None :
346347 ret += 'else begin\n '
347348 if isinstance (self .falsenode , DFBranch ):
348349 ret += self .falsenode .tocode (dest , always = always )
@@ -462,7 +463,7 @@ def __repr__(self):
462463 return 'Delay'
463464 def tostr (self ):
464465 ret = '(Delay '
465- if self .nextnode is not None : ret += self .nextnode .tostr ()
466+ if self .nextnode is not None : ret += self .nextnode .tostr ()
466467 ret += ')'
467468 return ret
468469 def tocode (self , dest = 'dest' ):
@@ -522,8 +523,8 @@ def __repr__(self):
522523 return str (self .name )
523524 def tostr (self ):
524525 ret = '(Term name:' + str (self .name ) + ' type:' + str (self .termtype )
525- if self .msb is not None : ret += ' msb:' + self .msb .tostr ()
526- if self .lsb is not None : ret += ' lsb:' + self .lsb .tostr ()
526+ if self .msb is not None : ret += ' msb:' + self .msb .tostr ()
527+ if self .lsb is not None : ret += ' lsb:' + self .lsb .tostr ()
527528 if self .lenmsb is not None : ret += ' lenmsb:' + self .lenmsb .tostr ()
528529 if self .lenlsb is not None : ret += ' lenlsb:' + self .lenlsb .tostr ()
529530 ret += ')'
@@ -641,7 +642,7 @@ def _localparam(self):
641642 code = 'localparam ' + dest
642643 code += ' = ' + self .tree .tocode (dest ) + ';\n '
643644 return code
644-
645+
645646 def _assign (self ):
646647 dest = self .getdest ()
647648 code = 'assign ' + dest
@@ -652,10 +653,10 @@ def _always_clockedge(self):
652653 dest = self .getdest ()
653654 code = 'always @('
654655 if self .alwaysinfo .clock_edge is not None and self .alwaysinfo .clock_name is not None :
655- code += self .alwaysinfo .clock_edge + ' '
656+ code += self .alwaysinfo .clock_edge + ' '
656657 code += util .toFlatname (self .alwaysinfo .clock_name )
657658 if self .alwaysinfo .reset_edge is not None and self .alwaysinfo .reset_name is not None :
658- code += ' or '
659+ code += ' or '
659660 code += self .alwaysinfo .reset_edge + ' '
660661 code += util .toFlatname (self .alwaysinfo .reset_name )
661662 code += ') begin\n '
@@ -681,7 +682,7 @@ def _always_combination(self):
681682 code += 'end\n '
682683 code += '\n '
683684 return code
684-
685+
685686 def isClockEdge (self ):
686687 if self .alwaysinfo is None : return False
687688 return self .alwaysinfo .isClockEdge ()
@@ -752,7 +753,7 @@ def setBind(self, name, bind):
752753 currentbindlist = self .binddict [name ]
753754 c_i = 0
754755 for c in currentbindlist :
755- if c .msb == bind .msb and c .msb == bind .msb and c .ptr == bind .ptr :
756+ if c .msb == bind .msb and c .lsb == bind .lsb and c .ptr == bind .ptr :
756757 self .binddict [name ][c_i ].tree = bind .tree
757758 return
758759 c_i += 1
0 commit comments