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

Re: gEDA-user: Need cool first application for gdatabase



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