[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