Re: gEDA-user: wishful UI (was: New icon set and UI changes)

2010-08-23 Thread Stefan Dröge
   I just read this, and had to think on the UI discussion going on here:
   [1]http://www.sububi.org/2010/08/18/free-interaction-design-for-your-op
   en-source-project/

   We should also think on the smaller applications beside PCB and gschem.
   Im sure everyone here could name some programmes in the geda suite
   which have a gui that (s)he isn't very happy about.

   -- Stefan

References

   1. 
http://www.sububi.org/2010/08/18/free-interaction-design-for-your-open-source-project/


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



DJ Delorie wrote:

Sure, and the big EDA code based on LISP/Guile also uses syntax for
names so a wire with such a name attrib seems to be all that's
necessary to define a bus.  Putting the syntax netname[0:7] into
form netname[0], netname[1],   for the backends is fine.  Seems
to me the common code would still need to be aware of bus nets.



I published my paper mostly to get a discussion going on what busses
*mean* though, not the implementation details.  For example, what does
it mean when three busses with different names are connected?

 D[15:0] ==** D[15:0]
   ||
   \\ A[1:16]
  

The problems I see with this are:
* 2 names for the same bus are probably confusing for a user
* if busses of different name are allowed to connect, they should have 
the same wire layout
* if they really shall look like above, the number of wires must be 
equal and the obvious

 mapping mechanism must be in place

If all this is not for you, would it be possible to make a 
bus-mapper/connector symbol?



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



DJ Delorie wrote:

And I want to understand the implications of pins that reflect
multiple signals, too - mapping names and numbers, etc.

  

I can only envision 2 cases for a multipurpose pin:
a) the generic interface shall be preserved - don't care what the pin 
means, just pass a wire
b) the pin is actually used for something hardwired in the board - it's 
no longer multipurpose



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user



Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



John Griessen wrote:


1) Assign unique refdes value to all netlistable
   logical symbols in the schematic. If the
   logical symbol is one of several in a
   PHYSICAL_package, then assgined refdes
   to each logical symbol such as Uxx_yy;
   where yy is the value to identify
   a particular LOGICAL_SYMBOL among several
   within a PCB_PACKAGE; and xx value is the
   ID to differentiate among all PCB_PACKAGE
   for your design. Uxx is what you want to
   see in your PCB netlist. 

maybe I misunderstand something here, but if you want to say
'_' in Uxx_yy is actually a separator you should come up with a positive 
definition

of what a standard refdes can be made of.

The sloopy way chars get assigned special meanings with all sorts of 
identifiers

in geda really annoys me - and imho bites everyone in the long run.
The above example would make another step to:

you may not use ':' in blah, unless foo is set to 5, and '-' can bit 
you in some circumstances.
I can assure you that '_' is valid in refdes, unless it's used for a 
bus in which case...
Depending on the phase of the moon, '/' in an identifier can mean 
either:...



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



John Griessen wrote:


In your work flow, English words convey duties to hired layout persons.
In my example, I only hire the autorouter.

Sounds very useful.  Especially for open hardware projects and hobbyists,
and bottom line oriented business folk.


Sounds like you suggest the autorouter as suplement to propper understanding
of layout - I've been struggling and reading for weeks now with this 
subject.
One of the primers I found states: ... The autorouter is a tool to speed 
up the

work of specialists and should be avoided by beginners. It is no replacement
for understanding the implications of your layout...
My very little experience with autorouters also makes me believe, that
an autorouter has even less understanding of EMI issues than I have ;-)


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Mon, 2010-08-16 at 11:23 +0200, Armin Faltl wrote:
 
 John Griessen wrote:
 
  In your work flow, English words convey duties to hired layout persons.
  In my example, I only hire the autorouter.
 
  Sounds very useful.  Especially for open hardware projects and hobbyists,
  and bottom line oriented business folk.
 
 Sounds like you suggest the autorouter as suplement to propper understanding
 of layout - I've been struggling and reading for weeks now with this 
 subject.
 One of the primers I found states: ... The autorouter is a tool to speed 
 up the
 work of specialists and should be avoided by beginners. It is no replacement
 for understanding the implications of your layout...
 My very little experience with autorouters also makes me believe, that
 an autorouter has even less understanding of EMI issues than I have ;-)
 

And an autorouter, which has no idea of the intended layout by the
designer, is really not too useful. When we give some hints, the
autorouter may become more useful. But in first line the define
netclass in schematics proposal was bound to manually routing.





___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Fri, 2010-08-06 at 17:42 -0700, Andrew Poelstra wrote:
 Layer groups as I proposed
 separate the board into different workspaces to keep things organized.
 

I understand your goal, and support it. But I still have problems to
imagine how workspaces will work for layout process. At the end all
traces and elements must fit on the board, and there space is the
limiting factor.

Of course I understand more simple concepts, like better support for
selections (selecting all elements from one schematic sheet, all
elements from a subcircuit like an amplifier or DC-DC-converter,...) or
crossprobing.

But your desire seems to be beyond that. So am example with a picture
may be fine.

Best regards,

Stefan Salewski
  





___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Sat, 2010-08-07 at 12:58 -0700, Andrew Poelstra wrote:

 
 I agree, but on a high level a net /is/ a relation between two pads/pins.
 (Well, a net can have many pads/pins. A subnet would be restricted to two,
 by definition.)
 

No. A subnet, in my mind, is not restricted to two nodes (pin/pad).
The +5V net with netname five_volt_positive can contain a high
current subnet including DC-DC converter, big capacitor, fuse, high
current devices.

Just to make this clear.
 



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Andrew Poelstra
On Mon, Aug 16, 2010 at 01:18:37PM +0200, Stefan Salewski wrote:
 On Fri, 2010-08-06 at 17:42 -0700, Andrew Poelstra wrote:
  Layer groups as I proposed
  separate the board into different workspaces to keep things organized.
  
 
 I understand your goal, and support it. But I still have problems to
 imagine how workspaces will work for layout process. At the end all
 traces and elements must fit on the board, and there space is the
 limiting factor.
 
 Of course I understand more simple concepts, like better support for
 selections (selecting all elements from one schematic sheet, all
 elements from a subcircuit like an amplifier or DC-DC-converter,...) or
 crossprobing.
 
 But your desire seems to be beyond that. So am example with a picture
 may be fine.


No, that's pretty much it. There are two things I want beyond simply
workspaces to hold different tool settings for different functional
groups:

  1. You can create a view based on anything, not just functional
 groups, as will be the default. This includes opening components
 in their own view and editing them, or saving views as components.

  2. Functional groups give one more structure to attach DRC rules to,
 between individual components and the entire PCB.

The implementation of functional groups would be to simply add another
attribute to each object, functional-block, which would determine which 
function block(s) each object belongs to. It merely allows one to
classify parts, and to search or filter on this classification.

As for workspaces:

By default, PCB will open the Everything view, as well as a view for
each functional group in a layout. However, the concepts of functional
group and workspace are actually completely independent, though it
may not appear that way to beginners, for simplicity's sake.


Andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



Stefan Salewski wrote:

On Sat, 2010-08-07 at 12:58 -0700, Andrew Poelstra wrote:

  

I agree, but on a high level a net /is/ a relation between two pads/pins.
(Well, a net can have many pads/pins. A subnet would be restricted to two,
by definition.)




No. A subnet, in my mind, is not restricted to two nodes (pin/pad).
The +5V net with netname five_volt_positive can contain a high
current subnet including DC-DC converter, big capacitor, fuse, high
current devices.

Just to make this clear.
  
Just to make it known, a subnet is a point to point connection within a 
net was the
one and only DEFINITION of what a sub net is I found and understood. All 
other ways
I can conceive are generalizations of that, ie. a subnet is a list of 2 
or more pins within
a net. For lists of 3 or more pins attributes like length or impedance 
don't make any sense,

so  this appears to me a bit like sound and smoke.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread John Griessen

Armin Faltl wrote:


My very little experience with autorouters also makes me believe, that
an autorouter has even less understanding of EMI issues than I have ;-)


Sure, that's why I made the analogy to Rainman.  Routers are autistic.
Have to be told what to do with many attribs and usually with some hand routing
of fanouts done first.

JG


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread John Griessen

Andrew Poelstra wrote:


No, that's pretty much it. There are two things I want beyond simply
workspaces to hold different tool settings for different functional
groups:

  1. You can create a view based on anything, not just functional
 groups, as will be the default. This includes opening components
 in their own view and editing them, or saving views as components.

  2. Functional groups give one more structure to attach DRC rules to,
 between individual components and the entire PCB.


This sounds great!  If you save a view as a component, it would be good
to have an optional way to backannotate a symbol for it into the schematic.
Are you thinking that way?  To save a view as a component with pins and busses
attached just like a normal component that came from a footprint?

John Griessen


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Andrew Poelstra

- John Griessen j...@ecosensory.com wrote:
 Andrew Poelstra wrote:
 
  No, that's pretty much it. There are two things I want beyond simply
  workspaces to hold different tool settings for different functional
  groups:
  
1. You can create a view based on anything, not just functional
   groups, as will be the default. This includes opening components
   in their own view and editing them, or saving views as components.
  
2. Functional groups give one more structure to attach DRC rules to,
   between individual components and the entire PCB.
 
 This sounds great!  If you save a view as a component, it would be good
 to have an optional way to backannotate a symbol for it into the schematic.
 Are you thinking that way?  To save a view as a component with pins and busses
 attached just like a normal component that came from a footprint?
 

My thinking was to have a flag set for views editing components - which
would do things like disable all layers except silk/pins/component, change
the Save group to save .fp files instead of .pcb files, etc.

That's a secondary plan, of course. Initially I'll just throw a export
view as footprint button somewhere, while we work out the details of how
views and functional blocks should work.

When you click the new button beside the view tabs, you'll get a popup
asking if you want to create a:
  o  New functional block
  o  New component (footprint)
  o  Custom view

Wherein custom view would allow you to create a filter range as per
my DRC rule proposal.


Andrew


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread John Griessen

Rick Collins wrote:
Why not start with what you
are trying to do in the layout, consider what the layout tool needs to 
make that happen, then trace that back to what is needed in the 
schematic to support the layout? 


There are lots of different users of these programs, and they have different 
goals.
You're not going to show up and get your way in a FOSS development community
unless your suggestion is obvious and brilliant at the same time.  IOW
slim and none.

When would you want a layout to control impedance on a

portion of a net and not the entire net?


Who knows?  Volunteers making a tool do nothing but your special
cases is not going to happen.

Volunteers making a tool for controlling impedances when and where told to
has a chance of happening.

JG


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread John Griessen

Andrew Poelstra wrote:


When you click the new button beside the view tabs, you'll get a popup
asking if you want to create a:
  o  New functional block
  o  New component (footprint)
  o  Custom view


So are you thinking of reusing the layout editor to edit the footprint view?
Then we could create pins or pads to get a new footprint with
existing footprints inside it.  The netlister would need to handle
footprints with no package similarly as we handle flattened hierarchy now.

Probably you're thinking of saving to the buffer
and convert to footprint.  the buffer method only allows one level I think,
no component within component.

I'd be happy to have a simple no hierarchy layout group with no new pads or
pins added that is savable.  Then no netlister changes would be needed,
the group could be handled by flattened hierarchy naming if you wanted
to put down repeated instances of it.

John Griessen
--
Ecosensory   Austin TX


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread DJ Delorie

 You're not going to show up and get your way in a FOSS development
 community unless your suggestion is obvious and brilliant at the
 same time.

or if you're willing to do the work yourself, of course :-)


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Armin Faltl



John Griessen wrote:

Rick Collins wrote:
Why not start with what you
are trying to do in the layout, consider what the layout tool needs 
to make that happen, then trace that back to what is needed in the 
schematic to support the layout? 


There are lots of different users of these programs, and they have 
different goals.
You're not going to show up and get your way in a FOSS development 
community

unless your suggestion is obvious and brilliant at the same time.  IOW
slim and none.


