• 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. Blogs
  2. Digital Design
  3. Five-Minute Tutorial: Avoiding The Use Of FILL1 Cells
Kari
Kari

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
EDI
fill1
filler cells
encounter
45nm
checkFiller
Digital Implementation
Placement

Five-Minute Tutorial: Avoiding The Use Of FILL1 Cells

25 May 2011 • 2 minute read

A new thing that we're seeing with some 45nm libraries is the rule that single-wide filler cells should not be used. At first, this may seem like a difficult thing to ensure in your design flow, but Encounter Digital Implementation system has the ability to handle this. You just have to know the right settings -- and today you'll learn them in five minutes or less.

First, we need to tell the placer that we don't want any gaps between cells that would be the size of a single-wide filler cell. In this example, a single-wide filler is 0.14um wide, so we want the minimum gap to be at least twice that, 0.28um. We also want to set the effort level to high, which means that the placer (or refinePlace in the later parts of the flow) can move cells between rows in order to avoid single-wide gaps. If for some reason you want cells to stay on the same row, set this to medium -- but be aware that all violations may not be able to be fixed.

    setPlaceMode -fillerGapEffort high -fillerGapMinGap 0.28

Next, we want to make sure that no FILL1 cells get added when we do our filler cell step. Make sure you don't list the FILL1 cell from your library! Some libraries are leaving the FILL1 cell out completely, so you wouldn't even be able to include it, but some still have a FILL1 cell, so you need to be careful. Make sure you include a FILL3 cell if there is one -- it can be tempting to only use the 2/4/8/16 sizes. The -fitGap parameter is what's really important here; this will tell addFiller to use different combinations of filler cells as needed to avoid single-wide gaps. For example, if there is a 5-site-wide gap that needs filler cells, instead of the standard method of using a FILL4 and then having a single-width gap, addFiller will see that the single-width gap can be avoided by using a FILL3 and a FILL2.

    setFillerMode -corePrefix FILL -core {FILL16 FILL8 FILL4 FILL3 FILL2} -fitGap true

Let's say you've finished your design and you want to check if there really are any single-width gaps left. That's easy too:

    checkFiller -reportGap 0.14 -highlight

(For a bit more on the checkFiller command and a few other neat things, see this previous blog entry.)

Bonus: Oh no -- what if you're already halfway done with your design and you just found out about this requirement? Relax - all is not lost. There is another command that may help you save the day. Two things to be aware of, however: the command does not move cells that are marked FIXED, and it will delete all routing unless you set the "preserveRouting" switch in setPlaceMode. The effort level settings are the same as in setPlaceMode -fillerGapEffort.

    setPlaceMode -preserveRouting true
    addFillerGap 0.28 -effort high

That's all there is to it. If you find that you're still ending up with single-wide gaps, it's likely due to some sort of design constraint -- FIXED cells, a specific floorplan issue, etc. If you examine the area closely, you'll likely find the cause.

Kari Summers


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

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

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