Сравнение SAD-процессоров позиционный vs модулярный
Сравнение обычного позиционного SAD-процессора с модулярной реализацией в базисе {2
n-1, 2
n, 2
n+1} показало что:
- Cхема похоже является слишком простой и содержит слишком малое количество уровней, что бы модулярная реализация дала выигрыш при наличии прямых и обратных преобразователей.
- В SAD варианте даже отдельные модулярные каналы имеют задержку выше чем у позиционного варианта устройства, из-за того что, во-первых, сама схема содержит только сложения и вычитания (т.е. отсутствует умножение), а во-вторых, модулярные сумматоры и вычитатели работают хуже обычных сумматоров, даже не смотря на то что у них ниже разрядность входных данных.
- Площадь модулярных устройств в 3-4 раза больше, чем у позиционной реализации. В модулярном виде она растет быстрее, чем в позиционном.
- В SSD варианте удается приблизиться по времени работы к позиционному варианту даже с учетом преобразователей, более того скорость на модулярных каналах выше чем у позиционного варианта.
Выводы:
- Для SAD-процессора в варианте без умножения нет смысла использовать его модулярное представление
- Модулярное представление имеет смысл для SSD варианта, однако есть несколько ограничений:
- необходимо покрыть затраты на прямые и обратные преобразователи, либо делая схему счета трёхтактовой (прямое и обратное преобразование здесь менее затратны, чем прямой канал), либо делая модулярным не только SAD-процессор но и вышестоящий диспетчер кадров.
- SSD реализация применяется на практике гораздо реже
- SSD реализация требует больше площади на кристале
Замечания по эксперименту:
- Для генерации SAD-процессоров использовали следующие скрипты: Позиционный, Модулярный
- В качестве технологической библиотеки использовалась: Nangate Open Cell Library 45 nm
- Для расчета задержки и площади использовался Synopsys Design Compiler, а для верификации ModelSim Student Edition
- Реализация модулярных сумматоров и вычитателей может быть не самой эффективной, что теоретически может сделать исследование слегка пессимистичным.
Результирующая таблица:
| | | | | | | | | | | | |
. | DIM1 | DIM2 | Bit Pixel | Type (SSD or SAD) | Timing | Timing | Area | Area | | Forward | Channel | Backward |
. | | | | | Standard | Modular | Standard | Modular | | Conversion | Time | Conversion |
. | | | | | | | | | | | | |
. | 4 | 4 | 8 | SAD | 1.25 | 3.05 | 5984 | 14442 | | 0.78 | 1.54 | 0.72 |
. | 4 | 4 | 16 | SAD | 1.62 | 4.55 | 13748 | 42956 | | 1.46 | 2.23 | 0.86 |
. | 4 | 4 | 8 | SSD | 2.65 | 3.54 | 14037 | 48042 | | 0.56 | 2.19 | 0.8 |
. | 4 | 4 | 16 | SSD | 4.33 | 4.83 | 41026 | 1424569 | | 0.5 | 3.5 | 0.84 |
Задержки в таблице в нс, площадь в мкм
2.