Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sm.bmstu.ru/sm5/n4/oba/zan1.html
Дата изменения: Thu Feb 15 17:43:25 2007
Дата индексирования: Mon Oct 1 18:54:32 2012
Кодировка: Windows-1251

Поисковые слова: п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п р п
СМ5 : Современные алгоритмы ЦОС: пути реализации и перспективы применения
 

Современные алгоритмы ЦОС: пути реализации и перспективы применения
Стешенко В.Б.


Программируемые логические интегральные схемы:
обзор архитектур и особенности применения.

Программируемые логические интегральные схемы становятся в последнее время все более распространенной и привычной элементной базой для разработчиков цифровых устройств. Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители либо начали серийное производство, либо анонсировали ПЛИС с эквивалентной емкостью более 1 миллиона логических вентилей. Цены на ПЛИС (к сожалению, только лишь в долларовом эквиваленте) неуклонно падают. Так, еще год - полтора назад ПЛИС емкостью 100 000 вентилей стоила в Москве в зависимости от производителя, приемки, быстродействия от 1500 до 3000 у.е., то сейчас такая микросхема стоит от 50 до 350 у.е., то есть цены упали практически на порядок и эта тенденция устойчива. Что касается ПЛИС емкостью 10 000 - 30 000 логических вентилей, то появились микросхемы стоимостью менее 10 у.е.

В таблице 1 приведена динамика развития рынка ПЛИС (по данным работы [1])

Таблица 1. Объем рынка ПЛИС, млн $

Область продаж199419951996199719981999
Военно - промышленная и космическая436892119150188
Гражданская68411251598214628233678
Итого72711931690226529733866

В этой связи появляется ряд вопросов, связанных с тем, какую элементную базу и как использовать в новых разработках, а также при проведении модернизации существующих систем.

Рассмотрим особенности выбора элементной базы на примере проектирования устройств цифровой обработки сигналов.

Современные алгоритмы обработки сигналов функционально можно разделить на следующие основные классы.

1. Алгоритмы цифровой фильтрации (в т.ч. алгоритмы нелинейной, оптимальной, адаптивной фильтрации, эвристические алгоритмы, полиноминальные фильтры, алгоритмы фильтрации изображений и др.). Подробная классификация алгоритмов цифровой фильтрации и перспективы путей реализации алгоритмов на ПЛИС приведены в работе [1].

2. Алгоритмы, основанные на применении ортогональных преобразований (быстрые преобразования Фурье, Хартли, Уолша, Адамара, преобразование Карунена - Лоэва и др.)

3. Алгоритмы, реализующие кодирование и декодирование, модуляторы и демодуляторы, в том числе сложных сигналов (псевдослучайных, хаотических и др.).

4. Алгоритмы интерфейсов и стандартных протоколов обмена и передачи данных.

Далее рассмотрим перспективы тех или иных путей реализации алгоритмов ЦОС.

Реализация алгоритмов ЦОС на основе специализированных БИС

Существует целый ряд устройств и алгоритмов, которые практически являются стандартными, и в больших количествах повторяются от разработки к разработке. Примером таких устройств могут служить узлы массовых коммуникационных средств, микросхемы сложных интерфейсов (PCI, PCMCI и т.д.), компоненты систем мультимедиа и видеообработки для массовых компьютеров и т.п. К сожалению, эти БИС обладают рядом недостатков, сдерживающих их применение в разработках российского производителя. Рассмотрим их подробнее

Во-первых, в России практически полностью отсутствует собственное производство и разработка массовых высокотехнологичных средств связи и компонентов вычислительной техники (отдельные попытки производить на мощностях ряда предприятий модули памяти высоким полетом технологии не отличаются). В этой связи приобрести подобные БИС для апробации практически невозможно. Вспоминается попытка приобрести в Москве комплект контроллеров интерфейса PCMCI. Несмотря на большое разнообразие заявленных в каталогах изделий различных производителей, реально заказать (о поставке со склада и мечтать было нечего!) партию для отработки так и не удалось. Приобрести же специализированный Фурье-процессор или фильтр представляется и вовсе нереальной задачей.

