stefan schippers
|
bd40674f34
|
removed %define api.prefix in yacc eval_expr.y, use -p bison on command line
|
2025-02-12 02:11:47 +01:00 |
stefan schippers
|
a559f84bc5
|
merged in Ananth Chellappa additions for Cadence compatibility
|
2025-02-12 01:40:15 +01:00 |
stefan schippers
|
ffe0aba12e
|
indentation and spacing in callback.c
|
2025-02-12 01:22:36 +01:00 |
stefan schippers
|
1e23beabd3
|
c89 compliance and fix some double to int assignments, removed stdbool
|
2025-02-12 01:08:52 +01:00 |
stefan schippers
|
1d1ff164fb
|
Merge branch 'master' into ananthchellappa
|
2025-02-12 00:37:49 +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 |
Ananth
|
99f0e528bf
|
add RC file to help Cadence users
|
2025-02-11 12:51:12 -07:00 |
Ananth
|
3adcf40bf7
|
added remaining edits from CD's repo. Tests ok.
|
2025-02-11 12:44:14 -07:00 |
stefan schippers
|
2a7a461ace
|
update verilogA example tb_diff_amp.sch
|
2025-02-11 20:38:17 +01:00 |
Ananth
|
66ec47ccfb
|
only vars and fn defs (not calls) and inits added for ortho routing and snap cursor
|
2025-02-11 11:49:50 -07:00 |
Ananth
|
bf10a025d7
|
added CD's vars - ortho wiring, snap_cursor, snap_cur size, cadence_compat - all not yet used; use_cursor_for_selection - used; updated xschem.tcl to include in global list and set defaults; callback updated to use use_cursor_for_sel when mouse clicked
|
2025-02-11 10:55:29 -07:00 |
stefan schippers
|
2eeeebf715
|
avoid calling Tcl_GetErrorLine() if tcl version < 8.6
|
2025-02-11 18:52:24 +01:00 |
stefan schippers
|
8cad7daed5
|
removed `str` parameter to all handle_* functions in callback.c (write-only)
|
2025-02-11 11:11:20 +01:00 |
stefan schippers
|
a4e0471fcc
|
minor changes to callback() refactoring to remove compiler warnings
|
2025-02-11 00:16:06 +01:00 |
Ananth
|
b7515c9715
|
add handle_enter_notify for readability
|
2025-02-10 14:52:19 -07:00 |
Ananth
|
1753dc6723
|
add handle_double_click
|
2025-02-10 14:43:26 -07:00 |
Ananth
|
899e7f93d2
|
add handle_button_press/release
|
2025-02-10 14:34:20 -07:00 |
Ananth
|
04e7300f48
|
correct type for mx,my in handle_motion_notify; added handle_key_press
|
2025-02-10 13:52:57 -07:00 |
Ananth
|
bef19b7057
|
refactored : handle_motion_notify for readability
|
2025-02-10 13:42:28 -07:00 |
stefan schippers
|
fe8ef89052
|
update version info in some rom8k symbols. Do a xschem remove_symbols in proc cellview_setlabels to force a reload of changed symbols.
|
2025-02-10 18:49:11 +01:00 |
stefan schippers
|
89a8d8b719
|
same previous fix for resetwin() restore done in ps_embedded_graph() backported also in svg_embedded_graph() (not necessary here but safer)
|
2025-02-10 17:44:05 +01:00 |
stefan schippers
|
88ee9ba0ad
|
fix wrong window size re-setting after a hierarchy ps/pdf printout (due to messing with portrait / landscape)
|
2025-02-10 17:36:10 +01:00 |
stefan schippers
|
6b090273fb
|
lock graphs only if they have the same simulation type loaded. So zooming/panning a tran plot will not affect dc or ac plots.
|
2025-02-10 15:18:01 +01:00 |
stefan schippers
|
b5eb81c107
|
updates in proc cellview
|
2025-02-10 13:44:12 +01:00 |
stefan schippers
|
3d972e8e42
|
`AUTO SET` button in graph edit dialog box to automatically assign increasing colors to displayed waves
|
2025-02-10 02:43:23 +01:00 |
stefan schippers
|
724869638e
|
fix max size of graph bitmap calculation in svg_embedded_graph() and ps_embedded_graph()
|
2025-02-10 01:21:22 +01:00 |
stefan schippers
|
5e3c27d7ee
|
load_schematic(): ability to load / preview a generator (adds () to filename)
|
2025-02-09 20:52:15 +01:00 |
stefan schippers
|
a50b3681c8
|
calc_drawing_bbox(): initialize xctx->show_hidden_texts before calculating bbox.
|
2025-02-09 19:44:40 +01:00 |
stefan schippers
|
8bd9c3d939
|
fix bitrots in proc cellview (Update function)
|
2025-02-09 15:27:55 +01:00 |
stefan schippers
|
b5a25e5925
|
fix update not working in proc cellview
|
2025-02-09 13:48:39 +01:00 |
stefan schippers
|
77a6bd2bb8
|
change order of last statements in hier_psprint() to avoid displaying garbage while moving crosshair cursor and ps->pdf conversion is in progres...
|
2025-02-09 12:23:51 +01:00 |
stefan schippers
|
b625a45dab
|
place_symbol(): trim leading and trailing whitespace from symbol name given as input
|
2025-02-09 03:20:57 +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
|
7926a833be
|
added `d` to unselect object under the mouse, `Shift-D` to unselect by area, both work with or without infix_interface, moved delete files to `Ctrl-d`, update keybinding docs
|
2025-02-06 04:20:57 +01:00 |
stefan schippers
|
0c4cdb3ea1
|
propagate changed key bindings to new opened windows (in no-tabs mode)
|
2025-02-06 01:11:11 +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
|
4db384a671
|
add eval_expr.y for evaluation of generic math expressions in infix notation
|
2025-02-05 16:33:23 +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
|
e471f577fa
|
integrated create_symbol.tcl in xschem.tcl, some old version strings updated in scripts, some code indenting fixes
|
2025-02-01 00:03:12 +01:00 |
stefan schippers
|
752f794c96
|
remove dbg message
|
2025-01-31 15:59:23 +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
|
42a0ceb51f
|
findnet.c: fix some errors in distance calculation leading to "holes" in the selection of instances.
|
2025-01-30 21:00:46 +01:00 |
stefan schippers
|
eadd991651
|
reduce calls to find_closest_net_or_symbol_pin() in draw_crosshair()
|
2025-01-30 03:47:13 +01:00 |
stefan schippers
|
ee750099e3
|
svgdraw(): draw in grey or red ignored or shorted devices, some fixes in ps_print()
|
2025-01-29 18:52:38 +01:00 |
stefan schippers
|
40fd937d51
|
shorted_instance(): fixed a bug: lvs_ignore active disallows evaluation of spice_ignore flags; ps_draw_symbol(): draw in grey or red ignored or shorted devices
|
2025-01-29 16:22:44 +01:00 |
stefan schippers
|
92bb16773c
|
guard against trepassing max hierarchy level when descending, updates to cellview and traversal procs
|
2025-01-28 11:24:51 +01:00 |
stefan schippers
|
44cc37f013
|
optimization: comment out a call do dbg() in a deep, deep nested loop in draw_graph(), enable if needed
|
2025-01-27 15:33:46 +01:00 |
Stefan Schippers
|
56777a2944
|
fix mouse cursor restore when exiting graph and crosshair (not full-size) enabled
|
2025-01-27 13:10:53 +01:00 |
stefan schippers
|
8df1aa9996
|
some comments, removed redundant modifier key checks in callback()
|
2025-01-27 12:51:32 +01:00 |
stefan schippers
|
500d2e2bed
|
some commentd added
|
2025-01-27 02:07:38 +01:00 |
stefan schippers
|
0d325f6957
|
force a crosshair draw at end of draw() (draw_crosshair(7,...)), intuitive interface direct drag of instances: fix some non-working combinations when stretch mode (y) is enabled.
|
2025-01-27 01:49:06 +01:00 |
stefan schippers
|
bfd7895d4c
|
edit_line_point() and edit_wire_point(): use mouse[xy]_snap instead of mouse[xy] for checking line/wire endpoint selection
|
2025-01-27 00:48:26 +01:00 |
stefan schippers
|
6669b4f177
|
renamed find_closest_net() to find_closest_wire()
|
2025-01-27 00:14:29 +01:00 |
stefan schippers
|
f2cc1d0216
|
move_objects(RUBBER,...) and copy_objects(RUBBER): return immediately if snapped mouse coordinates not changed
|
2025-01-26 17:58:03 +01:00 |
stefan schippers
|
bce1e652c6
|
refactored xctx->y_[12] to xctx->y[12]
|
2025-01-26 17:49:47 +01:00 |
stefan schippers
|
80a22c78a8
|
comments
|
2025-01-26 17:44:00 +01:00 |
stefan schippers
|
8086b5581e
|
redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress.
|
2025-01-26 15:19:22 +01:00 |
stefan schippers
|
bbe8782bc0
|
more comments in callback(), add_wire_from_inst_pin() separated into add_wire_from_inst() and add_wire_from_wire(), changed the distance measurement for closest instance, works better with ituitive i/f, some edit shape point functions restricted to intuitive_interface only, to avoid too many combinations
|
2025-01-26 06:40:00 +01:00 |
stefan schippers
|
ea5609dd0b
|
more comments in callback()
|
2025-01-26 02:35:00 +01:00 |
stefan schippers
|
34f9ae73a0
|
more comments in callback()
|
2025-01-26 02:32:43 +01:00 |
stefan schippers
|
7e697672ce
|
more comments in callback()
|
2025-01-26 02:00:07 +01:00 |
stefan schippers
|
70156a3bda
|
intuitive interface, directly drag elements: default to wire stretch if enable_stretch is activated and normal move if using ctrl key and the other way around if enable_stretch is unset
|
2025-01-26 01:06:48 +01:00 |
stefan schippers
|
01989bba0c
|
fix issue with previous fix, add enable_stretch parameter to select_inside() and select_rect()
|
2025-01-26 00:26:56 +01:00 |
stefan schippers
|
1bee3d766f
|
included TheSUPERCD commit 260beff, if (full and only full) crosshair is displayed use snap mouse coordinates since mouse pointer is turned off; fixed an issue when selecting ridicolously small rectangles in find_closest_box()
|
2025-01-25 23:41:39 +01:00 |
stefan schippers
|
dad3b78931
|
Add a line number in error report if failed sourced tcl scripts
|
2025-01-25 19:39:53 +01:00 |
stefan schippers
|
6cc7883e51
|
reduce overlap area when clearing crosshair, add return value to find_closest_net_or_symbol_pin()
|
2025-01-25 14:33:01 +01:00 |
stefan schippers
|
71aa4339bd
|
add comment
|
2025-01-25 02:46:54 +01:00 |
stefan schippers
|
4700483fa4
|
draw_crosshair(): more logical what parameter values
|
2025-01-25 02:13:59 +01:00 |
stefan schippers
|
26bfe7691b
|
add `xschem draw_hilight_net [on_window]` for quick draw or hilighted objects; add `xschem get_sim_sch` to get the current schematic hierarchy path, stripping off levels above the level the raw file was loaded. Strip off also leading dot; `xschem hilight_instname`: move fast option as -fast option; list_nets(): expand vector ports ; optimize update_op() for speed
|
2025-01-24 18:57:35 +01:00 |
stefan schippers
|
48264c0399
|
allow `xschem translate -1 string` to translate tokens that do not depend on specific instances; yet another change in wrap detection in graphs, always use simulator sweep-var instead of user specified sweep variable; simulated data will never wrap exactly to first value due to roundoff errors; -fast optionto `xschem hilight_netname` command
|
2025-01-24 03:52:20 +01:00 |
stefan schippers
|
7553222461
|
remove a piece of useless code in new_wire(), fix some MENUSTARTSNAPWIRE issues with crosshair drawing, enable no infix_interface operation for `W` command
|
2025-01-23 11:38:32 +01:00 |
stefan schippers
|
096eb126c1
|
comment in the code
|
2025-01-22 17:29:17 +01:00 |
stefan schippers
|
0824c1b9b8
|
fix garbage on screen due to crosshair cursor if copying by drag (Shift-click-drag) in intuitive interface (collision with snapped crosshair position)
|
2025-01-22 17:00:03 +01:00 |
stefan schippers
|
4e821586c2
|
replaced find_closest_net_or_symbol_pin() with new function that uses spatial hash table iterators for searching
|
2025-01-22 03:59:49 +01:00 |
stefan schippers
|
0c8631a101
|
MotionNotify events with Shift key down (and draw_crosshair enabled) will position the crosshair to the closest available landing point (inst pin or wire endpoint)
|
2025-01-22 01:57:09 +01:00 |
stefan schippers
|
ed2a4f61c8
|
code formatting cleanups
|
2025-01-22 00:22:02 +01:00 |
stefan schippers
|
1015a9d71e
|
added command `xschem set crosshair_layer` to change layer used for crosshair drawing
|
2025-01-21 16:50:31 +01:00 |
stefan schippers
|
7ee11e8dbc
|
various fixes related to crosshair mouse display
|
2025-01-21 16:07:23 +01:00 |
stefan schippers
|
49aab703b4
|
set default value for crosshair_size tcl var to 0
|
2025-01-21 15:40:59 +01:00 |
stefan schippers
|
72d961aacd
|
fix a regression where a mouse wheel zoom or schematic pan unexpectedly end an ongoing wire placement. Add xschemrc variable crosshair_size; if set to 0 draw full crosshair, if set to a small integer draw a small square around the mouse snapped coordinate
|
2025-01-21 15:38:19 +01:00 |
stefan schippers
|
99b0bba5b8
|
if big_grid_points is not set draw always thin axes and mouse crosshairs; dashed axes
|
2025-01-21 12:34:14 +01:00 |
stefan schippers
|
2b05b365e5
|
If opening a non existing xxxx.sym file euristically set netlist_type to symbol --> better implementation
|
2025-01-21 04:09:08 +01:00 |
stefan schippers
|
5d52d322b5
|
symbol_in_new_window(): if no symbol selected build file name for symbol of current schematic and open it in a new tab. If opening a non existing xxxx.sym file euristically set netlist_type to symbol. proc open_sub_schematic: if no symbol selected for subcircuit to open, open the corresponsing schematic of the symbol we are editing
|
2025-01-21 02:57:46 +01:00 |
stefan schippers
|
6adee35b89
|
update make_sym.awk to use a polyline instead of segments for the symbol box
|
2025-01-20 23:03:33 +01:00 |
stefan schippers
|
c9f60ce1c8
|
clanup / better implementation of previous fix
|
2025-01-20 18:39:46 +01:00 |
stefan schippers
|
c52ded63b0
|
complete previous fix
|
2025-01-20 18:21:12 +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
|
724c264c9d
|
allow Shift-T command (toggle spice_ignore attribute) to cycle through ignore-shorted-unset on selected elements
|
2025-01-20 16:48:31 +01:00 |
stefan schippers
|
0e53359ee0
|
update proc cellview
|
2025-01-20 14:52:30 +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
|
4f31c024c8
|
add option -noalert to `xschem netlist` command, update `proc cellview`
|
2025-01-19 23:29:41 +01:00 |
stefan schippers
|
16121b6e07
|
keep selection if aborting a move operation. This was probably a regression
|
2025-01-19 14:13:57 +01:00 |
stefan schippers
|
2bd1c79cd5
|
enhance drawing wires in intuitive_interface by dragging away from an instance pin or wire endpoint. Allow set manhattan/oblique direction as with w keybind
|
2025-01-19 13:59:18 +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
|
6dcc9fd7c5
|
allow Shift-Click to terminate snapped wire placement (in addition to Shift-W)
|
2025-01-18 23:50:04 +01:00 |
stefan schippers
|
ca1035eca1
|
add no-infix (set infix_interface 0) operation to move and copy operations
|
2025-01-18 21:59:04 +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
|
025823f14c
|
`xschem go_back 0` allows to go up in hierarchy *NOT* saving a modified schematic
|
2025-01-17 18:11:35 +01:00 |
stefan schippers
|
151241afc7
|
add new command `xschem get modified` (returns 1 if circuit needs to be saved)
|
2025-01-17 17:48:02 +01:00 |
stefan schippers
|
ac8db614c0
|
infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models.
|
2025-01-17 17:15:48 +01:00 |
stefan schippers
|
c57c49fde8
|
Hiding the TEXT layer will disable only symbol texts on that layer, not all texts, `proc select_layers` make the widget non-modal
|
2025-01-16 20:37:19 +01:00 |
stefan schippers
|
ca6b8fe85b
|
end_shape_point_edit(): fix erroneous set_modify because comparing unsmapped mouse saved coords with snapped actual mouse coords
|
2025-01-16 17:19:42 +01:00 |
stefan schippers
|
f2225677cc
|
fix regression in (V) cursor movement when multiple side-by-side graphs are present
|
2025-01-16 16:03:34 +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
|
7d6c3f4764
|
destroy_all_tabs() do a final redraw to avoid inconsistent screen after some tab removals
|
2025-01-15 03:11:12 +01:00 |
stefan schippers
|
10991e662c
|
added `xschem symbol_base_name` command to get the base symbol a symbol defined by instance `schematic` attribute comes from; updated `celview` procedure
|
2025-01-15 00:44:39 +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
|
6cca3fefc4
|
add debug line in load_sym_def()
|
2025-01-13 13:30:15 +01:00 |
stefan schippers
|
0920c6804d
|
comments and indentation in save.c
|
2025-01-13 11:58:16 +01:00 |
stefan schippers
|
d05b7fa389
|
update schematic backannotation on cursor2 position if setting it numerically (Right button click on cursor)
|
2025-01-12 17:06:44 +01:00 |
stefan schippers
|
8da888a119
|
fix uninitialized `raw` pointer in graph_fullxzoom() and graph_fullxzoom()
|
2025-01-12 00:08:41 +01:00 |
stefan schippers
|
66a6c913e3
|
removed warning msg
|
2025-01-11 22:45:42 +01:00 |
stefan schippers
|
7d0a0e82bf
|
name_unlabeled_instances() commented out redundant (never happens) check
|
2025-01-11 20:24:16 +01:00 |
stefan schippers
|
a7d5865ab8
|
fix erroneous `all pins disconnected` warning when netlisting pin-to-pin connected element chains
|
2025-01-11 20:16:01 +01:00 |
stefan schippers
|
bca1110282
|
add option -nohier to `xschem netlist` command, correctly restore netlist_dir at end
|
2025-01-11 17:55:46 +01:00 |
stefan schippers
|
7484a6363c
|
interpret `xschem symbols {}` as `xschem symbols` (simpler for scripts), update proc cellview
|
2025-01-11 15:30:22 +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
|
02d992d2a6
|
fix error checks in get_sch_from_sym()
|
2025-01-11 14:10:02 +01:00 |
stefan schippers
|
5161f3dc0a
|
some doc updates and comments, error checks in get_sch_from_sym()
|
2025-01-11 14:08:23 +01:00 |
stefan schippers
|
9d54269d25
|
doc updates (@spice_get_node)
|
2025-01-11 01:34:41 +01:00 |
stefan schippers
|
69ddd2966c
|
get_sym_name(): use with_quotes=6 in extraction of schematic attribute as done in get_additional_symbols() and get_sch_from_sym()
|
2025-01-10 17:40:16 +01:00 |
stefan schippers
|
be76009a3c
|
remove dbg msg
|
2025-01-10 17:15:53 +01:00 |
stefan schippers
|
a0da5c7b51
|
fix resolution of symbol references like: symbolgen.tcl(buf), when descending into symbol correctly recognize generator and descend into generated symbol
|
2025-01-10 17:14:13 +01:00 |
stefan schippers
|
1d5ff21130
|
get_sch_from_sym() fix detection of empty instance `schematic` attribute
|
2025-01-10 16:51:20 +01:00 |
stefan schippers
|
aeb57781a8
|
fix some c89 violations (warnings)
|
2025-01-10 16:14:24 +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
|
882e20397d
|
get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl(@n\) --> let get_tok_value() return backslashes and remove surrounding "..." quotes
|
2025-01-10 14:12:05 +01:00 |
stefan schippers
|
a29814d728
|
get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl( @n ) where n=11 is defined in instance attrs. some fixes in cursor movement in waves_callback()
|
2025-01-10 06:03:52 +01:00 |
stefan schippers
|
2c1e1c1fe7
|
refactoring and cleanup of wave_callback() -8-
|
2025-01-10 02:35:50 +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
|
c6a4e8b942
|
refactoring and cleanup of wave_callback() -7-
|
2025-01-09 04:23:23 +01:00 |
stefan schippers
|
cd3eaf23ea
|
refactoring and cleanup of wave_callback() -6-
|
2025-01-09 04:11:30 +01:00 |
stefan schippers
|
52b9cc1ee6
|
refactoring and cleanup of wave_callback() -5-
|
2025-01-09 00:46:42 +01:00 |
stefan schippers
|
ff7c767c4d
|
propagate drawing graph Hcursor functions to SVG/PDF exports
|
2025-01-09 00:31:11 +01:00 |
stefan schippers
|
7d7b381b7b
|
refactoring and cleanup of wave_callback() -4-
|
2025-01-09 00:17:55 +01:00 |
stefan schippers
|
ed9dc9b211
|
disable debug msg
|
2025-01-09 00:12:07 +01:00 |
stefan schippers
|
45a0af8005
|
fix unwanted clear of GRAPHPAN bit in button3 operations in wave_callback()
|
2025-01-09 00:11:04 +01:00 |
stefan schippers
|
444eb47eb5
|
refactoring and cleanup of wave_callback() -3-
|
2025-01-08 22:19:58 +01:00 |
stefan schippers
|
d1e2328eb3
|
refactoring and cleanup of wave_callback() -2-
|
2025-01-08 21:12:59 +01:00 |
stefan schippers
|
bbdfd3c61a
|
refactoring and cleanup of wave_callback()
|
2025-01-08 16:36:45 +01:00 |
stefan schippers
|
0d7d1f5364
|
implemented drag with right-button pressed on left of Y axis to do a Y area zoom
|
2025-01-08 15:05:11 +01:00 |
stefan schippers
|
12a9276ee0
|
optimization in plotting routines: skip unwanted datasets, if no dc simulation there is no need to detect sweep variable wraps
|
2025-01-08 13:27:07 +01:00 |
stefan schippers
|
182b55adf8
|
fix some issues when setting numerical position of cursors (spurious activation of `GRAPHPAN`); proc input_line: return `preset` argument on Cancel
|
2025-01-08 01:21:05 +01:00 |
stefan schippers
|
149ee5fdc0
|
further refactoring of waves_callback() (reduce first loop over graphs to single iteration on graph_master)
|
2025-01-07 14:31:26 +01:00 |
stefan schippers
|
d2321f1eeb
|
cleanup code in waves_callback()
|
2025-01-07 13:04:41 +01:00 |
stefan schippers
|
15738bbf51
|
better drag waves in x direction (continue even if dragging outside of graph)
|
2025-01-07 12:03:49 +01:00 |
stefan schippers
|
a3e7610d83
|
horizontal cursors in graphs
|
2025-01-07 04:20:32 +01:00 |
stefan schippers
|
9fda7e2f96
|
wip: put code in place for horiz cursors in graphs
|
2025-01-06 13:14:12 +01:00 |
stefan schippers
|
783fa04eb6
|
`xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed)
|
2025-01-05 13:27:49 +01:00 |
stefan schippers
|
4d76708534
|
save_schematic(): remove set_modify(2) if same name. need to add a dedicated parameter for save without title update
|
2025-01-05 11:27:18 +01:00 |
stefan schippers
|
fd5fec64aa
|
make uninstall: remove empty directories (share/xschem and share/doc/xschem); make command `xschem help` work also if running in src/ directory; use XSCHEM_SHAREDIR shell variable (if defined and directory existing), else set XCSCHEM_SHAREDIR to `pwd` if started from src/ dir, else set compile set XSCHEM_SHAREDIR. xschemrc can override this XSCHEM_SHAREDIR setting.
|
2025-01-05 01:29:04 +01:00 |
stefan schippers
|
09813f8e1e
|
restrict `menu unpost by click` hack to 8.6+ tcl versions. the hack works on tcl8.4, but lets avoid potential problems on jurassic systems
|
2025-01-04 12:47:13 +01:00 |
stefan schippers
|
f824f26c4f
|
click on posted menu will unpost it. Now no more Motion event is needed to repost again the menu by another click
|
2025-01-04 12:39:22 +01:00 |
stefan schippers
|
ee0de61220
|
add `2` and `3` argument to set_modify (do only clear/set modified flag), save() -> save_schematic(): do not update title/tab names if saving with same name.
|
2025-01-04 12:24:22 +01:00 |
stefan schippers
|
69a23355fb
|
refactor some debug print messages for NULL strings
|
2025-01-04 11:33:58 +01:00 |
stefan schippers
|
4e2584341c
|
updates on cellview and traversal; hack on Menu Button event handler to allow a click on a posted menu to unpost it.
|
2025-01-04 04:16:43 +01:00 |
stefan schippers
|
0e63e1bfff
|
remove commented dirty hack
|
2025-01-03 13:48:23 +01:00 |
stefan schippers
|
abc88e8819
|
Revert dirty hack to make a click on an open menu close it, still some issues
|
2025-01-03 13:15:30 +01:00 |
stefan schippers
|
ed1149edb2
|
dirty hack to make a click on an open menu close it
|
2025-01-03 13:09:18 +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
|
294a10bd5a
|
go_back(): if a write of modified schematic is requested before going up but write fails (for example due to permission issues) then issue a warning and go ahead anyway. Previously xschem got stuck in the lower hierarchy with no way to escape. If xschem load is done with `noundoreset` option do not change some context data (xctx->currsch, xctx->sch_path, xctx->portmap, xctx->sch_inst_number, ...). Various fixes/enhancements in cellview and traversal procedures.
|
2025-01-02 22:38:40 +01:00 |
stefan schippers
|
45382d1b1d
|
fix `s` command (simulate) to work with new menu system
|
2025-01-02 13:22:34 +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
|
8fa2c9c22a
|
add all_hierarchy parameter to proc traversal
|
2025-01-01 11:48:33 +01:00 |
stefan schippers
|
041d90548d
|
xschem.tcl toolbar procs reordering
|
2024-12-31 22:57:28 +01:00 |
stefan schippers
|
3a8d36d0fe
|
update add_custom_menu.tcl to new menu system, some refactoring in xschem.tcl for toolbar (add_toolbuttons procedure)
|
2024-12-31 21:00:09 +01:00 |
stefan schippers
|
05dc1a4772
|
update add_custom_menu.tcl for new menu system
|
2024-12-31 13:05:48 +01:00 |
stefan schippers
|
b23b162f2c
|
rewritten the menu system using a menubar vs the menubuttons
|
2024-12-31 03:51:05 +01:00 |
stefan schippers
|
2c8468ee1c
|
add custom binding to MenuButton Button-1 events so clicking on a posted menubutton will unpost it
|
2024-12-30 19:03:06 +01:00 |
stefan schippers
|
1a14adaade
|
Hovering other menu titles while one is open will drop down the other menus, even wihout holding down mouse button1
|
2024-12-30 15:31:59 +01:00 |
stefan schippers
|
1e75d69dfe
|
remove unused variable mbg in menu system
|
2024-12-30 11:20:07 +01:00 |
stefan schippers
|
c45ae9248b
|
slightly bigger font for traversal
|
2024-12-30 01:11:37 +01:00 |
stefan schippers
|
724c67435c
|
updates in traversal proc, fix searching for xschem_man.html if clicking the link into the About dialog and running xschem from the src/ dir.
|
2024-12-30 01:04:40 +01:00 |
stefan schippers
|
0ba037894f
|
update keys.help
|
2024-12-29 21:37:17 +01:00 |
stefan schippers
|
135022a39d
|
removed src/traversal.tcl
|
2024-12-29 19:39:29 +01:00 |
stefan schippers
|
0b4cedbf05
|
add Button3 drag for rectangle zoom, move ctx menu to Button3Release, updates in traversal and cellview
|
2024-12-29 19:35:49 +01:00 |
stefan schippers
|
b68731481c
|
updated cellview and traversal procedures
|
2024-12-29 14:47:27 +01:00 |
stefan schippers
|
be39ce970b
|
remove traversal.tcl from src/Makefile.in
|
2024-12-29 12:52:28 +01:00 |
stefan schippers
|
0ffd327b85
|
do not do a rectangle zoom (`z` key) if no minimum area is given; added `xschem get symbols` command; added `derived_symbols` in `xschem symbols` command; added menu `simulations->Keep symbols when traversing hierarchy`; created `proc cellview` and integrated `traversal.tcl` into xschem.tcl
|
2024-12-29 12:38:26 +01:00 |
stefan schippers
|
61c4f72c15
|
some `xschem test` benchmarks added
|
2024-12-24 03:15:50 +01:00 |
stefan schippers
|
b16a5ef927
|
code comments
|
2024-12-23 12:24:06 +01:00 |
stefan schippers
|
3fecba878c
|
fix double push_undo() call when adding a wire in intuitive_interface (by click and drag from a wire endpoint or symbol pin). This led to inconsistencies (spurious connecting dots on wires) when doing an Undo operation
|
2024-12-23 02:22:40 +01:00 |
stefan schippers
|
712b985333
|
proc edit_prop: better selection of value=".... \" .... \" ...": dont get confused by escaped quotes
|
2024-12-23 00:51:52 +01:00 |
stefan schippers
|
7a8ab78d11
|
restore rotten intuitive interface command ctrl-shift-click-drag to move a component creating wires if pins attached to components or wires
|
2024-12-22 18:49:58 +01:00 |
stefan schippers
|
c4ebc92aa2
|
update xschem go_back command (pas integer notitle to go_back() function; simplify wrap handling vs sweep variable in draw_graph(), graph_fullyzoom(), calc_custom_data_yrange(), find_closest_wave()
|
2024-12-21 13:05:33 +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
|
1ddafe3276
|
updated autozero_comp.sch to show saout histogram; xschem raw switch: do not call update_op() if not switching into a 1-point OP or DC sim
|
2024-12-20 11:56:53 +01:00 |
stefan schippers
|
47f0d2d57c
|
improvements in raw_get_pos(), fix test_backannotated_subckt.sch (was not simulating anymore)
|
2024-12-20 02:28:38 +01:00 |
stefan schippers
|
d9d75de337
|
remove dbg message
|
2024-12-20 01:19:02 +01:00 |
stefan schippers
|
d03f3b52e1
|
bars for hystograms use squared lines, not rounded lines, added command `xschem raw pos_at node value` to find position (in raw file) where node = value
|
2024-12-19 23:53:11 +01:00 |
stefan schippers
|
7402385a82
|
fix regression from commit `graphs: always plot one point before x1 and one point after x2 of simulation`: 2-dimensional dc-sweeps did miss first or last point
|
2024-12-18 01:55:05 +01:00 |
stefan schippers
|
da6532d8d8
|
doc updates (xschem image command)
|
2024-12-17 09:27:01 +01:00 |
stefan schippers
|
6b75aa62aa
|
avoid a redundant set_modify(-1) in review_window("destroy"...)
|
2024-12-17 01:07:36 +01:00 |
stefan schippers
|
158ed8decc
|
load_schematic(): do not invoke trim_wires (if enabled) if called non interactively with reset_undo == 0 (it will change name of top schematic in tab and window title while netlisting)
|
2024-12-16 16:44:56 +01:00 |
stefan schippers
|
5bc194f3a5
|
separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably
|
2024-12-16 12:14:11 +01:00 |
stefan schippers
|
b4423126ea
|
add (disabled) debug message in proc set_tab_names
|
2024-12-16 09:09:39 +01:00 |
stefan schippers
|
8c4d5cb7b8
|
push_undo() correctly handle case when tmpdir can not be created (init_undo() fails)
|
2024-12-16 02:18:32 +01:00 |
stefan schippers
|
cac5392a45
|
proc set_tab_names: call [xschem get schname] only once
|
2024-12-16 01:24:36 +01:00 |
stefan schippers
|
538d3bf2ad
|
xschem raw values now returns full precision, no more 8 digit rounding, as this is undesirable for transient noise sims
|
2024-12-15 12:24:51 +01:00 |
stefan schippers
|
5eea0728c7
|
update in_memory_undo.c to be in sync with pop_undo(4, ...)
|
2024-12-14 22:39:13 +01:00 |
stefan schippers
|
e8e217591d
|
add verilator in addition to icarus verilog simulator
|
2024-12-12 12:45:24 +01:00 |
stefan schippers
|
a97b47623f
|
annotate_op: delete current raw file (to replace with new OP raw) ONLY if current loaded raw file is an OP simulation (npoints==1)
|
2024-12-11 01:54:31 +01:00 |
stefan schippers
|
13e38b803d
|
annotate_op command only deletes loaded OP raw file (if any), does no more delete all loaded raw files.
|
2024-12-10 23:31:09 +01:00 |
stefan schippers
|
4bdfa44575
|
use ttk::combobox instead of spinbox where available (tcl > 8.4) for graph Line/HistoH/HistoV selection
|
2024-12-10 11:41:35 +01:00 |
stefan schippers
|
48d7522a8c
|
remove debug messages
|
2024-12-10 00:37:26 +01:00 |
stefan schippers
|
893c48d7dd
|
fix some HistH graph draw artifacts when panning/zooming the graph
|
2024-12-10 00:07:33 +01:00 |
stefan schippers
|
8bb69b65e9
|
HistogramH and HistogramV graph modes
|
2024-12-09 17:25:40 +01:00 |
stefan schippers
|
2a7ee749ba
|
xschem raw add: add optional sweep_var parameter
|
2024-12-09 00:00:27 +01:00 |
stefan schippers
|
2ec8c61757
|
fix previous commit for digital graphs
|
2024-12-07 11:40:49 +01:00 |
stefan schippers
|
f73cf30452
|
added a fix in draw_graph_points() to avoid waves to be drawn outside of the graph box container on Windows, where there is no working XSetCLipRectangles()
|
2024-12-07 00:56:04 +01:00 |
stefan schippers
|
963e877497
|
Allow wave expressions with spaces on a single line without quotes ("...."). Quotes can be used for wave expression on multiple lines. Side effect: multiple nodes can no more be specified on a single line separated with spaces. Use newlines
|
2024-12-05 02:54:08 +01:00 |
stefan schippers
|
75b5cc13f4
|
added `-undo 1` to all text widgets. If text_replace_selection is enabled replace selection when pasting also in entry widgets as done with text widgets
|
2024-12-04 16:38:35 +01:00 |
stefan schippers
|
0734414bd7
|
simplify some regsub pattern substitutions in xschem.tcl
|
2024-12-04 13:41:52 +01:00 |
stefan schippers
|
ce99d093c4
|
screen grab: if draw crosshair is enabled and a screen grab is done show default mouse pointer
|
2024-12-01 11:55:46 +01:00 |
stefan schippers
|
5ae730a5fb
|
waves_selected(): do not check sch_waves_loaded() to return is_inside
|
2024-11-30 10:57:06 +01:00 |
stefan schippers
|
17a564062c
|
graphs: always plot one point before x1 and one point after x2 of simulation waves so they will extend to full graph area even if there are few simulation points.
|
2024-11-30 01:16:37 +01:00 |
stefan schippers
|
ebc4babdd4
|
add graph_use_ctrl_key variable (default 0) to force holding Control key to interact with graphs. This avoid graphs "stealing" events that are expected to work on the schematic
|
2024-11-29 22:52:36 +01:00 |
stefan schippers
|
7ca8857302
|
starting a move (m) or copy (c) operation when nothing is selected does not change ui_state. Clearly a bug
|
2024-11-29 01:30:38 +01:00 |
stefan schippers
|
8eb60ae32b
|
allow full specification of file selector window geometry and pane sizes. examples in xschemrc
|
2024-11-28 11:37:21 +01:00 |
stefan schippers
|
471675ad49
|
fully remember panedwindow (vertical and horizontal) sash positions in load_file_dialog
|
2024-11-28 10:06:37 +01:00 |
stefan schippers
|
e2f19d8b7c
|
better implementation of previous fix. if read_dataset() does not find a matching dataset, delete only current raw structure, not all loaded raw files.
|
2024-11-28 03:51:27 +01:00 |
stefan schippers
|
9c48617e4e
|
xschem annotate_op command: if no OP analysis is found in raw file try to load a DC sweep and use first point for schematic annotation. This is done because Xyce stores OP data as a 1-point DC sweep
|
2024-11-28 03:18:32 +01:00 |
stefan schippers
|
f9b341ef98
|
revert last changes in draw_graph_points(). Optimization was already done.
|
2024-11-28 00:51:38 +01:00 |
stefan schippers
|
b642d63215
|
avoid unneeded calls to draw_crosshair(1) if crosshair is not enabled. Double performance of draw_graph_points() (do not draw on xctx->window if XCopyArea drawing model (now the default) is enabled
|
2024-11-27 16:13:48 +01:00 |
stefan schippers
|
ca6fb60ce7
|
added `legend` checkbutton in graph dialog box to switch off signal legend in analog graphs
|
2024-11-25 14:29:19 +01:00 |
stefan schippers
|
cf7933b99d
|
save.c: do not assume complex data for `constants` raw file sections, deduce data type from Flags line (both complex and real constants sections exist)
|
2024-11-25 12:48:25 +01:00 |
stefan schippers
|
7fccc2eed1
|
better xschem bbox command
|
2024-11-22 03:12:57 +01:00 |
stefan schippers
|
4fff388f99
|
add `constants` plot type in graph sim type drop down menu
|
2024-11-22 00:11:37 +01:00 |
stefan schippers
|
893bd20901
|
remove a clipping condition in draw_graph_points() as graph-area clip is set in draw_graph()
|
2024-11-21 10:58:15 +01:00 |
stefan schippers
|
67a4407952
|
fix typo in condition (draw_pixmap instead of save_pixmap)
|
2024-11-16 10:19:34 +01:00 |
stefan schippers
|
7e699d94e5
|
indentations in xschem.tcl
|
2024-11-14 20:41:54 +01:00 |
stefan schippers
|
1c69848325
|
correctly handle `set_title & 2` in descend_schematic()
|
2024-11-14 00:35:21 +01:00 |
stefan schippers
|
819e2f0969
|
limit precision of (now unsnapped) selection rectangle dimensions in status line
|
2024-11-13 23:05:46 +01:00 |
stefan schippers
|
de9c40af65
|
allow file extension spec in tmpfile creation, update index.html
|
2024-11-13 12:04:56 +01:00 |
stefan schippers
|
4fca204e8d
|
improvement of previous commit. Sanitize paths ending with ////, like /aa/bb/cc///
|
2024-11-12 22:48:21 +01:00 |
stefan schippers
|
169d743b33
|
insert symbols should tolerate paths in XSCHEM_LIBRARY_PATH ending with `/`
|
2024-11-12 20:58:09 +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
|
aa95f0ff9d
|
Small changes to allow build with tcl-tk 9.0
|
2024-11-12 01:16:43 +01:00 |
stefan schippers
|
127a2a0221
|
add needed include <stdarg.h> in scheduler.c (needed, probably some library or other include file was sourcing it).
|
2024-11-11 20:59:29 +01:00 |
stefan schippers
|
63ac9ccbb9
|
update Changelog for 3.4.6
|
2024-11-11 17:17:42 +01:00 |
stefan schippers
|
dd33a067de
|
select rectangles are unsnapped. much easier to select small objects
|
2024-11-10 09:53:37 +01:00 |
stefan schippers
|
346666e13d
|
draw_graph_grid(): handle NaN in y-data , avoid infinite loop
|
2024-11-07 00:39:53 +01:00 |
stefan schippers
|
b7e39700d4
|
add ability to read ASCII raw files
|
2024-11-06 11:59:00 +01:00 |
Stefan Schippers
|
bb49cc9b26
|
fix incomplete line in actions.c
|
2024-11-05 20:09:04 +01:00 |
stefan schippers
|
92c99c10f9
|
get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl
|
2024-11-05 13:59:37 +01:00 |
stefan schippers
|
0bd6ccef86
|
select_element(): do not draw selection if fast argument given
|
2024-11-03 10:33:11 +01:00 |
stefan schippers
|
e26e03ff0b
|
comments on top of change_sch_path()
|
2024-11-03 00:23:49 +01:00 |
stefan schippers
|
94d5c44599
|
xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob
|
2024-11-03 00:22:40 +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
|
71d5481dc8
|
move definition of my_memmem() outside of an #ifdef
|
2024-10-28 19:15:13 +01:00 |
stefan schippers
|
c342a1c41f
|
update svgdraw and psprint to recognize svg embedded images. svgdraw exports it as embedded svg
|
2024-10-28 18:55:13 +01:00 |
stefan schippers
|
76c1425180
|
get_surface_from_file(): better error checking
|
2024-10-28 12:45:50 +01:00 |
stefan schippers
|
17146a7cf7
|
get_surface_from_b64data() for svg images: create cairo surface only if filter_data() went successfully
|
2024-10-28 12:12:11 +01:00 |
stefan schippers
|
9894d31437
|
when inserting a svg image automatically set the filter attribute to rasterize svg to png (if tcl variable svg_to_png is set in xschemrc), "rsvg-convert" or "inkscape" or imagemagick "convert" can be used. see template xschemrc in src/
|
2024-10-27 13:06:49 +01:00 |
stefan schippers
|
2c82e26dcb
|
when importing svg images with a svg->png filter (like rsvg-convert) keep source svg data in the image_data attribute instead of the rasterized data. This will make these images scalable and schematics will be smaller (if using small vector SVGs)
|
2024-10-27 03:04:55 +01:00 |
Stefan Schippers
|
426cf9c33a
|
revert change "draw_image(): do RECTORDER() before taking *x1, *y1", as it messes up images in rotated /flipped symbols
|
2024-10-26 18:09:12 +02:00 |
stefan schippers
|
a7cded9f19
|
fix crash if multiple raw files are loaded and last one fails loading due to corrupt raw file
|
2024-10-24 22:16:46 +02:00 |
stefan schippers
|
f8a676aebf
|
avoid rasiing an error when typing a raw file with some tcl variables (like $netlist_dir/...) in Raw file textbox in graph dialog
|
2024-10-24 19:47:28 +02:00 |
stefan schippers
|
8de9004468
|
added operator "cph()" to transform discontinuous phase ph(xxx) in AC analyses to aontinuous phase, like ngspice cph() function. Usage: instead of ph(out) use "ph(out) cph()"
|
2024-10-16 17:02:36 +02:00 |
stefan schippers
|
fa699fe2f1
|
change_elem_order(): use input_line instead of text_line dialog
|
2024-10-14 21:59:39 +02:00 |
stefan schippers
|
30e407b743
|
add "Properties" menu for "Change selected object insertion order" (Shift-S)
|
2024-10-14 21:41:07 +02:00 |
stefan schippers
|
02a891b173
|
further streamlined hash lookup functions
|
2024-10-14 15:35:53 +02:00 |
stefan schippers
|
c0474a139d
|
simplified hash table lookup functions (indirect pointer)
|
2024-10-14 14:39:22 +02:00 |
stefan schippers
|
e4d9594065
|
small cosmetic changes in hash tables (initialization of next pointer)
|
2024-10-14 12:13:19 +02:00 |
stefan schippers
|
98475e328b
|
avoid triggering tclcommand -> launcher() when dragging mouse with ctrl key around objects with such attribute
|
2024-10-12 20:47:34 +02:00 |
stefan schippers
|
d387bb911d
|
add commented example for custom radiobutton menu entries in add_custom_menu.tcl
|
2024-10-10 14:28:36 +02:00 |
stefan schippers
|
baad052431
|
fix a potential crash (premature free() of pointer) when editing graph node names with % (dataset) specifier
|
2024-10-10 01:45:50 +02:00 |
stefan schippers
|
1b734d5202
|
fix refression (color of highlighted texts in only_probes view mode)
|
2024-10-07 15:50:29 +02: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
|
95c7a68c92
|
enhance xschem print command (allow to specify bitmap size while using selection to indicate the boundbox to export)
|
2024-09-29 00:16:05 +02:00 |
stefan schippers
|
bb1a1557bc
|
svg and ps/pdf export: do not include data for offscreen graphs or images to reduce file size
|
2024-09-24 11:10:30 +02:00 |
stefan schippers
|
2372828c22
|
svgdraw and psprint: draw text after images as done in draw.c. Correct postscript / pdf image zoom factor from 0.97 to 1.0 to match scaling with other xschem elements.
|
2024-09-24 00:50:10 +02:00 |
stefan schippers
|
aaac47720f
|
draw_image(): add cairo_flush() to flush pending paints. In some cases a black square was exported instead of the image... Update Changelog for upcoming 3.4.6
|
2024-09-23 23:17:19 +02:00 |
stefan schippers
|
a79e4304d9
|
draw_image(): do RECTORDER() before taking *x1, *y1
|
2024-09-23 15:57:32 +02:00 |
Stefan Schippers
|
adb855db0b
|
do not reset xctx->netlist_name after doing `Netlist` from gui (xschem netlist -erc)
|
2024-09-17 20:31:28 +02:00 |
stefan schippers
|
f92dcfc49b
|
add "proc ev7" (same as "proc ev", 7 significant digits)
|
2024-09-17 16:55:26 +02:00 |
stefan schippers
|
0afa12c3fb
|
proc edit_prop: correctly set editprop_sympath when tcleval(...) is used
|
2024-09-16 16:55:09 +02:00 |
stefan schippers
|
2ef4b88146
|
sym_vs_sch_pins(): do tcl substitution on symbol references found in schematic being compared with symbol
|
2024-09-15 22:08:39 +02:00 |
stefan schippers
|
4ff7d0e2f8
|
load_sym_def(): process tcleval(....) (if present) in `name` argument (use tcl_hook2())
|
2024-09-14 23:31:26 +02:00 |
stefan schippers
|
88b44db333
|
node_hash.c optimization: use inst[].lab instead of get_tok_value(..., "lab"...)
|
2024-09-14 09:52:06 +02:00 |
stefan schippers
|
dfe2e05603
|
let symbol name entry box in component edit property dialog box expand in X direction if dialog box is enlarged
|
2024-09-12 00:36:52 +02:00 |
stefan schippers
|
ba7e50ccc1
|
update hash calculation in xschemtest.tcl for LCC_instances netlist (due to changes in schematic)
|
2024-09-10 22:38:44 +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
|
a065fb93cc
|
draw node names in graphs even if specified file / analysis (graph rawfile or sim_type attributes) is not loaded
|
2024-09-09 13:20:02 +02:00 |
stefan schippers
|
ad96e222f1
|
if autoload is set in graph and a filename is given (rawfile graph attr) load raw file immediately when drawing graph. Don`t wait for user to load an intiial raw file to trigger auto loading
|
2024-09-08 13:43:29 +02:00 |
stefan schippers
|
e5015488f3
|
double clicking in the center of a graph will now bring up the graph edit attributes dialog box even if no raw file is loaded
|
2024-09-07 10:11:52 +02:00 |
stefan schippers
|
3f4004fdca
|
set verison to 3.4.6RC (Release Candidate) to avoid confusion
|
2024-09-07 00:01:39 +02:00 |
stefan schippers
|
1b6612669d
|
bump version to 3.4.6, will be next release when fully tested
|
2024-09-06 23:39:16 +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
|
882f7f7434
|
fix memory leaks introduced since introduction of my_expand()
|
2024-09-06 18:33:09 +02:00 |
stefan schippers
|
fddc4650d1
|
graphs will autoload (if autoload checked) raw data even if no raw file is specified in graph dialog box (use current loaded raw file, usually a different analysis)
|
2024-09-06 16:57:13 +02:00 |
stefan schippers
|
291ba02339
|
save 4 vars ( node, ph(node), re(node, im(node) ) instead of 2 ( node, ph(node )for ac plots
|
2024-09-06 10:24:12 +02:00 |
stefan schippers
|
27c0fd1622
|
use atof_spice() instead of atof() to read cursor position data from graph attributes
|
2024-09-05 14:53:36 +02:00 |
stefan schippers
|
a94e0363fd
|
Add "private cursor" check box in graph dialog box. This allow the related graph to have separate "a" and "b" cursors. These cursor positions are saved with the schematic and are thus persistent when reloading the schematic.
|
2024-09-05 00:51:15 +02:00 |
stefan schippers
|
d40a17df64
|
correctly set top_path and current_win_path in preview_window() when calling alloc_xschem_data(), don`t use fake window paths (alert_ proc uses parent win path)
|
2024-08-31 09:00:48 +02:00 |
stefan schippers
|
2b94e845c0
|
fix a bug in preview symbol displaying when inserting components. Toplevel .load widget was destroyed before cleaning preview data in preview_window(), so after some insertion preview was no more displayed.
|
2024-08-31 08:07:17 +02:00 |
stefan schippers
|
0e44462227
|
resolved_net(): correctly handle subschematic nets attached via port to upper global node. (return VCC instead of x1.VCC)
|
2024-08-29 22:10:06 +02:00 |
stefan schippers
|
1a2a925fbf
|
remove backslashes in translate3() call in draw_temp_symbol(), as done in draw_symbol()
|
2024-08-29 08:13:06 +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 |
stefan schippers
|
4f0c3afa23
|
port ordering for a schematic .subckt line will always be deduced from the symbol if it exists, even if the symbol type is not "subcircuit" (so it will be used for also "primitive" type symbols).
|
2024-08-24 08:21:08 +02:00 |
Stefan Schippers
|
652268c4d0
|
add tcl xschemrc variable "select_touch" that enables selecting objects touched by the selection rectangle if dragging to the left. Previously this behavior was enabled by "incremental_select" that shows selected elements while dragging. These two optional behaviors are now enabled/disabled by separate variables
|
2024-08-14 20:43:47 +02:00 |
stefan schippers
|
9f761176ec
|
highlight disconnected instances at end of netlisting to better find them
|
2024-08-14 10:12:13 +02:00 |
stefan schippers
|
a32386c23c
|
issue a netlist error (and report message) if instances with pins have *all* pins disconnected. This is in 99.999% of the cases an error.
|
2024-08-14 10:08:36 +02:00 |
stefan schippers
|
f850877b1e
|
added tcl variable top_is_subckt and related Simulation->LVS menu, that keeps top level wrapped inside a .subckt / .ends, as lvs_netlist does. However top_is_subckt does only that and will not enable lvs_format to differentiate device lines in netlist (usually used for LVS comparison).
|
2024-08-06 12:20:32 +02:00 |
stefan schippers
|
8b5ed3f32e
|
symbols picked up from CWD are saved in parent design without absolute paths even if the CWD is not in XSCHEM_LIBRARY_PATH list of places.
|
2024-07-19 15:13:38 +02:00 |
stefan schippers
|
d444673b88
|
add `xschem log_write text` command so erc error messages are written into errfp instead of stderr by tcl
|
2024-07-12 07:09:32 +02:00 |
stefan schippers
|
28bef9b06e
|
fix_symbols: add optional pattern parameter: `fix_symbols 0 devices`
|
2024-07-09 08:53:24 +02:00 |
stefan schippers
|
e8e4196da2
|
sym_vs_sch_pins(): check for not NULL pin_dir to avoid crash, as per Tim Edwards findings
|
2024-07-03 08:39:56 +02:00 |
stefan schippers
|
079c643be0
|
add graph_autoload to tctx::global_list
|
2024-06-23 16:06:13 +02:00 |
stefan schippers
|
89eb02f188
|
add autoload checkbutton in graph properties to automatically load or not custom graph-specified raw files
|
2024-06-23 15:59:22 +02:00 |
stefan schippers
|
64d5472963
|
allow `global` atttributes on instances of gnd.sym and vdd.sym to override symbol `global` setting. This allows also to set global=1 to net labels (lab_net.sym, lab_pin.sym) to make the net global.
|
2024-06-23 11:02:25 +02:00 |
stefan schippers
|
e122a9764e
|
ps/pdf export: use highlight colors on instances / wires that are highlighted
|
2024-06-21 14:19:11 +02:00 |
stefan schippers
|
d42ecf96c5
|
add attribute text_layer_n=lay, where n = text object inside symbol instance to change its layer
|
2024-06-21 13:18:52 +02:00 |
stefan schippers
|
4e236750ed
|
add abs_path parameter to get_sym_name() for more flexibility
|
2024-06-21 11:33:28 +02:00 |
stefan schippers
|
5ce1f01f43
|
correctly evaluate tcleval(....) in spice_sym_def attributes (ie after substituting @vars)
|
2024-06-21 01:41:42 +02:00 |
stefan schippers
|
36c79f262c
|
add @symref (in addition to @symname) substitution in spice_sym_def processing
|
2024-06-21 01:03:08 +02:00 |
stefan schippers
|
fa4d4a0970
|
enhance spice_sym_def used in instances (with schematic=...) by substituting @param with values defined in instance if any (param=xxx)
|
2024-06-14 08:55:35 +02:00 |
stefan schippers
|
f267077e99
|
allow @symname , @param (param defined in symbol template string) translation in instance or symbol spice_sym_def attributes
|
2024-06-14 08:21:43 +02:00 |
stefan schippers
|
d7c77718c0
|
fix erroneous select_touch() usage if incremental_select is set to 0 in xschemrc
|
2024-06-12 09:12:33 +02:00 |
stefan schippers
|
efdb6b64ce
|
removed previously added use_pwd_instead_of_current_dirname tcl variable: now a `.` in search path is always assumed to be [pwd] and not the directory of the currently opened schematic. This will hopefully fix an endless list of user complains when using symbols from dirs not listed in XSCHEM_LIBRARY_PATH.
|
2024-06-11 00:24:30 +02:00 |
stefan schippers
|
5e93182f26
|
add use_pwd_instead_of_current_dirname xschemrc variable to replace curr_dirname in `proc abs_sym_path` and `proc rel_sym_path` with [pwd] instead of [xschem get current_dirname] (the path of currently loaded schematic)
|
2024-06-10 18:19:58 +02:00 |
stefan schippers
|
9545eea546
|
fix tcleval called with 2 arguments on windows build in print_image()
|
2024-06-09 23:38:20 +02:00 |
stefan schippers
|
9282ea670e
|
fix bus_tap netlisting with bus pin (pin # 1) connected to unnamed net. If Tap pin (pin # 0) was already named as #net... (unnamed net ) delete and take name from bus pin and tap index
|
2024-05-31 11:50:02 +02:00 |
stefan schippers
|
9f368d32e5
|
sim_pinnumber attribute on schematic pins will be used for top level .subckt pin ordering if no corresponding symbol exists when creating a spice netlist
|
2024-05-31 09:07:56 +02:00 |
stefan schippers
|
5969b0f472
|
proc ev, ev0, to_eng: evaluate expr at global scope so global vars will be expanded correctly ($path)
|
2024-05-29 09:41:52 +02:00 |
stefan schippers
|
18a0c5e624
|
Use by default *.{sym,tcl} pattern in insert symbol and component browser
|
2024-05-28 14:32:20 +02:00 |
stefan schippers
|
087aa8c3b9
|
if a full path is given with -N set netlist file name as well as destination path; allow right click waveforms to set to bold even if cursors are drawn
|
2024-05-27 08:03:52 +02:00 |
stefan schippers
|
84b73bcdf4
|
`xschem setprop rect layer number fill val` : update cacted .fill value
|
2024-05-25 10:39:47 +02:00 |
stefan schippers
|
2060ca8871
|
update all text_bbox() calls to account for tabs in bbox calculation
|
2024-05-24 18:05:37 +02:00 |