惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
T
Tenable Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy International News Feed
S
Security Affairs
NISL@THU
NISL@THU
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
S
SegmentFault 最新的问题
S
Schneier on Security
G
Google Developers Blog
V
V2EX
C
Check Point Blog
U
Unit 42
Google DeepMind News
Google DeepMind News
T
Threatpost
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
S
Secure Thoughts
博客园 - 司徒正美
Recorded Future
Recorded Future
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
K
Kaspersky official blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
AI
AI
博客园 - 聂微东
N
News and Events Feed by Topic
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
W
WeLiveSecurity
博客园 - Franky

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как российское судостроение осваивает Engee
MaksimSidorov · 2026-05-06 · via Все публикации подряд на Хабре

7 мин

7.2K

Осенью 2025 года в ЦИТМ «Экспонента» обратились инженеры АО «Концерн «НПО «АВРОРА» - флагмана отечественного судостроения, предприятия с полувековой историей и серьезным портфелем гражданских и специальных проектов. Коллеги поставили перед нами задачу: провести комплексную оценку среды Engee как платформы для модельно-ориентированного проектирования программного обеспечения для программируемых логических интегральных схем (ПЛИС) и микроконтроллеров (МК). Цель проекта – заменить зарубежные решения в реальных промышленных задачах, а далее мы расскажем подробно как проходила эта работа, какие технические вызовы пришлось преодолевать и к каким выводам пришли инженеры с обеих сторон.

Почему модельно-ориентированное проектирование критично для «Авроры»

Современное судостроение - это сложная отрасль, где традиционный подход к разработке ПО сталкивается с некоторыми ограничениями. Каждый переход от технического задания к спецификации, от спецификации к коду, вносит потенциальные ошибки интерпретации. Каждый такой переход требует привлечения новых специалистов: системных инженеров, программистов встраиваемых систем, верификаторов. Каждый раз возникает барьер коммуникации между разработчиком аппаратуры, который понимает физику процесса, и программистом, который пишет код, не всегда глубоко погружённый в специфику предметной области.

Модельно-ориентированный подход решает эту проблему. Модель объекта, созданная в среде моделирования, становится единым источником истины. Из нее автоматически генерируется код, который по определению точно соответствует поведенческой спецификации. Разработчик аппаратуры, тот, кто создаёт целевое изделие и глубоко понимает его физику, может самостоятельно реализовать алгоритм управления, не привлекая отдельного программиста.

Однако такой подход предъявляет крайне высокие требования к самой среде моделирования.

Выбор тестовой модели. 

Главным принципом проекта стал отказ от синтетических задач. Вместо этого была выбрана реальная модель из практики — система цифрового дифференцирования и сведения импульсного и токового диапазонов контроля плотности нейтронного потока. Эта система выполняет несколько функций: формирует сигнал периода удвоения мощности, обеспечивает автоматическое переключение между импульсным и токовым диапазонами контроля нейтронной мощности, а также осуществляет непрерывный контроль исправности измерительного канала.

Модель, с которой предстояло работать, была изначально реализована в Simulink и состояла из трёх функциональных частей. Первая часть включала блок аналого-цифрового преобразователя, реализованный в MATLAB с последующей кодогенерацией, — это типовой подход для работы с реальными физическими сигналами. Вторая, центральная часть, содержала два идентичных цифровых дифференциатора, которые и предстояло реализовать в Engee. Третья часть включала блок сведения диапазонов и цифро-аналоговый преобразователь, также реализуемый в MATLAB. Схема была продумана таким образом, чтобы максимально загрузить тестируемую среду реальными задачами: дифференциаторы требовали работы с фиксированной точкой и реализации CIC-фильтров с высоким коэффициентом децимации, блок сведения диапазонов — сложной логики переключения и сигнализации, а взаимодействие с блоками MATLAB проверяло возможности ко-симуляции, импорта и встраивания сгенерированного кода в Engee в уже разработанные проекты на Verilog.

Рис. 1 График входных и выходных сигналов мощности моделей

Рис. 1 График входных и выходных сигналов мощности моделей