JG, in my opinion Rick has a point, that without 100% clear definitions from
and for all of those talking here using subnet, the whole discussion 
has a high

chance of getting nowhere and some of the usecases brought in for support
of the idea seem to come from Wolkenkuckusheim [1] for him.
He's never been insulting and I value the practical view of his writing.

As he's less writing, he's probably more routing than me - a reproach I'm
making to myself - I just write here, to keep the future tool useful to me
and found it hard to follow all the discussion.

[1] the term is german and some of the ideas look like from there for me 
(too)
e.g. I make my traces as broad as I see fit or have space in the area, 
so all

the cool design auto blahblah means nothing to me, but a minimum clearance
based on voltage is a good feature.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Andrew Poelstra

- John Griessen j...@ecosensory.com wrote:
 Andrew Poelstra wrote:
 
  When you click the new button beside the view tabs, you'll get a popup
  asking if you want to create a:
o  New functional block
o  New component (footprint)
o  Custom view
 
 So are you thinking of reusing the layout editor to edit the footprint view?

No, there will be a new new button beside the tabs, like in
Firefox. Clicking that will popup the dialog.

 Then we could create pins or pads to get a new footprint with
 existing footprints inside it.  The netlister would need to handle
 footprints with no package similarly as we handle flattened hierarchy now.
 

You could create a footprint out of other footprints, but it would
probably need to be flattened when saving out.

 Probably you're thinking of saving to the buffer
 and convert to footprint.  the buffer method only allows one level I think,
 no component within component.
 

Exactly.

 I'd be happy to have a simple no hierarchy layout group with no new pads or
 pins added that is savable.  Then no netlister changes would be needed,
 the group could be handled by flattened hierarchy naming if you wanted
 to put down repeated instances of it.
 


Andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Mon, 2010-08-16 at 12:00 -0400, Rick Collins wrote:

 
 I think we should try to find a better name for the connection between
 two nodes in a net, maybe segment?
 
 In the layout program I use, a segment is a single section of a PWB 
 route between two points.  That is, it is the shortest specified 
 portion of a route.  The entire connected entity is a net and a 
 connection between two pins or a T vertex is a trace.  The trace is 
 equivalent to what you are trying to describe.
 

True, segment was a bad propose from me. I am not sure if trace is
really good, in my mind trace is bound to a special shape...
Maybe we should simple say connection between two points/pins/nodes.
(I still wonder about the term PWB, a google search does not really
help.)

 A lot of the discussion in this list is conducted as if the 
 functioning of schematics were the only consideration.  Why not start 
 with what you are trying to do in the layout, consider what the 
 layout tool needs to make that happen, then trace that back to what 
 is needed in the schematic to support the layout?

Indeed, that is what I would do, if I would be alone...
Please note, I was not the one who has the idea of specifying
attributes on the schematic level. This discussion is really old, at
least it existed when Anthony Blake starts with his topological router
and we consider how to make that router more smart. And as Kai-Martin
told us, this concept is in Protel for ten years. So it is not an idea
at all, it is an concept, and the question is, how useful it is. I wrote
that down, with a small picture, because my memory is not too good...
The whole story started this time with ideas  of Andrew Poelstra, and it
may start again in a few months...

 So much of this 
 conversation just seems so disconnected from what might be needed to 
 do real work.
 

This is true -- from time to time we have discussions from new users
with great ideas and wishes, but without the skills and time to program
that. Sometimes I am one of them.

 If you want to consider impedance, then lets start with the ways you 
 would want to control impedance and figure out just what that demands 
 of layout and then the schematic?  Normally when I am controlling 
 impedance, I am using point to point connections with no branches or 
 stubs.

Sure, this is the general and most important case.

  But if they are kept short, a stub can be used with impedance 
 controlled nets.  Likewise, I seldom have more than one receiver on 
 an impedance controlled nets, but I can see where a bus might need to 
 be impedance controlled even with many drivers and receivers.  So it 
 seems like in layout you would need impedance on an entire net, not 
 just a trace or subnet.  When would you want a layout to control 
 impedance on a portion of a net and not the entire net?
 
 Rick 
 

I do not really like to discuss all that details now. When we build a
new house, it is difficult to predict the final color of the inner
rooms. Indeed I think that a net with defined impedance should define
that impedance to the whole net, no need for subnets. But I may be
wrong. One special case is the example which I mentioned yesterday, when
we want to enforce a special shape of a net in the schematic level. But
for power supply nets, different attributes for different traces of a
net makes sense, and most devices need power supply.

Best regards,

Stefan Salewski




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Rick Collins
Ok, if that is the way this group works.  I have been told that these 
tools can be useful and I assumed that would be the goal of 
development.  I see lot of comments going in all directions with no 
clear indication of how any of it would be used.  But I'm just a 
practical sort of guy.  If you guys are into the idea of what 
schematic software can be rather than the practical side of what is 
needed by the guys in the trenches, that's fine.  It's your 
software.  This is all new to me.


I actually don't use the gEDA tools other than Gerbv which has some 
issues under Windows.  I've used FreePCB and make my small 
contributions there.  But there is only one developer and it is not 
clear that he wants help.  So I can only make suggestions and not 
able to add to the code itself.  I do provide peripheral support by 
advising newbies and help with the wiki at the moment.


If there is anything I can help with here, I'm glad to do so.  Have a nice one.

Rick


At 12:21 PM 8/16/2010, you wrote:

Rick Collins wrote:
Why not start with what you
are trying to do in the layout, consider what the layout tool needs 
to make that happen, then trace that back to what is needed in the 
schematic to support the layout?


There are lots of different users of these programs, and they have 
different goals.

You're not going to show up and get your way in a FOSS development community
unless your suggestion is obvious and brilliant at the same time.  IOW
slim and none.

When would you want a layout to control impedance on a

portion of a net and not the entire net?


Who knows?  Volunteers making a tool do nothing but your special
cases is not going to happen.

Volunteers making a tool for controlling impedances when and where told to
has a chance of happening.

JG


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Mon, 2010-08-16 at 18:54 +0200, Armin Faltl wrote:

 
 JG, in my opinion Rick has a point, that without 100% clear definitions from
 and for all of those talking here using subnet, the whole discussion 
 has a high
 chance of getting nowhere

This is true -- but the point is not 100% clear definitions but
skills and time and will to work and code.

Andrew Poelstra has shown at least some of the last mentioned. My fear
was, that he moved in a wrong direction, because he is new to EDA and
gEDA/PCB. And that he fast turns away from this project again -- without
support by some motivating words.

I myself -- I guess I will not find much time to learn the internals of
gEDA/PCB in the next 12 months, sorry.






___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Rick Collins

At 12:57 PM 8/16/2010, you wrote:

On Mon, 2010-08-16 at 12:00 -0400, Rick Collins wrote:

 
 I think we should try to find a better name for the connection between
 two nodes in a net, maybe segment?

 In the layout program I use, a segment is a single section of a PWB
 route between two points.  That is, it is the shortest specified
 portion of a route.  The entire connected entity is a net and a
 connection between two pins or a T vertex is a trace.  The trace is
 equivalent to what you are trying to describe.


True, segment was a bad propose from me. I am not sure if trace is
really good, in my mind trace is bound to a special shape...
Maybe we should simple say connection between two points/pins/nodes.
(I still wonder about the term PWB, a google search does not really
help.)


PWB is Printed Wiring Board.  I use PWB for the bare board because 
often PCB is used for an entire assembly with parts installed.  In 
reality the two terms should mean the same thing, it is a matter of 
usage.  The real problem is that people should call a circuit card 
assembly an assembly of some sort and not a PCB.  Also, if you look 
up PCB you will find Polychlorinated Biphenyls which have nothing 
to do with circuit cards and are very undesirable... ;^)


As to trace, there is still some advantage to using a term for a 
special meaning even if that special meaning is not what you first 
think of when you hear it.




 A lot of the discussion in this list is conducted as if the
 functioning of schematics were the only consideration.  Why not start
 with what you are trying to do in the layout, consider what the
 layout tool needs to make that happen, then trace that back to what
 is needed in the schematic to support the layout?

Indeed, that is what I would do, if I would be alone...
Please note, I was not the one who has the idea of specifying
attributes on the schematic level. This discussion is really old, at
least it existed when Anthony Blake starts with his topological router
and we consider how to make that router more smart. And as Kai-Martin
told us, this concept is in Protel for ten years. So it is not an idea
at all, it is an concept, and the question is, how useful it is. I wrote
that down, with a small picture, because my memory is not too good...
The whole story started this time with ideas  of Andrew Poelstra, and it
may start again in a few months...


I think adding attributes to schematics is a good idea.  But you need 
a way to convey that to the layout tool, what ever sort of tool that 
is, ASIC, FPGA, circuit card...  No point in adding features to a 
schematic than can't be sent to or used by layout.




 So much of this
 conversation just seems so disconnected from what might be needed to
 do real work.


This is true -- from time to time we have discussions from new users
with great ideas and wishes, but without the skills and time to program
that. Sometimes I am one of them.


I guess I am not thinking that there is a problem with 
implementation.  My concern is value.  How are these ideas to be used 
by... well, the users?  After all, this is the geda-user list, 
no?  If getting the work done is the hardest part of it all, then 
maybe I can help...




 If you want to consider impedance, then lets start with the ways you
 would want to control impedance and figure out just what that demands
 of layout and then the schematic?  Normally when I am controlling
 impedance, I am using point to point connections with no branches or
 stubs.

Sure, this is the general and most important case.

  But if they are kept short, a stub can be used with impedance
 controlled nets.  Likewise, I seldom have more than one receiver on
 an impedance controlled nets, but I can see where a bus might need to
 be impedance controlled even with many drivers and receivers.  So it
 seems like in layout you would need impedance on an entire net, not
 just a trace or subnet.  When would you want a layout to control
 impedance on a portion of a net and not the entire net?

 Rick


I do not really like to discuss all that details now. When we build a
new house, it is difficult to predict the final color of the inner
rooms. Indeed I think that a net with defined impedance should define
that impedance to the whole net, no need for subnets. But I may be
wrong. One special case is the example which I mentioned yesterday, when
we want to enforce a special shape of a net in the schematic level. But
for power supply nets, different attributes for different traces of a
net makes sense, and most devices need power supply.


Wow!  Impedance was being discussed in the context of it being a 
property of a trace rather than then entire net.  I suggest that it 
be considered how impedance control is used on the circuit card (or 
chip or whatever) and you compare that to picking the color of a room 
when designing a house!  I see it as figuring out where you want the 
rooms and doorways before you plan for the plumbing and 
electrical.  

Re: gEDA-user: wishful UI

2010-08-16 Thread Andrew Poelstra

- Stefan Salewski m...@ssalewski.de wrote:
 On Mon, 2010-08-16 at 18:54 +0200, Armin Faltl wrote:
 
 This is true -- but the point is not 100% clear definitions but
 skills and time and will to work and code.
 
 Andrew Poelstra has shown at least some of the last mentioned. My fear
 was, that he moved in a wrong direction, because he is new to EDA and
 gEDA/PCB. And that he fast turns away from this project again -- without
 support by some motivating words.
 

I don't expect to move on anytime soon - though we will see how much
time I have left when school starts again. Certainly, EDA is filled
with exciting computing science problems, while being useful at the
same time. Life is much harder if you can't hack the hardware around
you :)

Also, the gEDA codebase is certainly cleaner and more hackable than
typical, and the list much more open-minded.

As for going the wrong direction - if we don't ever explore, then
how can we learn?


Andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Mon, 2010-08-16 at 13:55 -0400, Rick Collins wrote:

 
 I guess I am not thinking that there is a problem with 
 implementation.  My concern is value.  How are these ideas to be used 
 by... well, the users?  After all, this is the geda-user list, 
 no?  If getting the work done is the hardest part of it all, then 
 maybe I can help...
 

