• 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. optDesign removes fillers

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 91
  • Views 15515
  • 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

optDesign removes fillers

Johann Glaser
Johann Glaser over 14 years ago

HI!

I'm using the Foundation Flow for a flat design. While running all steps I find that "route" uses addFiller to fill the core area with filler cells. Opening the database with the GUI shows that it really contains these filler.

The next step "postroute" uses optDesign -postRoute which removes all fillers again. There is no later place where these fillers would be added again.

Could you please help me to persuade optDesign to let my fillers alone? :-)

Thanks

  Hansi

  • Cancel
  • Scrivner
    Scrivner over 14 years ago

     You might try looking at the documentation for the command "setFillerMode". This command tells Encounter which filler cells to use for the design. Then when optDesign is run, it will remove the existing fillers in order to make room for optimization buffers but also it will replace fillers automatically at the end of the optimization stage.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Johann Glaser
    Johann Glaser over 14 years ago

    Hi!

    Thanks for your quick answer. The manual on "setFillerMode" does not mention anything aboutthe optDesign command.

     I've now tried once again with no luck. I loaded the routed design (after step "route" of the Foundation scripts), which indeed has fillers.getFillerMode returns that the only non-default settings are the filler cells and the prefix.

    > getFillerMode 
    -core {FILL25 FILL10 FILL5 FILL2 FILL1}    # string, default="", user setting
    -corePrefix FILL                     # string, default=FILLER, user setting
    -createRows true                     # bool, default=true
    -deleteFixed true                    # bool, default=true
    -doDRC true                          # bool, default=true
    -ecoMode false                       # bool, default=false
    -fitGap false                        # bool, default=false
    -honorPrerouteAsObs false            # bool, default=false
    -merge false                         # bool, default=false
    -minHoleCheck false                  # bool, default=false
    -viaEnclosureCheck false             # bool, default=false

    When I run "optDesign -postRoute", it first removes all filler cells:

    Deleted 1 physical inst  (cell FILL25 / prefix FILL).
    Deleted 12 physical insts (cell FILL10 / prefix FILL).
    Deleted 19 physical insts (cell FILL5 / prefix FILL).
    Deleted 36 physical insts (cell FILL2 / prefix FILL).
    Deleted 47 physical insts (cell FILL1 / prefix FILL).
    Total physical insts deleted = 115.

    but doesn't add them again after its run. I have to manually perform "addFiller" to get filler cells in.

    So, are the Foundation scripts intended to loose all fillers? Or did just nobody stumble upon this problem? Or does it have to do something with my libraries? Or with my settings?

    Thanks

      Hansi

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Scrivner
    Scrivner over 14 years ago

    As far as I can tell, with the settings you have from the getFillerMode, the fillers should be getting replaced automatically. It could be a bug. Have you tried a different version of the software? You may need to submit a service request.

     

    I looked through the documentation and found the following under "Performing Postroute Optimization":

     If filler cell definitions were provided during design import, optDesign removes or adds them as needed, following the information given by setFillerMode. For more information on this command, see setFillerMode in the "Placement Commands" chapter of the Encounter Digital Implementation System Text Command Reference.

     

    The above can be found under "Performing Postroute Optimzation" in Chapter 32 "Optimize Timing" of the "Encounter Digital Implementation System User Guide" version 9.1.2. In your installation directory, you should find this document here: <install_dir>/doc/soceUG/soceUGTOC.html.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Johann Glaser
    Johann Glaser over 14 years ago

    Hi!

    Thanks for the informative answer.

    I've also found the mentioned passage in the documentation of Encounter 8.1.

    I've verified the problem still exists by loading the data resulting from the "route" step and simply executing

    optDesign -postRoute

    from the command prompt. It still removes all filler cells but doesn't add new ones.

    Then I've tried Encounter 9.12, loaded the data from "route" and executed the very same command. It indeed adds filler cells after it is done.

    **optDesign ... cpu = 0:00:02, real = 0:00:02, mem = 346.6M **
    *INFO: Adding fillers to top-module.
    *INFO:   Added 1 filler inst  (cell FILL25 / prefix FILL).
    *INFO:   Added 12 filler insts (cell FILL10 / prefix FILL).
    *INFO:   Added 19 filler insts (cell FILL5 / prefix FILL).
    *INFO:   Added 36 filler insts (cell FILL2 / prefix FILL).
    *INFO:   Added 47 filler insts (cell FILL1 / prefix FILL).
    *INFO: Total 115 filler insts added - prefix FILL (CPU: 0:00:00.1).
    *INFO: Checking for DRC violations on added fillers.
    *INFO: Iteration 0-#1, Found 0 DRC violation  (real: 0:00:00.0).
    *INFO: Adding fillers to top-module.
    *INFO:   Added 0 filler inst of any cell-type.
    *INFO: End DRC Checks. (real: 0:00:00.0 ).
    *** Finished optDesign ***
    

    So it seems version 8.1 (v08.10-s273_1) really has a bug here, both in the 32 as well as the 64 bit version. :-(

    Thanks

      Hansi

    • 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