[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Need cool first application for gdatabase
On Wednesday 05 November 2003 22:41, Bill Cox wrote:
> 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.
If spice is no problem, then maybe also spectre is no problem?
>
> 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.
As a mixed-signal designer I know that we are talking about two worlds here
with different needs: The analog and the digital. A spice netlist basically
don't care in which regime it works, it just connect transistors. In the
digital world, the structures are placeable with high degree of visual
acceptance of the human eye.
In analog we are talking about "the structure is the data" as in the
interconnection in current mirrors, differential amplifiers with and without
cascodes etc. It is almost impossible to have the computer understand this.
My argument would then, for the analog world, be to assign some fixed points
and let a graph algorithm with the use of positive and negative forces. The
fixed points are inputs left, outputs right, positive power to the top,
negative power to the bottom and ground in the middle, if there is no
negative power then ground is bottom. The user must be able to define global
names for powers.
The graph algo then assign weights to interconnections: direct connections are
tied closely, the nodes with most connections are propably power and ground
or bias and are loosely tied in the first pass. When weight has been
assigned, P and N channel transistors are assigned separating force in order
to move them away from each other in north - south direction, nodes further
away from an input or an output are given a force to move them in east - west
direction.
In the end you will have something that maybe doesn't satisfy 100%, but it is
a good base for manual reordering which is then saved together with a flag
that this page has already been routed so that the software doesn't rip up
work already done when reading in new versions of the spice netlist. (very
typical after an engineering cell change in the gate level netlist after
somebody discovered a timing violation in the layout) And even more typical
for PCB where you discover that you need an extra resistor on your
breadboard.
--
Svenn