gEDA-dev: gEDA-user: PCB layout for identical units?

Dan McMahill dan at mcmahill.net
Fri Sep 21 18:31:55 EDT 2007


John Doty wrote:
> On Sep 21, 2007, at 12:51 PM, Stefan Salewski wrote:
> 
>> Hello,
>>
>> I am designing a device which has two identical units, like the
>> amplifiers in a stereo audio device. Other parts, like power supply
>> exists only once.
>>
>> I think I can draw a schematics of one unit, make a copy, rename  
>> devices
>> in that copy and have both units. (The other common parts are  
>> contained
>> in separate schematics.)
>>
>> If I now use gsch2pcb to generate the initial pcb board, then I  
>> have to
>> do the layout for each of the two identical units.
>>
>> Is there a way to do the layout for only one unit, then copy this  
>> part,
>> rename components and have both units?
> 
> An interesting request, related to hierarchy. Right now, if you do a  
> hierarchical design, the gnetlist back ends produce a flat netlist.  
> Is there a way to get a hierarchical netlist? Are there hooks I don't  
> know about in gnetlist, so a back end can see the hierarchy?

Currently there is not.  gnetlist flattens it when it reads it in.  I'd 
really like to see that be different.

> For chip design, I assemble hierarchical netlists from subcircuit  
> netlists using a makefile rule. This means I can't use the source=  
> attribute, so the hierarchy commands in gschem don't work. But this  
> is essential for chip design, as then the layout designer then need  
> only lay out each cell once. My recent ~7000 component chip design  
> contains 45 types of cells. A cell contains an average of 8  
> components, the majority of which are subcells. That's an enormous  
> simplification.

yes it is.

> Wouldn't it be cool to have PCB understand a hierarchical net list,  
> and gnetlist able to generate one, so board designers could work with  
> cells like chip designers, and chip designers could fully exploit  
> gschem's hierarchy commands?

yes it would be.

-Dan



More information about the geda-dev mailing list