Thanks to the help of Jean-Paul may python installation is alive !
- Updated Boost.Python port for OpenChams - Updated drive & aprse examples in Python
This commit is contained in:
parent
ec97d7f369
commit
edd711dd9b
|
@ -15,7 +15,7 @@ circuit.addParameter(Name("complex"), "myEq")
|
|||
netlist = circuit.createNetlist()
|
||||
# instances
|
||||
# nmos1
|
||||
inst_nmos1 = netlist.addInstance("nmos1", "Transistor", "NMOS", True)
|
||||
inst_nmos1 = netlist.addDevice("nmos1", "Transistor", "NMOS", True)
|
||||
inst_nmos1.addConnector("G")
|
||||
inst_nmos1.addConnector("S")
|
||||
inst_nmos1.addConnector("D")
|
||||
|
@ -25,7 +25,7 @@ tr_nmos1.source = "S"
|
|||
tr_nmos1.drain = "D"
|
||||
tr_nmos1.bulk = "S"
|
||||
# pmos1
|
||||
inst_pmos1 = netlist.addInstance("pmos1", "Transistor", "PMOS", True)
|
||||
inst_pmos1 = netlist.addDevice("pmos1", "Transistor", "PMOS", True)
|
||||
inst_pmos1.addConnector("G")
|
||||
inst_pmos1.addConnector("S")
|
||||
inst_pmos1.addConnector("D")
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import sys
|
||||
|
||||
from OPENCHAMS import *
|
||||
|
||||
circuit = Circuit.readFromFile("./inverter.xml")
|
||||
|
||||
def printContents(circuit):
|
||||
print circuit.name
|
||||
# circuit parameters
|
||||
print " + parameters"
|
||||
|
@ -14,10 +15,14 @@ print " + netlist"
|
|||
# instances
|
||||
print " | + instances"
|
||||
for instance in circuit.netlist.getInstances():
|
||||
if isinstance(instance, Device):
|
||||
print " | | +", instance.name, ":", instance.model, instance.mosType, instance.sourceBulkConnected
|
||||
else:
|
||||
print " | | +", instance.name, ":", instance.model
|
||||
print " | | | + connectors"
|
||||
for conn in instance.getConnectors():
|
||||
print " | | | |", conn.key, ":", conn.value.name
|
||||
if isinstance(instance, Device):
|
||||
print " | | | + transistors"
|
||||
for tr in instance.getTransistors():
|
||||
print " | | | | name:", tr.name, "- gate:", tr.gate, "- source:", tr.source, "- drain:", tr.drain, "- bulk:", tr.bulk
|
||||
|
@ -29,10 +34,12 @@ for net in circuit.netlist.getNets():
|
|||
for conn in net.getConnections():
|
||||
print " | | | | %s.%s"%(conn.instanceName, conn.connectorName)
|
||||
# schematic
|
||||
if (circuit.schematic):
|
||||
print " + schematic - zoom:", circuit.schematic.zoom
|
||||
for instance in circuit.schematic.getInstances():
|
||||
print " | name:", instance.key, "- x:", instance.value.x, "- y:", instance.value.y, "- symmetry:", instance.value.symmetry
|
||||
# sizing
|
||||
if (circuit.sizing):
|
||||
print " + sizing"
|
||||
for op in circuit.sizing.getOperators():
|
||||
print " | + instance name:", op.key, "- operator:", op.value.name, "- simulModel:", op.value.simulModel, "- callOrder:", op.value.callOrder
|
||||
|
@ -42,7 +49,27 @@ print " | + equations"
|
|||
for eq in circuit.sizing.getEquations():
|
||||
print " | |", eq.key, ":", eq.value
|
||||
# layout
|
||||
if (circuit.layout):
|
||||
print " + layout"
|
||||
for inst in circuit.layout.getInstances():
|
||||
print " | | instance name:", inst.key, "- style:", inst.value
|
||||
|
||||
def usage():
|
||||
print "usage:", sys.argv[0], "[filename]"
|
||||
sys.exit(48)
|
||||
|
||||
def main():
|
||||
if len(sys.argv) == 1:
|
||||
filename = "./inverter.xml"
|
||||
elif len(sys.argv) == 2:
|
||||
filename = sys.argv[1]
|
||||
else:
|
||||
usage()
|
||||
|
||||
circuit = Circuit.readFromFile(filename)
|
||||
printContents(circuit)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
|
Loading…
Reference in New Issue