Вы находитесь на странице: 1из 6

2.

Synopsys Commands

Command Reference
set_dp_smartgen_options

NAME
set_dp_smartgen_options
Controls the strategies that are used when datapath smart generation is active.
SYNTAX
status set_dp_smartgen_options
[-all_options auto | true | false | default]
[-booth_encoding auto | true | false]
[-booth_radix8 auto | true | false]
[-booth_mux_based auto | true | false]
[-booth_cell auto | true | false]
[-mult_radix4 auto | true | false]
[-mult_nand_based auto | true | false]
[-inv_out_adder_cell auto | true | false]
[-4to2_compressor_cell auto | true | false]
[-adder_radix auto | 2 | 3 | 4]
[-ling_adder auto | true | false]
[-hybrid_adder auto | true | false]
[-carry_select_adder_cell auto | true | false]
[-cond_sum_adder auto | true | false]
[-sklansky_adder auto | true | false]
[-brent_kung_adder auto | true | false]
[-bounded_fanout_adder auto | true | false]
[-mux_based auto | true | false]
[-inv_adder_cell auto | true | false]
[-sop2pos_transformation auto | true | false]
[-tp_opt_tree auto | true | false]
[-tp_oper_sel auto | true | false]
[-smart_compare auto | true | false]
[-optimize_for default | area | speed | area,speed]
[-power_effort off | auto | medium | high]
[-hierarchy]
[design or cell list]
ARGUMENTS
-all_options auto | true | false | default
Specifies the default value for all smart generation options.
It can be used with other switches to give a specific value to
one option and default values to other options.
The -all_options argument also accepts the value of default.
With this value all smart generation options are set to their
default state.
The value of -all_options is always processed before any other
options.
-booth_encoding auto | true | false
Controls whether or not Booth encoding architectures are used to
implement multipliers.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.

-booth_radix8 auto | true | false


Controls whether or not radix-8 Booth encoding architectures are
used to implement multipliers. This option is only active if
the -booth_encoding option is active (set to auto or true).
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-booth_mux_based auto | true | false
Controls whether MUX-based Booth encoding is used. MUX-based
encoding can give better QoR for technologies with fast multiplexer cells. Otherwise, xor-based Booth encoding is used.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-booth_cell auto | true | false
Controls the usage of special Booth multiplier cells in the target library for this compilation.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-mult_radix4 auto | true | false
Controls whether or not radix-4 non-Booth architectures are used
to implement multipliers. This option is only active if the
-booth_encoding option is inactive (set to auto or false).
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used. This option is only available in DesignWare minPower flow.
-mult_nand_based auto | true | false
Controls the usage of NAND-based multiplier structure. NonBooth multipliers use AND gates or an INVERT-NOR structure to
generate the partial-product bits. This option allows the use of
NAND gates to produce inverted bits, which are then added
directly. This can result in lower dynamic power and less
glitching.
When set to auto, the default, the option is only used
tool determines there is a QoR benefit and if dynamic
optimized. When set to true, the option is always used,
set to false, the option is never used. The option
take effect when Booth encoding is used in multipliers.

if the
power is
and when
does not

-inv_out_adder_cell auto | true | false


Controls the usage of full adder cells with inverted sum and
carry outputs in the target library for this compilation.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the

option is always used, and when set to false, the option is


never used.
-4to2_compressor_cell auto | true | false
Controls the usage of 4-2 compressor cells in the target library
for this compilation.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-adder_radix auto | 2 | 3 | 4
Controls the radix of the prefix structure in adders. Most
adder architectures use a parallel-prefix structure to propagate
carries. The default prefix structure has radix 2 (combines 2
bits per prefix node). Radix 3 and 4 (combine 3 or 4 bits per
prefix node) result in fewer but more complex prefix nodes. They
can deliver better QoR if special cells are available in the
technology to implement them.
When set to auto, the optimal radix is automatically selected
for best QoR. When set to 2, 3 4 the radix is set accordingly.
The default is 2.
-ling_adder auto | true | false
Controls whether or not to use Ling adder architectures.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-hybrid_adder auto | true | false
Controls whether or not to use hybrid parallel-prefix/carryselect adder architectures (spanning-tree adder).
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-carry_select_adder_cell auto | true | false
Controls the usage of carry select adder cells in the target
library for this compilation.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-cond_sum_adder auto | true | false
Controls whether or not to use conditional-sum adder architectures.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.

-sklansky_adder auto | true | false


Controls whether or not to use Sklansky parallel-prefix adder
architectures. This is a static architecture that is not optimized for context. It usually gives worse QoR but can be more
predictable.
When set to auto, the option is only used if the tool determines
there is a QoR benefit. When set to true, the option is always
used, and when set to false, the default, the option is never
used.
-brent_kung_adder auto | true |
Controls whether or not
architectures. This is a
mized for context. It
predictable.