Of course, my concern is value too.
But what people regard as important is very different. Here in Germany
most people related to electronics seems to give visible appearance a
very high priority. I have seen many complaints about gEDA/PCB to be
ugly. All what does not look like Windows7 or MacOSX is regarded ugly
and unusable by that people. (Some Linux users now regard Gnome as ugly
too...) So one may consider optical tuning of GUI most valuable?

For the concept of defining attributes at the schematic level:
You may know my DSO board. Doing that layout took me 500 hours of
carefully work. That is OK. A smart layouter may need less time, maybe
only 300 hours with PCB. I think that layouter will take 50 $ per hour,
so I have to pay 15000 $. Or I have to do next layout again myself. But
that layout will be more complicated, it will contain fast differential
signal pairs and BGA footprints. Should be more than 500 hours for me. I
think attributes can support my work, so I will need only 350 hours.
Maybe much less with autorouter support. That would make me happy.

Some of our users may want a nice shiny toy with a colorful GUI. That is
OK, and may be useful for very small hobby projects. Some users may be
more interested in better support of larger designs.

Of course, transferring the attribute stuff from schematics to the PCB
layout tool is difficult in many points: It concerns gschem, gnetlist
and PCB. And we have to ensure that we do not break something and do it
in a clean, professional way.  

  



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Rick Collins
I looked at your DSO project.  That is pretty impressive.  Are you 
looking for any help?  That is right up my alley!


Rick


At 02:56 PM 8/16/2010, you wrote:

On Mon, 2010-08-16 at 13:55 -0400, Rick Collins wrote:


 I guess I am not thinking that there is a problem with
 implementation.  My concern is value.  How are these ideas to be used
 by... well, the users?  After all, this is the geda-user list,
 no?  If getting the work done is the hardest part of it all, then
 maybe I can help...


Of course, my concern is value too.
But what people regard as important is very different. Here in Germany
most people related to electronics seems to give visible appearance a
very high priority. I have seen many complaints about gEDA/PCB to be
ugly. All what does not look like Windows7 or MacOSX is regarded ugly
and unusable by that people. (Some Linux users now regard Gnome as ugly
too...) So one may consider optical tuning of GUI most valuable?

For the concept of defining attributes at the schematic level:
You may know my DSO board. Doing that layout took me 500 hours of
carefully work. That is OK. A smart layouter may need less time, maybe
only 300 hours with PCB. I think that layouter will take 50 $ per hour,
so I have to pay 15000 $. Or I have to do next layout again myself. But
that layout will be more complicated, it will contain fast differential
signal pairs and BGA footprints. Should be more than 500 hours for me. I
think attributes can support my work, so I will need only 350 hours.
Maybe much less with autorouter support. That would make me happy.

Some of our users may want a nice shiny toy with a colorful GUI. That is
OK, and may be useful for very small hobby projects. Some users may be
more interested in better support of larger designs.

Of course, transferring the attribute stuff from schematics to the PCB
layout tool is difficult in many points: It concerns gschem, gnetlist
and PCB. And we have to ensure that we do not break something and do it
in a clean, professional way.





___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Stefan Salewski
On Mon, 2010-08-16 at 15:27 -0400, Rick Collins wrote:
 I looked at your DSO project.  That is pretty impressive.  Are you 
 looking for any help?  That is right up my alley!
 
 Rick
 

Indeed I was hoping for some support during the last two years, but
there was not much interest, some people with very limited skills in
electronics area contacted me, hoping for a very cheap device. But of
course I can not build large quantities, so costs can not be smaller
than similar commercial tools from china, so people are disappointed. I
do understand that.

No, currently I do not need help, I have done schematics and layout very
carefully, learned VHDL, started design of a GTK GUI. And I wrote my own
USB firmware some years ago. Currently I am doing some final checking of
schematics and layout, with minimal modifications. I indent to order
parts and two PCB prototype boards in harvest and intend soldering the
first prototype before end of this year. If that prototype works, than
there may be again room for support, for example for optimizing the VHDL
code, board firmware and communication with the PC, and finally
optimizing the user interface.

I will tell on my homepage and on this list when there is the first
working prototype -- hopefully before the end of this year.

Best regards

Stefan Salewski




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread Kai-Martin Knaak
Stefan Salewski wrote:

 But what people regard as important is very different. Here in Germany
 most people related to electronics seems to give visible appearance a
 very high priority.

On the other hand, the ugly duckling who calls itself eagle enjoys 
quite some user base in Germany. Bartels AutoEngineer is not exactly 
pure eye candy, either. 
 
---)kaimartin(---
-- 
Kai-Martin Knaak  tel: +49-511-762-2895
Universität Hannover, Inst. für Quantenoptik  fax: +49-511-762-2211 
Welfengarten 1, 30167 Hannover   http://www.iqo.uni-hannover.de
GPG key:http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmkop=get



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-16 Thread John Griessen

Stefan Salewski wrote:
 I have to do next layout again myself. But

that layout will be more complicated, it will contain fast differential
signal pairs and BGA footprints. Should be more than 500 hours for me. I
think attributes can support my work, so I will need only 350 hours.
Maybe much less with autorouter support. That would make me happy.


Tony's topo router is going to be good when we test it enough to handle existing
layout and complete it.

 And we have to ensure that we do not break something and do it
in a clean, professional way.  


Yes, we need a unit test with a topo router example to make sure it keeps on
working as much as it does.

John


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread Paul Tan
Hi John Doty,

On Aug 14, 2010; 02:45pm; John Doty wrote:
 No. It can happen whenever you have multiple
 symbols with the same refdes, regardless of
 the back end. Slotting is a particular case
 of this, but not the only one. It's a pure
 gnetlist problem, having nothing to do with
 pcb.

That is the problem, whenever you have multiple
symbols with the same refdes, as I suspected
and mentioned in my previous post.

You might already know, other backends such
as Verilog, VHDL, etc do not have this
problem, because they all expect unique
refdes value for each symbol instance.

Gnetlist frontend algorithm expects unique
refdes from the schematic file to give you
the correct result. This is reasonable,
because the Gnetlist frontend treats refdes
attribute value in .sch file as unique ID
for LOGICAL_SYMBOL; instead of for
PCB_PACKAGE which may contain variable
numbers of LOGICAL_SYMBOLs.

The final PCB netlist wants to see PACKAGE_refdes
instead of LOGICAL_SYBOL_refdes. So one of the
solution is (as I stated before and expalin
here):

1) Assign unique refdes value to all netlistable
   logical symbols in the schematic. If the
   logical symbol is one of several in a
   PHYSICAL_package, then assgined refdes
   to each logical symbol such as Uxx_yy;
   where yy is the value to identify
   a particular LOGICAL_SYMBOL among several
   within a PCB_PACKAGE; and xx value is the
   ID to differentiate among all PCB_PACKAGE
   for your design. Uxx is what you want to
   see in your PCB netlist.

2) Your backend Scheme code should strip the
   _yy from Uxx_yy when outputing your
   PCB's PACKAGE_refdes Uxx.

If this solution is not what you want, there
are others I can suggest. Yes, ofcourse, you
can fix it at the Gnetlist frontend, in which
case, that fix should not affect other backends
which require unique refdes for symbol instance.

Best Regards,
Paul Tan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Griessen

Stefan Salewski wrote:

On Sat, 2010-08-14 at 18:57 -0400, Paul Tan wrote:

On Aug 14, 2010; 10:34am, Andrew Poelstra wrote:

Otherwise, certain nets (such as power or ground nets), which often
have vastly different characteristics in different sections, would
be difficult to describe.



I think he cares about touching net segments, same as I, see for example

http://ssalewski.de/gEDA-Netclass.html.en

the Power and Bypass segment.

I think John Doty got it:


Yes, gschem is where blocks/sets/groups of net segments need to be defined as
having certain attributes first,
then related to attributes on physical layout objects such as vias and traces 
and pads.
In the layout, each object needs the full list of attached attributes, since
it is individually editable in the layout program, (yes any layout program 
works that way).

John
--
Ecosensory   Austin TX


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Griessen

DJ Delorie wrote:


Also, my proposal is to have the busses converted to multiple
independent nets in the common parts of gnetlist, so that you don't
have to tweak every single backend to add support for them.  You can
still support magic net names that the backends understand, if you
want, but it seems to me a common concept like bus should be done in
common code and be consistently applied across all the backends.


Sure, and the big EDA code based on LISP/Guile also uses syntax for names
so a wire with such a name attrib seems to be all that's necessary to define a 
bus.
Putting the syntax netname[0:7] into form netname[0], netname[1], 
for the backends is fine.  Seems to me the common code would still
need to be aware of
bus nets.

John
--
ex Cadence and Mentor layer outer among other things...


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread DJ Delorie

 Sure, and the big EDA code based on LISP/Guile also uses syntax for
 names so a wire with such a name attrib seems to be all that's
 necessary to define a bus.  Putting the syntax netname[0:7] into
 form netname[0], netname[1],   for the backends is fine.  Seems
 to me the common code would still need to be aware of bus nets.

I published my paper mostly to get a discussion going on what busses
*mean* though, not the implementation details.  For example, what does
it mean when three busses with different names are connected?

 D[15:0] ==** D[15:0]
   ||
   \\ A[1:16]

With nets, it breaks if you do that.  I would want DRC to complain to
- it's a real error to give one signal two names.  Do we need a
separate bus thing in order to apply different rules?

And I want to understand the implications of pins that reflect
multiple signals, too - mapping names and numbers, etc.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Griessen

Paul Tan wrote:


That is the problem, whenever you have multiple
symbols with the same refdes, as I suspected
and mentioned in my previous post.


.
.
.

The final PCB netlist wants to see PACKAGE_refdes
instead of LOGICAL_SYBOL_refdes. So one of the
solution is (as I stated before and explain
here):

1) Assign unique refdes value to all netlistable
   logical symbols in the schematic. If the
   logical symbol is one of several in a
   PHYSICAL_package, then assgined refdes
   to each logical symbol such as Uxx_yy;
   where yy is the value to identify
   a particular LOGICAL_SYMBOL among several
   within a PCB_PACKAGE; and xx value is the
   ID to differentiate among all PCB_PACKAGE
   for your design. Uxx is what you want to
   see in your PCB netlist.


This is a good way to think how to implement busses.

A way to be backwards compatible might be to take any refdes
with that form and create an old style short one and another attrib
for the unique PCB_PACKAGE identifier.  Existing libraries could be processed
to change them that way also.

John Griessen


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread DJ Delorie

One of the things we need for pin/gate swapping in pcb is a UUID for
each logical symbol in the schematic set.  Refdes is not unique enough :-(


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Doty
Hello Paul,

On Aug 15, 2010, at 4:08 AM, Paul Tan wrote:

 Hi John Doty,
 
 On Aug 14, 2010; 02:45pm; John Doty wrote:
 No. It can happen whenever you have multiple
 symbols with the same refdes, regardless of
 the back end. Slotting is a particular case
 of this, but not the only one. It's a pure
 gnetlist problem, having nothing to do with
 pcb.
 
 That is the problem, whenever you have multiple
 symbols with the same refdes, as I suspected
 and mentioned in my previous post.
 
 You might already know, other backends such
 as Verilog, VHDL, etc do not have this
 problem, because they all expect unique
 refdes value for each symbol instance.

The data from multiple symbol instances with the same refdes is combined in the 
front end, regardless of the back end. This can therefore occur with any back 
end, I think. You can, for example, split a SPICE vcvs into two symbols if you 
wish to in gEDA, using either of the SPICE gnetlist back ends. The power of 
orthogonal design. 

 
 Gnetlist frontend algorithm expects unique
 refdes from the schematic file to give you
 the correct result.

Except that many of us split components into functional blocks (not necessarily 
slots).

An extreme example is my pins2gsch script 
(http://www.gedasymbols.org/user/john_doty/tools/pins2gsch.html).

 This is reasonable,
 because the Gnetlist frontend treats refdes
 attribute value in .sch file as unique ID
 for LOGICAL_SYMBOL; instead of for
 PCB_PACKAGE which may contain variable
 numbers of LOGICAL_SYMBOLs.
 
 The final PCB netlist wants to see PACKAGE_refdes
 instead of LOGICAL_SYBOL_refdes. So one of the
 solution is (as I stated before and expalin
 here):
 
 1) Assign unique refdes value to all netlistable
   logical symbols in the schematic. If the
   logical symbol is one of several in a
   PHYSICAL_package, then assgined refdes
   to each logical symbol such as Uxx_yy;
   where yy is the value to identify
   a particular LOGICAL_SYMBOL among several
   within a PCB_PACKAGE; and xx value is the
   ID to differentiate among all PCB_PACKAGE
   for your design. Uxx is what you want to
   see in your PCB netlist.
 
 2) Your backend Scheme code should strip the
   _yy from Uxx_yy when outputing your
   PCB's PACKAGE_refdes Uxx.