Во-вторых, адаптация стандартных компонентов для обработки сигналов под специализированную задачу требует применения дополнительных схем сопряжения, обвязки, зачастую нестандартных и вновь разрабатываемых, что практически сводит на нет все преимущества специализированных БИС. Изготовление же БИС по заказу практически невозможно из-за высокой стоимости. Широко рекламируемые предприятиями Зеленограда БМК (в частности Исполин 60Т) по своим характеристикам отстают от зарубежных аналогов (или прототипов?..) примерно на пять - десять лет.

В этой связи достаточно интересными и перспективными к применению в российских условиях представляются БИС, реализующие, с одной стороны, некоторые стандартные протоколы передачи данных, с другой стороны обладающие достаточной гибкостью и совместимостью на уровне программ со стандартными управляющими или сигнальными процессорами. Подобные БИС производят такие компании как Giga, Mitel, Teltone, Motorola, Siemens, Plessey, Zilog, Harris и ряд других (особенно японских и корейских) компаний. Некоторые из них имеют дилеров или дистрибьюторов в России. Так, фирма Zilog предлагает довольно широкую номенклатуру БИС для реализации систем передачи и обработки данных, обладающих, с одной стороны, поддержкой специфических функций, характерных для коммуникационных задач, с другой стороны, совместимых по программному коду и интерфейсу со стандартными аппаратными средствами. Данная программа создания БИС получила название Zilog superintegration TM , и в ее рамках разработаны следующие кристаллы:

- Z89C25 на 80% совместим по кодам с процессором TMS320C25, содержит ряд дополнительных инструкций для обеспечения функционирования дополнительных устройств, имеет 32 разрядные АЛУ и аккумулятор, 16 разрядный перемножитель. На этом же кристалле интегрированы полудуплексный кодек, контроллер протокола V.24, таймеры.

- Z01701 помимо ядра цифрового сигнального процессора содержит контроллеры протоколов V.17, V.29, V.27, V.21, совместим со спецификациями Т.30 и Т.4, имеет интегрированные фильтры.

- Z80382 обеспечивает поддержку шины PCMCI, интерфейсов GCI, Plug-and-play, асинхронного последовательного адаптера, имеет встроенное процессорное ядро.

Кроме вышеупомянутых БИС, Zilog выпускает достаточно широкую номенклатуру БИС контроллеров разнообразной периферии со встроенным процессорным ядром. Применение подобных кристаллов в разработках экспериментальных, мелко- и среднесерийных устройств позволит достигнуть высокого эффекта за приемлемую цену. По крайней мере, не придется заниматься изобретением велосипеда в части реализации стандартных протоколов и взаимодействия с собственным ядром обработки сигналов.

Другой класс специализированных БИС, заслуживающий внимания разработчиков - БИС для реализации специфических алгоритмов, такие как нейрочипы, процессоры для распределенных вычислений, обработки радиолокационной информации и другие. Несмотря на то, что их производство и применение находятся в зачаточном состоянии, многие современные алгоритмы реализовать другим путем практически невозможно.

Таким образом, применение специализированных БИС в современных российских условиях, к сожалению, почти не распространено и ограничивается в основном реализацией протоколов передачи данных.

Реализация алгоритмов ЦОС на основе цифровых сигнальных процессоров общего назначения

В настоящее время большое число разработчиков выбирают в качестве средства реализации алгоритмов цифровые сигнальные процессоры (ЦСП) общего назначения. В этом есть определенный резон, связанный с тем, что ЦСП достаточно распространены и доступны на рынке, имеют привлекательные цены. Главным преимуществом систем обработки сигналов на ЦСП является гибкость системы, возможность реализации адаптивных и обучающихся алгоритмов. Кроме того, отладочные средства начального уровня недороги, достаточна информационная поддержка, выпущена литература по применению на русском языке.

Лидером по разработке и производству ЦСП является компания Texas Instruments (TI). Далее по объему производства (1996-1997 годы) следуют Motorola и Lucent (AT&T). Как ни странно, занимающая на российском рынке ведущие позиции Analog devices находится на 4 месте. Тем не менее, ЦСП этой компании, пожалуй, наилучшим образом приспособлены к реализации широкого круга задач ЦОС. Их основное преимущество - широкая номенклатура программно полностью совместимых устройств с различным быстродействием и дополнительными периферийными элементами, с фиксированной и плавающей точкой. Наличие недорогих средств отладки позволяет использовать эти ЦСП в малобюджетных проектах.

