• 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. Digital Implementation
  3. Using undesirable Metal Layer when using filler

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 90
  • Views 14401
  • Members are here 0
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

Using undesirable Metal Layer when using filler

archive
archive over 18 years ago

    Hello,

I am asking the encountyer tool to use fille in my design using this command;

setFillerMode -corePrefix FILL -core "FILL64 FILL32 FILL16 FILL8 FILL4 FILL2 FILL1"
addFiller
addMetalFill

I am using this command after globaldetail routing.
At the same time I asked the routing tool to use only metal 1 to 4 for routing using :
setmaxroutelayer 4
But when I look at the GDS file generated I see the encounter uses metal 5-6 and 7 for fillers. i was looking at my lef technology file and there the filler only specifies to use metal 1 !!!
so i just wonder how to modify this to make the filler uses metal 1 to 4 only.

Thanks,

Houman



Originally posted in cdnusers.org by houmanh
  • Cancel
  • archive
    archive over 18 years ago

    Hi houmanh,

    Reading your message, I was a little unclear on whether you're having trouble with filler cell addition -or- metal fill addition. To make sure we're on the same page here, and for the benefit of others who might come across your message, let's define what filler cells are vs. metal fill. They sound similar but are very different.

    Filler cells are standard cell-sized instances that we ask the tool to add to any circuit rows in the design that aren't already occupied by standard cells. The primary reason (there are several reasons) we add them is to maintain continuity in the horizontal power striping over the standard cell area. We use the "addFiller" command to add these to the design as you're showing nicely above.

    Metal fill addition involves the tool creating small rectangles of metal in the design to meet metal density requirements. We use the "addMetalFill" command to automate creation of these small rectangles in SoC-Encounter. There's a paper on this topic here:

    http://www.cdnusers.org/community/encounter/Resources/resources_imp/Route/tp_Grounded_floating_fillmetal.pdf

    Now that we hopefully have a common understanding of these 2 pieces of functionality, let's discuss what might be going wrong in your case. The "setMaxRouteLayer" is a super-command that instructs various components in the system that although there may be (for example) 6 metal layers defined for the technology, only 4 should be used for *routing*. Routing means the interconnect between instances in the design. Metal fill isn't considered routing. It's possible that one might seek to instruct the tool to route on metal 1 through 4, but they'd still want the tool to add fill on all 6 layers. Therefore, addMetalFill doesn't refer to what setMaxRouteLayer is set to.

    To instruct addMetalFill to add metal on layers 1 through 4, you can use the -layer command to restrict metal fill from being created for M5 and M6:

    addMetalFill -layer {1 2 3 4}

    Hope this helps,
    Bob


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

    Thanks Bob,
    That was really helpfull.
    here is another point: in the encounter help it says that:
    command order for addmetalfill: use this command after adding via fill.
    But I assume that if I donot ask the metal fill to be connected to any nets in my design i d o not need to use it after add via fill. I appreciate your comment on this.

    thanks,

    Houman


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

    Hi Houman,

    I'm glad you found the information helpful!

    That's a good point you make about the addMetalFill command order. Via fill is not required for all processes. You'll need to check whether the technology you're working with has a density requirement for vias- many processes do not. If your process does not require via fill, then you would *not* need to run addViaFill prior to running addMetalFill. The command order suggestion is only applicable for technologies that have both metal density and via density requirements. Taking the point further- even if you instruct the tool to do tied metal fill (that connects to gnd/vdd) you would not need to run addViaFill to make those connections. They would be made automatically by addMetalFill.

    Regards,
    Bob


    Originally posted in cdnusers.org by BobD
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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