2013-03-12 5 views
1

Мне не повезло найти это в Google, так вот:Существуют ли директивы компилятора для указания типа синтезируемого сумматора?

Кто-нибудь слышал о директиве компилятора, чтобы указать, какой тип сумматора синтезируется? Я искал что-то, что будет работать примерно так:

logic [7:0] a, b, c, d, e, f; 

/* ... */ 

// synopsys use_carry_look_ahead 
assign c = a + b; 

// synopsys use_carry_select 
assign f = d + e; 

FWIW, я пишу с SystemVerilog и используя компилятор Synopsys DC, но если кто-нибудь слышал о директивах для достижения этой цели для других компиляторов, я все уши.

Спасибо!

ответ

3

Не уверен, если это именно то, что вы ищете, но есть много вариантов сумматоров в set_dp_smartgen_options

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_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] 
      [-retime design_list] 
      [-retime_clk_period period_value] 
1

Я не знаю о прагме Synopsys, чтобы выбрать specfic реализацию, но документация DesignWare утверждает, что вы можете заставить компилятор проекта использовать одну из доступных архитектур.