
FPGA, программируемая вентильная матрица, является продуктом дальнейшего развития на основе PAL, GAL, EPLD и других программируемых устройств. Она возникла как полузаказная схема в области специализированных интегральных схем (ASIC), которая устраняет недостатки заказных схем и устраняет недостатки ограниченного числа схем затворов оригинальных программируемых устройств. FPGA использует новую концепцию LCA (Logic Cell Array), которая включает три части: конфигурируемый логический блок (CLB), IOB (блок ввода-вывода) и межсоединение. Он может поддерживать одну часть PROM для программирования нескольких частей FPGA; в последовательном режиме можно использовать последовательный PROM для программирования FPGA; периферийный режим может использовать FPGA как периферийное устройство микропроцессора, и микропроцессор может его программировать. Новая программируемая вентильная матрица (FPGA) имеет множество логических вентилей и ресурсов блока RAM, которые могут выполнять сложные цифровые вычисления. Поскольку конструкции FPGA используют высокоскоростные скорости ввода-вывода и двунаправленные шины данных, стало проблемой проверить правильность синхронизации достоверных данных во время настройки и времени удержания.