Исследование позиционного умножения на нашей библиотеке

Материал из Модулярная арифметики
Перейти к: навигация, поиск

Запуск производился на Synopsys Design Compiler.

Verilog-модуль вида

module dif_multipliers_12_12 (a,b,out);
   output wire [23:0] out;
   input  wire [11:0] a,b;
   assign out=a*b;
endmodule

Библиотека стандартных ячеек

NangateOpenCellLibrary_typical_conditional_nldm.lib

Скрипт для запуска

analyze -f verilog dif_multipliers_12_12.v
elaborate dif_multipliers_12_12
uniquify
current_design dif_multipliers_12_12
check_design
set_load [load_of [get_lib_pins NangateOpenCellLibrary/INV_X4/A]] [all_outputs]
set_driving_cell -lib_cell DFFRS_X2 -library NangateOpenCellLibrary -pin Q  [all_inputs] 
set_max_delay -to [all_outputs] 0 
set_max_area 0 
compile
report_timing -significant_digits 6 > timing_dif_multipliers_12_12.rpt
report_area > area_dif_multipliers_12_12.rpt
report_power -analysis_effort high > power_dif_multipliers_12_12.rpt
remove_design

Результаты

Std-Mul-Delay.png Std-Mul-Area.png Std-Mul-Power.png