- •Введение
- •1. Проектирование умножителей в базисе плис
- •Двоичная арифметика
- •Представление чисел со знаком
- •1.3. Матричные умножители
- •1.4. Проектирование умножителя методом правого сдвига и сложения с управляющим автоматом в базисе плис
- •1.5. Проектирование умножителя целых чисел со знаком методом правого сдвига и сложения в базисе плис
- •1.6. Общие сведения по программным умножителям в базисе плис
- •1.7. Разработка проекта умножителя размерностью 4x4 в базисе плис типа ппвм серии Cyclone фирмы Altera с помощью учебного лабораторного стенда leso2.1
- •2. Проектирование цифровых фильтров в базисе плис
- •2.1. Проектирование ких-фильтров с использованием системы визуально-имитационного моделирования Matlab/Simulink
- •2.2. Проектирование параллельных
- •2.4. Проектирование ких-фильтра с использованием умножителя на методе правого сдвига и сложения
- •2.5. Проектирование квантованных ких-фильтров
- •2.6. Систолические фильтры в базисе плис
- •2.7. Проектирование систолических ких-фильтров в базисе плис с использованием системы цифрового моделирования ModelSim-Altera
- •3. Проектирование цифровых автоматов на языке vhdl для реализации в базисе плис
- •3.1. Проектирование цифровых автоматов Мура, Мили по диаграммам переходов
- •3.2. Кодирование с одним активным состоянием
- •3.2.1. Использование “ручного” способа кодирования состояний цифрового автомата
- •3.2.2. Использование различных стилей кодирования состояний цифровых автоматов на языке vhdl
- •3.3. Использование цифровых автоматов в технологии периферийного сканирования бис
- •3.4. Проектирование цифровых автоматов с использованием системы matlab/simulink и сапр плис Quartus II
- •4. Проектирование микропроцессорных ядер для реализации в базисе плис
- •4.1. Проектирование учебного процессора для реализации в базисе плис с помощью конечного автомата
- •4.2. Использование различных типов памяти при проектировании учебного микропроцессорного ядра для реализации в базисе плис
- •4.3. Проектирование учебного процессора для реализации в базисе плис с использованием системы Matlab/Simulink
- •4.4. Проектирование учебного процессора с фиксированной запятой в системе Matlab/Simulink
- •4.5. Проектирование учебного процессора с фиксированной запятой в сапр плис Quartus II
- •4.6. Проектирование микропроцессорных ядер с конвейерной архитектурой для реализации в базисе плис
- •4.7. Использование ресурсов плис Stratix III фирмы Altera при проектировании микропроцессорных ядер
- •4.8. Проектирование микропроцессорных ядер с использованием приложения StateFlow системы Matlab/Simulink
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
2.4. Проектирование ких-фильтра с использованием умножителя на методе правого сдвига и сложения
Рассмотрим уравнение КИХ-фильтра (нерекурсивного цифрового фильтра с конечно-импульсной характеристикой) которое представляется как арифметическая сумма произведений:
, (2.16)
где отклик цепи; ая входная переменная; весовой коэффициент ой входной переменной, который является постоянным для всех ; число отводов фильтра.
На рис.2.42 показана тестовая схема КИХ-фильтра на 4 отвода в САПР ПЛИС Quartus II для реализации в базисе ПЛИС серии Cyclone II состоящая из линии задержки, 4-х умножителей и дерева многоразрядных сумматоров. Предположим что коэффициенты фильтра целочисленные со знаком, известны и равны , , и .
Числа (входные отсчеты) поступают с выходов линии задержки на регистрах reg_tap на входы data_in[3..0] мегафункции ALTMEMMULT. Константы и в которых хранятся значения коэффициентов в дополнительном коде (14D, 15D, 7D и 6D) подключены к входам coeff_in[3..0]. В каждой из 4 мегафункций ALTMEMMULT в блочной памяти ПЛИС типа M9K хранятся нулевые коэффициенты (могут быть и не нулевыми). Режим загрузки с внешнего порта или из блочной памяти определяется опцией create ports to allow loading coefficients. Латентность мегафункции 2 такта синхроcигнала. Смоделируем прохождение дельта функции по структуре фильтра. Для этого на вход линии задержки фильтра X0[3..0] в дополнительном коде подадим единичный импульс лог.1. На выходе фильтра Mem_mult[7..0] видим коэффициенты фильтра (импульсную характеристику) (рис.2.43).
Подадим на вход КИХ-фильтра входные отсчеты -5, 3, 1 и 0 (рис.2.44). Правильные значения на выходе фильтра: 10, -1, -40, -10, 25, 6 и т.д., т.е. согласно формуле (1).
Рис.2.42. КИХ-фильтр на 4 отвода с использованием мегафункции ALTMEMMULT
Р ис.2.43. Результат моделирования прохождения аналога дельта-функции
по структуре КИХ-фильтра на 4 отвода
Рис.2.44. Временные диаграммы работы КИХ-фильтра на 4 отвода при поступлении
входных отчетов -5, 3, 1 и 0. Результат: 10, -1, -40, -10, 25
Рис.2.45. Линия задержки КИХ-фильтра на 4 отвода на умножителях с использованием
метода правого сдвига и сложения
Рис.2.46. Умножители и дерево сумматоров КИХ-фильтра на 4 отвода
Рис.2.47. Доработанная схема умножителя с учетом работы в составе КИХ-фильтра
Рис.2.48. Временные диаграммы работы КИХ-фильтра на 4 отвода на умножителях с использованием метода правого сдвига и сложения при поступлении входных отчетов -5, 3, 1 и 0. Результат: 10, -1, -40, -10, 25, 6
Рассмотрим КИХ-фильтра на 4 отвода на умножителях (MAC-блоках) с использованием метода правого сдвига и сложения. Дополнительную информацию о применяемом MAC-блоке можно получить в глава 1, раздел 1.4. На рис.2.45 показана линия задержки на двухтактных триггерах с использованием мегафункции LPM_FF. На рис.2.46 показаны умножители (mac_scal_acc) с константами и дерево сумматоров, а на рис.2.47 доработанная схема умножителя с учетом работы в составе КИХ-фильтра. Модификация MAC-блоках показана красным цветом. На рис.2.48 показаны временные диаграммы работы КИХ-фильтра. Требуемые значения на выходе фильтра 10, -1, -40, -10, 25, 6 показаны красным цветом.
Таблица 2.5
КИХ-фильтр на 4 отвода реализованный в базисе ПЛИС EP2C5F256C6, временная модель Slow-model
Технические характерис-тики |
Разработан-ный MAC-блок |
Программный умножитель на мегафункции ALTMEMMULT. Коэффициенты загружаются из внешнего порта, МГц
|
Программный умножитель на мегафункции ALTMEMMULT. Коэффициенты загружаются из памяти (умножитель на константу), МГц
|
Частота в наихудшем случае, Fmax |
240 |
210 |
260 |
В табл.2.5 приведены технические характеристики КИХ-фильтров на 4 отвода реализованных в базисе ПЛИС EP2C5F256C6 (4608 логических элементов, 119808 бит встроенной памяти, 26 аппаратных умножителей 9x9) с использованием разработанного MAC-блока и программных умножителей на мегафункции ALTMEMMULT.
Смена данных на выходе КИХ-фильтра в случае использования MAC-блока в качестве умножителя и умножителя на мегафункции ALTMEMMULT в случае загрузки коэффициентов из внешнего порта приблизительно одинаковая (22 MAC и 21 ALTMEMMULT такта синхроимпульса). Мегафункция ALTMULT_ADD так же позволяет построить параллельный КИХ-фильтр на 4 отвода за счет использования встроенных 4 аппаратных перемножителей размерностью операндов 18х18. Рабочая частота в наихудшем случае для ПЛИС серии Stratix III составила 400 МГц.
Повысить производительность КИХ-фильтра с использованием программного умножителя на мегафункции ALTMEMMULT позволяет вариант загрузки коэффициентов из блочной памяти ПЛИС (260 МГц).
Представленный в главе 1, раздел 1.4 MAC-блок с использованием метода правого сдвига и сложения может быть использован для проектирования высокопроизводительных и компактных КИХ-фильтров небольшой разрядности. При этом на его реализацию в базисе ПЛИС потребуются незначительные логические ресурсы (менее 1 %), экономя при этом аппаратные и программные умножители. Недостатком такого MAC-блока является трудоемкость его разработки, и наличие своего интерфейса в отличие от унифицированных интерфейсов мегафункции ALTMEMMULT что может оказаться неудобным в использовании.