Stefan Frederik
|
e5208e2d99
|
refactoring: "plotfile[]" global moved into xctx struct
|
2021-07-14 01:43:29 +02:00 |
Stefan Frederik
|
5880e23f94
|
added hierarchical ps/pdf export (File menu)
|
2021-06-13 23:55:17 +02:00 |
Stefan Frederik
|
ddaa431144
|
make_sym_lcc.awk: declare "value" as local variable inside process_box_line() to avoid clashes with global "value"
|
2021-06-05 08:58:38 +02:00 |
Stefan Frederik
|
bda3d9d426
|
Added new feature "Make schematic and symbol from selected components" with command "xschem make_sch_from_sel" and function make_schematic(..)
added proc make_symbol_lcc and make_symbol_lcc.awk
sch and sym components to specially process dash in prop_ptr.
|
2021-05-29 00:45:01 +02:00 |
Stefan Frederik
|
ce5d9e40a6
|
pdf and png export: handle filenames with spaces in output filters
|
2021-04-16 16:27:32 +02:00 |
Stefan Frederik
|
50028baa9f
|
added Hi-Z in logic values
|
2021-01-11 19:31:47 +01:00 |
Stefan Frederik
|
2063b42613
|
fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() )
|
2021-01-08 21:25:11 +01:00 |
Stefan Frederik
|
7fc5b4cf1a
|
various fixes for corner cases where changing labels of hilight nets (update inst[].color), update symbol bboxes when toggling show_pin_net_names
|
2021-01-06 05:47:05 +01:00 |
Stefan Frederik
|
b25bd1d06d
|
saving to file made 4x faster, this implies less latency due to undo buffer savings on freaking big schematics.
|
2021-01-06 03:01:14 +01:00 |
Stefan Frederik
|
ef1f297290
|
more flexibility in constrained move operations (draw wires, lines, copy/move), pressing h/v again toggles constrained / unsonstrained move
|
2021-01-05 01:24:45 +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
|
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
|
94cd0d0c7d
|
hash_hi() made faster by caching sch_path_hash[]
|
2021-01-02 01:55:01 +01:00 |
Stefan Frederik
|
14ead18ea4
|
"propagate_to" attribute for pins renamed to "goto"
|
2020-12-30 21:26:58 +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
|
bcf8986314
|
Some more global state into Xctx
|
2020-12-28 13:44:10 +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
|
40eaefbb82
|
removed logicx() obsoleted function
|
2020-12-26 23:05:07 +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
|
9604b8cc82
|
removed redundant code in calc_drawing_bbox(),removed trim_wires, push & pop undo in print export routines, exported images should be wysiwyg
|
2020-12-25 21:31:15 +01:00 |
Stefan Frederik
|
3f452beb8e
|
Fix: search() "unselect" function was not updating drawing
|
2020-12-25 15:14:41 +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
|
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
|
ae11f27db0
|
make svg/ps font naming consistent between tcl/c. Filter out some code if X not available (command mode)
|
2020-12-22 11:35:42 +01:00 |
Stefan Frederik
|
779c789100
|
better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation
|
2020-12-22 00:13:25 +01:00 |
Stefan Frederik
|
4ddc9654e8
|
add xschem commands for specifying image size for png and pdf: xschem print svg file.svg 800 600; svg background color taken from svg_colors variable so it can be changed like any other color
|
2020-12-21 04:38:57 +01:00 |
Stefan Frederik
|
35efb0228a
|
speed up draw selection for big datasets, make "drill_hilight" work again after hilight infrastructure changes, fix hilight elements with errors after netlisting, after hilight changes
|
2020-12-20 19:48:37 +01:00 |
Stefan Frederik
|
dfa58a0a08
|
spaghetti code removal, more reused code
|
2020-12-20 15:56:29 +01:00 |
Stefan Frederik
|
1184312527
|
various fixes around the highlight speed improvements
|
2020-12-19 05:06:57 +01:00 |
Stefan Frederik
|
a837682731
|
caching "lab" and "highlight" attributes for speed
|
2020-12-19 03:22:38 +01:00 |
Stefan Frederik
|
821ebf06f2
|
optimizations in instance (connected to wires/net labels) highlights
|
2020-12-18 19:22:08 +01:00 |
Stefan Frederik
|
5b4d6ab640
|
postscript fonts in ps/pdf export
|
2020-12-16 18:30:33 +01:00 |
Stefan Frederik
|
e89f0e4505
|
code formatting; xschem(): check for command not found
|
2020-12-13 00:00:48 +01:00 |
Stefan Frederik
|
a3e1564c48
|
option for variable-width grid points for better visibility on hyper-resolution monitors
|
2020-12-12 13:36:39 +01:00 |
Stefan Frederik
|
a642d6e05e
|
if cadlayers set in xschemrc reduce / pad color lists accordingly; handle the case of insufficient number of layers set. Sorted "xschem" command "get" substrings for later lookup optimizations
|
2020-12-08 12:35:21 +01:00 |
Stefan Frederik
|
bb64297b6e
|
better #if/#endif configuration of various xrender/xcb/cairo combinations
|
2020-12-07 20:04:57 +01:00 |
Stefan Frederik
|
17124c761c
|
each schematic windows has its own "current later" (rectcolor)
|
2020-12-06 16:40:08 +01:00 |
Stefan Frederik
|
e7e5ad190b
|
more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now
|
2020-12-06 02:10:53 +01:00 |
Stefan Frederik
|
f9f9de3371
|
added "PWD" button in file load/place component dialog box that brings back to the directory containing current schematic. Selecting a component before doing "place component" will make the file load dialog start from the directory containing the selected component
|
2020-12-05 05:18:35 +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
|
4e08f347da
|
Tcl_SetResult() used in place of Tcl_AppendResult() in xschem() whenever possible
|
2020-12-05 01:20:35 +01:00 |
Stefan Frederik
|
e6d522bf69
|
xschem() tcl extension function (scheduler.c) command lookup made much faster by ordering command strings
|
2020-12-05 00:01:09 +01:00 |
Stefan Frederik
|
2b7e31e0d6
|
add utility functions to create new schematic window
|
2020-12-03 23:17:13 +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
|
a64d69ed7a
|
some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel
|
2020-12-03 04:20:05 +01:00 |
Stefan Frederik
|
8902f3b56b
|
more state in xctx context
|
2020-12-02 19:35:42 +01:00 |
Stefan Frederik
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +01:00 |
Stefan Frederik
|
5533ca87a4
|
updated parselabel.l to allow more generic node names and/or spaces: these are now valid "a a,bb[3 : 0] , ccc", "1,2,3" and various other improvemenst and "ugly" code removals
|
2020-11-30 01:36:28 +01:00 |
Stefan Frederik
|
eda64b7ee1
|
removed event_reporting feature
|
2020-11-29 03:27:45 +01:00 |
Stefan Frederik
|
eb2d143e77
|
more consistent get_tok_value() regarding escaping
|
2020-11-29 01:59:17 +01:00 |
Stefan Frederik
|
d47a569f9f
|
bussed nets/pins in hierTEDAx netlists
|
2020-11-28 16:41:35 +01:00 |
Stefan Frederik
|
0e35d65cac
|
"xschem replace_symbol instance instname" --> "xschem replace_symbol instname", "xschem inst_pin_coord" made slot-aware, added comments in query functions
|
2020-11-26 13:31:42 +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
|
d93826f61c
|
wrap long lines in source code, set default direction of pins to "B"(idirectional) if not specified in spice netlist (no *.PININFO information)
|
2020-11-22 00:51:24 +01:00 |
Stefan Frederik
|
427bce91e7
|
use get_tok_size instead of returned value from get_tok_value() to decide if token was existing or not in attribute string
|
2020-11-21 01:23:00 +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
|
f6e85bc90c
|
replaced select_connected_nets() with faster select_hilight_net(), net_name() used only for displaying net names will not trigger erc messages
|
2020-11-16 15:44:51 +01:00 |
Stefan Schippers
|
90f6d7ee90
|
cleanup debug messages
|
2020-11-16 02:25:43 +01:00 |
Stefan Schippers
|
957b9888d1
|
Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources
|
2020-11-03 12:10:55 +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
|
679348b7f8
|
"Delete files" menu command added
|
2020-10-24 23:46:19 +02:00 |
Stefan Schippers
|
367810f6dc
|
add some hideen commands in menu: "place net label(2)", "highlight net/pin name mismatches of selected instances", "Flip", "Rotate"
|
2020-10-24 23:00:41 +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
|
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
|
c90f188703
|
do not call calc_drawing_bbox() on monster schematics as it takes more time than just drawing the viewport
|
2020-10-18 13:53:58 +02:00 |
Stefan Schippers
|
55723e9429
|
line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview.
|
2020-10-17 00:53:19 +02:00 |
Stefan Schippers
|
7c757f9803
|
removed unused set_fill() function
|
2020-10-16 19:27:19 +02:00 |
Stefan Schippers
|
e7928727d6
|
all xctx context is now a dynamically allocated structure; no observable performace impact
|
2020-10-15 17:39:21 +02:00 |
Stefan Schippers
|
c87f44a441
|
added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname"
|
2020-10-15 15:37:06 +02:00 |
Stefan Schippers
|
35f47beca9
|
force a rebuild selected_array when swapping element order (S key) to rebind correctly. renamed <UNCONNECTED_PIN> to __UNCONNECTED_PIN__ to avoid useless syntax warnings from the node label grammar parser.
|
2020-10-15 02:16:57 +02:00 |
Stefan Schippers
|
f4e5f70de1
|
fix bug in ALLOC() macro, tcl_hook() function
|
2020-10-14 04:12:34 +02:00 |
Stefan Schippers
|
28fe7d993a
|
removed xschem samefile command as there is "file stat" for that
|
2020-10-13 18:10:05 +02:00 |
Stefan Schippers
|
1c2bbc609f
|
added "xschem samefile" command to verify if 2 files are the same entity by comparing inodes, pwd_dir set in xinit.c to $env(PWD) if PWD var is defined as it does not dereference symlinks
|
2020-10-13 17:51:14 +02:00 |
Stefan Schippers
|
8ea275013e
|
updated print_spice_subckt() to reflect updates done in print_spice_element(); abs_sym_path recognize ././././, ./., other strange paths., use $env(PWD) for current_dirname on startup instead of getcwd() if possible, to avoid dereferencing symlinks
|
2020-10-13 16:23:48 +02:00 |
Stefan Schippers
|
64c0abc58e
|
code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively
|
2020-10-12 13:13:31 +02:00 |
Stefan Schippers
|
32f85ac4f4
|
do not force a full hash_wires() on every net insertion; code formatting
|
2020-10-11 13:08:32 +02:00 |
Stefan Schippers
|
077fde9350
|
removed redundant command in xschem() command parser
|
2020-10-11 11:26:22 +02:00 |
Stefan Schippers
|
0ce6f6ba5d
|
when netlisting primitive elements (not subcircuits) the "format", "verilog_format", "vhdl_format, "tedax_format" can be specified in instance attributes to override symbol. This allows to adapt primitives (example digital standard cells) to different design kits without using wrapper subcircuits. Together with "symname" redefinition in instance this allows to completely customize element netlisting.
|
2020-10-11 00:13:52 +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
|
051b20c014
|
code formating, use some intermediate variables for code readability, line length limited to 124 chars
|
2020-10-04 23:55:43 +02:00 |
Stefan Schippers
|
3060217aec
|
simplified complex logical expressions on symbol type by using macros
|
2020-10-04 19:53:09 +02:00 |
Stefan Schippers
|
8807c7250d
|
various graphic rendering fixes for the new "view instance pin net names" function. Fixed some errors in merge schematic in callback.c and paste.c
|
2020-10-02 03:21:22 +02:00 |
Stefan Schippers
|
d706e45987
|
set max width of .c files <=130 chars; Fix netlist regression: if no "lab=value" is given in instance attributes get lab from symbol "template=" string. This was commented out recently and now reverted back. "View->Enable show net names on symbol pins" global menu added: if unset no symbol pin net names will be shown regardless of instance/symbol "net_name=true" and pin @#n:net_name attributes.
|
2020-09-30 23:55:07 +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
|
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
|
f3bedb39a4
|
eliminated any differences between SYMBOL and SCHEMATIC files. There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop have now these attributes in schsymbolprop. Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop.
|
2020-09-14 10:27:45 +02:00 |
Stefan Schippers
|
020c61bc3d
|
fix "saveas SYMBOL" changing current_type to SYMBOL even if user canceled the action; allow "@" in node names as this is used in some backannotated CDL netlists
|
2020-09-10 10:12:51 +02:00 |
Stefan Schippers
|
8626a8a11b
|
added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle displaying instance detals / only bounding box.
|
2020-09-05 00:58:56 +02:00 |
Stefan Schippers
|
8afff69643
|
dashed objects in ps/pdf export
|
2020-09-03 10:05:48 +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
|
11c940aa09
|
fix: fullscreen menu item was not working
|
2020-08-29 22:10:32 +02:00 |
Stefan Schippers
|
316ca11e3a
|
removed (draw|filled).*(.*BEGIN, .*) everywhere as it is not needed (just flush graphics with END is enough)
|
2020-08-29 12:59:27 +02:00 |
Stefan Schippers
|
f1c836fef6
|
set full path for untitled schematic / symbol name
|
2020-08-27 11:39:12 +02:00 |
Stefan Schippers
|
8012c2755f
|
argument # checking in xschem() tcl extender
|
2020-08-19 10:25:11 +02:00 |
Stefan SChippers
|
7cab8d9e73
|
fix unterminated result in subst_token()
|
2020-08-17 14:35:45 +02:00 |
schippes
|
c5440c2b0f
|
make get_tok_value() and subst_tok() work well also with strings containing tokens with no value.
|
2020-08-17 01:08:13 +02:00 |
schippes
|
574900e1df
|
combobox is editable so new attributes can be directly typed in
|
2020-08-16 15:08:17 +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 |
Stefan SChippers
|
5e8df730a0
|
populating xschem git repo
|
2020-08-08 15:47:34 +02:00 |