Loading ...
Sorry, an error occurred while loading the content.
 

Zone stitch vias losing connection to net

Expand Messages
  • David Novak
    When adding zone stitch vias to stitch ground planes together after the zones have been filled, the via goes in exactly as expected. It is connected to the gnd
    Message 1 of 10 , Sep 19, 2011
      When adding zone stitch vias to stitch ground planes together after the
      zones have been filled, the via goes in exactly as expected. It is
      connected to the gnd net and flows to the zones without thermals.
      However, when the zone is refilled, the vias lose their connection to
      the gnd net.

      After reading several emails, I've decided the best solution is to run
      an actual trace to the vias to force their connection to the gnd net.
      This works, but it makes adding stitch vias more difficult that it needs
      to be, so this email is a request to correct the issue in the next release.

      It appears to me that the stitch vias aren't associated with a net until
      the zone is filled. If the zones are filled when the via is placed,
      Kicad knows the via connects between those zones. However, if the zone
      is refilled, Kicad doesn't correctly recalculate the nets for those
      vias. This seems like a logic error in the code that wouldn't be too
      hard to correct.

      Best Regards,
      David
    • Robert
      ... If you follow the advice I gave it s little harder than just placing vias. Just start a track at a pad or via already on the relevant net and keep
      Message 2 of 10 , Sep 19, 2011
        On 19/09/2011 13:48, David Novak wrote:
        > After reading several emails, I've decided the best solution is to run
        > an actual trace to the vias to force their connection to the gnd net.
        > This works, but it makes adding stitch vias more difficult that it needs
        > to be, so this email is a request to correct the issue in the next release.

        If you follow the advice I gave it's little harder than just placing
        vias. Just start a track at a pad or via already on the relevant net
        and keep selecting "Place via" from the context menu (or use the V
        hotkey) everywhere you want a stitch via until you have placed all of
        them, and then end the track. It is advisable to do them in groups so
        you don't spend ten minutes placing vias only to have something go wrong
        that means you lose your work.

        Kicad picks up the net from the pad or via you started from, not the
        zone fill.

        Regards,

        Robert.

        --
        () Plain text email - safe, readable, inclusive.
        /\ http://www.asciiribbon.org/
      • David Novak
        True, it s not a horrible workaround, but it s an annoyance that shouldn t be too hard to correct. Kicad already knows how to do it correctly when stitching
        Message 3 of 10 , Sep 19, 2011
          True, it's not a horrible workaround, but it's an annoyance that shouldn't be too hard to correct. Kicad already knows how to do it correctly when stitching inside filled zones. It just needs to execute the same code when recalculating the fill.

          Here are some reasons that make the workaround painful...
          1. Inserting a single via is much easier than routing to vias.
          2. When you add a via, Kicad automatically switches to the opposite layer. This is a nice feature for normal routing, but with stitch vias you often want to stay on the same layer, so you have to go through the extra step of switching back to the original layer after every via addition.
          3. If you want to make changes to the layout, you now have to delete stitch tracks, not just stitch vias.
          4. As you mentioned, if you do too many at a time, you can potentially lose them all when you end the process.
          5. Sometimes you need a trace narrower than your design minimum to reach secluded zone areas. This requires you add a new narrower trace to the available track widths and opens the possibility of that track width being incorrectly selected during normal routing.
          Best Regards,
          David


          On 9/19/2011 9:10 AM, Robert wrote:
          
          On 19/09/2011 13:48, David Novak wrote:
          
          After reading several emails, I've decided the best solution is to run
          an actual trace to the vias to force their connection to the gnd net.
          This works, but it makes adding stitch vias more difficult that it needs
          to be, so this email is a request to correct the issue in the next release.
          
          If you follow the advice I gave it's little harder than just placing 
          vias.   Just start a track at a pad or via already on the relevant net 
          and keep selecting "Place via" from the context menu (or use the V 
          hotkey) everywhere you want a stitch via until you have placed all of 
          them, and then end the track.   It is advisable to do them in groups so 
          you don't spend ten minutes placing vias only to have something go wrong 
          that means you lose your work.
          
          Kicad picks up the net from the pad or via you started from, not the 
          zone fill.
          
          Regards,
          
          Robert.
          
          
        • Robert
          ... Well, yes, but it s not a big deal. You have to compare that with modifying the code, which I suspect is a big deal because kicad takes the net of the
          Message 4 of 10 , Sep 19, 2011
            On 19/09/2011 14:41, David Novak wrote:
            > 1. Inserting a single via is much easier than routing to vias.

            Well, yes, but it's not a big deal. You have to compare that with
            modifying the code, which I suspect is a big deal because kicad takes
            the net of the tracking from the pad(s) to which is connected. If the
            track and vias are not connected to a pad they have no net. The
            difficulty or not is really for one of the developers to comment on, but
            if it is as non-trivial as I suspect you might have a long wait, in
            which case you need the easiest possible workaround...

            > 2. When you add a via, Kicad automatically switches to the opposite
            > layer. This is a nice feature for normal routing, but with stitch
            > vias you often want to stay on the same layer, so you have to go
            > through the extra step of switching back to the original layer after
            > every via addition.

            But that's a key point of my tip - you let it change to whatever layer
            the other plane is on and continue to the next via on that layer.
            Don't stop and switch back to the first layer. When you refill the
            zones the connecting tracks on both sides will disappear. I've done
            this more than once and it's very quick and easy. If you are stitching
            more than two layers for some reason, it doesn't matter which of those
            two you stitch between, of course. BTW, no matter how tempting it is
            don't connect back to the start point without turning off Tracks auto
            del; if you do there will be major teeth gnashing and it's not necessary
            anyway :).

            > 3. If you want to make changes to the layout, you now have to delete
            > stitch tracks, not just stitch vias.

            True, which is why I make it the last step. However, with judicious
            use of deleting segments you can turn the problem into an advantage and
            delete a group of vias all at the same time.

            > 4. As you mentioned, if you do too many at a time, you can potentially
            > lose them all when you end the process.

            To avoid losing all at some stage you do have to stop whatever you are
            doing and hit Save anyway (unless you like to rely on autosaves).

            > 5. Sometimes you need a trace narrower than your design minimum to
            > reach secluded zone areas. This requires you add a new narrower
            > trace to the available track widths and opens the possibility of
            > that track width being incorrectly selected during normal routing.

            Well the connecting width should never be less than the design rule
            minimum, if that's what you mean by design minimum. However, I do very
            much sympathise with your last point. It would be nice if kicad
            changed the cursor when routing a "custom width" similarly to when you
            are routing with DRC turned off, as a visual warning you are in danger
            of creating a mess. One workaround for this is in the case of
            stitching is to create a ludicrously narrow track width just for
            stitching. That way you'll spot immediately if you're doing regular
            tracking with the stitching width.

            Regards,

            Robert.

            --
            () Plain text email - safe, readable, inclusive.
            /\ http://www.asciiribbon.org/
          • David Novak
            ... In the case of a two layer board, a via floating in space, could be assumed a stitch via, but that could cause issues if there are more than two
            Message 5 of 10 , Sep 19, 2011
              > You have to compare that with
              > modifying the code, which I suspect is a big deal because kicad takes
              > the net of the tracking from the pad(s) to which is connected.

              In the case of a two layer board, a via floating in space, could be
              assumed a stitch via, but that could cause issues if there are more than
              two overlapping zones on different nets or in the case of an erroneously
              placed via. The best implementation would store the vias with net names
              in a file to be recalled later during zone filling. Possibly the vias
              could be stored with the zone information.

              Even if it takes a while to implement, I think it's definitely a feature
              that's worth the effort.

              > you let it change to whatever layer
              > the other plane is on and continue to the next via on that layer.
              > Don't stop and switch back to the first layer.

              This works in a lot of cases, but sometimes there isn't a path to the
              next stitch via on the newly selected layer.


              Best Regards,
              David
            • Robert
              ... Hmmm. Not keen on that as an implementation. But no matter what the implementation one would still have to assign the via net name so kicad knows for
              Message 6 of 10 , Sep 19, 2011
                On 19/09/2011 16:36, David Novak wrote:
                > placed via. The best implementation would store the vias with net names
                > in a file to be recalled later during zone filling. Possibly the vias
                > could be stored with the zone information.

                Hmmm. Not keen on that as an implementation. But no matter what the
                implementation one would still have to assign the via net name so kicad
                knows for sure how to connect it, which would be an awful task unless
                there were some sort of preselector mechanism that assigned a chosen net
                name to every via placed from that point on.

                One thing you could do right now is create a lot of one pin components
                on a separate sheet in EESchema and connect them to the appropriate net.
                Then in PCBNew you could just place them (as single through-hole pad
                modules) wherever you want them. Downsides are that they would have
                thermal relief unless you set the entire plane to have no thermal
                relief, and it would be a bit tedious to do in EESchema. However the
                latter could be largely done with the INS key and/or block copy and
                paste. Maybe someone knows how to overcome the thermal relief problem.
                If I were doing it I would create a sheet-full and then go back and
                delete any I didn't use rather than adding extras a few at a time.

                Regards,

                Robert.

                --
                () Plain text email - safe, readable, inclusive.
                /\ http://www.asciiribbon.org/
              • David Novak
                ... I don t see an issue storing the stitch vias and net names. Zone information is already being stored outside the netlist. It would be very similar to that
                Message 7 of 10 , Sep 19, 2011
                  > Hmmm. Not keen on that as an implementation. But no matter what the
                  > implementation one would still have to assign the via net name so kicad
                  > knows for sure how to connect it, which would be an awful task unless
                  > there were some sort of preselector mechanism that assigned a chosen net
                  > name to every via placed from that point on.

                  I don't see an issue storing the stitch vias and net names. Zone
                  information is already being stored outside the netlist. It would be
                  very similar to that information.

                  I agree, a "stitch via" tool would be the way to go...assign a net name
                  and start clicking.

                  > One thing you could do right now is create a lot of one pin components
                  > on a separate sheet in EESchema and connect them to the appropriate net.

                  This is far too much work for stitch vias. I don't even want to think of
                  handling a couple hundred vias this way. On small boards it would be
                  less a problem, but still an awful lot of effort for a stitch via.

                  David
                • ike
                  I agree with David, This issue is not critical if you catch it before boards are made, otherwise it is just annoying. I would welcome it s resolution. For
                  Message 8 of 10 , Sep 19, 2011
                    I agree with David,

                    This issue is not critical if you catch it before boards are made, otherwise it is just annoying. I would welcome it's resolution.
                    For example removing fill operation could update net info for lone stich vias then issue would not exist.

                    Ivica


                    --- In kicad-users@yahoogroups.com, David Novak <david.novak@...> wrote:
                    >
                    > > Hmmm. Not keen on that as an implementation. But no matter what the
                    > > implementation one would still have to assign the via net name so kicad
                    > > knows for sure how to connect it, which would be an awful task unless
                    > > there were some sort of preselector mechanism that assigned a chosen net
                    > > name to every via placed from that point on.
                    >
                    > I don't see an issue storing the stitch vias and net names. Zone
                    > information is already being stored outside the netlist. It would be
                    > very similar to that information.
                    >
                    > I agree, a "stitch via" tool would be the way to go...assign a net name
                    > and start clicking.
                    >
                    > > One thing you could do right now is create a lot of one pin components
                    > > on a separate sheet in EESchema and connect them to the appropriate net.
                    >
                    > This is far too much work for stitch vias. I don't even want to think of
                    > handling a couple hundred vias this way. On small boards it would be
                    > less a problem, but still an awful lot of effort for a stitch via.
                    >
                    > David
                    >
                  • Brian Sidebotham
                    Just throwing another idea into the mix: In the Zone properties dialog a new section can be introduced which can stitch the zone on a specific grid. Obviously
                    Message 9 of 10 , Sep 19, 2011
                      Just throwing another idea into the mix:

                      In the Zone properties dialog a new section can be introduced which
                      can stitch the zone on a specific grid. Obviously stitching is only
                      performed where the vias do not violate DRC. This is also useful for
                      thermal stitching too. It's easier to manage zone properties than it
                      is to manage individual vias.

                      This also relies on being able to select multiple layers for a zone,
                      which is something that I think would be a nice feature anyway. On two
                      layer boards I always do identical GND zones on both layers.

                      Best Regards,

                      Brian.

                      On 19 September 2011 17:30, David Novak <david.novak@...> wrote:
                      >> Hmmm.   Not keen on that as an implementation.   But no matter what the
                      >> implementation one would still have to assign the via net name so kicad
                      >> knows for sure how to connect it, which would be an awful task unless
                      >> there were some sort of preselector mechanism that assigned a chosen net
                      >> name to every via placed from that point on.
                      >
                      > I don't see an issue storing the stitch vias and net names. Zone
                      > information is already being stored outside the netlist. It would be
                      > very similar to that information.
                      >
                      > I agree, a "stitch via" tool would be the way to go...assign a  net name
                      > and start clicking.
                      >
                      >> One thing you could do right now is create a lot of one pin components
                      >> on a separate sheet in EESchema and connect them to the appropriate net.
                      >
                      > This is far too much work for stitch vias. I don't even want to think of
                      > handling a couple hundred vias this way. On small boards it would be
                      > less a problem, but still an awful lot of effort for a stitch via.
                      >
                      > David
                      >
                      >
                      > ------------------------------------
                      >
                      > Please read the Kicad FAQ in the group files section before posting your question.
                      > Please post your bug reports here. They will be picked up by the creator of Kicad.
                      > Please visit http://www.kicadlib.org for details of how to contribute your symbols/modules to the kicad library.
                      > For building Kicad from source and other development questions visit the kicad-devel group at http://groups.yahoo.com/group/kicad-develYahoo! Groups Links
                      >
                      >
                      >
                      >
                    • 5701d75ed09e30491ab0380c7f9b24b2
                      Alternative solution: https://bugs.launchpad.net/kicad/+bug/999057/comments/4 Copied text here: A bullet proof and headache free way right now is to: - create
                      Message 10 of 10 , Oct 25, 2013

                         Alternative solution: https://bugs.launchpad.net/kicad/+bug/999057/comments/4


                        Copied text here:


                        A bullet proof and headache free way right now is to:


                        - create a module with a single through-hole pad (you do this once and use it forever)
                        - in pcbnew, add this module (no need to add it to schematics)
                        - edit the pad of this module and set its netname to your the name of your ground plane (e.g. GND)
                        - make as many copies as you need


                        Advantages:


                        - you don't have to do any maintenance—no touching your schematics, no reconnecting to ground plane after re-filling zones, etc
                        - you can change the size of or any other properties (thermal relief, drill size, etc) of all the pads at once if needed (just right click any of them and select "Global Pads Edition" under Pads menu)


                        Disadvantages:


                        - no shortcut to add a netname configured pad—you need to copy one of the existing ones



                        ---In kicad-users@yahoogroups.com, <david.novak@...> wrote:

                        When adding zone stitch vias to stitch ground planes together after the
                        zones have been filled, the via goes in exactly as expected. It is
                        connected to the gnd net and flows to the zones without thermals.
                        However, when the zone is refilled, the vias lose their connection to
                        the gnd net.

                        After reading several emails, I've decided the best solution is to run
                        an actual trace to the vias to force their connection to the gnd net.
                        This works, but it makes adding stitch vias more difficult that it needs
                        to be, so this email is a request to correct the issue in the next release.

                        It appears to me that the stitch vias aren't associated with a net until
                        the zone is filled. If the zones are filled when the via is placed,
                        Kicad knows the via connects between those zones. However, if the zone
                        is refilled, Kicad doesn't correctly recalculate the nets for those
                        vias. This seems like a logic error in the code that wouldn't be too
                        hard to correct.

                        Best Regards,
                        David
                      Your message has been successfully submitted and would be delivered to recipients shortly.