Внутреннее устройство плис (fpga)

Применение FPGA в системах цифровой радиосвязи. Введение

ПЛИС — высокоинтегрированные гибкие универсальные устройства с мощной логикой, памятью и внутрисистемным репрограммированием.

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

По принципу формирования требуемой структуры целевого цифрового устройства ПЛИС относят к двум группам. CPLD (Complex Programmable Logic Device) — комплексные программируемые логические устройства, энергонезависимые и с некоторым ограничением допустимого числа перезаписи содержимого.

FPGA (Field Programmable Gate Array) — программируемые пользователем вентильные матрицы, не имеющие ограничений по числу перезаписей.

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

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

Некоторые сферы применений ПЛИС:

  • Коммуникации и сети (поддержка дуплексного режима 1 Гбит Ethernet; поддержка режима 10/100 Мбит Ethernet; декодер Рида-Соломона для цифрового TV, кабельных модемов, беспроводных сетей).
  • ЦОС (преобразования Фурье; регистр сдвига с линейной обратной связью для исправления ошибок в системах передачи данных).
  • Математические функции (сумматор, вычитатель; делитель в режиме с плавающей точкой для DSP-приложений).
  • Память и ее компоненты (ассоциативная память).

место fpga в цифровой радиосвязи

В настоящее время можно выделить три основных класса ЦОС-устройств – универсальные процессоры (УП), сигнальные процессоры, или процессоры цифровой обработки сигнала (DSP), и устройства цифровой обработки сигнала на основе программируемых пользователем вентильных матриц (FPGA).

Все чаще предпочтение перед специализированными ASIC-микросхемами отдается перспективным ЦОС-устройствам на основе FPGA с гибкой архитектурой, высоким уровнем параллелизма работы и достаточно высокой производительностью, особенно при разработке систем, выпускаемых малыми или средними сериями. Каждый класс устройств цифровой обработки сигнала имеет свои достоинства и недостатки, которые могут серьезно влиять на работу системы, построенной на их основе.

 В последнее время ведется оживленная полемика относительно конструктивно-технологических решений старших моделей ЦОС-устройств, в том числе военного назначения.

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

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

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

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

Так, быстродействие DSP велико, но такой процессор может одновременно выполнять лишь несколько операций, тогда как FPGA способны выполнять одновременно практически неограниченное число операций, обеспечивая высокий параллелизм работы. Правда, их быстродействие, как правило, ниже, чем у DSP и УП.

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

Например, для формирования диаграммы направленности обычная или цифровая антенная система умножает принятые многочисленными антеннами сигналы на их весовые коэффициенты.

И если быстродействующие FPGA – идеальное решение для выполнения операции умножения, динамическое вычисление весовых коэффициентов требует обращения матрицы, что значительно лучше реализует УП или специализированный DSP.

Поэтому наиболее приемлемое решение задачи формирования диаграммы направленности, очевидно, заключается в реализации входного сопроцессора антенной системы на FPGA, а выходного блока сбора данных – на DSP или УП.

Такое решение упрощает архитектуру системы, облегчает ее дальнейшее развитие, а также полезно при модернизации функциональных возможностей действующих систем. Немаловажное значение при выборе того или иного типа ЦОС-устройства для конкретного приложения имеет показатель “стоимость-производительность”. Проведенное компанией Texas Instruments сравнение этого показателя для специализированных DSP собственной разработки и FPGA компании Altera, крупного поставщика таких микросхем, показало, что для приложений, не требующих производительности более 300 MMACS, оптимальное решение можно получить при использовании DSP. Для приложений с производительностью 300–1000 MMACS более предпочтительны FPGA (табл.1 ).

В данной статье для ознакомления с характеристиками современных и ходовых FPGA рассмотрим микросхемы фирмы Xilinx семейства Spartan 3.

Семейство Spartan-3

Выпуск семейства ПЛИС с архитектурой FPGA (Field-Programmable Gate Arrays) Spartan™-3 начат в апреле2003 г. Семейство специально разработано для использования в электронных устройствах, рассчитанных на большие тиражи и невысокую стоимость комплектующих.

