Лекция 1. Определение ПЛИС. Области применения современных ПЛИС. История развития. Заказные и полузаказные микросхемы. ПЛИС (программируемая логическая интегральная схема) в самом общем виде может быть определена как ИС высокой степени интеграции, у которой выполняемая логическая функция программируется уже после изготовления. Программирование осуществляется за счет задания соединений между элементами (вентилями) ПЛИС. Вентиль - элементарное цифровое устройство. Получили свое название из-за выполняемой ими функции, состоящей в том, чтобы пропускать или задерживать поток цифровой информации. Вентиль имеет один или большее число входов и вырабатывает выходной сигнал, который зависит от значения (-ий) сигнала (-ов) на входе в данный момент времени. Примеры вентилей: «И», «ИЛИ», «НЕ» Области применения ПЛИС Первые ПЛИС появились в середине 80-x годов. В то время они использовались преимущественно для создания связующей логики (т.е. для вспомогательных и соединительных цепей), для реализации конечных автоматов средней сложности и для решения некоторых задач обработки данных. По мере усложнения и увеличения размеров ПЛИС начинают пользоваться большим спросом. B начале 90-х прошлого века самый большой объем продаж отмечался в области сетей и телекоммуникаций, в которых предусматривались обработка и передача больших потоков инфopмации. К концу 90-х ПЛИС, использовались для создания прототипов заказных микросхем или для создания испытательных стендов, на которых проверяется физическая реализуемость новых алгоритмов. К началу второго тысячелетия появились высокопроизводительные ПЛИС, которые содержат миллионы вентилей. Некоторые из них содержат встроенные микропроцессорные ядра, высокоскоростные интерфейсы ввода/вывода и другие устройства. В настоящее время ПЛИС заполняют несколько крупных сегмента рынка: заказные интегральные схемы, цифровая обработка сигналов, системы на основе встраиваемых микроконтроллеров. Кроме того, с появлением ПЛИС возник новый сектор рынка — системы с перестраиваемой архитектурой, или reconfigurable computing (RC). Создание прототипов заказных интегральных схем. Как уже отмечалось, современные ПЛИС используются для создания устройств такого уровня, который до этого могли обеспечить только заказные микросхемы. Цены на ПЛИС неуклонно падают, и потому ПЛИС все чаще используются не только для создания прототипов заказных ИС, но и как их альтернатива, таким образом вытесняя заказные ИС с традиционных секторов рынка. Цифровая обработка сигналов. Высокоскоростная цифровая обработка сигналов традиционно производилась с помощью специально разработанных микропроцессоров, называемых цифровые сигнальные процессоры (ЦСП) или digital signal processors (DSP). Однако современные ПЛИС содержат встроенные умножители, схемы арифметического переноса и большой объем оперативной памяти внутри кристалла. Все это в сочетании с высокой степенью параллелизма ПЛИС обеспечивает превосходство ПЛИС над самыми быстрыми сигнальными процессорами в 500 и более раз. Встраиваемые микроконтроллеры. Несложные задачи управления обычно выполняются встраиваемыми микроконтроллерами. Эти недорогие устройства содержат встроенную программу, память команд, таймеры, интерфейсы ввода/вывода, расположенные рядом с ядром на одном кристалле. Цены на ПЛИС падают, к тому же, даже самые простые из них можно использовать для реализации программного микропроцессорного ядра с необходимыми функциями ввода/вывода. В результате ПЛИС становятся все более привлекательными устройствами для реализации функций микроконтроллеров. Системы с перестраиваемой архитектурой. Представляют собой динамически или статически перепрограммируемые структуры на ПЛИС, позволяющие «приспособиться» к выполняемым в текущий момент времени арифметическим или логическим операциям. В настоящее время различные компании заняты созданием огромных перенастраиваемых вычислительных машин на основе ПЛИС. Такие системы могут использоваться для выполнения широкого спектра задач — от моделирования аппаратуры до криптографического анализа или создания новых лекарств. Например, компания National Instruments предлагает технологию реконфигурируемого ввода/вывода National Instruments (reconfigurable input/output – RIO). NI RIO предоставляет разработчикам приложений в LabVIEW возможность разработки своих собственных аппаратных контрольно-измерительных схем, используя программируемые логические интегральные схемы (ПЛИС) и графическую среду программирования LabVIEW. Реконфигурируемые устройства National Instruments содержат в своем составе ПЛИС, логика работы которой определяется на аппаратном уровне с помощью программного модуля LabVIEW FPGA Module. История развития ПЛИС Исторически первыми (конец 70-х годов 20в) программируемыми логическими устройствами были программируемые логические матрицы (ПЛМ). ПЛМ представляли собой двухуровневую структуру, состоящую из вентилей И и ИЛИ, с программируемыми пользователем соединениями. Соединения программировались путем пережигания плавких перемычек. (Перемычка пережигается путем ее выбора с помощью сигналов на линиях адреса и линиях данных этой микросхемы с последующей подачей высоковольтного импульса (10—30 В) на специальный вход устройства). Пример ПЛМ приведен на рисунке 1.1:  Рисунок 1.1 – Программируемая логическая матрица 4х3 с 6-ю термами-произведениями. Развитие и усовершенствование ПЛМ велось в нескольких направлениях: - создание перепрограммируемых ПЛИС с ультрафиолетовым или электрическим стиранием записанных логических функций (СПЛИС - EPLD и ЭСПЛИС - EEPLD), использующие технологию перепрограммируемых ППЗУ на МДП-транзисторах с плавающим затвором и МНОП-транзисторах (металл-нитрид-окисел-полупроводник). Стираемые программируемые ПЗУ (erasable рrоgrаттаble rеаd-оnlу тетоry) похожи на РRОМ, но их содержимое можно «стереть» путем облучения ультрафиолетовым светом, или электрически. В ЕРRОМ применяет технология «МОП-транзисторы с плавающим затвором». В ЕРRОМ в месте хранения каждого бита имеется МОП-транзистор с плавающим затвором. У каждого транзистора есть два затвора. «Плавающий» затвор никуда не подключен и окружен изоляционным материалом с очень малой проводимостью. При программировании ЕРRОМ с помощью программатора на неплавающий затвор в месте хранения бита, значение которого должно быть равно 0, подается высокое напряжение. Это вызывает временный пробой слоя изоляции и приводит к накоплению отрицательного заряда в плавающем затворе. Затем высокое напряжение снимается, а отрицательный заряд остается. В дальнейшем при выполнении операции чтения отрицательный заряд не позволяет выбранному МОП-транзистору включаться.  Рисунок 1.2 – МОП-транзистор с плавающим затвором Содержимое памяти ЕРRОМ можно стереть. Изоляционный материал вокруг плавающего затвора при облучении его ультрафиолетовым светом определенной длины волны в течение времени порядка 5-20 минут становится проводящим. Обычно кристалл ЕРRОМ располагается в корпусе с кварцевым окошком, через которое его можно засветить, чтобы стереть записанную в нем информацию. В настоящее время ЕРRОМ с УФ-стиранием вытеснены электрически стираемыми программируемыми ПЗУ (electrically erasable programmable read-only memorу, ЕЕРRОМ). Ранее записанные биты в них можно стереть электрически. Плавающие затворы транзисторов в ЕЕРRОМ окружены гораздо более тонким изолирующим слоем, и имеющиеся на них заряды можно удалить, прикладывая к неплавающему затвору напряжение, полярность которого противоположна полярности напряжения, в результате подачи которого происходит накопление заряда. Большие ЕЕРRОМ (емкостью 1 Мбит и больше) позволяют за одну операцию стирать информацию только блоками фиксированного размера. Память такого типа обычно называется флэш-памятью (flash тетоrу, flash ЕРRОМ), поскольку стирание данных группами происходит «мгновенно» (in a flash). - наращивание логических ресурсов (входов-выходов и вентилей). - добавление элементов с памятью (объединение выходного ИЛИ и триггера в макроячейку). Прототипом современных ПЛИС архитектуры CPLD стали так называемые программируемые логические устройства решетчатой структуры (ПЛУ, programmable logic devices, PLDs), усовершенствованные по всем трем перечисленным выше направлениям. Архитектуры ПЛИС FPGA и CPLD. ИС типа CPLD представляет собой совокупность нескольких ПЛУ со структурой соединений между ними, размещенной на том же кристалле. Как ПЛУ, так и структура соединений в микросхеме являются программируемыми. ИС типа CPLD можно расширить до больших размеров путем увеличения числа ПЛУ и развития структуры соединений между ними. Примерно в то же время, когда были созданы CPLD, были выпущены ПЛИС другого типа – «решетки вентилей, программируемые в процессе эксплуатации» (field-programmable gates arrays, FPGA). FPGA содержат много большее число меньших по размерам отдельных логических блоков и имеют развитую распределенную структуру внутренних соединений, которая занимает почти весь кристалл. На рисунке 1.3 показано различие между этими двумя конструкциями ПЛИС:  |  | а) | б) | Рисунок 1.3 – ПЛИС архитектуры CPLD (а) и FPGA(б) | Фирма Xilinx выпускает семейства ПЛИС XC9500 и CoolRunner по архитектуре CPLD и семейства ПЛИС Virtex и Spartan по архитектуре FPGA. Существует несколько крупнейших производителей ПЛИС: Xilinx Altera Actel Lattice Atmel И др. 3 Отдельное направление развития интегральных микросхем – так называемые заказные микросхемы (ASIC – application specific integrated cirquit) и полузаказные микросхемы. Заказная микросхема - разрабатывается на основе стандартных и (или) специально созданных элементов узлов по функциональной схеме заказчика. Полузаказная микросхема - микросхема, разработанная на основе базовых кристаллов (в том числе матричных). Базовые матричные кристаллы (БМК) появились в середине 70-х годов как альтернатива полностью заказным ИС и ознаменовали собой новый подход к проектированию специализированных БИС и СБИС. Их стали называть полузаказными БИС и СБИС. БМК (англоязычный термины gate array и ULA, Uncommited Logic Array) — это набор регулярно расположенных элементов (базовых ячеек), которые могут соединяться между собой для образования различных электронных схем. В отличие от ПЛИС БМК программируется технологически, путём нанесения маски соединений последнего слоя металлизации. БМК с маской заказчика обычно изготавливались на заказ небольшими сериями. Достоинство БМК состоит в следующем. Разработчику необходимо применить оригинальные схемные решения на основе БИС, но существующие БИС для этих целей не подходят. Разрабатывать с нуля и производить очень долго, неэффективно и дорого. Выход — использовать базовые матричные кристаллы, которые уже разработаны и изготовлены. Базовый матричный кристалл напоминает библиотеку подпрограмм и функций для языков программирования. На нём разведены, но не соединены элементарные цепи и логические элементы. Заказчиком разрабатывается схема соединений, так называемая маска. Эта маска наносится в качестве последнего слоя на базовый матричный кристалл и элементарные схемы и разрозненные цепи на БМК складываются в одну большую схему. В итоге заказчик получает готовую БИС, которая получается ненамного дороже исходного БМК. Основное применение БМК — средства вычислительной техники, системы управления технологическими процессами. В настоящее время БМК в большинстве применений вытеснены ПЛИС, не требующими заводского производственного процесса для программирования и допускающими перепрограммирование. В России базовые матричные кристаллы производятся ОАО «Ангстрем». |