Разработка устройства на ПЛИС

Тип работы:
Курсовая
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

В последнее время особенно актуальной темой является обеспечение безопасности технологических процессов на различных производственных объектах (особенно на химических заводах и АЭС). Но для того, чтобы устранить проблему, сначала нужно ее выявить. Для определения неисправностей по показаниям, получаемым от различных датчиков, предназначено много автоматизированных устройств. Большинство из них действуют по принципу сравнения получаемого значения с некой «уставкой». С 2008 года наметилась тенденция по увеличению количества внедряемых на производства встроенных средств контроля, реализованных на программируемых логических интегральных схемах (ПЛИС), однако большинство предприятий в Украине всё еще пользуются устаревшими методами и технологиями диагностирования неисправностей (в т.ч., основанными на микроконтроллерах, ASIC, специализированных компьютерах или базовых матричных кристаллах).

ПЛИС — это электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для этого используются отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры Verilog, VHDL, AHDL и др., что обеспечивает желаемую гибкость как при создании, так и при применении устройства на объектах: предусмотрена возможность корректирования неких параметров устройства под специфику конкретного производства (количество входов от датчиков, количество выходов, желаемый коэффициент надежности и прочее).

Альтернативой ПЛИС при создании средств контроля являются базовые матричные кристаллы, требующие заводского производственного процесса для программирования; ASIC — специализированные заказные БИС (большие интегральные схемы), которые при мелкосерийном и единичном производстве существенно дороже; специализированные компьютеры, процессоры (например, цифровой сигнальный процессор) или микроконтроллеры, которые медленнее ПЛИС из-за программного способа реализации алгоритмов.

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

Последние годы характеризуются резким ростом плотности упаковки элементов на кристалле, многие ведущие производители начали серийное ПЛИС с эквивалентной ёмкостью более 1 млн. логических вентилей, при этом цены на программируемые логические схемы идут вниз (средняя цена опустилась от $ 2500 в 2005 до $ 400 в 2011 году), что еще более увеличивает конкурентоспособность данного вида устройств для обеспечения контроля на больших предприятиях.

1. Анализ проблемы

1.1 Предпосылки к развитию ПЛИС. Преимущества ПЛИС

Общей тенденцией развития элементной базы цифровой схемотехники, начиная с появления первых интегральных микросхем в начале 60-х годов и до настоящего времени, является непрерывное повышение числа логических элементов (ЛЭ), размещаемых на кристалле, с одновременным снижением удельной стоимости одного элемента. Увеличение числа ЛЭ непрерывно открывает возможности создания всё более сложных цифровых устройств, размещаемых на одном кристалле. К основным (далеко не полным) положительным результатам этой тенденции можно отнести:

— постоянное расширение функциональных возможностей и улучшение потребительских свойств конечных изделий;

— уменьшение габаритов и потребляемой мощности;

— повышение надежности.

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

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

— использование наборов стандартной дискретной цифровой логики общего применения, например, наборов логических микросхем 74-й серии (ТТЛ, КМОП) и типовых периферийных БИС;

— использование заказных СБИС;

— использование программируемых логических интегральных схем (ПЛИС).

Наборы дискретной цифровой логики различных серий довольно длительное время являлись основной элементной базой для разработки цифровых устройств. В состав таких наборов входит большое число отдельных микросхем, предназначенных как для выполнения базовых логических функций (И, ИЛИ, НЕ), так и для выполнения функций типовых цифровых устройств, таких как триггеры, регистры, счётчики, мультиплексоры, дешифраторы и т. д., что даёт возможность использовать их для разработки более сложных функционально законченных цифровых устройств.

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

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

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

В последние годы, однако, произошел резкий прорыв как в технологии изготовления ПЛИС, так и в разработке инструментальных средств, предназначенных для проектирования цифровых устройств на ПЛИС и выпуска готовых изделий. Технологический прорыв характеризуется резким увеличением числа эквивалентных логических вентилей, размещаемых на одном кристалле (до 10 млн вентилей в ближайшей перспективе), повышением рабочей частоты (до 400 МГц) с резким одновременным снижением как удельной, так и абсолютной стоимости. Так, по данным [1], стоимость ПЛИС ёмкостью 100 000 снизилась с 1500…3000 до 100…350 у.е. и эта тенденция является устойчивой. Кроме того, в [2] отмечается, что программируемая логика по темпам развития начала опережать другие направления цифровой электроники (универсальных микропроцессоров, сигнальных процессоров, микроконтроллеров и заказных БИС). Например, один из мировых лидеров по производству ПЛИС фирма «Xilinx» в I квартале 2007 г. (до финансового кризиса) увеличила объём продаж на 26% по сравнению с I кварталом 2006 г. При этом стоимость ПЛИС объёмом до нескольких тысяч вентилей на украинском рынке, представленном целым рядом поставщиков электронных компонентов, составляет всего несколько у. е.

Основными фирмами-производителями ПЛИС в настоящее время являются такие фирмы, как «Altera», «Atmel», «Csypres», «Lattice», «Lucent», «Xilinx». В дальнейшем мы рассмотрим наиболее перспективные из них.

1.2 Сравнительный анализ ПЛИС, СБИС и микроконтроллеров

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

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

