23 lines
1.3 KiB
Python
23 lines
1.3 KiB
Python
from DTR import *
|
|
from decimal import Decimal
|
|
|
|
techno = Techno.readFromFile("./example.dtr.xml")
|
|
|
|
print "+-----------------------------+"
|
|
print "| technology: "+techno.getName().getString()+" |"
|
|
print "| units: "+techno.getUnit().getString()+" |"
|
|
print "| version: "+techno.getVersion().getString()+" |"
|
|
print "+-----------------------------+\n\n"
|
|
|
|
print "transistorMinL = %s"%techno.getValue(Name("transistorMinL"))
|
|
print "transistorMinW = %s"%Decimal(techno.getValueAsString(Name("transistorMinW")))
|
|
print "minWidth of metal1 = %s"%techno.getValue(Name("minWidth"), Name("metal1"))
|
|
print "minSpacing of metal1 = %s"%techno.getValue(Name("minWidth"), Name("metal1"))
|
|
print "minSpacing of active vs poly = %s"%techno.getValue(Name("minSpacing"), Name("active"), Name("poly"))
|
|
print "minExtension active over poly = %s"%techno.getValue(Name("minExtension"), Name("poly"), Name("active"))
|
|
print "minArea of metal1 = %s"%techno.getValue(Name("minArea"), Name("metal1"))
|
|
|
|
# an example of why it is important to use Decimal in python:
|
|
print techno.getValue(Name("minArea"), Name("metal1"))*3-0.3 # returns 5.55111512313e-17
|
|
print Decimal(techno.getValueAsString(Name("minArea"), Name("metal1")))*3-Decimal('0.3') # returns 0.000
|