#
XSCHEM : schematic capture
and netlisting EDA tool

Xschem is a schematic capture program, it allows creation of hierarchical representation of circuits with a top down approach . By focusing on interfaces, hierarchy and instance properties a complex system can be described in terms of simpler building blocks. A VHDL or Verilog or Spice netlist can be generated from the drawn schematic, allowing the simulation of the circuit. Key feature of the program is its drawing engine written in C and using directly the Xlib drawing primitives; this gives very good speed performance, even on very big circuits. The user interface is built with the Tcl-Tk toolkit, tcl is also the extension language used.

## Features

- hierarchical schematic drawings, no limits on size
- any object in the schematic can have any sort of properties (generics in VHDL, parameters in Spice or Verilog)
- new Spice/Verilog primitives can be created, and the netlist format can be defined by the user
- tcl extension language allows the creation of scripts; any user command in the drawing window has an associated tcl comand
- VHDL / Verilog / Spice netlist, ready for simulation
- Behavioral VHDL / Verilog code can be embedded as one of the properties of the schematic block,

Xschem runs on UNIX systems with X11 and Tcl-Tk toolkit installed.

## Project status

date | version | notes
19980804 | 0.1 | First draft
20040202 | 1.0 | First release
20161203 | 2.0 | Second release, uploading on sourceforge
20200217 | 2.9.5 | 2.9.5 release, uploading on repo.hu and sourceforge
20210211 | 2.9.9 | 2.9.9 release, skywater 130nm pdk integration
20210911 | 3.0.0 | 3.0.0 release, now including windows binary distribution
20220721 | 3.1.0 | 3.1.0 release, ability to display simulation graphs and embeded images/logos
20230521 | 3.4.0 | 3.4.0 release, instance based implementation selection, graph exporting in svg and pdf, much more schematic annotation (live transient/sweep annotation), schematic/symbol PCELLS
20241113 | 3.4.6 | 3.4.6 release.

## Documentation

XSCHEM manual

## Download RELEASED Source code

Current release
XSCHEM releases on Sourceforge

## Download Development source code

- SVN on repo.hu (primary development site):
  `svn checkout svn://repo.hu/xschem/trunk xschem-src`
- SVN on sourceforge.net:
  `svn checkout https://svn.code.sf.net/p/xschem/code/ xschem-src`
- GIT on github.com (this is being phased out in favour of codeberg,org):
  `git clone https://github.com/StefanSchippers/xschem.git xschem-src`
- GIT on codeberg.org:
  `git clone https://codeberg.org/stef_xschem/xschem.git xschem-src`

## Download Windows Binary

Current release

## License

The software is released under the GNU GPL, General Public License

## Contact

Anyone interested in this project please contact me at the following address:

#### STEFAN.SCHIPPERS@GMAIL.COM

## Software requirements:

- X11
- tcl-tk libs and developent files
- c99 compiler
- bison (only for compiling the grammar parser)
- flex (only for compiling the lexical analyzer
- Xpm library and -dev header files
- awk (tested with gawk and mawk)

## Systems tested:

- Linux debian / Redhat
- Solaris sparc
- Windows (with the cygwin layer and cygwin/Xorg X11 server, plus the tcl/tk toolkit and the -dev libraries)

## Screenshots

- analog circuit example

- digital system for VHDL simulation