Исследование обычного умножения на нашей библиотеке
Запуск производился на 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
Результаты