diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ngspicetoModelica/NgspicetoModelica.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/ngspicetoModelica/NgspicetoModelica.py b/src/ngspicetoModelica/NgspicetoModelica.py index fa915c41..0ebf8436 100644 --- a/src/ngspicetoModelica/NgspicetoModelica.py +++ b/src/ngspicetoModelica/NgspicetoModelica.py @@ -64,12 +64,12 @@ class NgMoConverter: elif eachline[0] in self.deviceList: if eachline[0]=='m' or eachline[0]=='M': self.ifMOS = True - #schematicInfo.append(eachline) + schematicInfo.append(eachline) self.deviceDetail.append(eachline) elif eachline[0]=='x' or eachline[0]=='X': self.subCktDetail.append(eachline) elif eachline[0]=='v' or eachline[0]=='V': - #schematicInfo.append(eachline) + schematicInfo.append(eachline) #Removing zero voltage source as it is not require in Modelica if eachline.split()[-1]=='0': continue @@ -236,7 +236,6 @@ class NgMoConverter: try: keyval = modelInfo[words[wordNo]][key] keyval = self.getUnitVal(keyval) - print "Key------->",modelInfo except KeyError: keyval = str(default) return keyval @@ -423,8 +422,7 @@ class NgMoConverter: else: stat = subname + ' ' + subname +'_instance' + index + ';' modelicaCompInit.append(stat) - - + for eachline in compInfo: words = eachline.split() @@ -572,6 +570,10 @@ class NgMoConverter: pinInit = pinInit + nodeDic[protectedNode[i]] pinInit = pinInit + ';' pinProtectedInit = pinProtectedInit + ';' + print "Node---->",node + print "nodeDic----->",nodeDic + print "PinInit----->",pinInit + print "pinProtectedinit--->",pinProtectedInit return node, nodeDic, pinInit, pinProtectedInit @@ -580,15 +582,27 @@ class NgMoConverter: Make node connections in the modelica netlist """ connInfo = [] + print "compinfo-------->",compInfo sourcesInfo = self.separateSource(compInfo) for eachline in compInfo: words = eachline.split() + print "eachline----->",eachline + print "eachline[0]------->",eachline[0] if eachline[0]=='r' or eachline[0]=='R' or eachline[0]=='c' or eachline[0]=='C' or eachline[0]=='d' or eachline[0]=='D' \ or eachline[0]=='l' or eachline[0]=='L' or eachline[0]=='v' or eachline[0]=='V': conn = 'connect(' + words[0] + '.p,' + nodeDic[words[1]] + ');' connInfo.append(conn) conn = 'connect(' + words[0] + '.n,' + nodeDic[words[2]] + ');' connInfo.append(conn) + elif eachline[0]=='q' or eachline[0]=='Q': + print "Inside Transistor--->" + print "Node Dict------>",nodeDic + conn = 'connect(' + words[0] + '.C,' + nodeDic[words[1]] + ');' + connInfo.append(conn) + conn = 'connect(' + words[0] + '.B,' + nodeDic[words[2]] + ');' + connInfo.append(conn) + conn = 'connect(' + words[0] + '.E,' + nodeDic[words[3]] + ');' + connInfo.append(conn) elif eachline[0]=='m' or eachline[0]=='M': conn = 'connect(' + words[0] + '.D,' + nodeDic[words[1]] + ');' connInfo.append(conn) |