summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfahim2015-06-02 18:18:39 +0530
committerfahim2015-06-02 18:18:39 +0530
commita4e5c7026f668b1a8b9da1e335622873a8a831d5 (patch)
tree86450c9eaf7db03673e2afd28a9f8ebc3e2c26d3 /src
parentcc2082a63d52bf7181902cfab70a5ff84560aa9b (diff)
downloadeSim-a4e5c7026f668b1a8b9da1e335622873a8a831d5.tar.gz
eSim-a4e5c7026f668b1a8b9da1e335622873a8a831d5.tar.bz2
eSim-a4e5c7026f668b1a8b9da1e335622873a8a831d5.zip
Subject: Written function to extract Refrence name for device Library
Description: Written function to extract Refrence name for device Library
Diffstat (limited to 'src')
-rwxr-xr-xsrc/deviceModelLibrary/Diode/1n4007.lib2
-rwxr-xr-xsrc/deviceModelLibrary/Diode/1n4148.lib2
-rw-r--r--src/deviceModelLibrary/Templates/NMOS-180um.xml112
-rw-r--r--src/deviceModelLibrary/Templates/PMOS-180um.xml112
-rw-r--r--src/kicadtoNgspice/Convert.py29
-rw-r--r--src/kicadtoNgspice/DeviceModel.py2
6 files changed, 23 insertions, 236 deletions
diff --git a/src/deviceModelLibrary/Diode/1n4007.lib b/src/deviceModelLibrary/Diode/1n4007.lib
deleted file mode 100755
index 89d421d8..00000000
--- a/src/deviceModelLibrary/Diode/1n4007.lib
+++ /dev/null
@@ -1,2 +0,0 @@
-.model 1n4007 D( IS=7.02767e-09 RS=0.0341512 N=1.80803 EG=1.05743 XTI=5 BV=1000 IBV=5e-08 CJO=1E-11
-+VJ=0.7 M=0.5 FC=0.5 TT=1E-07 KF=0 AF=1 )
diff --git a/src/deviceModelLibrary/Diode/1n4148.lib b/src/deviceModelLibrary/Diode/1n4148.lib
deleted file mode 100755
index b32fdf86..00000000
--- a/src/deviceModelLibrary/Diode/1n4148.lib
+++ /dev/null
@@ -1,2 +0,0 @@
-.model 1n4148 D( Is=2.495E-09 Rs=4.755E-01 n=1.679 tt=3.030E-09 Cjo=1.700E-12 M=1.959E-01
-+ Vj=1 Bv=1.000E+02 ibv=1.000E-04 )
diff --git a/src/deviceModelLibrary/Templates/NMOS-180um.xml b/src/deviceModelLibrary/Templates/NMOS-180um.xml
deleted file mode 100644
index fc3b7a47..00000000
--- a/src/deviceModelLibrary/Templates/NMOS-180um.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<library>
-<model_name>NMOS</model_name>
-<refrence>CMOSN</refrence>
-<param>
-<LEVEL>8 </LEVEL>
-<VERSION>3.2 </VERSION>
-<TNOM>27 </TNOM>
-<TOX>4.1E-9 </TOX>
-<XJ>1E-7 </XJ>
-<NCH>2.3549E17 </NCH>
-<VTH0>0.3823463 </VTH0>
-<K1>0.5810697 </K1>
-<K2>4.774618E-3 </K2>
-<K3>0.0431669 </K3>
-<K3B>1.1498346</K3B>
-<W0>1E-7 </W0>
-<NLX>1.910552E-7 </NLX>
-<DVT0W>0 </DVT0W>
-<DVT1W>0 </DVT1W>
-<DVT2W>0 </DVT2W>
-<DVT0>1.2894824 </DVT0>
-<DVT1>0.3622063 </DVT1>
-<DVT2>0.0713729 </DVT2>
-<U0>280.633249 </U0>
-<UA>-1.208537E-9 </UA>
-<UB>2.158625E-18</UB>
-<UC>5.342807E-11 </UC>
-<VSAT>9.366802E4</VSAT>
-<A0>1.7593146 </A0>
-<AGS>0.3939741 </AGS>
-<B0>-6.413949E-9 </B0>
-<B1>-1E-7 </B1>
-<KETA>-5.180424E-4</KETA>
-<A1>0 </A1>
-<A2>1 </A2>
-<RDSW>105.5517558</RDSW>
-<PRWG>0.5 </PRWG>
-<PRWB>-0.1998871 </PRWB>
-<WR>1 </WR>
-<WINT>7.904732E-10 </WINT>
-<LINT>1.571424E-8 </LINT>
-<XL>0</XL>
-<XW>-1E-8 </XW>
-<DWG>1.297221E-9 </DWG>
-<DWB>1.479041E-9</DWB>
-<VOFF>-0.0955434 </VOFF>
-<NFACTOR>2.4358891 </NFACTOR>
-<CIT>0 </CIT>
-<CDSC>2.4E-4 </CDSC>
-<CDSCD>0</CDSCD>
-<CDSCB>0 </CDSCB>
-<ETA0>=3.104851E-3 </ETA0>
-<ETAB>-2.512384E-5 </ETAB>
-<DSUB>0.0167075 </DSUB>
-<PCLM>0.8073191 </PCLM>
-<PDIBLC1>0.1666161 </PDIBLC1>
-<PDIBLC2>3.112892E-3 </PDIBLC2>
-<PDIBLCB>-0.1 </PDIBLCB>
-<DROUT>0.7875618 </DROUT>
-<PSCBE1>8E10 </PSCBE1>
-<PSCBE2>9.213635E-10 </PSCBE2>
-<PVAG>3.85243E-3 </PVAG>
-<DELTA>0.01 </DELTA>
-<RSH>6.7 </RSH>
-<MOBMOD>1</MOBMOD>
-<PRT>0 </PRT>
-<UTE>-1.5 </UTE>
-<KT1>-0.11 </KT1>
-<KT1L>0 </KT1L>
-<KT2>0.022 </KT2>
-<UA1>4.31E-9 </UA1>
-<UB1>-7.61E-18 </UB1>
-<UC1>-5.6E-11 </UC1>
-<AT>3.3E4 </AT>
-<WL>0 </WL>
-<WLN>1</WLN>
-<WW>0 </WW>
-<WWN>1 </WWN>
-<WWL>0 </WWL>
-<LL>0 </LL>
-<LLN>1 </LLN>
-<LW>0 </LW>
-<LWN>1 </LWN>
-<LWL>0 </LWL>
-<CAPMOD>2 </CAPMOD>
-<XPART>0.5 </XPART>
-<CGDO>7.08E-10 </CGDO>
-<CGSO>7.08E-10 </CGSO>/
-<CGBO>1E-12</CGBO>
-<CJ>9.68858E-4 </CJ>
-<PB>0.8 </PB>
-<MJ>0.3864502 </MJ>
-<CJSW>2.512138E-10 </CJSW>
-<PBSW>0.809286 </PBSW>
-<MJSW>0.1060414 </MJSW>
-<CJSWG>3.3E-10 </CJSWG>
-<PBSWG>0.809286 </PBSWG>
-<MJSWG>0.1060414 </MJSWG>
-<CF>0 </CF>
-<PVTH0>-1.192722E-3 </PVTH0>
-<PRDSW>-5 </PRDSW>
-<PK2>6.450505E-5 </PK2>
-<WKETA>-4.27294E-4 </WKETA>
-<LKETA>-0.0104078 </LKETA>
-<PU0>6.3268729 </PU0>
-<PUA>2.226552E-11 </PUA>
-<PUB>0 </PUB>
-<PVSAT>969.1480157</PVSAT>
-<PETA0>1E-4 </PETA0>
-<PKETA>-1.049509E-3</PKETA>
-</param>
-</library>
diff --git a/src/deviceModelLibrary/Templates/PMOS-180um.xml b/src/deviceModelLibrary/Templates/PMOS-180um.xml
deleted file mode 100644
index 99916972..00000000
--- a/src/deviceModelLibrary/Templates/PMOS-180um.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<library>
-<model_name>PMOS</model_name>
-<refrence>CMOSP</refrence>
-<param>
-<LEVEL>8 </LEVEL>
-<VERSION>3.2 </VERSION>
-<TNOM>27 </TNOM>
-<TOX>4.1E-9 </TOX>
-<XJ>1E-7 </XJ>
-<NCH>4.1589E17 </NCH>
-<VTH0>-0.3938813 </VTH0>
-<K1>0.5479015</K1>
-<K2>0.0360586 </K2>
-<K3>0.0993095 </K3>
-<K3B>5.7086622</K3B>
-<W0>1E-6 </W0>
-<NLX>1.313191E-7 </NLX>
-<DVT0W>0 </DVT0W>
-<DVT1W>0 </DVT1W>
-<DVT2W>0 </DVT2W>
-<DVT0>0.4911363</DVT0>
-<DVT1>0.2227356</DVT1>
-<DVT2>0.1 </DVT2>
-<U0>115.6852975 </U0>
-<UA>1.505832E-9</UA>
-<UB>1E-21 </UB>
-<UC>-1E-10 </UC>
-<VSAT>1.329694E5 </VSAT>
-<A0>1.7590478 </A0>
-<AGS>0.3641621 </AGS>
-<B0>3.427126E-7 </B0>
-<B1>1.062928E-6 </B1>
-<KETA>0.0134667 </KETA>
-<A1>0.6859506 </A1>
-<A2>0.3506788 </A2>
-<RDSW>168.5705677</RDSW>
-<PRWG>0.5 </PRWG>
-<PRWB>-0.4987371 </PRWB>
-<WR>1 </WR>
-<WINT>0 </WINT>
-<LINT>3.028832E-8 </LINT>
-<XL>0 </XL>
-<XW>-1E-8 </XW>
-<DWG>-2.349633E-8 </DWG>
-<DWB>-7.152486E-9 </DWB>
-<VOFF>-0.0994037 </VOFF>
-<NFACTOR>1.9424315 </NFACTOR>
-<CIT>0 </CIT>
-<CDSC>2.4E-4 </CDSC>
-<CDSCD>0 </CDSCD>
-<CDSCB>0 </CDSCB>
-<ETA0>0.0608072 </ETA0>
-<ETAB>-0.0426148</ETAB>
-<DSUB>0.7343015 </DSUB>
-<PCLM>3.2579974 </PCLM>
-<PDIBLC1>7.229527E-6 </PDIBLC1>
-<PDIBLC2>0.025389 </PDIBLC2>
-<PDIBLCB>-1E-3 </PDIBLCB>
-<DROUT>0 </DROUT>
-<PSCBE1>1.454878E10</PSCBE1>
-<PSCBE2>4.202027E-9 </PSCBE2>
-<PVAG>15 </PVAG>
-<DELTA>0.01 </DELTA>
-<RSH>7.8 </RSH>
-<MOBMOD>1 </MOBMOD>
-<PRT>0 </PRT>
-<UTE>-1.5 </UTE>
-<KT1>-0.11 </KT1>
-<KT1L>0 </KT1L>
-<KT2>0.022 </KT2>
-<UA1>4.31E-9</UA1>
-<UB1>-7.61E-18 </UB1>
-<UC1>-5.6E-11 </UC1>
-<AT>3.3E4 </AT>
-<WL>0 </WL>
-<WLN>1 </WLN>
-<WW>0 </WW>
-<WWN>1 </WWN>
-<WWL>0 </WWL>
-<LL>0 </LL>
-<LLN>1 </LLN>
-<LW>0 </LW>
-<LWN>1 </LWN>
-<LWL>0 </LWL>
-<CAPMOD>2 </CAPMOD>
-<XPART>0.5</XPART>
-<CGDO>6.32E-10 </CGDO>
-<CGSO>6.32E-10 </CGSO>
-<CGBO>1E-12 </CGBO>
-<CJ>1.172138E-3 </CJ>
-<PB>0.8421173 </PB>
-<MJ>0.4109788 </MJ>
-<CJSW>2.242609E-10 </CJSW>
-<PBSW>0.8</PBSW>
-<MJSW>0.3752089 </MJSW>
-<CJSWG>4.22E-10 </CJSWG>
-<PBSWG>0.8 </PBSWG>
-<MJSWG>0.3752089 </MJSWG>
-<CF>0 </CF>
-<PVTH0>1.888482E-3 </PVTH0>
-<PRDSW>11.5315407 </PRDSW>
-<PK2>1.559399E-3 </PK2>
-<WKETA>0.0319301 </WKETA>
-<LKETA>2.955547E-3 </LKETA>
-<PU0>-1.1105313 </PU0>
-<PUA>-4.62102E-11</PUA>
-<PUB>1E-21 </PUB>
-<PVSAT>50 </PVSAT>
-<PETA0>1E-4 </PETA0>
-<PKETA>-4.346368E-3 </PKETA>
-</param>
-</library>
diff --git a/src/kicadtoNgspice/Convert.py b/src/kicadtoNgspice/Convert.py
index ca14d83f..b7d61c12 100644
--- a/src/kicadtoNgspice/Convert.py
+++ b/src/kicadtoNgspice/Convert.py
@@ -2,7 +2,7 @@ import os
import sys
import shutil
import TrackWidget
-
+from xml.etree import ElementTree as ET
class Convert:
"""
@@ -176,7 +176,7 @@ class Convert:
if self.value == '':
return 0
else:
- pass
+ self.value
def addModelParameter(self,schematicInfo):
@@ -309,7 +309,8 @@ class Convert:
libname = tempStr[0]
dimension = tempStr[1]
#Replace last word with library name
- words[-1] = libname.split('.')[0]
+ #words[-1] = libname.split('.')[0]
+ words[-1] = self.getRefrenceName(libname,libpath)
#Appending Dimension of MOSFET
words.append(dimension)
deviceLine[index] = words
@@ -320,7 +321,8 @@ class Convert:
shutil.copy2(src, dst)
else:
#Replace last word with library name
- words[-1] = libname.split('.')[0]
+ #words[-1] = libname.split('.')[0]
+ words[-1] = self.getRefrenceName(libname,libpath)
deviceLine[index] = words
includeLine.append(".include "+libname)
@@ -342,10 +344,23 @@ class Convert:
#Adding .include line to Schematic Info at the start of line
for item in list(set(includeLine)):
schematicInfo.insert(0,item)
-
-
-
+
return schematicInfo
+
+ def getRefrenceName(self,libname,libpath):
+ libname = libname.replace('.lib','.xml')
+ library = os.path.join(libpath,libname)
+
+ #Extracting Value from XML
+ libtree = ET.parse(library)
+ for child in libtree.iter():
+ if child.tag == 'refrence':
+ retVal = child.text
+ else:
+ pass
+ return retVal
+
+
\ No newline at end of file
diff --git a/src/kicadtoNgspice/DeviceModel.py b/src/kicadtoNgspice/DeviceModel.py
index 4866437a..0ae421b6 100644
--- a/src/kicadtoNgspice/DeviceModel.py
+++ b/src/kicadtoNgspice/DeviceModel.py
@@ -193,7 +193,7 @@ class DeviceModel(QtGui.QWidget):
#print "Object Called is ",sending_btn.objectName()
self.widgetObjCount = int(sending_btn.objectName())
- self.libfile = str(QtGui.QFileDialog.getOpenFileName(self,"Open Library Directory","../deviceModelLibrary"))
+ self.libfile = str(QtGui.QFileDialog.getOpenFileName(self,"Open Library Directory","../deviceModelLibrary","*.lib"))
#print "Selected Library File :",self.libfile
#Setting Library to Text Edit Line