Всего в семейство входит 8 кристаллов, отличающихся логической ёмкостью, при этом минимальный по ёмкости кристалл содержит 50 тыс. эквивалентных системных вентилей, а максимальный – 5 млн.

Основные особенности семейства Spartan-3:

• революционный технологический процесс: 90 нм SRAM КМОП;

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

• ёмкость достигает 74 880 логических ячеек;

• системная тактовая частота до 326 МГц;

• 3 раздельных напряжения питания:

– ядра – 1,2 В;

– блоков ввода-вывода – от 1,2 до 3,3 В;

–  специальных функций – 2,5 В;

• технология SelectIO:

–  поддержка 17 сигнальных стандартов ввода-вывода;

Состав и основные характеристики семейства Spartan-3:

– 6 дифференциальных стандартов передачи сигналов, включая LVDS;

– передача данных со скоростью 622 Мбит/с по одному выводу входа/выхода;

– до 784 выводов входа/выхода;

– размах сигнала от 1,14 до 3,45 В;

– программируемый импеданс;

– поддержка передачи данных с удвоенной скоростью (DDR);

• логические ресурсы:

– гибкие логические ячейки с регистрами;

– мультиплексоры для реализации многовходовой функции;

– логика ускоренного переноса;

– встроенные блоки умножения, каждый блок 1818 бит;

– совместимость с JTAG IEEE 1149/1532 стандартами;

• технология SelectRAM:

– до 1 872 кбит блочной памяти;

– до 520 кбит общей распределённой памяти;

• модули управления синхронизацией (DCM):

– точная подстройка фронтов тактирующих сигналов;

– умножение, деление частоты;

– сдвиг фазы с высоким разрешением;

– защита от электромагнитных помех;

• полная поддержка в САПР ISE начиная с версии 6.1i.

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

Инструментальный комплект Spartan-3 Starter Kit:

Внешний вид инструментального модуля Spartan-3 Starter Board показан на рис. 1. Компоненты модуля смонтированы на печатной плате с двухсторонним размещением компонентов.

Структурная схема рассматриваемого модуля изображена на рис. 2. Основными элементами структуры модуля Spartan-3 Starter Board являются:

  • ПЛИС XC3S200 в корпусе FT256, на основе которой реализуется проектируемая система;
  • программируемое в системе ППЗУ серии Platform Flash XCF02S, предназначенное для хранения конфигурационных данных ПЛИС;
  • схема загрузки конфигурационных данных;
  • схема управления конфигурированием ПЛИС;
  • блок синхронизации, предназначенный для формирования внешних тактовых сигналов;
  • схема формирования питающих напряжений;
  • внешнее высокоскоростное ОЗУ;
  • блок светодиодных индикаторов;
  • четырехзначный дисплей, выполненный на основе 7-сегментных светодиодных индикаторов;
  • блок ползунковых переключателей;
  • блок кнопочных переключателей;
  • схема преобразования уровней сигналов интерфейса RS-232;
  • стандартные разъемы интерфейсов RS-232, PS/2 и VGA;
  • три 40-контактных разъема расширения.

Обшие характеристики САПР фирм Xilinx и Altera.

В данном разделе рассмотрим основные САПР выпускаемые фирмами Xilinx и Altera.

Кроме широкого спектра ПЛИС, фирма Xilinx предоставляет современное программное обеспечение, необходимое для разработки проектов и конфигурирования кристаллов.

Применение программных средств ISE позволяет значительно сократить время разработки и повысить уровень эффективности результатов за счет применения усовершенствованных методов проектирования, алгоритмов синтеза, размещения и трассировки проекта в кристалле.

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

Средства проектирования ISE выпускаются в нескольких конфигурациях: ISE Foundation™, ISE WebPACK™, ISE Classics. Основное отличие между этими конфигурациями заключается в количестве поддерживаемых кристаллов и наборе дополнительных инструментов проектирования.

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

