Import DEF: "Invalid orientation specification"

edited March 2017 in KLayout Support
Hi,
I was hoping to use klayout as a DEF viewer, but it seems to be throwing error (subject line).

The line that is referenced is highlighted below:

NEW METAL1 ( 185270 2150015 ) via1
( * 2148785 ) <<<<<<<<<<<<<<
NEW METAL2 ( 185030 2148785 ) via2_770_290_ALL_2_


I am only trying to import the DEF i.e. no LEF or other techfiles - could this be the issue?

I am on windows using KLayout 0.24.9 (2016-11-27 r3488)

Thanks,
Steven

Comments

  • edited March 2017

    Hi Stefan,

    that's not related to not having LEF. I assume a reader bug or maybe the specification got updated. I have limited access to DEF sample and the variety of flavours is overwhelming, so I'm depending on your inputs. Could you provide a (reduced) sample DEF that allows reproducing that issue?

    And if possible, please file an issue on GitHub: https://github.com/klayoutmatthias/klayout/issues.

    Thanks,

    Matthias

  • edited 8:55PM
    Hi,
    Unfortunately, I know nothing about the DEF format, but I'll see if I can provide a small example.
    Steven
  • edited 8:55PM

    Hi Steven,

    I think I can reproduce the issue and tried to fix. When reading the spec again I assume there is another issue hidden behind that one: if the wire is continued, it needs to be continued at the point of the via. See my comments on GitHub.

    I'll try to patch this into the upcoming 0.24.10 version - I hope you find a way to verify this.

    Thanks,

    Matthias

  • edited 8:55PM
    Hi Matthias,
    I tried 0.24.10 version, and was able to correctly read in the DEF.

    One thing that was unexpected - there doesn't seem to be any instance data imported, or at least I was not able to do a search for instances.
    Thanks,
    Steven
  • edited 8:55PM

    Hi Steven,

    again, without a sample I can hardly say anything. Instances are not necessarily created when reading DEF. You say, you don't have LEF, so where should instances come from?

    Matthias

  • edited 8:55PM
    Hi Matthias,
    I have now imported a a LEF
    The LEF defines the library information - for example, it defines all available Standard Cell Types (AND2X1, ORX2 etc)
    The DEF defines a design - in addition to physical information, it defines all nets, and instances of all cells used in the design. As an example:

    COMPONENTS
    - LOTS SNIPPED
    - core_alt_inst/dft_timer_inst/U21 NAND2X1 + PLACED ( 507960 1019440 ) N ;
    - LOTS SNIPPED
    END COMPONENTS ;

    In this case, the instance name is core_alt_inst/dft_timer_inst/U21 NAND2X1 (where "/" is the hierarchy separator, and is defined at the top of the DEF file)
    (there are also sections for all nets, all vias etc)

    It doesn't look like klayout is what I want - I am not looking for a layout tool, just trying to look at the relative positions of some cells. Maybe I can hack something up myself
    Thanks for the help
    Steven
  • edited 8:55PM
    glade is a freeware editor that keeps def instance information
    http://www.peardrop.co.uk/

    Stefan
  • edited 8:55PM
    Thanks Stefan - I'll give it a try
    Steven
Sign In or Register to comment.