Таблица 1.1 — Относительные рейтинги эффективности применения стандартной логики, заказных СБИС и ПЛИС

Показатели

Стандартная логика

Заказные СБИС

ПЛИС

Быстродействие

2

5

5

Плотность упаковки элементов

2

4

5

Стоимость

2

4

3

Время разработки

3

2

5

Время отладки

2

2

4

Время производства

3

2

5

Возможности модернизации

3

2

5

Риск изготовителя

3

2

5

Степень автоматизации процесса проектирования

2

4

5

При одинаковом числе логических элементов в проекте стоимость суммарного числа стандартных микросхем превышает стоимость ПЛИС, а преимущество в стоимости заказных СБИС проявляется только при очень большом объёме производства идентичных микросхем.

До недавнего времени микропроцессоры и ПЛИС представляли собой два независимых направления в цифровой микроэлектронике. Насущные потребности в дальнейшем повышении степени интеграции привели к разработке СБИС класса SOC (Systems On Chip) — т. е. «систем на кристалле».

Сущность такого подхода заключается в слиянии двух путей развития сложных универсальных микросхем (микропроцессоров и ПЛИС) в единое целое путём размещения на одном кристалле связанных между собой микропроцессорного ядра и массива вентилей ПЛИС. Пионером в создании подобных устройств явилась фирма «Atmel», которая в октябре 1999 г. выпустила первое семейство СБИС FPSLIC (Field Programmable System Level Integration Circuits, что можно перевести как «программируемые схемы системного уровня интеграции»).

Типовая микросхема FPSLIC фирмы «Atmel» содержит скоростное процессорное ядро AVR RISC с производительностью свыше 30 MIPS, массив FPGA объёмом до 4000 эквивалентных логических вентилей, 10 кбайт x 16 программной памяти, 4 кбайт x 8 оперативной памяти, а также набор фиксированных периферийных устройств (два последовательных порта, три таймера-счётчика, интерфейс I2C, два параллельных порта). В состав семейства на сегодня входят три микросхемы типа AT94K10, AT94K20, AT94K40 с объёмом FPGA в 1000, 2000 и 4000 вентилей соответственно [3]. В силу очевидных достоинств микросхем этого класса можно предположить, что СБИС класса SOC в ближайшее время будут интенсивно развиваться и получат широкое применение в цифровой схемотехнике.

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

2. Обзор аналогов

2.1 Компараторы LM311 и LM339

Безусловно, существует огромное количество компараторов, которые заточены под конкретные нужды. Также существует много схем и устройств с компараторами, например, LM339 (отечественный аналог — К1401СА1) и LM311 (отечественный аналог - КР554СА3), внешний вид которых можно увидеть на рисунке 2.1.

Рисунок 2.1 — Внешний вид одной из микросхем UTC339E (LM339)

Такие микросхемы часто встречаются, в частности, на системных платах ЭВМ, а также в системах управления ШИМ контроллеров в блоках преобразования напряжения (например в компьютерных блоках питания с системой питания ATX). Их стоимость также невелика: в пределах одного-двух долларов, однако функции этих компараторов ограничены и они могут быть применены только в специализированных областях либо с дополнительными устройствами. Кроме того, как несложно заметить, количество входов и выходов у них строго задано, у них нет возможности запоминать значения сигналов, чтобы сравнить, скажем, числа, подающиеся в двоичном коде, у них нет многих простейших функций. Такие компараторы могут только сравнивать несколько одновременно подаваемых значений напряжения и выбирать из них меньшее / большее.

2.2 Компараторы на операционных усилителях

Также компараторы строятся на основе микросхем операционного усилителя. Сравнительные микросхемы таких устройств предназначены для сопоставления двух аналоговых сигналов и предоставления информации о большем из них. Размеры таких схем — до 5 сантиметров. Внешний вид некоторых аналоговых компараторов можно увидеть на рисунке 2.2.

Рисунок 2.2. — Внешний вид некоторых компараторов

Принцип работы данной микросхемы основан на «узнавании», то есть в таком случае важна разница характеристики сигналов, а не пиковые уровни, однако максимальные все же необходимо учитывать, чтобы они находились в пределах допустимого уровня для конкретной микросхемы. Сравнительная микросхема построена по типичному пороговому принципу, то есть состояние схемы компаратора изменяется, когда сигнал на выходе достигает определенного уровня. Данные микросхемы применяются как самостоятельные элементы в схемах различных регуляторов, или как составная часть более сложной микросхемы — таймер, использующихся в генераторах импульсов различных видов (см. рисунок 2.3.).

Рисунок 2.3 — Схема компаратора на операционном усилителе (mA710)

В качестве компаратора можно использовать практически любой операционный усилитель, для чего достаточно просто исключить обратную связь. Для этих целей желательно подбирать усилители с максимальными характеристиками по усилению и с большой скоростью нарастания сигнала. Следует отметить, что ОУ можно превратить в сравнительную микросхему, а вот наоборот — нет, потому как не может выполнять функцию усиления или разделения, она для этого не предназначена.

