• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. PCB Design
  3. New XML-based techfile cross section

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 164
  • Views 13383
  • Members are here 0
More Content
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

New XML-based techfile cross section

archive
archive over 17 years ago

I am looking at parsing the new 16.x XML-based techfile.  One thing I've noticed is that there doesn't seem to be any key that would conveniently indicate the order of the layers in file, other than the natural order they are presented in the file.  Most XML parsers will return the nodes, but there appears to be no way to figure out the order of the layer nodes.

In the old tech files the layers were ordered by an assigned integer (0 = the highest layer, typically the surface layer AIR and each subsequent layer in the stack would be assigned the next available number).  See the numbers in parenthesis ion the example below.

In the new tech files, each layer node is assigned a textual name, for example (old techfile layer index in parenthesis):
SURFACE_2_ABOVE_TOP (0)
DIELECTRIC_ABOVE_TOP (1)
TOP (2)
DIELECTRIC_ABOVE_L2 (3)
L2 (4)
DIELECTRIC_ABOVE_L3 (5)
L3 (6)
DIELECTRIC_MIDDLE (7)
L4 (8)
DIELECTRIC_BELOW_L4 (9)
L5 (10)
DIELECTRIC_BELOW_L5 (11)
BOTTOM (12)
DIELECTRIC_BELOW_BOTTOM (13)
SURFACE_2_BELOW_BOTTOM (14)

We're trying to figure out that after we parse the XML into our program, how do we determine the order of the layers.  There is no index to the nodes. 

Anyone have any ideas?





Originally posted in cdnusers.org by cdavies
  • Cancel
  • archive
    archive over 17 years ago

    Hi Charlie,

    I too am parsing the XML file (in Skill). I am just using the order that I read the layers in and trusting that it's correct.
    Let us know the outcome.

    Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Dave,

    I am parsing the file in Perl. I was using the XML::Simple package and it did not perserve the node order. It appears as if the Xerces package will preserve the node order. I'll be switching to the XML::Xerces package. I have also asked R&D to add an index identifier in the schema to insure that parsing a bit more straight forward.

    I would be intersested in looking at your Skill-based XML parser. Any chance you could share it?

    Best Regards,
    Charlie


    Originally posted in cdnusers.org by cdavies
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Charlie, My code is less of a parser that a customised extractor. It is customised for my specific requirement (Creating a specification sheet). However, for what it's worth, the code (warts and all) is attached. Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    getXMLtechFileData.il
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Dave,

    Thanks. Looks like we could extend this for some other functionality.

    Best regards,
    Charlie


    Originally posted in cdnusers.org by cdavies
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    That's great, Charlie. Feel free to post any enhanced code! Maybe the Skill forum is more appropriate. Cheers, Dave


    Originally posted in cdnusers.org by Dave Elder
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information