Результаты синтеза прямых/обратных преобразователей на спец модулях вида 2^n-1, 2^n, 2^n+1 для Д.Д. до 64 бит.
Материал из Модулярная арифметики
Версия от 08:32, 12 апреля 2013; DimaT (обсуждение | вклад)
Для того чтобы проанализировать конкурентоспособность модулярной арифметики, были проведены тесты прямых/обратных преобразователей для спец модулей вида . Сравнение производилось для широкого динамического диапазона до 128 бит. Соответственно, параметр варьировался от 3 до 43. Методы построения преобразователей были заимствованы из книги Residue number systems: Theory and implementation (Amos Omondi, Benjamin Premkumar). Синтез проводился с помощью САПР Synopsys Design Compiler.
Содержание
Генераторы Verilog-модулей
Исследовались следующие преобразователи:
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Романа).
- Генератор Verilog для прямого преобразователя в базиса вида (2n-1, 2n, 2n+1) - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Димы).
- Генератор Verilog для обратного преобразователя из базиса вида (2n-1, 2n, 2n+1) - сверхбыстрый обратный преобразователь в позиционную систему.
Библиотека стандартных ячеек
NangateOpenCellLibrary.lib
Скрипт для запуска
lappend search_path "../libs" "../src" set target_library "NangateOpenCellLibrary.db" set link_library [list "*" $target_library] analyze -f <имя модуля>.v elaborate <имя модуля> uniquify current_design <имя модуля> 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 > result/timing_<имя модуля>.rpt report_area > result/area_<имя модуля>.rpt remove_design -all
Результаты эксперимента