Чаще всего в схемотехнике используются микросхемы-компараторы К554СА3 и К521СА3. Эти микросхемы идентичны по своей структуре и характеристикам: имеют мощный выход (до 50 мА), высокую стабильность и низкую стоимость. Благодаря тому, что в принципиальную схему компаратора включен транзистор с открытым коллектором и эмиттером, микросхему можно подключать в зависимости от необходимости либо с общим эмиттером, либо с общим коллектором. Например, если требуется согласовать выходной уровень с уровнем других логических микросхем, компаратор подключается по схеме с открытым коллектором.

Большинство сравнительных микросхем рассчитано на использование при двухполярном напряжении питания ±15 В, но так же могут работать и при однополярном от 5 до 15 В. Большинство сравнительных микросхем работают достаточно эффективно, но в некоторых ситуациях, например при подаче на вход медленно изменяющегося сигнала с небольшим высокочастотным импульсом, появляется специфический шум, так называемое дребезжание. Дребезг возникает в результате множественных переключений компаратора на границе порогового уровня. Чтобы устранить дребезжание, можно его устанавливать между выходами малой емкости (от 10 до 1000 пФ), либо с помощью разнесения порогов. Первый способ не всегда подходит, потому что из-за емкости существенно падает быстродействие микросхемы. Второй способ состоит в установке различных пороговых напряжений на включение и выключение, например, когда микросхема срабатывает при более высоком напряжении. Подобный принцип разнесения порогов (гистерезис) используется в формирователе сигнала триггере Шмитта (см. рисунок 2.4.).

Рисунок 2.4 — Введение гистерезиса в счет положительной обратной связи

Гистерезис в схему компаратора вводится путем подключения трех транзисторов: так как на выходе напряжение постоянно колеблется резистор (R3) сдвигает потенциал неинвертирующего вывода то в направлении резистора (R1), то в направлении резистора (R2). Таким образом, создается дополнительный ток, что в свою очередь приводит к падению напряжения. Заметим, что схема подключения на транзисторах существенно влияет на увеличения быстродействия срабатывания.

2.3 Компараторы серии Р300Х

Также, в качестве примера, можно привести компаратор напряжений P3003, который всё еще используется в некоторых лабораториях и даже производствах стран СНГ и Азии (Индия, Монголия, Пакистан). Компараторы напряжений Р3003, Р3003М1-1, Р3003М1-2 были разработан и выпускались ПО «Краснодарский ЗИП» до конца двадцать первого века. В настоящее время выпуск Р3003, Р3003М1-1, Р3003М1-2 прекращен, однако их еще повсеместно используют в метрологии и электротехнике (см. рисунок 2. 5).

Рисунок 2.5 — Внешний вид компаратора P3003

Этот компаратор предназначается для:

— компарирования и измерения напряжения постоянного тока;

— выдачи калиброванных напряжений от 10 нВ до 11,111 110 В;

— усиления напряжения от 20 нВ до 10 В с выходами на цифровой и аналоговый приборы (10 В, 5 мА);

— питания прецизионных электрических цепей (10 В, 10-25 мА).

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

Класс точности: 0,0005 (для сравнения, у цифровых компараторов точность практически ограничена только точностью входных сигналов).

Предел допускаемой основной погрешности компарирования для разных значений напряжения, равняется, мкВ:

±(5U+1) (U=11,111 110 D);

±(5U+0,1) (U=1,1 111 110);

±(10U+0,04) (U=0,1 111 110);

±(50U+4) (U=111,11 110);

Нагрузочная способность по выходу АВ: 10 В; 5 мА

Питание от сети переменного тока: 220±22 В; 50, 60 Гц

Масса: 13 кг (в то время как масса цифровых и даже некоторых аналоговых компараторов не превышает нескольких грамм).

Габариты: 488×170×380 мм (габариты некоторых микроконтроллеров не превышают 10x2x5 мм).

Цена такого прибора колеблется в районе 24 000 рублей, т. е. 850 долларов. Тем не менее, как мы убедились, возможностей у Р3003 действительно немного. На базе ПЛИС, к которым мы придем позже, можно спроектировать устройство в сотни тысяч раз более сложное, а его себестоимость (исключая оплату труда программиста) будет в восемь раз меньше.

2.4 Сравнительные устройства, создаваемые программными методами

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

Сравнительное устройство на микроконтроллере

Все рассмотренные компараторы (кроме Р3003 и его аналогов) являются недорогими, однако узкими в своей специализации, а кроме того современные средства позволяют самому программировать устройство под свои конкретные нужды. Например, сделать на микроконтроллере компаратор под заданное количество входов довольно просто можно в программе CodeVisionAVR. Например, напишем программу, которая будет выводить информацию о сравнении значений напряжения на двух ножках разных портов на жидкокристаллический дисплей (дальнейший код написан для примера и, вполне возможно, требует доработок):

/*****************************************************

Project: COMPARATOR Author: Levichev A.A. Chip type: ATmega16

*****************************************************/

#include < mega16. h>

#include < delay. h>

#include < stdio. h>

#asm

equ __lcd_port=0×15; PORTC

#endasm

#include < lcd. h>

