цифровая электроника
вычислительная техника
встраиваемые системы

 



Иерархия в VHDL-коде

Автор: Mike(admin) от 29-06-2026, 12:35

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


Зачастую весь VHDL-код умещают в одном файле на одном уровне. Если бы мы, к примеру, разрабатывали печатную плату, то не стали бы размещать на ней кучу дискретных компонентов. Вместо этого мы бы взяли микроконтроллеры, микросхемы памяти и другие устройства и классифицировали бы их как «компоненты», которые должны выполнять определенные функции. В некоторых случаях мы бы использовали на плате отдельные компоненты несколько раз. Это бы существенно упростило нашу работу.


плата с микросхемами

Рисунок 1 — плата с микросхемами

Если мы сравним разработку VHDL-кода с созданием печатной платы, то мы можем думать о нем, как об одноуровневой плате с большим количеством устройств и компонентов на ней. Плата не выполняет никаких других функций, кроме соединения определенным образом всех проводов. Этот же подход можно применить к VHDL, как показано на примере ниже.

Введение во встраиваемое middleware или не изобретайте велосипед

Автор: Mike(admin) от 25-05-2026, 03:55

Одно из непреложных правил грамотной инженерии — не изобретать велосипед заново. По веским причинам, таким как снижение затрат, сжатые сроки и надежность, повторное использование программного обеспечения давно считается проверенной практикой разработки. В проектировании встраиваемых систем middleware (промежуточное программное обеспечение) — это слой ПО между аппаратным обеспечением и кодом, создающим прикладную логику и пользовательскую функциональность. Можно представить его как столярные шаблоны и приспособления. Middleware — это не сырье (аппаратная платформа или операционная система реального времени, RTOS) и не готовое изделие (приложение), а инструменты, делающие возможной повторяемую и надежную работу.

Введение во встраиваемое middleware или не изобретайте велосипед

Как писать модульный код и зачем это нужно

Автор: Mike(admin) от 28-04-2026, 03:55

Неструктурированный код усложняет сопровождение и отладку программ. Несмотря на то что современные языки предоставляют множество инструментов для написания модульного программного обеспечения, качество кода всё равно зависит от того, насколько аккуратно эти инструменты используются. В этой статье рассматривается, почему модульный код важен для долгосрочной поддержки, а также практические методы, которые помогают добиться модульности.

Как писать модульный код и зачем это нужно

Разработка встроенных систем с использованием платформ No-Code/Low-Code

Автор: Mike(admin) от 9-06-2025, 03:55

Платформы no-code/low-code (NCLC) стали популярным способом разработки программного обеспечения без необходимости в глубоком знании программирования. Хотя такие платформы широко используются при создании настольных, веб- и мобильных приложений, они начинают находить применение и в сфере встроенных систем. Платформы NCLC обычно оснащены интуитивно понятными интерфейсами «перетаскивания» (drag-and-drop), что делает их доступными для пользователей без серьёзной подготовки в области программирования.

 

Разработка встроенных систем с использованием платформ No-Code/Low-Code

Популярные языки программирования встраиваемых систем

Автор: Mike(admin) от 13-10-2024, 23:55

Встраиваемые системы (embedded systems) — это специализированные компьютерные системы, которые интегрированы в различные устройства для выполнения конкретных задач. Они могут управлять бытовой техникой, медицинскими приборами, промышленными роботами и автомобилями. Для разработки программного обеспечения этих систем требуются специфические языки программирования, которые обеспечивают высокую производительность, безопасность и компактность. Рассмотрим наиболее популярные языки, которые используются в этой области.


Популярные языки программирования встраиваемых систем

Язык программирования Rust для микроконтроллеров

Автор: Mike(admin) от 15-07-2024, 03:55

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


Язык программирования Rust для микроконтроллеров

Лучшие среды разработки и редакторы языка C++ для Raspberry Pi

Автор: Mike(admin) от 1-01-2024, 03:55

В основном для программирования на Raspberry Pi используется язык Python. Но Raspberry поддерживает создание программ и на языке C++. Здесь мы рассмотрим лучшие редакторы для написания программ на C++ на Raspberry Pi.


Лучшие среды разработки и редакторы языка C++ для Raspberry Pi

Python для встраиваемых систем: разновидности и применение

Автор: Mike(admin) от 1-09-2023, 03:55

Скорее всего, если вы программируете встраиваемые устройства (микроконтроллеры, одноплатные компьютеры и т.д.), вы пишете код на языке программирования C/C++. Язык C был первоначально создан в начале 1970-х годов, однако только в 1990-х годах программирование встраиваемых устройств перешло с языка ассемблера на язык C более высокого уровня. В течение следующих тридцати лет C/C++ будет доминировать во встраиваемых приложениях благодаря своей превосходной производительности, как с точки зрения скорости, так и с точки зрения компактности. Сегодня происходит еще один сдвиг с появлением специальных реализаций популярного языка программирования Python.


Python для встраиваемых систем: разновидности и применение

Язык программирования Python впервые появился в 1990-х годах и с тех пор неуклонно набирает популярность среди разработчиков программного обеспечения. Фактически, в 2020 году Python наконец занял первое место в ежегодном опросе популярности языков программирования IEEE Spectrum. Первоначально Python стал популярен среди разработчиков встраиваемых систем как язык сценариев для тестирования электронных устройств. Постепенно он продвигался дальше по стеку разработки. На самом деле существует несколько реализаций Python, причем CPython является эталонной реализацией, широко используемой для настольных приложений. Рассмотрим эти реализации.

Сравнение современных подходов к программированию: искусственный интеллект vs алгоритмы vs машинное обучение

Автор: Mike(admin) от 1-08-2023, 23:55

Слова «искусственный интеллект» (ИИ), «машинное обучение» (МО) и «алгоритм» слишком часто неправильно используются, путаются и понимаются неправильно. Они используются взаимозаменяемо, хотя имеют фиксированное значение. К сожалению, эти значения, если их не понять, могут внести путаницу в быстро развивающуюся область, которая и без того достаточно сложна. В данном материале мы рассмотрим в общем алгоритмы, искусственный интеллект и основы машинного обучения, что они собой представляют, как и где они используются, и почему каждый из них был создан. Мы начнем с алгоритмов, поскольку они составляют основу для ИИ и МО.


Сравнение современных подходов к программированию: искусственный интеллект vs алгоритмы vs машинное обучение

Как начать программировать на Rust для Arduino

Автор: Mike(admin) от 7-06-2023, 03:55

Популярность платформы программирования Arduino возросла до такой степени, что большинство людей знакомы с базовой архитектурой Arduino и ее различными вспомогательными цепями. В результате начать работу со схемами на базе Arduino легко, не понимая, что происходит под капотом, и не знакомясь с такими понятиями, как анализ производительности и оптимизация. Но являетесь ли вы опытным программистом на Rust?


Как начать программировать на Rust для Arduino

Изучение Rust – важный и сложный шаг даже для разработчиков, которые привыкли разрабатывать код с использованием других языков программирования. Опыт разработки сильно отличается от языка к языку, но основы достаточно просты для понимания с помощью всего нескольких книг и виртуального обучения. Хотя первые несколько дней могут показаться запутанными и разочаровывающими, они более чем стоят затраченных усилий. Но что дает язык программирования Rust?


Назад Вперед
Наверх