But it's an issue that affects all back ends, not just the pcb back end (which 
I never use).

 
 If this solution is not what you want, there
 are others I can suggest. Yes, ofcourse, you
 can fix it at the Gnetlist frontend, in which
 case, that fix should not affect other backends
 which require unique refdes for symbol instance.

A front end function gnetlist:get-all-symbol-attributes would make a pretty 
decent primitive factor here. It could return a nested list like:

(  (  ( refdes U1 )
  ( device 7400 )  )
   (  ( refdes U1 )
  ( device 14pwr )
  ( footprint dip14 )  )
   (  ( refdes C1 )
  ( device CAPACITOR )
  ( footprint 0805 )
  ( value 0.1uF  )  )
...
)

In this example, a 7400 is broken into two functional blocks, logic and power, 
an example of a rather common practice.

Then, several gnetlist primitives could be eliminated:

gnetlist:get-package-attribute
gnetlist:vams-get-package-attributes
gnetlist:get-slots
gnetlist:get-unique-slots

These would become convenience functions in gnetlist.scm, using the common 
primitive above. Existing front ends need them, and they're fine functions to 
have. They just aren't sensible as primitives.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread Rick Collins
And what will these subnets translate into in a layout tool?  How 
would that translation be handled in the net list?  A net is a net in 
my designs.  If I have a subnet that I want handled differently 
from the rest of the net, that is not something that is added to a 
schematic because it is not related to the schematic.  It is a layout 
issue and I address it in layout.  I may add some documentation to 
the schematic in the form of notes, but they are just that, notes, 
not design info that I expect to be conveyed in the netlist.


If I really want to designate portions of a net that need to be 
separated by some PWB feature, I draw them as separate nets and then 
connect them with a part that is used to connect them in the 
layout.  For example, I have a part which can use the same voltage 
for I/Os that it uses for the core Vcc.  But a different version of 
the part uses a much lower core Vcc.  So the two Vccs are separate 
nets and I use a jumper symbol to connect them.  In layout I have a 
choice of how to implement that jumper, as a two pin header, a zero 
ohm resistor or a two pin device that is nothing but a PWB copper 
connection between the two pins.


How would you make use of subnets that would be useful that you 
can't do with just nets?


Rick


At 01:34 PM 8/14/2010, you wrote:

On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote:
 ...In fact, I would like to see that gEDA can process ANY attributes
 attached to a net in similar fashion as it process ANY attributes
 attached to a symbol currently.


I agree, but I'm not sure this would be useful until we find a way
to split nets up into subnets - which is a much more complicated
change.

Otherwise, certain nets (such as power or ground nets), which often
have vastly different characteristics in different sections, would
be difficult to describe.


Andrew




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Griessen

Rick Collins wrote:
And what will these subnets translate into in a layout tool?  How would 
that translation be handled in the net list?  A net is a net in my 
designs. 

.
.
.
If I really want to designate portions of a net that need to be 
separated by some PWB feature, I draw them as separate nets and then 
connect them with a part that is used to connect them in the layout.


That's a simpler definition of schematic and that's fine for you to use that 
flow,
completely separating layout from anything you consider in detail, letting
someone else or an autorouter handle that.



How would you make use of subnets that would be useful that you can't 
do with just nets?


Make definitions of trace width quickly on a schematic by 
select-and-add-attributes,
so an autorouter can run to completion with medium current handling traces
routed DRC close to each other and other traces.

In your work flow, English words convey duties to hired layout persons.
In my example, I only hire the autorouter.

Sounds very useful.  Especially for open hardware projects and hobbyists,
and bottom line oriented business folk.

John Griessen
--
Ecosensory   Austin TX

PS
What I called select-and-add-attributes is an imaginary function not existing 
in gschem.
Yet...


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread kai-martin knaak
Rick Collins wrote:

 How would you make use of subnets that would be useful that you
 can't do with just nets?

Of course you can do everything manually in the layout app. Just like you 
can do any layout without a schematic in the first place. But the schematic 
serves as a convenient way to memorize all the necessary connections. For 
more than a dozen parts the convenience becomes a necessity. 

Same with net attributes. It is easy and intuitive to assign different rules 
in the schematic. The layout tool will automatically read from the netlist 
which net should be made fat to accommodate high current. Other may need 
extra spacing because of high voltage. This relieve the brain during manual 
routing. DRC will tell you when you err. An autorouter might also benefit if 
it knows about different minimum rules for different nets.

IMHO, this feature would be a great leap forward.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread Stefan Salewski
On Sun, 2010-08-15 at 12:36 -0400, Rick Collins wrote:
 And what will these subnets translate into in a layout tool?  How 
 would that translation be handled in the net list?  A net is a net in 
 my designs.  If I have a subnet that I want handled differently 
 from the rest of the net, that is not something that is added to a 
 schematic because it is not related to the schematic.  It is a layout 
 issue and I address it in layout.

This is old workflow. You can go on using it, our indented changes will
allow it still, of course. It is fine for small boards, for low speed
design, for layouters who love to work hard and carefully...

For my 1000 parts DSO board I was not really happy with this strategy.
And I can not imagine that commercial EDA tools do not support the
layouter in a similar way as we now consider.

 
 How would you make use of subnets that would be useful that you 
 can't do with just nets?
 

Maybe you missed some postings, and maybe my proposal:
http://ssalewski.de/gEDA-Netclass.html.en




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Griessen

John Griessen wrote:

Rick Collins wrote:
How would you make use of subnets that would be useful that you 
can't do with just nets?


After my last post, I saw you could argue, You can do that with just nets.,
and I see your point that from a schematic view a net is a net, and most
of the use of the concept of subnets is in layout.

In case you mean How would you make use of subnets in the schematic view?,
here's another case:

A net is a net, except when it is connected to something...  Suppose we want to
tell an autorouter to make certain pins, capacitor pins, routed closely?
You could define a subnet by tagging a net like VCC partially like this:
Use select-and-add-attributes to tag one pin of a cap and one pin of a chip
with a name unique to the schematic, and with attribute route-priority-closest,
then go to  another cap also connected to VCC and do likewise.

There you have two subnets doing something very useful for automation
on a schematic alone.  No need to define physical regions on a layout to
have a meaning.

And we see that a net isn't a net everywhere.  At each end, (and nets can
have any number of ends, not just two), the part where it connects to
something else is always different from the rest.  The layout correspondence
is pin or pad at the ends of the net, and trace everywhere else.

Sure, Im talking about obvious stuff, but it's not to suggest anyone's
slow on this list, just that autorouters and other automatons are slow
on the uptake, even if they're faster at counting than Rainman.
Subnet definitions would be most valuable for slow witted but
speedy and cheap-to-hire autorouters.

John Griessen


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread kai-martin knaak
Stefan Salewski wrote:

 And I can not imagine that commercial EDA tools do not support the
 layouter in a similar way as we now consider.

By the way, protel99SE did so more than 10 years ago... 

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread Paul Tan
Hi John Doty,

On Aug 15, 2010; 08:18am; John Doty wrote:

 A front end function gnetlist:get-all-symbol-attributes
 would make a pretty decent primitive factor here.
 It could return a nested list like:

 (  (  ( refdes U1 )
   ( device 7400 )  )
(  ( refdes U1 )
   ( device 14pwr )
   ( footprint dip14 )  )
(  ( refdes C1 )
   ( device CAPACITOR )
   ( footprint 0805 )
   ( value 0.1uF  )  )
 ...
 )

Yes, that is another solution, and it does not
affect other backends, since that is a new
function gnetlist:get-all-symbol-attributes
which no backends called.

Although there are other Gnetlist frontend
solutions which have less impact on memory
footprint and performance, if you can get
Ales to approve it, I am for it. Then you
need to find out who is going to implement it.
Moreover, to fix the PCB's netlist whatever
problem, who is going to implement all the
changes needed in PCB backends?

Best Regards,
Paul Tan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-15 Thread John Doty
Hello, Paul.

On Aug 15, 2010, at 3:34 PM, Paul Tan wrote:

 Hi John Doty,
 
 On Aug 15, 2010; 08:18am; John Doty wrote:
 
 A front end function gnetlist:get-all-symbol-attributes
 would make a pretty decent primitive factor here.
 It could return a nested list like:
 
 (  (  ( refdes U1 )
  ( device 7400 )  )
   (  ( refdes U1 )
  ( device 14pwr )
  ( footprint dip14 )  )
   (  ( refdes C1 )
  ( device CAPACITOR )
  ( footprint 0805 )
  ( value 0.1uF  )  )
 ...
 )
 
 Yes, that is another solution, and it does not
 affect other backends, since that is a new
 function gnetlist:get-all-symbol-attributes
 which no backends called.
 
 Although there are other Gnetlist frontend
 solutions which have less impact on memory
 footprint and performance, if you can get
 Ales to approve it, I am for it. Then you
 need to find out who is going to implement it.

That's the rub.

 Moreover, to fix the PCB's netlist whatever
 problem, who is going to implement all the
 changes needed in PCB backends?

No changes are required in the back ends. Somebody would have to rewrite 
gnetlist:get-package-attribute and perhaps gnetlist:vams-get-package-attributes 
in Guile, so that they would use the new interface. I'd volunteer to do that.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Paul Tan

Hi All,

We can all agree that the current gEDA(Gschem/Gnetlist) need to 
accomodate more
than just the netname attribute attached to a net. In fact, I would 
like to

see that gEDA can process ANY attributes attached to a net in similar
fashion as it process ANY attributes attached to a symbol currently. 
And that Gnetlist
front end will present similar functions to the backend Scheme 
procedures, so
that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, 
etc) Scheme

procedures can decipher net attributes particular to that backend.

Note that I stress the ANY word above, because one of the most 
powerful features
of gEDA is its architectural capabilities of supporting ANY 
attributes as ANY backend
dictates. How the symbol and net attributes are handled should be up to 
the particular

backend's Scheme procedure.

I am familiar with the gEDA codes (both the C and Scheme).  I can see
that it is not too difficult to add the ANY net attributes feature., 
since it fits

similar pattern as processing of symbol's ANY attributes.  It is on my
list of TO DO for gEDA, but we just don't have the time to do it yet. 
I am

hoping someone will beat me to it.

Best Regards,
Paul Tan

-Original Message-
From: John Doty j...@noqsi.com
To: gEDA user mailing list geda-user@moria.seul.org
Sent: Fri, Aug 13, 2010 5:09 pm
Subject: Re: gEDA-user: wishful UI


On Aug 13, 2010, at 5:49 PM, Stefan Salewski wrote:


On Fri, 2010-08-13 at 19:28 -0400, DJ Delorie wrote:

I guess it would be no great deal for smart (but very busy) people
like Peter C. and DJ, to implement the basic concept. For people not
familiar with the internals of gschem and PCB like me it may take
very long...


I'm quite willing to teach people PCB internals, if it means having
more PCB developers.