void main (void) {

lcd_init (16); //inizializacya LCD

lcd_gotoxy (0,0); lcd_putsf («Razrabotal: «);

delay_ms (500);

lcd_gotoxy (0,1); lcd_putsf («Levichev Artem»);

delay_ms (2000); lcd_clear (); lcd_gotoxy (0,0); delay_ms (2000);

if (PORTA. 5>PORTB. 5) {sprintf (lcd_buffer, «На пятую ножку порта, А подается большее напряжение, чем на пятую ножку порта B»);

delay_ms (2000); lcd_clear (); lcd_gotoxy (0,0); }

if (PORTA. 5<PORTB. 5) {sprintf (lcd_buffer, «На пятую ножку порта B подается большее напряжение, чем на пятую ножку порта A»);

delay_ms (2000); lcd_clear (); lcd_gotoxy (0,0); }

if (PORTA. 5=PORTB. 5) {sprintf (lcd_buffer, «На пятую ножку порта, А подается такое же напряжение, как на пятую ножку порта B»);

delay_ms (2000); lcd_clear (); lcd_gotoxy (0,0);} lcd_clear (); };}

Либо без LCD, чистый код:

if (PORTA. 1>PORTB. 1) {PORTC=0b11111111}; // на порте C — значение «255» в двоичном коде

if (PORTA. 1<PORTB. 1) {PORTC=0b00000111}; // на порте С — семерка

if (PORTA. 1=PORTB. 1) {PORTC=0b00000000}; // выход (порт С) равен 0.

Себестоимость такого компаратора (или другого, оптимизированного) будет, за исключением оплаты труда программиста, равняться стоимости микроконтроллера, т. е., для ATMega16 — в пределах 4 $. Однако даже созданные программно, заточенные под конкретные нужды компараторы, в которые будут заложены (если рассматривать пример атомной станции) функции контроля и отказоустойчивость, в любом случае будут ограничены возможностями микроконтроллера — как по напряжению, так и по количеству ножек (сравниваемых одновременно сигналов). Однако можно создавать еще более сложные и, соответственно, функциональные устройства сравнения.

Сравнительные устройства на ПЛИС

Программируемые логические интегральные схемы позволяют создавать устройства практически неограниченной сложности, с огромным количеством входов и выходов (бывают плис с больше чем 1000 выводов («пинов)), с огромной скоростью передачи данных, с большими значениями входных напряжений, большим объемом памяти (до 540 кбит), допустимую дозу облучения (что немаловажно при применении на атомных станциях, где, в случае возникновения опасности, электроника быстро выходит из строя и спасти ситуацию может только какая-нибудь устойчивая схемка, вроде нашего компаратора, который поймет, что допустимое напряжение превышено) — более трех миллионов (3 000 000) РАД (в то время, как летальная доза для человека, при которой смерть наступает через несколько часов — 10 000 РАД, а первичная лучевая болезнь — 200 РАД), высокое быстродействие (вплоть до 5 наносекунд) и многое другое.

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

Рисунок 2.6 — Простой компаратор в среде MAX+plus II

Несложно заметить, что схема даже самого простого компаратора не так легка и читаема, как того бы хотелось. В Quartus и даже Max+plus (если использовать подключаемые библиотеки) компаратор можно поставить отдельным блоком, однако это будет тот же компаратор, который мы рассматривали ранее: уровня LM311 или похожего. При увеличении количества входов схема будет быстро усложняться. Также существенным минусом является то, что в теле такой схемы-программы нельзя оставлять комментарии, что еще больше затрудняет проектирование сложных устройств. К счастью, в программных средах фирмы Altera существует возможность создать необходимое устройство на одном из языков программирования Hardware Description Language: VHDL или Verilog HDL. Вот как выглядит тот же самый компаратор, написанный на языке VHDL:

-

— n-bit Comparator (ESD book figure 2. 5)

— by Levichev Artem, 03/2011

— this simple comparator has two n-bit inputs &

— three 1-bit outputs

-

library ieee;

use ieee. std_logic_1164. all;

-

entity Comparator is

generic (n: natural: =2); - описание портов входа и выхода

port (A: in std_logic_vector (n-1 downto 0);

B: in std_logic_vector (n-1 downto 0);

less: out std_logic;

equal: out std_logic;

greater: out std_logic);

end Comparator;

-

architecture behv of Comparator is

begin

process (A, B)

begin

if (A< B) then less <= '1'; equal <= '0'; greater <= '0';

elsif (A=B) then less <= '0'; equal <= '1'; greater <= '0';

else less <= '0'; equal <= '0'; greater <= '1';

end if; end process; end behv;

-

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

3. Разработка аппаратной части

3.1 Создание схемы устройства

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

Структурная схема устройства

Создаем схематический проект будущего устройства. В режиме работы на схему сравнения будут поступать два цифровых сигнала, из которых, в зависимости от того, равны ли входящие значения, будет формироваться один выходной. В режиме тестирования на компаратор должен подаваться один сигнал (включение режима тестирования), и, в зависимости от результатов, демонстрируемых цифровым компаратором, на выход будет подаваться сигнал «Норма» (устройство функционирует нормально) либо «Ненорма» (замечен сбой в работе устройства) — см. рисунок 3.1.

Рисунок 3.1 — Схематическое представление будущего устройства

Первичный вариант электрической принципиальной схемы системы

