Commit Graph

5294 Commits

Author SHA1 Message Date
h_vogt 973db34eca compile instructions for LINUX as a script 2017-04-23 19:33:56 +02:00
h_vogt 1d73f4d8be inp.c, shift agauss evaluation before subckt substitution. So parameters with agauss are set once only for all devices. 2017-04-23 19:33:56 +02:00
h_vogt 7ad8637455 Monte Carlo simulation with commercial libraries circuit and .control section in a single file 2017-04-23 19:33:56 +02:00
h_vogt 83e8f7617a Monte Carlo simulation examples file using commercial HSPICE compatible libraries. Start with 'ngspice MC_ring_ts.sp'. 2017-04-23 19:33:56 +02:00
h_vogt 7dd0eaaf8c add dicoS->linecount to safely delete dynrefptr[i],
linecount may change if circuits are changed or deleted.
2017-04-23 19:33:56 +02:00
h_vogt 2139f328bb spiceif.c, fixme marker 2017-04-23 19:33:56 +02:00
h_vogt ad6cd2bd40 postcoms.c, remove leak by deleting hash table of variables if 'destroy' is executed. Add deleting pl->pl_env. 2017-04-23 19:33:55 +02:00
h_vogt fa36112280 Store the numparam dicoS structure for each circuit in a list. Functions to add, remove, retrive dicoS from the list and to update dicoS, if the circuit has been changed. Keeping dicoS is necessary because it may be used by measure. This patch prevents (huge) memory leaks by overwriting dicoS if multiple calls to the 'source' command are executed. 2017-04-23 19:33:55 +02:00
h_vogt c5a5cdbeaa runcoms.c, add variable 'sim_status' to indicate if a simulation has been aborted 2017-04-23 19:33:55 +02:00
h_vogt 795083a0b2 inpcom.c: remove white spaces in command files debug output of command files 2017-04-23 19:33:55 +02:00
h_vogt 2fcb9ae032 replace function name eval_agauss_bsource by eval_agauss to reflect its actual usage 2017-04-23 19:33:55 +02:00
h_vogt 5a224b69e1 inp.c, add .param lines to evaluation of agauss etc. 2017-04-23 19:33:55 +02:00
rlar 83fc1212fa fixme 2017-04-23 19:33:55 +02:00
h_vogt 62b43e0257 inpcom.c, tprint(), print levels correction to inp_add_levels() 2017-04-23 19:33:55 +02:00
h_vogt 31a482fd84 .model treatment in fcn comment_out_unused_subckt_models() removed 2017-04-23 19:33:55 +02:00
h_vogt e77f9451a4 inpcom.c, add function inp_rem_unused_models() 2017-04-23 19:33:54 +02:00
h_vogt 89c29a646d inpcom.c, add function inp_get_elem_ident() 2017-04-23 19:33:54 +02:00
rlar 50a9ed4b8e fixme 2017-04-23 19:33:54 +02:00
rlar 35363bf697 drop, bogus_find_subckt, use a proper scoped search 2017-04-23 19:33:54 +02:00
rlar 4ec8e8745a inpcom.c, introduce inp_add_levels(), add scope to decks 2017-04-23 19:33:54 +02:00
h_vogt 10e9a660ff inpcom.c, add level handling to fcn xx_new_line 2017-04-23 19:33:54 +02:00
rlar 1afa202fa9 introduce struct nscope 2017-04-23 19:33:54 +02:00
h_vogt 78ffca3224 inpcom.c, improved tprint for debugging 2017-04-23 19:33:54 +02:00
h_vogt 9510b4fd35 xpressn.c, generate warning for doubly defined symbols, but do not stop ngspice (this resmbles the previous status and is preliminary) 2017-04-23 19:33:53 +02:00
rlar 682fc947ce some .subckt scope regression tests 2017-04-23 19:33:53 +02:00
h_vogt f8e9d0499a xpressn.c, cleanup error message 2017-04-23 19:33:53 +02:00
h_vogt c5d4e3220d subckt.c, do not put model names into numparam hash table xpressn.c, re-enable error message to alert name redefinition 2017-04-23 19:33:53 +02:00
rlar 85fdadc683 broken commit: "memory leak in variable.c: fcn vareval(), free variable v created by cp_enqvar and used locally"
freeing stuff which is still used,
actually cp_enqvar is broken and needs fixing,
  but thats used at placed where ownership and usage is not clear