In my opinion writing some basic documentation about the internal work
of PCB would be really a good idea. (I can remember that I looked at 

the
PCB source code about two years ago: I was very positive surprised 

about

the fact that the code was very compact, but I was not able to see the
basic concepts...)


The same problem applies to gschem/gnetlist. Unfortunately, some of our
developers take the attitude that dumbing down the (almost 
supernaturally
productive) UI is the way to attract more developers. But from where I 
sit, the
real problem is that the internals of gschem, gnetlist, and especially 
libgeda
are poorly documented. This is especially problematic at the guile 
scripting
interface (code for guile functions in C is pretty obscure). I've 
nibbled at
this from outside, deducing function from behavior and writing some of 
my
findings up, but it would really help if the experts would put in some 
effort

here.

Developers who'd be attracted by a dumbed-down UI are exactly the folks 
I do not

want to see working on gEDA.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Peter TB Brett
On Fri, 13 Aug 2010 18:09:08 -0600, John Doty j...@noqsi.com wrote:

 Unfortunately, some of our
 developers take the attitude that dumbing down the (almost supernaturally
 productive) UI is the way to attract more developers.

Who?

 This is especially problematic at the guile
 scripting interface (code for guile functions in C is pretty obscure).
I've
 nibbled at this from outside, deducing function from behavior and writing
 some of my findings up, but it would really help if the experts would put
 in some effort here.
 

As I've said before, the Guile API in gschem is fundamentally broken, due
to the way that the invisible state is stored and accessed.  It has
inconsistent naming and calling conventions, and it's possible to write
perfectly valid code that leaves the gschem instance in an inconsistent
state.  This is partly because it was initially introduced just as a
convenient way to specify options, keybindings and menu layout in a
declarative manner, but has had some extra things bolted on in an organic
manner. I've made a start on trying to build a more consistent Guile API,
but it's been pretty hard going, and unfortunately for a number of reasons
I don't have a huge amount of time for gEDA at the moment.

I don't know about the Guile API for gnetlist, but last time I checked it
suffered from *some* of the same problems, but not nearly to the same
extent.  There's some problems with gnetlist backends -- for example, some
of them are written in a non-tail-recursive style, which causes stack
exhaustion on large designs, but that's not too difficult to fix.

Peter

-- 
Peter Brett pe...@peter-b.co.uk
Remote Sensing Research Group
Surrey Space Centre


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Armin Faltl


Paul Tan wrote:

Hi All,

We can all agree that the current gEDA(Gschem/Gnetlist) need to 
accomodate more
than just the netname attribute attached to a net. In fact, I would 
like to

see that gEDA can process ANY attributes attached to a net in similar
fashion as it process ANY attributes attached to a symbol currently. 
And that Gnetlist
front end will present similar functions to the backend Scheme 
procedures, so
that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, 
etc) Scheme

procedures can decipher net attributes particular to that backend.

Note that I stress the ANY word above, because one of the most 
powerful features
of gEDA is its architectural capabilities of supporting ANY 
attributes as ANY backend
dictates. How the symbol and net attributes are handled should be up 
to the particular

backend's Scheme procedure.

I am familiar with the gEDA codes (both the C and Scheme).  I can see
that it is not too difficult to add the ANY net attributes feature., 
since it fits

similar pattern as processing of symbol's ANY attributes.  It is on my
list of TO DO for gEDA, but we just don't have the time to do it 
yet. I am

hoping someone will beat me to it.

Best Regards,
Paul Tan


agree 100%


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 1:17 AM, Paul Tan wrote:

 Hi All,
 
 We can all agree that the current gEDA(Gschem/Gnetlist) need to accomodate 
 more
 than just the netname attribute attached to a net. In fact, I would like to
 see that gEDA can process ANY attributes attached to a net in similar
 fashion as it process ANY attributes attached to a symbol currently. And that 
 Gnetlist
 front end will present similar functions to the backend Scheme procedures, so
 that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, etc) 
 Scheme
 procedures can decipher net attributes particular to that backend.
 
 Note that I stress the ANY word above, because one of the most powerful 
 features
 of gEDA is its architectural capabilities of supporting ANY attributes as 
 ANY backend
 dictates.

Yes, yes, yes!

 How the symbol and net attributes are handled should be up to the particular
 backend's Scheme procedure.

Remember that there's also a middle layer (gnetlist.scm and gnetlist-post.scm). 
It would be good if we made better use of it. Right now, the primitives are at 
too high a level, giving back ends access to specific design data, but not all 
of it. This simplifies back ends when it's the right thing, but it's a barrier 
when the back end needs more. Having these interfaces in the middle layer, 
based on lower level primitives (a primitive that returned a list of every 
object with its properties and attributes would be a great foundation), would 
increase our flexibility without impacting existing back ends. A back end 
writer would then be able to exploit the simplifying assumptions behind the 
middle layer interface, but would not be bound by them.

 
 I am familiar with the gEDA codes (both the C and Scheme).  I can see
 that it is not too difficult to add the ANY net attributes feature., since 
 it fits
 similar pattern as processing of symbol's ANY attributes.

Except that it's slightly broken in the symbol case. Symbols are looked up by 
refdes, but a component may be represented by multiple symbols with the same 
refdes. Also, there may be more than one attribute with the same name, but the 
code only finds one at most. The code in gnetlist:get-package-attribute 
apparently looks in the the first matching symbol it finds for the first 
matching attribute (if any).

This problem would be worse for nets, since multisegment nets are very common, 
and multiple attributes of the same name would be a reasonable way to express 
multiple net properties.

  It is on my
 list of TO DO for gEDA, but we just don't have the time to do it yet. I am
 hoping someone will beat me to it.

I'm hoping you'll find time. You'll do it right.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Peter TB Brett
On Sat, 14 Aug 2010 10:01:44 -0600, John Doty j...@noqsi.com wrote:

 Not important. The quick fix (make the stack bigger) is known and should
be
 incorporated in the distributed system-gnetlistrc. The problem is a
 consequence of dropping a functional language into a procedural culture:
it
 will continue to crop up as we get additional contributions of back ends
 (and hopefully plugins). The quick fix may be unaesthetic, but it doesn't
 cause additional problems.

I'm sorry, but I think we're going to have to agree to disagree on this
point.  I believe that we should actually fix the problems, and enjoy the
increased performance, rather than whack band-aids on them and pretend
they're not there.

In my opinion, gnetlist backends and (eventually) plugins that get accepted
into the gEDA repository should be written to work on arbitrarily large
designs.  If that means that contributors need to learn how to think
functionally, so be it.  There are plenty of excellent resources on the web
to help with programming efficiently in Lisp-like languages.  I'd never
seen Lisp-like syntax before I started hacking on gEDA, and if a Bear of
Very Little Brain like myself can learn it, why shouldn't others be able
to?

Peter

-- 
Peter Brett pe...@peter-b.co.uk
Remote Sensing Research Group
Surrey Space Centre


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Andrew Poelstra
On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote:
 ...In fact, I would like to see that gEDA can process ANY attributes
 attached to a net in similar fashion as it process ANY attributes
 attached to a symbol currently.


I agree, but I'm not sure this would be useful until we find a way
to split nets up into subnets - which is a much more complicated
change.

Otherwise, certain nets (such as power or ground nets), which often
have vastly different characteristics in different sections, would
be difficult to describe.


Andrew

 


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 10:51 AM, Peter TB Brett wrote:

 On Sat, 14 Aug 2010 10:01:44 -0600, John Doty j...@noqsi.com wrote:
 
 Not important. The quick fix (make the stack bigger) is known and should
 be
 incorporated in the distributed system-gnetlistrc. The problem is a
 consequence of dropping a functional language into a procedural culture:
 it
 will continue to crop up as we get additional contributions of back ends
 (and hopefully plugins). The quick fix may be unaesthetic, but it doesn't
 cause additional problems.
 
 I'm sorry, but I think we're going to have to agree to disagree on this
 point.  I believe that we should actually fix the problems, and enjoy the
 increased performance, rather than whack band-aids on them and pretend
 they're not there.

If you're going to make that argument, you need to be quantitative: how much 
increased performance? There isn't much to be had, I think. For my current 
large design (24 top level schematics plus 14 hierarchical schematics), 
gnetlist with the drc2 back end needs the increased stack to avoid crashing. 
Even so it only takes 2.2 seconds, while with efficient back ends it needs 1.4 
seconds (on my MacBook). So with this large design, the time to be saved is at 
most 0.8 seconds per drc2 run.

 
 In my opinion, gnetlist backends and (eventually) plugins that get accepted
 into the gEDA repository should be written to work on arbitrarily large
 designs.

I agree, but I think they already do for all practical purposes. It seems to me 
that the only barrier to doing designs with hundreds of schematic pages is my 
limited human capacity.

  If that means that contributors need to learn how to think
 functionally, so be it.  There are plenty of excellent resources on the web
 to help with programming efficiently in Lisp-like languages.  I'd never
 seen Lisp-like syntax before I started hacking on gEDA, and if a Bear of
 Very Little Brain like myself can learn it, why shouldn't others be able
 to?

There is a specific problem with tail recursion in Guile: its optimization only 
works in certain special cases. To be sure, these are pretty common cases, but 
the user needs a bit of extra knowledge to guarantee that tail recursion will 
actually be optimized.

The point of scripting is to put the power of the toolkit in the hands of those 
with specific problems to solve. You as a developer cannot accurately 
anticipate what these problems are. Some users already perceive Guile to be a 
barrier here: do we really want to put extra unnecessary restrictions on their 
use of it? A big stack isn't a problem.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 11:34 AM, Andrew Poelstra wrote:

 On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote:
 ...In fact, I would like to see that gEDA can process ANY attributes
 attached to a net in similar fashion as it process ANY attributes
 attached to a symbol currently.
 
 
 I agree, but I'm not sure this would be useful until we find a way
 to split nets up into subnets - which is a much more complicated
 change.

Not so much. We already draw nets as segments, and attributes are actually 
attached to segments, not nets. Might need to modify the segment merging rules, 
but that's about it. And one could argue that the automatic segment merging is 
already a case of the tool inappropriately trying to outsmart the user.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Andrew Poelstra
On Sat, Aug 14, 2010 at 12:14:58PM -0600, John Doty wrote:
 
 On Aug 14, 2010, at 11:34 AM, Andrew Poelstra wrote:
 
  On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote:
  ...In fact, I would like to see that gEDA can process ANY attributes
  attached to a net in similar fashion as it process ANY attributes
  attached to a symbol currently.
  
  
  I agree, but I'm not sure this would be useful until we find a way
  to split nets up into subnets - which is a much more complicated
  change.
 
 Not so much. We already draw nets as segments, and attributes are actually 
 attached to segments, not nets. Might need to modify the segment merging 
 rules, but that's about it. And one could argue that the automatic segment 
 merging is already a case of the tool inappropriately trying to outsmart the 
 user.


I see. We do do this in gschem - but not in pcb, nor in the .net file
coming out of gsch2pcb. So PCB would need a breaking change in its .net
and .pcb formats, no?

Andrew
 


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Paul Tan

Hi John Doty,

On Aug 14, 2010; 08:49am, John Doty wrote:

Except that it's slightly broken in the symbol case. Symbols are 

looked up by
refdes, but a component may be represented by multiple symbols with 

the same
refdes. Also, there may be more than one attribute with the same 

name, but
the code only finds one at most. The code in 

gnetlist:get-package-attribute
apparently looks in the the first matching symbol it finds for the 

first

matching attribute (if any).


Is the case you mentioned above relates to the problem of slotting in
PCB?  I don't design PCB myself, but occasionally I was curious about 
the

slotting problems people complained about it here.  As I remember,
a year ago, it occurred to me, by briefly looking at how the PCB backend
processes the packages (the term used in gEDA Scheme code),  I 
suspected

that the solution might be in how the packages are interpreted by the
PCB backends.

Correct me if I am wrong here (I only briefly looked at the PCB backend
codes and I don't know what PCB's requirements are) : The PCB backend 
could
have interpreted the package item in Scheme functions not directly as 
the
final PCB's refdes, but a prefixed refdes for a logical symbol in the 
Gschem,

