[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: CVS update: index.html



  User: ahvezda 
  Date: 07/03/11 22:29:09

  Modified:    .        index.html projects.html
  Log:
  Commited various people's edits to these pages
  
  
  
  
  Revision  Changes    Path
  1.4       +74 -18    eda/geda/website/gsoc/index.html
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvspsrv/cvsroot/eda/geda/website/gsoc/index.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- index.html	9 Mar 2007 22:08:32 -0000	1.3
  +++ index.html	12 Mar 2007 02:29:07 -0000	1.4
  @@ -51,6 +51,7 @@
   <A HREF="#project">Project Details</A><BR>
   <A HREF="#integration">Integration into gEDA</A><BR>
   <A HREF="#student">Student Details</A><BR>
  +<A HREF="#suggested">Suggested Projects</A><BR>
   </H3>
   <HR>
   
  @@ -59,10 +60,31 @@
   Google application information.
   </H4>
   <p>
  +The gEDA Project invites students to work with us under the auspices
  +of Google's Summer of Code program!   We are a group of professional
  +hardware and software engineers with an interest in developing CAD
  +tools for electronic design under Linux (and other unix flavors).  
  +The project is
  +over eight years old, and has matured to the point where our design
  +tools are suitable for use by students, professionals,
  +educators, hobbyists, consultants, and anybody who needs a set of
  +quality EDA tools for Linux.  Becoming involved in the gEDA Project is
  +a great way to learn about both software engineering <b>and</b>
  +electronics!  
  +</p>
  +
  +<p>
   Details for student applications to Google can
   be found in the <a href="http://code.google.com/soc/studentfaq.html";>
   Google SOC Student FAQ</a>.  Students may find the list of <a href="projects.html">
  -gEDA Google SOC project suggestions</a> useful.
  +gEDA Google SOC project suggestions</a> useful.  <em>Note that
  +students apply to Google for project approval, not to the gEDA
  +Project!</em>  However, we encourage you to contact us early if you
  +are interested in working on a gEDA Summer of Code project, since we
  +can then hash out the details of your project and help you with your
  +application.  To contact us, please post a message on the 
  +<a href="http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev";>geda-dev
  +e-mail list.</a>
   </p>
   
   <hr>
  @@ -71,7 +93,7 @@
   <A NAME="timeline"></A>
   Project timeline and commitment level
   </H4>
  -<p>Google Summer of Code projects should be considered a full
  +<p>A Google Summer of Code project should be considered a full
   time job and will require that level of time commitment.  In addition, 
   there must be some working code committed in time for the midterm
   evaluation for a good review.
  @@ -86,13 +108,23 @@
   <p>When submitting an application or project proposal, please include the
   following details about the project:
   <ul>
  -<li>Summary of the project including the end goal</li>
  +<li>Summary of the project including the end goal.  This should be a
  +couple of paragraphs -- enough to fully explain what you have
  +in mind.  Writing a couple of use-cases will help if you are 
  +creating a new program (as opposed to upgrading an existing one).</li>
   <li>Detail the scope of the project.  What do you intend on delivering
  -and what do you not intend on delivering.</li>
  -<li>Provide a timetable for the project including certain
  -milestones.</li>
  -<li>Is this a rewrite or porting of existing software or is it a "from
  +and what do you not intend on delivering.  In best case, this will be
  +a list of features/behaviors your program will possess.  </li>
  +<li>Provide a timetable for the project, including
  +milestones (i.e. what features will be working by when).</li>
  +<li>Is this a rewrite/upgrade of existing software or is it a "from
   scratch" project.</li>
  +<li>Who is the mentor for your project?  Ideally, your mentor
  +will be one of the current gEDA developers, or will be a professor or
  +professional EE familiar with the gEDA project.  If you don't know who
  +should mentor your project, then we can help choose somebody for you based
  +upon the project you have chosen.
  +</li>
   </ul>
   </p>
   
  @@ -107,12 +139,17 @@
   fit into the rest of gEDA.  To help us understand this, also include
   the following information:
   <ul>
  -<li>Which componenents of gEDA will be affected and require code
  +<li>Which components of gEDA will be affected and require code
   changes?  Examples are "only PCB" or "libgeda, gnetlist, gschem, and
   PCB".</li>
   <li>Are any new dependencies required over the existing ones?  If so,
  -what are they?  Are the new dependencies widely ported?</li>
  -<li>Will these changes force a change in any existing work flows that users may currently be employing?</li>
  +what are they?  Are the new dependencies widely ported?  (Note that
  +certain gEDA developers frown on new dependencies, so be prepared to
  +thoughtfully defend your choice.)</li>
  +<li>Will these changes force a change in any existing work flows that
  +users may currently be employing?</li> 
  +<li>Will your project enable a new work flow or a new feature which
  +has hitherto been lacking in the gEDA Suite?</li>
   </ul>
   </p>
   
  @@ -125,24 +162,43 @@
   <p>
   Tell us a little about yourself in your application.
   <ul>
  -<li>What programming experience do you have?</li>
  +<li>What programming experience do you have?  Please list languages
  +you have used, classwork you have completed, and projects you have completed.</li>
   <li>What experience do you have with source control systems like CVS and subversion?</li>
  -<li>What experience do you have with software development in a collaborative environment?</li>
  -<li>What experience do you have with CAD tools in general and gEDA in
  +<li>What experience do you have with software development in a
  +collaborative environment?  In particular, if you have worked on
  +open-source projects before, please list some projects to which you
  +have contributed patches.</li>
  +<li>What experience do you have with electronics CAD tools in general, and gEDA in
   particular?</li>
  -<li>What electronics experience do you have?</li>
  -<li>Are you familar with the existing codebase which may affect your
  -project?</li>
  -<li>Anything else which may be relevent to this project?</li>
  +<li>What electronics experience do you have?  Please list designs you
  +have completed, courses you have taken, and any electronics-oriented
  +work experience you may have.</li>
  +<li>Are you familiar with the existing codebase for any of the gEDA
  +tools?  If so, which one?  </li>
  +<li>Do you have a personal web page or a blog which you would like to
  +share with the gEDA developers?</li>
  +<li>Anything else which may be relevant to this project?</li>
   </ul>
   </p>
   
  +
  +<hr>
  +
  +<H4>
  +<A NAME="suggested"></A>
  +Suggested Projects
  +</H4>
  +<p>
  +The list of suggested projects is available <a href="projects.html">here</a>
  +
  +
   </div>
   
   <div id="footer">
   <h5>
   Last update: 
  -$Id: index.html,v 1.3 2007/03/09 22:08:32 danmc Exp $
  +$Id: index.html,v 1.4 2007/03/12 02:29:07 ahvezda Exp $
   </h5>
   </div>
   
  
  
  
  1.4       +391 -57   eda/geda/website/gsoc/projects.html
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: projects.html
  ===================================================================
  RCS file: /home/cvspsrv/cvsroot/eda/geda/website/gsoc/projects.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- projects.html	9 Mar 2007 22:08:32 -0000	1.3
  +++ projects.html	12 Mar 2007 02:29:08 -0000	1.4
  @@ -45,43 +45,146 @@
   </H2>
   </CENTER>
   <p>
  -This page contains various ideas for projects.  Note that some are too
  -small by themselves as the Summer of Code program is a 3 month
  -program.  Students should keep that in mind and possibly combine ideas
  -from different projects.
  +This page contains various ideas for projects.  You can use these as fodder
  +for creating your application to Google.  Also, if you have your own
  +idea, feel free to share it with the gEDA developers -- they might
  +like it more than any project on this list!
  +</p>
  +
  +<p>
  +Note that some of these projects are too
  +small by themselves to be stand-alone projects.  The Summer of Code program is a 3 month
  +program, and you're supposed to treat your project as a full-time job.  
  +Applicants should keep that in mind and possibly combine ideas
  +from different projects if one suggested project is too small.  To
  +help you, I have
  +graded each project on a scale of 1 to 5, where 1 = too small for a
  +full summer, 3 = roughly enough for a full summer, and 5 = way too large for
  +a full summer.  Of course, what takes one programmer one week might
  +take another six months, so any judgement is subjective.  However, you
  +can use these ratings to help you figure out which project is the
  +right one for you.  
   </p>
  -<hr>
   
  -<H3>
  -<A HREF="#layers">More non-copper layers for pcb.</A><BR>
  -<A HREF="#partman">Parts manager.</A><BR>
  -<A HREF="#gnetlist">Gnetlist internal rewrite.</A><BR>
  -<A HREF="#libgedaapi">Libgeda API formalization</A><BR>
  -<A HREF="#gwave">Waveform viewer</A><BR>
  -<A HREF="#testsuite">Regression tests and unit tests</A><BR>
  -<A HREF="#drc">PCB Drc interface improvements</A><BR>
  -<A HREF="#annotate">Improved and formalized mechanism for forward/backward annotation</A><BR>
  -<A HREF="#annotate">IPC Footprint Calculator</A><BR>
  -</H3>
   <HR>
   
   <H4>
  +<A NAME="projman"></A>
  +Project manager.
  +</H4>
  +<p>
  +gEDA needs a new, top-level project manager.  
  +Using this tool, A user 
  +would type "geda" at the command line (or push a button on his
  +desktop manager), 
  +and this program
  +would start a GUI which would provide easy,
  +user-friendly access to all design tools.  
  +The project manager would implement (at least) 
  +the following functionalities:
  +<ul>
  +<li>Menu items or buttons to run various gEDA programs like gschem,
  +gattrib, gsch2pcb, PCB, gerbv, ngspice, Gnucap, etc.
  +</li>
  +<li>
  +Manage resource files (i.e. the project manager allows you to edit and
  +write gafrc, gsch2pcb project file, spinit, etc.
  +</li>
  +<li>
  +Enable creation of project archives -- i.e. using garchive, but using an intelligent
  +method to gather & archive the symbols & footprints used in the
  +project.
  +</li>
  +<li>
  +Perhaps implement some type of lockfiles, or at least some enforcement
  +of the design flow (good for newbies).
  +</li>
  +</ul>
  +Since the project manager is the first program seen by many new users,
  +this program needs a high degree of polish, and should enforce good
  +design practice without getting in the user's way too much.
  +</p>
  +<p><em>Difficulty = 4</em></p>
  +
  +<hr>
  +
  +<H4>
   <A NAME="layers"></A>
  -More non-copper layers for pcb.
  +Improve handling of non-copper layers in pcb.
   </H4>
   <p>
  -<em>PCB</em>:  Add support for multiple non-copper layers that are
  -more editable.  These layers would need to be allowed as part of an
  -element and standalone.  These are things like keepout regions,
  -assembly drawing, an actual board outline layer that is not just a
  -copper layer. See <a
  +PCB's support for non-copper layers needs improvement.
  +In this project, you would add support for more easily-editable
  +non-copper layers.
  +These non-copper layers would be used for things like keepout regions,
  +assembly drawing, and an actual board outline layer that is not just a
  +copper layer. For more thoughts on the issue of layers in PCB, please see <a
   href="http://pcb.cvs.sourceforge.net/pcb/pcb/doc/ideas/database.txt?view=markup";>database.txt</a>
   and
   <a
   href="http://pcb.cvs.sourceforge.net/pcb/pcb/doc/ideas/keepouts.txt?view=markup";>keepouts.txt</a>
  -for some thoughts on this.
   <p>
  +<p><em>Difficulty = 2</em></p>
  +<hr>
   
  +<H4>
  +<A NAME="gerbconverter"></A>
  +Gerber to PCB converter.
  +</H4>
  +<p>
  +In this project, the student would create a program which reads a
  +Gerber file, and creates an output file which is a metal layer or
  +footprint editable by PCB. This might be a Perl or Python script.
  +Such a program is very desirable since it gives users the ability to
  +edit legacy designs
  +-- i.e. those for which they only have Gerbers.  No commercial tool
  +currently supports this functionality, so having this tool would
  +represent a real differentiator for the open-source gEDA Suite.
  +</p>
  +<p><em>Difficulty = 3</em></p>
  +<hr>
  +
  +<H4>
  +<A NAME="gerbconverter"></A>
  +Usability improvements for ngspice/Gnucap
  +</H4>
  +<p>
  +Ngspice and Gnucap are the gEDA Project's analog circuit simulators.
  +They are both command-line tools, meaning that you type commands into
  +a shell-like program at a prompt.  However, some popular commercial simulators
  +support easy simulation and analysis directly from within a schematic capture GUI.
  +This method of working is particularly well suited to newbies.
  +</p>
  +
  +<p>
  +A new user would like to do the following things inside gschem:
  +<ul>
  +<li>
  +Specify what kinds of simulations should be run
  +</li>
  +
  +<li>
  +Specify which voltages and currents should be plotted
  +</li>
  +
  +<li>
  +Start the simulation
  +</li>
  +</ul>
  +The simulation runs and the postprocessing may be in an extra program
  +that is triggered by IPC.  More thoughts about the project have been
  +entered by Werner Hoch <a
  +href="http://geda.seul.org/wiki/geda:spice_improvements";> on the gEDA Wiki.</a>
  +</p>
  +
  +<p>
  +This project involves tightening the link between gschem and the
  +back-end simulation programs.  This might be done using some type of
  +IPC, such as DBUS.  Indeed, a preliminary DBUS implementation for
  +gschem <-> PCB already exists; the student might leverage the DBUS work
  +for this project.
  +</p>
  +<p><em>Difficulty = 3</em></p>
   <hr>
   
   <H4>
  @@ -89,8 +192,8 @@
   Parts manager.
   </H4>
   <p>
  -<em>New component/gschem</em>: A parts manager that takes a graphical
  -symbol and a physical footprint and marries the two to produce a heavy
  +In this project, you would create a parts manager that takes a graphical
  +symbol and a physical footprint, and marries the two to produce a heavy
   part.  In addition, this tool should be able to support multiple
   backend flows.  By this I mean that the parts manager should be able
   to also indicate how the symbol should be netlisted for spice, gnucap,
  @@ -99,27 +202,54 @@
   footprint attribute to come up with a list of choices.
   </p>
   
  +<p>
  +Another possible direction for improved parts management
  +is to create a program like gattrib (or perhaps
  +just re-use gattrib) which
  +reads a bunch of .sch files, and also interfaces to an SQL database
  +holding
  +all info about parts (including spice models, footprints, .pdf
  +datasheets,
  +etc) .  The program would then allow users to perform database
  +searches for
  +footprints and other attributes stored as columns in the database.
  +</p>
  +<p><em>Difficulty = 4</em></p>
   <hr>
   
   <H4>
   <A NAME="gnetlist"></A>
  -Gnetlist internal rewrite
  +Gnetlist/gnetman support for hierarchy
   </H4>
   <p>
  -<em>gnetlist</em>: Totally rework the internals using gnetman and/or
  -Steve Meiers work.  This would be with an eye towards scalability.
  -Ideally highly capable and efficient internal data structures and
  -methods for accessing the database should be used.  Then a
  -scheme/guile api provided.  It may be a benefit to use swig to allow
  -easy interfacing to multiple scripting languages.  gnetman is probably
  +The goal of this project is to create a scalable,
  +professional-grade netlister.  The project might involve re-writing
  +gnetlist to enable hierarchical designs, or might involve 
  +upgrading "gnetman" to incorporate scripted back-ends.
  +The upgrade would be done with an eye towards scalability.
  +Ideally, highly capable and efficient internal data structures and
  +methods for accessing the netlist database should be used.  Then a
  +scheme/guile API provided for an external script engine.  
  +(It may be beneficial to use swig to allow
  +easy interfacing to multiple scripting languages.)  The idea is to
  +produce a netlister capable of handling large, hierarchical designs
  +while still allowing users to write their own netlisters for their
  +favorite netlist format (as gnetlist does now).
  +</p>
  +
  +<p>
  +Gnetman is probably
   the logical starting point since the database was designed by someone
  -with a lot of experience in this area and it uses datadraw which is a
  -proven high power CASE tool.  It will be important to provide a
  -compatability API for the existing backends while providing a more
  +with a lot of experience in EDA, and it uses datadraw which is a
  +proven high power CASE tool.  However, the student may take whatever
  +approach he wishes, but should provide a strong argument that his
  +approach makes sense before starting coding.  
  +In any event, It will be important to provide a
  +compatibility API for the existing backends while providing a more
   high power and flexible API for new backends and improvements of the
   old ones.
   </p>
  -
  +<p><em>Difficulty = 5</em></p>
   <hr>
   
   <H4>
  @@ -127,7 +257,7 @@
   Libgeda API formalization
   </H4>
   <p>
  -<em>libgeda</em>: expand libgeda (if needed) to provide a complete
  +In this project, you would expand libgeda (if needed) to provide a complete
   enough guile interface to be able to do more complex database
   manipulations.  One use would be to have a back annotation tool that
   used libgeda instead of relying on perl.  The problem with perl is
  @@ -135,64 +265,268 @@
   combined with the previous project about rewriting the gnetlist
   internals.
   </p>
  +<p><em>Difficulty = 3</em></p>
  +
  +<hr>
  +
  +<H4>
  +<A NAME="gafbugs"></A>
  +Fix gEDA/gaf bugs and/or implement feature requests
  +</H4>
  +<p>
  +There are several bugs listed at the 
  +<A HREF="http://sourceforge.net/tracker/?group_id=161080&atid=818426";>gEDA/gaf
  +bug tracker</A> and feature request at the 
  +<A HREF="http://sourceforge.net/tracker/?group_id=161080&atid=818429";>gEDA/gaf
  +feature request tracker</A> that could potentially make good student
  +projects.  Some of the bugs/feature requests are quite feasible to
  +finish in one summer, while others are way beyond what is possible to
  +finish in one summer.  However some of the bugs/feature requests are
  +trivial to implement, so several might need to be combined together
  +to fill up the entire summer.
  +</p>
  +
  +<p> 
  +There are other bug/feature request trackers for the other gEDA affiliated
  +programs (such as PCB or Icarus Verilog) that contain possible project
  +ideas as well.  Selecting bugs or features requests to work on from any
  +of the trackers needs to be approved and agreed upon by the appropriate
  +mentor(s) to make sure it is appropriate, feasible, or even fixable.
  +</p>
  +
  +<p><em>Difficulty = various</em></p>
  +
  +<hr>
  +
  +<H4>
  +<A NAME="gsch2pcb"></A>
  +Make gsch2pcb use same search paths as PCB
  +</H4>
  +<p>
  +Gsch2pcb is a key program in the gEDA Suite.  It made it relatively
  +easy to take a schematic drawn using gschem and prepare it for layout
  +using PCB.  It has played an important role in popularizing gEDA
  +for PCB design amongst students and hobbyists.  However, it has a
  +flaw:  It uses footprint search paths which can be different from those
  +in PCB.  Users are sometimes perplexed that they can see footprints in
  +PCB, but gsch2pcb claims it can't find them.  Or gsch2pcb gives them
  +footprints different from the ones they expect to see based upon a
  +footprint search using PCB.
  +</p>
  +
  +<p>
  +The reason this happens is that gsch2pcb uses hard-coded directory
  +paths.  Also, it reads a different RC file from PCB to get the directory
  +paths to footprints.   In this project you would 
  +eliminate the hard-coded directory paths, and you would make gsch2pcb 
  +use PCB's code (or at least it's paths) to read in the footprints.  
  +</p>
  +<p><em>Difficulty = 2</em></p>
  +
  +<hr>
  +
  +<!- ----------------------------------------------------------- ->
  +
  +<h4>
  +Verilog/VHDL code generator[s]
  +</h4>
  +
  +<p>
  +A Verilog code generator targets to emit simplified Verilog code. This
  +has use as a Verilog "reducer" (or obfuscator) to translate verilog to
  +more simplified forms. It can also be used to support other Verilog
  +run time engines. 
  +</p>
  +
  +<p>
  +A variant of this is to generate VHDL, and thus get a VHDL translation from the Verilog input.
  +</p>
  +
  +<p>
  +This task remains pretty clear of the core Icarus Verilog compiler and
  +just works with loadable code generators. 
  +</p>
  +
  +<hr>
  +
  +
  +<h4>
  +SDF Parser/Annotator
  +</h4>
  +<p>
  +SDF parser to parse SDF files generated by typical SDF sources such as
  +Xilinx ISE. It should be possible to invoke this from an $sdf_annotate
  +system task and match paths with the specify paths actually available
  +(via vpi) in the design. 
  +</p>
  +
  +<p>
  +The specify paths are now available in the vvp run time, some work is
  +needed to offer up the VPI objects that an SDF annotator needs. 
  +</p>
  +
  +<p>
  +This task can mostly be done in C and loaded as a VPI module. There is
  +some work needed in the vvp run time engine to make the paths
  +available to VPI modules, though. 
  +</p>
  +
  +<hr>
  +
  +<h4>
  +Macros with Arguments
  +</h4>
  +<p>
  +The Icarus Verilog preprocessor currently does not support macros with
  +arguments. A good task would be to add support for arguments. 
  +This task would work entirely within the ivlpp program that does the
  +preprocessing for the ivl core. It is written in C and bison and would
  +be a good task for someone not an expert in Verilog or EE in general.  
  +</p>
  +
  +<!- ----------------------------------------------------------- ->
   
   <hr>
   
   <H4>
   <A NAME="gwave"></A>
  -Waveform viewer
  +Upgrading/resurrecting the analog waveform viewer "gwave"
   </H4>
   <p>
  -<em>gwave</em>:  work on bringing gwave more up to speed in terms of
  -not requiring guile-gtk (which is basically dead I as far as I can
  -tell), possibly supporting hdf5 (as a way to help move towards a
  -better than ascii format that is non proprietary), adding a waveform
  +In this project, you would work on 
  +improving and modernizing the analog waveform viewer "gwave".  Several
  +improvements are desirable, including (but not limited to):
  +<ul>
  +<li>
  +Remove requirement for guile-gtk (which is basically dead I as far as I can
  +tell).
  +</li>
  +<li>
  +Adding support for hdf5 (as a way to help move towards a
  +better than ascii format that is non proprietary).
  +</li>
  +<li>
  +Add a waveform
   calculator that lets you do things like add waveforms, do fft's, etc.
  -<em>Needs a gwave mentor</em>.
  +</li>
  +</ul>
  +<em>Note that the gEDA Project needs a gwave mentor</em>.
   </p>
  -
  +<p><em>Difficulty = 3</em></p>
   <hr>
   
   <H4>
   <A NAME="testsuite"></A>
  -Unit testing for PCB, gschem, and gnetlist
  +Create comprehensive test suite for entire gEDA Suite
   </H4>
   <p>
  -<em>PCB, libgeda, gschem, gnetlist</em>: develop a test framework for
  +This project encompasses the functionality of the entire gEDA PCB
  +design flow.  You would develop a test framework for
   as much of these tools as possible. 
  -I'd love to see a fairly large regression test suite.  Some examples
  -are sets of layouts that just barely pass and just barely fail each of
  +This likely means creating a large regression test suite.  Some examples
  +are sets of layouts (using PCB) that just barely pass and just barely fail each of
   the different DRC checks, generate BOM's, x-y files, generate gerbers
   and maybe use gerbv to do a graphical xor against a "golden" file.
   For gnetlist, reference netlists that have been placed into some
  -canonical form should be generated.
  +canonical form should be generated from gschem schematics (.sch
  +files).  
  +</p>
  +
  +<p>
  +This project should be fun for a hardware hacker, since it would
  +involve creating all kinds 
  +of strange circuit designs, and you would learn the detailed
  +ins-and-outs of all tools in the gEDA Suite!
  +</p>
  +<p><em>Difficulty = 3</em></p>
  +<hr>
  +
  +<H4>
  +<A NAME="tclspice"></A>
  +Revive TCLSpice, add return code to analysis
  +</H4>
  +<p>
  +TCLSpice is a version of ngspice (the classic analog simulation
  +program) in which the SPICE commands and cards have been exported to
  +TCL.  The idea is that you can then write a scripted SPICE analysis
  +using TCL, a feature which is extremely valuable for performing
  +circuit optimizations, repeated circuit simulations for Monte Carlo or
  +corner-case evaluation, and so on.
  +</p>
  +
  +<p>
  +A problem with TCLSpice is that the internal data structures do not
  +provide return codes when called, so it is impossible to see if an
  +analysis has run successfully or now.  In this project, the student
  +would fix tclspice so that every analysis would provide a return 
  +code reporting success or failure.
   </p>
  +<p><em>Difficulty = 4</em></p>
   
   <hr>
   
   <H4>
   <A NAME="drc"></A>
  -PCB Drc interface improvements
  +PCB DRC interface improvements
   </H4>
   <p>
  -<em>PCB</em>: improve the DRC interface for pcb.  Perhaps have a drc
  +Improve the DRC interface for PCB.  Perhaps have a DRC
   layer that gets generated when you run DRC.  Then you could have an
   interface that lets you step through them and see on that layer,
  -exactly what failed.  Maybe this could be combined with making the drc
  +exactly what failed.  Maybe this could be combined with making the DRC
   checks more unit testable.
   </p>
  +<p><em>Difficulty = 2</em></p>
   
   <hr>
   
   <H4>
  +<A NAME="gerbv"></A>
  +Add enhancements to gerbv.
  +</H4>
  +<p>
  +Gerbv is gEDA's Gerber viewer.  It is a good tool for inspecting
  +Gerbers, but lacks certain important features.  Perhaps the biggest
  +need is for a "ruler" -- i.e. a feature allowing you to measure
  +distances.  Specifically, such a tool would enable 
  +the user to click at one point,
  +then click at another, and have a measurement pop-up box would appear,
  +giving the x
  +distance, y
  +distance, and sqrt(x^2 + y^2) distance between the two points.
  +Also, adding a different pop-up box displaying the properties of
  +objects you click on (i.e. round pad diameters, track widths, etc.)
  +would be invaluable.
  +</p>
  +<p><em>Difficulty = 3</em></p>
  +
  +<hr>
  +
  +<H4>
  +<A NAME="autorouter"></A>
  +PCB Autorouter
  +</H4>
  +<p>
  +PCB currently incorporates a simple autorouter.
  +However, a topological autorouter would represent a significant
  +improvement over the existing autorouter.  In this ambitious project,
  +the student would create a topological autorouter for PCB.
  +</p>
  +<p><em>Difficulty = 5</em></p>
  +<hr>
  +
  +<H4>
   <A NAME="annotate"></A>
   Improved and formalized mechanism for forward/backward annotation
   </H4>
   <p>
  -<em>libgeda/gschem</em>: add hooks into gschem needed to fully support
  +Add hooks into gschem needed to fully support
   things like backannotation of simulation results and click-to-plot
  -results.
  +results.  Specifically, this would enable you to draw a schematic in
  +gschem, then simulate it in ngspice without leaving gschem.  The
  +simulation plots would then appear in a graphical pop-up window.
   </p>
  +<p><em>Difficulty = 3</em></p>
   
   <hr>
   
  @@ -204,18 +538,18 @@
   Build a footprint calculator that can take the IPC rules and produce a
   pcb footprint.  Preferably write this in a way where the core program
   is independent of a gui so that you can script it for generating
  -entire large famlies of footprints or hook it up to a GUI of choice
  +entire large families of footprints or hook it up to a GUI of choice
   (lesstif, gtk, maybe even cgi).  Would require the purchase of
   IPC-7351 (approximately U.S.A. $100)and verifying that one is allowed
   to produce such a calculator.
   </p>
  -
  +<p><em>Difficulty = 2</em></p>
   </div>
   
   <div id="footer">
   <h5>
   Last update: 
  -$Id: projects.html,v 1.3 2007/03/09 22:08:32 danmc Exp $
  +$Id: projects.html,v 1.4 2007/03/12 02:29:08 ahvezda Exp $
   </h5>
   </div>
   
  
  
  


_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs