Об Эльбрусах и Байкалах разговоров много, а о ПЛИС как-то молчок. А между тем, их у нас делают, причём именно на территории России. Уже имел дело с 5576ХС4Т1 и 5578ТС104, листал ТУ на их "соседей", попытаюсь в общих чертах описать, что за зверь такой...
Изготовителем считается ВЗПП-С, Воронежский Завод Полупроводниковых Приборов - Сборка. Но как указывает последнее слово, завод этот занимается в первую очередь корпусированием кристаллов и отгрузкой готовой продукции. Изготовитель кристаллов: зеленоградский Микрон.
Злые языки говорят, что мы просто купили в своё время лицензию на старые, снятые с производства Альтеровские ПЛИС, и теперь бездумно их клепаем у себя. Доля правды в этом есть, но если присмотреться, всё немного не так!
5576ХС4Т1 в пластиковом корпусе на отладочной плате:
Флэш-конфигуратор зато в металлокерамике, всё как положено. Хотя в космос ему нельзя, туда однократно-программируемый нужен, флэш-память очень уязвима. Сама 5576ХС4Т бывает в металлокерамике, а бывает и в пластике, как здесь.
Эта ПЛИС, прямо согласно ТУ, является функциональным аналогом Altera Flex10ke, на 9984 логических элемента (ЛЭ), с 24 блоками внутренней памяти (БВП, они же EAB, Embedded Array Block) по 512 байт каждый.
Чтобы её "прошить", прямым текстом просят скачать Quartus II версии НЕ ВЫШЕ 9.0 sp2, поскольку начиная с 9.1 поддержка серии Flex10k прекращается. Нужно выбрать device: EPF10K200SRC240-3. И когда проект будет написан и отсинтезирован, его можно будет закачать НАПРЯМУЮ, прямо "не выходя из Квартуса". Разве что ноги надо назначать согласно таблицы из ТО.
Так что да, на самый первый взгляд это точный клон. Вот только питающие напряжения не совпадают! У Flex10ke ядро питается от 2,5 вольт, а у 5576ХС4Т: от 1,8 вольт. И это даёт свой результат: если посмотреть на формулу для расчёта потребления, там есть коэффициент K, в мкА/МГц, и он в Flex10ke и 5576ХС4Т отличается ЗНАЧИТЕЛЬНО, наша ПЛИС, как ни странно, более "холодная". И могу это подтвердить: сколько я её не ковырял, больше 300 мА потребление ВСЕЙ ПЛАТЫ никогда не шло, и на ощупь она всегда остаётся холодной.
Далее, у нашей ПЛИС, в сравнении с "оригиналом", расширенные возможности ввода-вывода: добавлена "подтяжка к земле", "подтяжка к VCC" и Bus-Hold (если с шины "все ушли", сохранить последнее значение, не позволить ей висеть в воздухе, т.к в таком режиме у КМОП-входов начинаются сквозные токи, нехорошо). Это заметно уже при включении ПЛИС: у "оригинала" просто все ножки повисали в воздухе, а здесь подтягиваются к VCC. Мне сразу вспоминалась приборная панель автомобиля, где при повороте ключа зажигания для начала вспыхивают все табло, "проверить, что лампочки не перегорели". Впрочем, мои соседи умудрялись себе прибор спалить из-за такого поведения, надо это иметь в виду, когда схему проектируешь... А чтобы сконфигурировать дополнительные возможности, одним Квартусом уже не обойдёшься, нужно купить комплект программ от КТЦ Электроника и "скормить" им выходной бинарный файл Квартуса, и уже отметить всё что нужно.
Ещё из нововведений: режимы Verification и Scrubbing. Первый непрерывно гоняет конфигурационную ПЗУ и проверяет, по-прежнему ли прошивка ПЛИС соответствует тому, что лежало в ПЗУ. Второй не просто проверяет, но и "перезаписывает" сбойные места, прямо на лету. И то, и другое, видимо, предназначается для работы в условиях космических лучей, чтобы при сбоях ячеек статической памяти восстановить функционирование. Честно говоря, так до сих пор не довелось проверить это "в деле", да и конкретно 5576ХС4Т не такая уж стойкая: дозу она воспримет неплохую, но защита от ТЗЧ в ТУ "не нормирована", что вынуждает ставить отдельно защиту от тиристорного эффекта. Я очень скептично к ней относился, разве ж можно почувствовать, что из 9984 ЛЭ один вдруг "защёлкнулся"? Оказывается, можно, по крайней мере, на испытаниях оно срабатывало.
Так что о бездумном копировании говорить не приходится. Уже на этой ПЛИС был опробован переход на другой техпроцесс (сниженное напряжение и энергопотребление) и добавление некоторых "пряников". До сих пор не понимаю, как при этом удалось оставить бинарную совместимость в плане прошивки, возможно, нашли незадействованные "заделы", и, наконец, применили. При этом возникла ещё одна странность, характерная именно для 5576ХС4Т: в режиме конфигурирования она невосприимчива к JTAG'у. Немножко седых волос добавило: только начал с этой отладочной платой разбираться, подключил JTAG, увидел два устройства в цепочке (ПЛИС и конф. ПЗУ), но ни одно прошиваться не желает, ругается последними словами. Как оказалось, ПЛИС будет прошиваться, только если из ПЗУ в неё загрузим хоть ЧТО-НИБУДЬ, а вот при пустой ПЗУ она застревает в какой-то прострации... А для ПЗУшки нужно было конвертировать файл под EPC4.
Все последующие ПЛИС отличаются уже сильнее, и бинарной совместимости не имеют, там без преобразования в специальной программе не обойдёшься.
5576ХС6Т: дофига радстойкая, как по дозе, так и по ТЗЧ. Но размер поменьше, 2880 ЛЭ и 5 килобайт внутренней памяти.
5576ХС7Т ещё мельче, 1728 ЛЭ и 3 килобайта памяти, и содержит внутри себя конфигурационную однократно программируемую ПЗУ. Сценарий такой: поначалу отлаживаемся по JTAGу, каждый раз теряя "прошивку" после пропадания питания, а как только доведём прошивку до ума - поставим её "насовсем". Такого в серии Flex10ke точно нет! Разве что MAX3000 в чём-то похож, но MAX это всёж CPLD на макроблоках, не тот калибр. Впрочем, есть у 5576ХС7Т подлянка: нельзя инициализировать блоки внутренней памяти! В других ПЛИС можно, чтобы после конфигурации в памяти лежали заранее заданные нами значения, которые мы описали в файлах .mif (Memory Initialization File) или .hex, а здесь, увы и ах - будет лежать мусор.
На этом серия 5576 заканчивается, и начинается "новое поколение", ПЛИС 5578ТСxxx.
Я присматривался к 5578ТС034, улучшенный аналог 5576ХС7Т: 4992 ЛЭ и 6 килобайт памяти (если не ошибаюсь. Помню, что "половинка от ХС4Т") с однократным программированием. Увы, здесь сохранилась нехорошая особенность, нельзя инициализировать память. Для меня это было принципиально: я для этих ПЛИС разработал микроядро QuatCore, сокращённо от Quaternion Core, заточенное под задачи технического зрения и ориентации в пространстве с помощью кватернионов. И мне нужно было, чтобы в одних блоках памяти сразу же оказался код, а в других - начальные значения всех переменных. Лишишься этого - придётся некий "бутлоадер" ковырять и подключать ПЗУ снаружи, некрасиво это...
О некоторых ничего толком сказать не могу, например, 5578ТС014 или 5578ТС024.
Ну а самые тяжеловесы - это 5578ТС064, 5578ТС084, 5578ТС094, 5578ТС104. Это уже функциональный аналог Altera Cyclone III, произведённые по техпроцессу 90 нм. Напряжения: 2,5 вольта периферия, 1,2 вольта ядро. По логической ёмкости, самая крупная, как это ни странно, ТС064, под 56 тысяч ЛЭ и свыше 2 МБит внутренней памяти, полторы сотни аппаратных умножителей 18х18 (DSP-Блоки) и 4 блока ФАПЧ (PLL). Плюс к тому, отдельные ножки теперь можно конфигурировать в LVDS.
Из этих 4, 5578ТС104 выделяется "толерантностью к 3,3 вольтам", то есть при напряжении периферии 2,5 вольта, можно подавать 3,3-вольтовые сигналы без страха её спалить. Потрохов чуточку меньше: 39600 ЛЭ, 1,134 МБит внутренней памяти, 126 перемножителей.
Здоровенная хреновина!
Судя по обилию операций, которые надо сделать, чтобы с ней работать, она ещё дальше ушла от оригинала. Тайминги не совпадают, и, как это ни удивительно, местами они ЛУЧШЕ. Чтобы узнать, может ли наш проект корректно работать на заданной тактовой частоте, нужно подключить специальный TCL-скрипт, который "подправит" задержки распространения, прописанные для Cyclone III. Иногда может отличаться "роутинг", некоторые пути, возможные в Cyclone III, не получается "развести" по ТС104. Так что и здесь нужно отдельную программку запускать, с романтическим названием verify_routing. К сожалению, они не очень подробно сформулировали "алгоритм действий", забыли сказать, что после неудачного результата надо УДАЛИТЬ файлик .rcf, и только после этого запускать синтез с новым значением seed. Ещё и ФАПЧ реализована по-своему, нужно смотреть специфику.
Слабое место этой ПЛИС: конфигурационное ПЗУ аж на 24 МБита. Его должен был делать Миландр, но чего-то запаздывает. Самое интересное, по моим предварительным изысканиям, все 24 МБита здесь и не нужны, хватило бы чуть больше 8, и это при несжатом битстриме. Использовать сжатый она, похоже, не умеет, или программистам лень было реализовывать операцию по сжатию, этого пока не знаю, буду выяснять.
Выводы
Работать с этими ПЛИС вполне можно, документация довольно неплохая, впрочем, хитростей всё равно хватает.
Плохо ли то, что они являются функциональными аналогами Altera Flex10k и Cyclone III? А почему бы и нет... Даже такая вот "миграция" получается довольно нервной, а если ещё человека заставить сидеть в совершенно другой среде разработки, с другими библиотечными компонентами, без понимания, как писать модули, чтобы они ложились "компактно" в данную ПЛИС - мало кто это вынесет... Прямой копией, как видно, они не являются, и чем дальше - тем сильнее они "уходят" в сторону. Видно, что у нас есть специалисты, которые очень глубоко разобрались во "внутреннем устройстве" альтеровских ПЛИС и всех генерируемых файлах, иначе даже малейших изменений они внести бы не смогли.
Насколько эти ПЛИС "древние"? Да нормально, Cyclone III ещё из употребления не вышел, используется вовсю. Компоненты для космической техники всегда "отстают от моды", да и не очень хочется излишне тонкие техпроцессы там использовать, одна случайно залетевшая тяжёлая частица устроит погром!
При грамотном проектировании, на таких ПЛИС можно горы свернуть!
Комментарии
ВЗПП всегда продолжал потихоньку работать "на кого надо"...Даже после развала всего воронежского НПО "Электроника". А как он в данный момент называется: с приставкой С или бэз приставки- неважно..Там производство осталось- от инструментальных и заготовительных цехов до фотолитографии и сборочных...
Весьма сомнительное "счастье". Но за информацию - спасибо.
У нас такая теория когда-то родилась. Повисшая в воздухе нога может дать сквозной ток 5..10 мА. Таких ног у ПЛИС: около 200, что даст 1..2 ампера по "наихудшему случаю". В нормальной ситуации было бы "ну и что", за секунду ничего не сгорит, иметь запас по питанию всегда пользительно.
Но если эта ПЛИС замышлялась для космоса и включение через м/сх защиты от тиристорного эффекта? Тогда наилучший шанс - иметь "ровное" потребление, промерять его во всех режимах, и в м/сх защиты установить порог срабатывания чуть выше. А с "висящими в воздухе" ногами могут вдруг заметить, что ПЛИС запускается через раз, установят порог повыше, "лишь бы включалась" - и потом будут кусать локти.
Я извиняюсь за ответ на древнюю статью.
Брошенные входы ПЛИС дают генерацию шума, до гигагерц. Которая прекращается, если ткнуть вход щупом осциллографа. Дальше этот шум не идет, а вот по питанию идет очень хорошо.
Когда работаешь с быстрыми и многоразрядными АЦП это очень хорошо заметно. То, что это не просто амперы тока, а амперы шумового тока.
Небольшой оффтопик. Автор, это же вы написали серию статей про кватернионы? Читал запоем с большим удовольствием, просто хочу сказать спасибо за этот ваш труд. Если вдруг вы публиковали еще что-то в этом же роде - буду рад приобщиться, а то вдруг оно прошло мимо меня...
Серия про кватернионы последний раз пополнилась этой зимой, вот в этой записи оглавление на все части: (1) "Ликбез" - часть 5 7/8 - почти изотропный ёжик: nabbla1 — ЖЖ (livejournal.com)
(надо бы оглавление во всех частях обновить, когда их стало так много, стало очень лениво это делать)
Всё собираюсь это в виде книжки издать, благо знакомый заинтересованный издатель есть, но времени никак не найду, эти ПЛИС все соки из меня выжимают :)
Ещё осенью учился интерполяции по узлам Чебышёва и алгоритму Ремеза, чтобы аппроксимировать функции по минимаксу, и прифигел, насколько эффективнее это иногда получается, мне нужен был atan2() на процессоре, умеющем только складывать и умножать. Получилось сделать на 4 умножениях с ошибкой только в младшем разряде (числа 16-битные).
Несколько ранее в линейную алгебру подавался.
Про Миландр забудьте. Мутная контора. Была. И ничего от него уже не получим. Касательно же самих ПЛИС, там ничего особо сложного нет в начинке. Множество повторяющихся блоков. Самое сложное это формирователи внутренних напряжений, да блок логической конфигурации т.е. та часть которая и отвечает за программирование. Часто туда ставят ядро 51-го с фиксированной прошивкой. В общем, задел был и хороший, еще с давних времен. Осталось восстановить компетенцию и развить. Ну а то, что совместимо, это как раз не удивительно. Лет десять с лишним назад, просто вынуждены были ставить Alter-ы в некие устройства, помню еще, намахались тогда с нашими SMD одноваттниками, у которых припой съедал металлизацию выводов, ну и чтоб не городить огород с перепроектированием, пошли по пути совместимости, бо, все равно предполагало более широкое использование этих чипов.
В общем, результат радует. Надеюсь и дальше будет не хуже.
Хороший программист и на "плохом" компьютере создаст быстро действующую и экономную программу. А плохой займёт колоссальную память и создаст уродца с массой недоделок.
И ещё. Старые компьютеры работают быстрее. А на новых монстр вин10 тормозит невероятно.
Абсолютно верно. Лучше и не скажешь.
Очень интересный обзор! Спасибо большое
Спасибо. Четыре года назад с Воронежем не сошлись в основном из-за зажима информации с их стороны.
Спасибо!
А имеет смысл делать наши аналоги Quartus? наверняка же уже есть, чего не взлетело?
Хотелось бы аналог иметь, если он будет менее глючным! Квартус на удивление сырая штука. Задаю параметры модулей, а он через раз забывает их "обновить". Очень пренебрежительно относится к начальным значениям регистров. Увидел: "ух ты, дв это же счётчик, заменю верилоговский код на lpm_counter, и всё хорошо, но стартует всегда с нуля. На днях я эту ПЛИС 5578ТС104 ругал последними словами, что двунаправленная шина не выходит, не переключается в Z-состояние и всё тут, меряются с микросхемкой памяти, "кто сильнее". А оказалось, это и не ПЛИС виновата, а квартус учудил.
Давно Ксилинксы не мучал (с института), тогда у нас стоял ISE, и тоже вещь была с сюрпризами, прямо препод говорил: помле каждого синтеза удаляйте временные файлы, "он в них путается". Не знаю, Vivado получше стал или совсем скатился...
Ну и да, имея свою разработку, можно будет с архитектурой ПЛИС поиграться, хотя за той же Альтерой я наблюдал, они в первом Cyclone ушли от 4-входового LUT с однобитным регистром, укрупнились немного, но потом к третьему циклону по сути "вернулись к истокам"! Кажется, что очень неплохая конфигурация, да м ПЛИСоводы её уже полюбили, научились писать так, чтобы на неё код "хорошо ложился".
А как насчёт GHDL?
Не имел с ним дела.
AHDL хотел изучить, чтобы наиболее компактно всё реализовывать, но документации нормальной не нашёл и как-то успокоился. Сама Altera как-то быстро с ним наигралась...
Synplify от Synopsys наверно можно поискать старую версию для синтеза VHDL/Verilog. В свое время его широко применяли вместо сыроватого тогда XST (синтезатор в Xilinx ISE купленный у французов). Quartus считался ещё более глючным чем ISE, хотя и более простым (user friendly GUI) для освоения. Помню делал на Altera MAX проектец в 90-х. Что-то GNU-шное наверно тоже есть для синтеза.
Сейчас у Xilinx Vivado конечно с т.з. GUI всё нормально, да и синтезатор они свой вроде наладили, проблем не припомню - для Zynq Ultrascale по крайней мере.
Vivado это явамонстр. Может упасть в любоую минуту, банально на просмотрел верилогфайла, те начать открывать окно и зависнуть в таком состоянии. )
Злые языки -они такие, ещё скажут, что колесо придумано за границей.
ВЗПП очень серьёзные ребята, давно с ними работаем. И новых разработок у них полно, и люди там очень умные есть. Просто не светят и не было до недавнего времени жесткой необходимости в открытом большом объёме, все привычно предпочитали брать импорт, он всё же был получше. Сейчас необходимость начинает появляться и они разворачиваются. Как любой завод немного инертно...но они очень хороши.
Скинул вашу статью плисовику. Подожду что он скажет.
Объясните нубу где их и как можно использовать.
вместо или с ардуино.
Обработка изображений в реальном времени. Вот у меня два потока сыплется, частота 50 МГц, по два пикселя за раз, каждый пиксель 12 бит. Итого выходит 1,2 ГБит/с. Такое на процессоре общего назначения обработать - поперхнётся и тактовую частоту потребует в гигагерцы, а ПЛИС прямо на 50 МГц спокойно, и не нагреется толком. Будь там атмосфера, и теплоотвод бы не понадобился!
Вообще, что угодно в реальном времени, с жесткими временнЫми рамками. Звук очень неплохо обрабатывать: вроде в вычислительном плане несложно, но задержку даже в десятки мс можно почувствовать, особенно если устройств несколько. На обычном компе звук обрабатывать - приходится буферизировать, а то вдруг у винды какие-то срочные дела. У микроконтроллера на какой-нибудь хитрый фильтр может "мозгов не хватить", и в целом, если хотя бы с 2-3 сторон контроллер "пинают" разными прерываниями, запрограммировать его надежную работу становится весьма нетривиальной задачей. А в ПЛИС можно чисто физически под разные задачи отдать разные области.
Сейчас Сименс из РФ сваливает, а много промконтроллеров установлено серии S7.
Этой ПЛИС тауие контроллеры можно заменить, раз уж она реального времени?
На основе этих ПЛИС можно сделать шикарный ПЛК: в корпус упихать на DIN-рейку, все входы-выходы гальванически развязать, чтобы злые наводки и невыспавшиеся наладчики ничего не пожгли, выпустить все необходимые модули сопряжения, написать удобную среду разработки "на любой вкус" (кто текстом, кто рисует релейную логику), всё это как следует задокументировать и пройти всевозможные сертификации.
Например, я с 5576ХС4Т генерировал VGAшный видеосигнал, подключал клавиатуру и мышку. Можно прошить процессорное ядро (самые примитивные тянут до 80 МГц на этой ПЛИС). Если прицепить ещё внешнюю память, будет целый компьютер. Хотел бы разработать хорошее ядро с dataflow архитектурой, но сообщников не нашёл. Блог автора, кстати, очень интересный, почитайте.
Да, тема интересная.
Спасибо, внушает оптимизм. Я был уверен, что Воронеж тупо корпусирует тайваньские/китайские кристаллы. (хотя, если честно, это больше похоже на китайские 65нм, чем на зеленоградские 90нм)
Про Миландр можно забыть. Это попильно-воровская контора, с щирыми хохлами во главе свой выбор в стороне СВО сделала, на сторону Украины.
Замечательно.
Ещё бы рассказали: что такое этот ПЛИС и что на нем делать можно.
специализированный компьютер. Варианты применения - от умного дома до управления крылатыми ракетами в спец исполнении.
Программируемая Логическая Интегральная Схема. По-ихнему, FPGA (конкретно воронежские по кр. мере, более мелкие они зовут CPLD)
Состоит из тысяч и десятков тысяч базовых элементов и программируемых соединений, которые из них собирают схему, нужную нам. А мы можем именно что схему нарисовать (так поначалу и делали, и сейчас я люблю крупные блоки именно в виде схемы соединять), либо описать в текстовом виде, на Verilog или VHDL.
В общем, такой "конструктор" для цифровых схем, что позволяет собрать схему, подходящую под конкретную задачу.
Обработка изображений, к примеру, хорошо "заходит", 1,2 ГБит/с даже самая мелкая воронежская ПЛИС перемалывает без проблем, в реальном времени. Офигительно распараллеливаются задачи: отдельные части схемы выделил под каждую задачу и уже не думаешь об обработке прерываний, и что делать, если во время обработки одного прерывания возникло второе, и т.д.
Но, судя по Вашему описанию, на этих ПЛИС вполне можно собрать устройство управления для авионики, например.
Пусть даже нужно на это потратить не один чип весом 20г, а несколько ПЛИС весом 500 г?
Зато все отечественное?
Да, этим примерно и занимаюсь, и ожидаю уместиться в одной ПЛИС, желательно в более мелкой, у неё напряжения удобнее :)
Вес самих микросхем копеечный, основная масса на корпусах приборов набирается...
А ЧПУ можно сделать на ПЛИСах?
Или уже делают?
Можно! Хотя мне кажется, там не в вычислитель всё упирается, а в прецизионные приводы, датчики и пр, а ещё софт, который и генерит g-code, "придумывает", как нужно фрезой пройти, с какой скоростью, как в "труднодоступные места" залезть и не зацепиться ни за что. Знаком с одним математиком, который этими вещами занимается. Всё решаемо, но предоставить завершенный программно-аппаратный продукт "под ключ" всегда нелегко и ресурсозатратно.
Я когда-то был знаком с ведущими разработчиками Ч/ПУ в СССР.
Да, программа,конечно, это главное.
Но нужно отечественное железо, и чтобы было надежное и недорогое.
Сейчас этим государство должно заниматься.
Спасибо! А что мешает наращивать количество LE?
Может быть, сильно больше и не нужно пока! Даже эти "осмысленно" забить - это постараться надо!
Будет много LE - ещё и файл прошивки возрастёт, где-то его хранить надо, и прошиваться медленнее будет. У меня, к примеру, требование к прибору: он должен быть готов к работе через 2 секунды после подачи питания! А в таких условиях гигантизм не нужен, уж до чего шустры сегодняшние компы, и твердотельные диски (SSD), а загрузиться за 2 секунды почему-то не могут...
Ну нормально же написано. Просто понятно.
Не то, что всегда)
Спасибо за статью! Буквально вчера на эту тему смотрел, потому что встретил в комментариях высказывание, что это применяют в крылатых ракетах. В общем есть какие-то неувязки, но достигнутое это уже очень неплохо!
Хотя конечно привязки к иностранным средствам разработки это полнейшее дерьмо. Всё должно быть своё. Но я понимаю что это в процессе.
Традиции науки "дралоскопии" были утверждены ещё в СССР. А сейчас превзойдены на голову и весьма творчески.
Так что не пропадём. Как китайцы не пропадают.
И вообще моё личное неоднократное наблюдение: ключевые проблемы тем кому надо заранее известны, и они решаются, а когда припирает и общественность начинает возникать "а где то, а где это?" то очень скоро возникает ответ "вот вам, вы хотели? нате!".
Запад упёрся и тормозит в физические пределы. Китай и Россия отстают лет на 10, но догонят лет за 3-5. Будет и в России скоро производство процессоров <10нм в Зеленограде конечно же. И в Китае. Ну конечно не скоро-скоро, а просто скоро.
Заметьте, что корпуса только вот такие планарные! И никак иначе!
Там 0.2 мм ножка с шагом 0.5 мм.
А ног там вроде бывает аж за 400 штук!
Ну и что это значит?
А это значит что заказчик (МО) считает такое корпусирование более надёжным, чем BGA.
Ах да, там же ещё с формовкой ножек производитель может делать, за отдельные деньги.
Годный срач. Ахтунг - пахнет трольчатиной! Автор, нет ли в обсуждении упырей? Сим повелеваю - внести запись в реестр самых обсуждаемых за день.
Предлагаю аффтару за многабукв присвоить звание в подписи "оператор набла"
Спасибо! Интересно. Ваше мнение о перспективах создания плк на базе данной Плис?
Вполне можно сделать, "в концептуальном плане" ПЛК и должен быть ПЛИС с небольшой обвязкой (усилители, гальваническая развязка, чтобы всё это было неубиваемым), лестничные цепи прямо "физически" внутри ПЛИС собирать, из серии "если нажата кнопка Пуск, не замкнут концевик и термодатчик показывает не более 100 градусов цельсия, то включить контактор 1", они тогда будут иметь быстродействие на уровне десятков наносекунд! И возможностей для ошибок, хитрых взломов и зависаний нет, поскольку нет центрального процессора, последовательно обрабатывающего инструкцию за инструкцией. Вместо этого те же релюшки, но на новом технологическом уровне!
Единственное, цена... ПЛИС традиционно дорогие, и если наносекундное быстродействие не требуется, а хватит и 10 мс, то и процессор старенький хиленький управится, с небольшой обвязкой для расширения ввода/вывода...
"Altera Flex 10K" производились на технологии 350нм (сейчас 5нм) в 1997-1998 году.
Для электроники это не 24, а 240 лет назад
https://www.eetimes.com/altera-ships-flex-10k-device/
San Jose, Calif.–July 13, 1998–Altera Corp. (San Jose)announced the availability of the 3.3-V EPF10K10A programmable logicdevice (PLD), the 10,000-gate member of its 3.3-V Flex 10KA family.
EPF10K10A offers 16-bit counter speeds. It has over 6,000 bits of embedded RAM and user-selectable I/Oclamping diodes which are required for electrical compliance with the 3.3-VPCI specification. By enabling the designer to select this feature on apin-by-pin basis, this device is ideal for interfacing between the 3.3-V PCIbus and 5.0-V back-end devices. In addition, Altera's Multivolt interfaceallows designers to interface between 2.5-V, 3.3-V, and 5.0-Vdevices in a mixed-voltage environment.
Fully optimized for a 0.35-m, four-layer metal SRAM process,the EPF10K10A contains 576 logic elements and 6144 bits of on-chip RAM. Thecontinuous Fasttrack Interconnect feature economizes on metal layers, resulting in minimum die size, high yields,and lower costs.
Страницы