ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1261005
st256 (21.11.2022 19:46, просмотров: 6497) Evgeny_CD
TMS320C67хх. Размышляю над тем, что сотворил. 

Нарисовал обычный КИХ-фильтр. Замерил количество тактов на один коэффициент и офигел - немного меньше 10. Теперь почему так получилось.

1. Циркулярные буфера там кратные степени 2. А у меня количество коэффициентов произвольное.

2. Импульсная характеристика может быть несимметричной и любого размера, хоть 1 коэффициент. Поэтому не стал в параллель пускать два АЛУ. Хотя... Может и зря...

3. Заказчик не очень продвинутый, и объяснять ему, что 16-битные коэффициенты не дают хорошего затухания и фильтры нужно каскадировать, я не стал. Просто сделал коэффициенты 32-битные.

4. Похоже, у этого проца нет... инструкции MAC...

5. Операции округления также не нашел. Поэтому, чтобы не росла постоянная составляющая, делаю округление вручную.

6. Там есть возможность организации цикла, но на столько муторная, что я в нее не полез. Тоже зря?


Собрал этого монстра и ужаснулся. 10 тактов при 8 АЛУ. Ожидаю заслуженной критики от аксакалов, ибо зеленая молодежь об этом раритете, где конфликты конвейера нужно контролировать вручную, надеюсь, не знает.