Commit Graph

789 Commits

Author SHA1 Message Date
stefan schippers 7c013d2fee allow to add attribute select=attr_name also in instances to override symbol setting, will pre-select attr_name value when editing component attributes 2025-08-26 10:57:57 +02:00
stefan schippers 3e3f4bfef1 adding select=attr_name in a symbol will select the text of attr_name value when editing attributes of a placed instance of the symbol. Specifying select=* will select all the text. If select attribute in symbol is not present try to select "value, lab, name" in this order, if found. Also select all text in text objects when editing their content. 2025-08-26 10:46:50 +02:00
stefan schippers 010a31d779 easier selection of graph rectangles (click inner border), add graph resize in intuitive_interface_cheatsheet.sch 2025-08-24 17:41:00 +02:00
stefan schippers 21677963cd update bindkeys_cheatsheet.sym (prev/next tab commands, arrow keys) 2025-08-22 00:18:37 +02:00
stefan schippers 406449ba42 add @schspectreprop to architecture.sym 2025-08-19 12:16:46 +02:00
stefan schippers 2490786f4c add spectre_format to simulator_commands.sym and simulator_commands_shown.sym 2025-08-19 11:51:20 +02:00
StefanSchippers 220081adc9
Merge pull request #386 from arpadbuermen/master
Updated devices/*.sym with VACASK syntax where applicable
2025-08-19 08:41:29 +02:00
stefan schippers cd41540c5d record_global_node(): handle ground nodes (spectre netlist only); use global=ground for nodes that need to be declared as ground nodes. Ground nodes in Spectre netlist are also considered global 2025-08-19 08:37:33 +02:00
Árpád Bűrmen 746fd66d90 Updated devices/*.sym with VACASK syntax (where applicable). 2025-08-18 12:10:04 +02:00
stefan schippers c8495f0e13 add spectre_format to isource.sym 2025-08-13 00:03:50 +02:00
Árpád Bűrmen 8df13be09c Updated isource.sym with spectre format. 2025-08-12 11:21:53 +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 aa99f1b174 add "spectre_device_model" attr in spectre netlister code 2025-07-21 07:57:14 +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 a33888b0e9 add template (default) value for noisy attribute in res_noisy.sym 2025-06-09 21:48:05 +02:00
stefan schippers 5ffbb7ef09 add res_noisy.sym (noisy=<1|0> parameter if simulator is ngspice) 2025-06-09 08:58:09 +02:00
stefan schippers ae86b92fda simplify vectored capacitance attribute in ccap.sym used in sar_adc.sch 2025-05-16 23:43:34 +02:00
stefan schippers b122a8abef fix a small memory leak in delete_schematic_data() 2025-05-07 16:11:21 +02:00
stefan schippers 555c405862 circuit examples updates 2025-04-20 13:59:12 +02:00
stefan schippers afc3f1b724 move some X11 dependent code into draw(), circuit example updates 2025-04-20 09:48:40 +02:00
stefan schippers 2bd021328f add m param to pmos3.sym, kill balloon popup windows by FocusOut events to avoid Balloon helps sticking around on the screen 2025-04-16 00:29:45 +02:00
stefan schippers b7c68d6aac optimize sar_adc.sch example 2025-04-12 01:46:32 +02:00
stefan schippers 2024b86316 more comments in new examples 2025-04-11 18:56:06 +02:00
stefan schippers 34c2927f4f add ngspice_verilog_cosim examples 2025-04-11 18:37:55 +02:00
stefan schippers 8d0837d5e9 Add bindkey `Alt -` (specify line width) in addition to menu entry 2025-04-09 10:07:33 +02:00
stefan schippers b2e5a5235e add bus attribute (thick lines) for polygon, fix rubber display of wires and lines with bus=1 (missing rectorder() in XCopyArea) 2025-04-08 01:11:15 +02:00
stefan schippers 514b5be2c2 fix sym_txt (text display/hide) in symbols, add commands to place ipins and opins, move create_plot_cmd to ctrl-shift-X, grouped some menus in Symbol menu 2025-04-07 14:50:28 +02:00
stefan schippers 24f2af8c81 update keybinding documentation; add `/` command to show fullscreen image of keybindings also in Help menu) 2025-04-06 12:58:13 +02:00
stefan schippers 795f89215e add bindkeys_cheatsheet.sch, moved shift-J to Ctrl-p (xplot creation) 2025-04-03 18:00:33 +02:00
stefan schippers 28aca824ed update docs for keybindings 2025-04-03 06:25:23 +02:00
stefan schippers f43273757d remove some no more existent keybinds in docs 2025-04-03 02:52:26 +02:00
stefan schippers 72527804e0 revert res.sym 2025-03-04 10:01:29 +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 d3e0ca82b4 eval_expr.y: references to unknown identifiers cause the lexer to return an error so the expression is not evaluated and returned as is, instead of erroneously interpreting the unknown identifier as 0 2025-02-25 02:00:55 +01:00
stefan schippers f9ccf878c2 differential scope2.sym, current mwasure scope_ammeter.sym 2025-02-24 15:23:35 +01:00
stefan schippers bd2c65bc1a embed graph inside scope symbol 2025-02-23 14:58:44 +01:00
stefan schippers 6a75c8a6dd initial commit to add scope.sym symbol 2025-02-23 13:50:39 +01:00
stefan schippers c604a1f033 higher priority of `unlocked` sub-attribute in rect `graph` attribute. Do not propagate zoom / pan to any other graphs even if they are locked. 2025-02-23 12:39:59 +01:00
stefan schippers 0e438829c6 allow locked attached rectangles, so they can not be selected accidentally. Small resize of x/y graph axis labels 2025-02-22 10:33:13 +01:00
stefan schippers a592216c19 update solar_panel.sch (grouped aka attached floaters, scope meter object), better selection of left-y axis in small graphs 2025-02-22 02:18:27 +01:00
stefan schippers 1e1c56801d when loading a raw file, if graphs are present and cursor2 is enabled in 1st graph setup annotation in the schematic (no need to move the cursor) 2025-02-16 14:08:31 +01:00
stefan schippers 2a7a461ace update verilogA example tb_diff_amp.sch 2025-02-11 20:38:17 +01: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 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 5dd8ee16ea revert a test change on devices/pmos4.sym 2025-02-06 15:18:40 +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 56777a2944 fix mouse cursor restore when exiting graph and crosshair (not full-size) enabled 2025-01-27 13:10:53 +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 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 d47747965f updates in autozero_comp.sch 2025-01-21 03:45:42 +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 0e53359ee0 update proc cellview 2025-01-20 14:52:30 +01:00
stefan schippers 17b09bc203 add pin net_name attributes to some devices/ symbols 2025-01-19 13:00:43 +01:00
stefan schippers c41a8c28c0 add devices/stop.sym 2025-01-18 22:19:35 +01:00
stefan schippers c96d5be7cd update bsource.sym (show m=@m) 2025-01-18 15:01:24 +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 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 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 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 d5a46c5526 update poweramp.sch 2025-01-13 23:06:33 +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 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 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 b16a5ef927 code comments 2024-12-23 12:24:06 +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 954d10eb25 better position of Id annotator in nmos4 and pmos4 symbols (close to drain terminal) 2024-12-20 23:44:40 +01:00
stefan schippers c6e63005ba remove hide=instance from [np]mos annotated current text 2024-12-20 23:20:25 +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 931b348c1a update autozero_comp.sch: better `1` and `0` saout histogram plotting 2024-12-20 17:25:03 +01:00
stefan schippers 6b6bb81d24 updated autozero_comp.sch 2024-12-20 12:15:46 +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 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 2d1c521dca updates to tb_diff_amp.sch (ngspice-verilog-A cosimulation), added couple video links in docs 2024-12-18 16:22:03 +01:00
stefan schippers a66b4bb39b updated greycnt.sch example 2024-12-18 14:01:50 +01:00
stefan schippers 3a405bbce3 bus_tap.sym: show annotated voltage (remove hidden text attribute) 2024-12-13 14:37:35 +01:00
stefan schippers 90611b8786 update delta_sigma.sch (single quotes around .param variables when used) 2024-12-12 22:45:30 +01:00
stefan schippers 73c44cc6dd fix greycnt.v regression (reversed bus connections) 2024-12-12 12:52:33 +01:00
stefan schippers 44909f91d6 update simulate_ff.sch (better looking 7-segment digit) 2024-12-12 01:09:42 +01:00
stefan schippers 77a4379b13 update rlc.sch 2024-12-11 15:48:33 +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 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 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 4befd4765c added ngspice/tb_diff_amp.sch Verilog-A example 2024-10-30 16:10:17 +01:00
stefan schippers 7b82abe017 add (tentative) ic.sym for setting initial condition on nets 2024-10-25 17:53:08 +02:00
stefan schippers 754908835b add current annotators in cccs and vccs symbols 2024-10-25 15:20:53 +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 e75bb8874f added mux21.sch and mux21.sym in logic/, testcase in testbench.sch 2024-10-13 02:07:36 +02:00
stefan schippers 7ace392d23 switch_ngspice.sym: add "device_model" attribute in template string, so a template model is given when placing the symbol 2024-10-03 18:34:40 +02:00
stefan schippers 6e4eb9e35f remove testcase in comp_ngspice.sch 2024-09-15 22:11:57 +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 a6b084cde5 add .options savecurrents in examples/LCC_instances.sch 2024-09-09 18:25:45 +02:00
stefan schippers 8756cea4e6 ipdated examples/poweramp_lcc.sch 2024-09-09 17:59:32 +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 a329b996d6 set autoload on poweramp.sch graphs 2024-09-07 08:49:19 +02:00
stefan schippers 107d370b57 changed current annotator texts in symbols to layer 17 (green-cyan) instead of blue 2024-09-07 08:46:15 +02:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +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