Этот вариант был создан вначале, чтобы определиться с основными направлениями разработки. Здесь есть несколько ошибок, и в результате опытный образец при некоторых условиях выдавал неверные значения.

Рисунок 3.2 — Предварительная электрическая принципиальная схема системы

Заключительный вариант электрической принципиальной схемы системы

После детального рассмотрения первого варианта, анализа похожих устройств и возможностей реализации отдельных компонентов, нашлись несколько путей упрощения схемы. Во-первых, вместо двух счетчиков с четырьмя выводами вполне можно поместить один счетчик, и его сигналы раздваивать на входы, А и В. Еще проще вместо этого счетчика поместить четыре простых триггера (это, в принципе, и есть схема счетчика) — ведь тогда в схеме будут использоваться только однотипные, взаимозаменяемые элементы.

Значительно упрощается правая часть схемы: нашелся способ поместить всего один элемент «И» вместо счетчика, двух элементов «И» и триггера. После всех этих упрощений, схема, выполняя всё те же функции, приобретает значительно более простой и читабельный вид (см. рисунок 3. 3).

Рисунок 3.3 — ЭП схема контроля компаратора

Производим набор данной схемы Quartus. Некоторые элементы в этой среде проектирования изображаются по-другому. К примеру, вместо одного компаратора на восемь входов нужно поместить четыре однотипных компаратора по два входа. Необходимо также указать полную схему подключения триггеров, также меняются некоторые входы (см. рисунок 3. 4).

Рисунок 3.4 — ЭП схема системы, набранная в Quartus

Проверяем правильность работы системы: создаем Vector Waveform file, задаем необходимые для проверки входы и выходы, симулируем и смотрим на результат (см. рисунок 3. 5).

Рисунок 3.5 — Симулирование работы системы

Три верхних сигнала представляют собой выходы устройства, остальные — задаваемые входы. Как можно увидеть, и компаратор, и система проверки работают исправно. Задержка между входом и выходом составляет всего 9 наносекунд. Набранную схему среда проектирования и программирования «Quartus» для себя представляет в следующем виде (см. рисунок 3.6.). Это промежуточный вид между созданной программой и тем набором элементов «И» и «ИЛИ», который будет занесен непосредственно на ПЛИС.

Рисунок 3.6 — ЭП схема созданного устройства в RTL Viewer

3.2 Обзор и сравнение основных мировых производителей ПЛИС

микроконтроллер компаратор операционный усилитель

Как известно, при выборе элементной базы для высокотехнологичных систем обычно руководствуются следующими критериями отбора:

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

— логическая ёмкость, достаточная для реализации алгоритма;

— схемотехнические и конструктивные параметры ПЛИС, надёжность, рабочий диапазон температур, стойкость к ионизирующим излучениям и т. п. ;

— стоимость владения средствами разработки, включающая как стоимость программного обеспечения, так наличие и стоимость аппаратных средств отладки;

— стоимость оборудования для программирования ПЛИС или конфигурационных ПЗУ;

— наличие методической и технической поддержки;

— наличие и надёжность российских поставщиков;

— стоимость микросхем.

Рассмотрим с этих позиций продукцию ведущих мировых производителей ПЛИС, доступную на украинском рынке.

Altera

Фирма Altera Corporation, (101 Innovation Drive, San Jose, CA 95 134, USA, www. altera. com) была основана в июне 1983 года. В настоящее время High-end продуктом этой фирмы является семейство APEX20K, особенности архитектуры которого упоминались выше, а в табл. 3.1 приведены основные параметры ПЛИС этого семейства (кроме того, Altera выпускает CPLD семейств APEX20K, MAX7000, MAX9000 и FPGA семейств FLEX10K, FLEX8000, FLEX6000). Основные характеристики ПЛИС (см. таблицу 3. 1).

Таблица 3.1 — Основные характеристики ПЛИС семейства APEX20K фирмы ALTERA

EP20K100

E20K160

EP20K200

EP20K300

EP20K400

EP20K600

EP20K1000

Максимальное число эквивалентных вентилей

263 000

404 000

526 000

728 000

1 052 000

1 537 000

2 670 000

Число логических элементов

4 160

6 400

8 320

11 520

16 640

24 320

42 240

Встроенные блоки памяти

26

40

52

72

104

152

264

Максимальный объем памяти, бит

53 248

81 920

106 496

147 456

212 992

311 296

540 672

Число макроячеек

416

640

832

1 152

1 664

2 432

4 224

Число выводов пользователя

252

320

382

420

502

620

780

Компания Altera является основным конкурентом компании Xilinx, причем по всем основным направлениям. Главное из них — это производство ПЛИС как типа FPGA, так и типа CPLD. В мае 2008 года Altera представила новое семейство из серии Stratix высокопроизводительных микросхем типа FPGA — Stratix IV, работающих на 40-нм архитектуре. Для менее ресурсоемких задач компания Altera предлагает серию ПЛИС FPGA Cyclone, а в качестве компромисса между производительными Stratix и недорогими Cyclone — серию Arria. Для мобильных устройств выпускается серия Max на основе ПЛИС типа CPLD. Также в дополнение к этим микросхемам компания выпускает серию ASIC микросхем HardCopy, разработанных в качестве специализированных аналогов соответствующих FPGA Stratix. В 2008 году микросхема Stratix III была отмечена наградой DesignVision Award в области «Полупроводники и интегральные схемы».

