ПЛИС FPGA находят широкое применение также благодаря тому, что имеют большое число блоков ввода/вывода сигналов, настраиваемых под различные стандарты электрического соединения микросхем. Блоки ввода/вывода (БВВ) обеспечивают интерфейс между выводами корпуса ПЛИС FPGA и ее внутренними логическими схемами. Каждому выводу корпуса придается блок ввода/вывода БВВ, который может быть конфигурирован как вход, выход или двунаправленный вывод.
На рис. 1.4 показана упрощенная функциональная блок-схема одного блока ввода/вывода (I/O block, IOВ). Сигнальный вывод ПЛИС получил название PAD. С помощью настройки к нему можно подключать внутренний нагрузочный резистор PULL-UP или резистор PULL-DOWN, соединенные с шиной питания или шиной земли, соответственно. Эти резисторы обеспечивают режим выхода с открытым коллектором (стоком) для систем с различными уровнями логики.
Рис. 1.4.Упрощенная структура блока ввода/вывода Работа БВВ как выходного блока обслуживается следующими элементами: выходным буфером 1, триггером 1, мультиплексорами 1, 2, 5 и логической схемой ИЛИ (см. рис. 1.4). Выводимый сигнал О можно получать в прямой или инверсной форме в зависимости от программирования мультиплексора 2. Этот сигнал может передаваться на выходной буфер непосредственно или сниматься с триггера при соответствующем программировании мультиплексоpa 5. Сигналы Т и GTS (Global Tri-State), согласно логике ИЛИ, управляют переводом буфера в третье состояние, причем активный уровень сигнала Т программируется с помощью мультиплексора 1. Внутренние программируемые цепи триггера (на рисунке не показаны) позволяют изменять полярность тактирующего фронта. Сам буфер имеет программируемые крутизну фронта выходного сигнала и его уровни — КМОП/ТТЛ. Крутизна фронтов в некритичных к скорости передачи цепях снижается для уменьшения уровня помех на шинах питания и земли. Тракт ввода сигналов содержит входной буфер 2, триггер 2, программируемые мультиплексоры 3, 4, 6, элемент задержки Delay (см. рис. 1.4). Вводимый сигнал в зависимости от программирования мультиплексоров 3 и 4 или поступает непосредственно в систему коммутации FPGA по входным линиям I1 и I2, или же фиксируется триггером и с его выхода передается в эти линии. Для обеспечения временного сдвига входного сигнала относительно фронта синхросигнала, гарантирующего надежный прием сигнала во внутренний триггер, в цепь входного сигнала может включаться специальная схема задержки. Входной буфер может конфигурироваться для приема входных сигналов с пороговым значением ТТЛ (1,2 В) или КМОП (0,5 Ucc).