Свободно распространяемая (бесплатная) модификация САПР ISE WebPACK поддерживает все кристаллы семейств CPLD и ПЛИС серий FPGA с логической емкостью не более 300 тыс. системных вентилей. Кроме того, одно из главных отличий пакета ISE WebPAC состоит в отсутствии генератора логических ядер CORE Generator и топологического редактора FPGA Editor.

Отличительные особенности пакета:

  • поддержка различных методов описания проектируемых устройств (графических и текстовых);
  • возможность использования проектов, подготовленных в других системах проектирования, в том числе в среде пакета 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™.

Пакет ISE Classics также распространяется свободно и является собранием ранее выпускавшихся версий средств отладки и в основном предназначен для работы с микросхемами, которые не поддерживаются последними версиями основных пакетов разработки.

Все конфигурации средств проектирования ISE имеют одинаковую структуру и пользовательский интерфейс. Поэтому переход от одной конфигурации САПР к другой, например, от свободно распространяемой системы проектирования ISE WebPACK, к полному пакету ISE Foundation, требует минимальных временных затрат.

При работе с микросхемами программируемой логики фирмы Altera основным инструментом является САПР MAX+PLUS II и Quartus II. Каждый САПР поддерживает все этапы проектирования: Ввод проекта, Компиляция, Верификация и Программирование.

А так же фирма Altera предлагает бесплатные версии САПР MAX+PLUS II BASELINE и Quartus II Web Edition, которые поддерживают все этапы проектирования от ввода проекта до программирования.

Ограничениями являются количество поддерживаемых микросхем и некоторые функции для Quartus II.

САПР MAX+PLUS II является более простым в освоении по сравнению с Quartus II. Эта система работает на РС платформе и рабочих станциях.

САПР предоставляет разнообразные средства входного описания устройств, включая как стандартные языки VHDL и Verilog, так и схемное представление и  поддерживает семейства MAX, FLEX и ACEX.

Этот САПР фирма Altera не развивает и рекомендует переходить на Quartus II.

Список используемой литературы:

Источник: http://omoled.ru/publications/view/17

FPGA (ПЛИС) с чем едят, введение

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

Замечание: Дело в том, что ПЛИС – это более общее понятие чем FPGA, но в дальнейшем я буду их отождествлять.

FPGA (field programmable gate arrays) – программируемый в поле массив логических вентелей, или ПЛИС (программируемые логические интегральные схемы). Это цифровые интегральные схемы, которые представляют собой набор программируемых логических блоков и программируемых соединений между этими блоками. —

Хочу отметить, что смысл выражения “программируемый в поле” а в оригинале “field programmable” означает оперативно программируемый. Иногда по ошибки некоторые это как “программируемые полем” но это не верно.

Конечно эм поле здесь участвует, но к нему данное выражение отношения не имеет.

Термин “в поле” часто используют в замен “оперативный” чтобы подчеркнуть протекания процесса во время непосредственного иcполнения основных функций.

Итак, отвлечение на термин “в поле” закончено в связи с возникающими порой ошибочными трактовками, и переходим собственно к делу.

Зачем нужны ПЛИСы? Дело в том что в большинстве своём цифровая электроника выражена в ASIC – заказных микросхемах, которые очень дороги в единичном производстве. То есть, представим что вы разработчик, и хотите сделать свою цифровую ,и не только, микросхему, дома это сделать под стать к нынешним 14нм (тут меня можно покритиковать но это сейчас не важно) технологиям очень трудно (практически невозможно), и поэтому приходиться описать схему устройства и отослать его на завод производитель, который по заказу выпустит вашу микросхему, причём это очень дорогая услуга, и почти вся стоимость идёт в “шаблоносоздающие” работы. Такие работы очень выгодны при массовом производстве, при большом количестве микросхем, и разница между одной и 10 000 микросхем в цене незначительна. А представьте, что делать если вдруг произошла ошибка – производить новую партию? Дорого. Да и различные лабораторные исследования дороги. А как же эксперименты, единичная продукция, да и просто производство в малых масштабах? Тут на выручку как раз и приходят ПЛИС. Эти микросхемы (упс, точнее интегральные схемы) имеют массив вентилей, которые между собой большое количество связей на любой вкус, и вот вы собираете из этих вентелей что вам надо и связываете их как вам надо, и получаете свою собственную интегральную схему!! Класс… Тут конечно есть свои нюансы, но они больше исторические.

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

