#!/usr/bin/python # This file is part of the Coriolis Project. # Copyright (C) Laboratoire LIP6 - Departement ASIM # Universite Pierre et Marie Curie # # Main contributors : # Christophe Alexandre # Sophie Belloeil # Hugo Clement # Jean-Paul Chaput # Damien Dupuis # Christian Masson # Marek Sroka # # The Coriolis Project is free software; you can redistribute it # and/or modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # The Coriolis Project is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with the Coriolis Project; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA # # License-Tag # Authors-Tag # =================================================================== # # x-----------------------------------------------------------------x # | | # | C O R I O L I S | # | S t r a t u s - Netlists/Layouts Description | # | | # | Author : Sophie BELLOEIL | # | E-mail : Sophie.Belloeil@asim.lip6.fr | # | =============================================================== | # | Py Module : "./st_getrealmodel.py" | # | *************************************************************** | # | U p d a t e s | # | | # x-----------------------------------------------------------------x from st_parser import Parser, InitParser, WeightParser import os def InitBV () : myP = InitParser() if 'STRATUS_MAPPING_NAME' in os.environ : myP.Parse ( os.environ['STRATUS_MAPPING_NAME'] ) else : err = "\n[Stratus ERROR] Virtual library : No file found in order to parse.\nCheck STRATUS_MAPPING_NAME.\n" raise Exception ( err ) def GetRealModel ( model ) : myP = Parser() if 'STRATUS_MAPPING_NAME' in os.environ : myP.Parse ( os.environ['STRATUS_MAPPING_NAME'] ) else : err = "\n[Stratus ERROR] Virtual library : No file found in order to parse.\nCheck STRATUS_MAPPING_NAME.\n" raise Exception ( err ) return myP._realCell[model], myP._inOut[model] def GetWeightTime ( model, value=None ) : myP = WeightParser() if 'STRATUS_MAPPING_NAME' in os.environ : myP.Parse ( os.environ['STRATUS_MAPPING_NAME'] ) else : err = "\n[Stratus ERROR] Virtual library : No file found in order to parse.\nCheck STRATUS_MAPPING_NAME.\n" raise Exception ( err ) if value == None : if type(myP._weightTime[model]) == dict: return myP._weightTime[model]['time'] else : return myP._weightTime[model] else: return myP._weightTime[model][value] def GetWeightArea ( model ) : myP = WeightParser() if 'STRATUS_MAPPING_NAME' in os.environ : myP.Parse ( os.environ['STRATUS_MAPPING_NAME'] ) else : err = "\n[Stratus ERROR] Virtual library : No file found in order to parse.\nCheck STRATUS_MAPPING_NAME.\n" raise Exception ( err ) return myP._weightArea[model] def GetWeightPower ( model ) : myP = WeightParser() if 'STRATUS_MAPPING_NAME' in os.environ : myP.Parse ( os.environ['STRATUS_MAPPING_NAME'] ) else : err = "\n[Stratus ERROR] Virtual library : No file found in order to parse.\nCheck STRATUS_MAPPING_NAME.\n" raise Exception ( err ) return myP._weightPower[model]