Mail Archives: geda-user/2015/10/24/13:57:55
--001a11c24cc6ba43da0522dd7478
Content-Type: text/plain; charset=UTF-8
On Fri, Oct 23, 2015 at 9:10 PM, DJ Delorie <dj AT delorie DOT com> wrote:
>
> > IIRC at the moment it give NO WARNING for duplicate refdes, which is just
> > inexcusable. To be fair you can blame this on pcb but still...
>
> It's common to break large chips (like MCUs) into separate symbols to
> manage them better, which means that a duplicate refdes is allowed (in
> fact, required) in those cases.
>
If you stop using separate pages, you'll stop wanting to do that. I use
beaglebone symbols, they are large and square but so what?
> What should not be allowed is duplicate pins, module how slotting is
> implemented. The problem I forsee is that "duplicate pins" is a
> problem that will be solved in the netlister *if* slotting is moved
> out of gschem, resulting in duplicates being allowed in gschem,
> resulting in ambiguity.
>
> So there's three cases:
>
> 1. One symbol to one component, refdes should be unique, no problem.
>
> 2. Many symbols to one component (MCU), refdes must be same but pins
> should be unique.
>
One way would be to require symbols that want to do this to have a
"part_of=something_real" attribute. They could then work with warning on.
Warning could be enabled by default, and parts still portable to instances
with the default behavior.
> 3. Many symbols to one component (SLOTTING), refdes and pins may be be
> same or unique depending on how slotting is implemented.
>
Hmm, since my inclination here is to have Q1 refer to a particular
transistor rather than a part, I guess I have to acknowledge inconsistency.
In practice I've avoided slotting entirely out of fear and just made e.g.
multi-amp symbols when needed. To be honest I can't imagine how to make
slotting and subcircs work together gracefully.
> > Schematic pages except for subcircs are obsolete IMO,
>
> I use separate pages because I often implement subcircuits separately
> for testing. For example, I might fab just the power supply. In my
> powermeter board, 15 of the 16 channel circuits were implemented with
> a script that copied the first channel's page.
Same here. My point was that when you do subcirc pages they get their own
refdes space, so the fact that gschem can't check for inter-page uniqueness
isn't relevant.
> > If you need to print your schematics it's because your CAD sucks
> > somehow.
>
> Or because you want to debug and the bench doesn't have its own
> monitor. Or because you're writing an article and need the schematic
>
Time for a new bench :)
--001a11c24cc6ba43da0522dd7478
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Fri, Oct 23, 2015 at 9:10 PM, DJ Delorie <span dir=3D"ltr"><<a hr=
ef=3D"mailto:dj AT delorie DOT com" target=3D"_blank">dj AT delorie DOT com</a>></span=
> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><span class=3D""><br>
> IIRC at the moment it give NO WARNING for duplicate refdes, which is j=
ust<br>
> inexcusable.=C2=A0 To be fair you can blame this on pcb but still...<b=
r>
<br>
</span>It's common to break large chips (like MCUs) into separate symbo=
ls to<br>
manage them better, which means that a duplicate refdes is allowed (in<br>
fact, required) in those cases.<br></blockquote><div><br></div><div style=
=3D"">If you stop using separate pages, you'll stop wanting to do that.=
=C2=A0 I use beaglebone symbols, they are large and square but so what?</di=
v><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">
What should not be allowed is duplicate pins, module how slotting is<br>
implemented.=C2=A0 The problem I forsee is that "duplicate pins" =
is a<br>
problem that will be solved in the netlister *if* slotting is moved<br>
out of gschem, resulting in duplicates being allowed in gschem,<br>
resulting in ambiguity.<br>
<br>
So there's three cases:<br>
<br>
1. One symbol to one component, refdes should be unique, no problem.<br>
<br>
2. Many symbols to one component (MCU), refdes must be same but pins<br>
=C2=A0 =C2=A0should be unique.<br></blockquote><div><br></div><div style=3D=
"">One way would be to require symbols that want to do this to have a "=
;part_of=3Dsomething_real" attribute.=C2=A0 They could then work with =
warning on.=C2=A0 Warning could be enabled by default, and parts still port=
able to instances with the default behavior.=C2=A0</div><div>=C2=A0</div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">
3. Many symbols to one component (SLOTTING), refdes and pins may be be<br>
=C2=A0 =C2=A0same or unique depending on how slotting is implemented.<br></=
blockquote><div><br></div><div style=3D"">Hmm, since my inclination here is=
to have Q1 refer to a particular transistor rather than a part, I guess I =
have to acknowledge inconsistency.</div><div style=3D"">In practice I'v=
e avoided slotting entirely out of fear and just made e.g. multi-amp symbol=
s when needed.=C2=A0 To be honest I can't imagine how to make slotting =
and subcircs work together gracefully.</div><div style=3D"">=C2=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex"><span class=3D"">
> Schematic pages except for subcircs are obsolete IMO,<br>
<br>
</span>I use separate pages because I often implement subcircuits separatel=
y<br>
for testing.=C2=A0 For example, I might fab just the power supply.=C2=A0 In=
my<br>
powermeter board, 15 of the 16 channel circuits were implemented with<br>
a script that copied the first channel's page.</blockquote><div><br></d=
iv><div style=3D"">Same here.=C2=A0 My point was that when you do subcirc p=
ages they get their own refdes space, so the fact that gschem can't che=
ck for inter-page uniqueness isn't relevant.</div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex"><span class=3D"">
> If you need to print your schematics it's because your CAD sucks<b=
r>
> somehow.<br>
<br>
</span>Or because you want to debug and the bench doesn't have its own<=
br>
monitor.=C2=A0 Or because you're writing an article and need the schema=
tic<br></blockquote><div><br></div><div style=3D"">Time for a new bench :)<=
/div><div>=C2=A0</div></div><br></div></div>
--001a11c24cc6ba43da0522dd7478--
- Raw text -