Начиная с серии Stratix III, в ПЛИС используется технология Programmable Power Technology, которая позволяет варьировать режим работы и, соответственно, потребляемую мощность логических ячеек в зависимости от необходимости быстрого выполнения поставленной задачи.

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

Компания Altera занимается разработкой разнообразного ПО для работы с их микросхемами, среди которых основным программным продуктом является пакет программ Quartus II, рассмотренный в данной работе, который предоставляет различные средства для проектирования и анализа структуры микросхем, а также для оптимизации затрат по потребляемой мощности.

Дополнительным фактором при выборе ПЛИС Altera (кроме того, что у них есть возможность перепрограммирования непосредственно в системе; и относительно высокая степень интеграции, позволяющая разместить цифровое устройство в одном кристалле и тем самым снизить время и затраты на трассировку и производство печатных плат) является наличие достаточно развитых бесплатных версий САПР.

Кроме того, ПЛИС фирмы Altera выпускаются с возможностью программирования в системе непосредственно на плате. Для программирования и загрузки конфигурации устройств опубликована схема загрузочного кабеля ByteBlaster и ByteBlasteMV. Следует отметить, что новые конфигурационные ПЗУ EPC2 позволяют программировать с помощью этого устройства, тем самым отпадает нужда в программаторе, что, естественно, снижает стоимость владения технологией.

ПЛИС фирмы Altera выпускаются в коммерческом и индустриальном диапазоне температур.

Xilinx

Компания Xilinx Inc. (2100 Logic Drive, San Jose, CA 95 124−3400, USA, www. xilinx. com) была основана в феврале 1984, её High-end продуктом являются ПЛИС семейства Virtex, основные характеристики которых представлены в таблице 3.2.

Таблица 3.2 — Основные характеристики ПЛИС семейства Virtex фирмы XILINX

XCV50

XCV100

XCV150

XCV200

XCV300

XCV400

XCV600

XCV800

XCV1000

Максимальное число эквивалентных вентилей

57 906

108 904

164 674

236 666

322 970

468 252

661 111

888 439

1 124 022

Число логических элементов

1 728

2 700

3 888

5 292

6 912

10 800

15 552

21 168

27 648

Максимальный объем памяти, бит

24 576

38 400

55 296

75 264

98 304

153 600

221 184

301 056

393 216

Число выводов пользователя

180

180

260

284

316

404

512

512

512

Архитектура семейства Virtex характеризуется широким разнообразием высокоскоростных трассировочных ресурсов, наличием выделенного блочного ОЗУ, развитой логикой ускоренного переноса. ПЛИС данной серии обеспечивают высокие скорости межкристального обмена — до 200 МГц (стандарт HSTL IV). Кристаллы серии Virtex за счёт развитой технологии производства и усовершенствованного процесса верификации имеют до-статочно низкую стоимость (до 40% от эквивалентной стоимости серии XC4000XL). Некоторые из семейств Virtex изображены на рисунке 3.7.

Рисунок 3.7 — Основные семейства ПЛИС FPGA фирмы Xilinx

Помимо семейства Virtex, Xilinx выпускает FPGA семейств XC3000A, XC4000E, Spartan, XC5200, а также CPLD XC9500 и малопотребляющую серию CoolPLD. Существует бесплатная версия САПР — WebPACK, поддерживающая CPLD XC9500 и CoolPLD, ввод описания алгоритма с помощью языка описания аппаратуры VHDL. Следует также заметить, что Xilinx существенно обновил модельный ряд как своих ПЛИС, так и программного обеспечения, которое теперь разрабатывается с участием фирмы Synopsys. Для ВУЗов предусмотрены значительные скидки на ПО. ПЛИС Xilinx выпускаются в коммерческом и индустриальном диапазоне температур с военной (Military) и космической (Space) приемкой.

Actel Corporation

Компания Actel Corporation (955 East Arques Avenue, Sunnyvale, CA 94 086−4533, USA, www. actel. com) была основана в 1985 году. Особенностью ПЛИС Actel является применение так называемой Antifuse-технологии, представляющей собой создание металлизированной перемычки при программировании. Данная технология обеспечивает высокую надёжность и гибкие ресурсы трассировки, а также не требуется конфигурационное ПЗУ. По этой технологии выпускаются семейства ACT1, ACT2, 1200XL, а также новые семейства 54SX, А40МХ и А42МХ (со встроенными модулями памяти), имеющие хорошие показатели цена / логическая ёмкость (ПЛИС, заменяющая 300−350 корпусов ТТЛ, стоит 10 $, при частоте > 250 МГц). Данные ПЛИС являются хорошей альтернативой БМК при среднесерийном производстве.

Новое семейство ProASIC фирмы Actel обладает ёмкостью до 500 000 эквивалентных логических вентилей. Его отличительной особенностью является энергонезависимость, благодаря применению FLASH-технологии, и наличие интегрированного на кристалле запоминающего устройства.

