stefan schippers
|
89d847fb62
|
fix a bug in `xschem annotate_op` function not showing data if `Live annotation...` option was not set beforehand.
|
2023-06-12 09:13:20 +02:00 |
stefan schippers
|
818950980c
|
drill_hilight(): propagate unnamed nets connected to multiple instances (R1[3:0]), do not try to get single bits out of unnamed nets, as the whole netname is hashed
|
2023-06-12 07:25:05 +02:00 |
stefan schippers
|
fc897c641b
|
fix a potential crash if a ngspice_probe.sym device is placed and live cursor annotation is enabled (this instance has no lab attribute)
|
2023-06-11 07:24:00 +02:00 |
stefan schippers
|
394db224d1
|
added global tcl variable `lvs_ignore` that can be used to enable instance or symbol attributes `lvs_ignore=open` or `lvs_ignore=short` while netlisting, added `test_lvs_ignore.sch` example
|
2023-06-06 15:22:45 +02:00 |
stefan schippers
|
a3ac9f6d1d
|
fix portmap of single-bit unnamed nets in descend_schematic() (do not add [0] to single bit #netxxx nets)
|
2023-06-05 13:27:19 +02:00 |
stefan schippers
|
4f387f3bbe
|
disable displaying backannotation data if `b` cursor is hidden or `Simulation->Live annotation with b cursor` is disabled. Use resolved_net() in translate() when displaying @spice_get_voltage so it will work on sub block ports
|
2023-06-05 12:58:19 +02:00 |
stefan schippers
|
1ea1e835ae
|
@spice_get_voltage: do not process if net is a multiple bit bundle
|
2023-06-02 08:10:47 +02:00 |
stefan schippers
|
0d44c0ce13
|
fix wrong pin label net gathering in translate()
|
2023-06-02 07:48:09 +02:00 |
Stefan Schippers
|
f5c592c889
|
xschem resolved_net command: add [net] parameter; instcheck(): use inst[].lab instead of get_tok_value(inst[].prop_ptr, "lab",0)
|
2023-06-01 18:00:47 +02:00 |
Stefan Schippers
|
f3f12da486
|
updated test_extracted_netlist.sch example
|
2023-06-01 16:02:40 +02:00 |
stefan schippers
|
620217788f
|
do not process @#n:resolved_net attributes if net_name=true not set on symbol or instance and option "show netnames on symbol pins/floaters" is not enabled
|
2023-05-28 08:13:01 +02:00 |
stefan schippers
|
bb9ad82d80
|
fix memory leak when using new resolved_net() fn
|
2023-05-27 14:13:50 +02:00 |
stefan schippers
|
cf61c253c5
|
fix a bug in my_mstrcat if an empty string is appended; add resolved_net(n) function that returns the top-most hierarchy name of the net mapping to upper level port connections if any; add xschem resolved_net comand that returns the resolved_net of selected wire/label/pin; add @#n:resolved_net pattern in symbol texts that uses resolved_net
|
2023-05-27 11:20:49 +02:00 |
stefan schippers
|
d993292f0f
|
fix unindented lines
|
2023-05-23 10:16:38 +02:00 |
stefan schippers
|
e7366741ed
|
allow @#n:pin_attr or @#pin_name:pin_attr in verilog and vhdl format string (print_vhdl_primitive, print_verilog_primitive), in addition to @#n (convergence to translate()
|
2023-05-23 09:58:28 +02:00 |
stefan schippers
|
32460f33c9
|
improved "xschem display_hilights [nets|instances]" that displays highlight nets or instaces or both,with full hierarchy path, not including uninteresting net/pin/net_show elements.
|
2023-05-23 09:10:01 +02:00 |
Stefan Schippers
|
1774ff4e3a
|
allow @#n:pin_attr or @#pin_name:pin_attr in spice format string (print_spice_element), in addition to @#n (convergence to translate()
|
2023-05-22 21:50:14 +02:00 |
stefan schippers
|
5c22d26072
|
update copyright info to 2023
|
2023-05-21 12:52:19 +02:00 |
stefan schippers
|
71c04ad071
|
fix unneeded there_are_floaters() call in callback.c
|
2023-05-16 09:52:23 +02:00 |
stefan schippers
|
96eea54894
|
some code refactoring, duplicate code replaced with set_inst_flags(), set_sym_flags(), various fixes/optimizations about floaters
|
2023-05-14 12:58:25 +02:00 |
stefan schippers
|
9fcde30a52
|
do not perform tcl substitution before displaying netlist_commands text into an editor. Correctly restore xctx->current_dirname after netlisting. get_generator_command(): quote command name (just in case its pathname contains spaces). floater example labels in solar_panel.sch. Various corrections and optimizations in new floater labels code.
|
2023-05-14 01:13:18 +02:00 |
stefan schippers
|
ee1979b8b2
|
low level functions for floaters and floater text caches is implemented
|
2023-05-13 13:13:35 +02:00 |
stefan schippers
|
1e74b21c49
|
get_trailing_path(): do not confuse generator extension with schematic/symbol extension
|
2023-05-10 04:08:47 +02:00 |
stefan schippers
|
d23388ff71
|
fix cmd memory leak in load_ym_def(), make copy of returned string in some routines to reduce dependencies
|
2023-05-04 23:23:54 +02:00 |
stefan schippers
|
2438d0fa95
|
translate2(): better handle %xxx tokens in LCC symbols (propagate %xxx to upper level if not assigned to anything in instance)
|
2023-05-02 23:21:20 +02:00 |
stefan schippers
|
7e1f591b18
|
align TOK_TOKEN state change of translate() and translate2() to all other parsers
|
2023-05-02 18:54:27 +02:00 |
stefan schippers
|
9533b17a20
|
Allow to pass instance attributes (via translate() ) to symbol generators
|
2023-05-02 12:42:53 +02:00 |
stefan schippers
|
a9ffa50ed8
|
add "ndir" parameter to get_sym_name(), some fixes in sym_vs_sch_pins()
|
2023-05-01 23:17:57 +02:00 |
stefan schippers
|
ae8931c788
|
remove bbox() START/ADD/SET/END from some drawing operations. No observable performance impact and redraw is now more pixel precise, reducing artifacts.
|
2023-05-01 22:28:56 +02:00 |
stefan schippers
|
4c3b4d0321
|
various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command
|
2023-05-01 14:37:10 +02:00 |
stefan schippers
|
d9d66c1c90
|
removed redundant skip_dir(...) (use get_cell(..., 0) ), fix a couple of glitches in postscript export (filled polygons with self-coincident edgs, fix filled arc pies (missing point)
|
2023-04-26 23:00:20 +02:00 |
stefan schippers
|
7a16859702
|
update tedax netlister with previous enhancements
|
2023-04-26 10:26:21 +02:00 |
stefan schippers
|
10441ef901
|
allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references
|
2023-04-26 09:54:35 +02:00 |
stefan schippers
|
68cf318134
|
load_sym_def(): removed embedded parameter, recognize generator names and pipe in data from generator instead of loading from file. No more set flags for generated symbols to EMBEDDED
|
2023-04-24 23:56:56 +02:00 |
stefan schippers
|
cd6ef78841
|
schematic generator netlisting seems to work. renamed is_symgen() -> is_generator()
|
2023-04-24 13:26:04 +02:00 |
stefan schippers
|
94d1865127
|
fix save_inst resetting all symbols EMBEDDED flags, not only the used symbols in current schematic. Created get_generator_command(), will be used also for schematic generators
|
2023-04-24 11:36:07 +02:00 |
stefan schippers
|
3facbf6428
|
spice netlisting of schematics with parametrized symbol generators should work
|
2023-04-23 00:37:31 +02:00 |
stefan schippers
|
f1ed2bf26f
|
fixed is_symgen() regex, added stup for tutorial_symbol_generators.html
|
2023-04-22 11:29:44 +02:00 |
stefan schippers
|
d5aca937ce
|
removed debug messages
|
2023-04-22 00:55:34 +02:00 |
stefan schippers
|
9eb4e9440c
|
handle symbol_ref(param1,param2,...) symbol generator scripts, added some utility functions str_chars_replace(), is_symgen(), fix some quoting/backslash subst issues in get_sym_template()
|
2023-04-21 11:41:20 +02:00 |
stefan schippers
|
631fedb11b
|
enabled escape_chars convenience function, added "embedded" parameter to load_sym_def() to better distinguish loading an embedded symbol from loading a regular symbol with a provided file descriptor
|
2023-04-20 10:44:31 +02:00 |
stefan schippers
|
6c364a74cc
|
revert str_replace @symname in print_spice_subckt_nodes()
|
2023-04-18 00:49:25 +02:00 |
stefan schippers
|
a5492be752
|
print_spice_subckt_nodes(): use (improved to handle escape chars) str_replace() to substitute @symname, added xschem str_replace, improved xschem symbols
|
2023-04-18 00:20:40 +02:00 |
stefan schippers
|
728cfb22fc
|
print_spice_subckt_nodes(): remove closing bracket in case of tcleval(...) failure
|
2023-04-17 10:33:45 +02:00 |
stefan schippers
|
590bf8b6ec
|
add instance based "schematic=..." attribute. This allows multiple instances of the same symbol to have different implementations.
|
2023-04-12 18:28:19 +02:00 |
stefan schippers
|
a8e95e220b
|
if a custom format netlist is given (for example lvs_netlist) and lvs_netlist attribute in instance or symbol is existing but empty device will not be netlisted
|
2023-03-10 18:36:55 +01:00 |
stefan schippers
|
bf6b20a1ce
|
In source Documentation (scheduler.c) of xschem commands, html docs updated
|
2023-03-03 18:29:17 +01:00 |
stefan schippers
|
ebf4fa1f44
|
Initialize stack2[] to double 0.0
|
2023-03-01 18:34:07 +01:00 |
stefan schippers
|
a8aaf996e7
|
use pre-increment where expression is not used
|
2023-02-18 09:44:11 +01:00 |
stefan schippers
|
42c3024eda
|
remove debug allocation IDs
|
2023-02-09 21:06:27 +01:00 |
stefan schippers
|
3be9a66aed
|
fix memory leak in table_read()
|
2023-02-09 21:04:22 +01:00 |
stefan schippers
|
29ef08e84b
|
better memory tracking reporting (my_strcat and my_strncat allocations)
|
2023-02-01 11:38:28 +01:00 |
stefan schippers
|
1da5e47d4a
|
remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk
|
2023-01-23 15:42:15 +01:00 |
Stefan Schippers
|
e7851d01db
|
"xschem set format <fmt_attribute>" will change netlisting format attribute instead of default "format" (or verilog_format or vhdl_format), however fallback to default netlisting rule attribute if not defined in symbol. add tcl function "from_eng <n>" to convert spice formatted numbers to floating point
|
2022-11-23 16:16:38 +01:00 |
schippes
|
0d2738254a
|
added verilogprefix symbol attribute: will be prefixed to symbol name references in verilog netlists
|
2022-11-22 16:30:59 +01:00 |
Stefan Frederik
|
3d49ca63c9
|
avoid tcleval() of strings returned by translate2(), show currents of resistors and diodes when annotating.
|
2022-11-04 13:35:06 +01:00 |
Stefan Frederik
|
4bb321af68
|
add @path attribute for spice/verilog/vhdl/tedax backends
|
2022-11-02 00:47:59 +01:00 |
Stefan Frederik
|
fe0dc46c81
|
remove debug msgs
|
2022-11-01 12:57:29 +01:00 |
Stefan Frederik
|
b0a88325e7
|
"@path" will be expanded in symbols with the hierarchy path, so a fully qualified instance name is obtained with @path@name
|
2022-11-01 12:54:43 +01:00 |
Stefan Frederik
|
cb652adb5f
|
skip NULL or empty texts in draw_symbol, translate2() skip @@... and @#... tokens (return empty)
|
2022-10-21 17:48:54 +02:00 |
Stefan Frederik
|
a6dc3d47c3
|
cache embed attribute of instances for faster lookup
|
2022-10-21 11:04:20 +02:00 |
Stefan Frederik
|
e34211368f
|
translate2() fix recursive param substitution
|
2022-10-20 23:31:02 +02:00 |
Stefan Frederik
|
0f25befe31
|
recursive attribute substitution. use also template attribute of parents if not found in instance prop_ptr
|
2022-10-20 10:30:48 +02:00 |
Stefan Frederik
|
f6207070d0
|
translate() --> @spice_get_current(): find last hier.separator occurrentce with strrchr()
|
2022-10-16 23:57:07 +02:00 |
Stefan Frederik
|
e8b2385f24
|
update xschemtest hashes, uniquify allocation IDs
|
2022-10-16 14:21:22 +02:00 |
Stefan Frederik
|
91ba5fd1d3
|
annotation of voltage and currents in (nested) LCC instances
|
2022-10-16 13:08:52 +02:00 |
Stefan Frederik
|
0e6c35f598
|
translate2(): return @spice_get_voltage* strings unchanged; get rid of "@#..." tokens in translate2 (return empty)
|
2022-10-15 22:50:18 +02:00 |
Stefan Frederik
|
3adb192936
|
@spice_get_voltage(net) error checking
|
2022-10-15 10:52:07 +02:00 |
Stefan Frederik
|
56b63df2fc
|
added @spice_get_voltage(net) recognize in translate() for voltage value update inside LCC schematics
|
2022-10-15 10:08:58 +02:00 |
Stefan Frederik
|
adf477fbcc
|
optimization in translate(): @spice_get_voltage will use the "lab" attribute (if existing) to build up the net name to look up in raw file, before reverting to a call to net_name() to get the net from the attached net
|
2022-10-15 08:55:32 +02:00 |
Stefan Frederik
|
a820cc2e3f
|
removed (now) duplicated inst_hash_lookup: use int_hash_lookup. Search function does not highlight nets if searching for something that is not "lab"
|
2022-10-12 13:14:48 +02:00 |
Stefan Frederik
|
7a1fbb4809
|
better check_unique_names() and hash_all_names() implementation (do not skip label instances or instances with no format attr). Button click focuses main drawing window even if autofocus_mainwindow is set to 0, to avoid losing keyboard focus forever if TAB is pressed.
|
2022-10-12 11:56:02 +02:00 |
Stefan Frederik
|
7d016eab28
|
small netlist syntax fix in token.c (correctly skip VHDL time attributes), tedax backend: avoid printing mapping comments for duplicated pins
|
2022-10-12 09:32:37 +02:00 |
Stefan Frederik
|
3f627123b2
|
persists highlights on instances: remove highlighted instance from hash if user selects and presses ctrl-k as it is done for nets. Avoid instance highlight to also highlight net with identical name (example instance x1 and net x1). Verilog and Vhdl netlists handle duplicated (pass-through) pins
|
2022-10-11 13:12:17 +02:00 |
Stefan Frederik
|
150c2663b9
|
added netlist_options as list of symbols not to load in schematics-as-symbol instances, load_file_dialog: make remember last dir work again
|
2022-10-09 23:49:28 +02:00 |
Stefan Frederik
|
c5e91f209e
|
allow to use @pinlist in format string even for symbols with duplicated ports. Duplicated entries will be skipped. Add component_browser_on_top tcl variable in xschemrc (default setting: enabled (1) to enable or disable component browser window always on top
|
2022-10-05 16:47:34 +02:00 |
Stefan Frederik
|
5fe2f1586b
|
refactor str_hash_* and int_hash_* functions
|
2022-10-05 01:18:45 +02:00 |
Stefan Frederik
|
06fc742e60
|
doc updates about {verilog,vhdl,spice}_sym_def, fix regression (possible crash) in verilog_block_netlist (thanks to Joanne), fix regression (wrong verilog test netlist) in print_verilog_primitive() (thanks to Joanne)
|
2022-10-04 00:37:09 +02:00 |
Stefan Frederik
|
64d947a9dd
|
fix extra and verilog_extra handling in instance lines (verilog netlists)
|
2022-10-03 09:10:58 +02:00 |
Stefan Frederik
|
d174306880
|
added verilog_extra attribute for list of implicit node connections to symbol in verilog netlists. extra attribute still used in verilog as a list of attributes NOT use as component attributes / symbol parameters.
|
2022-10-03 01:20:33 +02:00 |
Stefan Frederik
|
28c644fba7
|
doc updates (new graph functions)
|
2022-10-02 20:52:17 +02:00 |
Stefan Frederik
|
db94f9fb25
|
@pinlist will be comma separated in verilog netlists
|
2022-10-01 09:46:58 +02:00 |
Stefan Frederik
|
b7c7c336dd
|
added vhdl_sym_def, spice_sym_def, verilog_sym_def attributes for symbols. If defined and not empty the corresponding netlister will insert the content of the attribute instead of the subcircuit schematic implementation. Typically used to include a definition file. Updated documentation
|
2022-09-29 11:59:43 +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
|
9dc1fde024
|
remove dbg messages
|
2022-09-22 17:40:36 +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
|
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
|
e67ff344c8
|
cleanup/rename some xctx variables and graph-related functions, avoid drawing graphs using data file loaded from from schematics that are unmatched with current schematic or up in the hierarchy levels
|
2022-09-21 11:25:45 +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
|
e2846daca5
|
inst_hash_lookup() will insert and lookup only instance basename (x1[3:0] --> x1) so better and stronger uniquenes of instance names is ensured. ngspice_backannotate accepts a filename (if not given assume as before <circuit_name>.raw)
|
2022-09-12 12:01:26 +02:00 |
Stefan Frederik
|
f78fc5494d
|
set_text_custom_font xctx->cairo_ctx can be NULL when netlisting without X with 0_examples_top.sch; net_name(..) doesnt work on duplicate pin for test_doublepin.sch so added back the condition in rev 2243; added HAS_CAIRO directive to compile on Windows that dont have CAIRO turned on.
remove some old unused variables
|
2022-09-08 20:58:12 +02:00 |
Stefan Frederik
|
ae1bed65f4
|
added [t]rack bindkey in graph to display the wave closest to mouse in multiple dataset plots
|
2022-09-02 17:11:50 +02:00 |
Stefan Frederik
|
e7c4111f8e
|
simplified print_tedax_subckt, some optimizations in netlisting code (avoid some strdups)
|
2022-09-01 17:25:25 +02:00 |
Stefan Frederik
|
77d76e1a8f
|
add commands "xschem set format ..." and "xschem get format" to change format attribute used for netlisting, overriding defaults
|
2022-08-31 10:47:16 +02:00 |
Stefan Frederik
|
adc4eb96c8
|
fix net_name() crashing if inst[i].node==NULL. This may happen when pasting a component that contains a @@xxx token, that needs to be expanded to attached netname, however since we are moving the component no net name is defined --> .node==NULL.
|
2022-08-30 02:44:28 +02:00 |
Stefan Frederik
|
5100803673
|
translate() optimization
|
2022-08-26 09:20:30 +02:00 |
Stefan Frederik
|
dffc266e0d
|
improve test_backannotated_subckt.sch example, remove dbg messages
|
2022-08-23 10:44:00 +02:00 |
Stefan Frederik
|
0f5881cd61
|
print_spice_subckt(): check for tcl_hook2() errors, check for NULL in strtoupper/strtolower, fix unitialized local variable
|
2022-08-23 10:01:32 +02:00 |
Stefan Frederik
|
20d1080171
|
improve uniqueness name checking (do not consider non netlist elements, like pins, title, etc)
|
2022-08-21 11:55:34 +02:00 |
Stefan Frederik
|
ef2e059c59
|
instance names (refdes) are hashed as uppercase, so collision check will be case insensitive, if enabled
|
2022-08-21 10:22:56 +02:00 |
Stefan Frederik
|
2502208671
|
if a subcircuit has spiceprefix set in template string do not consider it as an attribute to dump in netlist as a subckt parameter (.subckt xxxx A B C spiceprefix=X)
|
2022-08-20 11:23:18 +02:00 |
Stefan Frederik
|
c1d229b917
|
better str_replace() implementation
|
2022-08-18 10:21:14 +02:00 |
Stefan Frederik
|
a3828e6641
|
redo r2216 change in a different way to avoid regressions
|
2022-08-18 01:45:02 +02:00 |
Stefan Frederik
|
15d8b8f1c8
|
reverted 2216 changes as these cause regressions. token.c back to r2215
|
2022-08-17 20:37:29 +02:00 |
Stefan Frederik
|
6e8af5410b
|
all get_tok_value() calls in netlisting code will do tcl substitution (if attributes wrapped into tcleval()) to allow full conditional symbol netlisting
|
2022-08-17 09:09:00 +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
|
0e25935254
|
added @topschname predefined attribute that expands to the toplevel schematic name (no path) with no .sch extension
|
2022-08-10 01:45:07 +02:00 |
Stefan Frederik
|
cd7eb3ab54
|
update license info
|
2022-06-24 00:36:12 +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
|
f882918931
|
more conversion warnings suppressed
|
2022-04-28 10:12:16 +02:00 |
Stefan Frederik
|
bcb1f57b27
|
allow spiceprefix in subcircuit format strings
|
2022-04-24 13:59:35 +02:00 |
Stefan Frederik
|
069017e07c
|
recursively resolve parameter passing throughout hierarchy and show resolved value in leaf cells if possible
|
2022-03-07 01:42:53 +01:00 |
Stefan Frederik
|
d457565c2d
|
declared more functions static where possible and appropriate
|
2022-02-19 14:31:55 +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
|
b697ec448d
|
fix find_nth if multiple / leading separators are present
|
2022-02-13 12:12:37 +01:00 |
Stefan Frederik
|
13aca67a4d
|
find_nth() generalized to accept multiple separators
|
2022-02-13 11:24:38 +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
|
e37d5a28b8
|
more flexible my_strtok_r (handle quoting and escapes), allow quoted expressions in graphs for doing math on vectors
|
2022-02-07 03:52:42 +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
|
6fb20b8c5e
|
(only) on fat32 or similar case insensitive FS and if case_insensitive is set to 1 in xschemrc do not consider case in symbol lookup
|
2022-02-04 02:56:11 +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
|
bf624cfc77
|
fix typos
|
2022-01-26 15:31:32 +01:00 |
Stefan Frederik
|
f5fd1ef352
|
use cairo png export if Xrender extensions present (alpha), editprop code for graph node list
|
2022-01-26 15:20:00 +01:00 |
Stefan Frederik
|
348802c655
|
fix clipping for image redraw speed-up, embedded raster png/jpg in svg exports
|
2022-01-23 22:41:24 +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
|
54fcf126f6
|
doc updates (sym attributes)
|
2022-01-11 04:17:17 +01:00 |
Stefan Frederik
|
71a98e78f5
|
don`t try bring up the info ERC window if xschem is used in cli mode without X; filter out some events from graph event callback
|
2022-01-06 22:38:00 +01:00 |
Stefan Frederik
|
09d8474a2c
|
fix measure data in multiple sweep/wraps graphs
|
2022-01-05 17:38:01 +01:00 |
Stefan Frederik
|
a0e057a52d
|
added typedefs on used structs, updated xschemtest with new hashes
|
2021-12-28 01:33:01 +01:00 |
Stefan Frederik
|
b11955a3aa
|
[experimental] better wave labels positioning in graphs
|
2021-12-23 03:43:34 +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
|
0c9eff16d9
|
my_round() function instead of ROUND() macro
|
2021-12-17 15:40:19 +01:00 |
Stefan Frederik
|
d44c733fae
|
find_inst_to_be_redrawn(): avoid unneeded call to int_hash_free() if no show net name option active; inst_hash_lookup(): store only pointers to instnames, avoiding strdups
|
2021-12-09 18:01:54 +01:00 |
Stefan Frederik
|
5b01b0c4f1
|
xctx->inst[].instname set (whenever changing it) directly in new_prop_string()
|
2021-12-09 17:25:27 +01:00 |
Stefan Frederik
|
b0010322ec
|
remove redundant assignment
|
2021-12-09 14:07:26 +01:00 |
Stefan Frederik
|
8eaada23f0
|
static function rename
|
2021-12-09 13:43:00 +01:00 |
Stefan Frederik
|
6458fdc5bd
|
unsigned char cast in hash functions
|
2021-12-09 00:34:43 +01:00 |
Stefan Frederik
|
fa25edabec
|
fix 3 potential (small) memory leaks
|
2021-12-08 00:38:19 +01:00 |
Stefan Frederik
|
5a91aec3ff
|
translate() refactoring/cleanup
|
2021-12-07 20:33:11 +01:00 |
Stefan Frederik
|
5503786979
|
translate(): recognize @@ and @# token patterns to avoid useless get_tok_value() calls
|
2021-12-07 19:43:57 +01:00 |
Stefan Frederik
|
1e2983483f
|
comment out a couple of dbg lines in inner loops for performance
|
2021-12-07 19:15:37 +01:00 |
Stefan Frederik
|
19f0fd3c6e
|
optimizations in calc_drawing_bbox() (less get_tok_value() calls), optimizations in bus_hilight_hash_lookup() (less expandlabel() calls)
|
2021-12-07 02:18:23 +01:00 |
Stefan Frederik
|
e449543805
|
tclvareval() wrapper
|
2021-12-05 12:39:05 +01:00 |
Stefan Frederik
|
02173373cb
|
some little optimizations, redundant code removed, better formatting in globals.c
|
2021-12-02 13:28:40 +01:00 |
Stefan Frederik
|
fe549c0f5c
|
readable function pointer call syntax
|
2021-11-29 11:52:32 +01:00 |
Stefan Frederik
|
03f973e203
|
use undo function pointers
|
2021-11-28 14:35:55 +01:00 |
Stefan Frederik
|
01b3401e43
|
in memory undo now saves / restores all symbol definitions, so no re-link to instances operation is needed
|
2021-11-28 13:16:01 +01:00 |
Stefan Frederik
|
d03147dce1
|
more consistent naming convention for hash table functions
|
2021-11-23 15:03:51 +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
|
a495ada2ed
|
When saving a schematic issue a warning if disk file has been changed since opening
|
2021-11-20 13:33:40 +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
|
d1a922643d
|
Bunch of function static variables moved into xctx struct for safety
|
2021-11-18 01:55:01 +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
|
59198f2dda
|
removed a whole bunch of global UI-related variables and tcl/C redundancies
|
2021-11-10 13:43:08 +01:00 |
Stefan Frederik
|
afa8a2d2d7
|
simpler yet better hash function
|
2021-10-31 23:38:52 +01:00 |
Stefan Frederik
|
c8f6b66fdd
|
new string hash function
|
2021-10-31 22:34:31 +01:00 |
Stefan Frederik
|
52c508423e
|
eliminated duplicated string hash functions
|
2021-10-31 13:35:06 +01:00 |
Stefan Frederik
|
04e670b3cf
|
fine tuning of previous commit
|
2021-10-26 00:04:13 +02:00 |
Stefan Frederik
|
b81325ea00
|
code cleanup, comments, more globals in Xctx context structure
|
2021-10-25 17:05:43 +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
|
18e78a754c
|
token prefix for LCC embedded schematics changed from $ to %. LCC schematics saved with embedded symbols should need to be edited (replace $ with %)
|
2021-10-17 22:31:07 +02:00 |
Stefan Frederik
|
95c0ad1572
|
better identify commented pieces of code
|
2021-10-17 22:05:55 +02:00 |
Stefan Frederik
|
6210f60232
|
fix erroneous removal of get_tok_size initialization to 0 in get_tok_value() (thanks to Joanne Low)
|
2021-09-23 21:06:14 +02:00 |
Stefan Frederik
|
08b5a3c87a
|
fix tcleval(...) evaluation in spice netlist. it was disabled
|
2021-09-22 09:49:59 +02:00 |
Stefan Frederik
|
f9ef05eabe
|
execute tcleval(...) wrapped attributes in global tcl context, fix a bug (chopped newlines) in tclpropeval2 tcl proc
|
2021-09-20 12:08:24 +02:00 |
Stefan Frederik
|
46f5f9356a
|
fix print_spice_element() for correct netlisting when tcleval(...) is used in some component attributes
|
2021-09-20 02:36:25 +02:00 |
Stefan Frederik
|
434e0f012b
|
Any attribute embedded in a tcleval(....) construct will be passed by get_tok_value() down to tcl for evaluation. This generalizes what was done for the "schematic" attribute in 20210617
|
2021-09-20 00:55:33 +02:00 |
Stefan Frederik
|
00311e7ff1
|
update license info
|
2021-07-27 16:42:54 +02:00 |
Stefan Frederik
|
25d7d323a4
|
force ERC info window showing in case of critical errors during netlist (unconnected nodes, shorted nodes, pin mismatch between sch and sym and similar)
|
2021-07-14 23:32:59 +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
|
fd6e5a6015
|
if bussed symbol ports are unconnected generate array of unconnected nets to match port multiplicity
|
2021-05-11 11:16:13 +02: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
|
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
|
acb1c28921
|
find_inst_to_be_redrawn() fix speed issue when auto-net name showing is enabled: evaluate out of any operation loop, using hash table of changed nodes
|
2021-01-07 16:35:57 +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
|
b63d3bec09
|
finalizing "select nets up to junctions"
|
2021-01-03 01:26:54 +01:00 |
Stefan Frederik
|
94cd0d0c7d
|
hash_hi() made faster by caching sch_path_hash[]
|
2021-01-02 01:55:01 +01:00 |
Stefan Frederik
|
bcf8986314
|
Some more global state into Xctx
|
2020-12-28 13:44:10 +01:00 |
Stefan Frederik
|
4687133b5f
|
fix unfreed pointer in get_logic_value()
|
2020-12-28 12:29:57 +01:00 |
Stefan Frederik
|
47ed76374e
|
fix value for "non hilight condition" on instance .color field as small negatives are used for simulation
|
2020-12-28 04:47:26 +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
|
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
|
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
|
780b994aeb
|
use short data type for small integer data: rot, flip, dash, bus etc...
|
2020-12-05 03:16:01 +01:00 |
Stefan Frederik
|
fe46725c0c
|
in case of vector instance names and spiceprefix attr set apply spiceprefix to all members, not only on first one
|
2020-12-02 17:33:01 +01:00 |
Stefan Frederik
|
e279262f00
|
more globals into xctx context struct
|
2020-12-02 15:10:47 +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
|
db8186c213
|
fix mapping issue in hiertEDAx code. Thanks to Hannu for pointing it out. Allow newlines in (quoted) long vector labels, like: "AAA,BBB,\nCCC,DDD,EEE"
|
2020-11-30 21:01:33 +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
|
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
|
9c5739b0f2
|
allow tEDAx (flattened) netlisting of hierarchical schematics; added pcb/hierarchical_tedax example
|
2020-11-24 02:54:45 +01:00 |
Stefan Frederik
|
7d2875649f
|
fix $tok_list --> [list $tok_list] in text_line proc, so weird input does not cause issues in token parsing
|
2020-11-23 02:15:34 +01:00 |