Вместе с тем, ЦСП имеют ряд недостатков, которые безусловно приходится учитывать при разработке новых изделий. Во-первых, пока тактовая частота портов обмена данными ЦСП не превышает 100 МГц, что ограничивает область применения в системах радиодиапазона. Во-вторых, каждое семейство ЦСП имеет собственные коды команд, что делает практически невозможным перенос реализованного алгоритма на ЦСП других семейств или создания универсальных библиотек алгоритмов. Существующие же компиляторы с языков высокого уровня, например с Си, также ориентированы на конкретные ЦСП и не решают данную проблему. В-третьих, при реализации сложных параллельных структур приходится увеличивать число процессоров и обеспечивать их нормальную работу в мультипроцессорном режиме. Наконец, в-четвертых, ЦСП, как правило, требуют внешних навесных элементов для реализации сносного интерфейса с источниками и приемниками данных.

Реализация алгоритмов ЦОС на базе ПЛИС

Основными преимуществами ПЛИС при применении в средствах обработки сигналов являются:

- высокое быстродействие;

- возможность реализации сложных параллельных алгоритмов;

- наличие средств САПР, позволяющих провести полное моделирование системы;

- возможность программирования или изменения конфигурации непосредственно в системе;

- совместимость при переводе алгоритмов на уровне языков описания аппаратуры (VHDL, AHDL, Verilog и др.)

- совместимость по уровням и возможность реализации стандартного интерфейса.

- наличие библиотек мегафункций, описывающих сложные алгоритмы;

- архитектурные особенности ПЛИС как нельзя лучше приспособлены для реализации таких операций, как умножение, свертка и т.п.

В настоящее время быстродействие ПЛИС достигло величин порядка 250 -300 МГц, что позволяет реализовывать многие алгоритмы в радиодиапазоне.

Рассмотрим историю развитию архитектур ПЛИС. В конце 1970 годов на рынке появились ПЛИС, имеющие программируемые матрицы "И" и "ИЛИ". В зарубежной литературе эти архитектуры FPLA (Field Programmable Logic Array) и FPLS (Field Programmable Logic Sequensers). В те времена отечественная электронная промышленность была еще "на плаву" и вскоре появились отечественные схемы K556PT1,PT2,PT21. Недостаток такой архитектуры - слабое использование ресурсов программируемой матрицы "ИЛИ".

Идя по пути совершенствования такой архитектуры, разработчики ПЛИС предложили более простую и изящную архитектуру - архитектуру программируемой матричной логики (PAL - Programmable Array Logic и GAL - Gate Array Logic) - это ПЛИС, имеющие программируемую матрицу "И" и фиксированную матрицу "ИЛИ", у ПЛИС GAL на выходе имеется триггер. К этому классу относятся широкая номенклатура ПЛИС небольшой степени интеграции. В качестве примеров можно привести отечественные ИС КМ1556ХП4, ХП6, ХП8, ХЛ8, ранние разработки (середина -конец 1980-х годов) ПЛИС фирм INTEL, ALTERA, AMD, LATTICE и др. Помимо PAL и GAL архитектур, были разработаны ПМЛ, имеющие только одну программируемую матрицу "И", например, схема 85C508 фирмы INTEL. Другим подходом к уменьшению избыточности программируемой матрицы "ИЛИ" является программируемой макрологика. ПЛИС, построенные по данной архитектуре содержат единственную программируемую матрицу "И-НЕ" или "ИЛИ-НЕ", но за счет многочисленных инверсных обратных связей способны формировать сложные логические функции. К этому классу относятся, например, ПЛИС PLHS501 и PLHS502 фирмы SIGNETICS, имеющие матрицу "И-НЕ", а также схема XL78C800 фирмы EXEL, основанная на матрице "ИЛИ"-НЕ.

Выше перечисленные архитектуры ПЛИС содержат небольшое число ячеек, к настоящему времени морально устарели и применяются для реализации относительно простых устройств, для которых не существует готовых ИС средней степени интеграции. Естественно, для реализации серьезных алгоритмов управления или ЦОС они не пригодны.

