5 Replies Latest reply on Jun 17, 2010 6:50 AM by smercurio

    Mystery parts in a PADS Logic shematic

    smercurio

      While investigating something else I was looking at an ASCII export of a PADS Logic Schematic. We are running PADS 2007.4, but I see the same thing happen in 9.0.2. In the ASCII exported file, there are parts listed on one sheet that I cannot find anywhere on the schematic. For example, here is one part, as listed in the ASCII file:

       

      RX1          $$RX1            11850 12000   0 1 100 10 100 10 2 5 5 1 0 0
      "Default Font"
      "Default Font"
      830 700 0 0 100 10 0 "Default Font"
      REF-DES
      780 -190 0 2 100 10 0 "Default Font"
      PART-TYPE
      0 0 0 0 0
      1 0 0 0 0
      2 0 0 0 0
      3 0 0 0 0
      4 0 0 0 0

       

      This supposedly defines a part that has a part type of $$RX1. I have a few issues with this:

      • I cannot find the part in the list of parts in the tree in PADS Logic.
      • I cannot find the part if I search for it.
      • I cannot find part type $$RX1 anywhere in any of our libraries, or on the schematic. The part type shows up in the ASCII file, but does not show up in the tree that lists all the part types in the schematic.
      • The ASCII file also has an $$RX1 CAE decal, but I also cannot find that decal anywhere from within PADS Logic.
      • The header claims that there are 5 attributes, but you can clearly see there are no attributes listed.
      • If I go to the coordinates specific in the header there is no part there. The coordinates are in the middle of a wire.
      • If I run the "Update From Library" tool in PADS 9.0.2 then I get several error related to these phantom parts, part types, and decals. For the $$RX1 decal, for example, it gives me an "
        Cannot get CAE DECAL from Library !!!" error.
      • If I import the ASCII file into PADS, and then re-export, these phantom parts, part types, and decals still show up. I've tried this with PADS 2007.4 and 9.0.2.

       

      Can anyone offer suggestions as to what might be going on?

        • 1. Re: Mystery parts in a PADS Logic shematic
          smercurio

          Additional information:

           

          Upon further investigation, this seems to be a hierarchical part.

           

          However, a few more oddities have shown up. This is the header for the decal definition in the ASCII file:

           

          $$RX1            33300 33700 100 10 100 10 2 1 0 5 112 0

           

          This indicates a "vis" field of 112. However, the ASCII specification states that the value of the "vis" field has a valid range of 0 to 31. So where did 112 come from, and what do those extra bits mean?

           

          Also, the ASCII specification doesn't indicate any special formatting for hierarchical parts, so I still don't understand why the header says there are 5 attributes, but there are no attributes listed.

          • 2. Re: Mystery parts in a PADS Logic shematic
            jim.granville

            What does the integrity test (modeless comman 'I') report ?

             

            If you do not need this entity, you can edit a Test instance of the ASCII file and delete the references,

            (just remove the whole block related to the item)  then check it imports OK.

            • 3. Re: Mystery parts in a PADS Logic shematic
              smercurio

              "I" reports no errors. The part turns out to be real: it's a hierarchical part pointing to a sheet, as I noted in my followup. So the part being there is valid. The coordinate location in the part header is one of the pins of the hierarchical part. However, what doesn' t make sense is the ASCII format, based on the ASCII specification. The header says that there's 5 attributes, but you can clearly see that the part definition doesn't have 5 attributes. So, does that mean that for hierarchical parts it's a different ASCII spec? I was getting an error when parsing the ASCII file on this part (as well as the other hierarchical parts), since I was expecting 5 attributes, and found none. So, at this point I'm trying to determine whether the spec is incomplete, or whether this little "behavior" is simply undocumented.

              • 4. Re: Mystery parts in a PADS Logic shematic
                jim.granville

                If you have a working ASCII file, that should be considered the reference;

                if the docs do not go deep enough to detail the hierarchical parts, then you'll need to reverse-engineer the ASCII header.

                 

                Something there will tell the PADS Logic parser, it is hierarchical  part, so you could use that same flag in your parser.

                 

                It would be expected that hierarchical parts would be slightly different, to other parts.

                • 5. Re: Mystery parts in a PADS Logic shematic
                  smercurio

                  jim.granville wrote:

                   

                  If you have a working ASCII file, that should be considered the reference;

                  That's precisely what I did. However ...

                   

                  if the docs do not go deep enough to detail the hierarchical parts, then you'll need to reverse-engineer the ASCII header.

                  ...precisely - and that's my point. Either (a) the documentation is incorrect/incomplete/whatever, or (b) the file being generated is not correct since it does not match the documentation. The header says 5 attributes. There are no attributes. So, either it's a "hidden" (aka undocumented) "feature" that for hierarchical parts you're supposed to ignore the attribute count, or it's simply wrong. I can get around it just fine, and have already done so. I'm not asking how to get around it. I'm asking whether it's an error in the documentation or an error in the file generator. Clearly the imported "knows about this", since the file is imported just fine, so clearly the Mentor programmers know about this. Why isn't it documented? This question is really directed to Mentor, not you, so I'm not belittling your points, which I agree with, and as I noted, have already done.