Книга Клайва Максвилда “Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого бойца” Прекрасно рассказывает об исторических событиях связанных с ПЛИС, а также говорит о их архитектуре и внутреннем устройстве. Для понимания “Как же работают ПЛИСы?” я очень рекомендую эту книгу, хотябы первые 4 главы.

На ПЛИСах можно реализовать многое, хоть свой микропроцессор. Но всё же они имеют свои недостатки относительно заказных интегральных схем.

  • Во первых, это тактовые частоты. Толковая рабочая тактовая частота это около 250-300 МГц, кто-то разгонял аш до 600Мгц. Это нормально, особенно если используются конвеерные схемы и разработка дизайна велась грамотно. Возможно и больше, но это возможно. Почему всё так, да потому что в ASIC вы можете оптимизировать сами соединения, расстояния между вентелями. В современных интегральных схемах не сами вентели вносят задержку а сколько сами соединения. В общем – это довольно сложный вопрос и о нём следует говорить отдельно.
  • Во-вторых размеры, дело в том, что для организации одной и тойже логики на ПЛИС нужно использовать больше площади кристалла, нежели в ASIC – плата за универсальность. И ещё, Если вы купили ПЛИС, то он у вас такой какой он есть и если ваш дизайн не использует все возможности FPGA то это ваши проблемы …

Ещё, хочу сказать, что FPGA идеальны для параллельной обработки данных, т.е. в нём можно реализовать параллельную обработку данных. “Типо” аппаратное шифрование для вашего устройство или для использования в качестве процессора для цифровой обработки сигналов.

Тем более обычно выгодно взаимодействие вида: Микроконтроллер (МК) + ПЛИС, или ЦП (центральный процессор) + ПЛИС.

Для реализации МК + ПЛИС часто ядра МК встраиваются в ПЛИС, так как вследствие аппаратной оптимизации на кристалле расположения вентилей аппаратные ядра МК намного быстрее чем созданные программно из вентилей ПЛИСа – программных ядер.

Ещё в ПЛИСах часто есть ускорители вида: сумматоры, диспетчеры тактовых импульсов, умножители, встроенное ОЗУ, различные интерфейсы ввода вывода, часто используют гигабитный интерфейс.
О…

а как обрабатывать данные гигабитного интерфейса, ведь для этого нужно как минимум использовать 1ГГц в качестве тактовой частоты, а в ПЛИС это тяжеловато. Тут на выручку приходит расспараллеливание – мы обрабатываем входные данные гигабитного интерфейса на 100 параллельных блока, а тут уже достаточно иметь тактовые частоты 1ГГц/100 , а это по 10Мгц, что очень даже возможно. Но последнее – это к примеру.


Итак, с ПЛИСами познакомились, теперь пару слов о проектировании.

Процесс проектирования выглядит примерно так: изначально используя специальные языки описания интегральных схем, создаётся собственно это описание схемы. После чего производится моделирование и отладка на ЭВМ.

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

Дело ещё в том, что современные FPGA энергозависимы. Их конфигурация хранится в энергозависимой памяти – сепециальных регистрах. При отключении питания конфигурация теряется, поэтому на плате с ПЛИСом часто имеется специальная flesh память или конигурирующее устройство, в котором хранится конфинурационный файл.

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

Я в кратце в дальнейшем расскажу о некоторых нюансах. Немного упомяну о VHDL и о моём опыте использования этого языка описания интегральных схем.

А также, если получится, раскажу об особенностях проектирования на ПЛИС.

