In cumulus/block/timings.py, filter non-available cells.

This commit is contained in:
Jean-Paul Chaput 2020-10-16 11:26:58 +02:00
parent 158d8c717d
commit ccc376f132
1 changed files with 4 additions and 2 deletions

View File

@ -119,7 +119,6 @@ class TechTimings ( object ):
# Module static initialization # Module static initialization
tech = None tech = None
cellsTimingsDatas = ( ('inv_x1', 1.0) cellsTimingsDatas = ( ('inv_x1', 1.0)
, ('inv_x2', 1.6) , ('inv_x2', 1.6)
, ('inv_x4', 3.6) , ('inv_x4', 3.6)
@ -138,7 +137,6 @@ def staticInit ():
Capacitance unit is fF (femto Farad). Capacitance unit is fF (femto Farad).
""" """
global tech global tech
if tech is not None: return if tech is not None: return
af = CRL.AllianceFramework.get() af = CRL.AllianceFramework.get()
@ -148,6 +146,10 @@ def staticInit ():
tech.capaPerLambda = 0.3 tech.capaPerLambda = 0.3
for cellName, drive in cellsTimingsDatas: for cellName, drive in cellsTimingsDatas:
cell = af.getCell( cellName, CRL.Catalog.State.Views ) cell = af.getCell( cellName, CRL.Catalog.State.Views )
if not cell:
print( WarningMessage('timing.staticInit(): Library do not provides "{}", skipped.' \
.format(cellName)) )
continue
cellTiming = CellTimings( cell ) cellTiming = CellTimings( cell )
cellTiming.drive = drive*tech.capaBaseDrive cellTiming.drive = drive*tech.capaBaseDrive
tech.addCell( cellTiming ) tech.addCell( cellTiming )