Need help mapping fill shapes from LEF to GDS layers

edited February 20 in General

I'm getting the following messages

Warning: No mapping for layer 'met2', purpose 'FILL' - layer is ignored
Warning: No mapping for layer 'met3', purpose 'FILL' - layer is ignored
Warning: No mapping for layer 'met4', purpose 'FILL' - layer is ignored
Warning: No mapping for layer 'met5', purpose 'FILL' - layer is ignored

I am trying to figure out the right syntax to use in the lyt's


section. I tried

'met2.fill : 69/28'
'met2.fills : 69/28'
'met2.FILL : 69/28'
'met2.FILLS : 69/28'

but none worked. What is the right magic?

I can make a test case if needed but I'm hoping its obvious what I'm doing wrong.


  • This bit is supposed to follow "lyt's" above:

  • It looks like produce_fills & fills_datatype are the controls I need. The message could give more guidance.

  • Hi @mliberty,

    I suggest that maybe you use a .map file. That is much easier to use than the layer map specification inside the .lyt file. The original idea was to supply some pattern-based layer generation with additional translation, but I guess I messed it up. It is definitely not good for easy authoring.

    To use the map file feature, place a ".map" file next to the ".lyt" file (in my case "") listing the layer/purpose to layer/datatype mappings, like the example from here:

    Then use a .lyt specification of that form:


    without a path, the file is looked up relative to the technology file.

    Here is a brief description taken from the buddy tool's help text:

              Using a map file is an alternative way to specify layer mapping. With
              a layer mapping file, the individual target layers need to specified 
              individually for different layer/purpose combinations.
              The mapping file is one layer mapping entry per line. Each line is a 
              layer name, followed by a list of purposes (VIA, PIN ...) and a layer
              and datatype number. In addition, 'DIEAREA', 'REGION' and 'BLOCKAGE' 
              can be used to map the design outline, regions and blockages to a 
              layer. 'REGION' can have a detailed specifier which is 'FENCE', 
              'GUIDE' or 'NONE' for fence, guide or other type regions (e.g. 
              'REGION FENCE 99/0').
              'NAME' in place of the layer name and using layer/purpose in the 
              purpose column allows mapping labels to specific layers.
              This is an example for a layer map file:
              DIEAREA ALL 100 0
              M1 LEFPIN 12 0
              M1 PIN 12 2
              M1 NET 12 3
              M1 SPNET 12 4
              M1 VIA 12 5
              M1 BLOCKAGE 12 10
              NAME M1/PIN 12 10
              VIA1 LEFPIN,VIA,PIN,NET,SPNET 13 0
              M2 LEFPIN,PIN,NET,SPNET,VIA 14 0
              If a map file is used, only the layers present in the map file are 
              generated. No other layers are produced.

    Hope this helps.


  • This looks more like a layertable, I like it. Probably a better
    thing for PDK which wants to control what layers are and aren't
    picked up from a layout (no auto-add or multiple entries sharing
    layer & purpose generated by opening a file).

    Are there warnings emitted when layers not enumerated,
    are found & discarded?

    Can a .map be generated from a opened .lyp (other than by
    retyping it all)??

  • Hi @dick_freebird,

    unlike the .lyp, the mapping file is based on LEF/DEF layer/purpose pairs, so there is no direct way to translate .lyp to the mapping file.

    And yes, a warning is issued if layers are encountered that are not listed in the file.


Sign In or Register to comment.