В общем, дальнейшие мои заметки можно не читать, а сразу прочесть книгу: Сергиенко А. М. “VHDL для проектирования вычислительных устройств”. Там подробно описаны особенности проектирования на ПЛИСах,рассмотрены методы оптимизации, а также приведено в качестве примера создания собственного учебного RISC микропроцессора.

Август 2012, виноград, тень, поле и жара. А тут ещё в придачу эти FPGA.

Доброго вам дня))).


PS. А помните, тут говорилось о создании микросхем дома? С ПЛИС,в цифровойэлектронике это бесмысслено.

Источник: http://sib.ktu10.com/node/68

Лекция 5. Архитектура ПЛИС фирмы Xilinx

Лекция 5 – Архитектура ПЛИС фирмы Xilinx

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

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

Но ПЛИС может изменять свою конфигурацию для каждого конкретного проекта. Выпускники кафедры «Автоматизация и управление» ФЭСТ МГУЛ должны знать:

·    архитектуру ПЛИС, принцип её действия;

·    САПР цифровых устройств на базе ПЛИС.

Назначение ПЛИС. В ЦУУ микросхема.

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

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

·        возможность перепрограммирования непосредственно в системе;

·        высокая степень интеграции позволяет разместить ЦУУ на одном кристалле и снизить время и затраты на трассировку и производство печатных плат;

·        сокращение времени цикла разработки и производства устройства;

·        наличие мощных инструментов САПР, позволяющих устранить возможные ошибки в процессе проектирования устройства;

·        сравнительно низкая стоимость (в пересчете на один логический вентиль);

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

Рисунок 5.1 – Структура кристалла ПЛИС

До недавнего времени, несмотря на все достоинства ПЛИС Xilinx, существовало обстоятельство сдерживающее их применение (особенно недорогих кристаллов при разработке несерийных устройств) – необходимость дополнительных затрат на приобретение пакета программных средств проектирования и программирования. Чтобы устранить это препятствие, фирма Xilinx предоставила разработчикам возможность использование бесплатного ПО – пакет WebPACK™ ISE™ (IntegratedSynthesisEnvironment).

Архитектура ПЛИС. Существует достаточно большое количество МС, отличающихся своей внутренней структурой. Рассмотрим более подробно архитектуру ПЛИС, простейших микросхем фирмы Xilinx. Основной особенностью ПЛИС является наличие трёх типов элементов, конфигурация которых может изменяться разработчиком при проектировании ЦУУ. Этими элементами являются:

·        блоки ввода/вывода (БВВ) (IOBInput/OutputBlock),

·        конфигурируемые логические блоки (КЛБ) (CLBConfigurableLogicBlock),

·        межсоединения (Intercоnnection).

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

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

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

Цепи межсоединений служат  для  формирования  сложных  логиче-

Рисунок 5.2 – Элемент памяти «теневого» ЗУ

ских функций и построения узлов, состоящих из многих КЛБ и БВВ. Логические функции ПЛИС и межсоединения определяются данными, хранящимися во внутренних статических запоминающих элементах («теневом» ЗУ), схема которых приведена на рисунке 5.2, а схема реализации логической функции – на рисунке 5.3.

Для реализации требуемой функции в регистр RG(элементы памяти «теневого» ЗУ) записывается нужная информация. Например, для функции «Сумма по модулю два» это 0110.

Транзисторы VT1…VT6 переводятся в проводящее состояние напряжением логической 1 на затворе и подключают к выходу Х соответствующие разряды регистра. Если А=0 и В=0, то открыты транзисторы VT4 и VT6.

В этом случае сигнал на выходе определяется состоянием четвёртого разряда регистра (на рисунке этот путь показан пунктиром), т.е. Х = 0.

Рисунок 5.3 – Реализация фун-кции на МДП-транзисторах в «теневом» ЗУ

Полная таблица истинности для данного состояния регистра выглядит следующим образом. Из таблицы следует,  что  схема   в   этом

случае реализует функцию

                   Х = *B + А,

что соответствует функции «Сумма по модулю два». Для получения другой функции следует записать в регистр RG другую информацию.

Программируемые межсоединения в ПЛИС позволяют объединять входы и выходы

