2023-07-26 09:32:25 +02:00
|
|
|
3.4.2:
|
|
|
|
|
- Merged Gerard upates for Xschem <--> BeSpice TCP communication
|
|
|
|
|
- added tcl variable text_replace_selection (default: enabled (1) ) to automatically
|
|
|
|
|
replace selected text in text widgets when pasting from clipboard
|
|
|
|
|
- case insensitive compare in boolean attributes (attr=false, attr=True, attr=FALSE, attr=1)
|
|
|
|
|
- allow "1" / "0" in addition to "true" / "false" in all boolean attributes
|
|
|
|
|
- make the "X" window button close the search dialog box, as Cancel (and Escape key) does
|
|
|
|
|
- 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"
|
|
|
|
|
- add case insensitive matching in xschem search function
|
|
|
|
|
- add xschemrc variable "ps_paper_size" to specify custom paper sizes in ps/pdf exports
|
|
|
|
|
- explicitly clear instance flag bits when allocating new instance array data to avoid random
|
|
|
|
|
data in bit 8 (IGNORE_INST).
|
|
|
|
|
This does not cause any problem but random data in log files, causing false positives
|
|
|
|
|
in automated regression tests
|
|
|
|
|
- fix crash on windows if a new tab is opened and immediately closed (incorrect call of draw()
|
|
|
|
|
after clearing pixmap)
|
|
|
|
|
- fix regression(repo.hu: r2353, github: 0bb4c9f) : "xschem instance" command not setting
|
|
|
|
|
modified flag on schematic, so following xschem save doing nothing.
|
|
|
|
|
- add xschem command `xschem instance_coord [instance]`: returns placement coords,
|
|
|
|
|
rotation, flip of selected or specified instance
|
|
|
|
|
- initialize tcl_files to empty in xschemrc to avoid side effects if
|
|
|
|
|
reloading another xschemrc
|
|
|
|
|
- added install_pdf make target to create pdf doc from html man pages
|
|
|
|
|
- "xschem netlist" command accepts an optional filename argument
|
|
|
|
|
- do not create nets for devices that have *_ignore=true attribute set,
|
|
|
|
|
this generates false warnings about undriven nets.
|
|
|
|
|
- do not use tclreadline if tcl variable tcl_interactive is 0
|
|
|
|
|
|
2023-06-29 21:40:49 +02:00
|
|
|
3.4.1:
|
|
|
|
|
- Add more info in xschem_man about remote tcp connection
|
|
|
|
|
- Add mouse_bindings.tcl, courtesy Paul Bodenstab
|
|
|
|
|
- Make the "xschem_quit" command work (close current window / tab) also if
|
|
|
|
|
xschem started in -x (no graphics) mode
|
|
|
|
|
- Changed tcl procedure `setup_tcp_xschem` to allow setting a different port number for
|
|
|
|
|
further tcp commuication (and freeing the original port number)
|
|
|
|
|
- Enable xschem to load multiple files even if started with "-x" (only CLI mode)
|
|
|
|
|
- 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
|
|
|
|
|
- Added missing images for bus tap html manpages
|
|
|
|
|
- If a file is given on cmdline without any path qualifier (/.../, ./, ~/, ...) look into search paths.
|
|
|
|
|
- Apply center full zoom in all zoom full commands if tcl variable zoom_full_center is set
|
|
|
|
|
- Modify xschemrc file to avoid side effects if sourced (intentionally or by mistake) multiple times.
|
|
|
|
|
- Show red dot when cutting a wire with new alt-right button click on a wire.
|
|
|
|
|
Added also menu command in Tools
|
|
|
|
|
- Added command Alt-RightButton to cut a wire at mouse position.
|
|
|
|
|
- Do a prepare_netlist_structs(0) at end of break_wires_at_pins() for connectivity consistency
|
|
|
|
|
- Extended `Shift-M` command to selected nets (nets attached to them will stretch)
|
|
|
|
|
- Text elements with attribute name=xxx or floater=xxx will go through a tcl
|
|
|
|
|
substitution (instead of the translate(...) function if the referenced xxx
|
|
|
|
|
instance does not exist.
|
|
|
|
|
- floater=instname can now be given instead of name=instname (they are equivalent)
|
|
|
|
|
- Add new command `Shift-M`, move selected instances adding wires when separating
|
|
|
|
|
overlapping instance pins (Connect by kissing)
|
|
|
|
|
- Break_wires_at_pins(): delete piece of wires connected to symbol pins that extend
|
|
|
|
|
beyond the pin into the symbol
|
|
|
|
|
- Add command "Tools -> Remove wires running throuh selected inst. pins"
|
|
|
|
|
- Quit_xschem command
|
|
|
|
|
- Added commands `xschem switch [win_path|schname]`, `xschem destroy_all [force]`,
|
|
|
|
|
added `[force]` option to xschem exit
|
|
|
|
|
- Changed defaults in xschem: now toolbar and tabbed interface (more robust than multi-window)
|
|
|
|
|
is enabled by default, doc updates, improved fix_symbols for setting/removing path compoents
|
|
|
|
|
from symbol references, now uses low-level xschem reset_symbol (faster)
|
|
|
|
|
- Add procedure `fix_symbols <n>`to set `n` last directory components to all symbols in current design
|
|
|
|
|
- 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
|
|
|
|
|
- Fix compare schematics if no file for schematic to compare with is given.
|
|
|
|
|
In this case compare current schematic with saved version.
|
|
|
|
|
Also issue a warning if swapping compare schematics if comparing schematic with disk version of itself.
|
|
|
|
|
- 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
|
|
|
|
|
- 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
|
|
|
|
|
- Make `xschem exit` (ctrl-w, close window) work in multi-window mode exactly as in tabbed
|
|
|
|
|
interface, allowing to close the root window (will be swapped with subwindow and deleted)
|
|
|
|
|
- Save (ctrl-s function) normally does not save if no changes are made.
|
|
|
|
|
However if file timestamp has changed since opening (by someone else) prompt user to
|
|
|
|
|
decide what to do (save or not)
|
|
|
|
|
- Make ctrl-ArrowLeft/ctrl-ArrowRight work again (move to next/prev tab)
|
|
|
|
|
- Removed File menu commands `Empty schematic in new window` and `Empty symbol
|
|
|
|
|
in new window` since these just create another xschem process. Added `File->Start
|
|
|
|
|
new xschem process`. `xschem new_window` and `xschem new_symbol_window` commands removed,
|
|
|
|
|
added `xschem new_process
|
|
|
|
|
- Place polygon bind key is now `p`, ctrl-w is now `Close current schematic`, while ctrl-q is
|
|
|
|
|
`Quit xschem`. Reorganized File menu, added more orthogonal `Create new schematic/tab`
|
|
|
|
|
removed some largely unused entries. Ctrl-w does not close the last window, just leaves it blank.
|
|
|
|
|
Use ctrl-q to close xschem
|
|
|
|
|
- Removed some direct exit() calls in editprop.c
|
|
|
|
|
- Cleaner exit if xschem -v is given
|
|
|
|
|
- Cleanup exit procedures: tcl exit command will cleanly delete additional tabs/windows
|
|
|
|
|
data structures before closing
|
|
|
|
|
- Add command xschem tab_list, returns window pathname and associated filename loaded
|
|
|
|
|
- @spice_get_voltage: do not process if net is a multiple bit bundle
|
|
|
|
|
- xschem resolved_net command: add [net] parameter
|
|
|
|
|
- Fix long standing bug: redundant grammar rule in expandlabel.y causing it to fail
|
|
|
|
|
recognizing nodes like GND*16
|
|
|
|
|
- Add more ".." bus notations: XX[4,2,8..1..3,12,23] and others.
|
|
|
|
|
- Implementation of portmap feature: from sub-schematics resolve hierarchic name of schematic
|
|
|
|
|
nets connected to I/O pins (go to the upper level recursively until resolved)
|
|
|
|
|
- Enable rainbow colored graphs also for double dc sweeps
|
|
|
|
|
- Update n and p jfets, added pjfet simulation
|
|
|
|
|
- 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()
|
|
|
|
|
- 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.
|
|
|
|
|
- Bus_tap.sym symbol for true bus tap (slice some bits out of a bigger bus).
|
|
|
|
|
|
2023-05-21 12:52:19 +02:00
|
|
|
3.4.0:
|
|
|
|
|
- Added xmag and ymag entry boxes in grapg dialog box to allow user change of x/y label text sizes
|
|
|
|
|
- Replace @symname in instance "schematic" attribute with basename of symbol
|
|
|
|
|
(without extension and directories)
|
|
|
|
|
- Added "xschem reset_flags" command to update and sync cached attributes of symbols and instances
|
|
|
|
|
- Better handling of web_urls: if already cached do not download again
|
|
|
|
|
- If multiple objects are selected (instances, texts, wires, ...) and there is an instance in
|
|
|
|
|
the set edit instance attributes
|
|
|
|
|
- Text floaters (name=xxx atttribute (xxx=instname) set on text to display instance attributes)
|
|
|
|
|
- Hide_texts=true attribute added on instance will avoid the display of all symbol texts
|
|
|
|
|
(will be probably used when using floater symbol texts)
|
|
|
|
|
- Disabled elements are displayed in grey and dashed. Properties->toggle *_ignore function
|
|
|
|
|
- Symbol_ignore=true attribute can be set on all symbol elements (text, lines, rectangles, arcs, polys,
|
|
|
|
|
instances, nets) such that these marked elements are not displayed when symbol is instantiated.
|
|
|
|
|
- Symbol generators may now take attributes like: "mosgen( @model )", with @model expanded to
|
|
|
|
|
instance (or symbol template) value. update_symbol() updated to reflect this change.
|
|
|
|
|
- When changing a symbol on an instance do not force change prefix (1st name char) if old and
|
|
|
|
|
new symbol have same prefix
|
|
|
|
|
- Persistent load file dialog (Shift-Insert) now correctly handles generator script selection
|
|
|
|
|
(do nothing until user adds () or (param1,param2,...) to generator name).
|
|
|
|
|
- Schematic and symbol generators "symbol_ref(param1,param2,...)".
|
|
|
|
|
- Instance based schematic selection (via instance "schematic" attribute)
|
|
|
|
|
- Draw_graph_points() split big XDrawLines requests into smaller chunks to handle raw files
|
|
|
|
|
with > 4M points
|
|
|
|
|
- Enable spice_sym_def, verilog_sym_def, vhdl_sym_def on instances in addition as globally
|
|
|
|
|
on symbols, for instance based specific implementations.
|
|
|
|
|
These attributes must be paired with an instance "schematic=..." attribute that sets
|
|
|
|
|
the subcircuit name of the alternate implementation. docs updated.
|
|
|
|
|
- Implement xschem sch_pinlist command, improve xschem pinlist inst [attr]
|
|
|
|
|
- Xschem tcp server: drop connection at end of response to make client reads easier (eof detection)
|
|
|
|
|
- Add xschem instance_list command, updated docs
|
|
|
|
|
- Add tcl procedures documentation in developer_info.html
|
|
|
|
|
- Handle viewing / netlisting remote (http[s]) hierarchic objects
|
|
|
|
|
- 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
|
|
|
|
|
- Instance attribute "hide=true" will make the instance display as a bounding box only
|
|
|
|
|
- Add command xschem logic_set_net <net_name> <value> [ntimes] to set a specific net
|
|
|
|
|
instead of selected nets
|
|
|
|
|
- Add xschemrc variable zoom_full_center, if set to 1 full zoom will center the schematic instead
|
|
|
|
|
of anchoring to lower-left drawing area corner.
|
|
|
|
|
- Add Simulation->Monitor current simulation to display stdout of running simulation
|
|
|
|
|
(to get simulation status / ETA and the like... )
|
|
|
|
|
- Added execute(cmd,last), execute(data,last), execute(status,last) for post-mortem
|
|
|
|
|
inspection of last simulation
|
|
|
|
|
- Documentation about xschem commands in developer_info.html
|
|
|
|
|
- Add table_read() function to read simulation data in ascii tabular form
|
|
|
|
|
- Rename top_subckt to lvs_netlist (more appropriate), better tcp interface (redirect stdout
|
|
|
|
|
to socket in addition to command return value)
|
|
|
|
|
- Added "s" bindkey in graphs to swap "a" and "b" cursors
|
|
|
|
|
- Added command xschem hilight_instname
|
|
|
|
|
- Refactor some code (use set_text_flags() to avoid repetitive code),
|
|
|
|
|
add xschem setprop text and xschem getprop text commands to set/get text attributes
|
|
|
|
|
- Ascii85 postscript encoding by Raphael Cabrera, fix some compiler warnings and add some
|
|
|
|
|
little optimizations in ascii85 encoder
|
|
|
|
|
- Revert and fix regression (graphical artifacts due to wrong change_linewidth()
|
|
|
|
|
- Add postscript quality attrs to some example schematics
|
|
|
|
|
- "preserve unchanged props" will be automatically checked when editing attributes on multiple
|
|
|
|
|
object selection and unchecked on single object selection as this is the 99.9% use case
|
|
|
|
|
- Added jpeg_quality attribute that can be used in images / graphs to specify the quality
|
|
|
|
|
factor of jpg embedded images in ps export. If unspecified quality=100 is used.
|
|
|
|
|
A value of 25 results in 6x smaller files and acceptable results, so it is worth
|
|
|
|
|
using a quality factor less than 100
|
|
|
|
|
- Added libjpeg detection code, so postscript image embedding will be disabled if libjpeg not present
|
|
|
|
|
- Ps/pdf ecxport: dont print rectangle frames around images
|
|
|
|
|
- Use my_free/my_malloc for memory leak checks
|
|
|
|
|
- Default to unlocked state (lock=false) at title 1st placement
|
|
|
|
|
- Add accelerator Shift-B for edit schematic header/license
|
|
|
|
|
--diff option to visually compare two different (versions of) schematics
|
|
|
|
|
- Add command "Simulation->Changelog from current hierarchy" that lists schematics
|
|
|
|
|
from current hierarchy, sorted by modification time
|
|
|
|
|
- When setting Simulation->LVS netlist, use "lvs_format" attribute for netlisting if this
|
|
|
|
|
attribute is existing, otherwise keep using "format"
|
|
|
|
|
- "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
|
|
|
|
|
- Added verilogprefix symbol attribute: will be prefixed to symbol name references in verilog netlists
|
|
|
|
|
- Implementation of fetch schematics from web (xschem http://......xxx.sch)
|
|
|
|
|
- When placing symbols user can also type file name (with full path also)
|
|
|
|
|
inside File/search box instead of clicking in the list box. web URLs will be returned as
|
|
|
|
|
they are with no further interpretation
|
|
|
|
|
- Dim schematic to grey if showing only probes, instead of hiding it completely
|
|
|
|
|
- "@path" will be expanded in symbols with the hierarchy path,
|
|
|
|
|
so a fully qualified instance name is obtained with @path@name
|
|
|
|
|
- Fill attribute on rectangles to override layer fill style: fill=false will not fill
|
|
|
|
|
- Global properties dialog box: close if clicking outside or pressing Shift-Return
|
|
|
|
|
- Shift-enter/clicking outside ends text insert widget.
|
|
|
|
|
Entry widget for text properties string replaced with multiline text widget
|
|
|
|
|
- Recursive attribute substitution. use also template attribute of parents if not found
|
|
|
|
|
in instance prop_ptr
|
|
|
|
|
- Ipin,iopin,opin reshaped to better show connection hotspot
|
|
|
|
|
- Use sim_pinnumber for port ordering in simulation netlists and leave pinnumber
|
|
|
|
|
for package pin position.
|
|
|
|
|
These two collide, for example in spice port ordering vs (transistor problem)
|
|
|
|
|
device package pinnumbers. Dont load graphs in lcc symbols
|
|
|
|
|
- Save symbol with ordered pins if sim_pinnumber is present in all pins
|
|
|
|
|
- Annotation of voltage and currents in (nested) LCC instances
|
|
|
|
|
- Change_layer() now works also for text objects
|
|
|
|
|
- Allow changing start color in rainbow multi-dataset graphs
|
|
|
|
|
- Added rainbow checkbutton for multicolor waves in case of multiple datasets
|
|
|
|
|
- Wire labels: default name set to p1 instead of l1, so it will not clash with typical
|
|
|
|
|
inductor names
|
|
|
|
|
- Removed (now) duplicated inst_hash_lookup: use int_hash_lookup.
|
|
|
|
|
Search function does not highlight nets if searching for something that is not "lab"
|
|
|
|
|
- Persists highlights on instances as user ascends/descends into different hierarchy
|
|
|
|
|
level of schematics
|
|
|
|
|
- Add cmdline option --preinit <commands> to execute given commands before
|
|
|
|
|
executing xschemrc file.
|
|
|
|
|
This can be used to switch library search paths depending on a variable setting.
|
|
|
|
|
- Netlister code rewrite to allow any combination of pass-through symbols
|
|
|
|
|
- Load_file_dialog: make remember last dir work again
|
|
|
|
|
- Handle pass-through symbols chained with wires and no labels attached to wires
|
|
|
|
|
- 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
|
|
|
|
|
- Allow negative integers in expandlabel() ( xx[6:5:-2:3] )
|
|
|
|
|
- Update send_net_to graph() and send_current_to_graph() to use sch_waves_loaded() as the hierarchy
|
|
|
|
|
level where raw file was loaded, to skip upper path designators
|
|
|
|
|
- Added label notation EN[0:3:6:5]: EN[start:end:offset:repetitions],
|
|
|
|
|
it will expand to a 20 bit bus:
|
|
|
|
|
a[0],a[1],a[2],a[3],a[6],a[7],a[8],a[9],a[12],a[13],a[14],\
|
|
|
|
|
a[15],a[18],a[19],a[20],a[21],a[24],a[25],a[26],a[27]
|
|
|
|
|
- Allow nets with no label pass thru symbols with duplicated pins.
|
|
|
|
|
named nets will propagate through duplicated pins
|
|
|
|
|
- Use limiting mylog()/mylog10() functions in expression calculator
|
|
|
|
|
- Faster jump table in plot_raw_custom_data(), added simulation->add waveform reload launcher
|
|
|
|
|
- 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.
|
|
|
|
|
- Added prev(), del() function in graph processing. Extend calculation 1 or 2 point
|
|
|
|
|
beyond viewport for exact deriv/integ/prev/del calculation at left edge
|
|
|
|
|
- @pinlist will be comma separated in verilog netlists
|
|
|
|
|
- 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
|
|
|
|
|
- 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.
|
|
|
|
|
- Add Highlight->Select overlapped instances command
|
|
|
|
|
- Added File -> Component browser, clicking recent component buttons displays preview
|
|
|
|
|
- New option for non blocking file selector, so it will remain open allowing to pick
|
|
|
|
|
multiple components (Shft-Insert).
|
|
|
|
|
Aborted place symbol operation will no more set schematic status to modified
|
|
|
|
|
- Allow tabs and newlines in graph expressions in addition to spaces; updated example schematics
|
|
|
|
|
- Allow spice multipliers in numbers (20u, 10k, 20p) in graph expressions
|
|
|
|
|
- Added "Annotate operating point" into Simulation menu
|
|
|
|
|
- New added graphs will have dataset attr set to -1 to include by default all datasets
|
|
|
|
|
- Make op backannotation in schematic work also if raw file loaded at hierarchy level > 0
|
|
|
|
|
- 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.
|
|
|
|
|
- Bypass tcl for voltage and current backannotation in schematic from cursor b positon in graph
|
|
|
|
|
- Better number formatting in backannotation. Alt-e if nothing selected opens another
|
|
|
|
|
copy (tab/window) of current schematic (after warning)
|
|
|
|
|
- If sweep variables are defined on X axis (instead of default index 0) use first
|
|
|
|
|
sweep X-axis var in live cursor backannotation
|
|
|
|
|
- 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.
|
|
|
|
|
- Fixed current (also hierarchic) reporting in ammeter.sym and vsource.sym)
|
|
|
|
|
- Let cursor graph backannotation work for multiple sweeps (implicit datasets)
|
|
|
|
|
- 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.
|
|
|
|
|
- Add simulator_commands.sym, simulator_commands_shown.sym, add_custom_button.tcl into release package
|
|
|
|
|
- Restructured graph dialog box, added min/max x, adjusted sweep variables vertical aligmnent,
|
|
|
|
|
added atof_spice() that recognizes spice suffixes (12p, 4.2MEG etc)
|
|
|
|
|
- Do not show bboxes of hidden texts while moving objects if global option
|
|
|
|
|
"show hidden texts" is not set;
|
|
|
|
|
- Limit max size of embedded graph bitmaps in svg export.
|
|
|
|
|
- Added deriv0() graph function, does derivative w.r.t. index 0 (sweep) variable, regardless of
|
|
|
|
|
graph sweep (x axis) variable.
|
|
|
|
|
- Xschem print command: if w and h are set to 0 compute image size automatically
|
|
|
|
|
- Graphs are now rendered (as detailed png bitmaps) in svg exports
|
|
|
|
|
- Look for inutile stimuli files in schematic directory instead of in simulation directory
|
|
|
|
|
- Fix find_closest_dataset() if log scale axes are used
|
|
|
|
|
- Ngspice_backannotate.tcl: handle Xyce operating point data, removed hspice_netlist
|
|
|
|
|
(no more existent)
|
|
|
|
|
- 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)
|
|
|
|
|
- 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
|
|
|
|
|
- Added "devices/simulator_commands*.sym" to conditionally include commands in the netlist depending on
|
|
|
|
|
selected target simulator
|
|
|
|
|
- Added command "xschem get netlist_name fallback" that returns user set netlist name or fallback name
|
|
|
|
|
derived from circuit filename. simulate and waves procedures handle user netlist name if set
|
|
|
|
|
- Zoom by area plots reverse x axis if done with Shift key pressed
|
|
|
|
|
- Balloon tooltip procedure made more general. Easy to reuse for any widget
|
|
|
|
|
- Added [t]rack bindkey in graph to display the wave closest to mouse in multiple dataset plots
|
|
|
|
|
- Add commands "xschem set format ..." and "xschem get format" to change/view format attribute used for
|
|
|
|
|
netlisting, overriding defaults. Example: "xschem set format my_format"
|
|
|
|
|
- If ALt-x (compare schematics) is given before setting a compare filename, schematic is compared
|
|
|
|
|
with saved version of itself
|
|
|
|
|
- Add xschem get zoom to query zoom factor
|
|
|
|
|
- Allow "xschem descend -<n>" (n=number) to descend into nth rightmost instance; added traversal.awk script
|
|
|
|
|
- Warning and highlight perfectly overlapped symbols
|
|
|
|
|
- Add "Plotname: constants" to the list of recognized ngspice plots in raw file
|
|
|
|
|
- Focus main window when mouse leaves SNAP or GRID text entries
|
|
|
|
|
- Added xschemrc variable `autofocus_mainwindow` (default setting: enabled (1) ),
|
|
|
|
|
if this variable is set moving the mouse to the main drawing area when a dialog box is open
|
|
|
|
|
(typically while editing a component attribute list) will focus the main window, so user
|
|
|
|
|
can move / zoom/pan the schematic using the usual commands, for example to look at a
|
|
|
|
|
different part of the schematic while editing the component.
|
|
|
|
|
If this variable is unset a click is needed to focus the main window.
|
|
|
|
|
This will thus not allow to move / zoom, but allows to type into the dialog box if the
|
|
|
|
|
mouse goes out of it.
|
|
|
|
|
- Changed @schname to @schname_ext and added @schname that expands to the schematic
|
|
|
|
|
name containing the instance, with no extension (no .sch)
|
|
|
|
|
- Added @topschname predefined attribute that expands to the toplevel
|
|
|
|
|
schematic name (no path) with no .sch extension
|
|
|
|
|
- Unselect_all() before inserting wire label or text from the menu to avoid moving
|
|
|
|
|
previously selected objects
|
|
|
|
|
- Y log axis option in graphs
|
|
|
|
|
- User selectable log X scale instead of assiming log X for AC analyses only
|
|
|
|
|
- Fix ngspice_backannotate.tcl: correctly backannotate ammeter currents; correctly
|
|
|
|
|
handle multipoint Operating point data in graphs
|
|
|
|
|
- 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.
|
|
|
|
|
- Do not accept 0 in graph `X div` and `Y div` textboxes, as this will cause an endless loop
|
|
|
|
|
- Button 1 Double click does edit object attributes
|
|
|
|
|
|
2022-07-28 10:31:07 +02:00
|
|
|
3.1.0:
|
|
|
|
|
- Lot of bug fixes.
|
|
|
|
|
- Alow embedding (png) images in schematics
|
|
|
|
|
- Display waveform graphs from ngspice/Xyce .raw files directly into the schematic.
|
|
|
|
|
- Multiple windows handling. Tabbed/multi window interface
|
|
|
|
|
- Add cross probing to Bespice wave viewer.
|
|
|
|
|
|
2021-09-11 07:53:11 +02:00
|
|
|
3.0.0;
|
|
|
|
|
- binary windows release
|
|
|
|
|
- added "place=header" (in addition to "place=end" attribuite value)
|
|
|
|
|
to print code block as a header in spice netlists
|
|
|
|
|
- force ERC info window showing in case of critical errors during netlist:
|
|
|
|
|
unconnected nodes, shorted nodes, pin mismatch between sch and sym and similar
|
|
|
|
|
- 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)
|
|
|
|
|
- new list variable "noprint_libs" to specify patterns of cells NOT to print in hierarchical export.
|
|
|
|
|
"xschem_libs" does the same thing for netlisting.
|
|
|
|
|
- added hierarchical ps/pdf export (File menu)
|
|
|
|
|
- LCC creation: Added new feature "Make schematic and symbol from selected components"
|
|
|
|
|
with command "xschem make_sch_from_sel" and function make_schematic(..)
|
|
|
|
|
- if bussed symbol ports are unconnected generate array of unconnected nets to match port multiplicity
|
|
|
|
|
- add simulation menu option to create simulation/ dir under current schematic dir (local_netlist_dir)
|
|
|
|
|
- report error if editor not found while opening/editing with editor (netlist, stimuli file attributes)
|
2020-12-17 03:48:34 +01:00
|
|
|
|
|
|
|
|
2.9.9:
|
2021-02-11 00:23:13 +01:00
|
|
|
- add (as comments in netlist) absolute paths for .sch and .sym of all expanded subcircuits
|
|
|
|
|
- ngspice_annotator: implicitly add "x" to subcircuit instance names that do not begin with "x" or "X"
|
2021-02-11 00:25:09 +01:00
|
|
|
- Postscript/svg print: addition of ISO 8859-1 characters
|
2021-02-11 00:23:13 +01:00
|
|
|
- When editing multiple text objects with "preserve unchanged attrs" set do not change individual text dimensions.
|
|
|
|
|
- saving to file made 4x faster, this implies less latency due to undo buffer savings on freaking big schematics.
|
|
|
|
|
- add sample file for custom menu additions
|
|
|
|
|
- bind select "connected wires" to alt/ctrl-right button click
|
|
|
|
|
- Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe
|
|
|
|
|
- added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs
|
|
|
|
|
- option for transparent background in svg export
|
|
|
|
|
- added ngspice backannotation tutorial
|
|
|
|
|
- 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
|
|
|
|
|
- xschem page aspect ratio decides if postscript or landscape for ps/pdf
|
2020-12-17 03:48:34 +01:00
|
|
|
- ps/pdf export uses true postscript fonts
|
|
|
|
|
- spice_probe symbols generate .save instructions and these are flattened by xschem
|
|
|
|
|
to enable ngspice save hierarchic nodes
|
|
|
|
|
- variable width grid point option (for 4K displays)
|
|
|
|
|
- Added 'PWD' button il file load dialog
|
|
|
|
|
- almost all global context related to a schematic in xctx structure. This potentially
|
|
|
|
|
allows to load more schematic windows with 1 running xschem process.
|
|
|
|
|
- fix spiceprefix to be applied on all expanded vector intances in spice netlists
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.8:
|
2020-12-01 17:13:46 +01:00
|
|
|
- ERC checks: do sch/sym node equivalence check on expandlabel()'ed nodes,
|
|
|
|
|
avoid flagging DATA[5,3,1] != DATA[5:1:2] != DATA[5],DATA[3],DATA[1]
|
|
|
|
|
- bounding box fix while copying objects done in r1224 was not correct. Object rotation fixed now
|
|
|
|
|
- allow spaces in bussed nodes (A B,CC,D\ C, A B[3:0]),
|
|
|
|
|
- switch LC_ALL to "C" locale to avoid output file format issues in foreign
|
|
|
|
|
localized systems.
|
|
|
|
|
- various commands for schematic backannotation:
|
|
|
|
|
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".
|
|
|
|
|
- allow tEDAx (flattened) netlisting of hierarchical schematics
|
2020-11-20 19:26:13 +01:00
|
|
|
- allow tcleval(...) in instance attributes , example for a for a
|
|
|
|
|
MOS: W=2 L=0.13 AD="tcleva([expr @W*0.29])"
|
2020-11-19 15:57:53 +01:00
|
|
|
- svg export uses true fonts (svg <text> element)
|
|
|
|
|
- select highlight net function made faster (highlight -> select highlight nets)
|
|
|
|
|
- great trim_wires() improvement (>2 oom speed)
|
2020-11-13 12:54:07 +01:00
|
|
|
- guard against extended ascii characters in nocairo/svgdraw/psprint functions
|
|
|
|
|
- added variable "S" containing full schematic path in "Simulations->Configure simulators
|
|
|
|
|
and tools". This can be used to add search paths to simulators.
|
|
|
|
|
- allow tcl commands ( [..cmds..] ) in Simulation->configure simulators and tools
|
|
|
|
|
(useful to retrieve needed information about current dir etc.).
|
|
|
|
|
- better xschem icon: added shapemask for "transparent" background
|
|
|
|
|
- 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.
|
|
|
|
|
- Fixed Windows Xschem running from VS2019 without installing Xschem to find (Root)/xschem_library/devices
|
|
|
|
|
as XSCHEM_LIBRARY_PATH, so that viewing schematics through VS2019 will find all
|
|
|
|
|
symbols in xschem_library/devices.
|
|
|
|
|
- Moved doc and xschem_library XML files to its own *.wxs
|
|
|
|
|
- cleaned up Product.wxs by taking out doc and xschem_library files; fixed spacings
|
|
|
|
|
in License.rtf; added condition that proper version of Active TCL is required to
|
|
|
|
|
install
|
|
|
|
|
- added res_ac.sym
|
|
|
|
|
- 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
|
|
|
|
|
- put braces around "expr" tcl statements as this boosts speed
|
|
|
|
|
- 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
|
|
|
|
|
- updated "xplot" file syntax according to recent ngspice changes
|
|
|
|
|
- "Delete files" menu command added
|
|
|
|
|
- added Shift-I bindkey as an alternative to Insert key (missing on Apple machines)
|
|
|
|
|
to insert a component
|
|
|
|
|
- add some hidden commands in menu: "place net label(2)", "highlight net/pin name
|
|
|
|
|
mismatches of selected instances", "Flip", "Rotate"
|
|
|
|
|
- according to answer from ngspice guys ngspice does not accept continuation lines
|
|
|
|
|
for .title, .include and .lib statements, so break.awk will avoid breaking those
|
|
|
|
|
lines. reversed default for tcl dim_background variable, so toggle colorscheme
|
|
|
|
|
will work.
|
|
|
|
|
- added notepad.exe as editor for Windows
|
|
|
|
|
- some "tcl_version > 8.4" conditions in xschem.tcl to ensure proper working on
|
|
|
|
|
old (tcl/tk8.4) machines.
|
|
|
|
|
- added backannotation ngspice_get_expr.sym, gspice_get_value.sym, ngspice_probe.sym,
|
|
|
|
|
and sqwsource.sym into Windows release package
|
|
|
|
|
- exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice
|
|
|
|
|
simulation data backannotation, optimized fix of previous bbox bug
|
|
|
|
|
- added ngspice_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.
|
|
|
|
|
- xschem setprop made way faster if "fast" argument is provided. Example "clear probes"
|
|
|
|
|
launcher object in mos_power_ampli.sch.
|
|
|
|
|
- do not call calc_drawing_bbox() on monster schematics as it takes more time than
|
|
|
|
|
just drawing the viewport
|
|
|
|
|
- better regexp for probe search in ngspice_backannotate.tcl, comments in token.c
|
|
|
|
|
- allow dim background color in "View -> Dim oclors"
|
|
|
|
|
- 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.
|
|
|
|
|
- preview function now does no more need to save whole schematic on the undo stack,
|
|
|
|
|
it is just a matter of pointer switching
|
|
|
|
|
- all xctx context is now a dynamically allocated structure; no observable performace
|
|
|
|
|
impact
|
|
|
|
|
- r1191 | stefan | 2020-10-15 15:52:08 +0200 (gio, 15 ott 2020) | 1 line
|
|
|
|
|
- added "xchem load_symbol" command to load a symbol without binding to any instance,
|
|
|
|
|
text edit attribute "Load" button will start in "$current_dirname"
|
|
|
|
|
- avoid printing erc warnings about missing "name=" attribute in symbols if there
|
|
|
|
|
is a definition in symbol template string
|
|
|
|
|
- remove instname and symname parameters to tclpropeval2 as they are no more necessary
|
|
|
|
|
- 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
|
|
|
|
|
- cleanup in print_spice_element(), print_verilog_primitive(), print_vhdl_primitive(),
|
|
|
|
|
print_tedax_element(), parselabel allows ~ in node names (XSPICE inversion operator)
|
|
|
|
|
- match embed with what's updated in verilog_timescale.sym: "verilog_preprocessor
|
|
|
|
|
and verilog_timescale now use verilog_format instead of format (which is for spice)"
|
|
|
|
|
- if strings passed to translate() are encloded in tcleval(...) the translated string
|
|
|
|
|
is passed to tcl for evaluation. This allows to display formula results for symbols,
|
|
|
|
|
for example capacitance values based on W and L:
|
|
|
|
|
tcleval(C=[ expr @ca * @L * @W ]) --> tcl will substitute the calculated value: C=1.234e-14
|
|
|
|
|
- code refactoring (global context in Xschem_ctx)
|
|
|
|
|
- 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.
|
|
|
|
|
- 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)...
|
|
|
|
|
- allow probing to gaw current in voltage sources in addition to ammeters
|
|
|
|
|
- "Option->Show info win" moved to "View->Show ERC info window"
|
|
|
|
|
- Preserve existing text (notably license info) in xschem files under version "v"
|
|
|
|
|
tag; some code refactoring, removed obsoleted comments
|
|
|
|
|
- added support for probing waveforms into gaw if raw file written by Xyce; Xyce
|
|
|
|
|
uses uppercase, does not wrap voltage nodes into V(...). uses ":" instead of "."
|
|
|
|
|
as hierarchy separator and other quirks.
|
|
|
|
|
- some clarifications of steps to be taken to simulate example rom8k circuit
|
|
|
|
|
- fix hierarchical pathname for current probes to gaw
|
|
|
|
|
- better wire connecting bubble zoom scaling at different snap levels
|
|
|
|
|
- added vsqsource, square wave source generator, with only "hi" and "freq" as parameters
|
|
|
|
|
- correctly draw net labels / pins when they are highlighted and user changes their
|
|
|
|
|
lab attribute so they become unhilighted
|
|
|
|
|
- added warnings (Options -> Show info window) if components are missing a name=...
|
|
|
|
|
attribute / if symbols are missing a type=... attribute
|
|
|
|
|
- fix erroneous slotted instance recognition (confuse U2[3:0] with U3:2) in translate(),
|
|
|
|
|
breaking in some cases the "add net name on instance pin" feature
|
|
|
|
|
- more precise bounding box calculation for net highlights (will extend the bbox
|
|
|
|
|
to cover wide (bus) wires and solder dots) so there are no more "half coloured"
|
|
|
|
|
connecting dots etc.
|
|
|
|
|
- "@#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.
|
|
|
|
|
Set filename in recent history also when given on command line.
|
|
|
|
|
- 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()
|
|
|
|
|
- better read_line(): handle unextected EOFs (noeol last lines)
|
|
|
|
|
- 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.
|
|
|
|
|
- off-loaded some functions from load_sym_def() to make it smaller, avoid overkill
|
|
|
|
|
recursive load_sym_def() calls to get only the type of a component in LCC schematic
|
|
|
|
|
instances.
|
|
|
|
|
- Alt-b command toggles bounding box view: 0: view all, 1: bbox view for subcircuits,
|
|
|
|
|
2: bbox view for all symbols.
|
|
|
|
|
- fix un-graceful termination of load_sym_def() in case of recursive schematics instantiating
|
|
|
|
|
themselves. It was not allowed to unroll all hierarchy levels cleaning up allocated
|
|
|
|
|
memory after issuing the max-hierarchy warning.
|
|
|
|
|
- fix inaccurate mouse to arc distance calculation for selections
|
|
|
|
|
- add gtkwave_server.tcl hook for gtkwave to listen to a tcp port
|
|
|
|
|
- Fixed some flaws in execute/execute_wait/simulate procedures (Simulate button was
|
|
|
|
|
not cleared after a foreground simulation)
|
|
|
|
|
- add attributes "weight=bold", "slant=italic", "slant=oblique" on text objects for
|
|
|
|
|
bold/italic/oblique texts, doc updates.
|
|
|
|
|
- capslock and numlock status detect and report in statusbar
|
|
|
|
|
- "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)
|
|
|
|
|
- make "ctrl-[0-9]" commands work again (change layer)
|
|
|
|
|
- When loading/descending in a symbol set netlist_type to CAD_SYMBOL_ATTRS, set back
|
|
|
|
|
to previous value when done.
|
|
|
|
|
- Tcl procedure "load_file_dialog" is now used also for saving files (so list of
|
|
|
|
|
defined xschem libs is available
|
2020-09-15 14:15:43 +02:00
|
|
|
as well as preview window).
|
|
|
|
|
- eliminated any differences between SYMBOL and SCHEMATIC files.
|
2020-11-13 12:54:07 +01:00
|
|
|
There is no "current_type" variable any more. Symbols who used to have netlisting
|
|
|
|
|
rules defined in schvhdlprop
|
2020-09-15 14:15:43 +02:00
|
|
|
have now these attributes in schsymbolprop.
|
|
|
|
|
Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop.
|
2020-11-13 12:54:07 +01:00
|
|
|
- Bring open dialogs always on top of xschem main window if user clicks title bar
|
|
|
|
|
on gnome/metacity DMs
|
2020-09-15 14:15:43 +02:00
|
|
|
- allow '@' in net names as this is sometimes uded in CDL / backannotated netlists.
|
2020-09-09 00:21:40 +02:00
|
|
|
- enable "bus=true" attribute for lines as well as for wires.
|
|
|
|
|
As a side effect LCC schematics with bussed wires will display thick buses
|
|
|
|
|
- added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle
|
|
|
|
|
displaying instance detals / only bounding box.
|
2020-11-13 12:54:07 +01:00
|
|
|
- added "dash=n" (n=integer) attribute for lines, polygons, rectangles, arcs to set
|
|
|
|
|
dashed line style.
|
2020-09-09 00:21:40 +02:00
|
|
|
n is the dash length in pixels.
|
2020-11-13 12:54:07 +01:00
|
|
|
- verilog_ignore, spice_ignore, vhdl_ignore attributes on schematic pins are propagated
|
|
|
|
|
to symbol pin attributes
|
2020-09-09 00:21:40 +02:00
|
|
|
(if using make symbol from schematic, otherwise propagate by hand).
|
|
|
|
|
These pins are not netlisted in the respective netlist format
|
|
|
|
|
- -b option to detach xschem from terminal
|
2020-08-30 12:01:48 +02:00
|
|
|
- NO_CAIRO builds also use 'layer=' attribute to display text on custom layers.
|
2020-11-13 12:54:07 +01:00
|
|
|
- pdf and svg exports follow the enable_layer[] array to display/hide layers as does
|
|
|
|
|
draw()
|
2020-08-27 11:39:12 +02:00
|
|
|
- LCC function (Local Custom Cell):
|
2020-11-13 12:54:07 +01:00
|
|
|
schematics (.sch) can be instantiated just like symbol (.sym) files in a parent
|
|
|
|
|
schematic.
|
2020-08-27 11:39:12 +02:00
|
|
|
- Open Recent menu entry to quickly open recent edited/saved files.
|
2020-11-13 12:54:07 +01:00
|
|
|
- when descending into vector instances (example: x1[7:0]) ask in which instance
|
|
|
|
|
to descend
|
|
|
|
|
(example: x1[2]). This is needed to correctly build the hierarchy paths and to
|
|
|
|
|
send correct
|
|
|
|
|
signal names to spice waveform viewers. This also allows to follow single bits
|
|
|
|
|
of bussed
|
2020-08-27 11:39:12 +02:00
|
|
|
signals thru the hierarchy.
|
2020-11-13 12:54:07 +01:00
|
|
|
- symbol attribute @symname will display symbol name without extension as it used
|
|
|
|
|
to be
|
2020-08-27 11:39:12 +02:00
|
|
|
in earlier versions. @symname_ext will print full rootname of symbol.
|
|
|
|
|
Some doc updates on symbol attributes
|
2020-11-13 12:54:07 +01:00
|
|
|
- changed tcl procs abs_sym_path and rel_sym_path, now the real symbol filename is
|
|
|
|
|
obtained by
|
2020-08-27 11:39:12 +02:00
|
|
|
prepending one of the XSCHEM_LIBRARY_PATH paths until the symbol is found.
|
|
|
|
|
This allows more than one directory levels in symbol references.
|
2020-11-13 12:54:07 +01:00
|
|
|
- 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.
|
|
|
|
|
- edit property dialog box has a (combobox in tk slang) token selector, so if a specific
|
|
|
|
|
token
|
|
|
|
|
is set the text edit will be restricted to that token value instead of the whole
|
|
|
|
|
attribute string.
|
|
|
|
|
- snap and grid entries in main window will not annoyingly receive keyboard focus
|
|
|
|
|
with TAB key
|
2020-08-27 11:39:12 +02:00
|
|
|
- implemented text attributes "hcenter=true" (center text in reading direction) and
|
|
|
|
|
"vcenter=true" (center text in direction perpendicular to reading direction).
|
|
|
|
|
These can both be set for full centered text block.
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.7:
|
|
|
|
|
- store symbol wires (if any) as Instdef lines on layer WIRELAYER (1) so they are
|
|
|
|
|
visible when instances are placed.
|
|
|
|
|
- spice netlister: if ".param m=10 n=5" is given and "R1[m:n]" instance name is present
|
|
|
|
|
resolve parameters
|
2020-08-08 15:47:34 +02:00
|
|
|
and replace instance name with R1[10],R1[9],...,R1[5].
|
|
|
|
|
- Fix: zoom_box function called from menu was broken
|
2020-11-13 12:54:07 +01:00
|
|
|
- tcl proc probe_net: if <path>.netxxx is given where xxx=number then try first probe
|
|
|
|
|
netxxx, if no net is found try #netxxx
|
|
|
|
|
- load system-wide xschemrc first, then $PWD/xschemrc or ~/.xschem/xschemrc; user
|
|
|
|
|
xschemrc appends to
|
2020-08-08 15:47:34 +02:00
|
|
|
system-wide xschemrc instead of replacing it.
|
|
|
|
|
- verilog_netlist: use name "top_schematic.sym" from "top_schematic.sch" before calling
|
|
|
|
|
load_symbol_definition for verilog parameter netlisting
|
2020-11-13 12:54:07 +01:00
|
|
|
- fix to avoid name chashes between auto-named nets (#net<number>) vs user set net
|
|
|
|
|
names (net<number>)
|
2020-08-08 15:47:34 +02:00
|
|
|
- device_model attribute: allow escaped quotes in text
|
2020-11-13 12:54:07 +01:00
|
|
|
- allow .subckt as well as .model in device_model attribute, even with identical
|
|
|
|
|
model/subckt name
|
|
|
|
|
- "device_model" attribute set in symbol or symbol instance may be set to a SPICE
|
|
|
|
|
.model
|
2020-08-08 15:47:34 +02:00
|
|
|
specification (device_model=".model D1N4148 D ...").
|
|
|
|
|
This model will be printed only once per component at end of netlist.
|
2020-11-13 12:54:07 +01:00
|
|
|
- "xschem clear SCHEMATIC" incorrectly sets untitled.sym file name. Thanks to Neil
|
|
|
|
|
Johnson for pointing out the issue
|
2020-08-08 15:47:34 +02:00
|
|
|
- add --tcp_port command line option
|
2020-11-13 12:54:07 +01:00
|
|
|
- added (optional) tcp server that can be used to accept commands from other applications
|
|
|
|
|
(backannotation, cross-probing)
|
2020-08-08 15:47:34 +02:00
|
|
|
- added video tutorial on cross-probing into GAW
|
2020-11-13 12:54:07 +01:00
|
|
|
- added "Simulation->Send highlighted nets to GAW (Alt-G)" to probe xschem nets into
|
|
|
|
|
an open gaw window
|
2020-08-08 15:47:34 +02:00
|
|
|
using gaw ttg socket commands.
|
2020-11-13 12:54:07 +01:00
|
|
|
- dircolor variable (associative array) in xschemrc to set custom user defined colors
|
|
|
|
|
for xschem
|
2020-08-08 15:47:34 +02:00
|
|
|
component/schematic libraries: "set dircolor(path_regex) color"
|
|
|
|
|
- glob filter (all, .sym, .sch) in file open dialog.
|
2020-11-13 12:54:07 +01:00
|
|
|
- created command "Simulation->Create ngspice xplot probe file", this creates a xplot
|
|
|
|
|
script
|
2020-08-08 15:47:34 +02:00
|
|
|
for ngspice with waveforms of same color as highlighted xschem signals.
|
2020-11-13 12:54:07 +01:00
|
|
|
Fix a problem in verilog_netlist.c not writing "---- begin/end user architecture
|
|
|
|
|
code"
|
2020-08-08 15:47:34 +02:00
|
|
|
blocks if empty user architecture. This confuses verilog.awk post processor.
|
|
|
|
|
added logic/ram_tb.sch verilog example.
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.6:
|
2020-08-08 15:47:34 +02:00
|
|
|
- filled arcs/circles in svg and pdf exports
|
2020-11-13 12:54:07 +01:00
|
|
|
- fix segfault when selecting polygon on layer x close to circle on layer y: incorrectly
|
|
|
|
|
returning polygon on layer y
|
2020-08-08 15:47:34 +02:00
|
|
|
- fill=true attribute for arc/circles, same as for polygons
|
|
|
|
|
- add "--script <tcl_file>" to allow executing a tcl script from cmdline
|
|
|
|
|
- allow flat netlist with LVS flag set
|
|
|
|
|
- fix crashing bug: check for missing "name=" attribute on symbol pins in sym_vs_sch_pins()
|
2020-11-13 12:54:07 +01:00
|
|
|
- separate "spiceprefix" and "toplevel is a subcircuit" options, move under Simulation
|
|
|
|
|
menu
|
|
|
|
|
- In load_file_dialog(), when the LHS panel is root, going down on the RHS panel
|
|
|
|
|
should not
|
2020-08-08 15:47:34 +02:00
|
|
|
add an extra / for the new directory name (applicable to both Linux and Windows)
|
2020-11-13 12:54:07 +01:00
|
|
|
- catch open filename should be within quote to handle window's filename with spaces;
|
|
|
|
|
|
|
|
|
|
- @spiceprefix added in front of @name in nmos4.sym, pmos4.sym, pmos.sym and nmos.sym
|
|
|
|
|
in devices/
|
2020-08-08 15:47:34 +02:00
|
|
|
- fix clash in loop variable in sym_vs_sch_pins()
|
|
|
|
|
- better erc check: sch_vs_sym pin check in addition to sym_vs_sch
|
|
|
|
|
- merge-in windows changes into xschem.tcl
|
2020-11-13 12:54:07 +01:00
|
|
|
- vhdl postprocessor: add _vector on bussed nets only if boolean, integer, real,
|
|
|
|
|
bit or std_logic type.
|
2020-08-08 15:47:34 +02:00
|
|
|
Do not add for any other user defined type
|
2020-11-13 12:54:07 +01:00
|
|
|
- vhdl netlister: do not declare record field signals (signal mysig.myfield), print
|
|
|
|
|
component declaration
|
2020-08-08 15:47:34 +02:00
|
|
|
for symbols with type=primitive
|
|
|
|
|
- Windows porting code added.
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.5:
|
|
|
|
|
- Avoid printing erc violations (open net and such) for global nodes, as they are
|
|
|
|
|
resolved outside current schematic scope
|
|
|
|
|
- @spiceprefix can be added in front of @name in symbol format string to change prefix
|
|
|
|
|
for device spice simulations.
|
2020-08-08 15:47:34 +02:00
|
|
|
This prefix is not used if LVS netlist is enabled
|
|
|
|
|
- Added symbol menu entries to create labels / pins or print highlight nets
|
|
|
|
|
- warnings when opening a non xschem file or placing a non symbol file.
|
2020-11-13 12:54:07 +01:00
|
|
|
- rawtovcd: option -v <voltage> to digitize all analog variables to digital (vth=3/4
|
|
|
|
|
voltage, vtl=1/4 voltage)
|
2020-08-08 15:47:34 +02:00
|
|
|
- menu entry to wrap top level in .subckt / .ends (spice netlists)
|
|
|
|
|
- video tutorials added
|
|
|
|
|
- Added xyce simulator launch
|
|
|
|
|
- Show infowindow (erc, warnings etc) on startup if show_infowindow set in conf file
|
|
|
|
|
- Alt-p command to place a symbol pin
|
|
|
|
|
- Alt-l or Shift-Alt-l to place a schematic net label
|
2020-11-13 12:54:07 +01:00
|
|
|
- Hilight subcircuit symbols during netlist if there is a pin mismatch with underlying
|
|
|
|
|
schematic
|
2020-08-08 15:47:34 +02:00
|
|
|
- Xschem presentation slides for F-Si conference.
|
2020-11-13 12:54:07 +01:00
|
|
|
- better tk_exec: collect exit status from spawn background processes via async pipe
|
|
|
|
|
fileevent
|
|
|
|
|
- new 'simconf' framework: all bindings to simulators / external tools are defined
|
|
|
|
|
in a 'simrc' file
|
2020-08-08 15:47:34 +02:00
|
|
|
decide which simulator/viewer to use, add or change command options.
|
|
|
|
|
No tools / paths are now hardcoded anywhere in the core files.
|
|
|
|
|
- Add 'vhdl_primitive', 'verilog_primitive', 'spice_primitive' attributes for symbols.
|
2020-11-13 12:54:07 +01:00
|
|
|
If any of these is set to true corresponding netlister will ignore completely symbol
|
|
|
|
|
definition (no 'entity/component' for VHDL,
|
|
|
|
|
no 'module' for verilog, no '.subckt' for spice) and print in netlist only the
|
|
|
|
|
items as specified in
|
2020-08-08 15:47:34 +02:00
|
|
|
'vhdl_format', 'verilog_format' or 'format' respectively.
|
|
|
|
|
- raise toplevel dialogs above xschem drawing area, not above everything
|
|
|
|
|
- heuristic test added in preview code to decide if file is a valid xschem format
|
|
|
|
|
(so preview is possible on older xschem formats too)
|
2020-11-13 12:54:07 +01:00
|
|
|
- preserve instance name up to numeric index when copying instances and 'Allow duplicated
|
|
|
|
|
instance names' is not active:
|
2020-08-08 15:47:34 +02:00
|
|
|
DIODE1 --> DIODE2 instead of D2
|
|
|
|
|
- eliminated numerous graphical artifacts due to AA text.
|
|
|
|
|
- better align nocairo text with cairo text for more consistent pdf / svg plots.
|
|
|
|
|
- gschemtoxschem.awk imports gschem schematic / symbols
|
2020-11-13 12:54:07 +01:00
|
|
|
all gschem example circuits and all gedasymbols.org (1289 symbols) translated to
|
|
|
|
|
xschem
|
2020-08-08 15:47:34 +02:00
|
|
|
- block attribute deletion works (no special DELETE key anymore needed)
|
2020-11-13 12:54:07 +01:00
|
|
|
- do not populate attribute string from symbol template if empty when editing symbol
|
|
|
|
|
attributes.
|
2020-08-08 15:47:34 +02:00
|
|
|
- pick refdes from symbol template when netlisting if missing from instance attributes.
|
|
|
|
|
- default key for fullscreen set to '\'
|
|
|
|
|
- remap-able pinnumbers on symbols created by symgen.awk, disabled tclreadline autocompleter,
|
|
|
|
|
use only default (file expansion).
|
|
|
|
|
- allow more exotic pin names in symbols (slashes, leading digits etc)
|
|
|
|
|
- add comptag lines for additional key-value attributes in tedax netlist
|
|
|
|
|
- lock=true attribute makes component unselectable (good for page title )
|
2020-11-13 12:54:07 +01:00
|
|
|
locked components can be unlocked by right-clicking on them (to bring up the edit
|
|
|
|
|
attribute form) and
|
2020-08-08 15:47:34 +02:00
|
|
|
deleting or changing the lock=true attribute
|
|
|
|
|
- preview window when opening files - inserting components.
|
|
|
|
|
- add --tcl command option to execute tcl commands before
|
|
|
|
|
- ngspice raw file to vcd converter so gtkwave can be used for analog sims
|
2020-11-13 12:54:07 +01:00
|
|
|
- file browser is a paned window (left: dirs, right: files). Remember window size
|
|
|
|
|
and pane position across invocations.
|
2020-08-08 15:47:34 +02:00
|
|
|
- newly inserted symbols now immediately start following the mouse
|
2020-11-13 12:54:07 +01:00
|
|
|
- devices/symbols changed putting all pinnumber texts to layer 13 so they can be
|
|
|
|
|
disabled
|
2020-08-08 15:47:34 +02:00
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.5_RC1:
|
|
|
|
|
- added comments in xschemrc for new available options (tk_scaling and enable_layer())
|
2020-08-08 15:47:34 +02:00
|
|
|
- open file dialog: better panedwindow sizing
|
2020-11-13 12:54:07 +01:00
|
|
|
- New menu entry View->symbol visible layers, can be used to turn off certain layers
|
|
|
|
|
(example: pin red boxes)
|
|
|
|
|
- tk_scaling tcl variable can be set in xschemrc to change the default scaling of
|
|
|
|
|
fonts based on dpi setting,
|
2020-08-08 15:47:34 +02:00
|
|
|
use a value slightly lower or greater than 1.0
|
2020-11-13 12:54:07 +01:00
|
|
|
- eeschema extension: allow DQ[31..0..X] to expand one out of X bits: DQ[7..0..2]
|
|
|
|
|
--> DQ7,DQ5,DQ3,DQ1
|
2020-08-08 15:47:34 +02:00
|
|
|
- fixes, highlight instances if 'highlight' attribute set to true in sym
|
2020-11-13 12:54:07 +01:00
|
|
|
- symbols with global attribute 'highlight=true' will be highlighted when one of
|
|
|
|
|
the attached nets is highlighted. Used for bus rippers.
|
|
|
|
|
- FIX: long long standing bug in bbox calculation that could leave some garbage on
|
|
|
|
|
screen
|
|
|
|
|
- New eeschema-like bus notation DATA[0..3] expands to DATA0,DATA1,DATA2,DATA3, this
|
|
|
|
|
differs from
|
2020-08-08 15:47:34 +02:00
|
|
|
xschem standard notation DATA[0:3] that expands to DATA[0],DATA[1],DATA[2],DATA[3]
|
2020-11-13 12:54:07 +01:00
|
|
|
Complex notations allowed like DATA[0..3],2*DATA[7..4],CS,CLK,RST,VCC*3 for funky
|
|
|
|
|
bundles
|
2020-08-08 15:47:34 +02:00
|
|
|
- better bus connector shape
|
|
|
|
|
- better tedax netlist (handle escaped spaces in refdes)
|
|
|
|
|
- Improved bus drawing (better zoom scaling)
|
2020-11-13 12:54:07 +01:00
|
|
|
- rotate/flip multiple selected instances in place around anchor points. (Alt-R,
|
|
|
|
|
Alt-F)
|
2020-08-08 15:47:34 +02:00
|
|
|
- 'Search and select' function enabled for lines and rectangles in addition to instances/nets.
|
2020-11-13 12:54:07 +01:00
|
|
|
- added installation of symgen.awk, Esc key reactivates screen redraw if for some
|
|
|
|
|
reason no_draw was set to 0
|
2020-08-08 15:47:34 +02:00
|
|
|
- added ngspice backannotation of operating point into schematic
|
|
|
|
|
- fixed sample circuits, some symbols were screwed out...
|
2020-11-13 12:54:07 +01:00
|
|
|
- add 'xschem getprop instance_pin <instname> <pin_name> <pin_attr>' to report back
|
|
|
|
|
pin attributes.
|
|
|
|
|
- symgen.awk: options --auto_pinnumber and --hide_pinnumber, various minor cosmetic
|
|
|
|
|
fixes
|
2020-08-08 15:47:34 +02:00
|
|
|
updated symben tutorial accordingly
|
|
|
|
|
- Tutorial page on xschem's symgen.awk
|
2020-11-13 12:54:07 +01:00
|
|
|
- symgen.awk: processes djboxsym .symdef files (with some extensions) to produce
|
|
|
|
|
xschem symbols
|
2020-08-08 15:47:34 +02:00
|
|
|
- global=1 attribute in global pin symbols (vdd.sym, gnd.sym) changed to global=true.
|
|
|
|
|
- better memory check in debug mode for discovering leakages/stale pointers,
|
2020-11-13 12:54:07 +01:00
|
|
|
- fixed crashing bug if user deletes 'lab=' attribute from a label. If this happens
|
|
|
|
|
get lab attribute from template string in symbol
|
2020-08-08 15:47:34 +02:00
|
|
|
- test schematics for XSPICE (ngspice) tests
|
|
|
|
|
- symbols saved. File updates (1.1 version)
|
|
|
|
|
- Better token substitution: @token\blabla; backslash can be used to indicate
|
|
|
|
|
end of token to be substituted if no separator can be used.
|
|
|
|
|
documentation updates (new attributes)
|
2020-11-13 12:54:07 +01:00
|
|
|
- all functions to create pins from highlight nets, create schematic from symbol,
|
|
|
|
|
attach labels to instance now work in
|
2020-08-08 15:47:34 +02:00
|
|
|
indirect library reference mode (devics/ipin.sym) and in direct reference mode (ipin.sym)
|
2020-11-13 12:54:07 +01:00
|
|
|
- fix bug in search_inst() where wires were searched by substring matching instead
|
|
|
|
|
of exact label matching.
|
2020-08-08 15:47:34 +02:00
|
|
|
- implement 'select_connected_nets' in event reporting
|
2020-11-13 12:54:07 +01:00
|
|
|
- new 'Alt-K' command to select all nets attached (or with same label) to selected
|
|
|
|
|
ones.
|
2020-08-08 15:47:34 +02:00
|
|
|
- more comands added to the event reporting mode (--events)
|
|
|
|
|
- created new symbol netlist_options.sym in devices/
|
|
|
|
|
this will be used to set netlisting options.
|
|
|
|
|
currently supports attribute bus_replacement_char for changing
|
|
|
|
|
subscript characters ([], <>) for bussed signals.
|
2020-11-13 12:54:07 +01:00
|
|
|
example: place netlist_options.sym, set attribute: bus_replacement_char="xx" to
|
|
|
|
|
avoid
|
2020-08-08 15:47:34 +02:00
|
|
|
bracketed signal indexes
|
|
|
|
|
- logic and xspice primitive cleanups
|
|
|
|
|
- added dac_bridge to XSPICE primitives (NGSPICE <-->XSPICE logic Interface)
|
|
|
|
|
- nand gate (nd2.sym) works without schematic in all 3 circuit netlisting modes.
|
|
|
|
|
- use 'bus_replacement_char' specified in xschemrc only for spice netlisting,
|
|
|
|
|
since VHDL and Verilog work just fine with standard xschem bus notation.
|
|
|
|
|
- logic/test_ngspice.sch showing for the first time a digital gate (NAND)
|
|
|
|
|
simulated in NGSPICE using the digital XSPICE subsystem. This enables
|
|
|
|
|
the same circuit to be simulated in Verilog, VHDL and NGSPICE with no
|
|
|
|
|
modifications.
|
2020-11-13 12:54:07 +01:00
|
|
|
- fix regression causing segfault introduced in netlist.c at rev 273. (selection
|
|
|
|
|
when symbols with generic vhdl pins are present)
|
2020-08-08 15:47:34 +02:00
|
|
|
- added behavioral ngspice source
|
|
|
|
|
- added XSPICE primitives
|
|
|
|
|
- start implementing ngspice digital primitives using the XSPICE subsystem
|
|
|
|
|
- add xschemrc variable bus_replacement_char to change default bracket notation
|
2020-11-13 12:54:07 +01:00
|
|
|
for bussed spice signals: DATA[7] --> DATA<7>, by adding: 'set bus_replacement_char
|
|
|
|
|
{<>} in xschemrc
|
2020-08-08 15:47:34 +02:00
|
|
|
- changes in logic sample symbol library
|
|
|
|
|
- added arbitrary width register to logic sample library, works in VHDL and Verilog.
|
|
|
|
|
- better relative/absolute path heuristics, example schematics minor fixes
|
|
|
|
|
- added ram model (vhdl and verilog) to logic library
|
2020-11-13 12:54:07 +01:00
|
|
|
- fixes in vhdl post processor for initialized std_logic_vector types (put correct
|
|
|
|
|
quotes)
|
2020-08-08 15:47:34 +02:00
|
|
|
- additions in logic/ library
|
|
|
|
|
- add logic library with some simple gates what work both in verilog and VHDL sims
|
|
|
|
|
- Still incomplete but functional.
|
2020-11-13 12:54:07 +01:00
|
|
|
- avoid netlisting vhdl 'time' parameters (generics in vhdl slang) when doing verilog
|
|
|
|
|
netlists.
|
|
|
|
|
- fix crashing bug when doing netlists ( unselect_all() done after remove_symbols()
|
|
|
|
|
)
|
2020-08-08 15:47:34 +02:00
|
|
|
- Added tutorial on bus notation
|
|
|
|
|
- avoid reentrant invocaktion of 'Place symbol' via menu.
|
|
|
|
|
- DOC- added tutorial on symbol library paths
|
|
|
|
|
- improvements in load file selector, some fixes when resolving symlinked libs
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.2:
|
2020-08-08 15:47:34 +02:00
|
|
|
- Misc small bug fix of 2.9.1
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.1:
|
2020-08-08 15:47:34 +02:00
|
|
|
- export png / svg / pdf: ask file name dialog
|
|
|
|
|
- edit property dialog on selected symbol shows absolute directory
|
|
|
|
|
the symbols comes from
|
|
|
|
|
- more keysym definitions (Insert, Delete, F1-F12) to be used in
|
|
|
|
|
replace_key array for custom keybinding
|
|
|
|
|
- better relative / absolute path handling
|
|
|
|
|
- Custom pinlist (@@pin1 @@pin3 @@pin2) can be used
|
|
|
|
|
also for symbols with associated schematic (type=subcircuit)
|
|
|
|
|
- remote xschem control commands and event reporting (--events option)
|
|
|
|
|
this will be used for backannotation / 3rd party tools integration
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.9.0:
|
2020-08-08 15:47:34 +02:00
|
|
|
- 1.1 file format allowing symbol names without implied '.sym'
|
|
|
|
|
Detailed changelog:
|
2020-11-13 12:54:07 +01:00
|
|
|
- template symbol name set to x1 instead of x0 (newly placed subcircuits will be
|
2020-08-08 15:47:34 +02:00
|
|
|
named x1, x2, ... instead of x0, x1, ...).
|
|
|
|
|
- prepare instdef[].flags for additional flags (not only EMBEDDED flag)
|
|
|
|
|
- update filename shown in status line after a 'save-as'
|
|
|
|
|
- Fix- edit in new window (alt-E) erroneously opened symbol view
|
|
|
|
|
- fix change symbol not detected (proc edit_prop)
|
2020-11-13 12:54:07 +01:00
|
|
|
- fix edit symbol property, symbol was flagged as changed even if no changes were
|
|
|
|
|
done
|
2020-08-08 15:47:34 +02:00
|
|
|
- starting event reporting features
|
|
|
|
|
- example files migrated to new format
|
|
|
|
|
- index updated
|
|
|
|
|
- remote 'xschem saveas filename'
|
|
|
|
|
- scheleton for xschem remote control docs
|
2020-11-13 12:54:07 +01:00
|
|
|
- added 'xschem zoom_selected' and 'xschem zoom_hilighted' to focus on selection
|
|
|
|
|
or probed nets/insts
|
2020-08-08 15:47:34 +02:00
|
|
|
- added 'xschem zoom_box x1 y1 x2 y2 magfactor'
|
|
|
|
|
- Various fixes of regression introduced since 'filenames' merge
|
|
|
|
|
- automatic schematic generation from symbol
|
|
|
|
|
- generating pins/labels from highlighted nets
|
|
|
|
|
- cleanups in the xschem tcl query interface
|
2020-11-13 12:54:07 +01:00
|
|
|
- cell:: prefix (replacing old cell__) used to query symbol attributes (example cell::template)
|
|
|
|
|
- xschem search function: exact search or regex search (exact replaces substring
|
|
|
|
|
search)
|
|
|
|
|
- when doing a selection there is no more implied highlight
|
2020-08-08 15:47:34 +02:00
|
|
|
- fix: add_ext() incorrectly searched for first occurrence of '.' instead of last
|
2020-11-13 12:54:07 +01:00
|
|
|
- attach_labels_to_inst() updated to new symbol naming scheme (true label name with
|
|
|
|
|
.eym extension)
|
2020-08-08 15:47:34 +02:00
|
|
|
- regression fix- highlight parent nets when returning from hierarchy was broken.
|
|
|
|
|
- [scconfig] -Add: enable xcb only if cairo-xcb is also detected
|
|
|
|
|
- proc edit_prop, fix symbol variable assignment
|
|
|
|
|
- correctly print relative path (wrt XSCHEM_DESIGN_PATH) of current schematic
|
|
|
|
|
in status bar/title symbol/window title.
|
|
|
|
|
- changing symbol name with edit property + copy file now does not assume .sym extension
|
2020-11-13 12:54:07 +01:00
|
|
|
"schematic" attribute in symbol tells which schematic to load when descendig, as
|
|
|
|
|
opposed to default symname.sym
|
2020-08-08 15:47:34 +02:00
|
|
|
- [scconfig] -Tune: line up help texts
|
|
|
|
|
- [scconfig] -Add: include generic scconfig help
|
|
|
|
|
- Fix: C doesn't allow indentation before preprocessor tokens
|
|
|
|
|
- fix descend to symbol
|
|
|
|
|
- merged in branches/filenames --> 1.1 file format
|
|
|
|
|
- doc updates (faq)
|
|
|
|
|
- fix rev numbers, comments on some xschemrc options,
|
|
|
|
|
- some default config changed (enforce different refdes on placed components,
|
|
|
|
|
do not pop-up the directory list chooser when adding components, go
|
|
|
|
|
straight with file selector).
|
|
|
|
|
- better opin / iopin regex matching
|
|
|
|
|
- Compatibility - quote { and } in regular expressions as they are metacharacters
|
|
|
|
|
- make_sym.awk: fix schematic pin regex pattern, when .sym is saved for pin references.
|
|
|
|
|
Thanks to Curt for pointing out the issue
|
|
|
|
|
- enabled Undo/Redo Edit menu entries
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
2.8.4:
|
|
|
|
|
- avoid printing spice_ignore, tedax_ignore or vhdl_ignore as parameters in verilog
|
|
|
|
|
netlists.
|
|
|
|
|
- merged in some changes from branches/filenames
|
|
|
|
|
- print timescale / preprocessor directives in hierarchical sub-modules too.
|
|
|
|
|
- better verilog preprocessor implementation
|
|
|
|
|
- added devices/verilog_preprocessor.sym for placing arbitrary code at beginning of
|
|
|
|
|
verilog netlist
|
|
|
|
|
- make lib selection optional by setting 'use_list_dirs' in xschemrc
|
|
|
|
|
- utile: use Z capable stimuli only on signals where Z states are used.
|
|
|
|
|
- use return value for checking errors in system(), freopen(), getcwd().
|
|
|
|
|
- propdel svn:executable
|
|
|
|
|
- chmod -x on src/utile/utile.txt - updated doc link in README
|
|
|
|
|
- xschem scripting additions and optimizations
|
|
|
|
|
- removed outdated info from help file
|
|
|
|
|
- doc typos
|
|
|
|
|
|
|
|
|
|
2.8.2:
|
|
|
|
|
- faq about automatic rename / allow duplicate refdes.
|
|
|
|
|
- remove references to 'Shift-J' in docs (removed messy code), better appearance for
|
|
|
|
|
'list_dirs' dialog.
|
|
|
|
|
- added License/Copyright info for scconfig (GNU LGPL2).
|
|
|
|
|
- no save schematic before editing disk file - this is
|
|
|
|
|
- an expert command so user should decide himself what to do.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.8.2_RC4:
|
|
|
|
|
- removed gensch procedure (create sym from pinlist, un-maintainable mess)
|
|
|
|
|
- do not print 'conn' lines for unconnecteds in tedax netlist
|
|
|
|
|
- Edit -> Push Symbol menu was not functional.
|
|
|
|
|
- fix segfault when placing symbols with off-bound @#<n>:<attr> attributes (n referencing
|
|
|
|
|
a non existent pin)
|
|
|
|
|
- allow/forbid duplicated refdes, highlight/rename duplicates, directory chooser when
|
|
|
|
|
inserting symbols
|
|
|
|
|
- xschemrc variable 'disable_unique_names' may be set to 0 in xschemrc to forbid duplicated
|
|
|
|
|
refdes
|
2020-08-08 15:47:34 +02:00
|
|
|
- default is to allow duplicates (1)
|
2020-11-13 12:54:07 +01:00
|
|
|
- menu 'Highlight -> (Highlight|Rename) duplicate instance names' can be used to
|
|
|
|
|
flag / correct duplicate names.
|
|
|
|
|
- when inserting components (Insert key) present a list of directories to start fileselector
|
|
|
|
|
from.
|
|
|
|
|
- disabled all testmodes
|
|
|
|
|
- align to grid function: for pin objects align the center point of the rectangle instead
|
|
|
|
|
of the (x1,y1)-(x2,y2) points.
|
|
|
|
|
- Create symbol tutorial in xschem docs
|
|
|
|
|
- alert if trying to open non existent symbol
|
|
|
|
|
- allow @#drain:pinnumber to be used in sybols to print 'pinnumber' attribute of pin
|
|
|
|
|
with 'name=drain' in addition to @#3:pinnumber (print 'pinnumber' attribute of 3rd pin of symbol)
|
|
|
|
|
- removed 'string cat' as it is a tcl8.6 addition (not needed anyway)
|
|
|
|
|
- Add $DESTDIR prefix to system_library_dir in Makefile.conf.in as it is used in trunk/xschem_library/Makefile
|
|
|
|
|
to install files.
|
|
|
|
|
- -plotfile on cmdline to specify image export output file. Valid for all formats
|
|
|
|
|
(png, svg, pdf)
|
|
|
|
|
- calculate correct line widths before rendering to screen / plot images
|
|
|
|
|
- fix: start numbering new instances from 1 instead of 0
|
|
|
|
|
- xschem.1.in manpage and expand $PREFIX
|
|
|
|
|
- fix rotate /flip without moving when multiple objects selected.
|
|
|
|
|
(in this case do not rotate individual objects around their anchor points)
|
|
|
|
|
- doc and symbol updates
|
|
|
|
|
- Allow pinnumber(name) in instance attributes to change symbol pinnumber,
|
|
|
|
|
in addition to pinnumber(n) where n is xschem pin index number. Syntax changed from
|
|
|
|
|
pinnumber_n.
|
|
|
|
|
- Allow mouse panning schematic while editing properties.
|
|
|
|
|
Do not allow some command nesting combinations that could be dangerous.
|
|
|
|
|
- Tutorial on creating a simple schematic and running a simulation with ngspice
|
|
|
|
|
- Some fixes on UI (bindkeys)
|
|
|
|
|
- generic, 'light' models created for testing tedax moved from pcb/ to devices/
|
|
|
|
|
- added @spiceprefix to symbols that might need a different spice prefix
|
|
|
|
|
- if spiceprefix unspecified at instance level no change wrt previous behavior.
|
|
|
|
|
- netlist_dir default set to '.' (current directory, where xschem is launched) if not
|
|
|
|
|
defined in xschemrc
|
|
|
|
|
- option -o <dir> (--netlist_path=<dir>) can be used to set output netlist *directory*
|
|
|
|
|
with cmdline
|
|
|
|
|
- Token subsitution now correctly replaces @token1@token2 with their values
|
|
|
|
|
(no separators needed, second @ is an implied token separator and next token start)
|
|
|
|
|
- allow set / change selected attributes on multiple wselected ires/rects/lines
|
|
|
|
|
- leave post mortem shell open in case of ngspice fatal errors, in interactive ngspice
|
|
|
|
|
sims.
|
|
|
|
|
- trunk/utile dir moved under trunk/src/utile so it will be in the same
|
|
|
|
|
relative position wrt XSCHEM_SHAREDIR whether xschem is run from
|
|
|
|
|
build trunk/src directory or after installation.
|
|
|
|
|
- make uninstall fixes.
|
|
|
|
|
|
|
|
|
|
2.8.2_RC3:
|
2020-08-08 15:47:34 +02:00
|
|
|
- commercial simulators/viewers not available in xschem menus if their
|
2020-11-13 12:54:07 +01:00
|
|
|
*_path variables not defined in xschemrc. Better quoting for allowing filenames
|
|
|
|
|
with spaces
|
2020-08-08 15:47:34 +02:00
|
|
|
- removed potentially proprietary models from example schematics.
|
|
|
|
|
- copyright info updated to 2019
|
|
|
|
|
- objects can now be flipped/rotated (R,F keys) without initiating a move operation.
|
|
|
|
|
- Right mouse button brings up edit attributes of object under mouse,
|
|
|
|
|
ctrl-button1 unselects object, ctrl-shift-button1 drag unselects by area
|
|
|
|
|
netlisting mode shown in status line, no more alert box when switching
|
|
|
|
|
- fix some inaccuracies in menu keybindings
|
|
|
|
|
- doc cleanup, added first annoying FAQ: http://repo.hu/projects/xschem/xschem_man/faq.html
|
|
|
|
|
- step-by-step tutorial for installing xschem: http://repo.hu/projects/xschem/xschem_man/tutorial_install_xschem.html
|
|
|
|
|
- xschemrc comments and sample lines aligned to current xschem behavior
|
|
|
|
|
|
|
|
|
|
2.8.2_RC1:
|
|
|
|
|
- improvements of xschem TCL API for backannotation
|
|
|
|
|
- refdes (instance name) automatic numbering starts from 1 instead of
|
|
|
|
|
0 (D1, D2, ...)
|
|
|
|
|
- ngspice integration
|
|
|
|
|
- documentation updates
|
|
|
|
|
- save only one copy of embedded symbols even if multiple instances of it have the
|
|
|
|
|
'embed=true' attribute set
|
|
|
|
|
- allow arbitrary spaces around '=' in attribute assignments
|
|
|
|
|
(name = x1 footprint= TO220 model= IRF540)
|
|
|
|
|
- '.' in path search list is now the location of the containing schematic, not the
|
|
|
|
|
directory from where xschem was launched (thanks to Igor2 for consulting).
|
|
|
|
|
- Default search list if running xschem from build directory is
|
|
|
|
|
'.:<path>/xschem/trunk/xschem_library/devices', so all examples will run out
|
|
|
|
|
of the box with no config file tweaking.
|
2020-11-13 12:54:07 +01:00
|
|
|
- tedax netlist: instance property 'pinnumber_n' where n is the index of pin (0,
|
|
|
|
|
1, 2, ...) may override pin 'pinnumber'
|
2020-08-08 15:47:34 +02:00
|
|
|
of symbol pin with index 'n'
|
2020-11-13 12:54:07 +01:00
|
|
|
- tedax netlist: instance property extra_pinnumber="idx1 idx2" may override symbol
|
|
|
|
|
inherited
|
2020-08-08 15:47:34 +02:00
|
|
|
connections (usually supply and ground pins for slotted devices)
|
|
|
|
|
- improvements and cleanup in xschem query language (xschem pinlist)
|
|
|
|
|
- print index number (order in xschem array) of selected objects
|
|
|
|
|
in status line
|
|
|
|
|
- version info added as first line when saving .sch/.sym files.
|
|
|
|
|
v {xschem version=2.8.2_RC1 file_version=1.0}
|
|
|
|
|
for now no checks are made when loading files, version string from file
|
|
|
|
|
is just stored for later usage.
|
2020-11-13 12:54:07 +01:00
|
|
|
- documentation updates, example files updates, variable expansion in launcher()
|
2020-08-08 15:47:34 +02:00
|
|
|
so XSCHEM_SHAREDIR and HOME can be used in url attributes
|
|
|
|
|
- fullscreen moved from options to View menu, more appropriate.
|
|
|
|
|
- make default compile time XSCHEM_LIBRARY_PATH definition available
|
|
|
|
|
to xschemrc so a directory can be prepended or appended to it
|
|
|
|
|
- replaced execlp with execl everywhere
|
|
|
|
|
- hooks.c: default to ~/.xschem/xschem_library if no --user-lib-path given in configure.
|
|
|
|
|
- examples/diode.* renamed to examples/diode_1.* to avoud clashing with devices/diode.sym.
|
2020-11-13 12:54:07 +01:00
|
|
|
- If no search path (XSCHEM_LIBRARY_PATH) defined in xschemrc default to compile
|
|
|
|
|
time with '.' prepended
|
2020-08-08 15:47:34 +02:00
|
|
|
- Template xschemrc with better comments by Richard Lucassen (thanks!)
|
|
|
|
|
- xschem_library/Makefile: use $system_library_dir for system libraries (devices)
|
|
|
|
|
|
|
|
|
|
2.8.1:
|
|
|
|
|
- connecting dots are highlighted together with the hilight net.
|
|
|
|
|
- avoid shebangs when launching scripts, rely on host PATH variable
|
|
|
|
|
to lookup the correct (awk) interpreter
|
|
|
|
|
- extensive debug to catch and fix memory leaks / pointer deallocation
|
|
|
|
|
- search function improved, if empty value is given then look
|
|
|
|
|
for objects that *have* search key in property string.
|
|
|
|
|
- 'DELETE' attribute can be used to erase an attribute from a
|
|
|
|
|
multiple selection of etherogeneus objects, if 'preserve unchanged props'
|
|
|
|
|
is enabled.
|
|
|
|
|
- Added a 'dim color' slider (View menu) to adjust brightness.
|
|
|
|
|
- xschem - tcl API improvements for spice operating point current / voltages backannotation
|
|
|
|
|
- ability to do block deletion of a specific set of attributes on selected set
|
|
|
|
|
(set attribute values to 'DELETE')
|
|
|
|
|
- when drawing selected elements do not display bbox of empty symbol strings
|
|
|
|
|
- xschem tcl API improvements:
|
2020-11-13 12:54:07 +01:00
|
|
|
* xschem set no_draw 1|0 --> used to disable screen redraw, to speed up complex
|
|
|
|
|
scripts
|
2020-08-08 15:47:34 +02:00
|
|
|
* xschem set no_undo 1|0 --> used to disable undo, to speed up complex scripts
|
|
|
|
|
it is wise to do a 'xschem push_undo' before doing this
|
|
|
|
|
* xschem get expandlabel <net label> --> expands bus notation:
|
|
|
|
|
example: xschem get expandlabel S[4,2:0] will return S[4],S[2],S[1],S[0] 4
|
|
|
|
|
that is the expanded bits and the number of bits.
|
|
|
|
|
* xschem get sch_path --> return the current hierarchy path:
|
|
|
|
|
example: xinput.xreg.xlat
|
2020-11-13 12:54:07 +01:00
|
|
|
* subst_token() now allows to set a token to an empty value (new_val="") or delete
|
|
|
|
|
the token
|
2020-08-08 15:47:34 +02:00
|
|
|
(new_val = NULL)
|
|
|
|
|
- tcl command 'xschem set renumber [1|0]' allows to do automatic renumbering
|
|
|
|
|
of instance names (refdes) when loading schematics with duplicated inst names
|
|
|
|
|
- View->Change current layer color' menu added allows to change layer colors
|
|
|
|
|
changes are saved in ${USER_CONF_DIR}/colors
|
|
|
|
|
- added '--rcfile <filename>' for custom rc file loading
|
|
|
|
|
- 'about xschem' dialog added
|
2020-11-13 12:54:07 +01:00
|
|
|
- add '*' in window title bar / icon when schematic is in modified state and need
|
|
|
|
|
save
|
2020-08-08 15:47:34 +02:00
|
|
|
- default file name to 'untitled.sch' when creating a new schematic
|
|
|
|
|
- long option syntax (--version etc)
|
|
|
|
|
- make xschem compile with std=c89 -pedantic
|
|
|
|
|
no snprintf(), no // comments, no VLAs, no getopt(), no strtok*()
|
|
|
|
|
- cirles / arcs in pdf / svg export
|
|
|
|
|
- option for in-memory undo in addition to file backed undo (#define IN_MEMORY_UNDO)
|
|
|
|
|
- Menu 'Tools->Remember last command' and 'set persistent_command [1|0] in xschemrc
|
|
|
|
|
to repeat last wire/line command just with a mouse click
|
|
|
|
|
- removed copyrighted material (sample spice models)
|
|
|
|
|
- keybinding changes: Corl-Q for exit, Ctrl-N for 'New schematic'
|
|
|
|
|
- better checking on malformed input (discard vs crash)
|
2020-11-13 12:54:07 +01:00
|
|
|
- Menu command Tools->Join/Trim wires (remove overlapping wires, join parallel wires
|
|
|
|
|
etc)
|
2020-08-08 15:47:34 +02:00
|
|
|
- Menu command Tools->Break wires (break wires at component pins, or 'T/Y intersections)
|
2020-11-13 12:54:07 +01:00
|
|
|
this will work on *selected* wires.
|
2020-08-08 15:47:34 +02:00
|
|
|
|
|
|
|
|
2.8.0:
|
|
|
|
|
- Added scconfig configuration, build and install system for automatic
|
|
|
|
|
library / features detection.
|
|
|
|
|
- Connection dots are automatically added to T, or Y type net intersections
|
|
|
|
|
- renamed user configuration files: from ~/.xschem to ~/.xschem/xschemrc
|
|
|
|
|
|
|
|
|
|
2.7.0:
|
|
|
|
|
- some fixes in library path management (abs_sym_path and rel_sym_path in xschem.tcl)
|
|
|
|
|
- documentation updates on required -dev files, libfl-dev and cairo2-dev
|
|
|
|
|
- documentation updates on open/closed polygons
|
|
|
|
|
- embedded symbols, (embed=true attr on instances), documentation updated.
|
|
|
|
|
- Status bar grid entry configured as disabled as it is output only
|
2020-11-13 12:54:07 +01:00
|
|
|
- make xschem accept some malformed input files, like T{} ... or leading spaces before
|
|
|
|
|
element tags.
|
2020-08-08 15:47:34 +02:00
|
|
|
- code in place for command to cut wires at instance pins and intersections
|
|
|
|
|
- created iterator function for spatial wire & inst hash tables to avoid
|
|
|
|
|
code duplication
|
|
|
|
|
- removed exec flag on all doc/ files, moved xschem.html to index.html
|
|
|
|
|
- keep calculating bbox for unusually big texts, even if these text are not
|
|
|
|
|
displayed being fonts too big (crash on old cairo libs)
|
|
|
|
|
- corrected menu accelerators shown for zoom / unzoom.
|
|
|
|
|
- unzoom_nodrift tcl variable can be set to 1 or 0 to produce slightly
|
|
|
|
|
different unzoom behaviors.
|
|
|
|
|
- flush arc drawing routines (draw[temp]arc(END,...) in addition to lines
|
|
|
|
|
and rectangles when doing selections /hilight. (forgotten since arcs
|
|
|
|
|
were introduced).
|
|
|
|
|
- nets are drawn after the other elements so they are always on top.
|
|
|
|
|
- new xschem TCL commands
|
|
|
|
|
- xschem setprop instance x25 w 55
|
|
|
|
|
replaces property w of instance x25 with new 55 value
|
|
|
|
|
- xschem setprop instance_n 123 w 55
|
|
|
|
|
same as above but indicate instance number (position in inst_ptr array)
|
|
|
|
|
- xschem replace_symbol instance x25 .../../new_symbol.sym
|
|
|
|
|
replaces symbol of x25
|
|
|
|
|
- xschem replace_symbol instance_n 123 .../../new_symbol.sym
|
|
|
|
|
same as above but indicate instance number (position in inst_ptr array)
|
2020-11-13 12:54:07 +01:00
|
|
|
- new commandline option '-i' to tell xschem not to load init files (xschemrc and
|
|
|
|
|
.xschem)
|
2020-08-08 15:47:34 +02:00
|
|
|
- order coordinates before storing nets in load_wire(),
|
|
|
|
|
for some reason this trivial thing was missing
|
|
|
|
|
- drawing glitches fixed
|
|
|
|
|
|
|
|
|
|
2.6.8:
|
|
|
|
|
- Pressing 'space' while drawing a net or a line switches between horizontal-vertical
|
|
|
|
|
manhattan path, vertical-horizontal path or oblique path.
|
|
|
|
|
|
|
|
|
|
2.6.7:
|
|
|
|
|
- in 'persistent command' mode wire or line placement continues after a double click
|
|
|
|
|
so it is possible to place multiple unconnected nets / lines
|
|
|
|
|
- no more dialog on grid change. grid is shown in status bar
|
|
|
|
|
|
|
|
|
|
2.6.6:
|
|
|
|
|
- double click to terminate a polygon placement
|
|
|
|
|
- unzoom and zoom now correctly unzoom/zoom around the mouse pointer with no drifts
|
|
|
|
|
- ordered menu items in window so using keys switches menus in a predictable way
|
|
|
|
|
- Double click no more brings up edit property dialog, control-double-click is needed.
|
2020-11-13 12:54:07 +01:00
|
|
|
- 'persistent command' checkbox in Tools menu, if checked LINE and WIRE placement
|
|
|
|
|
continues
|
|
|
|
|
until an Escape or a double click is given. Default value can be set in .xschem
|
|
|
|
|
rc file.
|
|
|
|
|
- line clipping now clips lines to window size and not to currently set bbox. This
|
|
|
|
|
avoids
|
2020-08-08 15:47:34 +02:00
|
|
|
off by one pixel calculations leaving garbage on screen in some cases.
|
|
|
|
|
|
|
|
|
|
2.6.5:
|
|
|
|
|
- Added arcs / circles.
|
|
|
|
|
Arcs are started with the 'Shift-C' key, while circles are entered with 'Ctrl-Shift-C'
|
|
|
|
|
|
|
|
|
|
2.6.2:
|
|
|
|
|
- Open polygons are now supported
|
|
|
|
|
- Button3 for terminating an open Polygon placement
|
|
|
|
|
- Return key for terminating a close polygon placement
|
|
|
|
|
(this can be done also by clicking the last point on the first polygon point).
|
|
|
|
|
- some drawing fixes when highlight nets are shown.
|
|
|
|
|
- Waves, Simulate and Netlist menu buttons with borders so they look different
|
|
|
|
|
from menu entries.
|
|
|
|
|
- Merge schematic (copying across different xschem instances) was not cacihng correctly
|
|
|
|
|
the 'fill attribute for polyons.
|
|
|
|
|
- save/load widgets: no change initial dir if user cancells action
|
|
|
|
|
- 'button' look for 'Netlist', 'Waves' and 'Simulate' menu buttons.
|
|
|
|
|
|
|
|
|
|
2.6.1:
|
|
|
|
|
- remove copying .xschem into home directory from the Makefile, this was
|
|
|
|
|
only for testing and if not properly configured will cause xschem
|
|
|
|
|
to look in the wrong places for schematics
|
|
|
|
|
|
|
|
|
|
2.6.0:
|
2020-11-13 12:54:07 +01:00
|
|
|
- small change in Makefile: when doing 'make install' copy also sample .xschem in
|
|
|
|
|
$HOME/
|
|
|
|
|
so installation will be ready to use without user having to manually setup the
|
|
|
|
|
.xschem
|
2020-08-08 15:47:34 +02:00
|
|
|
file.
|
|
|
|
|
- Documentation updates
|
|
|
|
|
- Makefile passes PREFIX and XSCHEM_DESIGN_PATH cpp variables to xschem
|
|
|
|
|
for default path setting
|
|
|
|
|
- small bug fixes on the new drawing mode:
|
|
|
|
|
pixmap -> 'XCopyArea' -> screen
|
2020-11-13 12:54:07 +01:00
|
|
|
- xinit.c sets empty XSCHEM_DESIGN_PATH before reading startup files (xschemrc and
|
|
|
|
|
.xschem)
|
2020-08-08 15:47:34 +02:00
|
|
|
so variable can be appended without complains from the tcl interpreter
|
|
|
|
|
(variable non existing)
|
|
|
|
|
- allow direct execution of xschem from within the src/ directory for testing purposes.
|
|
|
|
|
removed special startup handling if xschem run from the parent of src/ dir.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- xschem now understands a list of directories for symbol files, this list is set
|
|
|
|
|
as a colon separated list of paths in XSCHEM_DESIGN_PATH.
|
2020-11-13 12:54:07 +01:00
|
|
|
this tcl variable may be set in the .xschem or system xschemrc files, or via env
|
|
|
|
|
variable.
|
2020-08-08 15:47:34 +02:00
|
|
|
if no setting is done then xschem uses the compile time default, unless it is started
|
|
|
|
|
from a source build directort (see below).
|
2020-11-13 12:54:07 +01:00
|
|
|
the old XSCHEM_DESIGN_DIR (now deprecated) is still understood by xschem, this
|
|
|
|
|
variable
|
2020-08-08 15:47:34 +02:00
|
|
|
may specify only one directory.
|
|
|
|
|
|
|
|
|
|
- reverted previous change 'tcl current working dir changed to directory of
|
|
|
|
|
loaded schematic', not necessary and dangerous as it makes xschem
|
|
|
|
|
behaviour unpredictable.
|
|
|
|
|
|
|
|
|
|
- Makefile variables passed to XSCHEM:
|
|
|
|
|
PREFIX: root directory of xschem installation
|
|
|
|
|
(example: /usr , /home/user)
|
|
|
|
|
SYSTEM_LIBRARY_PATH: system-wide directory of xschem symbols / schematics
|
|
|
|
|
(example: $PREFIX/share/xschem/xschem_library )
|
|
|
|
|
USER_LIBRARY_PATH: directory of user schematic / symbol files
|
|
|
|
|
(example: $HOME/xschem_library)
|
|
|
|
|
|
|
|
|
|
- xschem reads first xschemrc file in system xschem directory (.../share/xschem/xschemrc)
|
|
|
|
|
and then .xschem in current directory or in home directory.
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- *NEW* drawing model (enabled by default) that avoid drawing to window, draws only
|
|
|
|
|
to save
|
2020-08-08 15:47:34 +02:00
|
|
|
pixmap, using XCopyArea to paint the screen. This avoids flickering when moving/zooming
|
|
|
|
|
or panning the schematic. Previous drawing model (still available via menu) used
|
2020-11-13 12:54:07 +01:00
|
|
|
to draw both in window and save pixmap. Depending on X server performance choose
|
|
|
|
|
the
|
2020-08-08 15:47:34 +02:00
|
|
|
method that runs best.
|
|
|
|
|
- bug fixes in 'create symbol from schematic'
|
|
|
|
|
|
|
|
|
|
- startup sequence of xschem:
|
|
|
|
|
* look for XSCHEM_HOME_DIR from environment variables.
|
|
|
|
|
|
|
|
|
|
* else if there is ../src/xchem.tcl with respect to current dir and
|
|
|
|
|
../xschem_library then we are starting
|
|
|
|
|
from a build directory, set XSCHEM_HOME_DIR to `pwd` and
|
|
|
|
|
also set XSCHEM_DESIGN_PATH to `pwd`/../xschem_library.
|
|
|
|
|
|
|
|
|
|
* else if there is a PREFIX/share/xschem directory then set XSCHEM_HOME_DIR
|
|
|
|
|
to PREFIX/share/xschem.
|
|
|
|
|
|
|
|
|
|
* source XSCHEM_HOME_DIR/xschemrc if existing.
|
|
|
|
|
|
|
|
|
|
* source `pwd`/.xschem or $HOME/.xschem if existing.
|
|
|
|
|
|
|
|
|
|
* if XSCHEM_HOME_DIR not defined --> error and quit.
|
|
|
|
|
|
|
|
|
|
* look for XSCHEM_DESIGN_PATH from environment variables. This will override any
|
|
|
|
|
value given in xschemrc and .xschem startup files.
|
|
|
|
|
|
|
|
|
|
* if XSCHEM_DESIGN_PATH undefined set it to compile time default provided by Makefile:
|
|
|
|
|
xschem_library_path.
|
|
|
|
|
|
|
|
|
|
* source $XSCHEM_HOME_DIR/xschem.tcl.
|
|
|
|
|
|
|
|
|
|
* start loading user provided schematic file or start with empty window (or filename
|
|
|
|
|
specified in XSCHEM_START_WINDOW tcl variable).
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- all string args passed from C to tcl encloded in {} braces to allow spaces
|
|
|
|
|
in file and library names
|
2020-11-13 12:54:07 +01:00
|
|
|
- tcl current working dir changed to directory of loaded schematic to make relative
|
|
|
|
|
symbol
|
2020-08-08 15:47:34 +02:00
|
|
|
resolution work the same regardless of the directory xschem was started from.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- all path manipulation goes through tcl functions resolve_filename and abs_path_of_symbol,
|
|
|
|
|
no direct manipulation of XSCHEM_DESIGN_PATH in .c or .tcl files.
|
|
|
|
|
This is in preparation of multiple path list in XSCHEM_DESIGN_PATH, requiring
|
|
|
|
|
changes only in those 2 functions.
|
2020-11-13 12:54:07 +01:00
|
|
|
- temp files for editing attributes with editor now in XSCHEM_TMP_DIR instead of
|
|
|
|
|
XSCHEM_DESIGN_PATH
|
2020-08-08 15:47:34 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- new_window(): if opening a schematic in a new window change .sym extension
|
|
|
|
|
to .sch extension, 20181006
|
2020-11-13 12:54:07 +01:00
|
|
|
- get_resolved_symbol(): recognize parent dir and replace absolute path to parent
|
|
|
|
|
dir with ../
|
2020-08-08 15:47:34 +02:00
|
|
|
- load_inst() use get_resolved_symbol() to remove absolute paths when possible, 20181006
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- XSCHEM_DESIGN_DIR renamed to XSCHEM_DESIGN_PATH as it should be a list of multiple
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
library paths to search for.
|
2020-11-13 12:54:07 +01:00
|
|
|
- created a small function, source_tcl_file() for sourcing tcl files and do error
|
|
|
|
|
checking.
|
2020-08-08 15:47:34 +02:00
|
|
|
used to load xschemrc / .xschem / xschem.tcl files
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- look for xschemrc in {PREFIX}/share/xschem for system wide options, before looking
|
|
|
|
|
in $pwd/.xschem
|
2020-08-08 15:47:34 +02:00
|
|
|
or $HOME/.xschem for user options.
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- look for xschem.tcl in $PWD or XSCHEM_HOME_DIR if this tcl var is defined (or
|
|
|
|
|
env var defined)
|
2020-08-08 15:47:34 +02:00
|
|
|
otherwise source from {PREFIX}/share/xschem.
|
|
|
|
|
|
|
|
|
|
- library directory renamed to xschem_library
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- if no .xschem is found and no XSCHEM_DESIGN_PATH defined set xschem symbol library
|
|
|
|
|
to 'xschem_library'
|
|
|
|
|
in current working directory. (good for testing xschem builds before install) or
|
|
|
|
|
in ../xschem_library
|
2020-08-08 15:47:34 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2020-11-13 12:54:07 +01:00
|
|
|
- fixed an off-by-one error in selecting a random char from charset[] in random_string(),
|
|
|
|
|
leading
|
2020-08-08 15:47:34 +02:00
|
|
|
to terminating \0 sometimes chosen as part of the random string.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- tclsetvar() wrapper for all Tcl_SetVar() calls.
|
|
|
|
|
- ask_new_file() calls get_resolved_symbol(fullname) to reduce
|
|
|
|
|
filename to library/symbol if located in standard xschem library
|
|
|
|
|
or just symbol.sym if in current directory, in order to avoid
|
|
|
|
|
as long as possible absolute paths.
|
|
|
|
|
- xschem .selection and .clipboard files renamed to ~/.xschem_selection
|
|
|
|
|
and ~/.xschem_clipboard
|
|
|
|
|
- TCL XSCHEM_TMP_DIR created to indicate tmp directory (default /tmp)
|
|
|
|
|
this can be set in user's .xschem.
|
|
|
|
|
- store_polygon() was not propagating the .fill member from 'fill' property
|
|
|
|
|
this resulted in no fill pattern on polygons with fill=true property set
|
|
|
|
|
when changing polygon layer.
|
|
|
|
|
(store.c, 20181002)
|
|
|
|
|
- removed all strcpy() calls, use my_strncpy()
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- all Tcl_Eval(), Tcl_EvalEx() called with tcleval() that does error checking.
|
|
|
|
|
- all Tcl_GetVar replaced with tclgetvar.
|
|
|
|
|
- my_free() now frees the memory and sets ptr to NULL, called with &ptr.
|
|
|
|
|
- removed all sprintf, replaced with my_snprintf.
|
|
|
|
|
- remaining malloc()s replaced with my_malloc().
|
|
|
|
|
- undo/redo handling now done with popen()/pclose() instead of pipe(), fork(),
|
|
|
|
|
dup2(), fdopen(), freopen(), waitpid(), for better portability.
|
|
|
|
|
- @#n:property syntax is accepted in print_tedax_element() for format string,
|
|
|
|
|
this allow to print in netlist attribute values specified on pins
|
|
|
|
|
@#3:pinnumber --> print 'pinnumber' attribute set for pin #3 of symbol.
|
|
|
|
|
- removed some variable length arrays in token.c
|
|
|
|
|
- tcl make_symbol fixed t work on schematics located anywhere in the filesystem
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- many static (char *name) pointers in functions replaced with
|
|
|
|
|
scoped arrays (char name[]) for efficiency reasons
|
|
|
|
|
path arrays are of type 'char filename[PATH_MAX]'
|
|
|
|
|
- added ability to load schematics and components located anywhere in the filesystem
|
|
|
|
|
for components the (libname/symbolname) is still supported but new syntax is
|
|
|
|
|
to specify relative or absolute names ([/][..../..../]symbol.sym)
|
|
|
|
|
if specified symbol is in the standard xschem libraries (XSCHEM_DESIGN_DIR)
|
|
|
|
|
it is converted to library/symbol:
|
|
|
|
|
Example:
|
|
|
|
|
/home/schippes/xschem_library/devices/npn.sym --> devices/npn
|
|
|
|
|
If a symbol located in the current directory is placed into the xschem window
|
|
|
|
|
all its path components will be stripped off:
|
|
|
|
|
Example:
|
|
|
|
|
/home/schippes/xschem-code/test.sym --> test.sym (if CWD is /home/schippes/xschem-code).
|
|
|
|
|
next feature (still tbd) will be to search a list of paths for sym libraries.
|
|
|
|
|
- more reliable detection of PWD and HOME (getcwd, getenv, getpwuid)
|
|
|
|
|
- cleanup in tcl save & load dialogs, now we only have save_file_dialog and load_file_dialog.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- draw(): don't use spatial hash table for small schematics (<2000 instances, <2000nets).
|
|
|
|
|
- xschem now loads filenames with absolute paths, so any schematic (even outside
|
|
|
|
|
XSCHEM_DESIGN_DIR) can be given.
|
|
|
|
|
- less usage of strlen() reusing size information already available
|
|
|
|
|
- get_tok_value() sets get_tok_value_size to the size of the returned token value.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- xschem now compiles with -std=c99 and
|
|
|
|
|
- double fork method to spawn a new xschem instance to avoid zombies
|
|
|
|
|
- all snprintf calls wrapped in my_snprintf
|
|
|
|
|
- rint() replaced with round()
|
|
|
|
|
- some // comments changed in /* ... */
|
|
|
|
|
- my_strdup() returns size of dup'd string instead of void
|
|
|
|
|
- all strdup() calls wrapped into my_strdup() which in turn uses malloc() + memcpy()
|
|
|
|
|
- all strndup() replaced with my_strndup() which in turn uses malloc() + memcpy()
|
|
|
|
|
- all strcat() replaced with my_strcat() which uses realloc() and memcpy()
|
|
|
|
|
- all strcpy() replaced with memcpy() since size of src string is known.
|
2020-11-13 12:54:07 +01:00
|
|
|
- Corrected a long standing typo: FONTDESCENT+1i, where 1i is considered as imaginary
|
|
|
|
|
number
|
2020-08-08 15:47:34 +02:00
|
|
|
Thanks to Ian Van der Neut for pointing out the problem.
|
|
|
|
|
- removed mkstemp, mkdtemp, replaced with self made create_tmpfile and create_tmpdir
|
|
|
|
|
- added '%option never-interactive' in parselabel.l so it avoids usig fileno()
|
|
|
|
|
which is not needed and creates portability issues
|
|
|
|
|
- cleanups in save/load/merge procedures
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- flatten.awk changed to awk hasbang script instead of sh --> awk
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- pass PREFIX and LIBRARY_PREFIX from Makefile prefix and library_prefix variables
|
|
|
|
|
- check if symbol pointer is set in spatial hash table drawing (draw.c, tag 20180921)
|
|
|
|
|
- added some const type declarators:
|
|
|
|
|
*bus_hilight_lookup(const char *token...)
|
|
|
|
|
const char *expandlabel(const char *s, int *m)
|
|
|
|
|
and other const declarations here and there
|
|
|
|
|
- save_ascii_string(): no trailing space added.
|
2020-11-13 12:54:07 +01:00
|
|
|
- load_symbol(): if symbol definition contains components link them with corresponding
|
|
|
|
|
symbols
|
2020-08-08 15:47:34 +02:00
|
|
|
(although a symbol should not contain nets / components), tag 20180921
|
|
|
|
|
- some comments / cleanups in xinit.c
|
|
|
|
|
- fixed menu accelerators shown in 'File' menu to reflect recent keybinding changes
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
2.4.9:
|
|
|
|
|
- ability to swap mouse buttons using tcl key_binding proc
|
2020-11-13 12:54:07 +01:00
|
|
|
NOTE: it is not possible to replace Button1 since it is sent in Motion events as
|
|
|
|
|
well.
|
|
|
|
|
- clear_drawing() did not delete spatial hash tables leading to segfaults when doing
|
|
|
|
|
File-> New schematic
|
2020-08-08 15:47:34 +02:00
|
|
|
- swapped Button4/5 (wheel zoom)
|
|
|
|
|
- changed some key bindings to more standard values:
|
|
|
|
|
- ctrl-shift-s --> Save As
|
|
|
|
|
- ctrl-s --> Save
|
|
|
|
|
- ctrl-o --> Open
|
|
|
|
|
- ctrl-alt-s --> save as symbol
|
|
|
|
|
- shift-s --> change element ordering
|
|
|
|
|
- fill=true property for polygons to indicate fill is wanted
|
|
|
|
|
default polygons are not filled.
|
|
|
|
|
- tcl key_binding procedure allows to change/swap mouse buttons
|
2020-11-13 12:54:07 +01:00
|
|
|
- save.c: removed code duplication by creating a 'read_xschem_file() function that
|
|
|
|
|
read files.
|
2020-08-08 15:47:34 +02:00
|
|
|
- removed some dead /commented old code
|
2020-11-13 12:54:07 +01:00
|
|
|
- get_tok_value(inst_ptr....prop_ptr, "name"...) replaced with inst_ptr[..].instname
|
|
|
|
|
(20180911)
|
|
|
|
|
- fix crashing bug in hilight.c when instances with empty property string are traversed
|
|
|
|
|
during a search
|
2020-08-08 15:47:34 +02:00
|
|
|
20180906
|
2020-11-13 12:54:07 +01:00
|
|
|
- new '@#n format allowed for referencing a net attached to a pin in symbol format
|
|
|
|
|
strings.
|
2020-08-08 15:47:34 +02:00
|
|
|
This pattern can be used in 'format, 'vhdl_format', 'verilog_format', 'tedax_format'
|
|
|
|
|
global attributes of symbols.
|
2020-11-13 12:54:07 +01:00
|
|
|
This pattern is faster than the traditional '@@pin_name' syntax since xschem does
|
|
|
|
|
not need to
|
2020-08-08 15:47:34 +02:00
|
|
|
search all pins in symbol for a name matching 'pin_name'
|
|
|
|
|
Example: verilog_format="assign @#2 = @#0 ;"
|
2020-11-13 12:54:07 +01:00
|
|
|
in this case @#2 expands to the net name attached to pin stored at position 2
|
|
|
|
|
(starting from 0) in xschem,
|
|
|
|
|
(that is the third symbol pin), @#0 expands to net name attached to first pin
|
|
|
|
|
of the symbol
|
|
|
|
|
- do not print escaping backslashes in print_verilog_primitive, print_verilog_primitive,
|
|
|
|
|
(20180911)
|
|
|
|
|
- new '#@n:pin_attr' format allowed in text objects placed in symbols, this will
|
|
|
|
|
expand
|
|
|
|
|
to the value of attribute 'pin_attr' stored in the property string of the 'n-th'
|
|
|
|
|
pin of symbol.
|
2020-08-08 15:47:34 +02:00
|
|
|
Example: @#0:pinnumber
|
2020-11-13 12:54:07 +01:00
|
|
|
if pinnumber of pin 0 is defined as 'pinnumber=1:4:9:12' and symbol instance name
|
|
|
|
|
is 'U1:4'
|
2020-08-08 15:47:34 +02:00
|
|
|
xschem will resolve slot information (4) and replace the '@#0:pinnumber' with '12'.
|
|
|
|
|
this is used to correctly draw correct pin numbers for slotted devices.
|
|
|
|
|
|
|
|
|
|
2.4.8:
|
|
|
|
|
- added (experimental for now) tEDAx netlist export, this is a netlist format that
|
|
|
|
|
the pcb-rnd printed board editor understands.
|
|
|
|
|
sample test schematic included in the source distribution (pcb_test1.sch)
|
|
|
|
|
- better lookup of spice_ignore, verilog_ignore and vhdl_ignore for netlisting,
|
|
|
|
|
after looking in instance properties look also in symbol definition.
|
|
|
|
|
- fixed a bug in TCL savefile procedure, where it refused to save a schematic
|
|
|
|
|
in a library pointed to by a symlink
|
2020-11-13 12:54:07 +01:00
|
|
|
- Escape key no more closes a property edit dialog (proc text_line) if something
|
|
|
|
|
has been written
|
2020-08-08 15:47:34 +02:00
|
|
|
into it.
|
|
|
|
|
|
|
|
|
|
2.4.5:
|
|
|
|
|
- 20180208 fix crashing bug: delete node info if changing symbol
|
|
|
|
|
if number of pins is different we must delete these data *before*
|
|
|
|
|
changing ysmbol, otherwise i might end up deleting non allocated data.
|
|
|
|
|
Stefan, 20180417
|
|
|
|
|
|
|
|
|
|
2.4.4:
|
|
|
|
|
- improvements in spice.awk, do not clobber with user defined code
|
|
|
|
|
- re-enabled backing store, (xserver takes care of saving obscured window portions)
|
|
|
|
|
this was disabled to ensure correct response of XSCHEM to expose events after
|
|
|
|
|
some changes in the drawing engine.
|
|
|
|
|
Stefan, 20180203
|
|
|
|
|
|
|
|
|
|
2.4.3:
|
2020-11-13 12:54:07 +01:00
|
|
|
- devices/code.sym component added: this component has a 'value' property that may
|
|
|
|
|
be
|
2020-08-08 15:47:34 +02:00
|
|
|
used to place arbitrary code (spice/verilog/VHDL code) into a schematic. Multiple
|
|
|
|
|
'code.sym' components may be used, their 'value' properties will be concatenated
|
|
|
|
|
into the resulting netlist. code may be entered by editing the value property
|
|
|
|
|
with <shift-q>
|
|
|
|
|
|
|
|
|
|
2.4.2:
|
|
|
|
|
- delete objects (mainly for text) before overstriking with hilight color, this avoids
|
2020-11-13 12:54:07 +01:00
|
|
|
ugly character borders of hilighted texts (antialiasing presumes you draw text
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
on empty background)
|
|
|
|
|
- small bug fixes of regressions introduced by previous commit
|
|
|
|
|
|
|
|
|
|
2.4.1:
|
|
|
|
|
- spatial hash iterator added in drawing engine when the viewing area is small compared
|
2020-11-13 12:54:07 +01:00
|
|
|
to the total area of a freaking big schematic; using spatial hash the lookup of
|
|
|
|
|
elements
|
2020-08-08 15:47:34 +02:00
|
|
|
(instances and wires for now) that are in the viewing area is *much* faster.
|
|
|
|
|
so we avoid lot of clip checks on the whole wire[] and inst_ptr[] arrays.
|
|
|
|
|
When a full zoom is done (viewing area is big) we return to normal loop
|
|
|
|
|
on the wire and inst_ptr arrays, since spatial hash gives no gain in this case.
|
|
|
|
|
(20180104)
|
|
|
|
|
- some small glitches about not drawing small objects (for performance reasons) fixed.
|
|
|
|
|
(20171206)
|
|
|
|
|
- some fixes in symbol editing: rename pins next to pin labels (20171221)
|
2020-11-13 12:54:07 +01:00
|
|
|
- fixed regresion in print_hilight_net() to recognize pin direction when creating
|
|
|
|
|
pins
|
2020-08-08 15:47:34 +02:00
|
|
|
from hilight nets (20171221)
|
2020-11-13 12:54:07 +01:00
|
|
|
- allow multi-instance primitive format specifications (verilog_format prop) using
|
|
|
|
|
the
|
2020-08-08 15:47:34 +02:00
|
|
|
#xxx#@name construct to build unique names for nodes and inst names,
|
|
|
|
|
as done for spice primitives
|
|
|
|
|
|
|
|
|
|
2.4.0:
|
|
|
|
|
- some string overflow checks (schematic[])
|
|
|
|
|
- major speed improvement in instance wiring tool ('H' bindkey) for multiple selected
|
|
|
|
|
instances.
|
|
|
|
|
- 'first_call' parameter in place_symbol() to speed up finding unique
|
|
|
|
|
instance name in case of multiple placements of the same type.
|
|
|
|
|
- 'drill through' option in net highlight, (ctrl-alt-k key) this command
|
|
|
|
|
will highlight a net passing through components with pins that have a
|
|
|
|
|
'propagate_to' property set to the number of the pin to pass the
|
|
|
|
|
highlight to.
|
|
|
|
|
Example:
|
|
|
|
|
if pin #0 on a resistor has 'propagate_to=1' property set
|
|
|
|
|
then hilight net on pin 0 will propagate to pin #1.
|
|
|
|
|
the reverse propagate_to may be set as well.
|
|
|
|
|
|
|
|
|
|
propagate_to=1 propagate_to=0
|
|
|
|
|
pin #0 pin #1
|
|
|
|
|
o---/\/\/\/\---o
|
|
|
|
|
|
|
|
|
|
- correctly redraw selected objects when passing with selection rectangle
|
|
|
|
|
over already selected items
|
|
|
|
|
- select_text and select_wire now have 'fast' param to avoid drawing information
|
|
|
|
|
in window status line, this is used when doing block selection of multiple objects
|
|
|
|
|
to make the process *much* faster
|
|
|
|
|
- skip drawing symbols whose bounding box in current zoom factor <0.3 pixels.
|
|
|
|
|
- fixed some wrong bbox() usage in edit_text_property
|
2020-11-13 12:54:07 +01:00
|
|
|
- performance improvements in prepare_netlist_structs when called for highlighting
|
|
|
|
|
nets
|
2020-08-08 15:47:34 +02:00
|
|
|
- fixed a regression in copy_objects of polygons
|
|
|
|
|
- 'xschem' tcl command: print error message if unknow subcommand given
|
|
|
|
|
- fixed some regression in partial rectangle selections (select_box() )
|
|
|
|
|
- 'hash_prefix_unnamed_net' parameter in pin_node(), needed for correctly
|
|
|
|
|
hashing unnamed nets for 'drill' hilight.
|
|
|
|
|
- added 'unselect' radio button in instance search tool (ctrl-f key)
|
|
|
|
|
- added 'layer' and 'font' members to text struct, caching the respective
|
|
|
|
|
'layer=n and font=string' properties, to avoid calling get_tok_value
|
|
|
|
|
- more flexibility in 'attach_labels_to_inst ('H' key), allow to wire all
|
|
|
|
|
selected instances without querying the user, option for user set rotated text
|
|
|
|
|
- performance optimization, do not call symbol_bbox on every full zoom
|
|
|
|
|
- create symbol pins from selected schematic pins (Alt-h key)
|
|
|
|
|
- Alt-s key (reload from disk) now correctly reloads symbol (.sym) file
|
|
|
|
|
if editing a symbol.
|
|
|
|
|
- fullscreen key moved to Alt-Shift-F
|
2020-11-13 12:54:07 +01:00
|
|
|
- added Alt-h and Alt-r keys to flip and rotate objects around their anchor points
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
while copying/moving
|
|
|
|
|
- performance optimization: skip drawing of objects that are too small in
|
|
|
|
|
current zoom factor.
|
|
|
|
|
- added command' xschem set no_undo [01]' to disable/reenable undo.
|
|
|
|
|
- performance improvements in wirecheck(), skip wires that already have a .node field
|
|
|
|
|
- renamed functions in netlist.c for better understanding
|
2020-11-13 12:54:07 +01:00
|
|
|
- performance improvement, simplified and almost eliminated use of hash_lookup function
|
|
|
|
|
(token.c)
|
2020-08-08 15:47:34 +02:00
|
|
|
it is now used only to store instance names to allow collision checking in new_prop_string().
|
2020-11-13 12:54:07 +01:00
|
|
|
hash_proplist() now only inserts instance name in hash table, rest of property
|
|
|
|
|
string is skipped.
|
|
|
|
|
- new_prop_string, start checking from 0 instead of from 1 when looking for free
|
|
|
|
|
instance
|
2020-08-08 15:47:34 +02:00
|
|
|
name slots (x0 instead of x1 as first free name for subcircuit instances, for example)
|
|
|
|
|
- xschem.tcl: refer to $HOME/.clipboard.sch instead of $PWD/.clipboard.sch
|
|
|
|
|
|
|
|
|
|
2.3.7:
|
|
|
|
|
- do not recalculate symbol bounding box on any zoom / pan / draw operation,
|
|
|
|
|
do it when moving / changing props / deleting / loading / drawing selection.
|
|
|
|
|
- added a 'bus' int field in the wire struct, where the 'bus' property is cached
|
|
|
|
|
this avoid many get_tok_value() calls on every draw() call.
|
|
|
|
|
- fixed a regression introduced by [20171104] in subst_token() [20171201]
|
|
|
|
|
|
|
|
|
|
2.3.6:
|
|
|
|
|
- some cleanups in the code,
|
2020-11-13 12:54:07 +01:00
|
|
|
- performance optimization, do not call symbol_bbox() in view_zoom and view_unzoom,
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
- dim and bright colors (+ and - keys)
|
|
|
|
|
- include/exclude background color in dim/bright operations (alt-c)
|
2020-11-13 12:54:07 +01:00
|
|
|
- cairo clipping implemented in bbox() so text will not be overstriked making it
|
|
|
|
|
look bold
|
2020-08-08 15:47:34 +02:00
|
|
|
when placing and deleting objects that partially overlap text.
|
|
|
|
|
- Dirty hack in callback() (TURBOX_FIX) to work-around bugs in the Exceed
|
|
|
|
|
TurboX server. Include -DTURBOX_FIX in the Makefile if needed.
|
|
|
|
|
without this hack repainting the window with the save_pixmap (FillTiled fill style)
|
|
|
|
|
will sometimes not work, leaving garbage or empty areas.
|
|
|
|
|
- full precision in save operations (%.16g instead of %g), allowing *much* bigger
|
|
|
|
|
drawing areas to be saved and restored without loss of precision.
|
|
|
|
|
|
|
|
|
|
2.3.5:
|
2020-11-13 12:54:07 +01:00
|
|
|
- proportional fonts now fully supported, text correctly aligned even on rotated
|
|
|
|
|
objects
|
2020-08-08 15:47:34 +02:00
|
|
|
- postscript and svg print routines updated to render polygons.
|
|
|
|
|
|
|
|
|
|
2.3.4:
|
|
|
|
|
- fix zoom full function, expecially when zooming back
|
|
|
|
|
from a very very deep zoom in.
|
|
|
|
|
- avoid calling cairo_text_extents() and cairo_set_font_size() for
|
|
|
|
|
extremely large characters (this happens when doing an extreme zoom in)
|
|
|
|
|
as this causes Floating point exceptions on older cairo versions
|
|
|
|
|
- enable constrained move (vertical/horizontal) when drawing polygons
|
|
|
|
|
- better text alignent on rotated objects, when non-zero cairo_vert_correct
|
|
|
|
|
parameter is defined in ~/.xschem
|
|
|
|
|
- lock hsize and vsize when entering text with cairo enabled, since there is
|
|
|
|
|
no option in cairo text for different x/y scaling.
|
|
|
|
|
- code cleanups
|
|
|
|
|
|
|
|
|
|
2.3.3:
|
|
|
|
|
- do not try to draw polygons that are offscreen (discard by
|
|
|
|
|
checking bounding box) - faster and no arithetic int16 overflow
|
|
|
|
|
- copy /paste was not implemented yet for polygons - fixed.
|
|
|
|
|
- bug fix for copy/save to clipboard of polygons
|
|
|
|
|
- select_all() was not updated for polygons - fixed.
|
|
|
|
|
- fix an error in the tcl code that prevented saving to libraries
|
|
|
|
|
pointed to by symlinks (20171119 tag in xschem.tcl)
|
|
|
|
|
|
|
|
|
|
2.3.2:
|
|
|
|
|
- added polygon graphic primitive in addition to lines, rectangles and text.
|
|
|
|
|
ctrl-w command or menu 'Tools-> Insert Polygon'. Operation is concluded by
|
|
|
|
|
closing the polygon, i.e. placing the last point over the first, or
|
|
|
|
|
by hitting the 'Return' key.
|
|
|
|
|
- added font="font name" property for text objects, allowing to change
|
|
|
|
|
font on specific text objects. Use only monospaced types, expecially
|
|
|
|
|
if you plan to rotate or flip the text, as bounding box calculation is not
|
|
|
|
|
accurate for proportional typefaces.
|
|
|
|
|
- performance improvement: do not call Fill drawing routines for shapes that
|
|
|
|
|
are on layers with no visible fill pattern defined.
|
|
|
|
|
- the 'set cairo_vert_correct x' (with x=positive or negative number)
|
|
|
|
|
can now be set in the .xschem file to any value, text bounding box is
|
|
|
|
|
shifted accordingly. This allows to change the vertical alignment of fonts
|
|
|
|
|
for best appearance.
|
|
|
|
|
- white and dark colorscheme toggle View->Toggle colorscheme, Shift-C key)
|
|
|
|
|
- added 'xschem toggle_colorscheme' command
|
|
|
|
|
- removed obsolete and deprecated Tcl_GlobalEval, replaced with Tcl_EvalEx
|
|
|
|
|
- Tcl_Eval()s referring to TCL global vars changed to Tcl_EvalEx, so we ensure the
|
|
|
|
|
script is run in the global scope.
|
|
|
|
|
- print error message if execution of xschem.tcl fails due to errors in the tcl code
|
|
|
|
|
before dying. this way we have a clue to fix the error.
|
|
|
|
|
- custom colorschemes can be set in the ~/.xschem file:
|
|
|
|
|
set cadlayers 22
|
|
|
|
|
set light_colors {
|
|
|
|
|
"#ffffff" "#0044ee" "#aaaaaa" "#222222" "#229900"
|
|
|
|
|
"#bb2200" "#00ccee" "#ff0000" "#888800" "#00aaaa"
|
|
|
|
|
"#880088" "#00ff00" "#0000cc" "#666600" "#557755"
|
|
|
|
|
"#aa2222" "#7ccc40" "#00ffcc" "#ce0097" "#d2d46b"
|
|
|
|
|
"#ef6158" "#fdb200" }
|
|
|
|
|
|
|
|
|
|
set dark_colors {
|
|
|
|
|
"#000000" "#00ccee" "#3f3f3f" "#cccccc" "#88dd00"
|
|
|
|
|
"#bb2200" "#00ccee" "#ff0000" "#ffff00" "#ffffff"
|
|
|
|
|
"#ff00ff" "#00ff00" "#0000cc" "#aaaa00" "#aaccaa"
|
|
|
|
|
"#ff7777" "#bfff81" "#00ffcc" "#ce0097" "#d2d46b"
|
|
|
|
|
"#ef6158" "#fdb200" }
|
|
|
|
|
|
|
|
|
|
2.3.0:
|
|
|
|
|
- Antialiased CAIRO text for all XSCHEM elements!!
|
|
|
|
|
if variable HAS_CAIRO is set in the Makefile all text processing in XSCHEM
|
|
|
|
|
will be done using the cairo library.
|
|
|
|
|
- all text elements may specify a 'layer=<number>' in the property string box
|
|
|
|
|
to specify a user layer color (instead of the default TEXTLAYER) to draw
|
|
|
|
|
the text. Available only if cairo fonts enabled.
|
|
|
|
|
- a new command is added:
|
|
|
|
|
xschem set cairo_font_name {<font name>}
|
|
|
|
|
will set the font to be used for text rendering. Use only monospaced fonts
|
|
|
|
|
to allow proper bounding box calculations.
|
|
|
|
|
Example:
|
|
|
|
|
xschem set cairo_font_name {DejaVu Sans Mono}
|
|
|
|
|
- various improvements in drawing engine (redraw selected elements on Expose events,
|
|
|
|
|
this is needed if the server does not provide backing store).
|
|
|
|
|
- configuration variables controlling cairo fonts, may be placed in ~/.xschem:
|
|
|
|
|
#### scale all fonts by this number
|
|
|
|
|
set cairo_font_scale 1.0
|
|
|
|
|
#### scale line spacing by this number
|
|
|
|
|
set cairo_font_line_spacing 1.0
|
|
|
|
|
#### specify a font (Use only monospaced fonts!)
|
|
|
|
|
set cairo_font_name {Liberation Mono}
|
|
|
|
|
#### lift up text by some zoom-corrected pixels for
|
|
|
|
|
#### better compatibility wrt no cairo version.
|
|
|
|
|
#### USE WITH CAUTION!!! big values cause text to
|
|
|
|
|
#### go beyond the calculated bouning box, leaving garbage
|
|
|
|
|
#### on the screen when moving objects/redrawing.
|
|
|
|
|
#### Useful values in the range [-1, 3]
|
|
|
|
|
set cairo_vert_correct 1
|
|
|
|
|
- following commands added to xschem tcl command, to runtime change these behaviours.
|
|
|
|
|
xschem set cairo_font_name
|
|
|
|
|
xschem set cairo_font_scale
|
|
|
|
|
xschem set cairo_font_line_spacing
|
|
|
|
|
xschem set cairo_vert_correct
|
|
|
|
|
- various bug fixes due to *BIG* cairo commit.
|
|
|
|
|
|
|
|
|
|
2.2.5:
|
|
|
|
|
- **LONG** standing crashing bug fixed in token.c --> subst_token(), causing
|
|
|
|
|
xschem to crash on unusually large token strings, this can happen if a generic
|
|
|
|
|
text file is loaded as a component property, instead of the usual
|
|
|
|
|
"name=xyyy tok1=val1 tok=val2 ..." property strings. tag 20171104
|
|
|
|
|
- some other bug fixes (removed sprintf of a string into itself :-) )
|
|
|
|
|
- when pressing the 'LOAD' button in tcl-tk text entries to load a file,
|
|
|
|
|
place the file starting at the cursor position instead of at the beginning.
|
|
|
|
|
- when an instance has empty property string do *not* preload the edit property text
|
|
|
|
|
widget with a copy of the property string of another instance found in the schematic.
|
|
|
|
|
This creates the illusion that the selected instance has a property string while
|
|
|
|
|
it does not.
|
|
|
|
|
- added @tcleval(<<tcl script>>) tag that can be used in 'format',
|
|
|
|
|
'vhdl_format', 'verilog_format' strings to allow dynamic netlisting.
|
|
|
|
|
<<tcl script>> can be any valid tcl code, two variables are defined
|
|
|
|
|
in the script context: 'symname' and 'instname', these variables can
|
|
|
|
|
be used to query instance or symbol properties with the 'xschem'
|
|
|
|
|
builtin command.
|
|
|
|
|
in <<tcl script>> spaces and quotes must be escaped.
|
|
|
|
|
- Added 'xschem getprop' command:
|
|
|
|
|
* xschem getprop instance <<instname>> <<property>>
|
|
|
|
|
returns instance property
|
|
|
|
|
example: xschem getprop instance m3 w --> returns mos width
|
|
|
|
|
* xschem getprop instance_n <<instnum>> <<property>>
|
|
|
|
|
same as previous, but use instance index number instead of name
|
|
|
|
|
* xschem getprop symbol <<symname>> <<property>>
|
|
|
|
|
returns symbol property
|
|
|
|
|
example: xchem getprop symbol devices/nmos format
|
|
|
|
|
--> return format property string of symbol
|
|
|
|
|
* xschem getprop instance_net <<instname>> <<pin>>
|
|
|
|
|
returns net name attached to <<pin>>
|
|
|
|
|
- code cleanup (removed obsolete comments)
|
|
|
|
|
|
|
|
|
|
2.2.4:
|
|
|
|
|
- Better drawing when selecting by area / unselecting by area. Selection drag
|
|
|
|
|
rectangle no more clutters the underlying already selected stuff.
|
|
|
|
|
When unselecting (Shift-right button drag) do a live update of objects as soon
|
|
|
|
|
as they get unselected.
|
|
|
|
|
- hilight_inside() function renamed to select_inside. the previous ambigous name
|
|
|
|
|
really pissed me off.
|
|
|
|
|
Stefan 20171027
|
|
|
|
|
2.2.3:
|
|
|
|
|
- Added menu commands 'New Schematic'; and 'New Symbol' so the
|
|
|
|
|
'current_type' global is correctly set for schematic or symbol
|
|
|
|
|
editing and saving.
|
|
|
|
|
- put global properties in G {} field when saving as symbol, take
|
|
|
|
|
global sym props from schprop, schvhdlprop, schverilogprop, the first
|
|
|
|
|
one that contains 'format=' or 'type=' fields
|
|
|
|
|
Stefan 20171025
|
|
|
|
|
2.2.2:
|
|
|
|
|
- added easy keybind customization in the ~/.xschem init file.
|
|
|
|
|
See following examples:
|
|
|
|
|
## replace Ctrl-d with Escape (so you wont kill the program)
|
|
|
|
|
set replace_key(Control-d) Escape
|
|
|
|
|
## swap w and W keybinds; Always specify Shift for capital letters
|
|
|
|
|
set replace_key(Shift-W) w
|
|
|
|
|
set replace_key(w) Shift-W
|
|
|
|
|
- Documentation added for keybind customization.
|
|
|
|
|
2.2.1:
|
|
|
|
|
- some regressions in bindkeys fixed
|
|
|
|
|
2.2.0:
|
|
|
|
|
- Added description option -no-pie in Makefile.
|
|
|
|
|
if a profiled executable is needed '-no-pie -pg' must be given.
|
|
|
|
|
Position Independent Executable is now the default on Gcc,
|
|
|
|
|
but gprof will not work with this default.
|
|
|
|
|
- xschem will not descend or go up from a schematic hierarchy level
|
|
|
|
|
if it has been modified, the user wants to save changes but the
|
|
|
|
|
file can not be saved, due for example to permission problems.
|
|
|
|
|
In this case the user either needs to save to a different place
|
|
|
|
|
or say 'no' when prompted for save.
|
|
|
|
|
- bindkey 'W' 'show discrepancies of nets vs pin names on selected
|
|
|
|
|
instance' changed to 'X'
|
|
|
|
|
- added the 'snap wire' function (uppercase) 'W' bindkey, the wire
|
|
|
|
|
starts/ends from/to closest instance pin or net endpoint.
|
|
|
|
|
- fixes in the undo buffer, some actions were not undoable.
|
|
|
|
|
- bindkey 'H' for 'execute tclcommand or open file or
|
|
|
|
|
http link (tclcomand or url properties) changed to 'ctrl-h'
|
|
|
|
|
- bindkey 'h' for 'attach nets to instance pin' changed to 'H'
|
|
|
|
|
- added constrained horizontal ('h' key) or vertical ('v' key)
|
|
|
|
|
movement for wire, line, object copy/move.
|
|
|
|
|
- added menu entries for png/pdf/svg print, h/v constrained move,
|
|
|
|
|
collapse wires, snap wire creation.
|
|
|
|
|
- '-z' xschem option now works again, this will start xschem with
|
|
|
|
|
a rich rainbow colored layer set.
|
|
|
|
|
- Documentation updates.
|
|
|
|
|
|
|
|
|
|
2.1.14:
|
|
|
|
|
- Documentation updated (component pin auto labeling)
|
|
|
|
|
- added option '-S' to launch a simulation in batch command mode:
|
|
|
|
|
'xschem -q -n -s -S examples/poweramp'
|
|
|
|
|
will do a spice (-s) netlist (-n) and launch simulation (-S), then quits (-q)
|
|
|
|
|
- added option '-W' to launch waveform viewer
|
|
|
|
|
'xschem -q -s -W examples poweramp'
|
|
|
|
|
will bring up the default spice wave viewer and quits.
|
|
|
|
|
- do not open a confitmation dialog asking to save if TCL 'xschem save' is given
|
|
|
|
|
This will allow to build tcl scripts without needing user confirmation.
|
2020-11-13 12:54:07 +01:00
|
|
|
- tcl command 'xschem select' now allows to select an instance by specifying its
|
|
|
|
|
instance name
|
2020-08-08 15:47:34 +02:00
|
|
|
(instead of its numeric position into the inst_ptr array, still allowed)
|
|
|
|
|
'xschem select xampli'
|
|
|
|
|
will select instance 'xampli' if found in current schematic
|
2020-11-13 12:54:07 +01:00
|
|
|
- Added #define __USE_GNU to allow usage of 'strndup' function (POSIX 2008) in older
|
|
|
|
|
systems
|
2020-08-08 15:47:34 +02:00
|
|
|
- improvements on the 'create pins to selected instance' command ('h' key)
|
|
|
|
|
a dialog box asks if pins need to be prefixed with a string, also allow
|
|
|
|
|
to choose lab_pin or lab_wire net labels.
|
|
|
|
|
- Control-return and Escape bindkeys added to most toplevel dialog boxes
|
|
|
|
|
to allow quickly closing unwanted dialog boxes.
|
2020-11-13 12:54:07 +01:00
|
|
|
- devices/lab_wire library symbol flipped horizontally to align orientation with
|
|
|
|
|
lab_pin
|
2020-08-08 15:47:34 +02:00
|
|
|
- documentation about automatic symbol generation
|
|
|
|
|
- added a 'Make schematic from symbol' (Ctrl-l) menu entry.
|
|
|
|
|
if one symbol is selected and this function is invoked (ctrl-l)
|
|
|
|
|
a schematic view (.sch) will be automatically created from the
|
|
|
|
|
symbol view. The schematic will only contain the interface
|
|
|
|
|
pins / generics (if any). This will overwrite the symbol schematic
|
|
|
|
|
view if it exist. A warning is issued requesting user confirmation.
|
|
|
|
|
- some cosmetic additions (dialog titles) in xschem.tcl
|
|
|
|
|
- fixed a crashing bug when the 'create pins from highlight nets'
|
|
|
|
|
(ctrl-j) is invoked after hilighting some nets and deleting a
|
|
|
|
|
subset of those.
|
|
|
|
|
|
|
|
|
|
2.1.13:
|
|
|
|
|
- Added binding for the 'ghdl' free VHDL simulator, update your ~/.xschem file to
|
|
|
|
|
set pathnames and defaults.
|
|
|
|
|
- added a VHDL testbench ('loading') in the examples library to test ghdl
|
|
|
|
|
- small fixes in the 'vhdl.awk' netlist post processor
|
|
|
|
|
|
|
|
|
|
2.1.12:
|
|
|
|
|
- fixed a bug causing incorrect VHDL netlist when bussed nets or bus slices are
|
|
|
|
|
connected to primitive VHDL symbols with behaviour described with vhdl_format.
|
|
|
|
|
Thanks to Svenn Are Bjerkem for reporting the problem.
|
|
|
|
|
|
|
|
|
|
2.1.11:
|
|
|
|
|
- When saving a newly created schematic (a schematic never saved before) using
|
2020-11-13 12:54:07 +01:00
|
|
|
the 'File->Save' function, revert to a 'Save As' operation asking for a correct
|
|
|
|
|
filename
|
2020-08-08 15:47:34 +02:00
|
|
|
Thanks to Svenn Are Bjerkem for pointing out the issue.
|
|
|
|
|
|
|
|
|
|
2.1.10:
|
|
|
|
|
callback.c:
|
|
|
|
|
- filter out NumLock status in event processing (20170511)
|
|
|
|
|
Thanks to Saul Rodriguez for pointing out the issue.
|
|
|
|
|
- added 'Alt + Right-Mouse-Button' to activate the 'launcher' feature on
|
|
|
|
|
selected component instance (also bound to 'H' key)
|
|
|
|
|
|
|
|
|
|
2.1.9:
|
|
|
|
|
- added 'propstring' search key to search patterns into the whole instance
|
|
|
|
|
property string instead of looking into single property tokens
|
|
|
|
|
- added the following instance properties:
|
|
|
|
|
- 'url' : specify an url to open when pressing the launch ('H') key on an instance
|
2020-11-13 12:54:07 +01:00
|
|
|
- 'program' : specify a program to use for opening the file (default if missing:
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
xdg-open)
|
|
|
|
|
- 'tclcommand' : execute a tcl script
|
|
|
|
|
these properties allow the creation of 'launchers', special instances that when
|
2020-11-13 12:54:07 +01:00
|
|
|
triggered with the 'H' key perform some actions (open documentation, datasheets,
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
view data, run special viewers, bindings to new simulators, ...)
|
2020-11-13 12:54:07 +01:00
|
|
|
the special 'launcher' component in the 'devices' library can be used for this
|
|
|
|
|
purpose.
|
2020-08-08 15:47:34 +02:00
|
|
|
All these properties can be attached to any schematic component.
|
2020-11-13 12:54:07 +01:00
|
|
|
- fixes in the spice.awk netlister (20170407) fixed wrong netlisting for ammeters
|
|
|
|
|
(current
|
2020-08-08 15:47:34 +02:00
|
|
|
probes) placed on bussed wires.
|
2020-11-13 12:54:07 +01:00
|
|
|
- token.c: get_tok_value: recognize escaped backslashes (\\), return single backslash
|
|
|
|
|
(\)
|
2020-08-08 15:47:34 +02:00
|
|
|
in the value string.
|
|
|
|
|
- .xschem config file: removed 'hspicerf_simulator', 'modelsim_simulator', added
|
|
|
|
|
'spice_simulator', 'verilog_simulator', 'finesim_path', 'finesim_opts' variables.
|
2020-11-13 12:54:07 +01:00
|
|
|
previously the default spice simulator was hspice and optionally hspicerf was used
|
|
|
|
|
when
|
|
|
|
|
hspicerf_simulator was set to 1. This is unflexible, the new approach is to specify
|
|
|
|
|
|
2020-08-08 15:47:34 +02:00
|
|
|
the name of the simulator to use: (set spice_simulator hspice).
|
|
|
|
|
Same approach for the verilog simulator (set verilog_simulator iverilog)
|
|
|
|
|
Added finesim spice simulator (set the 'finesim_path' variable and set
|
|
|
|
|
spice_simulator to finesim).
|
|
|
|
|
- some cosmetic changes in the menus (radiobuttons for viewer/simulator/netlist format)
|
|
|
|
|
|
|
|
|
|
2.1.8:
|
|
|
|
|
- Fixed a segfault regression, some minor fixes in the code.
|
|
|
|
|
- Fixed wrong search order of the .xschem file. The correct
|
|
|
|
|
behavior is to look in ${PWD} for an initialization .xschem
|
|
|
|
|
file, and then (if not found) look in ${HOME}.
|
|
|
|
|
Give up execution if ${HOME} is not defined.
|
|
|
|
|
|
|
|
|
|
2.1.7:
|
|
|
|
|
- Fixes some wrong references to symbols in the provided example schematics
|
|
|
|
|
- Small documentation updates.
|