Электронные куклы и другие «интеллектуальные» игрушки
FPGA — что это такое?
В разработке цифровых устройств происходит постоянный поиск оптимального баланса между количеством выполняемых функций и скоростью выполнения. Можно разработать гибкое устройство с широкими возможностями, работающее медленно, а можно — специализированное, хотя бы и однозадачное, но работающее быстро. Универсальный микропроцессор — прибор общего назначения, который не разрабатывается специально для решения конкретной задачи, но может выполнить любую задачу, поставленную программистом. Напротив, так называемые ASIC (заказные большие интегральные схемы) проектируются для выполнения конкретных задач и ни на что другое не способны. Но поскольку в них все функции реализованы аппаратно, то выполняются они очень быстро, а потребляемая мощность значительно ниже.
Однако у заказных БИС есть недостатки, основные из которых —высокая цена и недостаточная гибкость.
Для снижения стоимости заказных БИС были разработаны специальные микросхемы, образовавшие новый класс — ПЛМ (программируемые логические матрицы), содержащие матрицы из логических элементов. Связи между отдельными элементами, а следовательно, и выполняемые логические операции программируются пользователем. Первые ПЛМ строились на основе пережигаемых перемычек и требовали специальных программаторов. В дальнейшем были разработаны электрически перепрограммируемые ПЛМ (ЭППЛМ), то есть выполняемые БИС функции записываются в нее непосредственно в аппаратуре. Такие БИС получили название FPGA (Field Programmable Gate Array, программируемые на месте логические матрицы). Первые образцы требовали для записи несколько секунд и основывались на технологии NVRAM. Впоследствии в ПЛМ стали устанавливать статическую память (СППЛМ), а информация в нее заносится из внешнего ПЗУ или эмулятора ПЗУ. БИС такого рода имеют емкость до 100 тыс. логических ячеек и программируются за время, меньшее 1 мс. Начальная запись конфигурации при включении или сбросе производится из внешней по отношению к СППЛМ памяти, причем вырабатываются все необходимые для этого сигналы адреса и стробирования (режим «мастер»). Возможна также загрузка под управлением внешних сигналов. Одни из наиболее совершенных СППЛМ выпускаются фирмой Xilinx (http://www.xilinx.com/).
Такие микросхемы находят широкое применение в цифровой и вычислительной технике, причем не только для разработки прототипов. В случае небольшого тиража бывает выгоднее установить СППЛМ и ППЗУ, чем разрабатывать заказную БИС. Кроме того, подобное сочетание позволяет варьировать функции устройства, ничего не меняя в его конструкции.