Difference between revisions of "GEDA"

From OpenCircuits
Jump to navigation Jump to search
Line 1: Line 1:
The goal of the gEDA project is to create a fully functional GPL'd suite of EDA (Electronic Design Automation) tools.  
+
The goal of the gEDA project is to create a fully functional GPL'd suite of EDA (Electronic Design Automation) tools. It was started because of the lack of free EDA tools for UNIX.  
  
  
== The gEDA suite ==
+
== What is gEDA/gaf ==
  
The gEDA suite consists of a wide range of tools found in other suites.
+
gaf stands for "'''g'''schem '''a'''nd '''f'''riends. It is a subset of the entire tool suite under the gEDA name.  It's a collection of the following tools.  
  
- '''[[gschem]]''': schematic capture and netlisting.
+
=== gschem ===
  
- '''[[#gnetlist]]''': netlist generation program
+
gschem is the schematic capture tool. It's sole purpose is to facilitate the graphical input of componenets/circuts. Schematic capture is the ability to draw and layout circuits using a computer, where standard symboles are sued to represent the various gates and components which are interconnected by wires.
  
- '''[[#symcheck]]''': syntax checker for schematic symbols
+
=== gnetlist ===
  
- '''[[#gattrib]]''': spreadsheet program that manipulates the properties of symbols of a schematic
+
gnetlist is a netlist generation program that takes as input gEDA/gaf schematic file and the required symbol files and converts then into netlists.
  
- '''[[#libgeda]]''': libraries for gschem gnetlist and gsymcheck
+
It supports writing to the following netlists formats: Unix PCB, Allegro, BAE, Gossip, Maxascii, PADS, Protelll, Spice, Tango, Verilog, VHDL-VAMS, VHDL, Vipec, BOM generators, and gEDA's backend testing.
 +
 
 +
=== gsymcheck ===
 +
 
 +
gsymcheck is the symbol checker for the gEDA system. It takes in a symbol file and will verify that it will work in gschem. Currently, this tool identifies the following errors.
 +
 
 +
- Having invalid objects inside of a symbol
 +
 
 +
- Missing certain required attributes
 +
 
 +
- Duplication of certain attributes
 +
 
 +
- Incorrect usage of the various attributes
 +
 
 +
- Using forbidden, obsolete, or invalid attributes
 +
 
 +
=== gattrib ===
 +
 
 +
gattrib is gEDA's attribute editor. It reads a set of gschem files and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns. It allows the user to add, modify, or delete component attributes outside of gschem, and then save the schematic files back out.
 +
 
 +
It is useful in situations where you need to view, add, modify, or deleter a number of attributes all at once. It saves you the pain of clicking on each component and repeastedly using gschem's attribute editor to modify component attributes.
 +
 
 +
 
 +
== What is the gEDA suite? ==
 +
 
 +
=== gEDA/gaf ===
 +
 
 +
All the main tools including gschem, gnetlist, gsymcheck, gattrib, libgeda, and gsch2pcb.
 +
 
 +
=== ngspice ===
 +
 
 +
Ngspice is a mixed-level/mixed-signal circuit simulator based on three open source software packages: Spice3f5, Cider1b1 and Xspice. Ngspice is more than the sum of the packages above, as many people contributed to the project with their experience, their bug fixes and their improvements. Ngspice is now an usable simulator: many of the original bugs are fixed, it includes many recently developed compact models (BSIM3, BSIM4, SOI models, VBIC, HISIM, etc.) and some older models have been improved.
 +
 
 +
=== gnucap ===
 +
 
 +
Gnucap is the Gnu Circuit Analysis Package. Its primary component is a general purpose circuit simulator. It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis. Spice compatible models for the MOSFET (level 1-7), BJT, and diode are included in this release.
 +
 
 +
Gnucap is not based on Spice, but some of the models have been derived from the Berkeley models. Unlike Spice, the engine is designed to do true mixed-mode simulation.
 +
 
 +
=== gspiceui ===
 +
 
 +
The name gspiceui is a compaction of GNU Spice GUI. It is intended to provide a GUI for two freely available electronic circuit simulation engines: GNU-Cap and Ng-Spice.
 +
 
 +
=== pcb ===
 +
 
 +
PCB is an interactive printed circuit board editor for the X11 window system. PCB includes a rats nest feature, design rule checking, and can provide industry standard RS-274-X (Gerber), NC drill, and centroid data (X-Y data) output for use in the board fabrication and assembly process. PCB offers high end features such as an autorouter and trace optimizer which can tremendously reduce layout time.
 +
 
 +
=== gerbv ===
 +
 
 +
Gerber Viewer (gerbv) is a viewer for Gerber files. Gerber files are generated from PCB CAD system and sent to PCB manufacturers as basis for the manufacturing process.
 +
 
 +
The different layers of the PCB are separated into different files. gerbv can load all files at the same time, though it can not show them at the same time. You have to browse through the different layers with the radio buttons on the right side.
 +
 
 +
=== Icasur Verilog ===
 +
 
 +
Icarus Verilog is a a GPLed Verilog compiler. Icarus Verilog includes a a parser that parses Verilog (plus extensions) and generates an internal netlist. The netlist is passed to various processing steps that transform the design to more optimal/practical forms, then passed to a code generator for final output. The processing steps and the code generator are selected by command line switches.
 +
 
 +
=== GTKWave ===
 +
 
 +