2017-04-23 19:33:53 +02:00
h_vogt 13b6a5fd40 memory leak in variable.c: fcn vareval(), free variable v created by cp_enqvar and used locally 2017-04-23 19:33:53 +02:00
h_vogt 4d64117e79 MC_ring.sp: start with batch mode or interactive mode
with variable $batchmode
2017-04-23 19:33:53 +02:00
h_vogt 25d290af03 inp.c, incom.c: enable evaluation of all statistical functions agauss, gauss, aunif, unif, limit
inp.c: agauss in MC with prof. libraries, second part: after subcircuit expansion, replace all agauss occurrencies in b-lines by their respective return value of fcn agauss()
2017-04-23 19:33:53 +02:00
rlar 5198f47793 inpcom.c: remove recursive .param -> .func replacement in fcn inp_fix_agauss_in_param() if AGAUSS is involved 2017-04-23 19:33:53 +02:00
h_vogt fb61915e1f inp.c: agauss in MC with prof. libraries, second part: after subcircuit expansion, replace all agauss occurrencies in b-lines by their respective return value of fcn agauss() 2017-04-23 19:33:52 +02:00
h_vogt 3bea80a1e4 inpcom.c: agauss in MC with prof. libraries, first part: replace all .param lines with agauss by .func make recursive .param -> .func if agauss is involved 2017-04-23 19:33:52 +02:00
h_vogt d3e8dcb22c inpcom.c, responding to bug report 275 by Dominique Michel: commands plot, hardcopy: no lower case letters in tokens following xlabel, ylabel, title 2017-04-23 19:33:52 +02:00
h_vogt d84d1b3f78 patched, table examples 2017-04-23 19:33:52 +02:00
h_vogt 480cc4223a patched, actual table code 2017-04-23 19:33:52 +02:00
h_vogt 13f8991cb9 patch no. 16 by Thomy add a function cm_get_circuit to allow accessing the circuit structure ckt from within an XSPICE code model. This is a change to the interface and requires recopiling all code models! 2017-04-23 19:33:52 +02:00
h_vogt 7058be3055 bug no. 291: allow let xyz = [] let xyz = [3 -5.6 9] let xyz = [5 $rr -7.9] 2017-04-23 19:33:52 +02:00
h_vogt fd56e45d70 example file for current measurement with function i(device) 2017-04-23 19:33:52 +02:00
h_vogt b47f103a9a Add current measurement for device XYZ using I(XYZ) 2017-04-23 19:33:51 +02:00
h_vogt 83b8526f65 examples/various: tests and loops using alterparam 2017-04-23 19:33:51 +02:00
h_vogt eb73fd3c0b new command 'alterparam', to be used in conjunction with 'mc_source'
add command 'alterparam paramname=pvalue'
  to change a global .param

add command 'alterparam subcktname pname=vpval'
  to change a parameter inside of a subcircuit
2017-04-23 19:33:51 +02:00
h_vogt af5efab91f new command 'mc_source' to internally reload circuit
We store a copy of the whole deck in 'mc_deck'.
'mc_source' can be used to re-read this copy.
2017-04-23 19:33:51 +02:00
h_vogt 8c8a236fa1 subckt.c, introduce new function inp_deckcopy_oc()
copy a deck
  without li_actual,
  without comment lines
  without .control section
2017-04-23 19:33:51 +02:00
rlar ca2af5b7b9 whitespace 2017-04-23 19:33:51 +02:00
rlar 97f3801bbd inpcom.c, abstraction, introduce bogus_find_subckt()
extracted from inp_fix_inst_calls_for_numparam().
This code is and was evil, as it does not respect scoping rules.
2017-04-23 19:33:51 +02:00
rlar 7337701734 a rough test 2017-04-23 19:33:51 +02:00
rlar bbe4fe4df3 inpcom.c, inp_add_control_section(), upside down for readability 2017-04-23 19:33:50 +02:00
rlar 54641d24d3 inpcom.c, inp_reorder_params_subckt(), use inp_sort_params() 2017-04-23 19:33:50 +02:00