История: логика, которую прошивают
1947 — транзистор. В Bell Labs Джон Бардин и Уолтер Браттейн прижали к кусочку германия две золотые полоски — и слабый ток через одну полоску стал управлять сильным током через другую. Уильям Шокли вскоре придумал транзистор, который проще делать. В 1956 году все трое получили Нобелевскую премию по физике. Все наши наборы собраны из транзисторов — их потомков.
Сначала — россыпь. Логику долго собирали из готовых микросхем: на плате десятки корпусов серии 74, а схема — это то, как между ними проложены дорожки. Хочешь другую схему — новая плата. Если устройств нужно много, схему отдавали на завод, и он делал чип под заказ: дёшево в большом тираже, но каждая ошибка — новые месяцы и новые деньги.
1967 — плавающий затвор. В Bell Labs Дауон Канг и Саймон Зи придумали транзистор с затвором, к которому ничего не подключено: заряд на нём держится годами. Это транзистор, который помнит.
1971 — Intel 1702. Дов Фроман сделал на таких транзисторах первое ПЗУ, которое можно стереть и записать заново, — EPROM на 2 048 бит. Стирали его ультрафиолетом через кварцевое окошко в корпусе. Через несколько лет EPROM стояли почти в каждом компьютере: в них жили программы запуска и шрифты.
1978 — PAL. В компании MMI Джон Биркнер и Хуа-Тхе Чуа сделали программируемую матрицу И-ИЛИ: в ней перемычки, которые пережигают током. Инженер писал уравнения, программа PALASM превращала их в карту перемычек, программатор пережигал лишние. Одна PAL заменяла на плате десяток микросхем серии 74. Но ошибся в уравнении — выбрасывай микросхему.
1985 — GAL. Lattice Semiconductor заменила пережигаемые перемычки транзисторами с плавающим затвором, которые стираются электрически. GAL22V10 умела всё, что умели разные PAL, — макроячейка на каждом выходе настраивается двумя битами. Ошибся — стёр и прошил снова, за секунды.
JEDEC. Чтобы прошивку от любой программы мог записать любой программатор, договорились о формате файла: текст, в котором по порядку перечислены все перемычки, 0 или 1, и контрольная сумма. Это и есть файлы .jed. Программы для уравнений — PALASM, ABEL, CUPL, позже бесплатная galasm — пишут один и тот же формат.
Сегодня. В 2010 году Lattice сняла GAL22V10 с производства: на смену пришли FPGA. Но совместимую микросхему ATF22V10C (её делала Atmel, теперь — Microchip) выпускают до сих пор: те же ножки, те же файлы .jed. Ими чинят старые компьютеры и игровые автоматы, где когда-то стояли PAL. А идея «логика, которую прошивают файлом» выросла в FPGA: их тоже перешивают сколько угодно раз, но внутри не одна матрица на 10 выходов, а тысячи маленьких блоков — в одну FPGA помещается целый процессор.