Home > Community > Blogs > Digital Implementation > five minute tutorial avoiding the use of fill1 cells
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Digital Implementation blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Five-Minute Tutorial: Avoiding The Use Of FILL1 Cells

Comments(0)Filed under: Digital Implementation, encounter, EDI, filler cells, checkFiller, 45nm, placement, fill1

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


Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community 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.