Сигнальные микропроцессоры и их применение в системах телекоммуникаций и электроники (В.С. Сперанский, 2008). Сигнальные микропроцессоры и их применение в системах телекоммун. УМссэ дгбо Jdjcov p f f f
Скачать 14.91 Mb.
|
116 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Основные параметры быстродействия микросхемы МС в тактах при рабочей тактовой частоте 100 МГц. Количество операций умножения сна коп лени ем- одно битовый формат. Количество операций 3 2 + 32 сплаваю щей точкой. Не рекурсивная фильтрация комплексный формат плавающая точка. Число тактов на отвод. Скалярная задержка. Б ПФ комплексное бит н ы й формат данных и коэффициентов. Деление, формат сплаваю щей точкой. Квадратный корень формат бит сплаваю щей точкой. Контрольные вопросы 1. На основе какой архитектуры реализованы процессоры NM6403 и NM6404? 2. Перечислите основные характеристики процессоров NM6403 и NM6404 и области применения. 3. Какие операции производит RISC процессор 4. Как используются коммутационные порты и локальный и глобальный интерфейсы процессоров 5. Какие узлы входят в состав RISC ядра 6. Какие узлы входят в векторный сопроцессор 7. Как реализуется многопроцессорная система на процессорах NM640*? 8. Перечислите области применения процессоров NM640*. 9. Каково назначение памятей FIFO? 10. Какие операции производятся в операционном устройстве (рабочей матрице 11. Зачем нужна теневая матрица 12. Поясните функцию нейрона. 13. Как реализуется в сопроцессоре операция ограничения 14. Как реализуется функция нейронов в векторном сопроцессоре 15. Что входит в состав сигнального микроконтроллера МС 16. Каковы особенности и характеристики ядра центрального процессора микроконтроллера МС 17. Каковы особенности и характеристики ядра ЦСП процессора 18. Что входит в состав периферийных устройств микроконтроллера 117 Сигнальные микропроцессоры 19. Каковы области применения микроконтроллера МС 20. Какие порты содержит МС 21. Перечислите основные шины микроконтроллера и их назначение. 22. Что входит в состав регистров ядра микроконтроллера 23. Какие узлы входят в состав устройства программного управления МС 24. Перечислите основные форматы данных с фиксированной и с плавающей точкой МС. 25. Каковы типы команд RISC ядра 26. Перечислите основные параметры быстродействия МС. 118 Глава 9. Программируемые логические интегральные схемы и их применение А, А 9 ] 9.1. Классификация ПЛИС Программируемые логические интегральные схемы (ПЛИС) благодаря своим достоинствам получили широкое применение в различных областях. Эта элементная база высокой степени интеграции позволяет разработчику за короткое время создать на основе стандартных компонент устройства обработки сигналов с высоким быстродействием и низким потреблением. На базе ПЛИС могут быть изготовлены логические блоки и устройства, например, преобразователи кодов, контроллеры, умножители, сигнальные процессоры сне очень сложными алгоритмами (вычислитель БПФ, различные фильтры и др. ПЛИС относятся к полузаказным интегральным схемам, поскольку внутрисхемная топология частично формируется при производстве самих ПЛИСа частично программируется в соответствии с требованиями потребителя. Программирование пользователем ПЛИС производится путем изменения внутренней структуры, то есть соединения имеющихся на кристалле элементов в соответствии с требуемым алгоритмом. Настройка ПЛИС на заданный алгоритм и заданные спецификации производится программатором или с использованием САПР, что существенно уменьшает время проектирования. ПЛИС делятся на стандартные (Standart Programmable Logik Devices-SPLD) или классические, сложные (Complex PLD), решетки программируемых элементов (Field Programmable Gate Array - FPGA) и программируемые матрицы (PLM). Классификация ПЛИС представлена на рис. 9.1. Стандартные PLD - это ПЛМ, ППЗУ (PROM) и программируемые матрицы логики. Сложные (complex PLD) это несколько стандартных, объединенных коммутационной матрицей. Основным программируемым компонентом ПЛИС являются логические матрицы [14, 15]. Структура PLD это совокупность двух матриц программируемой матрицы И, фиксированной матрицы ИЛИ и макроячейки. Входные сигналы поступают на п входов матрицы И, обеспечивая 119 Сигнальные микропроцессоры CPLD FPGA PLM Рис. 9.1. Классификация ПЛИС любые конъюнкции входных переменных. Выходы матрицы И соединены с матрицей ИЛИ, которая реализует дизъюнкции поступающих сигналов, как показано на рис. 9.2. PAL (Programmable Array Logic) - это соединение программируемой матрицы И и фиксированной ИЛИ. Макроячейка является выходным буфером, содержащим мультиплексоры и коммутируемую логику. Также имеются цепи обратных связей с макро- ячейки на матрицу И. Возможность коммутации обеспечивается наличием программируемого элемента - перемычки, представляющей собой ячейку памяти. Количество перемычек конфигурации может быть до пяти. термы Матрица И I " I Матрица ИЛИ A B C Макроячейки F = А*В*С F = АС После программатора , •• О 1 | I - 120 Рис. 9.2. Структура PAL Глава 9. Программируемые логические интегральные схемы На рисунке показан один из коньюнкторов матрицы И. Б ПЛИС такой конъюнктор называется термом. Сигналы А, В, С являются входом конъюнктора, образуя логическую функцию И. Разрывая одну или несколько перемычек можно получить любую конъюнкцию от этих сигналов (см. рисунок. В ПЛИС каждый терм содержит не только прямые, но и обратные связи. Программируемые пользователем матрицы логических элементов) имеют архитектуру, показанную на рис. 9.3. В центре находится матрица настраиваемых (конфигурируемых) логических блоков (КЛБ), пространство между которыми заполнено программируемыми межсоединениями, состоящими из горизонтальных и вертикальных каналов. В точках пересечения межсоединений находятся переключающие точки. По краям кристалла для согласования уровней внутренних каналов с внешними выводами расположены блоки ввода вывода (БВВ). Они выполняют функции буферов входного, выходного, стремя состояниями. Программируемые межсоединения позволяют получить сложные логические функции за счет объединения входов и выходов любых БВВ КЛБ. Кроме указанных элементов современные FPGA содержат блок памяти, который может конфигурироваться как двухпортовое ОЗУ, встроенный умножитель (18x18) и цифровое блоки управления синхронизации. Настройка FPGA на заданный алгоритм выполняется каждый раз перед началом ее работы. Необходимая для этого программа настройки предварительно записывается в ПЗУ. После включения питания производится загрузка информации из ПЗУ и инициализация FPGA. КЛБ конфигурируемые логические блоки. G, F, С - это входы общего назначения. X, Y, XQ, YQ - это выходы. К - тактовый вход. Cin, Cout - входи выход переноса. 9.2. Свойства ПЛИС и порядок проектирования устройств Общие свойства ПЛИС 1. Высокое быстродействие (тактовые частоты от 100 МГц до гигагерц. 2. Высокая степень интеграции, технология КМОП - десятые доли микрон, на кристалле находятся от сотен тысяч до нескольких миллионов вентилей. 121 Сигнальные микропроцессоры Рис. 9.3 Обобщенная структура FPGA На рис. 9.4 представлен конфигурируемый логический блоки коммутирующие матрицы. Рис. 11.4 Блок КЛБ Рис. 9.4. Блок КЛБ 122 Глава 9. Программируемые логические интегральные схемы 3. Функциональная полнота, позволяющая реализовать законченное устройство на одной ПЛИС. 4. Универсальность на одном кристалле реализуются разные устройства многократность перепрограммирования. 5. Высокий процент выхода годных изделий и высокая надежность. Защита от считывания. 7. Сброс регистров в ноль при включении питания 8. Совместимость с TTL логикой. Системные свойства ПЛИС 1. Наличие бита Turbo при программировании значения бита. ON - это максимальное быстродействие при номинальном потреблении- это минимальное потребление при номинальном быстродействии. Пониженное энергопотребление. 3. Питание 5 В и 3,3 В. 4. Защита информации - несколько бит. 5. Наличие нескольких входов для сигналов синхронизации и разрешение выходов. 6. Буферизация входных данных. Проектирование устройств на ПЛИС Свойства проектирования 1. Относительно малое время проектирования. 2. Наличие средств программирования и аппаратных средств проектирования (САПР). 3. Простота разработки устройств. 4. Простота конструкторского проектирования. 5. Высокая надежность. Проектирование ПЛИС производится с использованием САПР и включает следующие этапы й этап описание схемы, с помощью программного обеспечения. одним из стандартных способов (буквы, уравнения, таблицы истинности, принципиальная схема й этап составление таблицы прошивки ПЛИС й этап (заключительный технологическое программирование с использованием программатора, который разрывает ненужные связи (перемычки) в соответствии с таблицей прошивки. Обобщенная схема САПР ПЛИС представлена на рис. 9.5. 123 Сигнальные микропроцессоры Рис. 9.5. Обобщенная схема САПР ПЛИС I. Описание задания 1. Схемный ввод (библиотеки, готовые модули - регистры, счетчики и т.д.). 2. Язык функционального описания булевы уравнения, таблица истинности, описание черного ящика. 3. С использованием специализированных библиотек, так называемых мегафункций. 4. В виде временных диаграмм (графическое представление таблиц истинности. 5. Интерфейсы PDS, OrCAD, Verilog, VHDL, XNF. //. Компиляция проекта - синтез. 1. Выбор ПЛИС. 2. Разбивка на несколько корпусов. 3. Возможность назначения сигналов на конкретные выводы 4. Оптимизация результатов синтеза. III. Моделирование - функциональное и временное (диаграммы с отображением реальных задержек. 9.3. Основные характеристики ПЛИС фирм Altera и XILINX А Семейство ПЛИС фирмы Altera представлено на рис. 9.6. Номенклатура микросхем, выпускаемых фирмой, достаточно разнообразна, имеются мощные средства проектирования и набор мега- функций, то есть файлы типовых устройств ЦОС А. Характеристики ПЛИС Apex 1. Число выводов (250 - 780). 2. Минимальное число эквивалентных вентилей (2,6310 s ...2,67-10 6 ) 124 Глава 9. Программируемые логические интегральные схемы Рис. 9.6. Классификация ПЛИС фирмы Altera 3. Число логических элементов ( 4 10 — 4-10 ). 4. Встроенные блоки памяти (26 ... 264). 5. Максимальный объем памяти (5,3 10 ...5,4-10 ); число мак- роячеек (400...4000). Особенности ПЛИС Mercury 1. Интегрированный приемопередатчик, поддерживающий синхронную передачу данных (для ЦОС и связи. Скорость передачи до 1,25 ГГб/с. 2. Архитектура логического элемента основана на традиционной таблице перекодировок (Look-up-table), оптимизация под высокие скорости обработки данных. 3. Новая архитектура межсоединений внутри кристалла для уменьшения задержек. 4. Элементы ввода-вывода поддерживают множество интерфейсов обмена данными. 5. ПЛИС содержат до 14 тысяч элементов [(ЛЭ), LE)]. 6. Тактирование ФАПЧ с программируемым коэффициентом умножения частоты до 12 выходов ФАПЧ. 7. Специальная схема аппаратного умножения знаковых и без знаковых операндов р. 8. Встроенные системные блоки памяти ( Embedded system block): портовые встроенные ОЗУ, двуканальные портовые 125 Сигнальные микропроцессоры ОЗУ, буферы FIFO, память с адресацией по содержимому. Каждый системный блок памяти содержит 4096 бит. Число блоков - 12.. .28. Технология CMOS блоки сконфигурированы либо с внешнего ПЗУ, либо от контроллера системы пакет Quartus И. Семейство недорогих ПЛИС МАХ содержит программируемые матрицы логических вентилей И, ИЛИ и триггеры. Число триггеров - 32...256, число входов/выходов 36... 164, тактовые частоты МГц. FPGA FLEX с высокой степенью интеграции позволяют реализовать различные устройства. Мегафункции для ПЛИС Altera 1. FFT / IFFT - быстрое преобразование Фурье. 2. FIR Compiler - компилятор КИХ фильтров. 3. IIR Filter Compiler - компилятор БИХ фильтров. 4. Numerically Controlled Oscillator Compiler генератор с цифровым управлением. 5. Turbo Encoder / Decoder - кодер/ декодер турбокодов. 6. Reed-Solomon Compiler Encoder / Decoder. - кодер/декодер Рида-Соломона. Семейство ПЛИС фирмы XILINX А Семейство ПЛИС фирмы XILINX представлено на рис. 9.7. Характеристики некоторых ПЛИС фирмы приведены ниже. ХС9500 (CPLD) 1. Высокая производительность. Время задержки вх/вых 5 не. Тактовая частота 125 МГц 16 разрядного счетчика от 38 до 288 макроячеек. Не требуется программатор. 2. Возможно перепрограммирование до 10 тысяч раз. Основа макроячейки включена в функциональные блоки (ФБ), блоки ввода вывода (БВВ), соединенные переключающейся матрицей (ПМ). Структурные схемы CPLD и функционального блока показаны на рис 9.8 и 9.9. I / O - логические выводы. GSK, GSR, GTS - управляющие выводы Глава 9. Программируемые логические интегральные схемы CPLD ХС9500 выполнены на основе FLASH памяти. Системные частоты до 150 МГц. Реализация многовходовых функций. Рис. 9.7. ПЛИС фирмы XILINX Высокоскоростные дешифраторы. Сложные синхронные счетчики. Программирование через порт JTAG, низкое энергопотребление мВт. Virtex (FPGA) с технологией КМОП 0.22 мкм содержит 1 млн. эквивалентных вентилей. Используется в телекоммуникационных устройствах, сетевых решениях, и пр. 1. Тактовая частота 200 МГц, скорость обмена (chip on chip) до 200 МГц. Рис. 9.8. Схема CPLD 127 Сигнальные микропроцессоры 36 От ПМ Матричный логический процессор Распределитель термов МЯ1 Матричный логический процессор Распределитель термов МЯ2 Матричный логический процессор Распределитель термов Я 18 | 18, кпм OUT 1 8 -К БВВ 120 I GCK Глобальный сброс/установка Рис. 9.9. Функциональный блок CPLD 2. Умножение 16x16 зане. Технология 0,22 мкм, напряжение питания 2,5 В. 4. Несколько типов ОЗУ Процесс проектирования близок к проектированию СБИС в системе HDL (Hardware Description Language) пакет Foundation Ex- press. Virtex E - 0.18 мкм, до 3.3 млн. вентилей. Может использоваться для реализации системы на кристалле ( System on Chip) (см. далее. 1. Тактовая частота 250 МГц 2. ОЗУ Кбит 3. Напряжение питания 1.8 В. 9.4. Реализация на ПЛИС алгоритма БПФ и нерекурсивных фильтров А Структурная схема вычислителя БПФ степени 2 на ПЛИС показана на рис. 9.10. Он состоит из памяти промежуточных значений, памяти, содержащей поворачивающие множители W N , вычислителя типовой операции (бабочки, управляющего контроллера и устройств ввода вывода данных. Выборка Аи В - комплексная. Реализуется алгоритм с замещением, что дает экономию внутрикристальной памяти. Использован алгоритм БПФ степени 2 с прореживанием по частоте. Число разрядов выбирается исходя из разрядности отсчетов входных сигналов и допустимых потерь отношения сигнал/шум за счет вычислений дБ. Число разрядов коэффициентов W * определяется по формуле 128 Глава 9. Программируемые логические интегральные схемы Рис. 9.10. Блок-схема вычислителя БПФ Структура вычислителя типовой операции БПФ дана на рис. 9.11^ R = M -l,71g(y+ 1) + 8 , где Мбит - разрядность входного сигнала. Разрядность промежуточных данных М + AM. Далее необходим сдвиг влево на АМ разрядов. Нужен еще дополнительный сдвиг на Z разрядов влево разрядности преобразуемых данных F - М + AM + Z . На рис. 9.12 представлена схема аппаратной реализации бабочки. Она содержит 4 умножителя обработка параллельная. На выходах X и Y (комплексные) разрядность также F. Имеются комплексный сумматор (adder 0), комплексный вычитатель (adder 0), + X + + 0 I WN Рис. 9.11. Бабочка для БПФ с прореживанием по частоте 129 Сигнальные микропроцессоры Сдвиг + t + 1 R W R FIFO буфер Сдвиг X F + R » R X » R Сдвиг X F + R » R X » R Сдвиг X F + R » R X » R Сдвиг X F + R » R X » R + Рис. 9.12. Блок-схема аппаратной реализации бабочки умножители (mul 0,..., mul 3), сумматор (adder 1). Для компенсации сдвигов в разных каналах используется буфер (delay line). Для хранения промежуточных данных используется внутренняя портовая память ПЛИС. Одновременно считываются числа Аи В и записываются числа X и Y. Устройства сдвига производят нормировку. В ПЛИС сдвиг осуществляется путем подключения ячеек со сдвигом по номерам битов входных и выходных шин элементов и не требует аппаратных затрат. Вычислитель БПФ на ПЛИС имеет параметры размер выборки N = 512, тактовая частота F T = 80 МГц, разрядность выходного сигнала М - 14 разрядов, время вычисления БПФ - 30 мкс, тип кристалла, используемая часть кристалла <25%. Реализация нерекурсивных фильтров Ниже описана реализация нерекурсивного фильтра с КИХ 8 порядка с линейной фазовой характеристикой. Для ее получения коэффициенты фильтра должны быть симметричными, то есть h m = h N m . Это позволяет сократить число перемножителей вдвое. Схема фильтра показана на рис. 9.13. 130 Глава 9. Программируемые логические интегральные схемы N(nT) RG 8 R G 7 R G 6 RG5 RG 8 R G 7 - R G 6 - RG5 R G 4 RG 3 RG 2 RG 1 R G 4 RG 3 RG 2 RG 1 1 \ X 7 si чл ы Ч х ; ь Г X ь Г ® ь Г х ) Суммагор • v(nT> Рис. 9.13. Нерекурсивный фильтр (N = Р' В качестве параллельного векторного перемножителя (ПВП) удобно использовать таблицу перекодировок, входящую в состав логического элемента (ЛЭ). Работа ПВП описывается уравнением у = SJij + S 2 h 2 + S 3 hj + S A h 4 Рассмотрим реализацию разрядного параллельного векторного умножителя. Вектор коэффициентов имеет вид. h\ hi йз h4 01 11 10 11 Вектор сигналов Si S 2 s 4 11 00 10 01 Значения коэффициентов, частичных сумм произведений и результатов представлены ниже в таблице. |