4 Replies Latest reply on Jul 20, 2015 8:15 AM by Dennis_K

    cell origin creation in ODB++

    Dennis_K

      Hello everyone,

       

      for a recent project we switched from Gerber output data to ODB++ output data. No problem for this and everything seems fine.

      But a few days later we get a call from our manufacturer that the pin 1 of a 6-pin diode in SOT23-6 package is wrong. After looking in the ODB++ assembly data I also recognize the wrong Pin1 marker - it should be on the upper-left but is on the upper-right.

      ODB++.jpg

      The problem seems to be in the part cell itself. We created this 6-pin diode a few years ago with the pins named C (for cathode, with pins 1,2,5,6 shorted) and A (for anode, with pins 3,4 shorted).

      CellEditor.png

      As there is no pin with number 1 and A comes before C in alphabet the ODB++ generator takes one of the pins named A as pin 1. I can not figure out which one of the two A pins appears first in the cell editor "Place Pins" dialog, but the first entry in the table is the pin the ODB++ generator has chosen.

       

      My question at this point is:

      - is there a way to set Pin1 explicit in the cell editor (no matter of the number/letter)?

      - if there is the same number/letter on two or more pins (for pin shorts), which of this is chosen as Pin1?

       

      I hope for your help as I can't find any useful hints in the cell editor documentation.

       

       

      Kind regards,

      Dennis

        • 1. Re: cell origin creation in ODB++
          Rehan_Iqbal

          Hi Dennis,

           

          I would give these explicit Pin Numbers (e.g. 1, 2, 3, 4, 5, 6) in Cell Editor rather than alpha characters. By specifying the Pin Numbers as 'A' and 'C' you are not giving the tool information as to what should be the first pin. In other words, I'd have the cell look like this:

           


          You can then short those pins in the schematic, or by defining a Signal or Supply Name within the part's Pin Mapping:

           

           

          There is a way to set Pin #1 within the ODB++ data through Valor NPI - within Graphic Station you can navigate to Component > Set Pin #1. I've attached a screenshot of that below:

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

           

          However, I'm hesitant to recommend that because you're fixing the generated data rather than the underlying cause (the faulty cell).

          • 2. Re: cell origin creation in ODB++
            Vern_Wnek

            I might go one better to avoid PIN number confusion since this is a polarized component.

             

            C1 to C3

            And A4 to A6

             

            I like to keep the C and A on diode components.

             

            Thanks , Vern Wnek

            • 3. Re: cell origin creation in ODB++
              Dennis_K

              Thanks for your reply Vern,

               

              as far as I understand the Cell Editor logic, it just picks the first pin in Alphabetical/Numerical order. So with your suggestion, everything stays the same for me as A4 comes before C1 (which must be pin1). The only chance is to call the pins 1C to 3C and 4A to 6A to get the right sort order for ODB++

               

              But the disadvantage is that our developers see "different" diode symbols in the schematic (e.g. a part with two pins (1 anode, 1 cathode) has an other symbol than a part with six pins (2 anodes, 4 cathodes)) although it is irrelevant for them because they just want to use a diode.

               

              Kind regards,

              Dennis

              • 4. Re: cell origin creation in ODB++
                Dennis_K

                Hi Rehan,

                 

                thanks for your answer.

                The reason we use the method to short the pins by pinname in the library is because we use only one two pin symbol for all diodes in the DxD schematics. This is done for easy replacing on schematic layer, to reduce symbol variants in library manager and to eliminate confusion for our developers (a diode is a diode no matter how many pins it has). If I use pin numbers 1 to 6 I have to assign a symbol with 6 pins on it - right?

                As far as I know the Supply Name only assign an implicit supply to pins, e.g. GND to 1, 2, 5, 6. This seems not related to my problem as I want to assing 4 part pins to 1 expicit schematic pin (the cathode) for example. The Supply Pins never appear on the symbol or in the schematic.

                 

                Kind regards,

                Dennis