such as Uxx_yy, where Uxx is the final PCB_refdes and the Uxx_yy is
the logical refdes assigned to a logical symbol by the users or hook 
script

in Gschem.  The yy number may refer to a pinnumber or pinseq of a
PCB's physical package, or from the slot definition, which the user or
auto refdes hook can use to auto assign them in Gschem.

If what I suspected is true, then it is not necessary to make changes 
to the

Gnetlist frontend C codes to solve the problem, but just fix it in the
PCB Scheme backend code. Not sure if this is the exact case for the 
PCB's

netlist problem though, just a thought.

This problem would be worse for nets, since multisegment nets are 

very
common, and multiple attributes of the same name would be a 

reasonable

way to express multiple net properties.


Could be.  If absolutely necessary, I might expose some forms of parsed
NETLIST's nid or even the OBJECT's sid, with appropriate prefix, to
the Gnetlist generic backend.

Best Regards,
Paul Tan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Armin Faltl



Well, as you suggest below, Groups are essentially a way of tagging
different parts, so they would be completely independent of the physical
layers - and the connectivity checker.

  

** Confusingly, PCB already has layer groups, which consist of
multiple layers. A layer group is what ends up physically as a plane
of copper in your produced board. Your terminology reverses the meaning,
with a layer group consisting of logically grouped parts spanning
multiple physical layers.

I presume you intend to get rid of PCB's existing layer group
functionality (good riddance IMO), however it would be less confusing to
pick a new name. Perhaps logical group.




Yes, absolutely! But I cannot think of a good name :) logical group
is too long and ambiguous. Right now I am using Group, but that's
even less useful.
  
First I thought functional group would be good, but what you describe 
- a construct
of functional interdependence spread on several layers in mechanical CAD 
is in many

cases called a block or module.
The concepts of layers + layer groups (hierarchical layers in mech-CAD) 
is orthogonal

to blocks. E.g. you can turn visibility on and off for each independently.
For the sake of visual collision detection in the case of EDA 3 levels 
of visibilty

as suggested may be in order: coloured/saturated, greyed out and invisible.
Esp. useful I envision the possibility to grey out blocks one does not 
work on

while they stay visible.
Being able to reuse a block independently of the layout it was created 
it, like in

mechanical CAD would be very welcome here as well (did I miss something?)


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Andrew Poelstra
On Sat, Aug 14, 2010 at 10:28:09PM +0200, Armin Faltl wrote:
 
 Well, as you suggest below, Groups are essentially a way of tagging
 different parts, so they would be completely independent of the physical
 layers - and the connectivity checker.
 
 ** Confusingly, PCB already has layer groups, which consist of
 multiple layers. A layer group is what ends up physically as a plane
 of copper in your produced board. Your terminology reverses the meaning,
 with a layer group consisting of logically grouped parts spanning
 multiple physical layers.
 
 I presume you intend to get rid of PCB's existing layer group
 functionality (good riddance IMO), however it would be less confusing to
 pick a new name. Perhaps logical group.
 
 
 Yes, absolutely! But I cannot think of a good name :) logical group
 is too long and ambiguous. Right now I am using Group, but that's
 even less useful.
 First I thought functional group would be good, but what you
 describe - a construct
 of functional interdependence spread on several layers in mechanical
 CAD is in many
 cases called a block or module.
 The concepts of layers + layer groups (hierarchical layers in
 mech-CAD) is orthogonal
 to blocks. E.g. you can turn visibility on and off for each independently.
 For the sake of visual collision detection in the case of EDA 3
 levels of visibilty
 as suggested may be in order: coloured/saturated, greyed out and invisible.
 Esp. useful I envision the possibility to grey out blocks one does
 not work on
 while they stay visible.
 Being able to reuse a block independently of the layout it was
 created it, like in
 mechanical CAD would be very welcome here as well (did I miss something?)


Thank you! Unless someone objects, I will run with block. Your idea of
saving blocks independently is interesting - I was planning this, sort of.
My idea was to make components and blocks convertable between each other,
so that editing and saving components would be more intuitive.

Another idea would be for PCB to recognize identical blocks - so that if
you selected a group of components for a GPIO, say, it would recognize
other GPIOs and offer to create more blocks and link them such that any
re-arrangements of one would be reflected in the others.

There a lot of things we could do if we could structure PCBs as groups of
blocks. For now I am working out what such a structure would look like -
as well as learning the PCB source.


Andrew




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Armin Faltl



John Doty wrote:

On Aug 8, 2010, at 4:51 PM, kai-martin knaak wrote:

  
No it is not. Even simple things like footprint  names have a pretty rigid 
syntax to adhere to. The workflow breaks in cryptic ways if they are not 
obeyed. 



This is a pure pcb limitation, not a gEDA limitation in general.
  

Isn't a chain as strong as it's weakest link ?


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 3:29 PM, Armin Faltl wrote:

 
 
 John Doty wrote:
 On Aug 8, 2010, at 4:51 PM, kai-martin knaak wrote:
 
  
 No it is not. Even simple things like footprint  names have a pretty rigid 
 syntax to adhere to. The workflow breaks in cryptic ways if they are not 
 obeyed. 
 
 This is a pure pcb limitation, not a gEDA limitation in general.
  
 Isn't a chain as strong as it's weakest link ?

It's not a chain. gEDA can export design data to a wide variety of tools, a 
major strength.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Stefan Salewski
On Sat, 2010-08-14 at 23:29 +0200, Armin Faltl wrote:

 Isn't a chain as strong as it's weakest link ?
 

There is no chain!

gschem - ... - PCB

is one workflow, amongst multiple.
OK, maybe the one most people use currently.




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 2:18 PM, Paul Tan wrote:

 Is the case you mentioned above relates to the problem of slotting in
 PCB?

No. It can happen whenever you have multiple symbols with the same refdes, 
regardless of the back end. Slotting is a particular case of this, but not the 
only one. It's a pure gnetlist problem, having nothing to do with pcb.

Here are two minimal files that demonstrate the problem. Don't bother opening 
them in gschem: they contain no graphics. But they each contain a single 
component, represented by two embedded symbols with the same refdes. The only 
difference is the order of the two symbols.

[Hikyuu:/tmp] jpd% gnetlist -g partslist1 foobar.sch
Loading schematic [/private/tmp/foobar.sch]
[Hikyuu:/tmp] jpd% cat output.net
.START
..refdesdevice  value   footprint   quantity
thing   unknown unknown unknown 1
.END
[Hikyuu:/tmp] jpd% gnetlist -g partslist1 barfoo.sch
Loading schematic [/private/tmp/barfoo.sch]
[Hikyuu:/tmp] jpd% cat output.net
.START
..refdesdevice  value   footprint   quantity
thing   unknown unknown horse   1
.END

Note that in the case of foobar.sch the footprint is unknown, while in the 
case of barfoo.sch, the footprint is horse.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty
Oops, forgot the attachments!



barfoo.sch
Description: Binary data


foobar.sch
Description: Binary data


On Aug 14, 2010, at 3:45 PM, John Doty wrote:

 
 On Aug 14, 2010, at 2:18 PM, Paul Tan wrote:
 
 Is the case you mentioned above relates to the problem of slotting in
 PCB?
 
 No. It can happen whenever you have multiple symbols with the same refdes, 
 regardless of the back end. Slotting is a particular case of this, but not 
 the only one. It's a pure gnetlist problem, having nothing to do with pcb.
 
 Here are two minimal files that demonstrate the problem. Don't bother opening 
 them in gschem: they contain no graphics. But they each contain a single 
 component, represented by two embedded symbols with the same refdes. The only 
 difference is the order of the two symbols.
 
 [Hikyuu:/tmp] jpd% gnetlist -g partslist1 foobar.sch
 Loading schematic [/private/tmp/foobar.sch]
 [Hikyuu:/tmp] jpd% cat output.net
 .START
 ..refdes  device  value   footprint   quantity
 thing unknown unknown unknown 1
 .END
 [Hikyuu:/tmp] jpd% gnetlist -g partslist1 barfoo.sch
 Loading schematic [/private/tmp/barfoo.sch]
 [Hikyuu:/tmp] jpd% cat output.net
 .START
 ..refdes  device  value   footprint   quantity
 thing unknown unknown horse   1
 .END
 
 Note that in the case of foobar.sch the footprint is unknown, while in 
 the case of barfoo.sch, the footprint is horse.
 
 John Doty  Noqsi Aerospace, Ltd.
 http://www.noqsi.com/
 j...@noqsi.com
 
 
 
 
 ___
 geda-user mailing list
 geda-user@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
 

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 13, 2010, at 7:51 PM, kai-martin knaak wrote:

 
 
 The utter failure of early
 efforts to base AI on classification of objects should surely have taught
 that to us.
 
 The success of mathematics and biology to conquer their vast fields with 
 hierarchical classification is telltale.

Just as often it causes unnecessary controversy and balkanization of knowledge.

Why do we inflict the silly OBAFGKM classification on astronomy students? The 
physical variable here is simply temperature: why don't we use it? Sloppy and 
stupid.

Why was the recent removal of planet status from Pluto so controversial? 
Pluto's still there, with the same mass, composition, orbital elements, etc. as 
it had before. The classification has no meaning: changing it did nothing to 
change our understanding of Pluto's nature.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Paul Tan
Hi Andrew Poelstra,

On Aug 14, 2010; 10:34am, Andrew Poelstra wrote:

On Sat, Aug 14, 2010 at 03:17:42AM -0400, Paul Tan wrote:
 ...In fact, I would like to see that gEDA can process ANY attributes
 attached to a net in similar fashion as it process ANY attributes
 attached to a symbol currently.


I agree, but I'm not sure this would be useful until we find a way
to split nets up into subnets - which is a much more complicated
change.

Otherwise, certain nets (such as power or ground nets), which often
have vastly different characteristics in different sections, would
be difficult to describe.

If the split nets means BUS, such as addrBus[63:0] which
can be split into addrBus[12:0], addrBus[15], etc; or even
the notion of Compound BUS such as addrBus[63:0],ALE,CTRL,
it can all be done with the backend scheme code. It really
depends on the particular backend netlister implementation.

gnet-verilog.scm is the Verilog netlister, which already handle
merging and splitting busses, and hierarchy. An example schematic
files with generated Verilog netlist can be found in the attached
zip file at:
 http://archives.seul.org/geda/user/Jan-2009/msg00056.html

As you can see from the example, the Verilog netlister
(gnet-verilog.scm, Gnetlist backend for Verilog, and the
helper shell script) takes advantage of lots of the powerful
features presented by the gEDA Gnetlist frontend C/SCM
functions, and it is able to do much more than other backends
in the area of BUS and non-flatten Hierarchy.

Hope the above helps.

Best Regards,
Paul Tan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Stefan Salewski
On Sat, 2010-08-14 at 18:57 -0400, Paul Tan wrote:
 Hi Andrew Poelstra,
 
 On Aug 14, 2010; 10:34am, Andrew Poelstra wrote:
 
 Otherwise, certain nets (such as power or ground nets), which often
 have vastly different characteristics in different sections, would
 be difficult to describe.
 
 If the split nets means BUS, such as addrBus[63:0] which
 can be split into addrBus[12:0], addrBus[15], etc; or even
 the notion of Compound BUS such as addrBus[63:0],ALE,CTRL,
 it can all be done with the backend scheme code. It really
 depends on the particular backend netlister implementation.
 

I think he cares about touching net segments, same as I, see for example

http://ssalewski.de/gEDA-Netclass.html.en

the Power and Bypass segment.

I think John Doty got it:

Not so much. We already draw nets as segments, and attributes are
actually attached to segments, not nets. Might need to modify the
segment merging rules, but that's about it. And one could argue that
the automatic segment merging is already a case of the tool
inappropriately trying to outsmart the user.

