summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter-cache.lib (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir.out (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir.out)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter.pro (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.pro)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter.proj (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.proj)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter.sch (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.sch)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/Cmosinverter_Previous_Values.xml (renamed from Examples/NGHDL_Examples/Cmosinverter/Cmosinverter_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS-cache.lib (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir.out (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir.out)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS.pro (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS.pro)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS.sch (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sch)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS.sub (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sub)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/INVCMOS_Previous_Values.xml (renamed from Examples/NGHDL_Examples/Cmosinverter/INVCMOS_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/NMOS-180nm.lib (renamed from Examples/NGHDL_Examples/Cmosinverter/NMOS-180nm.lib)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/PMOS-180nm.lib (renamed from Examples/NGHDL_Examples/Cmosinverter/PMOS-180nm.lib)0
-rw-r--r--Examples/Mixed_Mode/Cmosinverter/analysis (renamed from Examples/NGHDL_Examples/Cmosinverter/analysis)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/NPN.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/NPN.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PNP.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/PNP.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental-cache.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir.out (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir.out)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.pro (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.pro)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.proj (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.proj)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.sch (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.sch)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental_Previous_Values.xml (renamed from Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/analysis (renamed from Examples/NGHDL_Examples/PWM_Decremental/analysis)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741-cache.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741-rescue.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741-rescue.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741.cir (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741.cir.out (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir.out)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741.pro (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741.pro)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741.sch (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741.sch)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741.sub (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741.sub)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/lm_741_Previous_Values.xml (renamed from Examples/NGHDL_Examples/PWM_Decremental/lm_741_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/npn_1.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/npn_1.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Decremental/pnp_1.lib (renamed from Examples/NGHDL_Examples/PWM_Decremental/pnp_1.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/NPN.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/NPN.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PNP.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/PNP.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental-cache.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir.out (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir.out)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.pro (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.pro)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.proj (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.proj)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.sch (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.sch)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental_Previous_Values.xml (renamed from Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/analysis (renamed from Examples/NGHDL_Examples/PWM_Incremental/analysis)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741-cache.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741-rescue.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741-rescue.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741.cir (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741.cir.out (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir.out)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741.pro (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741.pro)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741.sch (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741.sch)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741.sub (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741.sub)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/lm_741_Previous_Values.xml (renamed from Examples/NGHDL_Examples/PWM_Incremental/lm_741_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/npn_1.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/npn_1.lib)0
-rw-r--r--Examples/Mixed_Mode/PWM_Incremental/pnp_1.lib (renamed from Examples/NGHDL_Examples/PWM_Incremental/pnp_1.lib)0
-rw-r--r--Examples/Mixed_Mode/README.md (renamed from Examples/NGHDL_Examples/README.md)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/NPN.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/NPN.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/NPN.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/NPN.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/PNP.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/PNP.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/PNP.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/PNP.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/analysis (renamed from Examples/NGHDL_Examples/custom_mixed_mode/analysis)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir.out (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir.out)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.pro (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.pro)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.proj (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.proj)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.sch (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.sch)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml (renamed from Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/customblock.vhdl (renamed from Examples/NGHDL_Examples/custom_mixed_mode/customblock.vhdl)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir.out (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir.out)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741.pro (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741.pro)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741.sch (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sch)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741.sub (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sub)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/lm_741_Previous_Values.xml (renamed from Examples/NGHDL_Examples/custom_mixed_mode/lm_741_Previous_Values.xml)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/npn_1.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/npn_1.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/npn_1.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/npn_1.txt)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/pnp_1.lib (renamed from Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.lib)0
-rw-r--r--Examples/Mixed_Mode/custom_mixed_mode/pnp_1.txt (renamed from Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.txt)0
-rw-r--r--README.md4
-rw-r--r--src/frontEnd/ProjectExplorer.py170
-rw-r--r--src/kicadtoNgspice/DeviceModel.py28
-rw-r--r--src/kicadtoNgspice/SubcircuitTab.py12
90 files changed, 142 insertions, 72 deletions
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter-cache.lib b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter-cache.lib
index c6733b19..c6733b19 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter-cache.lib
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter-cache.lib
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir
index 7736c9d0..7736c9d0 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir.out b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir.out
index 9cebe968..9cebe968 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.cir.out
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.cir.out
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.pro b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.pro
index f92c12b7..f92c12b7 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.pro
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.pro
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.proj b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.proj
index 851b8737..851b8737 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.proj
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.proj
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.sch b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.sch
index 7abedbb2..7abedbb2 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter.sch
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter.sch
diff --git a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter_Previous_Values.xml b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter_Previous_Values.xml
index a1a22d60..a1a22d60 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/Cmosinverter_Previous_Values.xml
+++ b/Examples/Mixed_Mode/Cmosinverter/Cmosinverter_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS-cache.lib b/Examples/Mixed_Mode/Cmosinverter/INVCMOS-cache.lib
index cc25b0c9..cc25b0c9 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS-cache.lib
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS-cache.lib
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir
index 44f1df81..44f1df81 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir.out b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir.out
index cb2b6641..cb2b6641 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.cir.out
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.cir.out
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.pro b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.pro
index 9df9fb95..9df9fb95 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.pro
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.pro
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sch b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.sch
index 13a7fc09..13a7fc09 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sch
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.sch
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sub b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.sub
index 2319995c..2319995c 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS.sub
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS.sub
diff --git a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS_Previous_Values.xml b/Examples/Mixed_Mode/Cmosinverter/INVCMOS_Previous_Values.xml
index e5bb98c7..e5bb98c7 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/INVCMOS_Previous_Values.xml
+++ b/Examples/Mixed_Mode/Cmosinverter/INVCMOS_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/Cmosinverter/NMOS-180nm.lib b/Examples/Mixed_Mode/Cmosinverter/NMOS-180nm.lib
index 51e9b119..51e9b119 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/NMOS-180nm.lib
+++ b/Examples/Mixed_Mode/Cmosinverter/NMOS-180nm.lib
diff --git a/Examples/NGHDL_Examples/Cmosinverter/PMOS-180nm.lib b/Examples/Mixed_Mode/Cmosinverter/PMOS-180nm.lib
index 032b5b95..032b5b95 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/PMOS-180nm.lib
+++ b/Examples/Mixed_Mode/Cmosinverter/PMOS-180nm.lib
diff --git a/Examples/NGHDL_Examples/Cmosinverter/analysis b/Examples/Mixed_Mode/Cmosinverter/analysis
index a8e9dce2..a8e9dce2 100644
--- a/Examples/NGHDL_Examples/Cmosinverter/analysis
+++ b/Examples/Mixed_Mode/Cmosinverter/analysis
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/NPN.lib b/Examples/Mixed_Mode/PWM_Decremental/NPN.lib
index 6509fe7a..6509fe7a 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/NPN.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/NPN.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PNP.lib b/Examples/Mixed_Mode/PWM_Decremental/PNP.lib
index 7edda0ea..7edda0ea 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PNP.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/PNP.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental-cache.lib b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental-cache.lib
index 68c7bb26..68c7bb26 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental-cache.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental-cache.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir
index e4ef6256..e4ef6256 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir.out b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir.out
index c7d5808e..c7d5808e 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.cir.out
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.cir.out
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.pro b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.pro
index 43a3edcd..43a3edcd 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.pro
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.pro
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.proj b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.proj
index 1dbaf32b..1dbaf32b 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.proj
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.proj
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.sch b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.sch
index 0b75c70c..0b75c70c 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental.sch
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental.sch
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental_Previous_Values.xml b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental_Previous_Values.xml
index 0d1719aa..0d1719aa 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/PWM_Decremental_Previous_Values.xml
+++ b/Examples/Mixed_Mode/PWM_Decremental/PWM_Decremental_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/analysis b/Examples/Mixed_Mode/PWM_Decremental/analysis
index c4435fb9..c4435fb9 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/analysis
+++ b/Examples/Mixed_Mode/PWM_Decremental/analysis
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741-cache.lib b/Examples/Mixed_Mode/PWM_Decremental/lm_741-cache.lib
index 32e31aa1..32e31aa1 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741-cache.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741-cache.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741-rescue.lib b/Examples/Mixed_Mode/PWM_Decremental/lm_741-rescue.lib
index 1ac4cbd4..1ac4cbd4 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741-rescue.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741-rescue.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir b/Examples/Mixed_Mode/PWM_Decremental/lm_741.cir
index 4a5917ea..4a5917ea 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741.cir
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir.out b/Examples/Mixed_Mode/PWM_Decremental/lm_741.cir.out
index a00bd86a..a00bd86a 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.cir.out
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741.cir.out
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.pro b/Examples/Mixed_Mode/PWM_Decremental/lm_741.pro
index ba1557f1..ba1557f1 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.pro
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741.pro
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.sch b/Examples/Mixed_Mode/PWM_Decremental/lm_741.sch
index 45aa2cd1..45aa2cd1 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.sch
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741.sch
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.sub b/Examples/Mixed_Mode/PWM_Decremental/lm_741.sub
index fa8d27b1..fa8d27b1 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741.sub
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741.sub
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/lm_741_Previous_Values.xml b/Examples/Mixed_Mode/PWM_Decremental/lm_741_Previous_Values.xml
index b61322bb..b61322bb 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/lm_741_Previous_Values.xml
+++ b/Examples/Mixed_Mode/PWM_Decremental/lm_741_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/npn_1.lib b/Examples/Mixed_Mode/PWM_Decremental/npn_1.lib
index a1818ed8..a1818ed8 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/npn_1.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/npn_1.lib
diff --git a/Examples/NGHDL_Examples/PWM_Decremental/pnp_1.lib b/Examples/Mixed_Mode/PWM_Decremental/pnp_1.lib
index a4ee06da..a4ee06da 100644
--- a/Examples/NGHDL_Examples/PWM_Decremental/pnp_1.lib
+++ b/Examples/Mixed_Mode/PWM_Decremental/pnp_1.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/NPN.lib b/Examples/Mixed_Mode/PWM_Incremental/NPN.lib
index 6509fe7a..6509fe7a 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/NPN.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/NPN.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PNP.lib b/Examples/Mixed_Mode/PWM_Incremental/PNP.lib
index 7edda0ea..7edda0ea 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PNP.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/PNP.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental-cache.lib b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental-cache.lib
index 96aae32d..96aae32d 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental-cache.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental-cache.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir
index e04c64f0..e04c64f0 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir.out b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir.out
index 4d222d7b..4d222d7b 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.cir.out
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.cir.out
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.pro b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.pro
index c157890e..c157890e 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.pro
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.pro
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.proj b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.proj
index 5bb660af..5bb660af 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.proj
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.proj
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.sch b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.sch
index dbb48d87..dbb48d87 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental.sch
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental.sch
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental_Previous_Values.xml b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental_Previous_Values.xml
index bd749bf9..bd749bf9 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/PWM_Incremental_Previous_Values.xml
+++ b/Examples/Mixed_Mode/PWM_Incremental/PWM_Incremental_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/analysis b/Examples/Mixed_Mode/PWM_Incremental/analysis
index 93ae8d31..93ae8d31 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/analysis
+++ b/Examples/Mixed_Mode/PWM_Incremental/analysis
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741-cache.lib b/Examples/Mixed_Mode/PWM_Incremental/lm_741-cache.lib
index 32e31aa1..32e31aa1 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741-cache.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741-cache.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741-rescue.lib b/Examples/Mixed_Mode/PWM_Incremental/lm_741-rescue.lib
index 1ac4cbd4..1ac4cbd4 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741-rescue.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741-rescue.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir b/Examples/Mixed_Mode/PWM_Incremental/lm_741.cir
index 4a5917ea..4a5917ea 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741.cir
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir.out b/Examples/Mixed_Mode/PWM_Incremental/lm_741.cir.out
index a00bd86a..a00bd86a 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.cir.out
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741.cir.out
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.pro b/Examples/Mixed_Mode/PWM_Incremental/lm_741.pro
index 1bb6f9e2..1bb6f9e2 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.pro
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741.pro
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.sch b/Examples/Mixed_Mode/PWM_Incremental/lm_741.sch
index 45aa2cd1..45aa2cd1 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.sch
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741.sch
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.sub b/Examples/Mixed_Mode/PWM_Incremental/lm_741.sub
index fa8d27b1..fa8d27b1 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741.sub
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741.sub
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/lm_741_Previous_Values.xml b/Examples/Mixed_Mode/PWM_Incremental/lm_741_Previous_Values.xml
index b61322bb..b61322bb 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/lm_741_Previous_Values.xml
+++ b/Examples/Mixed_Mode/PWM_Incremental/lm_741_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/npn_1.lib b/Examples/Mixed_Mode/PWM_Incremental/npn_1.lib
index a1818ed8..a1818ed8 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/npn_1.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/npn_1.lib
diff --git a/Examples/NGHDL_Examples/PWM_Incremental/pnp_1.lib b/Examples/Mixed_Mode/PWM_Incremental/pnp_1.lib
index a4ee06da..a4ee06da 100644
--- a/Examples/NGHDL_Examples/PWM_Incremental/pnp_1.lib
+++ b/Examples/Mixed_Mode/PWM_Incremental/pnp_1.lib
diff --git a/Examples/NGHDL_Examples/README.md b/Examples/Mixed_Mode/README.md
index 25e373e5..25e373e5 100644
--- a/Examples/NGHDL_Examples/README.md
+++ b/Examples/Mixed_Mode/README.md
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/NPN.lib b/Examples/Mixed_Mode/custom_mixed_mode/NPN.lib
index 6509fe7a..6509fe7a 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/NPN.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/NPN.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/NPN.txt b/Examples/Mixed_Mode/custom_mixed_mode/NPN.txt
index 6509fe7a..6509fe7a 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/NPN.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/NPN.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/PNP.lib b/Examples/Mixed_Mode/custom_mixed_mode/PNP.lib
index 7edda0ea..7edda0ea 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/PNP.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/PNP.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/PNP.txt b/Examples/Mixed_Mode/custom_mixed_mode/PNP.txt
index 7edda0ea..7edda0ea 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/PNP.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/PNP.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/analysis b/Examples/Mixed_Mode/custom_mixed_mode/analysis
index 8a16cf8a..8a16cf8a 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/analysis
+++ b/Examples/Mixed_Mode/custom_mixed_mode/analysis
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.lib b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.lib
index b3e460ea..b3e460ea 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.txt b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.txt
index c9a65f8d..c9a65f8d 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode-cache.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode-cache.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir
index 1819205f..1819205f 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir.out b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir.out
index 946c188d..946c188d 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.cir.out
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.cir.out
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.pro b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.pro
index cd57e0e5..cd57e0e5 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.pro
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.pro
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.proj b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.proj
index 4daef59f..4daef59f 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.proj
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.proj
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.sch b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.sch
index c101827a..c101827a 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode.sch
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode.sch
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml
index 986fd065..986fd065 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml
+++ b/Examples/Mixed_Mode/custom_mixed_mode/custom_mixed_mode_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/customblock.vhdl b/Examples/Mixed_Mode/custom_mixed_mode/customblock.vhdl
index afe2c4dd..afe2c4dd 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/customblock.vhdl
+++ b/Examples/Mixed_Mode/custom_mixed_mode/customblock.vhdl
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.lib b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.lib
index 32e31aa1..32e31aa1 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.txt b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.txt
index 04e3fecd..04e3fecd 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-cache.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-cache.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.lib b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.lib
index 1ac4cbd4..1ac4cbd4 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.txt b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.txt
index ad82e83d..ad82e83d 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741-rescue.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741-rescue.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir
index 4a5917ea..4a5917ea 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir.out b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir.out
index a00bd86a..a00bd86a 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.cir.out
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.cir.out
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.pro b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.pro
index 92688945..92688945 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.pro
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.pro
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sch b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.sch
index 45aa2cd1..45aa2cd1 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sch
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.sch
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sub b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.sub
index fa8d27b1..fa8d27b1 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741.sub
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741.sub
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741_Previous_Values.xml b/Examples/Mixed_Mode/custom_mixed_mode/lm_741_Previous_Values.xml
index b61322bb..b61322bb 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/lm_741_Previous_Values.xml
+++ b/Examples/Mixed_Mode/custom_mixed_mode/lm_741_Previous_Values.xml
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/npn_1.lib b/Examples/Mixed_Mode/custom_mixed_mode/npn_1.lib
index a1818ed8..a1818ed8 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/npn_1.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/npn_1.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/npn_1.txt b/Examples/Mixed_Mode/custom_mixed_mode/npn_1.txt
index a1818ed8..a1818ed8 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/npn_1.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/npn_1.txt
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.lib b/Examples/Mixed_Mode/custom_mixed_mode/pnp_1.lib
index a4ee06da..a4ee06da 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.lib
+++ b/Examples/Mixed_Mode/custom_mixed_mode/pnp_1.lib
diff --git a/Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.txt b/Examples/Mixed_Mode/custom_mixed_mode/pnp_1.txt
index a4ee06da..a4ee06da 100644
--- a/Examples/NGHDL_Examples/custom_mixed_mode/pnp_1.txt
+++ b/Examples/Mixed_Mode/custom_mixed_mode/pnp_1.txt
diff --git a/README.md b/README.md
index 21a5c2c6..d598610b 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
eSim is an open source EDA tool for circuit design, simulation, analysis and PCB design, developed by FOSSEE team at IIT Bombay.
It is an integrated tool build using open source software such as [KiCad](http://www.kicad-pcd.org), [Ngspice](http://ngspice.sourcefouge.net/), [GHDL](http://ghdl.free.fr/)
-It is released under GNU GPL License. It runs on Ubuntu OS versions 16.04 and above, Windows 7 and above versions.
+It is released under GNU GPL License. It runs on Ubuntu OS version 16.04, Windows 7 and above versions.
## Features
* An open-source tool.
@@ -30,7 +30,7 @@ It is released under GNU GPL License. It runs on Ubuntu OS versions 16.04 and ab
To use eSim on your machine please refer to link [here](https://esim.fossee.in/downloads) for installation and other guidelines.
## eSim Manual
-To know everything about eSim, how it works and it's feature please download manual [here](https://static.fossee.in/esim/manuals/eSim_Manual_2.0.pdf)
+To know everything about eSim, how it works and it's feature please download manual [here](https://static.fossee.in/esim/installation-files/eSim_Manual_2.0.pdf)
## Contact
For any queries regarding eSim please write us on at this [address](mailto:contact-esim@fossee.in).
diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py
index c733c9b1..f0227164 100644
--- a/src/frontEnd/ProjectExplorer.py
+++ b/src/frontEnd/ProjectExplorer.py
@@ -15,7 +15,6 @@ class ProjectExplorer(QtGui.QWidget):
- for renaming project.
- for refreshing project.
- for removing project.
- - for saving data.
"""
def __init__(self):
@@ -189,42 +188,57 @@ class ProjectExplorer(QtGui.QWidget):
clicking on project and selecting remove option.
"""
self.indexItem = self.treewidget.currentIndex()
- self.filePath = str(
+ filePath = str(
self.indexItem.sibling(self.indexItem.row(), 1).data()
)
self.int = self.indexItem.row()
self.treewidget.takeTopLevelItem(self.int)
- if self.obj_appconfig.current_project["ProjectName"] == self.filePath:
+ if self.obj_appconfig.current_project["ProjectName"] == filePath:
self.obj_appconfig.current_project["ProjectName"] = None
- del self.obj_appconfig.project_explorer[str(self.filePath)]
+ del self.obj_appconfig.project_explorer[filePath]
json.dump(self.obj_appconfig.project_explorer,
open(self.obj_appconfig.dictPath["path"], 'w'))
- def refreshProject(self):
+ def refreshProject(self, filePath=None):
"""
This function refresh the project in explorer area by right \
clicking on project and selecting refresh option.
"""
- self.indexItem = self.treewidget.currentIndex()
- self.filePath = str(
- self.indexItem.sibling(self.indexItem.row(), 1).data()
- )
- filelistnew = os.listdir(os.path.join(self.filePath))
- parentnode = self.treewidget.currentItem()
- count = parentnode.childCount()
- for i in range(count):
- for items in self.treewidget.selectedItems():
- items.removeChild(items.child(0))
- for files in filelistnew:
- QtGui.QTreeWidgetItem(
- parentnode, [files, os.path.join(self.filePath, files)]
+
+ if not filePath or filePath is None:
+ self.indexItem = self.treewidget.currentIndex()
+ filePath = str(
+ self.indexItem.sibling(self.indexItem.row(), 1).data()
)
- self.obj_appconfig.project_explorer[self.filePath] = filelistnew
- json.dump(self.obj_appconfig.project_explorer,
- open(self.obj_appconfig.dictPath["path"], 'w'))
+ if os.path.exists(filePath):
+ filelistnew = os.listdir(os.path.join(filePath))
+ parentnode = self.treewidget.currentItem()
+ count = parentnode.childCount()
+ for i in range(count):
+ for items in self.treewidget.selectedItems():
+ items.removeChild(items.child(0))
+ for files in filelistnew:
+ QtGui.QTreeWidgetItem(
+ parentnode, [files, os.path.join(filePath, files)]
+ )
+
+ self.obj_appconfig.project_explorer[filePath] = filelistnew
+ json.dump(self.obj_appconfig.project_explorer,
+ open(self.obj_appconfig.dictPath["path"], 'w'))
+ return True
+
+ else:
+ print("Selected project not found")
+ print("==================")
+ msg = QtGui.QErrorMessage(self)
+ msg.setModal(True)
+ msg.setWindowTitle("Error Message")
+ msg.showMessage('Selected project does not exist.')
+ msg.exec_()
+ return False
def renameProject(self):
"""
@@ -240,30 +254,18 @@ class ProjectExplorer(QtGui.QWidget):
"""
self.indexItem = self.treewidget.currentIndex()
self.baseFileName = str(self.indexItem.data())
+ filePath = str(
+ self.indexItem.sibling(self.indexItem.row(), 1).data()
+ )
+
newBaseFileName, ok = QtGui.QInputDialog.getText(
self, 'Rename Project', 'Project Name:',
QtGui.QLineEdit.Normal, self.baseFileName
)
+
if ok and newBaseFileName:
- print(newBaseFileName)
- print("=================")
newBaseFileName = str(newBaseFileName)
- i = -1
- for parents, children in list(
- self.obj_appconfig.project_explorer.items()):
- if os.path.exists(parents):
- i += 1
- if i == self.indexItem.row():
- projectPath, projectFiles = parents, children
- break
-
- updatedProjectFiles = []
-
- self.workspace = self.obj_appconfig.default_workspace['workspace']
- newBaseFileName = str(newBaseFileName).rstrip().lstrip()
- projDir = os.path.join(self.workspace, str(newBaseFileName))
-
if not newBaseFileName.strip():
print("Project name cannot be empty")
print("==================")
@@ -282,30 +284,94 @@ class ProjectExplorer(QtGui.QWidget):
msg.showMessage('The project name has to be different')
msg.exec_()
- else:
+ elif self.refreshProject(filePath):
+
+ projectPath = None
+ projectFiles = None
+
+ for parents, children in list(
+ self.obj_appconfig.project_explorer.items()):
+ if filePath == parents:
+ if os.path.exists(parents):
+ projectPath, projectFiles = parents, children
+ break
+
+ self.workspace = \
+ self.obj_appconfig.default_workspace['workspace']
+ newBaseFileName = str(newBaseFileName).rstrip().lstrip()
+ projDir = os.path.join(self.workspace, str(newBaseFileName))
+
reply = self.obj_validation.validateNewproj(str(projDir))
- if reply == "VALID":
+ if not (projectPath and projectFiles):
+ print("Selected project not found")
+ print("Project Path :", projectPath)
+ print("Project Files :", projectFiles)
+ print("==================")
+ msg = QtGui.QErrorMessage(self)
+ msg.setModal(True)
+ msg.setWindowTitle("Error Message")
+ msg.showMessage('Selected project does not exist.')
+ msg.exec_()
+
+ elif reply == "VALID":
# rename project folder
+ updatedProjectFiles = []
+
updatedProjectPath = newBaseFileName.join(
projectPath.rsplit(self.baseFileName, 1))
print("Renaming " + projectPath + " to " +
updatedProjectPath)
- os.rename(projectPath, updatedProjectPath)
+
+ # rename project folder
+ try:
+ os.rename(projectPath, updatedProjectPath)
+ except BaseException as e:
+ msg = QtGui.QErrorMessage(self)
+ msg.setModal(True)
+ msg.setWindowTitle("Error Message")
+ msg.showMessage(str(e))
+ msg.exec_()
+ return
# rename files matching project name
- for projectFile in projectFiles:
- if self.baseFileName in projectFile:
- oldFilePath = os.path.join(updatedProjectPath,
- projectFile)
- projectFile = projectFile.replace(
- self.baseFileName, newBaseFileName, 1)
+ try:
+ for projectFile in projectFiles:
+ if self.baseFileName in projectFile:
+ oldFilePath = os.path.join(updatedProjectPath,
+ projectFile)
+ projectFile = projectFile.replace(
+ self.baseFileName, newBaseFileName, 1)
+ newFilePath = os.path.join(
+ updatedProjectPath, projectFile)
+ print("Renaming " + oldFilePath + " to " +
+ newFilePath)
+ os.rename(oldFilePath, newFilePath)
+ updatedProjectFiles.append(projectFile)
+
+ except BaseException as e:
+ print("==================")
+ print("Error! Revert renaming project")
+
+ # Revert updatedProjectFiles
+ for projectFile in updatedProjectFiles:
newFilePath = os.path.join(
- updatedProjectPath, projectFile)
- print("Renaming " + oldFilePath + " to" +
- newFilePath)
- os.rename(oldFilePath, newFilePath)
- updatedProjectFiles.append(projectFile)
+ updatedProjectPath, projectFile)
+ projectFile = projectFile.replace(
+ newBaseFileName, self.baseFileName, 1)
+ oldFilePath = os.path.join(
+ updatedProjectPath, projectFile)
+ os.rename(newFilePath, oldFilePath)
+
+ # Revert project folder name
+ os.rename(updatedProjectPath, projectPath)
+ print("==================")
+ msg = QtGui.QErrorMessage(self)
+ msg.setModal(True)
+ msg.setWindowTitle("Error Message")
+ msg.showMessage(str(e))
+ msg.exec_()
+ return
# update project_explorer dictionary
del self.obj_appconfig.project_explorer[projectPath]
diff --git a/src/kicadtoNgspice/DeviceModel.py b/src/kicadtoNgspice/DeviceModel.py
index c4ea9a22..31ff74f7 100644
--- a/src/kicadtoNgspice/DeviceModel.py
+++ b/src/kicadtoNgspice/DeviceModel.py
@@ -90,16 +90,16 @@ class DeviceModel(QtGui.QWidget):
# print("DEVICE MODEL MATCHING---", \
# child.tag, words[0])
try:
- if os.path.exists(child[0].text):
+ if child[0].text \
+ and os.path.exists(child[0].text):
self.entry_var[self.count] \
.setText(child[0].text)
path_name = child[0].text
else:
self.entry_var[self.count].setText("")
- except BaseException:
- print(
- "Error when set text of device\
- model transistor")
+ except BaseException as e:
+ print("Error when set text of device " +
+ "model transistor :", str(e))
except BaseException:
pass
@@ -153,15 +153,16 @@ class DeviceModel(QtGui.QWidget):
# print("DEVICE MODEL MATCHING---", \
# child.tag, words[0])
try:
- if os.path.exists(child[0].text):
+ if child[0].text \
+ and os.path.exists(child[0].text):
path_name = child[0].text
self.entry_var[self.count] \
.setText(child[0].text)
else:
self.entry_var[self.count].setText("")
- except BaseException:
- print("Error when set text of device\
- model diode")
+ except BaseException as e:
+ print("Error when set text of device " +
+ "model diode :", str(e))
except BaseException:
pass
@@ -215,15 +216,16 @@ class DeviceModel(QtGui.QWidget):
# print("DEVICE MODEL MATCHING---", \
# child.tag, words[0])
try:
- if os.path.exists(child[0].text):
+ if child[0].text \
+ and os.path.exists(child[0].text):
self.entry_var[self.count] \
.setText(child[0].text)
path_name = child[0].text
else:
self.entry_var[self.count].setText("")
- except BaseException:
- print("Error when set text of Device\
- Model JFET ")
+ except BaseException as e:
+ print("Error when set text of Device " +
+ "Model JFET :", str(e))
except BaseException:
pass
diff --git a/src/kicadtoNgspice/SubcircuitTab.py b/src/kicadtoNgspice/SubcircuitTab.py
index a191c639..d68cb97e 100644
--- a/src/kicadtoNgspice/SubcircuitTab.py
+++ b/src/kicadtoNgspice/SubcircuitTab.py
@@ -80,16 +80,18 @@ class SubcircuitTab(QtGui.QWidget):
# print("Subcircuit MATCHING---", child.tag[0], \
# child.tag[1], eachline[0],eachline[1])
try:
- if os.path.exists(child[0].text):
+ if child[0].text \
+ and os.path.exists(child[0].text):
self.entry_var[self.count] \
.setText(child[0].text)
path_name = child[0].text
else:
self.entry_var[self.count].setText("")
- except BaseException:
- print("Error when set text of subcircuit")
- except BaseException:
- print("Error before subcircuit")
+ except BaseException as e:
+ print("Error when set text of " +
+ "subcircuit :", str(e))
+ except BaseException as e:
+ print("Error before subcircuit :", str(e))
subgrid.addWidget(self.entry_var[self.count], self.row, 1)
self.addbtn = QtGui.QPushButton("Add")