• 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. [Innovus] How to relative place 2 standard cells abut?

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 92
  • Views 14241
  • 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

[Innovus] How to relative place 2 standard cells abut?

huybui
huybui over 4 years ago

Hi all,

I have a placement requirement for the synchronizer flops that 2 flops of synchronizer block must be placed abut as below:

There are so many synchronizer blocks in my design so I cannot place the flops manually. 

Is there any way to tell INNOVUS to place the synchronizer flops as above pattern automatically (like ICC2 relative placement)?

Many thanks

  • Cancel
Parents
  • Dimo M
    Dimo M over 4 years ago

    Hi,
    in Innovus the relative placement is called structured data path (SDP). You can define an SDP group for the two registers and the placer will make sure to place them next to each other.
    The SDP constraints are applied prior to placing the design, using either TCL commands or an SDP file with a dedicated format.
    If you leave the group floating, i.e. without defining an origin, then the placer will decide on itself where the optimal location for the group is.

    More details about SDP can be found in the Innovus user guide here: Using Structured Data Paths

    Please pay attention to the examples in the user guide, as you need to set some switches to make place_design honor the SDP groups.

    Dimo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • huybui
    huybui over 4 years ago in reply to Dimo M

    Hi Dimo, 

    I tried SDP with 2 switch -place_global_sdp_place true and -place_global_sdp_alignment true at place_opt_design, but don't know why innovus create so many SDP groups that I do not define. Each innovus-inferred SDP group contains ~ 20 flops that cause many short violations. 

    Please help to review if my settings are correct.

    Many thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Dimo M
    Dimo M over 4 years ago in reply to huybui

    The following two settings should be just enough to create a single SDP group with the two registers:
    setPlaceMode -place_global_sdp_place true -place_global_sdp_alignment true
    createSdpGroup -name topF -inst "FF1 FF2"  -type row
    place_opt_design

    The instance list for createSdpGroup supports the ’glob ’-style wildcards ’*’, representing one or more characters, and ’?’ representing exactly one character.
    Did that maybe caused some more cells to be added to the group?

    You can review your SDP groups prior to place_opt_design either in the GUI or by querying the database.

    A visual representation of the content of the SDP groups in the design is available through the SDP browser.
    To open the browser, open the menu ‘Floorplan’ -> Structured Data Path.
    The browser window gives an overview of the existing SDP groups and its elements and offers a possibility to manipulate some of the SDP attributes.

    The SDP groups that are not instantiated in another SDP group are called “top SDPs”. They are stored in the database as a list in the floorplan attribute .topSdps. Querying all SDP groups in the database can be done with:
    innovus> dbGet top.fPlan.topSdps.??


    Dimo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Dimo M
    Dimo M over 4 years ago in reply to huybui

    The following two settings should be just enough to create a single SDP group with the two registers:
    setPlaceMode -place_global_sdp_place true -place_global_sdp_alignment true
    createSdpGroup -name topF -inst "FF1 FF2"  -type row
    place_opt_design

    The instance list for createSdpGroup supports the ’glob ’-style wildcards ’*’, representing one or more characters, and ’?’ representing exactly one character.
    Did that maybe caused some more cells to be added to the group?

    You can review your SDP groups prior to place_opt_design either in the GUI or by querying the database.

    A visual representation of the content of the SDP groups in the design is available through the SDP browser.
    To open the browser, open the menu ‘Floorplan’ -> Structured Data Path.
    The browser window gives an overview of the existing SDP groups and its elements and offers a possibility to manipulate some of the SDP attributes.

    The SDP groups that are not instantiated in another SDP group are called “top SDPs”. They are stored in the database as a list in the floorplan attribute .topSdps. Querying all SDP groups in the database can be done with:
    innovus> dbGet top.fPlan.topSdps.??


    Dimo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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