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

Re: gEDA-user: multi-part symbols [was: OGDI]



Two replies inside this email. See below:

El jue, 16-03-2006 a las 23:08 -0500, Ales Hvezda escribiÃ: 
[snip]
> >I think it would be easier to do the following:
> >  - get symbols inside symbols working. It doesn't seem so difficult...
> 
> 	Yeah, but I'm sure there are conditions that aren't handled
> properly.  This sort of change is quite risky, but possible if things
> are tested sufficiently.

Correct. I did a first try and posted the results. The main problems are (by now) 
the drawing of these symbols and the attribute management (things like overwriting
 attributes).

> >  - modify a bit the symbol fileformat, so we can define to use, for
> >example, one symbol for slot 1, another one for slot 2 and 3, the last
> >one for slot 4 and the correspondence between symbol's pins and part's
> >pins.
> 
> 	Please propose a simple syntax and maybe we can all come to
> some sort of agreement.

I didn't even started yet the previous step, so of course I haven't thought about
the fileformat. John seemed to have some suggestions... (see below)

> >  - Inside gschem, load the right symbol each time there is a slot
> >change (I think this is better than loading all symbols once at the
> >beginning).
> >
> 
> 	Also a fundimental change with risk associated with it.
> However, being able to create hetrogenous symbols with slotting would
> be nice.

Every new feature is risky. The question is: is it worth? I think so.


El vie, 17-03-2006 a las 01:53 -0700, John Doty escribiÃ:
> May I make an alternate suggestion here?
> 
> The "slot" mechanism is for identical internal subsystems within a  
> part. I propose keeping it that way: I think any attempt to extend it  
> to heterogeneous internal subsystems is likely to make a confusing  
> mess. It's already confusing enough!
> 
> Instead I propose adding the concept of "subdevice", supported by  
> attributes "subdevice" and "others". For example a 7400 gate symbol  
> might have the attributes:
> 
> device=sn7400
> numslots=4	(with the usual other slotting attributes)
> subdevice=1
> others=sn74pwr14
> 
> There would be a generic power symbol for a 14 pin TTL package with  
> attributes:
> 
> device=sn74pwr14
> numslots=0
> subdevice=1
> footprint=DIP14
> 
> Thus a full 7400 package would be represented by four sn7400  
> instances plus one sn74pwr14 instance. The "subdevice=1" attribute  
> without "others" would tell gnetlist to warn the user if the symbol  
> is an orphan without other subdevices with the same refdes (this is  
> for generic subdevices like the sn74pwr14 where the other associated  
> subdevices may vary). The "subdevice=1" with "others" would tell  
> gnetlist specifically what other subdevices are needed to make a  
> complete device. If any is missing, gnetlist could issue an  
> appropriate warning.
> 
> Having the footprint associated with the generic power subdevice in  
> this case would make it easier to change package technologies for a  
> whole family: just make up a new symbol with device=sn74pwr14 and the  
> correct footprint.

I like your idea about using a different attribute for these kind of
parts.

However, I would like to also solve some other situations:

  - Allow the user to easy change from one "subdevice" to another.
  Using your approach, if I want to place a new subdevice, I have to:
    - Open the properties dialog and see the "others" attribute.
    - Open the place device dialog, look for those symbols obtained
      in the previous step and place them.
  What I want is just:
    - Copy the existing instance
    - Open the properties dialog, change the "subdevice_number", and
      have the symbol changed.

  - Don't have one symbol (it is just an example) for every similar
device. The easy example are the power pins. Every device but the 74
standard logic have the power pins in different pinnumbers. Do I need
one power symbol for every device I use? I'd love to be able to tell
gschem that a given device (a digital potentiometer, for example) has:
    - A standard SPI interface, with symbol generic_SPI_interface.sym,
where DO is pin 7, DI is pin 1, CLK is pin 11 and CS is pin 3.
    - A generic potentiometer, with symbol pot-1.sym, where CW is pin 2,
CCW is pin 4 and the cursor is pin 5.
    - A positive power pin named VCC at pin 8
    - A ground power pin named GND at pin 9.
    - A negative power pin named VSS at pin 10.

Yes, I know this is not a real device!. Notice that I'm splitting the
power pin symbol in two, one for negative and another for positive
supply. This is because there are devices with one positive power pin
for each ground pin, but I have found devices with 3 VCCs and 2 GNDs,
for example, so in general there is no matching between the number of
VCCs and number of GNDs.

I think it is important to do this kind of mapping in one only file, so
tools and users can check it easier.

The next time I use a digital potentiometer, the only thing I would have
to do is to change the pinnumber mapping, without creating new symbols.

Also think about the symbols: I have only to maintain one symbol. All
those digital potentiometers will have the same symbols, and also the
resistors will (even those digitally controlled).

Regards,

Carlos