Комплексное исследование обратных преобразователей — различия между версиями
Материал из Модулярная арифметики
Turbo (обсуждение | вклад) (Новая страница: «== Описание эксперимента == Было проведено исследование универсальных обратных преобраз…») |
(нет различий)
|
Версия 12:20, 19 августа 2013
Содержание
Описание эксперимента
Было проведено исследование универсальных обратных преобразователей (для произвольных систем модулей). Для тестирования использовались следующие подходы:
- Комбинационный обратный преобразователь на базе CRT II с пирамидальной структурой: Пример (Модули: 3 5 7)
- Конвеерный обратный преобразователь на базе CRT II с пирамидальной структурой: Пример (Модули: 3 5 7)
- Конвеерный на базе полиадического кода, построенный на базе таблиц (LUT): Пример (Модули: 3 5 7)
- Конвеерный на базе полиадического кода, без таблиц: Пример (Модули: 3 5 7)
Исследовались задержка и площадь. Также для спец. систем модулей сравнивались параметры со специализированными конвертерами.
Библиотека стандартных ячеек
NangateOpenCellLibrary.lib
Скрипт для запуска
set seq_run {"poilad-lut-511-512-513" "poilad-511-512-513" "seq-511-512-513"}
set comb_run {"comb-511-512-513"}
foreach design $comb_run {
lappend search_path "../libs" "../src" "./verilog" "./"
set target_library "NangateOpenCellLibrary.db"
set link_library [list "*" $target_library]
analyze -format verilog $design.v
elaborate reverse_conv
uniquify
current_design reverse_conv
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 -max_paths 10 > "timing.$design.rpt"
report_area > "area.$design.rpt"
report_power -analysis_effort high > "power.$design.rpt"
remove_design -all
}
#with_clock
foreach design $seq_run {
lappend search_path "../libs" "../src" "./verilog" "./"
set target_library "NangateOpenCellLibrary.db"
set link_library [list "*" $target_library]
analyze -format verilog $design.v
elaborate reverse_conv
uniquify
current_design reverse_conv
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
create_clock clk -period 0.1
set_clock_uncertainty 0.0 [all_clocks]
set_dont_touch_network [all_clocks]
compile
report_timing -significant_digits 6 -max_paths 10 > "timing.$design.rpt"
report_area > "area.$design.rpt"
report_power -analysis_effort high > "power.$design.rpt"
remove_design -all
}