• 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. Synthesizing Specific Gates in Cadence Genus

Stats

  • Replies 2
  • Subscribers 92
  • Views 1227
  • Members are here 0

Synthesizing Specific Gates in Cadence Genus

SR202412023415
SR202412023415 2 months ago

Hello Cadence Community,

I'm working on a flattened netlist in Cadence Genus for a design and would like to apply targeted synthesis optimizations to a specific list of gates (e.g., g1234, g5678) while keeping the rest of the design unchanged. Is it possible to synthesize or optimize only these gates, and if so, how can I achieve this?

My current synthesis script uses commands like syn_generic, syn_map, and syn_opt, but these seem to reprocess the entire design, which I want to avoid. I'm using the NangateOpenCellLibrary_slow_ccs.lib library and have a list of gate names. Ideally, I'd like to apply optimizations such as using different cell types or adjusting attributes only for these gates.

Any guidance on commands (e.g., set_attr, incremental synthesis) or script modifications would be greatly appreciated. Thank you!

Best regards

  • Sign in to reply
  • Cancel
Parents
  • Frontend designer rr
    Frontend designer rr 2 months ago

    # Mark all cells dont_touch
    set_dont_touch [get_cells *]

    # Clear dont_touch on target gates only
    foreach gate {g1234 g5678} {
    set_dont_touch -clear [get_cells $gate]
    }

    # Optionally set mapping constraints on those gates
    set_map_cell -inst g1234 new_cell_type1
    set_map_cell -inst g5678 new_cell_type2

    # Run incremental optimization (only for gates without dont_touch)
    syn_opt -incremental
    syn_map -incremental

    # Optionally run further incremental steps
    syn_check       

    You can try above steps 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Frontend designer rr
    Frontend designer rr 2 months ago

    # Mark all cells dont_touch
    set_dont_touch [get_cells *]

    # Clear dont_touch on target gates only
    foreach gate {g1234 g5678} {
    set_dont_touch -clear [get_cells $gate]
    }

    # Optionally set mapping constraints on those gates
    set_map_cell -inst g1234 new_cell_type1
    set_map_cell -inst g5678 new_cell_type2

    # Run incremental optimization (only for gates without dont_touch)
    syn_opt -incremental
    syn_map -incremental

    # Optionally run further incremental steps
    syn_check       

    You can try above steps 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • SR202412023415
    SR202412023415 2 months ago in reply to Frontend designer rr

    Thanks for your reply. I faced couple of questions. 
    First, the "-clear" was not a valid option for me an I needed to use the following command, and I wanted to ensure it's still correct:


    # set_dont_touch -help
    set_dont_touch [get_cells *]
    set_dont_touch [get_cells {g372734 g372735 g372736 g372737}] false
    Also, set_map_cell was not a valid command for me and I needed to comment it out.

    Additionally, "
    syn_map" does not have -incremental option for me.

    After doing all these steps, when I checked the synthesized design, I realized that the re-synthesized netlist did not change at all.

    I would appreciate your help in advance.
    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • 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