Этап первый: миграция и валидация в фиксированной точке

Первый этап проекта предполагал реализацию модели в фиксированной точке, аналогичной модели Simulink, и всестороннее сравнение результатов моделирования.

Здесь стоит пояснить, почему фиксированная точка так критична для задач ПЛИС. В отличие от процессоров общего назначения, где вычисления с плавающей точкой стандартны и эффективны, в программируемой логике каждый бит регистра имеет физическую стоимость в виде занимаемых логических ячеек. Разработчик должен точно знать, сколько бит необходимо для представления каждого промежуточного результата, чтобы не переплатить ресурсами ПЛИС и не потерять точность из-за переполнения или недостаточной разрядности.

Инженеры из АО «Концерн «НПО «АВРОРА» начали перенос моделей с цифровых дифференциаторов. Эти блоки представляют собой классическую задачу цифровой обработки сигналов: на вход поступает оцифрованный сигнал, пропорциональный мощности, который проходит через CIC-фильтр с коэффициентом децимации 500, что позволяет резко снизить частоту дискретизации при сохранении необходимой полосы пропускания. Далее следует собственно дифференцирование для получения периода, блок насыщения для ограничения диапазона, и ряд вспомогательных операций.

Блок сведения диапазонов оказался ещё более интересным с точки зрения логики. Этот блок получает на вход сигналы от импульсного и токового каналов, анализирует их соотношение и текущий режим работы, и принимает решение о переключении диапазонов. Внутри него работают две подсистемы: подмодель переключения диапазонов, которая формирует выходной сигнал мощности и периода, выбирая между импульсным и токовым каналами, и подмодель сигнализации, которая отслеживает состояние работы модуля и диагностирует неисправности. Сигнализация включает индикацию работы в импульсном или токовом диапазоне, зоны перехода между ними, а также контроль выхода уровня входных сигналов за допустимые пределы и расхождения сигналов мощности и периода в диапазонах.

Рис. 2 Модель логики сведения диапазонов в Engee

Рис. 2 Модель логики сведения диапазонов в Engee

Рис. 3 Табло состояний выходов моделей в Engee

 Для отладки модели в Engee была создана специальная подсистема с маской — визуальным интерфейсом для задания входных сигналов. Маска позволила собрать простой и наглядный инструмент для отладки, переключатели для имитации различных режимов работы, индикаторы для визуализации состояний.

Рис. 4 Маскированный блок

Рис. 4 Маскированный блок

Сравнение моделей проводилось комплексно. На вход подавались сигналы от генераторов синусоиды с различными параметрами — разной амплитудой, частотой, фазой. Проверялись переходные процессы при резком изменении параметров входного сигнала. Особое внимание уделялось поведению в граничных случаях — при насыщении, при переходе через ноль, при резком изменении крутизны входного сигнала. Результаты показали полную идентичность поведения блоков А6 и А7 в обеих средах. Выходные сигналы моделей, выполненных в Engee и Matlab, накладывались друг на друга и совпадали во всех смоделированных ситуациях. Дискретные выходы индикации — состояния работы в импульсном или токовом диапазоне, флаги неисправностей — также совпали во всех тестовых сценариях. Это стало важным подтверждением: математическое ядро Engee работает корректно, и миграция моделей возможна без потери функциональности.

Рис. 5 Общий вид модели отладки

Рис. 5 Общий вид модели отладки

Рис. 6 Сравнение результатов моделирования Engee и MATLAB

Рис. 6 Сравнение результатов моделирования Engee и MATLAB

Этап второй: генерация HDL-кода и сравнение подходов

Второй этап предполагал генерацию кода Verilog для блока сведения диапазонов встроенными генераторами кода обеих сред и сравнение полученных результатов. Этот этап был критичен для оценки готовности Engee к промышленному применению, поскольку именно качество генерируемого кода определяет, можно ли его использовать в реальных изделиях без ручной переработки.