В начале 1980 годов на мировой рынок микроэлектронных изделий выходят три ведущие фирмы - производители ПЛИС. В июне 1983 года основана фирма Altera Corporation, (101 Innovation Drive, San Jose, CA 95134, USA, www.altera.com), в феврале 1984 компания Xilinx, Inc. (2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com), в 1985 году - Actel Corporation (955 East Arques Avenue, Sunnyvale, CA 94086-4533, USA, www.actel.com). Эти три компании занимают до 80% всего рынка ПЛИС и являются основными разработчиками идеологии их применения. Если ранее ПЛИС являлись одним из множества продуктов, выпускаемых такими гигантами, как Intel, AMD и др., то начиная с середины 1980 годов на рынке ПЛИС происходит специализация и законодателями мод являются фирмы, специализирующиеся только на разработке и производстве ПЛИС.

С появлением новых производителей появились и новые архитектуры. ИС ПМЛ имеют архитектуру, весьма удобную для реализации цифровых автоматов. Развитие этой архитектуры - CPLD (Complex Programmable Logic Devices) - ПЛИС, содержащие несколько логических блоков (ЛБ), объединенных коммутационной матрицей. Каждый ЛБ представляет собой структуру типа ПМЛ, т.е. программируемую матрицу "И" и фиксированную матрицу "ИЛИ". ПЛИС типа CPLD, как правило, имеют довольно высокую степень интеграции (до 10000 эквивалентных вентилей, до 256 макроячеек). К этому классу относятся ПЛИС семейства MAX5000 и MAX7000 фирмы ALTERA, схемы XC7000 и XC9500 фирмы XILINX, а также большое число микросхем других производителей (Atmel, Vantis, Lucent и др.). Рассмотрим эту архитектуру на примере ПЛИС семейства MAX3000 фирмы Altera.. Их архитектура близка к архитектуре семейства MAX7000, однако имеется ряд небольших отличий. В таблице приведены основные параметры ПЛИС MAX3000.


Таблица 2.

 EPM3032AEPM3064AEPM3128AEPM3256A
Логическая емкость, эквивалентных вентилей600125025005000
Число макроячеек3264128256
Число логических блоков24816
Число программируемых пользователем выводов346696158
Задержка распространения сигнала вход-выход, tPD, нс4.54.556
Время установки глобального тактового сигнала, tSU, нс3.03.03.23.7
Задержка глобального тактового сигнала до выхода, tCO1, нс2.82.83.03.3
Максимальная глобальная тактовая частота, fCNT, МГц192.3192.3181.8156.3

Микросхемы семейства MAX3000 выполнены по CMOS EPROM технологии, при соблюдении технологических норм 0.35 мкм, что позволило существенно удешевить их по сравнению с семейством MAX7000S. Все ПЛИС MAX3000 поддерживают технологию программирования в системе (ISP, In-system programmability) и периферийного сканирования (boundary scan) в соответствии со стандартом IEEE Std. 1149.1 JTAG. Элементы ввода-вывода (ЭВВ) позволяют работать в системах с уровнями сигналов 5В, 3.3В, 2.5В. Матрица соединений имеет непрерывную структуру, что позволяет реализовать время задержки распространения сигнала до 4.5 нс. ПЛИС MAX3000 имеют возможность аппаратной эмуляции выходов с открытым коллектором (open - drains pin) и удовлетворяют требованиям стандарта PCI. Имеется возможность индивидуального программирования цепей сброса, установки и тактирования триггеров, входящих в макроячейку. Предусмотрен режим пониженного энергопотребления. Программируемый логический расширитель позволяет реализовать на одной макроячейке функции до 32 переменных. Имеется возможность задания бита секретности (security bit) для защиты от несанкционированного тиражирования разработки.

Реализация функции программирования в системе поддерживается с использованием стандартных средств загрузки, таких как ByteBlasterMV, BitBlaster, MasterBlaster, а также поддерживается формат JAM.

ПЛИС MAX3000 выпускаются в корпусах от 44 до 208 выводов.

На рис. 1 представлена функциональная схема ПЛИС семейства MAX3000.




