Commit Graph

687 Commits

Author SHA1 Message Date
Stefan Frederik 9c29324c8a allow nets with no label pass thru symbols with duplicated pins. named nets will propagate through duplicated pins 2022-10-04 12:34:09 +02:00
Stefan Frederik 4bbed85d23 faster jump table in plot_raw_custom_data(), added simulation->add waveform reload launcher 2022-10-03 11:15:14 +02:00
Stefan Frederik 6296bbc1c6 compile option for 2nd order 3-point backward derivative calculation formulaes for graph expressions 2022-09-29 18:22:55 +02:00
Stefan Frederik ae4b74f2d8 graph axes in engineering notation (20u, 10p, 3k), fix an issue in graph panning with button1 mouse; ngspice:: get_current, get_voltage, get_diff_voltage, get_node embedded into xschem.tcl, to_eng tcl procedure to convert number to engineering form. 2022-09-28 19:14:31 +02:00
Stefan Frederik 6d17797d0b add Highlight->Select overlapped instances command 2022-09-27 18:35:42 +02:00
Stefan Frederik 4e3f396da5 better pv_ngspice.sym i-v curve 2022-09-27 16:45:02 +02:00
Stefan Frederik 4fc9cb629b update solar_panel.sch 2022-09-23 02:47:55 +02:00
Stefan Frederik 314acbabda allow tabs and newlines in graph expressions in addition to spaces; updated example schematics 2022-09-23 02:18:51 +02:00
Stefan Frederik 48d1b44220 allow spice multipliers in numbers (20u, 10k, 20p) in graph expressions 2022-09-22 21:12:40 +02:00
Stefan Frederik 3e2bc9f95e added "Annotate operating point" into Simulation menu 2022-09-22 19:47:25 +02:00
Stefan Frederik e61ef2eabf fixed a potential parse error in edit_prop if list_tokens returns a non list due to malformed input. Added @spice_get_diff_voltage to get a voltage difference between 2 nodes. 2022-09-22 17:35:14 +02:00
Stefan Frederik 6f907b5430 updated test schematics to use new xschem annotate_op instead of ngspice::annotate 2022-09-21 18:38:53 +02:00
Stefan Frederik 9c89a08111 better backannotation info placement in net labels, fixes in translate() for @spice_get_voltage and @spice_get_current, fixes in ngspice_backannotate routines. 2022-09-21 17:24:16 +02:00
Stefan Frederik 931c1520e3 make op backannotation in schematic work also if raw file loaded at hierarchy level > 0 2022-09-21 13:58:01 +02:00
Stefan Frederik b542186ebd updated example schematics to new annotate / raw file loading methods 2022-09-20 18:25:31 +02:00
Stefan Frederik c695c435d2 move initialization of s=0 outside the loop in backannotate_at_cursor_b_pos(). If only_probes is set do not display graphs and images. 2022-09-20 17:59:01 +02:00
Stefan Frederik af475e00df xschem raw_read accepts an optional type argument after file name (tran, ac, dc, op, ...) to select type of simulation to load from raw file. New command xschem annotate_op will replace ngspice::annotate tcl procedure. 2022-09-20 16:49:42 +02:00
Stefan Frederik 8169196b35 bypass tcl for voltage and current backannotation in schematic from cursor b positon in graph 2022-09-20 03:12:46 +02:00
Stefan Frederik 7abceb3344 fix regression in ngspice::get_current, simplified voltage reporting in net label symbols 2022-09-20 00:12:27 +02:00
Stefan Frederik 73e8b440c8 if sweep variables are defined on X axis (instead of default index 0) use first sweep X-axis var in live cursor backannotation 2022-09-19 12:19:39 +02:00
Stefan Frederik 53dc7fe3bf add backannotation info (as hidden text) in lab_pin.sym, lab_wire.sym, transitioning example schematics from old (push) backannotation model to new pull model. 2022-09-19 11:22:04 +02:00
Stefan Frederik 3a10b39299 fixed current (also hierarchic) reporting in ammeter.sym and vsource.sym) 2022-09-19 09:45:35 +02:00
Stefan Frederik 7afbd6a51d various small fixes for cursor b backannotation, updated xschemtest netlist hashes 2022-09-18 12:25:09 +02:00
Stefan Frederik 96f80d1d33 Alt-a in graph annotates schematic with values at cursor b position. Simulation->Live annotate option to automatically update schematic probes if cursor moved. Some improvements and fixes in ngspice_annotate.tcl. Fix xschem setprobe command. Added missing housekeeping_ctx when a new tab is created. housekeeping_ctx: added more variables to sync. 2022-09-18 05:29:16 +02:00
Stefan Frederik 5dc0b14de4 fix a crash due to reentrant call of preview schematic drawing caused by an Expose event if an alert box is displayed due to errors in schematic to preview 2022-09-17 11:27:42 +02:00
Stefan Schippers 66bcc876a7 look for inutile stimuli files in schematic directory instead of in simulation directory 2022-09-13 18:53:17 +02:00
Stefan Frederik 6effda2bfc fix find_closest_dataset() if log scale axes are used 2022-09-13 13:39:25 +02:00
Stefan Frederik d4fe981525 ngspice_backannotate.tcl: handle Xyce operating point data, removed hspice_netlist (no more existent) 2022-09-13 12:01:58 +02:00
Stefan Frederik d0b02724cf simpler ngspice_probe.sym 2022-09-13 01:33:09 +02:00
Stefan Frederik b19a2126c3 graphs in solar_panel_xyce.sch 2022-09-13 01:08:42 +02:00
Stefan Frederik 835b420df1 tclpropeval2(): hierarchy separator replacement for Xyce no more necessary 2022-09-13 00:53:47 +02:00
Stefan Frederik 75db846e58 ask confirmation if pressing "s" for simulate; node lists in graph dialog box are returned as they are with no tcleval() resolution; poweramp.sch now can be simulated unchanged with Xyce 2022-09-13 00:31:20 +02:00
Stefan Frederik 923c066947 rom8k.sch update 2022-09-11 13:56:13 +02:00
Stefan Frederik cd083c91e8 improve xyce netlist processing hooks (save ammeter currents), cmos_example.sch can now be simulated in ngspice and xyce 2022-09-11 13:21:24 +02:00
Stefan Frederik 193cf397bd more Xyce integration, transform .save in .print tran, transform x1.x2.node to X1:X2:NODE in Xyce lookups, more checks for malformed raw files 2022-09-09 18:57:34 +02:00
Stefan Frederik 907315191d added "devices/simulator_commands*.sym" to conditionally include commands in the netlist depending on selected target simulator 2022-09-09 13:06:11 +02:00
Stefan Frederik 5da8f777b2 monospaced font in code_shown.sym 2022-08-30 15:54:18 +02:00
Stefan Frederik dffc266e0d improve test_backannotated_subckt.sch example, remove dbg messages 2022-08-23 10:44:00 +02:00
Stefan Frederik d86fed06de update cmos_example.sch 2022-08-15 10:53:16 +02:00
Stefan Frederik ce4bd4837a changed @schname to @schname_ext and added @schname that expands to the schematic name containing the instance, with no extension (no .sch) 2022-08-10 08:38:49 +02:00
Stefan Frederik 89afd902ea get_raw_value(): return plain value, no implicit log calculation if log scale on axis. Zoom full scale X and X axis pan: use 1st sweep X variable, do not assume spice sweep variable (idx==0) 2022-08-08 09:52:33 +02:00
Stefan Frederik 7a0b5f3589 fix ngspice_backannotate.tcl: correctly backannotate ammeter currents; correctly handle multipoint Operating point data in graphs 2022-08-04 11:39:41 +02:00
Stefan Frederik 3b0589d2d1 store just magnitude and phase of AC vectors instead of dB and phase. Add db20() function to get dB values from magnitude in graph RPN expressions. 2022-08-03 17:44:53 +02:00
Stefan Frederik aa63f0adab add devices/res3.sym for generic semiconductor resistance. User must provide a 3-terminal subcircuit for this 2022-07-29 09:40:17 +02:00
Stefan Frederik 56d3d8f5f3 recognize \r\n sequences on windows rawfiles in "Binary:" lines, just in case ngspice developers want to add it someday. Quote ROUT ('ROUT') values for output resistors in ngspice_logic gates 2022-07-28 00:36:09 +02:00
Stefan Frederik 7401f1d8eb add menu "Symbol -> Search all search-paths for schematic associated to symbol". Default: not enabled. Variable: search_schematic. If enabled xschem does not assume the schematic is in the same directory of the symbol but looks in all libraries defined in XSCHEM_LIBRARY_PATH for a match. 2022-06-23 13:42:56 +02:00
Stefan Frederik 5b1489fd58 doc updates (slides for fsic2022) 2022-06-19 08:29:04 +02:00
Stefan Frederik f0e21f15bd revert testbench.sch changes 2022-06-14 10:27:30 +02:00
Stefan Frederik be43fe41b0 added bit blasting option (default: disabled) in menu for verilog netlists: group bit slices in instance net assignments. Doc updates (FSiC-2022) 2022-06-14 10:20:06 +02:00
Stefan Frederik 28cc187b56 when placing components with lock=true set in template attribute allow to move it to its final position like any other unlocked symbol. Code in place in verilog.awk to do bit unblasting in net-> port associations, but not enalbed it for now as icarus verilog does not handle some bus slices (for example if bus slice direction is different from declared bus direction) 2022-06-09 09:32:34 +02:00
Stefan Frederik 4cb0eb0491 better check for availability of -justify option in listboxes 2022-05-29 00:36:19 +02:00
Stefan Frederik 21a8885b65 regression fix: attempt to write into target netlist even if fopen() failed 2022-05-05 22:42:25 +02:00
Stefan Frederik eff273dd08 fix in spice.awk: do not clobber user or device format generated .save lines (no ?n tag); add devices/device_param_probe.sym 2022-04-30 10:58:15 +02:00
Stefan Frederik a2b0718a7a added some symbols 2022-04-10 09:05:17 +02:00
Stefan Frederik c1a92ab5dc revert pro floaters. black hole, wrong approach 2022-02-22 12:09:04 +01:00
Stefan Frederik 77be19bc6a ind.sym artwork 2022-02-21 00:20:21 +01:00
Stefan Frederik 492dd756ed updated test schematic 2022-02-18 15:35:37 +01:00
Stefan Frederik 1d8fe237ce add test_extracted_netlist circuit example 2022-02-18 15:11:44 +01:00
Stefan Frederik cca3f1cc05 add another missing symbol file in examples 2022-02-17 02:35:41 +01:00
Stefan Frederik c95efe3962 add missing symbol dile in examples 2022-02-17 02:32:01 +01:00
Stefan Frederik fc6268395b dedicated function for calculating y extent of custom wave equations 2022-02-17 01:22:15 +01:00
Stefan Frederik 798ecd74f3 running average ravg() wave processing operator 2022-02-16 20:24:22 +01:00
Stefan Frederik 841974d579 tuning delta sigma adc example circuit 2022-02-16 12:51:58 +01:00
Stefan Frederik bdd64336ff refactor example schematics 2022-02-16 02:48:39 +01:00
Stefan Frederik 71bc59bc91 add adc sigma delta example 2022-02-16 02:29:55 +01:00
Stefan Frederik fa3d97010c example schematics formatting 2022-02-16 01:08:16 +01:00
Stefan Frederik a9987b9be2 better y label alignment in digital graphs 2022-02-15 23:50:50 +01:00
Stefan Frederik f4f32c42ab class D example improvements II 2022-02-15 22:49:29 +01:00
Stefan Frederik cc9cfde771 class D example improvements 2022-02-15 19:30:20 +01:00
Stefan Frederik 1ba83016c6 better digital graph label positioning (margin to y axis) 2022-02-15 18:57:40 +01:00
Stefan Frederik fa4aeb607c better image in example circuit 2022-02-15 18:06:26 +01:00
Stefan Frederik b5eb8777c5 check for incomplete/missing/wrong attributes when drawing images 2022-02-15 17:59:45 +01:00
Stefan Frederik b50b8071c8 added comp_ngspice.* to ngspice/ 2022-02-15 17:33:32 +01:00
Stefan Frederik 699bd70a04 added class D amplifier example 2022-02-15 17:20:15 +01:00
Stefan Frederik 9dd68436cf Handling of duplicated pins in spice netlists, added test_doublepin.sch in examples/ 2022-02-15 12:28:23 +01:00
Stefan Frederik 4ebf3ea601 allow wave alias naming, fix off-by-one errors in plot_raw_custom_data() calls 2022-02-14 17:51:18 +01:00
Stefan Frederik c6a7d8f9bb optimize custom data plots and expression evaluation, added avg() 2022-02-12 13:20:24 +01:00
Stefan Frederik defd2a92a7 rpn expressions in graphs 2022-02-12 04:55:02 +01:00
Stefan Frederik 164ea94743 fix --rcfile and --no_readline options not working due to a refactoring mistake 2022-02-09 17:09:35 +01:00
Stefan Frederik 432db0799e revert lvnand2.sch 2022-02-05 14:38:27 +01:00
Stefan Frederik 798e4a20b2 removed event handling code repetitions 2022-02-05 14:35:33 +01:00
Stefan Frederik d7b45bfbf9 cleanup raw_query sub command, added "values" opcode, speedup some "xschem" subcommands 2022-02-04 17:35:07 +01:00
Stefan Frederik 1cb9645e9f xyce quircks/integration for ac analysis, refuse to stretch unscalable images, more example schematics 2022-02-03 00:40:59 +01:00
Stefan Frederik 008b289e4f ac analysis in graphs (mag + phase, log axis) 2022-02-02 18:33:16 +01:00
Stefan Frederik bc03dedbca fix a function pointer usage not accepted on some compilers 2022-02-01 12:30:10 +01:00
Stefan Frederik 2ca203cbae example schematics micro-changes 2022-01-31 00:52:39 +01:00
Stefan Frederik e7ebb2c2af Xyce support for node/current probing to graph 2022-01-31 00:14:34 +01:00
Stefan Frederik a79af0c7e5 send currents to graph 2022-01-30 14:39:11 +01:00
Stefan Frederik faa210fb2f code cleanup, removed code redundancy, itoa(), dtoa() functions, removed unnecessary tcl graph_* global vars, mstrcat function. 2022-01-30 03:10:09 +01:00
Stefan Frederik 552bfcac4e better label text size calculation in digital graphs 2022-01-29 02:52:26 +01:00
Stefan Frederik c083491738 probe nodes from xschem into its own wave viewer 2022-01-29 02:36:54 +01:00
Stefan Frederik 3724052e5a Graph UI: example circuit updates 2022-01-28 05:32:12 +01:00
Stefan Frederik 0b0e749801 Graph UI improvements. Persistent bold waves. Graph UI bug fixes 2022-01-28 04:44:07 +01:00
Stefan Frederik e6f3f9898d correct size calculation when inserting new unscaled image 2022-01-25 00:52:49 +01:00
Stefan Frederik b978bd90fa images (rotated,flipped as the symbol) in symbols 2022-01-24 22:58:30 +01:00
Stefan Frederik c8ec7a77f2 allow embedding all image formats if a xxx-->png filter shell command is provided as attribute 2022-01-23 04:51:41 +01:00
Stefan Frederik 81a612d5a3 menu entry for adding pictures, added alpha parameter for opacity 2022-01-22 04:55:59 +01:00
Stefan Frederik 320ad6e2aa embedded raw file storage 2022-01-21 19:17:43 +01:00
Stefan Frederik e66abe36fa fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:16:51 +01:00
Stefan Frederik a3ccc094f5 handle errors in image data, modified base64 decode to handle white space 2022-01-20 18:28:29 +01:00
Stefan Frederik 3958faf1aa optimizations in image display, resolved some false leak report due to untracked mallocs 2022-01-20 00:47:15 +01:00
Stefan Frederik c3af523559 better data struct for embedded image 2022-01-19 23:28:19 +01:00
Stefan Frederik d22245b33a show and store embedded (png) images in schematics 2022-01-19 18:39:23 +01:00
Stefan Frederik 2e8bd72faf reverted xcb since text quality is slightly better 2022-01-18 03:37:54 +01:00
Stefan Frederik 727f842778 add viewdraw_import example schematic/symbol dir for user evaluation and Viewdraw/DxDesigner import testing 2022-01-15 13:31:45 +01:00
Stefan Frederik a241e1c27d update rom8k example 2022-01-15 02:24:42 +01:00
Stefan Frederik 9f64e87b34 comments in source files 2022-01-14 14:56:13 +01:00
Stefan Frederik 3260d438c1 better selection of closest objects 2022-01-14 13:36:17 +01:00
Stefan Frederik 6c85ceaad8 "hide(=true)" attribute to hide specific text items in symbols 2022-01-13 12:46:55 +01:00
Stefan Frederik c3ad08fdd4 sourcing of user specified tcl scripts in xschemrc done after all graphics setup complete so we can autoload multiple tabs on startup, among other funny things 2022-01-13 02:08:36 +01:00
Stefan Frederik f5decdb952 tedax example 2022-01-11 14:44:19 +01:00
Stefan Frederik aec7d02c4d tedax: do not generate __UNCONNECTED_PIN__%d names for unconnected instance pins in tedax netlist, do not highlight in red instances with unconected pins, still print ERC warning just in case designer forgot a connection 2022-01-11 14:40:43 +01:00
Stefan Frederik 19398e8162 update window title/icon title when switching in tabbed interface 2022-01-10 03:00:33 +01:00
Stefan Frederik 1360641d75 Tabbed windows interface option added 2022-01-09 22:19:58 +01:00
Stefan Frederik d9a51e4b1a bus value viewer show transitions (`X`), adding some query commands to get/set waveform attributes/plot data 2022-01-07 01:54:41 +01:00
Stefan Frederik 6297d1ac15 fix bus value calculation 2022-01-06 12:57:31 +01:00
Stefan Frederik 223b9dc0a6 various regressions due to refactoring fixed 2022-01-06 01:10:06 +01:00
Stefan Frederik 09d8474a2c fix measure data in multiple sweep/wraps graphs 2022-01-05 17:38:01 +01:00
Stefan Frederik 4a705de9d0 better top/bottom clipping of waves 2022-01-04 06:21:50 +01:00
Stefan Frederik 31ba4ce0d6 added wave @ cursor measurement feature 2022-01-04 05:54:25 +01:00
Stefan Frederik 625495e27a measurement tooltip in graphs 2022-01-03 18:43:34 +01:00
Stefan Frederik 6aeb5ce4f8 nodes to plot are accepted without v(): v(nnn) --> nnn 2022-01-03 04:02:41 +01:00
Stefan Frederik 33ecb08c4f checks for zero range axes, removed some unused function params 2022-01-03 02:28:34 +01:00
Stefan Frederik 81cbbfa39f better vertical scrolling of digital graphs 2022-01-03 00:27:15 +01:00
Stefan Frederik 104d0f8cc3 fixes for digital waves y axis scaling 2022-01-02 22:24:44 +01:00
Stefan Frederik 0f12e41ff8 update example schematic with changed graph waveforms layout 2022-01-02 06:05:56 +01:00
Stefan Frederik c42f37909c various fixes in multi trace/multi dataset graphs 2022-01-01 04:22:23 +01:00
Stefan Frederik 06e84deb96 fix setting pdfmarks with directories in hierarchical pdf exports 2021-12-31 11:58:28 +01:00
Stefan Frederik c0ab0f1a61 hierarchy pdf prints have links to pdf pages of sub blocks 2021-12-30 20:11:41 +01:00
Stefan Frederik 5707b18aba wave view: added cursors for delay/time measurements 2021-12-30 15:45:38 +01:00
Stefan Frederik 8cc6315e09 graphical improvements for better graph scaling 2021-12-29 06:21:51 +01:00
Stefan Frederik d6c197d108 fix BadDrawable regression in free_rawfile(): after deleting data a draw() was called, but since this function is called also in exit handler all windows are already closed. Added digital waveforms and bussed signal display 2021-12-29 05:11:39 +01:00
Stefan Frederik 2ec66255e3 perf optimization in graph drawing 2021-12-28 00:44:59 +01:00
Stefan Frederik 5dd3f5c15d digital wave graphs, handle multiple sweep dc simulations 2021-12-27 18:42:56 +01:00
Stefan Frederik e111b2b9d6 even with multiple selected graphs apply y axis pan/zoom only on master graph. Better checks/cleanups for load/unload raw file 2021-12-27 14:12:55 +01:00
Stefan Frederik 547097f176 graph UI refinement and various fixes. Zoom in/out keeps value under mouse fixed 2021-12-27 05:22:19 +01:00
Stefan Frederik 37575e9404 allow button1 in addition to button2 for panning / zooming waveforms, add menu commands to insert graph, display/hide empty graphs, load raw file 2021-12-26 04:09:55 +01:00
Stefan Frederik f5a737159d axis zoom: updated examples 2021-12-25 14:43:26 +01:00
Stefan Frederik 1f44a960cb implement zoom/move/full on y axis graphs 2021-12-25 13:37:49 +01:00
Stefan Frederik 0d6a6c488b handle spice simulation files with multiple datasets 2021-12-25 05:15:52 +01:00
Stefan Frederik 21d723e1a2 if user specifies start, end and only one division in a graph, don`t try to do any magic, just do what user asks, even if numbers are `ugly` 2021-12-24 23:15:36 +01:00
Stefan Frederik 70adb61410 Better axis label placement, smooth waves move/zoom with mouse, compile option to store sim data as floats instead of doubles, option for axis scaling (p,n,u,m,k,M,G), load waveforms command is a toggle (load / free) 2021-12-24 12:17:00 +01:00
Stefan Frederik ddb4c048bd add \n to allowed separators in list of nodes to be plotted 2021-12-23 18:35:12 +01:00
Stefan Frederik b11955a3aa [experimental] better wave labels positioning in graphs 2021-12-23 03:43:34 +01:00
Stefan Frederik 8a0fc1c1df mouse actions (move, zoom) on waveforms 2021-12-22 18:25:15 +01:00
Stefan Frederik e5d1815b77 update test schematic 2021-12-22 14:01:52 +01:00
Stefan Frederik 7cec1d3725 allow multiple sweep variables in overlayed graphs 2021-12-22 12:59:41 +01:00
Stefan Frederik ab1fdce64e [experimental] added configurable sweep parameter for x-axis 2021-12-22 12:22:11 +01:00
Stefan Frederik 76b537a587 [experimental] add waveform display of ngspice simulation data directly in xschem drawing area 2021-12-22 04:39:23 +01:00
Stefan Frederik 37b877f0f2 added missing symbols 2021-12-19 01:32:19 +01:00
Stefan Frederik 993c3a24c2 rename xschem_simulator/ n.sym and p.sym to ntrans.sym and ptrans.sym to avoid confusion with symbols in rom8k/; place tk_messageBox above right xschem window when using multiple (single process) windows. 2021-12-17 03:29:53 +01:00
Stefan Frederik ba15e21b24 preserve ordering in verilog/VHDL signal/wire/reg declarations for consistent netlist hashing/checking 2021-12-15 15:17:45 +01:00
Stefan Frederik 36b8c30fcc revert ngspice/autozero_comp.sch to previous version since ngspice has fixed parameters in agauss funtion; add tests/xschemtest.tcl 2021-12-09 23:39:07 +01:00
Stefan Frederik 8eaada23f0 static function rename 2021-12-09 13:43:00 +01:00
Stefan Frederik fa25edabec fix 3 potential (small) memory leaks 2021-12-08 00:38:19 +01:00
Stefan Frederik 989388e14b allow panning schematic even if dialog box displayes or xschem simulation ongoing; update example simulate_ff.sch 2021-12-07 14:07:36 +01:00
Stefan Frederik 629917cfcd new find_inst_to_be_redrawn() implementation to recalculate area to be redrawn with/without show net names on symbol pins, simplified new_window() call in callback `x` command, code formatting in globals.c, added xschem get [xy]origin commands 2021-12-03 19:15:07 +01:00
Stefan Frederik f94d3b5c15 removed comment in schematic test_verilog_verilog.sch 2021-12-01 15:58:26 +01:00
Stefan Frederik 756a7ba06d swap s/d in verilog netlisting rule for enhancement load "rnmos4.sym" so it can be used as usually done with nmos devices (drain side up) . 2021-12-01 15:53:14 +01:00
Stefan Frederik dcb37ef295 added devices/rnmos4.sym for enhancement load nmos gate simulation in verilog, updated test_mos_verilog.sch example 2021-12-01 14:25:27 +01:00
Stefan Frederik 6317b8f5b6 updated autozero_comp.sch to work again with ngspice and montecarlo (second argument of agauss() does not accept parameters?) 2021-11-29 23:39:47 +01:00
Stefan Frederik 551bbcec0c Windows does not recognize XPending, fix typo for verilog_format`s port name: g instead of f 2021-11-26 13:16:52 +01:00
Stefan Frederik 39a27e856e fix pcb_current_protection_embed.sch with up to date embedded symbols (previous had very old symbols with errors), fix pmos.sym (make pin names and verilog_format string consistent). All other schematics with embedded symbols updated with current library symbol. Some code in place for saving/restoring symbols in in-memory undo. This code is not compiled so does not affect xschem operation at all. 2021-11-25 04:00:01 +01:00
Stefan Frederik b5c5db8c57 revert pcb_current_protection_embed.sch to older rev 2021-11-24 16:32:19 +01:00
Stefan Frederik f67ec47f82 added some comments, commented out xctx->prep_* = 0 in save_schematic() 2021-11-24 13:52:59 +01:00
Stefan Frederik 9bca5b3f5b fix descend_symbol regression due to previous commit 2021-11-22 00:42:53 +01:00
Stefan Frederik fddd3f84fb avoid force-saving changed schematic before doing netlist (use push/pop undo instead of load_schematic() to restore circuit after traversing hierarchy) 2021-11-21 23:04:48 +01:00
Stefan Frederik 7f9ee9fc2a add "xschem check_symbols" and "xschem reload_symbols" for future checking of symbols that are newer wrt to schematic. set mtime of newly created schematic (that does not exist on disk) to current time. Add verilog attributes to devices/pmos4.sym 2021-11-21 12:28:36 +01:00
Stefan Frederik 95095e97d0 add delays in logic/test_mos_verilog.sch 2021-11-21 01:45:16 +01:00
Stefan Frederik 0e91351e4a fix depletion mos example 2021-11-21 01:18:12 +01:00
Stefan Frederik 94934b8989 added test_mos_verilog.sym example in top schematic page 2021-11-21 00:53:37 +01:00
Stefan Frederik 64586f0c2d depletion nmos transistor drawn with drain side low as this is the way it is used 2021-11-21 00:02:48 +01:00
Stefan Frederik 10114ec838 add missing braces in update recent file submenu, fix file selector improperly setting main window title, added logic/test_mos_verilog.sch depletion mode verilog example 2021-11-20 23:44:19 +01:00
Stefan Frederik 9ceb25716e auditing of static in-function variables, remove unnecessary, add notes for allowed ones 2021-11-20 02:37:56 +01:00
Stefan Frederik ad05513838 some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet 2021-11-16 22:28:10 +01:00
Stefan Frederik c3c1b39cb5 (2) full widget creation for xschem new windows, code cleanup, removed old stuff 2021-11-09 19:05:56 +01:00
Stefan Frederik 7efc446dae Escape key (instead of Simulation menu entry, now removed) stops ongoing xschem internal simulator engine if running 2021-11-04 23:52:24 +01:00
Stefan Frederik 1fa2486e44 remove dbg messages in propagate_logic() 2021-10-30 21:33:12 +02:00
Stefan Frederik ebf0f0cf95 fixed simulation engine, no more bidirectional devices allowed 2021-10-30 03:12:06 +02:00
Stefan Frederik 3f9e255a90 added symbols xnor2_1.sym, xor3_1.sym, xor4_1.sym in xschem_library/xschem_simulator 2021-10-24 01:41:01 +02:00
Stefan Frederik 0070498eb4 avoid printing "**** end_element" in spice netlist if current instance is skipped (no format or spice_ignore set); spice_probe_vdiff.sym will print .save v(n1) v(n2) instead of .save v(n1,n2) since this is how ngspice saves nodes (no differential voltage is saved) 2021-10-21 00:00:54 +02:00
Stefan Frederik 05af59ac9d small fixes in pdf creation script and html docs 2021-10-15 19:10:33 +02:00
Stefan Frederik a2779fab3c misc fixes in gschemtoxschem.awk 2021-10-14 02:35:43 +02:00
Stefan Frederik 53487ec796 manual fixes on some converted geda syms 2021-10-12 18:35:04 +02:00
Stefan Frederik 2f47dfaaab updated gschem conversions, add tutorial documentation about geda translation to xschem 2021-10-12 18:03:39 +02:00
Stefan Frederik 0791a99165 updated geda translation, some additional allowed syntax in parselabel.l 2021-10-12 15:03:23 +02:00
Stefan Frederik e8e56aa025 mux simulation operator: set "X" instead of "Z" if select not "0" or "1" 2021-09-27 10:56:23 +02:00
Stefan Frederik 72b356df3c some simulation fixes in eval_logic_expr() 2021-09-27 02:47:23 +02:00
Stefan Frederik f00b27d97d interrupting xschem digital simulation with "Simulation->Forced stop tcl scripts" was leaving "tclstop" variable set, causing following simulation to produce erroneousr results. Any new sim resets the flag to 0. 2021-09-25 16:16:30 +02:00
Stefan Frederik 96c84c15f9 added conn_6x1.sym in devices 2021-09-25 01:49:42 +02:00
Stefan Frederik 8e4a6250ac added spice waveform template configuration for Analog Flavor`s bespice wave (bspwave) 2021-09-16 18:07:12 +02:00
Stefan Frederik 771123550e added "place=header" (in addition to "place=end" attribuite value) to print code block as a header in spice netlists 2021-09-02 10:24:30 +02:00
Stefan Frederik 4e8e4cea20 poweramp.sch fixes in sim commands 2021-07-13 18:37:01 +02:00
Stefan Frederik 9cdfad3abb do a tcl evaluation of the "schematic" attribute of a symbol if the attribute is within a tcleval(...) expression. This way tcl variables/expressions can be used to determine the schematic to descend into when traversing/netlisting. example: schematic=tcleval(poweramp_${::mode}.sch). 2021-06-17 00:25:39 +02:00
Stefan Frederik 5880e23f94 added hierarchical ps/pdf export (File menu) 2021-06-13 23:55:17 +02:00
Stefan Frederik 500feade8d Joanne fixes for potential crash in align_sch_pins_with_sym() if there is a sym/sch pin number mismatch. Moved box declaration to beginning of scope block for C89 compatibility 2021-03-07 00:15:16 +01:00
Stefan Frederik 975b1900dc bus_connect_nolab.sym type set to "show_label" so it will be highlighted when net is highlighted, without needing to set "auto-highlight nets/pins". 2021-02-10 00:49:46 +01:00
Stefan Frederik 4fd65005a1 new_wire(): update connecting bubbles when inserting new wires and no one is highlighted 2021-01-19 13:32:45 +01:00
Stefan Frederik 86bafe1f9b remove unconnected components in switch_level_sim.sch 2021-01-14 18:53:50 +01:00
Stefan Frederik 934e16ab87 uniquify __UNCONNECTED_NODE__ by appending a unique number to avoid shorting multiple missing connecting nodes 2021-01-14 18:12:02 +01:00
Stefan Frederik afef3e059f better handle simulation interruption 2021-01-12 22:07:27 +01:00
Stefan Frederik 37f52dd625 added missing symbols to xschem_simulator/ 2021-01-12 19:12:40 +01:00
Stefan Frederik 397d8397e6 some schematic editing 2021-01-12 18:45:34 +01:00
Stefan Frederik 6bb6553ea6 add simulation driver in switch_level_sim.sch 2021-01-12 18:35:19 +01:00
Stefan Frederik f1b3a2d3b1 sample schematic updates 2021-01-12 03:07:20 +01:00
Stefan Frederik dddaae5099 removed redundant update_conn_cues() in some graphic operations; lower priority mux operator for logic sim, Dont change logic value added ("U"), ability to simulate bidirectional switches and simple logic MOS transistor networks. added sample circuits. 2021-01-12 00:47:56 +01:00
Stefan Frederik cea1069656 add "mux", "tristate" functions to logic expressions 2021-01-10 12:53:10 +01:00
Stefan Frederik d64c8abb40 add -pg also in LDFLAGS if --profile is requested; add little more margin in ps page exports 2021-01-06 00:12:04 +01:00
Stefan Frederik 8bd7ae44eb example schematics reshaped 2021-01-04 17:50:16 +01:00
Stefan Frederik ce7f1d7dbf added rotate operator in logic function description 2021-01-04 17:24:57 +01:00
Stefan Frederik 89f32313c3 doc updates; only hilight connected instances (when doing a net highlight) if symbol (or instance) has highlight=true attribute set. 2021-01-03 17:34:08 +01:00
Stefan Frederik b63d3bec09 finalizing "select nets up to junctions" 2021-01-03 01:26:54 +01:00
Stefan Frederik cf5813970c prepare for delete connection implementation 2021-01-02 23:42:22 +01:00
Stefan Frederik cc993bfe44 added in the menu the (undocumented) "propagate-highlight" function (propagate through conductive elements) 2021-01-02 20:33:34 +01:00
Stefan Frederik 1fe6508704 ngspice_probe type set from "probe" to "ngprobe" to avoid clashes 2021-01-02 19:44:01 +01:00
Stefan Frederik 3528634124 Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe 2021-01-02 18:56:42 +01:00
Stefan Frederik 46e986cc62 added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs 2021-01-02 03:24:26 +01:00
Stefan Frederik 73045ec1cb example schematic updated and improvements 2021-01-01 04:24:57 +01:00
Stefan Frederik b6b6bb4f27 Fix: add symbol to space-hash in place_symbol() must be done before invoking symbol_bbox(); optimized eval_logic_expr() 2021-01-01 01:10:43 +01:00
Stefan Frederik 14d6cdc548 debug message on unconnected output in sims 2020-12-31 04:19:08 +01:00
Stefan Frederik a9d7d93e40 caching simulation data into "simdata" struct for performance 2020-12-31 03:08:24 +01:00
Stefan Frederik 14ead18ea4 "propagate_to" attribute for pins renamed to "goto" 2020-12-30 21:26:58 +01:00
Stefan Frederik c6bb28332e small perf. optimization in propagate_logic() 2020-12-30 02:21:46 +01:00
Stefan Frederik 92ba91042f fixes and comments in annotation schematic examples 2020-12-29 23:17:00 +01:00
Stefan Frederik abce6ac29c fix make_sym.awk duplicating name= attribute in generated symbol 2020-12-29 15:41:15 +01:00
Stefan Frederik 7ba3001066 fix make_sym.awk duplicating name= attribute in generated symbol 2020-12-29 14:14:32 +01:00
Stefan Frederik 921885d654 make lookup of logic attributes faster in symbol examples 2020-12-29 00:14:23 +01:00
Stefan Frederik 880286bdb9 update examples and ngspice_get_value.sym (@descr attribute) 2020-12-28 23:18:13 +01:00
Stefan Frederik c897f230ce update label display in ngspice_get_value.sym 2020-12-28 20:42:44 +01:00
Stefan Frederik 17d8db59ff num parameter to logic_set() to perform "num" toggling operations 2020-12-28 20:20:45 +01:00
Stefan Frederik 6d8a7a6eb6 update image 2020-12-28 03:32:18 +01:00
Stefan Frederik 41d9e17527 option for transparent background in svg export; added ngspice backannotation tutorial 2020-12-28 02:52:44 +01:00
Stefan Frederik 9e9cac0516 remember last directory in export png/svg/pdf/ps, added missing symbols 2020-12-27 22:59:15 +01:00
Stefan Frederik 5917cd9717 added flip-flop simulation capabilities. added examples: merry xmas greeter and 7 segment display driver and counter. 2020-12-27 19:20:24 +01:00
Stefan Frederik 40eaefbb82 removed logicx() obsoleted function 2020-12-26 23:05:07 +01:00
Stefan Frederik 9b4534d6b0 A change_linewidth(-1.0) is added after resetwin() creates a new pixmap (example: after a window resize) . This sets colors, backgrounds fill styles for the new pixmap. 2020-12-26 22:29:45 +01:00
Stefan Frederik dfa0884180 typo in description 2020-12-26 20:15:12 +01:00
Stefan Frederik 433d4633b7 fa_1.sym 2020-12-26 19:44:34 +01:00
Stefan Frederik 37f0f7380f added a full adder as an example of a multi-output gate 2020-12-26 19:43:16 +01:00
Stefan Frederik b71199c5b8 added "xschem_simulator" sample example directory for trying logic propagation of probed nets 2020-12-26 19:26:33 +01:00
Stefan Frederik 582863f825 added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed. 2020-12-25 04:37:53 +01:00
Stefan Frederik b7b9d666a9 fix: avoid doing any erc checking/highlights if a schematic is explicitly loaded without linking components to symbols. This is done for instances with (spice|verilog)_stop=true attributes set to prevent unwanted symbol expansion 2020-12-23 18:16:53 +01:00
Stefan Frederik 1cfea4d1d3 svg_draw(): do not print unused layer stylesheets, error check when opening file for printing 2020-12-22 18:31:08 +01:00
Stefan Frederik 0783ff7002 fix error in link_symbols_to_instances(): potential call of symbol_bbox() -> translate() -> prepare_netlist_structs() before completing xctx->inst[i].lab assignments 2020-12-22 16:10:27 +01:00
Stefan Frederik 1184312527 various fixes around the highlight speed improvements 2020-12-19 05:06:57 +01:00
Stefan Frederik 3611b95444 fix debug message causing a crash when doing a net highlight if design contains cells with no pins (filler, taps, etc) and highlight=true attr is set on symbols 2020-12-18 12:38:09 +01:00
Stefan Frederik 2e18119645 remove "m=1" in xyce spice netlists as xyce does not handle m param. Translate spice_probe ".save" to xyce ".print tran", handle different hierarchical expansion of voltage/current nodes in xyce for hierarchical ammeter/spice_probe probes 2020-12-17 18:26:46 +01:00
Stefan Frederik c13ca9218d fix correct version syntax when saving in file 2020-12-17 02:01:38 +01:00
Stefan Frederik 5b4d6ab640 postscript fonts in ps/pdf export 2020-12-16 18:30:33 +01:00
Stefan Frederik 1bb59cf41a cleanup in postscript print 2020-12-16 10:48:15 +01:00
Stefan Frederik 5b7cf39ead removed test structure in mos_power_ampli.sch 2020-12-14 16:37:23 +01:00
Stefan Frederik ce5adbffdb added flatten_savenodes.awk for flattening in-subcircuit .save instructions 2020-12-14 16:31:20 +01:00
Stefan Frederik 5af6a38d2e allow ! in net names, it got deleted after the parselabel rework. 2020-12-13 20:26:39 +01:00
Stefan Frederik 80b2d88caf added plot_manipulation.sch example showing how to manually create an ngspice plot collecting data from multiple operating point sims. the syntax is so difficult to remember so i keep a working example available here. 2020-12-09 13:53:32 +01:00
Stefan Frederik 780b994aeb use short data type for small integer data: rot, flip, dash, bus etc... 2020-12-05 03:16:01 +01:00
Stefan Frederik d4c289aded reverted examples to verify split mode netlist 2020-12-04 13:14:20 +01:00
Stefan Frederik c3aad2fbfc remove dbg messages 2020-12-04 13:02:19 +01:00
Stefan Frederik e5205cfd1e Split mode netlisting in different formats got bitrotten due to a regression. Fixed. 2020-12-04 12:45:50 +01:00
Stefan Frederik 3732bd8d01 put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change) 2020-12-03 18:21:23 +01:00
Stefan Frederik 2bd8a93889 preserve backslashes in instance name after doing an editprop(). get_tok_value() fix: do not eat "\" if called with with_quotes=1 2020-12-01 12:00:18 +01:00
Stefan Frederik 3f6a9ab1f8 allow new lines in net names (!) 2020-11-30 22:12:31 +01:00
Stefan Frederik eb2d143e77 more consistent get_tok_value() regarding escaping 2020-11-29 01:59:17 +01:00
Stefan Frederik d95eb0f871 fix repeated character in RE, fix changed syntax in verilog example 2020-11-28 20:08:40 +01:00
Stefan Frederik 7a7868318b Added various procedures to select flat / hierarchical instances and re-route a terminal to a different net. reroute_inst -> change a pin connection, reroute_net -> change net updating all connected components. "xschem instances_to_net", "xschem instance_nodemap", "xschem instance_pin_coord" new query commands added. "xschem get expandlabel node" renamed to "xschem expandlabel node". 2020-11-26 03:46:55 +01:00
Stefan Frederik 870c3e4478 removed weird names (spaces etc) in hierarchical_tedax schematic objects. that was used for testing the hiertEDAx export. 2020-11-24 19:55:45 +01:00
Stefan Frederik 8fe0553f96 fix crashing netlister crashing bug if required schematic files are missing (null hier path). fix hierEDAx when netlisting empty blocks 2020-11-24 17:37:27 +01:00
Stefan Frederik d7b0c27775 hiertEDAx: don\t split on escaped white space. test schematic with weird instance/net names 2020-11-24 15:25:37 +01:00
Stefan Frederik a61d803a3e edit hierarchical_tedax.sch, different ways to instantiate more times same subschematic, as placed sheet or as symbol 2020-11-24 11:35:46 +01:00
Stefan Frederik df48954ee5 small fixes in example hierarchical tedax schematic 2020-11-24 03:12:05 +01:00
Stefan Frederik a9a0baa3fa comments in sample schematic 2020-11-24 02:59:14 +01:00
Stefan Frederik 9c5739b0f2 allow tEDAx (flattened) netlisting of hierarchical schematics; added pcb/hierarchical_tedax example 2020-11-24 02:54:45 +01:00
Stefan Schippers 070ec71800 reduce svg size by avoiding redundant attributes in elements, fix a regression in scheduler.c (missing else clause) 2020-11-18 23:20:50 +01:00
Stefan Schippers bf183f0d20 Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render. 2020-11-18 18:29:14 +01:00
Stefan Schippers d22b4c9ea0 guard against extended ascii characters in nocairo/svgdraw/psprint function 2020-11-13 12:54:07 +01:00
Stefan Schippers ec6ad39acc synchronize command sending to gaw with gaw replies so at the end the tcp channel is closed gracefully (avoid port in use error messages). Timeout whatchdog is set to prevent forever waits/deadlocks. 2020-11-07 21:07:16 +01:00
Stefan Schippers 3f76397522 better synchronization of gaw_cmd so multiple commands are sent to gaw. However tcp file descriptor remains active for subsequent commands. Next improvement: count replies from gaw client and close file descriptor when last reply read. 2020-11-07 14:40:49 +01:00
Stefan Schippers 292958e4a2 added res_ac.sym 2020-11-06 19:43:26 +01:00
Stefan Schippers 191b4d8ed3 added m parameter to npn.sym and pnp.sym, text attribute edit dialog box renamed from .t to .dialog so it will be always raised on top of xschem window 2020-11-06 19:29:09 +01:00
Stefan Schippers 01ed63275b do not set dircolor(...) default item colors if dircolor array defined in xschemrc 2020-10-30 01:22:25 +01:00
Stefan Schippers d5ff835614 sqwsource: do not use tcleval, leave the simple expressions parsing to the simulator 2020-10-26 02:58:29 +01:00
Stefan Schippers 460ebe561d sqwsource.sym: better labels, various fixes, comments and more debug messages in tcleval() stuff, some fixes (error checks) in "device_model" related model_name() function 2020-10-25 03:03:23 +01:00
Stefan Schippers 27d1a9e477 get_tok_value: even if called with "with_quotes=2" do not skip unescaped backslashes that are outside "quotes". Added dynamic netlisting test circuit in examples 2020-10-23 23:17:55 +02:00
Stefan Schippers 1536e77b62 spice netlist postprocessing will not break ".include " lines as ngspice does not like these. make_sch_from_spice.awk adapted to import sky130 standard cells, spice netlister will print extra nodes (inherited connections or pins-by-attribute) in the order specified by the format string, instead of dumping the "extra" attribute after all "real" pins, this allows to mix attribute pins with the other pins. 2020-10-21 18:18:53 +02:00
Stefan Schippers 7e845db5df exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug 2020-10-20 19:48:59 +02:00
Stefan Schippers 3bbba8601f added ngspiec_probe.sym and ngspice_get_value.sym that use a pull method to fetch values from ngspice .raw datafile, fixed a long standing bug that changed bounding boxes of symbols that were selected for a copy if they were copied and copy operation involved rotations of flips. 2020-10-20 12:44:10 +02:00
Stefan Schippers 72e45216c2 spice_probe_dynamic.sym added to devices, retrieves node voltages with a pull method, so always updated, "@@pin" syntax in translate(), same as in format string for netlisting,print hilight nodes (ctrl-alt-j) will print .save instructions if netlist mode set to spice 2020-10-20 01:05:40 +02:00
Stefan Schippers c84d71b859 xschem setprop made way faster if "fast" argument is provided. Example "clear probes" launcher object in mos_power_ampli.sch. 2020-10-19 02:07:17 +02:00
Stefan Schippers 7360982d7c removed some redundant calls in prepare_netlist_structs(), no full instance spatial rehash if adding a component, set template name initials for components in devices/ that do not map directly to spice elements to lowercase letters. 2020-10-18 23:58:40 +02:00
Stefan Schippers ebdc8746c0 better regexp for probe search in ngspice_backannotate.tcl, comments in token.c 2020-10-18 02:08:08 +02:00
Stefan Schippers 8a45e319c9 if xschem is started with -n (netlist) load_schematic will not call tcl proc is_xschem_file to determine if sch or sym type, since command line option has higher priority. reverted back possibility in update_symbol() to have double quotes around name attribute (name="My strange name"). This has toooo many implications everywhere. name attribute must be wihout double quotes, xschem will strip them off if any. 2020-10-17 02:54:42 +02:00
Stefan Schippers 0f94bee28e better text positioning (net_name) on some devices/ symbols 2020-10-17 01:07:18 +02:00
Stefan Schippers 35c2d0fa93 better node multiplicity detection in spice and verilog awk netlist post-processors (\?-?[0-9]+) 2020-10-16 00:13:39 +02:00
Stefan Schippers 4362c44a8d fix various regressions: escape the ? pattern in awk, be more selective in ? node multiplicity tag recognition in spice.awk, yet some more fixes in abs_sym_path thanks to JL 2020-10-15 13:38:27 +02:00
Stefan Schippers e82f270f61 replaced @ character with ? for spice netlist node multiplicity tags, so translate() will not try to expand them, do not print erc warnings for "non electrical" symbols (architecture, package, port_attributes, use, etc), print_spice_element() result string will be forwarded to translate() if enclosed within tcleval(...), so all @vars will be expanded. translate() in turn will forward to tcl_hook() if necessary. 2020-10-14 23:15:05 +02:00
Stefan Schippers 5d26115bd2 refactored token.c, differentiate between windows and unix in absolute filename construction in xinit.c 2020-10-14 01:38:51 +02:00
Stefan Schippers f8f1626c1b cleanup in print_spice_element(), print_verilog_primitive(), print_vhdl_primitive(), print_tedax_element(), parselabel allows ~ in node names (XSPICE inversion operator) 2020-10-13 02:52:37 +02:00
Stefan Schippers 6f80fdbf76 fix once again an issue when working in symlinked directories and giving a relative .sch file path on cmdline; clean up print_spice_element(). JL to check if tclgetvar("env(PWD)") works on windows (xinit.c:1435) 2020-10-13 01:07:28 +02:00
Stefan Schippers b006c82bad slight resize in pin text size for better look. top frame in insert text dialog does not extend vertically. 2020-10-11 01:38:28 +02:00
Stefan Schippers 617d708009 verilog_preprocessor and verilog_timescale now use verilog_format instead of format (which is for spice), corrected verilog_netlist.c; better backslash and quote (") escaping and unescaping when using attribute select combobox; for unquoting use "xschem get_tok tok 2" instead of "xschem get_tok tok 0" + regsub ....(remove backslashes)... 2020-10-10 23:21:23 +02:00
Stefan Schippers 31eac64d7a LICENSE cosmetic editing 2020-10-10 11:49:12 +02:00
Stefan Schippers 898a8adfb2 some clarifications of steps to be taken to simulate example rom8k circuit 2020-10-08 23:24:27 +02:00
Stefan Schippers bbc5a58568 added vsqsource, square wave source generator, with only "hi" and "freq" as parameters 2020-10-07 18:04:03 +02:00
Stefan Schippers d9488fa5ea small sample xschemrc fix 2020-10-06 21:59:23 +02:00
Stefan Schippers 71f23a5242 devices/ symbol fixes 2020-10-06 03:20:56 +02:00
Stefan Schippers 11d664b4a8 fix a memory leak, spatial hash table tuning, better clear find_inst_to_be_redrawn() nodetable 2020-10-05 13:29:57 +02:00
Stefan Schippers 72363cf2d4 better wire bbox calculation in find_inst_to_be_redrawn() 2020-10-05 04:18:31 +02:00
Stefan Schippers 82051a33e5 simplify / break down complex expressions for code readability 2020-10-05 03:00:40 +02:00
Stefan Schippers 34a929f2bf fix rlc.sch sample circuit it was changed for debugging 2020-10-03 12:51:31 +02:00
Stefan Schippers 72f0031611 mos_power_ampli.sym and solar_panel.sch examples updated to display symbolnet names on pins 2020-10-02 15:45:30 +02:00
Stefan Schippers cf0db629c4 make move operations display updated @#n:net_name attributes after move operation 2020-10-01 02:58:05 +02:00
Stefan Schippers 3f482fd8a4 optimize unselect_all() 2020-09-30 02:53:20 +02:00
Stefan Schippers 0fe9c1223d doc updates 2020-09-30 01:34:18 +02:00
Stefan Schippers 91e74fadcb "@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols 2020-09-30 00:30:48 +02:00
Stefan Schippers f699d187e6 save embedded components not only on first embeded instance but on all of them. This makes reloading easier and the overall thing much simpler. In LCC schematic allow get_sym_type() to read symbol data from folowing embedded tags "[...]" if any. Fix potential segfault in preview_window() 2020-09-29 11:17:10 +02:00
Stefan Schippers 59d4608ac0 completely eliminated match_symbol() (which in turn may call load_sym_def() ) calls from within load_sym_def(), even for aligning LCC schematic pin ordering to symbol. A dedicated "align_sch_pins_with_sym()" together with "get_sym_type()" does the job in O(N) instead of using a sort routine. 2020-09-27 12:41:36 +02:00
Stefan Schippers b5d21e54f1 removed debug messages 2020-09-26 01:29:28 +02:00
Stefan Schippers c627f21057 optimize previous fix, avod skipping lines after embedded symbol (embed_fd) 2020-09-24 17:46:58 +02:00
Stefan Schippers b7d724dcab apply visible layers (View->Symbol visible layers) to any object (lines. arcs, text etc),better bounding box calculation for slant text 2020-09-23 22:13:39 +02:00
Stefan Schippers 5e98241df1 NumLock and CapsLock check for windows 2020-09-22 21:02:51 +02:00
Stefan Schippers 82451fd50e "xschem hilight_netname" command to hilight a specific net name, "xschem search exact ..." finds specific instances of vector instances, "probe_net" procedure descends into the right bussed instance and hilights the correct net bit, added "xschem display_hilights" to return all hilighted nets in the hierarchy, added "gaw_cmd" procedure to send socket commands to gaw (like "gaw_cmd reload_all") (recently added command to gaw ttg) 2020-09-22 13:35:55 +02:00
Stefan Schippers 1a2500291d dash attribute for arcs 2020-09-02 23:59:58 +02:00
Stefan Schippers a44302a7fd better join/end style for dashed objects, some dashed objects in example schematics/symbols 2020-09-02 19:21:51 +02:00
Stefan Schippers 3107c5b12a added "dash=n" (n=integer) attribute for lines, polygons, rectangles to set dashed line style. n is the dash length in pixels. 2020-09-02 18:28:20 +02:00
Stefan Schippers e6fe276eba undo test-changes in example schematics 2020-09-02 13:16:54 +02:00
Stefan Schippers 9f82cf47aa verilog_ignore, spice_ignore, vhdl_ignore attributes on schematic pins are propagated to symbol pin attributes (if using make symbol from schematic, otherwise propagate by hand). These pins are not netlisted in the respective netlist format 2020-09-02 12:30:52 +02:00
Stefan Schippers b2289683ac doc updates for text hcenter and vcenter attrs 2020-08-25 02:10:15 +02:00
Stefan Schippers ec29c2677a enable "preserve unchanged props" checkbutton in text edit prop dialog box 2020-08-24 16:21:50 +02:00
Stefan Schippers bd982c00ce removed unused files 2020-08-24 10:01:41 +02:00
Stefan Schippers b842e020bc snap and grid entries will not annoyingly receive keyboard focus with TAB key 2020-08-19 15:08:35 +02:00
Stefan Schippers 7f6b3d999f fixed symbol text 2020-08-18 10:32:33 +02:00
schippes 9570439e16 made edit_symbol_property and tcl edit_prop procedure much simpler when user clicks another instance while edit_prop dialog still open 2020-08-16 03:34:45 +02:00
schippes 58a43ccc4d code cleanups, preparing for editprop combobox token selector 2020-08-15 10:48:26 +02:00
schippes ff9e2e7872 when copying a symbol with edit_property dialog ("q" key) and enabling "Copy cell" if a relative path name is supplied for new symbol it will inherit the same path prefix as the original symbol. 2020-08-13 12:56:20 +02:00
schippes ea4513f9c5 changed tcl procs abs_sym_path and rel_sym_path, now the real symbol filename is obtained by prepending one of the XSCHEM_LIBRARY_PATH paths until the symbol is found. This allows more than one directory levels in symbol references. 2020-08-13 02:19:08 +02:00
schippes c5f412bdb7 symbol attribute @symname will display symbol name without extension as it used to be in earlier versions. @symname_ext will print full rootname of symbol. Some doc updates on symbol attributes 2020-08-12 11:31:42 +02:00
schippes 8dac4753f7 Verilog and vhdl netlisters: print as instance parameters all params listed in instance properties, excluding "name" and all params not listed in template 2020-08-10 14:15:36 +02:00
Stefan SChippers 5e8df730a0 populating xschem git repo 2020-08-08 15:47:34 +02:00