|
|
(не показана одна промежуточная версия этого же участника) |
Строка 1: |
Строка 1: |
− | Для того чтобы проанализировать конкурентоспособность модулярной арифметики, были проведены тесты прямых/обратных преобразователей для спец модулей вида <math>(2^n-1, 2^n, 2^n+1)</math>. Сравнение производилось для широкого динамического диапазона до 128 бит. Соответственно, параметр <math>n</math> варьировался от 3 до 43. Методы построения преобразователей были заимствованы из книги ''Residue number systems: Theory and implementation (Amos Omondi, Benjamin Premkumar)''. Синтез проводился с помощью САПР Synopsys Design Compiler.
| |
| | | |
− | == Генераторы Verilog-модулей ==
| |
− | Исследовались следующие преобразователи:
| |
− | # [http://vscripts.ru/2012/forward-converter-2supn-generator.php Генератор Verilog для прямого преобразователя в базиса вида (2<sup>n</sup>-1, 2<sup>n</sup>, 2<sup>n</sup>+1)] - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Романа).
| |
− | # [http://vscripts.ru/dima/fwd_generator.php Генератор Verilog для прямого преобразователя в базиса вида (2<sup>n</sup>-1, 2<sup>n</sup>, 2<sup>n</sup>+1)] - прямой преобразователь из позиционной системы счисления в систему остаточных классов (версия Димы).
| |
− | # [http://vscripts.ru/2012/reverse-converter-2supn-generator.php Генератор Verilog для обратного преобразователя из базиса вида (2<sup>n</sup>-1, 2<sup>n</sup>, 2<sup>n</sup>+1)] - сверхбыстрый обратный преобразователь в позиционную систему.
| |
− |
| |
− | == Библиотека стандартных ячеек ==
| |
− | <pre>
| |
− | NangateOpenCellLibrary.lib
| |
− | </pre>
| |
− |
| |
− | == Скрипт для запуска ==
| |
− | <pre>
| |
− | 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
| |
− | </pre>
| |
− |
| |
− | == Результаты эксперимента ==
| |
− | [[Изображение:Espresso1.JPG]]
| |
− | [[Изображение:Espresso2.JPG]]
| |
− |
| |
− | * [http://vscripts.ru/res/files/espresso_test.xlsx Скачать Excel-файл с численными данными]
| |