Professional Documents
Culture Documents
psice, spanning tree
psice, spanning tree
• Why Xschem?
• Xschem History
• Xschem is / is not
• Feature List
• Hierarchy, symbols and
component instances
• Instance attributes and
parametrized subcircuits
• Simulation
• Wave viewing
• Skywater 130nm PDK integration
• Roadmap
• Conclusions
• Contacts
WHY XSCHEM?
Have been a Cadence Virtuoso user for many years, in different companies.
• Long startup time
• Creating new components way too complicated (you need a CDF, ask your CAD support and file
a ticket).
• Memory Hog, keeps growing until all Virtual memory exhausted, then crash.
• One process handles all design windows. Process crashes, all work on all windows lost.
• Netlist extraction and many other functions are slow since all is implemented in skill language.
• Proprietary file format.
XSCHEM HISTORY
• A Free OSS small project, follows the UNIX • Huge. Depends on a very limited number of
KISS philosophy. ~65K SLOC. libraries. 63k SLOC
• A Digital / Analog / Mixed mode circuit • Using binary formats for storing data.
schematic editor. Everything is ASCII and in documented
• A hierarchical design tool: wrap (parametric) format.
sub-blocks into symbols and use them • A Gtk or Qt project. Xschem will not bitrot
multiple times. over time due to changed library APIs.
• Has syntax for vector nets (bus notation) • A layout tool, although the graphical engine
like DATA[7:0], WORD[7:0,15:8] as well as was designed to support layout as well.
vector instance placements like Xinv[7:0], to • A circuit simulator.
handle repetitive components.
• Easy to use: there is a learning curve.
• Fast: Performance is important. Editing a
schematic with 100K instances MUST not be • A memory hog: XSCHEM with a medium
a problem. Netlist extraction must be instant design loaded requires 54M virtual memory,
(<500ms) on small to medium designs. 24M resident set. A full chip design can be
handled with a 1GB RAM system and low
• Xschem knows the connectivity. Netlist end processor.
build is embedded in the core.
• A C++, C99, C11 project: all code is ANSI-C
• Verilog, VHDL, Spice, tEDAx netlist C89, works on old Solaris, Irix machines,
backends. Adding another backend is not compiles on 32bit, 64 bit and on armhf.
difficult.
• Intensive and time consuming computations
all done in pure C.
• Tcl-tk used for GUI and scripting language.
Direct Xlib drawing.
FEATURE LIST
SYMBOL CREATION
SIMULATION
SIMULATION - 2
SIMULATION - 3
WAVE VIEWING
ROADMAP
CONCLUSIONS