stefan schippers
|
98395824bc
|
floater=1 in text elements assumed as floater=true to avoid referencing instance no.1. Texts with @params will go thru translation using parent level param assignments in translate()
|
2025-11-12 17:44:55 +01:00 |
stefan schippers
|
31b9598219
|
translate(): resolve stuff like value="expr( 1000 * @VCC )" with value=1800 (using translate3() with parent level prop_ptr attributes)
|
2025-10-10 18:40:59 +02:00 |
stefan schippers
|
6bf4fd4da6
|
vector unnamed nets are set as net%d_[%d..0] instead of net%d[%d:0] so they are compatible with spice and Vacask
|
2025-08-03 00:15:57 +02:00 |
stefan schippers
|
46fdeb2fd4
|
additions for VACASK backannotation (vsource currents). nmos4.sym updated to support Spectre netlist (Vacask simulation)
|
2025-08-02 12:40:43 +02:00 |
stefan schippers
|
edcd141a22
|
updates for Vacask netlister
|
2025-07-25 14:53:15 +02:00 |
stefan schippers
|
6f6f4a3028
|
allow @model as alternative to @symname in format strings (format and spectre_format) of subcircuit symbols, where "model=something" is given in symbol template string. This allows to use subcircuit with name that is different from the filename.
|
2025-07-21 08:31:42 +02:00 |
stefan schippers
|
5a3c97d64e
|
add vccs_limit.sym and vcvs_limit.sym that use the XSPICE limit code model (saturated controlled sources). [WIP] support for spectre netlist format (for the VACASK simulator) - still incomplete
|
2025-07-16 00:12:26 +02:00 |
stefan schippers
|
96d2e56b53
|
add expr_eng(...) in addition to expr(...) to return result in engineering notation (like 3.2u)
|
2025-05-30 00:37:27 +02:00 |
stefan schippers
|
ac629b62be
|
fix again parameter substitution in instance symbol specialization (schematic=... in instance)
|
2025-05-22 10:02:38 +02:00 |
stefan schippers
|
ee693aa49c
|
revert calculation of expressions and parameter resolution in instance based symbol specializations. So multiple instances with same schematic=... attribute and different parameters (like WN=... WP=.... etc) can be used.
|
2025-05-21 01:54:46 +02:00 |
stefan schippers
|
adbb3cd58d
|
Use has_token() instead of strstr when checking token against (parent_sym_extra
|
2025-05-20 10:18:11 +02:00 |
stefan schippers
|
28dd3f2013
|
print_spice_element(): do not substitute "extra" pins in format string (like @body) with body=xxx given in parent symbol instance attributes
|
2025-05-20 02:51:52 +02:00 |
stefan schippers
|
18e45abc69
|
sanity checks on results strings in token.c
|
2025-04-21 16:23:45 +02:00 |
stefan schippers
|
6af59cb3fb
|
reset alloc IDs
|
2025-04-18 02:02:15 +02:00 |
stefan schippers
|
dbac25433c
|
`/` command (show bindkeys) will use a toplevel window instead of fullscreen
|
2025-04-18 02:00:08 +02:00 |
stefan schippers
|
21dbd0e340
|
fix a small memory leak issue in waves_callback(), variable curr_sim_type, fix random clipping (due to uninitialized var instead of rect coordinates) in ps_filledrect()
|
2025-04-17 15:46:33 +02:00 |
stefan schippers
|
b74c0f4ac4
|
Honor `bus` attribute on lines / wires / polygons in svg and pdf exports
|
2025-04-14 12:31:59 +02:00 |
stefan schippers
|
fb9189018d
|
avoid strdup on value in print_spice_element()
|
2025-03-04 09:58:56 +01:00 |
stefan schippers
|
56e0410047
|
fix a bug in eval_expr() usage in token.c (duplicate return string to avoid double free)
|
2025-03-04 09:43:26 +01:00 |
stefan schippers
|
b449bb2728
|
revert: better detection of expr() in netlister functions
|
2025-03-04 09:07:55 +01:00 |
stefan schippers
|
0ea6af2c99
|
better detection of expr() in netlister functions (print_spice_element(), ...)
|
2025-03-04 00:33:27 +01:00 |
stefan schippers
|
f9ccf878c2
|
differential scope2.sym, current mwasure scope_ammeter.sym
|
2025-02-24 15:23:35 +01:00 |
stefan schippers
|
be643d5a92
|
remove here() dbg call
|
2025-02-14 14:00:34 +01:00 |
stefan schippers
|
05434cb5e4
|
fix @spice_get_*_*(...) regex
|
2025-02-14 13:32:17 +01:00 |
stefan schippers
|
9fe67cd242
|
eval_expr.y: fix eval_expr_clear_table, remove unneeded unistd.h
|
2025-02-14 02:15:03 +01:00 |
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 |