Рис.1. Функциональная схема ПЛИС семейства MAX3000.

Основными элементами структуры ПЛИС семейства MAX3000 являются

  • логические блоки (ЛБ) (LAB, Logic array blocks);
  • макроячейки (МЯ) (macrocells);
  • логические расширители (expanders) (параллельный (parallel) и разделяемый (shareble));
  • программируемая матрица соединений (ПМС)(Programmable interconnect array, PIA);
  • элементы ввода-вывода (ЭВВ)(I/O control block).

ПЛИС семейства MAX3000 имеют четыре вывода, закрепленных за глобальными цепями (dedicated inputs). Это глобальные цепи синхронизации сброса и установки в третье состояние каждой макроячейки. Кроме того, эти выводы можно использовать как входы или выходы пользователя для "быстрых" сигналов, обрабатываемых в ПЛИС.

Как видно из рис.1 в основе архитектуры ПЛИС семейства MAX3000 лежат логические блоки состоящие из 16 макроячеек каждый. Логические блоки соединяются с помощью программируемой матрицы соединений. Каждый логический блок имеет 36 входов с ПМС.

На рис 2. приведена структурная схема макроячейки ПЛИС семейства MAX3000.




Рис.2. Структурная схема макроячейки ПЛИС семейства MAX3000.

МЯ ПЛИС семейства MAX3000состоит из трех основных узлов

  • локальной программируемой матрицы (LAB local array);
  • матрицы распределения термов (product-term select matrix);
  • программируемого регистра (Programmable register).

Комбинационные функции реализуются на локальной программируемой матрице и матрице распределения термов, позволяющей объединять логические произведения либо по ИЛИ (OR), либо по исключающему ИЛИ (XOR). Кроме того, матрица распределения термов позволяет скоммутировать цепи управления триггером МЯ.

Режим тактирования и конфигурация триггера выбираются автоматически во время синтеза проекта в САПР MAX+PLUS II в зависимости от выбранного разработчиком типа триггера при описании проекта.

В ПЛИС семейства MAX3000 доступно 2 глобальных тактовых сигнала, что позволяет проектировать схемы с двухфазной синхронизацией.

Для реализации логических функций большого числа переменных используются логические расширители

Разделяемый логический расширитель (рис. 3) позволяет реализовать логическую функцию с большим числом входов, позволяя объединить МЯ, входящие в состав одного ЛБ. Таким образом, разделяемый расширитель формирует терм, инверсное значение которого передается матрицей распределения термов в локальную программируемую матрицу и может быть использовано в любой МЯ данного ЛБ. Как видно из рис. 3, имеются 36 сигналов локальной ПМС, а также 16 инверсных сигналов с разделяемых логических расширителей, что позволяет в пределах одного ЛБ реализовать функцию до 52 термов ранга 1.




Рис.3. Разделяемый логический расширитель.




Рис. 4. Параллельный логический расширитель.

Параллельный логический расширитель (рис. 4), позволяет использовать локальные матрицы смежных МЯ для реализации функций, в которые входят более 5 термов. Одна цепочка параллельных расширителей может включать до 4 МЯ, реализуя функцию 20 термов. Компилятор системы MAX+PLUS II поддерживает размещение до 3-х наборов не более чем по 5 параллельных расширителей.

На рис. 5 приведена структура программируемой матрицы соединений.




Рис. 5. Структура ПМС ПЛИС семейства MAX3000.

На ПМС выводятся сигналы от всех возможных источников: ЭВВ, сигналов обратной связи ЛБ, специализированных выделенных выводов. В процессе программирования только необходимые сигналы "заводятся" на каждый ЛБ. На рис 5 приведена структурная схема формирования сигналов ЛБ.




Рис. 6. Элемент ввода-вывода.

На рис 6 приведена схема элемента ввода-вывода (ЭВВ) ПЛИС семейства MAX3000. ЭВВ позволяет организовать режимы работы с открытым коллектором и третьим состоянием.

Сходную с семействами MAX3000 MAX7000 фирмы ALTERA архитектуру имеют ПЛИС ATF1500 фирмы ATMEL. Более того, они выпускаются в совместимых корпусах и поддерживают САПР MAX+PLUS II от Altera.