К сожалению, микросхемы Actel, выпускаемые по Antifuse-технологии, требуют применения специального программатора, стоимость которого пока ещё весьма высока. Однако, их отличает высокая надёжность, поэтому они являются весьма перспективной базой для специальных применений. Так, ПЛИС серии RH1280 имеют следующие характеристики:

— допустимая доза облучения 300 000 РАД;

— логическая ёмкость 16 000 эквивалентных вентилей;

— быстродействие до 135 МГц.

ПЛИС данного типа были применены в марсоходе в системе управления и обработки изображения цифровой видеокамеры робота-марсохода и в формирователе кадра для передачи информации на Землю. В настоящее время выпущены радиационно-стойкие ПЛИС новых семейств.

Компания Actel делает ставку на производство небольших и недорогих микросхем типа FPGA, ориентируясь на надежность таких ПЛИС. В целом выпускаемые компанией Actel микросхемы можно разбить на два типа:

— с использованием flash-памяти;

— с однократно программируемой памятью (antifuse технология).

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

Поскольку компания Actel занимается производством компактных и недорогих ПЛИС (в феврале этого года Actel стала выпускать микросхемы серии ProASIC3 по рекордно низкой цене в 99 центов), основными ее покупателями являются компании, занимающиеся различными портативными устройствами и автомобильной промышленностью. Также благодаря описанным свойствам высокой надежности и моментальной готовности к работе микросхемы компании Actel используются в военной и аэрокосмической областях.

4. Разработка программной части

4.1 Выбор среды программирования

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

Основные характеристики пакета WebPACK ISE фирмы Xilinx

Программные средства WebPACK ISE представляют собой систему сквозного проектирования, которая реализует все этапы создания цифрового устройства на базе ПЛИС, включая программирование кристалла: разработка проекта, синтез, моделирование, трассировка и загрузка в кристалл. Версия 3. 3WP8.0 САПР WebPACK ISE предназначена для проектирования цифровых устройств на базе ПЛИС производства Xilinx, относящихся как семействам CPLD: XC9500, XC9500XL, XC9500XV, XCR22V10, XCR3000 (XPLA13, XPLA2), XCR3000XL (XPLA3), XCR5000 (XPLA15), так и FPGA: Spartan™-II, Virtex™-E (только кристалл XCV300E), Virtex-II (кристаллы 2V40, 2V80 и 2V250).

Возможности этого пакета:

— поддержка различных методов описания проектируемых устройств (графических и текстовых);

— возможность использования проектов, подготовленных в других системах проектирования, в том числе в среде пакета Altera MAX+PlusII™;

— наличие схемотехнического редактора, укомплектованного набором обширных библиотек;

— интеллектуальные средства создания HDL (Hardware Description Language) — описаний, формирующие шаблоны на основании информации, предоставляемой пользователем, для языков описания аппаратуры VHDL, Verilog™ и ABEL™ HDL;

— высокоэффективные средства синтеза HDL-проектов, поддерживающие языки VHDL, Verilog и ABEL HDL, с возможностью оптимизации;

— автоматические средства трассировки проекта в кристаллы различных семейств ПЛИС Xilinx с учетом оптимизации проекта по различным параметрам;

— средства программирования кристаллов семейств ПЛИС Xilinx, выполненных по различной технологии (CPLD и FPGA), поддерживающие несколько типов загрузочных кабелей JTAG-интерфейса;

— наличие интегрированного с пакетом САПР набора инструментов и утилит других фирм, предоставляющих дополнительные удобства в процессе проектирования, включающего утилиту генерации тестовых сигналов HDL Bencher™, программу моделирования ModelSim XE Starter™ и редактор диаграмм состояний StateCAD™ (на рисунке 4. 1).

Рисунок 4.1 - Основное окно Навигатора проекта пакета WebPACK ISE

Для получения программного обеспечения WebPACK ISE необходимо зарегистрироваться на web-сайте www. xilinx. com. После регистрации следует выполнить процедуру копирования модулей пакета на ПК, который будет использован для развертывания САПР. Дистрибутив пакета выполнен в виде набора модулей, каждый из которых представляет собой самораспаковывающийся архив. После копирования следует поочередно запустить на выполнение каждый из полученных файлов. По окончании распаковки каждого архива автоматически запускается программа установки соответствующих модулей. Пользователь должен последовательно выполнить все инструкции каждой программы инсталляции. Следует обратить внимание на то, что после установки программы моделирования ModelSim XE Starter следует получить файл лицензии. Для этого необходимо запустить программу Licensing Wizard, которая соберет необходимую для получения лицензионного кода информацию об используемом ПК. Файл с этой информацией должен быть отправлен по электронной почте. В то же время, рассматриваемый дальше пакет Quartus II, при более высокой производительности, не требует таких долгих настроек для запуска.

Программные пакеты фирмы Altera

Для разработки цифровых устройств на ПЛИС фирмы «Altera» сейчас используется интегрированная среда разработки цифровых устройств, коммерческая версия которой называется Quartus II. Ее бесплатная и коммерческая версии ничем не отличаются функционально. Различие между ними заключается только в числе типов поддерживаемых устройств. Естественно, что основная версия поддерживает весь спектр ПЛИС, выпускаемых фирмой, и даже несколько типов ПЛИС конкурирующих фирм, в то время, как бесплатная не содержит, к примеру, новейшее семейство ПЛИС Arria II GZ.

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

