[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[Fwd: Re: gEDA-user: Need cool first application for gdatabase]
- To: geda-user@seul.org
 
- Subject: [Fwd: Re: gEDA-user: Need cool first application for gdatabase]
 
- From: Bill Cox <bill@viasic.com>
 
- Date: Thu, 06 Nov 2003 08:47:59 -0500
 
- Delivered-to: archiver@seul.org
 
- Delivered-to: geda-user-outgoing@seul.org
 
- Delivered-to: geda-user@seul.org
 
- Delivery-date: Thu, 06 Nov 2003 12:13:57 -0500
 
- Reply-to: geda-user@seul.org
 
- Sender: owner-geda-user@seul.org
 
- User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225
 
For some reason, some of my posts don't seem to get through.  Here's 
this one again.  If you get it twice, I appologize.
Bill
-------- Original Message --------
Subject: Re: gEDA-user: Need cool first application for gdatabase
Date: Wed, 05 Nov 2003 16:41:39 -0500
From: Bill Cox <bill@viasic.com>
To: geda-user@seul.org
References: <3FA7038A.2010002@viasic.com> 
<200311042307.22582.svenn@bjerkem.de>
Svenn Are Bjerkem wrote:
...
How about integrating the simulation results so that nets can be annotated 
with labels that retreive data from the simulation database?
My no 1 wish is the SPICE to schematics converter.
 
These seem like good ideas.  The most common element seems to be a 
schematic generator.  Then, to generate a schematic from SPICE, all we'd 
need is a SPICE reader, which isn't too difficult.
I need to be careful not to accidentally re-implement trade-secret ideas 
I learned from working at previous companies.  It would help a lot if 
you or anyone on this group could suggest some placement algorithms for 
schematics.  The routing is just plain old a-* maze routing, which is 
well known in the industry.
The goals for placement of schematics are different than for PC boards 
or ASICs.  Inputs are on the left, outputs on the right.  Extra wire 
length is ok, but we don't want to have many wire crossings, because 
crossings make schematics hard to read.  Instances can be placed from 
the right side to the left in columns based on max levels of logic to an 
output.  So, we can quickly come up with a column placement for 
instances, but we don't know the order of instances within a column. 
I'll need an algorithm to reduce overall crossings by ordering 
instances within columns.  Once the ordering of instances within a 
column is determined, I'll need an algorithm to minimize overall 
wirelength by adjusting the Y coordinates of instances, but without 
swapping positions of instances within a colum.  Also, it needs to be 
very fast (not simulated annealing).
If you're interested in helping out, the SPICE reader would be a good 
project to write.  It would help you get familiar with the unusual 
coding style in gdatabase, and help you understand how the database is 
put together.
Bill