John Doty



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 4:57 PM, Paul Tan wrote:

 If the split nets means BUS, such as addrBus[63:0] which
 can be split into addrBus[12:0], addrBus[15], etc; or even
 the notion of Compound BUS such as addrBus[63:0],ALE,CTRL,
 it can all be done with the backend scheme code. It really
 depends on the particular backend netlister implementation.

No, the issue here is that different segments of the same (single conductor) 
net may have different properties. Power nets are especially troublesome here. 
The segment between an IC and its bypass capacitor needs to be short. The 
segment at the output of the power regulator needs high current capacity...

Combining busses with net segment properties is probably beyond comprehension...

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread John Doty

On Aug 14, 2010, at 4:57 PM, Paul Tan wrote:

 gnet-verilog.scm is the Verilog netlister, which already handle
 merging and splitting busses, and hierarchy. An example schematic
 files with generated Verilog netlist can be found in the attached
 zip file at:
 http://archives.seul.org/geda/user/Jan-2009/msg00056.html

You and DJ need to talk. He has his own proposal 
(http://www.delorie.com/pcb/bus-pins.html). But I like your use of the power of 
the existing tools.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread DJ Delorie

I just looked through Paul's examples, and it looks just like what I'm
proposing except for the GUI details and where in the flow they're
converted.  Paul's examples even look like mine.

I reused the existing BUS graphic to represent a bus, so that the NET
graphic could remain a net, where Paul used the NET graphic for both
nets and busses, and the BUS graphic still does nothing.  If you reuse
nets for busses, you still must use a bus graphic to connect the nets,
because connected nets have to have the same name, which means you
*must* name all the nets - the connection to the bus doesn't provide a
default name.  In my proposal, it's possible to have an unnamed bus as
long as all the bus pins have the same number of nets.

While I applaud his results (yay!) I think it would be better if a bus
were a bus and a net were a net, so that DRC and gnetlist could be a
little smarter about detecting errors and resolving conflicts.  One
example: a single-signal net with two name attributes is an error, but
a multi-signal bus with two name attributes is intentional, as long as
(in my examples) there's at least one N2-way intersection between
them.  Also, it means that you can have an unfettered syntax for net
names, and a separate fettered syntax for nets that are in busses.

I think it would also be useful to the user if single-signal nets and
multi-signal busses were visually distinct.  It would help them
understand the schematic faster.

Also, my proposal is to have the busses converted to multiple
independent nets in the common parts of gnetlist, so that you don't
have to tweak every single backend to add support for them.  You can
still support magic net names that the backends understand, if you
want, but it seems to me a common concept like bus should be done in
common code and be consistently applied across all the backends.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-14 Thread Paul Tan

Hi ALL,

On Aug 14, 2010; 04:33pm, DJ wrote:

While I applaud his results (yay!) I think it would be better if a 

bus

were a bus and a net were a net, so that DRC and gnetlist could be a
little smarter about detecting errors and resolving conflicts.  One
example: a single-signal net with two name attributes is an error, 

but
a multi-signal bus with two name attributes is intentional, as long 

as

(in my examples) there's at least one N2-way intersection between
them.  Also, it means that you can have an unfettered syntax for net
names, and a separate fettered syntax for nets that are in busses.



I think it would also be useful to the user if single-signal nets and
multi-signal busses were visually distinct.  It would help them
understand the schematic faster.


Yes, the Gnetlist frontend has passed all the
relevent info to the Gnetlist backend, what the
backend needs to do with those info is up to the
backend. A visual NET or BUS in Gschem can be
assigned any attributes and be presented to the
backends, it is up to the backends to decide what
is legal or not, and warn user appropriately.
I fully agree that a common backend can be used to
share functions among similar backends.  Nothing
should prevent us from having mutiple common backends,
each of which can be applied for different CAE/CAD
disciplines, such as Verilog AMS, CASE, Mechanical,
etc. where a visual BUS or NET could mean different
things.

As long as we try not to put contraint in Gschem
and Gnetlist frontend C code (except plug-in), then
we are safe.

Best Regards,
Paul Tan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Stefan Salewski
On Mon, 2010-08-09 at 10:59 -0600, John Doty wrote:
  Remember, pcb isn't the only layout path we support.
 

Yes. But I think the addition of net classes will not really break
something. Of course it will increase the code size, which is not really
nice. And it may decrease the working speed of PCB program.

I have written a short summary of this idea:

http://ssalewski.de/gEDA-Netclass.html.en




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Dietmar Schmunkamp
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 13.08.2010 23:23, schrieb Stefan Salewski:
 On Mon, 2010-08-09 at 10:59 -0600, John Doty wrote:
  Remember, pcb isn't the only layout path we support.

 
 Yes. But I think the addition of net classes will not really break
 something. Of course it will increase the code size, which is not really
 nice. And it may decrease the working speed of PCB program.
 
 I have written a short summary of this idea:
 
 http://ssalewski.de/gEDA-Netclass.html.en
 
 
 
 
 ___
 geda-user mailing list
 geda-user@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
 

Stefan,

I looked at your suggestions about netclasses and I like them. What I
would like to add (and this adds complexity, too), is the notion of
differential pair (two wires should be same length, but the actual
length basically is a don't care) or busses and control signals
(industry standard SDRAM's etc where you have delay constraints of an
entire bus vs. a single control signal).
Furthermore I have a little objection towards  No chance for unskilled
people or autorouters, I agree with unskilled people, but at least a
subset of the requirements can be translated to autorouter attributes,
e.g. impedance easily translates to geometry for a defined layer stack
(including base material, copper width ... ) while other attributes you
suggest (short) would only be applicable to an autoplacer (or skilled
people).
I know that the target to add net classes AND to support them with
auto[route|place|...] is very challenging, but nevertheless I think that
it's worth a try/start a discusssion.

- -- 

Mit freundlichen Gruessen

Dietmar Schmunkamp
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iEYEARECAAYFAkxly8wACgkQn22l+QvEah1zVACfQP5orxgMpJCvjbT3bPuxJUjZ
UFYAn3//FoLemiNGwqa75SmMw4HZYn3H
=qvlC
-END PGP SIGNATURE-


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Stefan Salewski
On Sat, 2010-08-14 at 00:48 +0200, Dietmar Schmunkamp wrote:
 
 Stefan,
 
 I looked at your suggestions about netclasses and I like them.

Indeed currently I am still looking for a good reason against that
proposal. My best candidates: It is not too useful for small projects,
and it is some work to implement.

 What I
 would like to add (and this adds complexity, too), is the notion of
 differential pair (two wires should be same length, but the actual
 length basically is a don't care) or busses and control signals
 (industry standard SDRAM's etc where you have delay constraints of an
 entire bus vs. a single control signal).

Sure! I tried to mention that type short by writing:

More or less related to this problem are attributes defining pairs of
traces for differential signals: Maybe we can assign attributes like
s...@1 and s...@2 indicating the pair, which should have a defined
trace separation and equal length on PCB board. (A similar notation may
be useful to indicate buses and allow pinswap in the schematic).

I have to admit that I do not know much about differential pairs now,
but it is very important...

 Furthermore I have a little objection towards  No chance for unskilled
 people or autorouters, I agree with unskilled people, but at least a
 subset of the requirements can be translated to autorouter attributes,
 e.g. impedance easily translates to geometry for a defined layer stack
 (including base material, copper width ... ) while other attributes you
 suggest (short) would only be applicable to an autoplacer (or skilled
 people).
 I know that the target to add net classes AND to support them with
 auto[route|place|...] is very challenging, but nevertheless I think that
 it's worth a try/start a discusssion.
 
I agree.

I guess it would be no great deal for smart (but very busy) people like
Peter C. and DJ, to implement the basic concept. For people not familiar
with the internals of gschem and PCB like me it may take very long...

Best regards

Stefan Salewski




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread DJ Delorie

 I guess it would be no great deal for smart (but very busy) people
 like Peter C. and DJ, to implement the basic concept. For people not
 familiar with the internals of gschem and PCB like me it may take
 very long...

I'm quite willing to teach people PCB internals, if it means having
more PCB developers.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread DJ Delorie

 So why not just have properties, and sets of properties.

A set of properties *is* a class, if you apply the same set of
properties to many nets.  Why not let the user pre-define such
classes, to make their work easier?


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 5:39 PM, DJ Delorie wrote:

 
 So why not just have properties, and sets of properties.
 
 A set of properties *is* a class, if you apply the same set of
 properties to many nets.  Why not let the user pre-define such
 classes, to make their work easier?

I suggested that.

I also suggested considering a set of properties to be a property, not a class. 
Or did you not understand flattened union. Maybe that was too obscure.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Stefan Salewski
On Fri, 2010-08-13 at 19:28 -0400, DJ Delorie wrote:
  I guess it would be no great deal for smart (but very busy) people
  like Peter C. and DJ, to implement the basic concept. For people not
  familiar with the internals of gschem and PCB like me it may take
  very long...
 
 I'm quite willing to teach people PCB internals, if it means having
 more PCB developers.
 
 

In my opinion writing some basic documentation about the internal work
of PCB would be really a good idea. (I can remember that I looked at the
PCB source code about two years ago: I was very positive surprised about
the fact that the code was very compact, but I was not able to see the
basic concepts...)

more PCB developers.

Unfortunately here in Germany most people concerned with electronics are
very lazy, stupid and do not really care about FOSS. Some weeks ago I
visited the kicad developer mailing list -- not much activity from
german people also... 

Sorry.

Stefan Salewski






___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
Ben Jackson wrote:

 I'll answer internals questions on geda-dev from anyone who wants to
 ask.

Unfortunately, only approved developers are allowed to ask on geda-dev.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Stefan Salewski
On Fri, 2010-08-13 at 17:48 -0600, John Doty wrote:
 On Aug 13, 2010, at 5:39 PM, DJ Delorie wrote:
 
  
  So why not just have properties, and sets of properties.
  
  A set of properties *is* a class, if you apply the same set of
  properties to many nets.  Why not let the user pre-define such
  classes, to make their work easier?
 
 I suggested that.
 
 I also suggested considering a set of properties to be a property, not
 a class. Or did you not understand flattened union. Maybe that was
 too obscure.
 

In my simple mind I consider a set of properties a class. But of course
we can call it again a property. Or we can use no sets at all, just
single properties. So instead of class/propertyset power one has to
specify width25mil, clearance=12mil, color=blue,  This is OK, but
I think sets/classes make it easier for users and may save space in data
files, and may make changes easier.

(I know that we can currently assign attributes to nets in gschem, but
my impression is that all touching line segments are one net, so we do
not have subnets. Which we should have. And we should have color
support, a way to see fast which nets segments are High Current... So
some internal modification of gschem is necessary.)

Indeed, all which we do is assign a special name/label to some subnets,
like power_class or bypass_class. We do not have to define inside of
gschem what this really means, like tracewidth=25mil and
clearance=12mil. We can define this only in PCB. But I think it is
more intuitive and practical if we can define such sets already in
gschem and transfer that information to PCB (where we may change it if
necessary).

Best regards

Stefan Salewski




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Dietmar Schmunkamp
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 14.08.2010 01:13, schrieb Stefan Salewski:

 Indeed currently I am still looking for a good reason against that
 proposal. My best candidates: It is not too useful for small projects,
 and it is some work to implement.

I don't think that this is a good argument against it as long as you
don't force small projects to use it. I would see it as an extension to
the current gschem - pcb flow. If you don't specify anything, you get
the default net attributes as defined in PCB.
 

 I have to admit that I do not know much about differential pairs now,
 but it is very important...

If you go high frequency it's getting important. Related to that are
termination requirements of a given net, carefully select whether the
termination needs to be close to the driver or close to the receiver.
Typically this is a problem a tool can't handle.
 
 
 I guess it would be no great deal for smart (but very busy) people like
 Peter C. and DJ, to implement the basic concept. For people not familiar
 with the internals of gschem and PCB like me it may take very long...
 
I second that, and I read the response from DJ: You don't know how hard
it can be to teach a hardware guy software concepts :-) .


 Best regards
 
 Stefan Salewski
 
 
 
 
 ___
 geda-user mailing list
 geda-user@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
 


- -- 

Mit freundlichen Gruessen

Dietmar Schmunkamp
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iEYEARECAAYFAkxl47UACgkQn22l+QvEah0pJwCgjcFzsqJqGpl0/vcJ99+HThne
brUAn35r4OvjEO8a1TdakafoPPw8l4/A
=xfvV
-END PGP SIGNATURE-


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 6:13 PM, Stefan Salewski wrote:

 In my simple mind I consider a set of properties a class. But of course
 we can call it again a property.

It's the difference between ending at class, or being able to compose 
properties from properties without limit.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
John Doty wrote:

 It's the difference between ending at class, or being able to compose
 properties from properties without limit.

What do you think, the terms subclass and superclass refer to? 

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 6:54 PM, kai-martin knaak wrote:

 What do you think, the terms subclass and superclass refer to? 

Classes in OO aren't like classes in any other context.

The concept of class is superfluous and misleading here, since only one concept 
is needed: property. Much simpler and clearer.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread DJ Delorie

But property is such a nice, clean, simple building block.  Why
pollute it by adding more functionality and making it more complex?


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
John Doty wrote:

 What do you think, the terms subclass and superclass refer to?
 
 Classes in OO aren't like classes in any other context.

Biology, astronomy, algebra, set theory and database theory all use the 
concept of subclasses.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 7:04 PM, DJ Delorie wrote:

 
 But property is such a nice, clean, simple building block.  Why
 pollute it by adding more functionality and making it more complex?

Because then you can extend the concept without limit. It's like function in 
mathematics. You can construct functions from functions. But if such constructs 
were no longer functions, you'd get stuck.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 7:07 PM, kai-martin knaak wrote:

 John Doty wrote:
 
 What do you think, the terms subclass and superclass refer to?
 
 Classes in OO aren't like classes in any other context.
 
 Biology, astronomy, algebra, set theory and database theory all use the 
 concept of subclasses.

But I've worked in astronomy for decades without ever encountering the term 
superclass. Nor are classes in astronomy associated with methods.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread DJ Delorie

  But property is such a nice, clean, simple building block.  Why
  pollute it by adding more functionality and making it more complex?
 
 Because then you can extend the concept without limit. It's like
 function in mathematics. You can construct functions from
 functions. But if such constructs were no longer functions, you'd
 get stuck.

To abuse your analogy, our properties is like constants in
mathematics.  Classes would be functions.

A property is like width = 5 or impedance = 50.  A class is a
collection of properties, which could include a collection of classes
or whatnot also.  Creating a single object that has to act as both a
name-value pair *and* an arbitrary container is not a good idea.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
John Doty wrote:

 Biology, astronomy, algebra, set theory and database theory all use the
 concept of subclasses.
 
 But I've worked in astronomy for decades without ever encountering the
 term superclass. Nor are classes in astronomy associated with
 methods.

read again: Did I write superclass?
Your statement was, that classes do not contain classes anywhere but in OO.
I gave five disjunct areas where classes can indeed contain classes.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 7:20 PM, DJ Delorie wrote:

 
 But property is such a nice, clean, simple building block.  Why
 pollute it by adding more functionality and making it more complex?
 
 Because then you can extend the concept without limit. It's like
 function in mathematics. You can construct functions from
 functions. But if such constructs were no longer functions, you'd
 get stuck.
 
 To abuse your analogy, our properties is like constants in
 mathematics.  Classes would be functions.

Except in the proposal, classes cannot be composed of other classes.

 
 A property is like width = 5 or impedance = 50.  A class is a
 collection of properties, which could include a collection of classes
 or whatnot also.

OK, so now you have two entities where one suffices. How is this simpler?

Class is a misleading term in this context. Nets (at best) have properties: 
classification is sloppy thinking. The utter failure of early efforts to base 
AI on classification of objects should surely have taught that to us.

  Creating a single object that has to act as both a
 name-value pair *and* an arbitrary container is not a good idea.

You offer no reasoned support for this opinion.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 7:27 PM, kai-martin knaak wrote:

 read again: Did I write superclass?
 Your statement was, that classes do not contain classes anywhere but in OO.

Read again: did I write classes do not contain classes anywhere but in OO?

I wrote: Classes in OO aren't like classes in any other context.

 I gave five disjunct areas where classes can indeed contain classes.

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread John Doty

On Aug 13, 2010, at 7:27 PM, kai-martin knaak wrote:

 read again: Did I write superclass?

Yes.

You wrote:

 What do you think, the terms subclass and superclass refer to? 

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Armin Faltl

A collection of constants is a structured constant and a class is not
(only) a constant - well at least to me a structured property sounds
less missleading than the name class. Why doesn't a class include
net topologies, parts etc.? - That's what a true analogon of a class
would be - actually a (sub-)schematic and it's display methods.

Why is the container function arbitrary - could a structured property
contain other things than simple or structured properties?

DJ Delorie wrote:

But property is such a nice, clean, simple building block.  Why
pollute it by adding more functionality and making it more complex?
  

Because then you can extend the concept without limit. It's like
function in mathematics. You can construct functions from
functions. But if such constructs were no longer functions, you'd
get stuck.



To abuse your analogy, our properties is like constants in
mathematics.  Classes would be functions.

A property is like width = 5 or impedance = 50.  A class is a
collection of properties, which could include a collection of classes
or whatnot also.  Creating a single object that has to act as both a
name-value pair *and* an arbitrary container is not a good idea.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

  



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread Andrew Poelstra
On Fri, Aug 13, 2010 at 07:32:30PM -0600, John Doty wrote:
 
 On Aug 13, 2010, at 7:20 PM, DJ Delorie wrote:
 
  
  But property is such a nice, clean, simple building block.  Why
  pollute it by adding more functionality and making it more complex?
  
  Because then you can extend the concept without limit. It's like
  function in mathematics. You can construct functions from
  functions. But if such constructs were no longer functions, you'd
  get stuck.
  
  To abuse your analogy, our properties is like constants in
  mathematics.  Classes would be functions.
 
 Except in the proposal, classes cannot be composed of other classes.


That's a trivial change: jumping from a class as a collection of
properties to a class as collection of properties/classes is an
easy mental jump, and conceptually makes sense.

Jumping from a property as a name-value pair to a property as
a name-value pair -and- collection of properties, is a big conceptual
change.


 ...
 
   Creating a single object that has to act as both a
  name-value pair *and* an arbitrary container is not a good idea.
 
 You offer no reasoned support for this opinion.


You're using one word - property - to express two entirely different
concepts. Not only is this difficult to think about, it would be almost
impossible to program without separating the two behind the scenes.

The word class is usually a synonym for set, which is a concept
that invites recursion. Property, however, is usually a synonym
for attribute, something that isn't recursive. That's a very
important distinction.

You talk about object-classification failing as a method of AI - but
what you mean is that it fails for /general/ AI. The specific AI we
are talking about - autorouting and autoplacing - already works by
classifying its objects (as vias, traces, components, nets, etc).


Andrew




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
John Doty wrote:

 Class is a misleading term in this context. Nets (at best) have
 properties: classification is sloppy thinking.

No, it is structured thinking.


 The utter failure of early
 efforts to base AI on classification of objects should surely have taught
 that to us.

The success of mathematics and biology to conquer their vast fields with 
hierarchical classification is telltale.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread kai-martin knaak
John Doty wrote:

 I wrote: Classes in OO aren't like classes in any other context.

Your key point is that class is not an appropriate term, because classes 
can't contain classes. If this is not, what you wanted to back-up with the 
OO statement. Why did bring OO into play?

 
 I gave five disjunct areas where classes can indeed contain classes.

Can you give five disjunct areas where class cannot contain classes.

---)kaimartin(---
-- 
Kai-Martin Knaak
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x6C0B9F53



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-13 Thread bobo
On Friday 13 August 2010, John Doty wrote:
 Developers who'd be attracted by a dumbed-down UI are exactly
 the folks I do not want to see working on gEDA.

Just to clarify ..  one example of a dumbed-down of the type 
JD is referring to is LaTeX.  After all, LaTeX is just a dumbed-
down interface to TeX, which itself is a dumbed-down alternative 
to troff.



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-12 Thread Bas Gieltjes

John,

 It seems still to be unimplemented in 1.6.1. Or do I simply not understand 
 how it works? I don't use it: the file you saw was notes for documentation, 
 not a bug report.

The patch is from my private git repository and is not implemented in
any downloadable gnetlist version.

I know that you send notes describing the gnetlist commands and not a
but report. The guile procedure isn't very useful. At least now it gives
a reasonable return value.

 Bas
-- 


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-12 Thread John Doty

On Aug 12, 2010, at 1:50 PM, Bas Gieltjes wrote:

 
 John,
 
 It seems still to be unimplemented in 1.6.1. Or do I simply not understand 
 how it works? I don't use it: the file you saw was notes for documentation, 
 not a bug report.
 
 The patch is from my private git repository and is not implemented in
 any downloadable gnetlist version.
 
 I know that you send notes describing the gnetlist commands and not a
 but report. The guile procedure isn't very useful. At least now it gives
 a reasonable return value.

OK, core developers. How do we get this into 1.8?

John Doty  Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-12 Thread Bas Gieltjes


 OK, core developers. How do we get this into 1.8?

Upload it to the sourceforge patch tracker to prevent that the 
patch gets lost.

 Bas
-- 


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-10 Thread Kovacs Levente
On Fri, 06 Aug 2010 17:19:25 +0200
Stefan Salewski m...@ssalewski.de wrote:

 Maybe your grouping concept should occur in an early stage in gschem?

One of the commercial PCB program I worked with had the feature of defining
color for nets. Such as D? is red, A? is blue. It was very good to work with.
So a regular expression engin would be fine.

Levente

-- 
Kovacs Levente leventel...@gmail.com
Voice: +36705071002




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-09 Thread Michael Sokolov
John Doty j...@noqsi.com wrote:

 but pcb is apparently almost completely =
 dependent on gnetlist.

No, it isn't.  PCB defines its netlist input format; the schematic
capture folks like gEDA then adapt to it, in gEDA's case by way of a
gnetlist back-end.

My OSDCU board through which the characters of this message pass on
their way from my keyboard to your screen (well, from my mail server to
the list) has been laid out in PCB, yet the netlist has been loaded from
uEDA rather than gEDA.

-MS,
who otherwise generally sides with John Doty in this perennial argument.

Ahh, if I only had an aerospace-like budget for my retrocomputing
projects...


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: wishful UI

2010-08-09 Thread Stefan Salewski
On Sat, 2010-08-07 at 11:33 -0600, John Doty wrote:
 On Aug 6, 2010, at 6:42 PM, Andrew Poelstra wrote:
 
  On Sat, Aug 07, 2010 at 12:51:34AM +0200, Stefan Salewski wrote:
  
  The current status of my mind:
  
  Having net classes in gschem would make all much easier.
 
 Nothing new needs to be added to gschem: you can attach arbitrary
 attributes to net segments already.
 
 The place where you need a new capability is gnetlist: a gnetlist back
 end cannot currently query a net segment for its attributes.
 

Indeed, for my proposal of net classes defined in gschem clean modular
design should still work. For this case flow of information is from
gschem to PCB. But we should teach gschem that a large net can consist
of multiple connected subnets, for example a 3.3V net, with width traces
from DC/DC-Converter to FPGA, and narrow traces to some other devices.

Then we have to teach gnetlist to process this, and to teach PCB program
to understand it.

I think, if that concept is really useful, then we should try to
implement it.

Painting my house is fun, and it will look really nice. But I think I
should repair the broken roof first, and improve thermal insulation.
But I may need (support of) a craftsman.

Best regards

Stefan Salewski




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


  1   2   >