любых БВВ и КЛБ. Все межсоединения представляют  собой  сетку  вертикаль-

ных и горизонтальных металлических сегментов, в местах пересечения которых расположены программируемые переключающие точки (транзисторы – англ. PhysicalInterconnectPoint(PIP) точка физического межсоединения).

PIP позволяют реализовать любой требуемый маршрут цепи и получить для критических цепей задержку менее 0,1 нс. Для разводки по всему кристаллу сигналов с минимальной задержкой служат так называемые длинные линии(ДЛ – англ.

LL Longline) и тактовые буферы.

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

Отличительной особенностью ПЛИС является возможность перепрограммирования функций КЛБ, БВВ и межсоединений путём перезагрузки во внутреннее («теневое») ЗУ микросхемы (МС) информации о её конфигурации.

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

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

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

Быстродействие ПЛИС обеспечивается применением современной технологии: частота переключения одного триггера в счётном режиме для разных модификаций МС может составлять от 50 до 320 МГц, а время выработки логической функции на КЛБ – от 15 до 1 нс.

Температурный  диапазон работы ПЛИС зависит от исполнения: МС в коммерческом исполнении работоспособны при температурах от 0 до +70 °С; в промышленном – от –40 до +85 °С; в военном – от –55 до +125 °С.

Напряжение питания в активном режиме составляет +5,0 или +3,3 В, в пассивном режиме +2,3 В (без потери конфигурации).

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

Для реальных схем потребляемая мощность одной ПЛИС в динамическом режиме составляет от 0,1 до 4 Вт и более. В статическом режиме, т.е.

когда элементы не переключаются, потребляемая мощность ПЛИС составляет единицы милливатт.

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

Так как при выключенном питании в ПЛИС  не содержится  полезной  ин-

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

Рисунок 5.4 – Структурная схема устройства, реализованного на базе ПЛИС

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

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

После включения питания ПЛИС сама переписывает из ПЗУ в своё «теневое» ЗУ информацию о конфигурации и начинает выполнять заданные при проектировании функции.

Время, необходимое для загрузки программы конфигурации в ПЛИС, зависит от объёма их «теневого» ЗУ и частоты тактового сигнала CCLK, которая, как правило, не должна превышать 2 МГц. Типичное время загрузки 1 бита программы конфигурации составляет 1 мкс. Время конфигурирования составляет от нескольких единиц до нескольких сотен миллисекунд для разных ПЛИС и разных режимов их конфигурирования.

Вопросы для проверки усвоения материала

1.     Преимущества ПЛИС.

2.     Основные элементы кристалла ПЛИС.

3.     Блок ввода/вывода.

4.     Конфигурируемый логический блок.

5.     Программируемые межсоединения

6.     Чем обеспечивается изменение структуры ПЛИС, необходимое разработчику при проектировании конкретного устройства?

7.     Назначение и принцип действия «теневого» ЗУ ПЛИС.

8.     Структурная схема проекта, реализованного на базе ПЛИС.

9.     Эксплуатационные параметры ПЛИС.

10.           Принцип действия ПЛИС.

Литература

1.     Мальцев П.П., Гарбузов Н.И., Шарапов А.П., Кнышев Д.А. Программируе­мые логические ИМС на КМОП-структурах и их применение.1998. –М.: Энергоатомиздат, -159 с. (6-10 с)

2.     Зотов В. WebPACK ISE – свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС фирмы Xilinx. /Компоненты и технологии/ №6, 2001

3.     www.plis.ru – сайт с информацией о САПР и ПЛИС фирмы Xilinx.

4.     www.xilinx.ru – сайт с информацией о САПР и ПЛИС фирмы Xilinx.

5.     www.inlinegroup.ru – сайт с информацией о САПР и ПЛИС фирмы Xilinx.

Источник: https://studizba.com/lectures/1-avtomatizaciya/21-avtomatizirovannoe-proektirovanie-sistem-i-sredstv-upravleniya/307-lekciya-5-arhitektura-plis-firmy-xilinx.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}