stefan schippers
|
05d61b3987
|
optimization: replace some sumbol "template" token lookups with existing cached sym[].templ field
|
2025-02-02 23:59:41 +01:00 |
stefan schippers
|
c9f60ce1c8
|
clanup / better implementation of previous fix
|
2025-01-20 18:39:46 +01:00 |
stefan schippers
|
c52ded63b0
|
complete previous fix
|
2025-01-20 18:21:12 +01:00 |
stefan schippers
|
7523c0015c
|
correctly mangle generator calls with parameters containing forbidden characters. Transliterate to get valid SPICE identifiers
|
2025-01-20 17:54:06 +01:00 |
stefan schippers
|
4f31c024c8
|
add option -noalert to `xschem netlist` command, update `proc cellview`
|
2025-01-19 23:29:41 +01:00 |
stefan schippers
|
59e7872f67
|
reduce some pointer indirections to array subscripts (readability)
|
2025-01-10 16:00:47 +01:00 |
stefan schippers
|
69a23355fb
|
refactor some debug print messages for NULL strings
|
2025-01-04 11:33:58 +01:00 |
stefan schippers
|
20359ed43e
|
update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions
|
2024-11-12 20:23:18 +01:00 |
stefan schippers
|
92c99c10f9
|
get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl
|
2024-11-05 13:59:37 +01:00 |
stefan schippers
|
02a891b173
|
further streamlined hash lookup functions
|
2024-10-14 15:35:53 +02:00 |
stefan schippers
|
c0474a139d
|
simplified hash table lookup functions (indirect pointer)
|
2024-10-14 14:39:22 +02:00 |
stefan schippers
|
e4d9594065
|
small cosmetic changes in hash tables (initialization of next pointer)
|
2024-10-14 12:13:19 +02:00 |
stefan schippers
|
1dd3e28b32
|
remove memory tracking alloc IDs
|
2024-09-06 22:27:05 +02:00 |
stefan schippers
|
391464bab9
|
fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval()
|
2024-09-06 22:19:36 +02:00 |
stefan schippers
|
4f0c3afa23
|
port ordering for a schematic .subckt line will always be deduced from the symbol if it exists, even if the symbol type is not "subcircuit" (so it will be used for also "primitive" type symbols).
|
2024-08-24 08:21:08 +02:00 |
stefan schippers
|
f850877b1e
|
added tcl variable top_is_subckt and related Simulation->LVS menu, that keeps top level wrapped inside a .subckt / .ends, as lvs_netlist does. However top_is_subckt does only that and will not enable lvs_format to differentiate device lines in netlist (usually used for LVS comparison).
|
2024-08-06 12:20:32 +02:00 |
stefan schippers
|
f267077e99
|
allow @symname , @param (param defined in symbol template string) translation in instance or symbol spice_sym_def attributes
|
2024-06-14 08:21:43 +02:00 |
stefan schippers
|
9f368d32e5
|
sim_pinnumber attribute on schematic pins will be used for top level .subckt pin ordering if no corresponding symbol exists when creating a spice netlist
|
2024-05-31 09:07:56 +02:00 |
stefan schippers
|
35cac9bf22
|
netlist errors (if xschemrun from cmdline) return exit code 10
|
2024-05-17 00:20:27 +02:00 |
stefan schippers
|
be06ed50cb
|
if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line
|
2024-05-09 02:10:45 +02:00 |
stefan schippers
|
69ecb82750
|
in intuitive_interface allow to trigger laucher() by ctrl-click (if no mouse is moved), do not clear set_first_sel() data in intuitive_interface when clicking (without moving) multiple objects, better recognize .subckr or .model name in device_model attributes
|
2024-04-18 11:40:51 +02:00 |
stefan schippers
|
203cf38e1e
|
add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor
|
2024-02-24 13:15:43 +01:00 |
Stefan Schippers
|
91bcdfae20
|
spice_netlist(): do a round of tcl_hook2() (resolve tcleval(...)) on device_model attribute
|
2024-02-11 17:41:10 +01:00 |
stefan schippers
|
531a9c168c
|
pass @device_model in symbols through translate() if it contains @xxx tokens
|
2024-02-11 11:47:13 +01:00 |
stefan schippers
|
1cbbed77ba
|
first commit for parametric models in subckts --DO NOT USE--
|
2024-02-09 17:00:56 +01:00 |
stefan schippers
|
8ec3e52122
|
allow parametric models in subcircuits. Symbol inv.sym contains template="... modp=cmos_p_10 ...", pmos instance in inv.sch contains model=@modp, instance format string contains format="@name @pinlist @model w=@w l=@l, result is: "m2 y a VCCPIN VCCPIN cmos_p_10 w=wp l=lp"
|
2024-02-03 13:43:18 +01:00 |
stefan schippers
|
9ceb274b5e
|
print_spice_element(): when expanding format @variables, if substituted value contains @var do another round of translate() to replace @var with instance assigned var=xxx value
|
2024-01-21 00:00:01 +01:00 |
Stefan Schippers
|
289a979c61
|
translate() on device_model inst attr: avoid tcl_hook2 in get_tok_value() as already done in translate()
|
2024-01-20 19:52:16 +01:00 |
Stefan Schippers
|
e50c6f0df1
|
pass instance `device_models=...` attribute through translate() so @vars are resolved
|
2024-01-20 19:40:49 +01:00 |
stefan schippers
|
ed477b90a5
|
eps export
|
2023-12-12 01:14:40 +01:00 |
stefan schippers
|
7a39f4d6ca
|
better resolution of exported graphs in ps/pdf and svg
|
2023-12-09 23:39:33 +01:00 |
stefan schippers
|
6c1dadd27c
|
flush unused symbols at end of netlist
|
2023-12-02 23:25:54 +01:00 |
stefan schippers
|
b2965f4c3d
|
attribute default_schematic=ignore: if set in a symbol xschem will not descend into the default schematic associated to symbol. Instances MUST specify a schematic attribute
|
2023-12-02 13:17:32 +01:00 |
stefan schippers
|
eb6f9f1f4e
|
fix a small memory leak in spice_netlist.c
|
2023-11-21 10:48:56 +01:00 |
stefan schippers
|
48a9a94ab2
|
offloaded proc graph_tag_nodes from proc graph_update_nodelist, moved rcode and colors into tctx:: context
|
2023-11-17 14:05:49 +01:00 |
stefan schippers
|
397293f227
|
spice netlist: use symbol for port list of top level schematic only if it is of type subcircuit
|
2023-11-16 23:37:16 +01:00 |
stefan schippers
|
a50bfb3622
|
when doing spice netlisting if top level has a symbol (and the symbol has i/o ports) use the symbol for printing the top level subckt port list. This ensures same port ordering when netlisting a testbench containing a component and netlisting the component itself. Tab context menu: open Symbol / open Schematic will use the search_schematic setting and search counterpart accordingly.
|
2023-11-16 01:26:55 +01:00 |
stefan schippers
|
ecca0ba2be
|
better swap_windows() function (used when closing a window in multi-window(non-tabbed) interface, resolved_net() recognize global nodes. remove static data from record_global_node(), put in xctx. Remove dead code from translate() (@spice_get_voltage)
|
2023-11-12 13:01:11 +01:00 |
stefan schippers
|
88e7f4fea4
|
fix a problem in set_modify() (inconsistent prev_set_modify state after netlist of modified circuit)
|
2023-11-04 22:50:57 +01:00 |
stefan schippers
|
512b297e35
|
add validity checks for xctx->inst[n].ptr < 0 (unresolved instance)
|
2023-10-23 22:49:52 +02:00 |
stefan schippers
|
94bccc08d9
|
do not duplicate empty strings as NULLs in hash tables
|
2023-10-09 12:49:11 +02:00 |
stefan schippers
|
8dfaedf9ea
|
report in-hierarchy overlapped symbols when netlisting
|
2023-08-29 11:32:48 +02:00 |
stefan schippers
|
1c3c9ff889
|
do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror
|
2023-08-27 23:55:48 +02:00 |
stefan schippers
|
bf46fd3e7b
|
allow "1" / "0" in addition to "true" / "false" in all boolean attributes
|
2023-07-14 00:49:51 +02:00 |
stefan schippers
|
cf675be805
|
add "xschem print pdf_full" and "xschem print ps_full" commands to print full view properly fitting paper size, regardless of xschem window size, some fixes in circle postscript drawing (set newpath) and rectangle clipping. Add menu command "PDF/PS export full"
|
2023-07-13 13:24:17 +02:00 |
stefan schippers
|
6755975369
|
do not create nets for devices that have *_ignore=true attribute set, this generates false warnings about undriven nets.
|
2023-06-30 08:29:11 +02:00 |
stefan schippers
|
6198d21404
|
add "show_infowindow_after_netlist" tcl variable (default = 0) that can be set in xschemrc to always show erc window after netlist even without or no critical errors
|
2023-06-25 09:05:37 +02:00 |
stefan schippers
|
c6df85cce5
|
apply center full zoom in all zoom full commands if tcl variable zoom_full_center is set
|
2023-06-23 09:04:55 +02:00 |
stefan schippers
|
89d90c21db
|
xctx->sch made an array of pointers instead of array of PATH_MAX strings (memory saver)
|
2023-06-17 23:58:35 +02:00 |
stefan schippers
|
245993f034
|
added attributes spice_ignore=short, verilog_ignore=short, .... that will transform the instance into a short in the current netlisting mode, shorting all pins to the same net. Works similarly as lvs_ignore=short, but does not need lvs_ignore global setting
|
2023-06-07 03:41:49 +02:00 |