false
to use Brent-Kung parallel-prefix adder
static architecture that is not optiusually gives worse QoR but can be more

When set to auto, the option is only used if the tool determines
there is a QoR benefit. When set to true, the option is always
used, and when set to false, the default, the option is never
used.
-bounded_fanout_adder auto | true | false
Controls whether or not to use bounded fanout adder architectures (Kogge-Stone parallel-prefix).
When set to auto, the option is only used if the tool determines
there is a QoR benefit. When set to true, the option is always
used, and when set to false, the default, the option is never
used.
-mux_based auto | true | false
Controls whether or not mux-based architectures should be considered by datapath generators.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-inv_adder_cell auto | true | false
Controls the usage of full adder cells with inverted carry-in or
carry-out in the target library for this compilation.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit. When set to true, the
option is always used, and when set to false, the option is
never used.
-sop2pos_transformation auto | true | false
Controls whether "sop to pos" optimization strategies can be
used in datapath blocks. An example of a "sop 2 pos" transformation is as follows:
a*b + a*c -> (b + c) * a
This optimization can potentially improve design area, at a possible cost in delay.
When set to auto, the default, the option is only used if the

tool determines there is a QoR benefit. When set to true, the


option is always used, and when set to false, the option is
never used.
-tp_opt_tree auto | true | false
Controls whether the carry-save adder tree should be optimized
for low power based on transition probabilities (TP). This
optimization can reduce internal switching activity and therefore dynamic power in SOPs when the inputs have a non-uniform
transition probability distribution.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit and if dynamic power is
optimized. When set to true, the option is always used if
dynamic power is optimized, and when set to false, the option is
never used.
-tp_oper_sel auto | true | false
Controls whether multiplier input operands are selected
(ordered) for low power based on transition probability (TP).
This optimization can reduce internal switching activity and
therefore dynamic power in Booth multipliers when the inputs
have significantly different transition probabilities.
When set to auto, the default, the option is only used if the
tool determines there is a QoR benefit and if dynamic power is
optimized. When set to true, the option is always used if
dynamic power is optimized, and when set to false, the option is
never used. The option only affects multipliers with Booth
encoding.
-smart_compare auto | true | false
Controls whether comparator inputs are ordered for better timing. Depending on the logic depth of the comparator logic, an
inverter is required at the output. Flipping the inputs eliminates the need for this inverter and shortens the critical path.
When set to auto, the default, or true the option is used if the
tool determines there is a QoR benefit. When set to false, the
option is not used.
-optimize_for default | area | speed | area,speed
Supplies a specific optimization goal for the specified cells.
This command overrides the default optimization goals for the
specified cell or cells.
-power_effort off | auto | medium | high
Supplies a specific power optimization goal for the specified
cells. This option takes effect in the DesignWare minPower flow.
It guides the generator on power optimization. When the effort
is off, the generator does not optimize the netlist for power.
When the effort is medium, the generator sacrifices delay for
power optimization. When the effort is high, the generator sacrifices more delay for power.
When the power effort is set to medium or high, the delay/power
tradeoff is done on the generated netlist. After the generated
design is ungrouped, Design Compiler might recover the timing
and give back the power gain. Therefore, the power savings from
medium and high effort is not guaranteed. The delay/power trade-

off feature is most useful for designs that can meet the timing
constraint.
-hierarchy
By default, the smartgen options are only applied to the current
level of hierarchy of the specified objects. When this option
is specified, the command automatically applies the smartgen
options on all the child instances of the specified objects.
design or cell list
An optional list of cells and designs. When present, the switch
settings in this command affect only the specified objects.
If you set conflict smartgen options on a design and an instance
that instantiates this design, you get a warning message. The
setting on the instance is used by the generator.
Option values set on specific objects are listed in the implementation report by report_resources.
DESCRIPTION
The set_dp_smartgen_options command controls smart generation strategies used in datapath synthesis. Datapath generators select from these
strategies to improve the final QoR.
The default value for all smart generation strategies is auto.
EXAMPLES
The following example uses set_dp_smartgen_options to control the usage
of booth encoded architectures when generating multipliers.
prompt> set_dp_smartgen_options -booth_encoding true
The following example sets all the options to auto, except for
-booth_encoding, which is set to true and overrides the value of
-all_options:
set_dp_smartgen_options -all_options auto -booth_encoding true
SEE ALSO
report_dp_smartgen_options(2)
Version J-2014.09-SP1
Copyright (c) 2014 Synopsys, Inc. All rights reserved.

Вам также может понравиться