В качестве другого примера построения архитектур микросхем CPLD можно назвать микросхемы фирмы VANTIS ( бывшая AMD) MACH4 и MACH5. Ныне VANTIS куплена Lattice.




Рис. 7. Структура CPLD MACH5.

На рис. 7 приведена обобщенная структурная схема ПЛИС семейства MACH5. В отличие от рассмотренных выше MAX3000, MACH5 имеет двухуровневую архитектуру соединений. 16 макроячеек, имеющих PAL архитектуру объединяются в блоки, которые, в свою очередь, объединяются в сегменты по 4 блока. Сегменты имеют общую матрицу межсоединений.

На рис. 8 приведена структура блока MACH5




Рис. 8. Структура блока MACH5.

Архитектура CPLD является весьма привлекательной для реализации цифровых автоматов, поскольку позволяет легко воплотить функции, заданные в виде совершенных дизъюнктивных нормальных форм. Они незаменимы при замене сложных схем, реализованных на обычной логике. Однако, следует помнить, что несмотря на наличие в ПЛИС многих производителей режима эмуляции открытого коллектора, использовать его не всегда разумно и для интерфейса с внешними узлами удобно использовать ИС стандартных серий. Автор по старой привычке использует обычно 1533ЛН3 для буфера с открытым коллектором, 530ЛА16 для работы на 50 омную нагрузку (если конечно такое требуется) и двунаправленные шинные формирователи 74НС245 (1564АП6) для большинства приложений. Подобная буферизация особенно необходима, когда используются ПЛИС с пониженным напряжением питания, а система требует ТТЛ уровней. Эта ситуация типична при модернизации отдельных узлов и блоков существующей аппаратуры, да и большинство российских протоколов обмена между устройствами также требуют ТТЛ или КМОП уровней.

Однако CPLD ПЛИС не очень удобны для реализации алгоритмов цифровой обработки сигналов. Дело в том, что практически при реализации алгоритмов ЦОС требуется выполнение операций задержки на такт, перемножения и суммирования многоразрядных чисел. Настоящая революция в средствах ЦОС произошла с появлением ПЛИС, имеющих архитектуру Field Programmable Gate Array (FPGA). К FPGA относятся ПЛИС XC2000, XC3000, XC4000, Spartan фирмы XILINX, ACT1, ACT2 фирмы ACTEL, а также семейства FLEX8000 фирмы ALTERA, некоторые ПЛИС Atmel и Vantis.

Типичным примером FPGA ПЛИС могут служить микросхемы семейства Spartan фирмы XILINX (рис.9)




Рис. 9. FPGA архитектура.

Множество конфигурируемых логических блоков (Configurable Logic Blocks (CLBs) объединяются с помощью матрицы соединений. Характерными для FPGA архитектур являются элементы ввода-вывода (input/output blocks (IOBs), позволяющие реализовать двунаправленный ввод/вывод, третье состояние и т.п. На рис.10 приведена структура CLB семейства Spartan фирмы XILINX.




Рис.10. структура CLB семейства Spartan фирмы XILINX.


Особенностью современных FPGA ПЛИС является возможность тестирования узлов с помощью порта JTAG (B-scan), а также наличие внутреннего генератора (Osc) и схем управления последовательной конфигурацией.

ПЛИС, построенные по архитектуре FPGA состоят из логических блоков (ЛБ) и коммутирующих путей -программируемых матриц соединений. Логические блоки таких ПЛИС состоят из одного или нескольких относительно простых логических элементов, в основе которого лежит таблица перекодировки (ТП, Look-up table, LUT), программируемый мультиплексор, D-триггер, а также цепи управления.




Рис.11. Структура ЛЭ ПЛИС семейства FLEX6000 фирмы Altera.

На рис.11 приведена структура ЛЭ ПЛИС семейства FLEX6000 фирмы Altera. В основе ЛЭ лежит четырехвходовая таблица перекодировок (ТП, LUT, Look-up Table). Кроме того, в состав ЛЭ входят цепи ускоренного цепочечного переноса (Carry-in, carry-out) и каскадирования (cascade-in, cascade-out). Триггер ЛЭ может быть сконфигурирован с помощью логики сброса-установки (clear/preset logi