OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [ssbccUtil.py] - Diff between revs 6 and 8

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 6 Rev 8
Line 106... Line 106...
    ov += dv;
    ov += dv;
  if length > 0 and ov >= 2**length:
  if length > 0 and ov >= 2**length:
    raise SSBCCException('Paramter length and value don\'t match:  "%s"' % save_v);
    raise SSBCCException('Paramter length and value don\'t match:  "%s"' % save_v);
  return ov;
  return ov;
 
 
 
def IsIntExpr(value):
 
  """
 
  Test the string to see if it is a well-formatted integer or multiplication of
 
  two integers.
 
  Allow underscores as per Verilog.
 
  """
 
  if re.match(r'[1-9][0-9_]*',value):
 
    return True;
 
  elif re.match(r'\([1-9][0-9_]*(\*[1-9][0-9_]*)+\)',value):
 
    return True;
 
  else:
 
    return False;
 
 
def IsPosInt(v):
def IsPosInt(v):
  """
  """
  Indicate whether or not the argument is a positive integer.
  Indicate whether or not the argument is a positive integer.
  """
  """
  return re.match(r'[1-9][0-9_]*$',v);
  return re.match(r'[1-9][0-9_]*$',v);
Line 149... Line 162...
      tmpLine = tmpLine[0:-1];
      tmpLine = tmpLine[0:-1];
    v.append((tmpLine,ixLine,));
    v.append((tmpLine,ixLine,));
  fp.close();
  fp.close();
  return v;
  return v;
 
 
 
def ParseIntExpr(value):
 
  """
 
  Convert a string containing well-formatted integer or multiplication of two
 
  integers.
 
  Allow underscores as per Verilog.
 
  Note:  If this routine is called, then the value should have already been
 
         verified to be a well-formatted integer string.
 
  """
 
  if not IsIntExpr(value):
 
    raise Exception('Program Bug -- shouldn\'t call with a badly formatted integer expression');
 
  return eval(re.sub('_','',value));
 
 
################################################################################
################################################################################
#
#
# Unit test.
# Unit test.
#
#
################################################################################
################################################################################

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.