Python EDA Initiative

Welcome! The goal of this project is to provide open-source
tools for designing electronic circuitry. These tools fall
under an extremely broad title known as Electronic Design
Automation(EDA). Python has been chosen as
the programming language of choice for this task.

Goals

The near-term goal of this project is a set of tools which can
produce a VLSI chip. This set of tools needs to include:

a circuit simulator

a waveform viewer

a schematic editor

a layout editor

a design rule checker

a circuit extractor

This is, quite simply, a lot of work.

Not only do these goals represent a large volume of work, but
they also represent a vast array of complex technical skills.
Here is a small sampling of the issues in EDA tools:

Spatial data structures

Systems of differential-algebraic equations

Interchange of large data sets

Responsive user interface design

From the tedious to the mind-bending--if it can be programmed,
EDA uses it

If you want a challenge, come on in, grab a problem, and start
coding. There will be no shortage of stuff to do here.

Philosophy

The developers of the Python EDA Initiative adhere to three
central tenets for the code:

Correctness

Maintainability

User Efficiency

While the list is small, it is somewhat different from the goals
of a standard open-source project. The concept of giving code
maintainability a central role is unusual. The fact that
user efficiency is considered important, but code
efficiency is not explicitly managed also has important
implications.

License

The Python EDA Initiative prefers to use the BSD
License with the copyright being assigned to the Python EDA
Initiative, Inc.

However, EDA software is unusual. The software itself is not
always the product of interest. Quite often, the data produced
by the software is of much higher interest and value than the
EDA software itself. None of the
current open source licenses
recognize this distinction. A new license will probably have to
be created to address these issues.