Комплексное исследование обратных преобразователей — различия между версиями
Материал из Модулярная арифметики
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 76: | Строка 76: | ||
=== Модули (3 5 7) === | === Модули (3 5 7) === | ||
+ | * Дефолтный тест с малыми модулями | ||
<table cellpadding=5 cellspacing=0 border=1> | <table cellpadding=5 cellspacing=0 border=1> | ||
<tr> | <tr> | ||
Строка 115: | Строка 116: | ||
=== Модули (193 257 449) === | === Модули (193 257 449) === | ||
+ | * Типовые модули для небольшого модулярного FIR-фильтра | ||
+ | <table cellpadding=5 cellspacing=0 border=1> | ||
+ | <tr> | ||
+ | <td>Метод</td> | ||
+ | <td>Задержка</td> | ||
+ | <td>Общая латентность</td> | ||
+ | <td>Площадь</td> | ||
+ | <td>Мощность</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>CRT 2 Комбинационная</td> | ||
+ | <td>4.360145</td> | ||
+ | <td>4.360145</td> | ||
+ | <td>4162 </td> | ||
+ | <td>5.1871</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>CRT 2 Конвеерная</td> | ||
+ | <td>3.181364</td> | ||
+ | <td>6.362728</td> | ||
+ | <td>4317 </td> | ||
+ | <td>37</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Полиадический c LUT</td> | ||
+ | <td>1.034454</td> | ||
+ | <td>3.103362</td> | ||
+ | <td>81678 </td> | ||
+ | <td>107</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Полиадический без таблиц LUT</td> | ||
+ | <td>2.091278</td> | ||
+ | <td>6.273834</td> | ||
+ | <td>3213 </td> | ||
+ | <td>27</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | === Модули (3 5 7 11 13 17 23 31) === | ||
+ | * Много модулей малой разрядности | ||
<table cellpadding=5 cellspacing=0 border=1> | <table cellpadding=5 cellspacing=0 border=1> | ||
<tr> | <tr> |
Версия 11:35, 21 августа 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 }
Результаты
Модули (3 5 7)
- Дефолтный тест с малыми модулями
Метод | Задержка | Общая латентность | Площадь | Мощность |
CRT 2 Комбинационная | 1.657336 | 1.657336 | 588 | 0.454 |
CRT 2 Конвеерная | 1.03069 | 2.06138 | 678 | 0.493 |
Полиадический c LUT | 0.408523 | 1.225569 | 468 | 2.3425 |
Полиадический без таблиц LUT | 0.694463 | 2.083389 | 507 | 3.1857 |
Модули (193 257 449)
- Типовые модули для небольшого модулярного FIR-фильтра
Метод | Задержка | Общая латентность | Площадь | Мощность |
CRT 2 Комбинационная | 4.360145 | 4.360145 | 4162 | 5.1871 |
CRT 2 Конвеерная | 3.181364 | 6.362728 | 4317 | 37 |
Полиадический c LUT | 1.034454 | 3.103362 | 81678 | 107 |
Полиадический без таблиц LUT | 2.091278 | 6.273834 | 3213 | 27 |
Модули (3 5 7 11 13 17 23 31)
- Много модулей малой разрядности
Метод | Задержка | Общая латентность | Площадь | Мощность |
CRT 2 Комбинационная | 4.360145 | 4.360145 | 4162 | 5.1871 |
CRT 2 Конвеерная | 3.181364 | 6.362728 | 4317 | 37 |
Полиадический c LUT | 1.034454 | 3.103362 | 81678 | 107 |
Полиадический без таблиц LUT | 2.091278 | 6.273834 | 3213 | 27 |