GTKWave is a digital waveform viewer useful for examining the output of various digital simulators (like Icarus Verilog, for example). It can read VCD, EVCD, LXT, and Synopsis output formats. It was built using the GTK+ toolkit.
  
- '''[[#gsch2pcb]]''': forward annotations from schematic to layout using PCB.
 
  
 
== Why gEDA ==
 
== Why gEDA ==
Line 34: Line 92:
 
- Strives to be documented
 
- Strives to be documented
  
== gschem ==
+
== Licensing ==
  
== Why gEDA ==
+
All software components of gEDA/gaf are released under the [http://www.fsf.org/copyleft/gpl.html GNU General Public License (GPL) version 2]

Revision as of 16:19, 8 May 2007

The goal of the gEDA project is to create a fully functional GPL'd suite of EDA (Electronic Design Automation) tools. It was started because of the lack of free EDA tools for UNIX.


What is gEDA/gaf

gaf stands for "gschem and friends. It is a subset of the entire tool suite under the gEDA name. It's a collection of the following tools.

gschem

gschem is the schematic capture tool. It's sole purpose is to facilitate the graphical input of componenets/circuts. Schematic capture is the ability to draw and layout circuits using a computer, where standard symboles are sued to represent the various gates and components which are interconnected by wires.

gnetlist

gnetlist is a netlist generation program that takes as input gEDA/gaf schematic file and the required symbol files and converts then into netlists.

It supports writing to the following netlists formats: Unix PCB, Allegro, BAE, Gossip, Maxascii, PADS, Protelll, Spice, Tango, Verilog, VHDL-VAMS, VHDL, Vipec, BOM generators, and gEDA's backend testing.

gsymcheck

gsymcheck is the symbol checker for the gEDA system. It takes in a symbol file and will verify that it will work in gschem. Currently, this tool identifies the following errors.

- Having invalid objects inside of a symbol

- Missing certain required attributes

- Duplication of certain attributes

- Incorrect usage of the various attributes

- Using forbidden, obsolete, or invalid attributes

gattrib

gattrib is gEDA's attribute editor. It reads a set of gschem files and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns. It allows the user to add, modify, or delete component attributes outside of gschem, and then save the schematic files back out.

It is useful in situations where you need to view, add, modify, or deleter a number of attributes all at once. It saves you the pain of clicking on each component and repeastedly using gschem's attribute editor to modify component attributes.


What is the gEDA suite?

gEDA/gaf

All the main tools including gschem, gnetlist, gsymcheck, gattrib, libgeda, and gsch2pcb.

ngspice

Ngspice is a mixed-level/mixed-signal circuit simulator based on three open source software packages: Spice3f5, Cider1b1 and Xspice. Ngspice is more than the sum of the packages above, as many people contributed to the project with their experience, their bug fixes and their improvements. Ngspice is now an usable simulator: many of the original bugs are fixed, it includes many recently developed compact models (BSIM3, BSIM4, SOI models, VBIC, HISIM, etc.) and some older models have been improved.

gnucap

Gnucap is the Gnu Circuit Analysis Package. Its primary component is a general purpose circuit simulator. It performs nonlinear dc and transient analyses, fourier analysis, and ac analysis. Spice compatible models for the MOSFET (level 1-7), BJT, and diode are included in this release.

Gnucap is not based on Spice, but some of the models have been derived from the Berkeley models. Unlike Spice, the engine is designed to do true mixed-mode simulation.

gspiceui

The name gspiceui is a compaction of GNU Spice GUI. It is intended to provide a GUI for two freely available electronic circuit simulation engines: GNU-Cap and Ng-Spice.

pcb

PCB is an interactive printed circuit board editor for the X11 window system. PCB includes a rats nest feature, design rule checking, and can provide industry standard RS-274-X (Gerber), NC drill, and centroid data (X-Y data) output for use in the board fabrication and assembly process. PCB offers high end features such as an autorouter and trace optimizer which can tremendously reduce layout time.

gerbv

Gerber Viewer (gerbv) is a viewer for Gerber files. Gerber files are generated from PCB CAD system and sent to PCB manufacturers as basis for the manufacturing process.

The different layers of the PCB are separated into different files. gerbv can load all files at the same time, though it can not show them at the same time. You have to browse through the different layers with the radio buttons on the right side.

Icasur Verilog

Icarus Verilog is a a GPLed Verilog compiler. Icarus Verilog includes a a parser that parses Verilog (plus extensions) and generates an internal netlist. The netlist is passed to various processing steps that transform the design to more optimal/practical forms, then passed to a code generator for final output. The processing steps and the code generator are selected by command line switches.

GTKWave

GTKWave is a digital waveform viewer useful for examining the output of various digital simulators (like Icarus Verilog, for example). It can read VCD, EVCD, LXT, and Synopsis output formats. It was built using the GTK+ toolkit.


Why gEDA

Compared to other software packages from Cadence, Mentor, or Synopsys, gEDA may not be as advanced and sophisticated then other packages. However, gEDA is becoming increasingly useful to a lot of people because of the following reasons.

- Absolutely Free

- All files and the entire source code are available via the GPL License.

- Independence from any vendor. Since all gEDA tools come with full source, you can make any modifications to the tools, as loong as your follow the terms of the GPL.

- Stability: bugs are investigated immediately ans fixed in a timely manner.

- Runs on as many platforms as possible including GNU/Linux and numbeous other UNIX systems.

- Strives to be documented

Licensing

All software components of gEDA/gaf are released under the GNU General Public License (GPL) version 2