stefan schippers
|
afac3f7620
|
token.c: translate(): protect regex*() calls with #ifdef __unix__
|
2025-02-13 22:18:23 +01:00 |
stefan schippers
|
2c703aa12d
|
backport previous fix to print_verilog_primitive and print_vhdl_primitive
|
2025-02-13 00:46:39 +01:00 |
stefan schippers
|
4517ff3b87
|
fix netlist error if in symbol attributes model="xxx@name" is given, @name was looked up in symbol template instead of again in instance properties.
|
2025-02-12 23:26:00 +01:00 |
stefan schippers
|
5f8c08d7de
|
eval_expr: CHAR token renamed to XCHAR to avoid name clashes. print_spice_element(): if instance has VHI=VHI, format string has VHI=@VHI, and symbol template has VHI=3 we do not want token @VHI to resolve to 3, but stop at VHI as specified in instance. Same for vhdl and verilog primitives. Fixed a typo in get_sp_cur regex (token.c)
|
2025-02-12 00:32:12 +01:00 |
stefan schippers
|
188e73cf8b
|
place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3())
|
2025-02-09 02:46:45 +01:00 |
stefan schippers
|
0b3db90f19
|
one more argument to translate3()
|
2025-02-07 14:39:21 +01:00 |
stefan schippers
|
0024dc2759
|
more comments and refactoring in token.c
|
2025-02-07 14:23:58 +01:00 |
stefan schippers
|
51ff56357d
|
some simplification and refactoring of print_spice_element() and translate()
|
2025-02-07 13:22:08 +01:00 |
stefan schippers
|
1573ea3cad
|
improvements in eval_expr.y, print_spice_element(), translate() to allow multiple expr(...) patterns in strings, they all will be evaluated if possible or returned unevaluated (without `expr(` and `)` )
|
2025-02-06 23:57:01 +01:00 |
stefan schippers
|
a4ce2d1b64
|
subst_token(): better token removal (remove space or newline to avoid having many remaining blanks); `netlist_postprocess` xschemrc tcl variable to insert commands after netlist is created
|
2025-02-06 12:45:21 +01:00 |
stefan schippers
|
53fda635c9
|
remove dbg msg, reduce precision in eval_expr(), add expr() resolution at end of translate()
|
2025-02-06 10:39:50 +01:00 |
stefan schippers
|
70c1e542b2
|
attributes within expr(...) where expr() contains an infix arith expression will evaluate if possible. Otherwise the string within expr(...) will be returned unchanged. Changes done in translate() and print_spice_element()
|
2025-02-05 18:20:36 +01:00 |
stefan schippers
|
795b5557a5
|
print_spice_element(), primnt_verilog_primitive(), print_vhdl_primitive(): format string is passed to translate() to do a round of @xxx param substitutions looking up xxx=... in instance attributes.
|
2025-02-03 02:15:41 +01:00 |
stefan schippers
|
05d61b3987
|
optimization: replace some sumbol "template" token lookups with existing cached sym[].templ field
|
2025-02-02 23:59:41 +01:00 |
stefan schippers
|
5517c8b3f0
|
has_included_subcircuit(): fix spice netlisting error when using a symbol with bussed ports and implementation specified via a spice_sym_def attribute. bussed ports must be expanded and resulting total number of bits of symbol (grater than number of I/O pins!!) must be calculated and sent to the tcl has_included_subcircuit proc.
|
2025-02-02 00:33:55 +01:00 |
stefan schippers
|
31a3a00c46
|
clean up translate() deallocation
|
2025-01-30 23:33:51 +01:00 |
stefan schippers
|
60d180de33
|
translate(): fix `regfree(get_sp_cur);` not followed by `get_sp_cur = NULL;`, leading to a random pointer to nowhere
|
2025-01-30 22:43:35 +01:00 |
stefan schippers
|
c9f60ce1c8
|
clanup / better implementation of previous fix
|
2025-01-20 18:39:46 +01:00 |
stefan schippers
|
7523c0015c
|
correctly mangle generator calls with parameters containing forbidden characters. Transliterate to get valid SPICE identifiers
|
2025-01-20 17:54:06 +01:00 |
stefan schippers
|
cb38deffa6
|
add -keep_symbols to `xschem load command`, options changed to have a leading dash, and moved at beginning of command arg list; `xschem netlist` command: add -keep_symbols option; `xschem setprop` command: move fast and fastundo to beginning of arg list with a leading dash; update proc cellview
|
2025-01-20 02:30:46 +01:00 |
stefan schippers
|
4759d58ad5
|
add a prepare_netlist_structs() in get_pin_attr() to update net names for @#pin tokens
|
2025-01-19 02:31:58 +01:00 |
stefan schippers
|
cfb491adb3
|
draw_crosshair(): parameter del renamed to what; @spice_get_current: special handling for resistors that are converted to b-sources: i(@r.x4.r1[i]) --> i(@b.x4.br1[i])
|
2025-01-18 12:38:12 +01:00 |
stefan schippers
|
bcca65da90
|
translate(), @spice_get_current, typo led to missing argument in printf()
|
2025-01-16 15:35:11 +01:00 |
stefan schippers
|
315c5bd600
|
added symbol attributes @spice_get_current_<param>, @spice_get_modelparam_<param>, @spice_get_modelvoltage_<param>
|
2025-01-16 02:52:52 +01:00 |
stefan schippers
|
f79f9ecf1d
|
removed dbg mesages
|
2025-01-15 19:12:30 +01:00 |
stefan schippers
|
f2b9d0c6f3
|
added attribute @spice_get_current<n> for retrieving current through terminal <n> of primitive device; example: @spice_get_current2 to get base current of BJT device
|
2025-01-15 17:39:59 +01:00 |
stefan schippers
|
a24145c16c
|
revert change `LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data` (not working as expected)
|
2025-01-14 01:13:14 +01:00 |
stefan schippers
|
b0973ae8c0
|
add_pinlayer_boxes(): fix uninitialized bb[PINLAYER][i].fill, LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data
|
2025-01-13 17:30:11 +01:00 |
stefan schippers
|
172ab4081d
|
changed `xschem is_symgen` to `xschem is_generator` as name is more appropriate
|
2025-01-11 14:17:30 +01:00 |
stefan schippers
|
9d54269d25
|
doc updates (@spice_get_node)
|
2025-01-11 01:34:41 +01:00 |
stefan schippers
|
59e7872f67
|
reduce some pointer indirections to array subscripts (readability)
|
2025-01-10 16:00:47 +01:00 |
stefan schippers
|
0a3fd95e06
|
code formatting
|
2025-01-10 14:58:10 +01:00 |
stefan schippers
|
ef5d0e1b96
|
str_replace(): add parameter to specify number of substituitions (or all); replaced atof_spice() with atof_eng() in various parts related to numbers that do not come from spice netlists; fix numerical setting of cursors if log scale is set (wrong preset was shown); make wave labels in graph scale with gr->magx as X-axis labels; fix scaling roundoff issues in dtoa_eng(); add new `@spice_get_node <spice_node> ` token (where spice_node may contain @variables) in symbol texts to display indicated spice node value. Does not use TCL, thus faster and less "quoting hell" problems
|
2025-01-10 01:52:54 +01:00 |
stefan schippers
|
aa36cbb897
|
@path expansion in translate(): remove path components above the level where raw file (if any) was loaded; added @spice_get_current in bsource.sym
|
2025-01-09 15:35:35 +01:00 |
stefan schippers
|
69a23355fb
|
refactor some debug print messages for NULL strings
|
2025-01-04 11:33:58 +01:00 |
stefan schippers
|
e77cc334f4
|
has_included_subcircuit() and proc has_included_subcircuit: compare and reorder only ports with associated symbol pin. do not consider `extra` ports assigned via attributes
|
2025-01-03 00:49:54 +01:00 |
stefan schippers
|
2bd205427d
|
load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures
|
2025-01-02 12:52:51 +01:00 |
stefan schippers
|
6682965dba
|
make @spice_get_current work for pnp and npn symbols
|
2024-12-21 00:49:44 +01:00 |
stefan schippers
|
b892ad8ac7
|
Make @spice_get_current report Id (drain current) for mos devices (defined as plain mosfets in model (ngspice syntax), may be to extend for Xyce)
|
2024-12-20 22:25:19 +01:00 |
stefan schippers
|
20359ed43e
|
update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions
|
2024-11-12 20:23:18 +01:00 |
stefan schippers
|
f3abdf2eb8
|
avoid another crash in case of malformed raw files (if raw->npoints not allocated return without attempting to read raw file)
|
2024-11-01 00:27:29 +01:00 |
stefan schippers
|
65bd4ce766
|
fix is_quoted() (reported "aaa\\\"bbb" as unquoted)
|
2024-10-31 11:06:19 +01:00 |
stefan schippers
|
835b05ce9f
|
subst_token(): if s is empty and tok, new_val are gien just set return string to tok=new_val (no newlines whatsoever)
|
2024-10-05 11:43:57 +02:00 |
stefan schippers
|
4311ac424a
|
handle NULL analysis type in debug messages (extra_rawfile()), recursive value substitution in symbol displayed strings: if translated text begins with @ search for recursive upper level definitions for text following @, example: @model symbol text, instance has model=@modeln, upper instance has modeln=nfet: resolve symbol text and display "@model" as "nfet", proc inutile: add optional wait argument to block xschem while dialog displayed
|
2024-10-03 13:08:32 +02:00 |
stefan schippers
|
1108a71263
|
replace "UNDEF" with "-" in backannotated nodes that have no value in raw file.
|
2024-09-09 23:15:05 +02:00 |
stefan schippers
|
1dd3e28b32
|
remove memory tracking alloc IDs
|
2024-09-06 22:27:05 +02:00 |
stefan schippers
|
391464bab9
|
fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval()
|
2024-09-06 22:19:36 +02:00 |
stefan schippers
|
eb7b9ae018
|
removed pointless my_strcat() in translate3()
|
2024-08-29 07:56:22 +02:00 |
stefan schippers
|
d06e999daf
|
better backslash handling in translate3()
|
2024-08-28 23:37:43 +02:00 |
stefan schippers
|
a725838850
|
fix escape recognition in translate3(), so in symbol texts it is possible to write \\@name to an instance attribute to get literal @name in displayed text instead of the instance name. fix typo in tutorial_use_existing_subckt.html. some schematic updates (no more enable show_pin_net_names tcl variable)
|
2024-08-28 09:39:43 +02:00 |