Таблица 4.1 — ПЛИС, поддерживаемых средой программирования Quartus

Семейство

Поддерживаемые ПЛИС

Max II, MAX 3000 A, MAX 7000B (S), Arria GX, Cyclone I-IV, FLEX 6000, ACEX

Все

STRATIX III

EP3SE50, EP3SL70

STRATIX II

EP2S15

APEX II

EP2A15

APEX 20KE

EP20K30E, EP20K60E, EP20K100E, EP20K200E

FLEX 10 KE

EPF10K50S, EPF10K200S

По количеству доступных ПЛИС Quartus значительно опережает другие системы программирования ПЛИС, в то время, как по другим не менее чем соответствует их уровню.

Таблица 4.2 — Основные характеристики современных ПЛИС

Параметры

MAX 3000

MAX 7000

FLEX 6000

ACEX 1K

Тип структуры

CPLD

CPLD

FPGA

FPGA

Логическая емкость эквивалентных вентилей

600…5000

600…5000

10 000…24 000

10 000…100 000

Число программируемых выводов

34…158

36…164

102…218

130…330

Максимальная тактовая частота, МГц

150…190

125…175

200

200

Ориентировочная стоимость, у. е.

5…80

7…160

17…45

35…120

Как следует из приведённых в таблице 4.2 данных, номенклатура микросхем, поддерживаемых бесплатными версиями системы Quartus II, охватывает практически всю линейку ПЛИС. Интерфейс данной среды проектирования и программирования изображен на рисунке 4.2.

Рисунок 4.2 — Интерфейс среды программирования «Quartus»

Все пакеты интегрированной среды разработки цифровых устройств на ПЛИС фирмы «Altera» имеют следующие общесистемные свойства:

1. Обеспечивают полный производственный цикл выпуска готовых цифровых устройств на ПЛИС, включающий:

— разработку проекта устройства (задание требуемой логики функционирования устройства);

— проверку корректности проекта и локализацию ошибок;

— синтез внутренней структуры устройства с минимизацией требуемых ресурсов;

— компиляцию проекта (создание файла для программирования или конфигурирования ПЛИС);

— моделирование процесса функционирования устройства, временной анализ и, наконец, программирование (конфигурирование) ПЛИС.

2. Имеют развитые и удобные в пользовании средства разработки проектов, в состав которых входят:

— редактор схем (Graphic Editor), несколько похожий на редакторы САПР печатных плат (ORCAD, PCAD), но гораздо более удобный в работе;

— редактор временных диаграмм (Waveform Editor);

— текстовый редактор проектов на языке AHDL (Text Editor), самое мощное, но и самое сложное средство создания проектов;

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

3. Имеют большую библиотеку элементов различного вида (логических примитивов, аналогов дискретной логики 74-й серии, параметризированных логических функций), позволяющих создавать проекты цифровых устройств любой сложности.

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

5. Обеспечивают оптимальный синтез и минимизацию используемых для реализации проекта ресурсов микросхем.

6. Обеспечивают проверку и локализацию ошибок при создании исходного проекта и при компиляции с учётом формальных и эмпирических правил проектирования цифровых устройств и достаточности имеющихся ресурсов, гарантируя работоспособность успешно скомпилированного проекта (но не гарантируют от ошибок при задании разработчиком алгоритма функционирования устройства).

7. Имеют возможность автоматического выбора наиболее подходящей микросхемы требуемого объёма или распределения проекта между несколькими микросхемами малого объёма.

8. Обеспечивают возможность закрепления назначенных компилятором выводов микросхем для постоянной привязки к внешним компонентам целевого устройства или переназначения выводов.

9. Имеют встроенные средства функционального и временного моделирования, обеспечивающие быструю верификацию и отладку проектов.

10. Обеспечивают программирование и перепрограммирование микросхем, имеющих встроенную систему программирования, непосредственно в составе конечного изделия через специальный кабель, подключаемый либо к LPT-порту (Byte Blaster), либо к COM-порту (Bit Blaster) компьютера и технологического 10-контактного соединителя, устанавливаемого на плате изделия. Схемы кабелей можно найти на сайте фирмы «Altera» в разделе Development Tools. Если на плате изделия устанавливается несколько ПЛИС со встроенными системами программирования, то все они могут программироваться через один технологический разъём. Для программирования остальных микросхем необходимо дополнительно использовать внешний программатор, который также может подключаться к COM- или LPT-порту.

Все пакеты имеют одинаковый, стандартный для Windows-приложений интерфейс пользователя. Вид рабочего окна с фрагментами проекта практической схемы сканирования матричной клавиатуры, созданного с использованием редактора схем и модуля декодера 2×4, созданного в редакторе временных диаграмм.

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

4.2 Создание программы

После создания устройства «на блоках»: средствами пакета Block-Diagram/Schematic files системы Quartus, попробуем реализовать то же самое устройство программными средствами (язык VHDL) и сравним их по эффективности конечного результата и трудозатратности.

ПоказатьСвернуть
Заполнить форму текущей работой