Monday, November 9, 2015

Buffer Strategy

Buffer Strategy for Optimization
During the optimization step, the place_opt cmd introduces buffers and inverters to fix timing and DRC violations. However, this buffering strategy is local to some critical paths. The buffers and inverters that are inserted become excess later because critical paths change during the course of optimization. You can reduce the excess buffer and inverter counts after place_opt by using
 the set_buffer_opt_strategy command, as the following example:
icc_shell> set_buffer_opt_strategy -effort low

This buffering strategy will not degrade the quality of results (QoR).

Setting the Preferred Buffers for Hold Fixing

You can specify a list of preferred buffers to fix hold violations during preroute optimization by using the set_prefer and set_fix_hold_options commands. For example, the following cmds insturct the tool to use cells BUF1 and BUF2 as the preferred cells during hold fixing. Note that cells BUF1 and BUF2 as the preferred cells during hold fixing. Note that cells BUF1 and BUF2 can also be used to resolve setup and DRC violations.

icc_shell>set_prefer -min {BUF1 BUF2}
icc_shell>set_fix_hold_options -preferred_buffer
icc_shell>psynopt -congestion -area_recovery

If you use the set_dont_use command to set the dont_use attribute on cells BUF1 and BUF2 as shown in the follwoing script, ICC use cells BUF1 and BUF2 to fix hold violations, but not setup and DRC violations.

icc_shell> set_prefer -min {BUF1 BUF2}
icc_shell> set_fix_hold_options -preferred_buffer
icc_shell> set_dont_use {BUF1 BUF2}
icc_shell> psyopt -congestion -area_recovery







No comments:

Post a Comment