Код, сгенерированный Simulink с использованием HDL Coder, продемонстрировал классический иерархический подход к проектированию цифровых устройств. Верхний модуль чётко структурирован: он инстанцирует подкомпоненты, каждый из которых отвечает за строго определенную функцию. Несмотря на избыточность, обусловленную обилием промежуточных узлов, такой подход соответствует промышленным стандартам разработки.

Код, сгенерированный Engee, представлял собой качественно иной подход. По умолчанию код выполнен в монолитном стиле: вся логика устройства, от арифметических операций до формирования выходных флагов, сосредоточена непосредственно в теле единственного модуля, при этом имеется возможность включить генерацию комментариев, которые упрощают понимание кода. Такой код компактен, он эффективен с точки зрения объёма, он представляет собой пример быстрого прототипирования, где основной целью является получение работоспособного кода, поэтому для достижения идентичной иерархической структуры подсистемы модели были переведены в атомарный режим, что позволило получить читабельный, разбитый на модули код.

Сравнительный анализ показал, что с точки зрения структурной организации и компоновки код, сгенерированный в Engee, отличается от кода из Simulink. В том случае, если не выполнять дополнительную настройку модели в Engee, мы получаем единый модуль, но при должной настройке, код сгенерированный Engee не уступает реализации представленной в MATLAB.

Что особенно ценного обнаружили инженеры «Авроры» 

В ходе работы специалисты из АО «Концерн «НПО «АВРОРА» сформулировали ряд ключевых преимуществ Engee, которые они считают решающими для дальнейшего внедрения. Прежде всего, это соответствие требованиям импортозамещения. В текущих условиях, когда использование зарубежного ПО в критической инфраструктуре сопряжено с рисками санкционных ограничений и недоступности обновлений, наличие отечественной среды моделирования с доказанной функциональностью становится стратегически важным фактором. Engee — это не просто замена Simulink, это гарантия технологического суверенитета в области проектирования встраиваемых систем.

Второе важное преимущество — низкий порог вхождения и совместимость. Пилотный проект подтвердил заявленную способность Engee обеспечивать удобный и быстрый перенос наработок из среды Simulink. Интуитивно понятный интерфейс, знакомая логика работы с блоками, поддержка основных форматов файлов — всё это позволило инженерам, имеющим многолетний опыт работы с MATLAB, сосредоточиться на решении прикладных задач, а не на освоении нового инструмента. Возможность импорта моделей и ко-симуляции с Simulink означает, что переход может быть эволюционным, а не революционным: существующие проекты не выбрасываются, а постепенно мигрируют, что критично для промышленных предприятий с большим портфелем наработок.

Третье преимущество, которое отметили в «Авроре», — открытость к диалогу и оперативность поддержки. В ходе работы команда столкнулась с рядом пожеланий по развитию функциональности. Мы оперативно отвечали на запросы и принимали пожелания. Это была не формальная поддержка, а живая работа над продуктом вместе с клиентом, что было оценено по заслугам.

Итоги и перспективы

По итогам проекта модели были успешно перенесены в новую среду, проведено сравнение с моделями Simulink. Сотрудники концерна ознакомились с возможностями платформы и доступным инструментарием. Сравнение показало идентичность моделей с точки зрения математического моделирования. Первый и второй этапы проекта завершены полностью: миграция модели и генерация HDL-кода показали ожидаемые результаты.

Общий вывод от АО «Концерн «НПО «АВРОРА» звучит так: “Engee представляет собой крайне перспективную и стратегически важную платформу, способную в перспективе стать полноценной заменой зарубежным аналогам. Проект показал, что продукт уже сейчас пригоден для решения прикладных задач, а главное — имеет мощный импульс к развитию благодаря открытости команды.”

Для ЦИТМ «Экспонента» этот проект стал важным промышленным кейсом в сфере ОПК. Мы получили детальную обратную связь от высококвалифицированных инженеров, работающих с критичными системами, и подтверждение того, что выбранный путь развития продукта — верный.


Материал подготовлен в соавторстве с ведущим инженером АО «Концерн «НПО «Аврора» Шалаком Н.М. и специалистами ЦИТМ «Экспонента» Гурьевым А.А., Юрьевым Ю.Ю. и Филаретовым Н.А.