From 7c1db5c9121ca65b51147a939224c69cfd531482 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 30 Jul 2017 18:17:14 +0200 Subject: [PATCH] add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz --- %bsim6.el | 5 + .../devices/adms/admst/ngspiceVersion.xml | 47 ++++++++ src/spicelib/devices/adms/bsimcmg/Makefile.am | 112 ++++++++++++++++++ .../devices/adms/bsimcmg/admsva/my.mak | 42 +++++++ 4 files changed, 206 insertions(+) create mode 100644 src/spicelib/devices/adms/bsimcmg/Makefile.am create mode 100644 src/spicelib/devices/adms/bsimcmg/admsva/my.mak diff --git a/%bsim6.el b/%bsim6.el index 6d75512d1..865c1cd51 100644 --- a/%bsim6.el +++ b/%bsim6.el @@ -16,6 +16,7 @@ Using: /home/larice/s/ngspice.work/work/ngspice/adms/ADMS/testcases/../admsXml/a (compile "cd src/spicelib/devices/adms/mextram/admsva && make -if my.mak to") (compile "cd src/spicelib/devices/adms/psp102/admsva && make -if my.mak to") (compile "cd src/spicelib/devices/adms/ekv/admsva && make -if my.mak to") +(compile "cd src/spicelib/devices/adms/bsimcmg/admsva && make -if my.mak to") ;; note only some blessed module names are accepted, see ngspiceVersion.xml ;; here I reuse r2_cmc @@ -38,3 +39,7 @@ and all the code in bsim..h ((GEOMOD)==(0)) kommt in /* case */ als GEOMOD statt here->GEOMOD + +(compile "wget http://bsim.berkeley.edu/BSIMCMG/BSIMCMG110.0.0_20160101.tar.gz") +(compile "mkdir -p src/spicelib/devices/adms/bsimcmg/admsva") +(compile "tar --dir src/spicelib/devices/adms/bsimcmg/admsva -zxvf BSIMCMG110.0.0_20160101.tar.gz code") diff --git a/src/spicelib/devices/adms/admst/ngspiceVersion.xml b/src/spicelib/devices/adms/admst/ngspiceVersion.xml index 49f9c5ee4..470a5cfc0 100644 --- a/src/spicelib/devices/adms/admst/ngspiceVersion.xml +++ b/src/spicelib/devices/adms/admst/ngspiceVersion.xml @@ -2182,6 +2182,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/spicelib/devices/adms/bsimcmg/Makefile.am b/src/spicelib/devices/adms/bsimcmg/Makefile.am new file mode 100644 index 000000000..29ad4ab55 --- /dev/null +++ b/src/spicelib/devices/adms/bsimcmg/Makefile.am @@ -0,0 +1,112 @@ +## +## Interface: ngspice 1.0.0.0 +## created by: admsXml-2.3.6 + +## Process this file with automake to produce Makefile.in + +ADMSXMLINTERFACE=$(srcdir)/../admst + +noinst_LTLIBRARIES = libbsimcmg.la + +BUILT_SOURCES = \ + bsimcmg.c \ + bsimcmg.hxx \ + bsimcmgacld.c \ + bsimcmgask.c \ + bsimcmgdefs.h \ + bsimcmgdel.c \ + bsimcmgdest.c \ + bsimcmgext.h \ + bsimcmgguesstopology.c \ + bsimcmginit.c \ + bsimcmginit.h \ + bsimcmgitf.h \ + bsimcmgload.c \ + bsimcmgmask.c \ + bsimcmgmdel.c \ + bsimcmgmpar.c \ + bsimcmgpar.c \ + bsimcmgpzld.c \ + bsimcmgsetup.c \ + bsimcmgtemp.c \ + bsimcmgtrunc.c + +libbsimcmg_la_SOURCES = \ + $(BUILT_SOURCES) + +CLEANFILES = \ + $(BUILT_SOURCES) \ + bsimcmgnoise.c \ + .bsimcmg.va.adms \ + .adms.implicit.xml \ + .interface.xml \ + *.h \ + *.xml + +#TODO (not implemented) \ + bsimcmgconv.c \ + bsimcmggetic.c + +AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include +AM_CFLAGS = $(STATIC) + +MAINTAINERCLEANFILES = Makefile.in \ + Makefile.am + +DISTCLEANFILES = Makefile.am \ + Makefile.in + +%.c %.hxx \ + %acld.c %ask.c %defs.h %del.c %dest.c %ext.h %guesstopology.c \ + %init.c %init.h %itf.h %load.c %mask.c %mdel.c %mpar.c %par.c \ + %pzld.c %setup.c %temp.c %trunc.c \ + : $(srcdir)/admsva/%.va \ + $(ADMSXMLINTERFACE)/ngspiceVersion.xml \ + $(ADMSXMLINTERFACE)/analogfunction.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEitf.h.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEinit.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEinit.h.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEext.h.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEdefs.h.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEask.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEmask.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEpar.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEmpar.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEload.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEacld.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEpzld.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEtemp.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEtrunc.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEsetup.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEdel.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEmdel.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEdest.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEnoise.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULEguesstopology.c.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULE.hxx.xml \ + $(ADMSXMLINTERFACE)/ngspiceMODULE.c.xml + $(ADMSXML) -I$(srcdir) -I$(srcdir)/admsva $< \ + -e $(ADMSXMLINTERFACE)/ngspiceVersion.xml \ + -e $(ADMSXMLINTERFACE)/analogfunction.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEitf.h.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEinit.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEinit.h.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEext.h.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEdefs.h.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEask.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEmask.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEpar.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEmpar.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEload.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEacld.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEpzld.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEtemp.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEtrunc.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEsetup.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEdel.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEmdel.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEdest.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEnoise.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULEguesstopology.c.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULE.hxx.xml \ + -e $(ADMSXMLINTERFACE)/ngspiceMODULE.c.xml diff --git a/src/spicelib/devices/adms/bsimcmg/admsva/my.mak b/src/spicelib/devices/adms/bsimcmg/admsva/my.mak new file mode 100644 index 000000000..995dc8841 --- /dev/null +++ b/src/spicelib/devices/adms/bsimcmg/admsva/my.mak @@ -0,0 +1,42 @@ +# -*- makefile -*- +# (compile "make -i -f my.mak to") +# (compile "make -i -f my.mak do 2>&1 > log") +# (compile "make -i -f my.mak to 2>&1 > log") + +CFLAGS=-I ../../../../../include -I ../../../../../../../w32/src/include + +SRCS = \ +bsimcmgacld.c bsimcmg.analogfunction.c bsimcmgask.c bsimcmg.c bsimcmgdel.c bsimcmgdest.c bsimcmgguesstopology.c bsimcmginit.c bsimcmgload.c bsimcmgmask.c bsimcmgmdel.c bsimcmgmpar.c bsimcmgnoise.c bsimcmgpar.c bsimcmgpzld.c bsimcmgsetup.c bsimcmgtemp.c bsimcmgtrunc.c + +to : $(SRCS:%.c=%.o) + +scripts = \ + -e ../../admst/ngspiceVersion.xml \ + -e ../../admst/analogfunction.xml \ + -e ../../admst/ngspiceMODULEitf.h.xml \ + -e ../../admst/ngspiceMODULEinit.c.xml \ + -e ../../admst/ngspiceMODULEinit.h.xml \ + -e ../../admst/ngspiceMODULEext.h.xml \ + -e ../../admst/ngspiceMODULEdefs.h.xml \ + -e ../../admst/ngspiceMODULEask.c.xml \ + -e ../../admst/ngspiceMODULEmask.c.xml \ + -e ../../admst/ngspiceMODULEpar.c.xml \ + -e ../../admst/ngspiceMODULEmpar.c.xml \ + -e ../../admst/ngspiceMODULEload.c.xml \ + -e ../../admst/ngspiceMODULEacld.c.xml \ + -e ../../admst/ngspiceMODULEpzld.c.xml \ + -e ../../admst/ngspiceMODULEtemp.c.xml \ + -e ../../admst/ngspiceMODULEtrunc.c.xml \ + -e ../../admst/ngspiceMODULEsetup.c.xml \ + -e ../../admst/ngspiceMODULEdel.c.xml \ + -e ../../admst/ngspiceMODULEmdel.c.xml \ + -e ../../admst/ngspiceMODULEdest.c.xml \ + -e ../../admst/ngspiceMODULEnoise.c.xml \ + -e ../../admst/ngspiceMODULEguesstopology.c.xml \ + -e ../../admst/ngspiceMODULE.hxx.xml \ + -e ../../admst/ngspiceMODULE.c.xml + +$(SRCS) : do + +do : bsimcmg.va + ../../../../../../adms/ADMS/admsXml/admsXml $(scripts) $<