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 |