11 Replies Latest reply on Apr 23, 2015 3:40 PM by David Ricketts

    Why must nets be assigned to a split/mixed plane layer?

    dupre

      I'm wondering what is the reasoning to have to assign nets to a split/mixed plane layer.  Why can't any net appear on a split/mixed plane layer?

       

      We have made it a custom to flood component layers with copper (ground) using copper pours.  But copper pours have a lot of limitations.

       

      Am I going to run into problems if I set a component layer to split/mixed plane, and then assign all nets to that layer?

        • 1. Re: Why must nets be assigned to a split/mixed plane?
          paceto

          You need to assign some nets to a split/mixed layer so you can assign them to the plane areas you create. If you just want floating copper, create a Copper rather than a split/mixed plane.

          • 2. Re: Why must nets be assigned to a split/mixed plane?
            jmatthews

            You can also add an S/M plane without a signal, if you just want a fill area.

            • 3. Re: Why must nets be assigned to a split/mixed plane layer?
              dupre

              I should have asked "Why must nets be assigned to a split/mixed plane layer?"

               

              When creating a split/mixed plane layer, you have to specify what nets can be on this layer.  Why is this necessary?  Why can't any net be on a split/mixed plane layer?

               

              If I want my top/component layer be a split/mixed plane layer, I have to assign all nets to the layer.  Will this cause problems?

              • 4. Re: Why must nets be assigned to a split/mixed plane layer?
                paceto

                You may route any net on a split/mixed layer but you can only use assigned nets as plane nets.

                • 5. Re: Why must nets be assigned to a split/mixed plane layer?
                  Mentor_JanetD

                  Assign only the nets to a layer in Setup > Layer Definition that are going to have planes on that layer.  Assigning many nets to a layer can cause problems in both Layout and Router.

                  • 6. Re: Why must nets be assigned to a split/mixed plane layer?
                    dcox

                    Here's the difference between copper pour planes and split/mixed planes.

                     

                    Both define native copper areas with line widths assigned.  In both cases, Pads replaces this native outline with a flooded outline and adds thermals based on the net names assigned to the plane and clearances based on the rules list.  Both planes can have any net on the board assigned to them.

                     

                    Split mixed planes can be manually defined, but the native outline is usually added automatically based on the board ouline.  This creates one plane over the whole board on the split mixed layer.  A nice split feature allows you to draw one line across the board to split the plane zigzagging around parts.  The gap between the planes is adjustable. Once this is completed and the plane is split, Pads will prompt you to assign net names to the new areas based on a limited list of nets that were previously assigned to the layer.  Nets that were not previously assigned to the layer are not available.  When the CAM routine creates a gerber file of this layer two additional things happen.  Pads can optionally remove all the pads and vias that are not assigned to the layer, making a gerber plot that more closely matches the older style CAM plane effectively increasing the gap between the barrel of the hole and the plane edge.  Copper pour does not offer this option. The second thing that happens is that Pads checks the assigned list of split/mixed nets to make sure there is a copper area for each listed net.  If you assign AGND, DGND and PGND to layer 2, but you didn't assign a PGND plane area, Pads will report this omission before creating the plot.  Copper pour doesn't know if you missed a net.  Split mixed planes also offer a few additional automatic actions giving you more control over the layer.

                     

                    So, both plane approaches function similarly, but using split mixed adds a method to double check you added everything you planned to add to a plane area and allows for more automated processing.

                    1 of 1 people found this helpful
                    • 7. Re: Why must nets be assigned to a split/mixed plane layer?
                      lpeacock

                      I have a related, yet somewhat opposite question. (we might want to move this to a new thread) Is there a way for PADS to check each created plane area and return an error if a plane has no assigned net? I've explored doing this using VB scripts but have been unsuccessful in finding object definitions that allow me to export this type of information. Thanks in advance for the help.

                      • 8. Re: Why must nets be assigned to a split/mixed plane layer?
                        dcox

                        This is a portion of an ascii bd export with two plain copper blocks, one assigned to VCC and one floating.  You could write a basic program to look for this omission.

                         

                        *LINES*      LINES ITEMS

                        *REMARK* NAME TYPE XLOC YLOC PIECES TEXT SIGSTR
                        *REMARK* .REUSE. INSTANCE RSIGNAL
                        *REMARK* PIECETYPE CORNERS WIDTHHGHT LINESTYLE LEVEL [RESTRICTIONS]
                        *REMARK* XLOC YLOC BEGINANGLE DELTAANGLE
                        *REMARK* XLOC YLOC ORI LEVEL HEIGHT WIDTH MIRRORED HJUST VJUST

                        DRW79441860      BOARD    0      0      1   0
                        CLOSED 5   381000 0   0  
                        0      0    
                        57150000 0    
                        57150000 38100000
                        0      38100000
                        0      0    

                        DRW59111554      COPPER   30480000 38100000 1   0
                        COPCLS 7   381000 0   1  
                        11430000 -19050000
                        11430000 -30480000
                        6667500 -30480000
                        6667500 -34290000
                        22860000 -34290000
                        22860000 -19050000
                        11430000 -19050000

                        DRW74278432      COPPER   38100000 34290000 1   0 VCC        
                        COPCLS 7   381000 0   1  
                        -952500 0    
                        -952500 -13335000
                        7620000 -13335000
                        7620000 -11430000
                        15240000 -11430000
                        15240000 0    
                        -952500 0    

                         

                        Similarly, further down in the Pour section you have the same thing.

                        *POUR*       POUR ITEMS

                        *REMARK* NAME TYPE XLOC YLOC PIECES FLAGS [OWNERNAME SIGNAME [HATCHGRID HATCHRAD [PRIORITY]]]
                        *REMARK* PIECETYPE  CORNERS ARCS WIDTH LEVEL
                        *REMARK* XLOC YLOC BEGINANGLE DELTAANGLE

                         

                        POR97134984 POUROUT 0 38100000 1 32 POR97134984 VCC
                        POLY 5 0 381000 1
                        0 0
                        34290000 0
                        34290000 -38100000
                        0 -38100000
                        0 0

                         

                        POR32638942 POUROUT 0 0 1 32
                        POLY 5 0 381000 2
                        56730900 37680900
                        419100 37680900
                        419100 419100
                        56730900 419100
                        56730900 37680900

                         

                        POR5936652 POUROUT 0 0 1 32 POR5936652 GND
                        POLY 5 0 381000 2
                        419100 419100
                        56730900 419100
                        56730900 37680900
                        419100 37680900
                        419100 419100

                         

                        If I were doing this, I would do it with VB script as well, but a quick look doesn't show a activedocument.copper line, although there is probably one in there somewhere, maybe under activedocument.getObjects.  I would get the netname off the copper and compare it to the other nets in the design.  This would flag un-named copper as well as old copper whose net may have been deleted or renamed. The copper is under the *LINES* heading and the poured copper is in the *POUR* section.  This may help identify the item.  It may be easier to write a quick basic program to run through the ascii file.

                         

                        D

                        • 9. Re: Why must nets be assigned to a split/mixed plane layer?
                          David Ricketts

                          Nobody is answering your question why you have to add names in a separate action. There is no reason except that is how this feature was designed, and it was never improved upon. When split/mixed planes were added to PADS many years ago, it was as an added cost option, so all of its functions were separate commands. But I agree with you requiring an entry in the layer setup menu is a waste of time, and you should be able to assign it on the fly like copper.

                          • 10. Re: Why must nets be assigned to a split/mixed plane layer?
                            dcox

                            I believe the netnames are  assigned is so the system can check for your design INTENT.  Certainly, for a cam plane, the only thing Pads has to go by when deciding which pins get thermals is a list of net names. To add or remove nets from this layer you must modify the list. For a split mixed layer, Pads could scan the layer and create its own list from the copper it finds and use that to cam process the gerbers but this won't tell you if you missed anything.  If you assign a split mixed layer to work on +5V, +3.3V and +1.2V nets then Pads will check that there is copper present for all these nets and report an error if one is missing.  Another reason for a list is that split mixed planes are not used just to distribute power.  They are used as reference planes for high speed controlled impedance traces, which will cause emi if they cross splits in planes.  If I need to add copper pour for a particularly power hungry net, I really don't want to do it on a split mixed plane layer, but on a signal layer, preferably an outer layer.  I would not draw copper on a split mixed layer and assign it on the fly  because it would change my coverage, I would have to recheck all my signals in the area and I would also have to reassign my net priorities for it to flood properly. Being able to work with only the preassigned nets ensures this.

                            • 11. Re: Why must nets be assigned to a split/mixed plane layer?
                              David Ricketts

                              You misconstrue what I'm saying. I'm not saying PADS should not require assigned nets to a split/mixed plane, but should not require the added effort of going to Layer Setup to assign nets. After creating the copper or pour on a s/m plane, a simple dialog could pop up saying this net would be added to the list, continue or cancel?

                               

                              Aside from this, you don't seem to be fully using s/m planes. They can be used on every layer, be it signal, plane, or mixed (hence the name). If you want to remove unused pads on inner layers, then it must be a s/m layer. If you want to use custom thermals and/or use design rule to define spacing, the layer needs to be s/m. They don't even need to be planes, and can be all routing. Almost all of my designs are impedance controlled, and I draw the plane based on the routing, extending them if they're being used as reference for an adjacent layer. Many of the BGAs I work with have as many as a dozen power nets, so pre-planning what layer is used for what is more time-consuming than just routing and defining the planes on the fly, and almost all layers end up as a combination of plane and traces. There is no system check for traces crossing plane splits, so pre-assigned nets has no effect on that. Just turn on the relevant adjacent layers, check it manually, and adjust accordingly.